{"version":3,"file":"module.DXscNBvF.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","getProps","React.forwardRef","r","t","e","React.useMemo","tinycolor","React.useCallback","useMemo","useMemo","useMemo","useRef","useCallback","useState","useMemo","t","resolveFetch","e","e","t","r","o","n","s","i","a","f","u","d","h","e","t","t","e","o","d","a","e","t","i","n","t","e","r","c","o","i","s","i","n","o","r","c","a","h","l","d","u","f","p","v","e","_handleRequest","e","_getRequestParams","handleError","t","resolveFetch","_getErrorMessage","r","o","n","s","a","resolveFetch","l","d","u","h","c","f","i","a","r","t","e","n","s"],"sources":["https:/framerusercontent.com/modules/2QGlX864pmL5cxqknTvK/sudwzLB4XBD5Atme8MXS/UvPxI2Cnv.js","https:/framerusercontent.com/modules/aqJrJ87DxMmwOO7KAAEd/7WCVlrIMFn7R2ikAzYjQ/mQd6xySWF.js","https:/ga.jspm.io/npm:tinycolor2@1.4.2/tinycolor.js","https:/framerusercontent.com/modules/lAYcLN7ks0ESnP7r5F2E/rNUgZ2E2aNJpUUjqWpF1/EasedGradient.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/Sn64gjTwaJh0TFAuaV07/Video.js","https:/ga.jspm.io/npm:@supabase/functions-js@2.1.2/dist/module/index.js","https:/ga.jspm.io/npm:cross-fetch@3.1.5/dist/browser-ponyfill.js","https:/ga.jspm.io/npm:@supabase/postgrest-js@1.7.1/dist/module/index.js","https:/ga.jspm.io/npm:es5-ext@0.10.62/_/d2db80e9.js","https:/ga.jspm.io/npm:es5-ext@0.10.62/global.js","https:/ga.jspm.io/npm:websocket@1.0.34/_/3c0ba9a6.js","https:/ga.jspm.io/npm:websocket@1.0.34/lib/browser.js","https:/ga.jspm.io/npm:@supabase/realtime-js@2.7.3/dist/module/index.js","https:/ga.jspm.io/npm:@supabase/storage-js@2.5.1/dist/module/index.js","https:/ga.jspm.io/npm:@supabase/gotrue-js@2.30.0/dist/module/index.js","https:/ga.jspm.io/npm:@supabase/supabase-js@2.25.0/dist/module/index.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 6 C 0 2.686 2.686 0 6 0 C 9.314 0 12 2.686 12 6 C 12 9.314 9.314 12 6 12 C 2.686 12 0 9.314 0 6 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"12px\" id=\"cPTa10O2f\" transform=\"translate(6 3)\" width=\"12px\"/><path d=\"M 0 6 C 0 2.686 2.686 0 6 0 C 9.314 0 12 2.686 12 6 C 12 9.314 9.314 12 6 12 C 2.686 12 0 9.314 0 6 Z\" fill=\"transparent\" height=\"12px\" id=\"K1KJBDfjt\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6 3)\" width=\"12px\"/><path d=\"M 0 5.25 C 1.816 2.112 5.114 0 9 0 C 12.886 0 16.184 2.112 18 5.25\" fill=\"transparent\" height=\"5.25px\" id=\"nuzXpJw0A\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 15)\" width=\"18px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1327812126\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-vWtJe\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-vWtJe { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"User\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-vWtJe\");Icon.displayName=\"User\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"User\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 4.5 L 16.5 4.5 L 16.5 0.75 C 16.5 0.336 16.164 0 15.75 0 L 0.75 0 C 0.336 0 0 0.336 0 0.75 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"4.5px\" id=\"JiZmT3ndS\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 0.75 16.5 C 0.336 16.5 0 16.164 0 15.75 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 15.75 0 C 16.164 0 16.5 0.336 16.5 0.75 L 16.5 15.75 C 16.5 16.164 16.164 16.5 15.75 16.5 Z\" fill=\"transparent\" height=\"16.5px\" id=\"aNTzcRNMo\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"IgdNyxBYx\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(16.5 2.25)\" width=\"1px\"/><path d=\"M 0 0 L 0 3\" fill=\"transparent\" height=\"3px\" id=\"gCbtbIwHM\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 2.25)\" width=\"1px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"AtUUTbK3W\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 8.25)\" width=\"16.5px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"jlKgepkKQ\" transform=\"translate(10.875 11.25)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"exsXG7Mk2\" transform=\"translate(15 11.25)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"CjmBOO2R_\" transform=\"translate(6.75 15)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"kxeQIuyfA\" transform=\"translate(10.875 15)\" width=\"2.25px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"emETPOb2C\" transform=\"translate(15 15)\" width=\"2.25px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3813546745\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-XC12E\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-XC12E { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Calendar Dots\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-XC12E\");Icon.displayName=\"Calendar Dots\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Calendar Dots\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","var r=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;var t={};(function(e){var n=/^\\s+/,a=/\\s+$/,i=0,o=e.round,s=e.min,l=e.max,c=e.random;function tinycolor(t,e){t=t||\"\";e=e||{};if(t instanceof tinycolor)return t;if(!((this||r)instanceof tinycolor))return new tinycolor(t,e);var n=inputToRGB(t);(this||r)._originalInput=t,(this||r)._r=n.r,(this||r)._g=n.g,(this||r)._b=n.b,(this||r)._a=n.a,(this||r)._roundA=o(100*(this||r)._a)/100,(this||r)._format=e.format||n.format;(this||r)._gradientType=e.gradientType;(this||r)._r<1&&((this||r)._r=o((this||r)._r));(this||r)._g<1&&((this||r)._g=o((this||r)._g));(this||r)._b<1&&((this||r)._b=o((this||r)._b));(this||r)._ok=n.ok;(this||r)._tc_id=i++}tinycolor.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return(this||r)._ok},getOriginalInput:function(){return(this||r)._originalInput},getFormat:function(){return(this||r)._format},getAlpha:function(){return(this||r)._a},getBrightness:function(){var r=this.toRgb();return(299*r.r+587*r.g+114*r.b)/1e3},getLuminance:function(){var r=this.toRgb();var t,n,a,i,o,s;t=r.r/255;n=r.g/255;a=r.b/255;i=t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4);o=n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4);s=a<=.03928?a/12.92:e.pow((a+.055)/1.055,2.4);return.2126*i+.7152*o+.0722*s},setAlpha:function(t){(this||r)._a=boundAlpha(t);(this||r)._roundA=o(100*(this||r)._a)/100;return this||r},toHsv:function(){var t=rgbToHsv((this||r)._r,(this||r)._g,(this||r)._b);return{h:360*t.h,s:t.s,v:t.v,a:(this||r)._a}},toHsvString:function(){var t=rgbToHsv((this||r)._r,(this||r)._g,(this||r)._b);var e=o(360*t.h),n=o(100*t.s),a=o(100*t.v);return 1==(this||r)._a?\"hsv(\"+e+\", \"+n+\"%, \"+a+\"%)\":\"hsva(\"+e+\", \"+n+\"%, \"+a+\"%, \"+(this||r)._roundA+\")\"},toHsl:function(){var t=rgbToHsl((this||r)._r,(this||r)._g,(this||r)._b);return{h:360*t.h,s:t.s,l:t.l,a:(this||r)._a}},toHslString:function(){var t=rgbToHsl((this||r)._r,(this||r)._g,(this||r)._b);var e=o(360*t.h),n=o(100*t.s),a=o(100*t.l);return 1==(this||r)._a?\"hsl(\"+e+\", \"+n+\"%, \"+a+\"%)\":\"hsla(\"+e+\", \"+n+\"%, \"+a+\"%, \"+(this||r)._roundA+\")\"},toHex:function(t){return rgbToHex((this||r)._r,(this||r)._g,(this||r)._b,t)},toHexString:function(r){return\"#\"+this.toHex(r)},toHex8:function(t){return rgbaToHex((this||r)._r,(this||r)._g,(this||r)._b,(this||r)._a,t)},toHex8String:function(r){return\"#\"+this.toHex8(r)},toRgb:function(){return{r:o((this||r)._r),g:o((this||r)._g),b:o((this||r)._b),a:(this||r)._a}},toRgbString:function(){return 1==(this||r)._a?\"rgb(\"+o((this||r)._r)+\", \"+o((this||r)._g)+\", \"+o((this||r)._b)+\")\":\"rgba(\"+o((this||r)._r)+\", \"+o((this||r)._g)+\", \"+o((this||r)._b)+\", \"+(this||r)._roundA+\")\"},toPercentageRgb:function(){return{r:o(100*bound01((this||r)._r,255))+\"%\",g:o(100*bound01((this||r)._g,255))+\"%\",b:o(100*bound01((this||r)._b,255))+\"%\",a:(this||r)._a}},toPercentageRgbString:function(){return 1==(this||r)._a?\"rgb(\"+o(100*bound01((this||r)._r,255))+\"%, \"+o(100*bound01((this||r)._g,255))+\"%, \"+o(100*bound01((this||r)._b,255))+\"%)\":\"rgba(\"+o(100*bound01((this||r)._r,255))+\"%, \"+o(100*bound01((this||r)._g,255))+\"%, \"+o(100*bound01((this||r)._b,255))+\"%, \"+(this||r)._roundA+\")\"},toName:function(){return 0===(this||r)._a?\"transparent\":!((this||r)._a<1)&&(u[rgbToHex((this||r)._r,(this||r)._g,(this||r)._b,true)]||false)},toFilter:function(t){var e=\"#\"+rgbaToArgbHex((this||r)._r,(this||r)._g,(this||r)._b,(this||r)._a);var n=e;var a=(this||r)._gradientType?\"GradientType = 1, \":\"\";if(t){var i=tinycolor(t);n=\"#\"+rgbaToArgbHex(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+a+\"startColorstr=\"+e+\",endColorstr=\"+n+\")\"},toString:function(t){var e=!!t;t=t||(this||r)._format;var n=false;var a=(this||r)._a<1&&(this||r)._a>=0;var i=!e&&a&&(\"hex\"===t||\"hex6\"===t||\"hex3\"===t||\"hex4\"===t||\"hex8\"===t||\"name\"===t);if(i)return\"name\"===t&&0===(this||r)._a?this.toName():this.toRgbString();\"rgb\"===t&&(n=this.toRgbString());\"prgb\"===t&&(n=this.toPercentageRgbString());\"hex\"!==t&&\"hex6\"!==t||(n=this.toHexString());\"hex3\"===t&&(n=this.toHexString(true));\"hex4\"===t&&(n=this.toHex8String(true));\"hex8\"===t&&(n=this.toHex8String());\"name\"===t&&(n=this.toName());\"hsl\"===t&&(n=this.toHslString());\"hsv\"===t&&(n=this.toHsvString());return n||this.toHexString()},clone:function(){return tinycolor(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this||r].concat([].slice.call(e)));(this||r)._r=n._r;(this||r)._g=n._g;(this||r)._b=n._b;this.setAlpha(n._a);return this||r},lighten:function(){return this._applyModification(lighten,arguments)},brighten:function(){return this._applyModification(brighten,arguments)},darken:function(){return this._applyModification(darken,arguments)},desaturate:function(){return this._applyModification(desaturate,arguments)},saturate:function(){return this._applyModification(saturate,arguments)},greyscale:function(){return this._applyModification(greyscale,arguments)},spin:function(){return this._applyModification(spin,arguments)},_applyCombination:function(t,e){return t.apply(null,[this||r].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(analogous,arguments)},complement:function(){return this._applyCombination(complement,arguments)},monochromatic:function(){return this._applyCombination(monochromatic,arguments)},splitcomplement:function(){return this._applyCombination(splitcomplement,arguments)},triad:function(){return this._applyCombination(triad,arguments)},tetrad:function(){return this._applyCombination(tetrad,arguments)}};tinycolor.fromRatio=function(r,t){if(\"object\"==typeof r){var e={};for(var n in r)r.hasOwnProperty(n)&&(e[n]=\"a\"===n?r[n]:convertToPercentage(r[n]));r=e}return tinycolor(r,t)};function inputToRGB(r){var t={r:0,g:0,b:0};var e=1;var n=null;var a=null;var i=null;var o=false;var c=false;\"string\"==typeof r&&(r=stringInputToObject(r));if(\"object\"==typeof r){if(isValidCSSUnit(r.r)&&isValidCSSUnit(r.g)&&isValidCSSUnit(r.b)){t=rgbToRgb(r.r,r.g,r.b);o=true;c=\"%\"===String(r.r).substr(-1)?\"prgb\":\"rgb\"}else if(isValidCSSUnit(r.h)&&isValidCSSUnit(r.s)&&isValidCSSUnit(r.v)){n=convertToPercentage(r.s);a=convertToPercentage(r.v);t=hsvToRgb(r.h,n,a);o=true;c=\"hsv\"}else if(isValidCSSUnit(r.h)&&isValidCSSUnit(r.s)&&isValidCSSUnit(r.l)){n=convertToPercentage(r.s);i=convertToPercentage(r.l);t=hslToRgb(r.h,n,i);o=true;c=\"hsl\"}r.hasOwnProperty(\"a\")&&(e=r.a)}e=boundAlpha(e);return{ok:o,format:r.format||c,r:s(255,l(t.r,0)),g:s(255,l(t.g,0)),b:s(255,l(t.b,0)),a:e}}function rgbToRgb(r,t,e){return{r:255*bound01(r,255),g:255*bound01(t,255),b:255*bound01(e,255)}}function rgbToHsl(r,t,e){r=bound01(r,255);t=bound01(t,255);e=bound01(e,255);var n=l(r,t,e),a=s(r,t,e);var i,o,c=(n+a)/2;if(n==a)i=o=0;else{var f=n-a;o=c>.5?f/(2-n-a):f/(n+a);switch(n){case r:i=(t-e)/f+(t<e?6:0);break;case t:i=(e-r)/f+2;break;case e:i=(r-t)/f+4;break}i/=6}return{h:i,s:o,l:c}}function hslToRgb(r,t,e){var n,a,i;r=bound01(r,360);t=bound01(t,100);e=bound01(e,100);function hue2rgb(r,t,e){e<0&&(e+=1);e>1&&(e-=1);return e<1/6?r+6*(t-r)*e:e<1/2?t:e<2/3?r+(t-r)*(2/3-e)*6:r}if(0===t)n=a=i=e;else{var o=e<.5?e*(1+t):e+t-e*t;var s=2*e-o;n=hue2rgb(s,o,r+1/3);a=hue2rgb(s,o,r);i=hue2rgb(s,o,r-1/3)}return{r:255*n,g:255*a,b:255*i}}function rgbToHsv(r,t,e){r=bound01(r,255);t=bound01(t,255);e=bound01(e,255);var n=l(r,t,e),a=s(r,t,e);var i,o,c=n;var f=n-a;o=0===n?0:f/n;if(n==a)i=0;else{switch(n){case r:i=(t-e)/f+(t<e?6:0);break;case t:i=(e-r)/f+2;break;case e:i=(r-t)/f+4;break}i/=6}return{h:i,s:o,v:c}}function hsvToRgb(r,t,n){r=6*bound01(r,360);t=bound01(t,100);n=bound01(n,100);var a=e.floor(r),i=r-a,o=n*(1-t),s=n*(1-i*t),l=n*(1-(1-i)*t),c=a%6,f=[n,s,o,o,l,n][c],u=[l,n,n,s,o,o][c],h=[o,o,l,n,n,s][c];return{r:255*f,g:255*u,b:255*h}}function rgbToHex(r,t,e,n){var a=[pad2(o(r).toString(16)),pad2(o(t).toString(16)),pad2(o(e).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join(\"\")}function rgbaToHex(r,t,e,n,a){var i=[pad2(o(r).toString(16)),pad2(o(t).toString(16)),pad2(o(e).toString(16)),pad2(convertDecimalToHex(n))];return a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0):i.join(\"\")}function rgbaToArgbHex(r,t,e,n){var a=[pad2(convertDecimalToHex(n)),pad2(o(r).toString(16)),pad2(o(t).toString(16)),pad2(o(e).toString(16))];return a.join(\"\")}tinycolor.equals=function(r,t){return!(!r||!t)&&tinycolor(r).toRgbString()==tinycolor(t).toRgbString()};tinycolor.random=function(){return tinycolor.fromRatio({r:c(),g:c(),b:c()})};function desaturate(r,t){t=0===t?0:t||10;var e=tinycolor(r).toHsl();e.s-=t/100;e.s=clamp01(e.s);return tinycolor(e)}function saturate(r,t){t=0===t?0:t||10;var e=tinycolor(r).toHsl();e.s+=t/100;e.s=clamp01(e.s);return tinycolor(e)}function greyscale(r){return tinycolor(r).desaturate(100)}function lighten(r,t){t=0===t?0:t||10;var e=tinycolor(r).toHsl();e.l+=t/100;e.l=clamp01(e.l);return tinycolor(e)}function brighten(r,t){t=0===t?0:t||10;var e=tinycolor(r).toRgb();e.r=l(0,s(255,e.r-o(255*(-t/100))));e.g=l(0,s(255,e.g-o(255*(-t/100))));e.b=l(0,s(255,e.b-o(255*(-t/100))));return tinycolor(e)}function darken(r,t){t=0===t?0:t||10;var e=tinycolor(r).toHsl();e.l-=t/100;e.l=clamp01(e.l);return tinycolor(e)}function spin(r,t){var e=tinycolor(r).toHsl();var n=(e.h+t)%360;e.h=n<0?360+n:n;return tinycolor(e)}function complement(r){var t=tinycolor(r).toHsl();t.h=(t.h+180)%360;return tinycolor(t)}function triad(r){var t=tinycolor(r).toHsl();var e=t.h;return[tinycolor(r),tinycolor({h:(e+120)%360,s:t.s,l:t.l}),tinycolor({h:(e+240)%360,s:t.s,l:t.l})]}function tetrad(r){var t=tinycolor(r).toHsl();var e=t.h;return[tinycolor(r),tinycolor({h:(e+90)%360,s:t.s,l:t.l}),tinycolor({h:(e+180)%360,s:t.s,l:t.l}),tinycolor({h:(e+270)%360,s:t.s,l:t.l})]}function splitcomplement(r){var t=tinycolor(r).toHsl();var e=t.h;return[tinycolor(r),tinycolor({h:(e+72)%360,s:t.s,l:t.l}),tinycolor({h:(e+216)%360,s:t.s,l:t.l})]}function analogous(r,t,e){t=t||6;e=e||30;var n=tinycolor(r).toHsl();var a=360/e;var i=[tinycolor(r)];for(n.h=(n.h-(a*t>>1)+720)%360;--t;){n.h=(n.h+a)%360;i.push(tinycolor(n))}return i}function monochromatic(r,t){t=t||6;var e=tinycolor(r).toHsv();var n=e.h,a=e.s,i=e.v;var o=[];var s=1/t;while(t--){o.push(tinycolor({h:n,s:a,v:i}));i=(i+s)%1}return o}tinycolor.mix=function(r,t,e){e=0===e?0:e||50;var n=tinycolor(r).toRgb();var a=tinycolor(t).toRgb();var i=e/100;var o={r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a};return tinycolor(o)};tinycolor.readability=function(r,t){var n=tinycolor(r);var a=tinycolor(t);return(e.max(n.getLuminance(),a.getLuminance())+.05)/(e.min(n.getLuminance(),a.getLuminance())+.05)};tinycolor.isReadable=function(r,t,e){var n=tinycolor.readability(r,t);var a,i;i=false;a=validateWCAG2Parms(e);switch(a.level+a.size){case\"AAsmall\":case\"AAAlarge\":i=n>=4.5;break;case\"AAlarge\":i=n>=3;break;case\"AAAsmall\":i=n>=7;break}return i};tinycolor.mostReadable=function(r,t,e){var n=null;var a=0;var i;var o,s,l;e=e||{};o=e.includeFallbackColors;s=e.level;l=e.size;for(var c=0;c<t.length;c++){i=tinycolor.readability(r,t[c]);if(i>a){a=i;n=tinycolor(t[c])}}if(tinycolor.isReadable(r,n,{level:s,size:l})||!o)return n;e.includeFallbackColors=false;return tinycolor.mostReadable(r,[\"#fff\",\"#000\"],e)};var f=tinycolor.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"};var u=tinycolor.hexNames=flip(f);function flip(r){var t={};for(var e in r)r.hasOwnProperty(e)&&(t[r[e]]=e);return t}function boundAlpha(r){r=parseFloat(r);(isNaN(r)||r<0||r>1)&&(r=1);return r}function bound01(r,t){isOnePointZero(r)&&(r=\"100%\");var n=isPercentage(r);r=s(t,l(0,parseFloat(r)));n&&(r=parseInt(r*t,10)/100);return e.abs(r-t)<1e-6?1:r%t/parseFloat(t)}function clamp01(r){return s(1,l(0,r))}function parseIntFromHex(r){return parseInt(r,16)}function isOnePointZero(r){return\"string\"==typeof r&&-1!=r.indexOf(\".\")&&1===parseFloat(r)}function isPercentage(r){return\"string\"===typeof r&&-1!=r.indexOf(\"%\")}function pad2(r){return 1==r.length?\"0\"+r:\"\"+r}function convertToPercentage(r){r<=1&&(r=100*r+\"%\");return r}function convertDecimalToHex(r){return e.round(255*parseFloat(r)).toString(16)}function convertHexToDecimal(r){return parseIntFromHex(r)/255}var h=function(){var r=\"[-\\\\+]?\\\\d+%?\";var t=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";var e=\"(?:\"+t+\")|(?:\"+r+\")\";var n=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\";var a=\"[\\\\s|\\\\(]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")[,|\\\\s]+(\"+e+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(e),rgb:new RegExp(\"rgb\"+n),rgba:new RegExp(\"rgba\"+a),hsl:new RegExp(\"hsl\"+n),hsla:new RegExp(\"hsla\"+a),hsv:new RegExp(\"hsv\"+n),hsva:new RegExp(\"hsva\"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function isValidCSSUnit(r){return!!h.CSS_UNIT.exec(r)}function stringInputToObject(r){r=r.replace(n,\"\").replace(a,\"\").toLowerCase();var t=false;if(f[r]){r=f[r];t=true}else if(\"transparent\"==r)return{r:0,g:0,b:0,a:0,format:\"name\"};var e;return(e=h.rgb.exec(r))?{r:e[1],g:e[2],b:e[3]}:(e=h.rgba.exec(r))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=h.hsl.exec(r))?{h:e[1],s:e[2],l:e[3]}:(e=h.hsla.exec(r))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=h.hsv.exec(r))?{h:e[1],s:e[2],v:e[3]}:(e=h.hsva.exec(r))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=h.hex8.exec(r))?{r:parseIntFromHex(e[1]),g:parseIntFromHex(e[2]),b:parseIntFromHex(e[3]),a:convertHexToDecimal(e[4]),format:t?\"name\":\"hex8\"}:(e=h.hex6.exec(r))?{r:parseIntFromHex(e[1]),g:parseIntFromHex(e[2]),b:parseIntFromHex(e[3]),format:t?\"name\":\"hex\"}:(e=h.hex4.exec(r))?{r:parseIntFromHex(e[1]+\"\"+e[1]),g:parseIntFromHex(e[2]+\"\"+e[2]),b:parseIntFromHex(e[3]+\"\"+e[3]),a:convertHexToDecimal(e[4]+\"\"+e[4]),format:t?\"name\":\"hex8\"}:!!(e=h.hex3.exec(r))&&{r:parseIntFromHex(e[1]+\"\"+e[1]),g:parseIntFromHex(e[2]+\"\"+e[2]),b:parseIntFromHex(e[3]+\"\"+e[3]),format:t?\"name\":\"hex\"}}function validateWCAG2Parms(r){var t,e;r=r||{level:\"AA\",size:\"small\"};t=(r.level||\"AA\").toUpperCase();e=(r.size||\"small\").toLowerCase();\"AA\"!==t&&\"AAA\"!==t&&(t=\"AA\");\"small\"!==e&&\"large\"!==e&&(e=\"small\");return{level:t,size:e}}t?t=tinycolor:window.tinycolor=tinycolor})(Math);var e=t;export default e;\n\n//# sourceMappingURL=tinycolor.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";import tinycolor from\"tinycolor2\";const easings={linear:t=>t,easeIn:t=>t*t,easeInOut:t=>t<.5?2*t*t:-1+(4-2*t)*t,exponential:t=>t===0?0:Math.pow(1024,t-1)};/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function EasedGradient(props){const{gradientDirection,cornerRadius,easing,startColor}=props;// 시작색 즉시 계산\nconst start=React.useMemo(()=>tinycolor(startColor).toRgb(),[startColor]);// 종료색(동일 RGB, 알파만 0) 즉시 계산\nconst computedEnd=React.useMemo(()=>({r:start.r,g:start.g,b:start.b,a:0}),[start.r,start.g,start.b]);// 색상 보간 함수 메모\nconst interpolateColor=React.useCallback((a,b,t)=>{return{r:Math.round(a.r+(b.r-a.r)*t),g:Math.round(a.g+(b.g-a.g)*t),b:Math.round(a.b+(b.b-a.b)*t),a:a.a+(b.a-a.a)*t};},[]);// 그라데이션 스톱 생성 함수 메모\nconst generateGradientStops=React.useCallback((easingFunc,numberOfStops=50)=>{const stops=[];for(let i=0;i<numberOfStops;i++){const t=i/(numberOfStops-1);const easedT=easingFunc(t);const c=interpolateColor(start,computedEnd,easedT);const colorStr=`rgba(${c.r}, ${c.g}, ${c.b}, ${c.a})`;stops.push(`${colorStr} ${t*100}%`);}return stops.join(\", \");},[start,computedEnd,interpolateColor]);// 최종 스톱과 그라데이션 문자열 메모\nconst stops=React.useMemo(()=>generateGradientStops(easings[easing]),[generateGradientStops,easing]);const gradient=React.useMemo(()=>`linear-gradient(${gradientDirection}, ${stops})`,[gradientDirection,stops]);return /*#__PURE__*/_jsx(motion.div,{style:{width:\"100%\",height:\"100%\",borderRadius:cornerRadius,background:gradient}});}EasedGradient.defaultProps={gradientDirection:\"to bottom\",cornerRadius:0,easing:\"easeInOut\",startColor:\"#000000\"};addPropertyControls(EasedGradient,{gradientDirection:{type:ControlType.Enum,title:\"Direction\",options:[\"to left\",\"to right\",\"to top\",\"to bottom\"],optionTitles:[\"Left\",\"Right\",\"Up\",\"Down\"],displaySegmentedControl:true,optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],defaultValue:\"to bottom\"},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",min:0,max:100,step:1,unit:\"px\",defaultValue:0},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"linear\",\"easeIn\",\"easeInOut\",\"exponential\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease In-Out\",\"Exponential\"],defaultValue:\"easeInOut\"},startColor:{type:ControlType.Color,title:\"Start\",defaultValue:\"#000000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EasedGradient\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"200\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EasedGradient.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// ⚠️⚠️⚠️⚠️⚠️\n// Edit these files in https://github.com/framer/FramerCodeComponents\n// ⚠️⚠️⚠️⚠️⚠️\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome – if we’re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],description:\"Only MP4 and WebM\",hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","var t=(void 0,function(t,e,n,r){function adopt(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,o){function fulfilled(t){try{step(r.next(t))}catch(t){o(t)}}function rejected(t){try{step(r.throw(t))}catch(t){o(t)}}function step(t){t.done?n(t.value):adopt(t.value).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())}))});const resolveFetch=e=>{let n;n=e||(\"undefined\"===typeof fetch?(...e)=>t(void 0,void 0,void 0,(function*(){return yield(yield import(\"cross-fetch\")).fetch(...e)})):fetch);return(...t)=>n(...t)};class FunctionsError extends Error{constructor(t,e=\"FunctionsError\",n){super(t);this.name=e;this.context=n}}class FunctionsFetchError extends FunctionsError{constructor(t){super(\"Failed to send a request to the Edge Function\",\"FunctionsFetchError\",t)}}class FunctionsRelayError extends FunctionsError{constructor(t){super(\"Relay Error invoking the Edge Function\",\"FunctionsRelayError\",t)}}class FunctionsHttpError extends FunctionsError{constructor(t){super(\"Edge Function returned a non-2xx status code\",\"FunctionsHttpError\",t)}}var e=(void 0,function(t,e,n,r){function adopt(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,o){function fulfilled(t){try{step(r.next(t))}catch(t){o(t)}}function rejected(t){try{step(r.throw(t))}catch(t){o(t)}}function step(t){t.done?n(t.value):adopt(t.value).then(fulfilled,rejected)}step((r=r.apply(t,e||[])).next())}))});class FunctionsClient{constructor(t,{headers:e={},customFetch:n}={}){this.url=t;this.headers=e;this.fetch=resolveFetch(n)}\n/**\n     * Updates the authorization header\n     * @param token - the new jwt token sent in the authorisation header\n     */setAuth(t){this.headers.Authorization=`Bearer ${t}`}\n/**\n     * Invokes a function\n     * @param functionName - The name of the Function to invoke.\n     * @param options - Options for invoking the Function.\n     */invoke(t,n={}){var r;return e(this,void 0,void 0,(function*(){try{const{headers:e,method:o,body:i}=n;let s={};let c;if(i&&(e&&!Object.prototype.hasOwnProperty.call(e,\"Content-Type\")||!e))if(\"undefined\"!==typeof Blob&&i instanceof Blob||i instanceof ArrayBuffer){s[\"Content-Type\"]=\"application/octet-stream\";c=i}else if(\"string\"===typeof i){s[\"Content-Type\"]=\"text/plain\";c=i}else if(\"undefined\"!==typeof FormData&&i instanceof FormData)c=i;else{s[\"Content-Type\"]=\"application/json\";c=JSON.stringify(i)}const u=yield this.fetch(`${this.url}/${t}`,{method:o||\"POST\",headers:Object.assign(Object.assign(Object.assign({},s),this.headers),e),body:c}).catch((t=>{throw new FunctionsFetchError(t)}));const a=u.headers.get(\"x-relay-error\");if(a&&\"true\"===a)throw new FunctionsRelayError(u);if(!u.ok)throw new FunctionsHttpError(u);let l=(null!==(r=u.headers.get(\"Content-Type\"))&&void 0!==r?r:\"text/plain\").split(\";\")[0].trim();let d;d=\"application/json\"===l?yield u.json():\"application/octet-stream\"===l?yield u.blob():\"multipart/form-data\"===l?yield u.formData():yield u.text();return{data:d,error:null}}catch(t){return{data:null,error:t}}}))}}export{FunctionsClient,FunctionsError,FunctionsFetchError,FunctionsHttpError,FunctionsRelayError};\n\n//# sourceMappingURL=index.js.map","var e=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;var t={};var r=\"undefined\"!==typeof self?self:t;var o=function(){function F(){(this||e).fetch=false;(this||e).DOMException=r.DOMException}F.prototype=r;return new F}();(function(t){(function(r){var o={searchParams:\"URLSearchParams\"in t,iterable:\"Symbol\"in t&&\"iterator\"in Symbol,blob:\"FileReader\"in t&&\"Blob\"in t&&function(){try{new Blob;return true}catch(e){return false}}(),formData:\"FormData\"in t,arrayBuffer:\"ArrayBuffer\"in t};function isDataView(e){return e&&DataView.prototype.isPrototypeOf(e)}if(o.arrayBuffer){var n=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"];var s=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1}}function normalizeName(e){\"string\"!==typeof e&&(e=String(e));if(/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function normalizeValue(e){\"string\"!==typeof e&&(e=String(e));return e}function iteratorFor(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};o.iterable&&(t[Symbol.iterator]=function(){return t});return t}function Headers(t){(this||e).map={};t instanceof Headers?t.forEach((function(e,t){this.append(t,e)}),this||e):Array.isArray(t)?t.forEach((function(e){this.append(e[0],e[1])}),this||e):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this||e)}Headers.prototype.append=function(t,r){t=normalizeName(t);r=normalizeValue(r);var o=(this||e).map[t];(this||e).map[t]=o?o+\", \"+r:r};Headers.prototype.delete=function(t){delete(this||e).map[normalizeName(t)]};Headers.prototype.get=function(t){t=normalizeName(t);return this.has(t)?(this||e).map[t]:null};Headers.prototype.has=function(t){return(this||e).map.hasOwnProperty(normalizeName(t))};Headers.prototype.set=function(t,r){(this||e).map[normalizeName(t)]=normalizeValue(r)};Headers.prototype.forEach=function(t,r){for(var o in(this||e).map)(this||e).map.hasOwnProperty(o)&&t.call(r,(this||e).map[o],o,this||e)};Headers.prototype.keys=function(){var e=[];this.forEach((function(t,r){e.push(r)}));return iteratorFor(e)};Headers.prototype.values=function(){var e=[];this.forEach((function(t){e.push(t)}));return iteratorFor(e)};Headers.prototype.entries=function(){var e=[];this.forEach((function(t,r){e.push([r,t])}));return iteratorFor(e)};o.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);function consumed(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=true}function fileReaderReady(e){return new Promise((function(t,r){e.onload=function(){t(e.result)};e.onerror=function(){r(e.error)}}))}function readBlobAsArrayBuffer(e){var t=new FileReader;var r=fileReaderReady(t);t.readAsArrayBuffer(e);return r}function readBlobAsText(e){var t=new FileReader;var r=fileReaderReady(t);t.readAsText(e);return r}function readArrayBufferAsText(e){var t=new Uint8Array(e);var r=new Array(t.length);for(var o=0;o<t.length;o++)r[o]=String.fromCharCode(t[o]);return r.join(\"\")}function bufferClone(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);t.set(new Uint8Array(e));return t.buffer}function Body(){(this||e).bodyUsed=false;(this||e)._initBody=function(t){(this||e)._bodyInit=t;if(t)if(\"string\"===typeof t)(this||e)._bodyText=t;else if(o.blob&&Blob.prototype.isPrototypeOf(t))(this||e)._bodyBlob=t;else if(o.formData&&FormData.prototype.isPrototypeOf(t))(this||e)._bodyFormData=t;else if(o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))(this||e)._bodyText=t.toString();else if(o.arrayBuffer&&o.blob&&isDataView(t)){(this||e)._bodyArrayBuffer=bufferClone(t.buffer);(this||e)._bodyInit=new Blob([(this||e)._bodyArrayBuffer])}else o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||s(t))?(this||e)._bodyArrayBuffer=bufferClone(t):(this||e)._bodyText=t=Object.prototype.toString.call(t);else(this||e)._bodyText=\"\";(this||e).headers.get(\"content-type\")||(\"string\"===typeof t?(this||e).headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):(this||e)._bodyBlob&&(this||e)._bodyBlob.type?(this||e).headers.set(\"content-type\",(this||e)._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&(this||e).headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))};if(o.blob){(this||e).blob=function(){var t=consumed(this||e);if(t)return t;if((this||e)._bodyBlob)return Promise.resolve((this||e)._bodyBlob);if((this||e)._bodyArrayBuffer)return Promise.resolve(new Blob([(this||e)._bodyArrayBuffer]));if((this||e)._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([(this||e)._bodyText]))};(this||e).arrayBuffer=function(){return(this||e)._bodyArrayBuffer?consumed(this||e)||Promise.resolve((this||e)._bodyArrayBuffer):this.blob().then(readBlobAsArrayBuffer)}}(this||e).text=function(){var t=consumed(this||e);if(t)return t;if((this||e)._bodyBlob)return readBlobAsText((this||e)._bodyBlob);if((this||e)._bodyArrayBuffer)return Promise.resolve(readArrayBufferAsText((this||e)._bodyArrayBuffer));if((this||e)._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve((this||e)._bodyText)};o.formData&&((this||e).formData=function(){return this.text().then(decode)});(this||e).json=function(){return this.text().then(JSON.parse)};return this||e}var i=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function normalizeMethod(e){var t=e.toUpperCase();return i.indexOf(t)>-1?t:e}function Request(t,r){r=r||{};var o=r.body;if(t instanceof Request){if(t.bodyUsed)throw new TypeError(\"Already read\");(this||e).url=t.url;(this||e).credentials=t.credentials;r.headers||((this||e).headers=new Headers(t.headers));(this||e).method=t.method;(this||e).mode=t.mode;(this||e).signal=t.signal;if(!o&&null!=t._bodyInit){o=t._bodyInit;t.bodyUsed=true}}else(this||e).url=String(t);(this||e).credentials=r.credentials||(this||e).credentials||\"same-origin\";!r.headers&&(this||e).headers||((this||e).headers=new Headers(r.headers));(this||e).method=normalizeMethod(r.method||(this||e).method||\"GET\");(this||e).mode=r.mode||(this||e).mode||null;(this||e).signal=r.signal||(this||e).signal;(this||e).referrer=null;if((\"GET\"===(this||e).method||\"HEAD\"===(this||e).method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o)}Request.prototype.clone=function(){return new Request(this||e,{body:(this||e)._bodyInit})};function decode(e){var t=new FormData;e.trim().split(\"&\").forEach((function(e){if(e){var r=e.split(\"=\");var o=r.shift().replace(/\\+/g,\" \");var n=r.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(o),decodeURIComponent(n))}}));return t}function parseHeaders(e){var t=new Headers;var r=e.replace(/\\r?\\n[\\t ]+/g,\" \");r.split(/\\r?\\n/).forEach((function(e){var r=e.split(\":\");var o=r.shift().trim();if(o){var n=r.join(\":\").trim();t.append(o,n)}}));return t}Body.call(Request.prototype);function Response(t,r){r||(r={});(this||e).type=\"default\";(this||e).status=void 0===r.status?200:r.status;(this||e).ok=(this||e).status>=200&&(this||e).status<300;(this||e).statusText=\"statusText\"in r?r.statusText:\"OK\";(this||e).headers=new Headers(r.headers);(this||e).url=r.url||\"\";this._initBody(t)}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response((this||e)._bodyInit,{status:(this||e).status,statusText:(this||e).statusText,headers:new Headers((this||e).headers),url:(this||e).url})};Response.error=function(){var e=new Response(null,{status:0,statusText:\"\"});e.type=\"error\";return e};var a=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError(\"Invalid status code\");return new Response(null,{status:t,headers:{location:e}})};r.DOMException=t.DOMException;try{new r.DOMException}catch(t){r.DOMException=function(t,r){(this||e).message=t;(this||e).name=r;var o=Error(t);(this||e).stack=o.stack};r.DOMException.prototype=Object.create(Error.prototype);r.DOMException.prototype.constructor=r.DOMException}function fetch(e,t){return new Promise((function(n,s){var i=new Request(e,t);if(i.signal&&i.signal.aborted)return s(new r.DOMException(\"Aborted\",\"AbortError\"));var a=new XMLHttpRequest;function abortXhr(){a.abort()}a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:parseHeaders(a.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in a?a.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in a?a.response:a.responseText;n(new Response(t,e))};a.onerror=function(){s(new TypeError(\"Network request failed\"))};a.ontimeout=function(){s(new TypeError(\"Network request failed\"))};a.onabort=function(){s(new r.DOMException(\"Aborted\",\"AbortError\"))};a.open(i.method,i.url,true);\"include\"===i.credentials?a.withCredentials=true:\"omit\"===i.credentials&&(a.withCredentials=false);\"responseType\"in a&&o.blob&&(a.responseType=\"blob\");i.headers.forEach((function(e,t){a.setRequestHeader(t,e)}));if(i.signal){i.signal.addEventListener(\"abort\",abortXhr);a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener(\"abort\",abortXhr)}}a.send(\"undefined\"===typeof i._bodyInit?null:i._bodyInit)}))}fetch.polyfill=true;if(!t.fetch){t.fetch=fetch;t.Headers=Headers;t.Request=Request;t.Response=Response}r.Headers=Headers;r.Request=Request;r.Response=Response;r.fetch=fetch;Object.defineProperty(r,\"__esModule\",{value:true})})({})})(o);o.fetch.ponyfill=true;delete o.fetch.polyfill;var n=o;t=n.fetch;t.default=n.fetch;t.fetch=n.fetch;t.Headers=n.Headers;t.Request=n.Request;t.Response=n.Response;t=t;var s=t;const i=t.DOMException,a=t.Headers,f=t.Request,u=t.Response,d=t.fetch,h=t.__esModule;export{i as DOMException,a as Headers,f as Request,u as Response,h as __esModule,s as default,d as fetch};\n\n//# sourceMappingURL=browser-ponyfill.js.map","import e from\"cross-fetch\";class PostgrestBuilder{constructor(s){this.shouldThrowOnError=false;this.method=s.method;this.url=s.url;this.headers=s.headers;this.schema=s.schema;this.body=s.body;this.shouldThrowOnError=s.shouldThrowOnError;this.signal=s.signal;this.isMaybeSingle=s.isMaybeSingle;s.fetch?this.fetch=s.fetch:\"undefined\"===typeof fetch?this.fetch=e:this.fetch=fetch}throwOnError(){this.shouldThrowOnError=true;return this}then(e,s){void 0===this.schema||([\"GET\",\"HEAD\"].includes(this.method)?this.headers[\"Accept-Profile\"]=this.schema:this.headers[\"Content-Profile\"]=this.schema);\"GET\"!==this.method&&\"HEAD\"!==this.method&&(this.headers[\"Content-Type\"]=\"application/json\");const t=this.fetch;let r=t(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then((async e=>{var s,t,r;let a=null;let i=null;let h=null;let n=e.status;let l=e.statusText;if(e.ok){if(\"HEAD\"!==this.method){const s=await e.text();\"\"===s||(i=\"text/csv\"===this.headers.Accept||this.headers.Accept&&this.headers.Accept.includes(\"application/vnd.pgrst.plan+text\")?s:JSON.parse(s))}const r=null===(s=this.headers.Prefer)||void 0===s?void 0:s.match(/count=(exact|planned|estimated)/);const o=null===(t=e.headers.get(\"content-range\"))||void 0===t?void 0:t.split(\"/\");r&&o&&o.length>1&&(h=parseInt(o[1]));if(this.isMaybeSingle&&\"GET\"===this.method&&Array.isArray(i))if(i.length>1){a={code:\"PGRST116\",details:`Results contain ${i.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:\"JSON object requested, multiple (or no) rows returned\"};i=null;h=null;n=406;l=\"Not Acceptable\"}else i=1===i.length?i[0]:null}else{const s=await e.text();try{a=JSON.parse(s);if(Array.isArray(a)&&404===e.status){i=[];a=null;n=200;l=\"OK\"}}catch(t){if(404===e.status&&\"\"===s){n=204;l=\"No Content\"}else a={message:s}}if(a&&this.isMaybeSingle&&(null===(r=null===a||void 0===a?void 0:a.details)||void 0===r?void 0:r.includes(\"Results contain 0 rows\"))){a=null;n=200;l=\"OK\"}if(a&&this.shouldThrowOnError)throw a}const o={error:a,data:i,count:h,status:n,statusText:l};return o}));this.shouldThrowOnError||(r=r.catch((e=>{var s,t,r;return{error:{message:`${null!==(s=null===e||void 0===e?void 0:e.name)&&void 0!==s?s:\"FetchError\"}: ${null===e||void 0===e?void 0:e.message}`,details:`${null!==(t=null===e||void 0===e?void 0:e.stack)&&void 0!==t?t:\"\"}`,hint:\"\",code:`${null!==(r=null===e||void 0===e?void 0:e.code)&&void 0!==r?r:\"\"}`},data:null,count:null,status:0,statusText:\"\"}})));return r.then(e,s)}}class PostgrestTransformBuilder extends PostgrestBuilder{\n/**\n     * Perform a SELECT on the query result.\n     *\n     * By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not\n     * return modified rows. By calling this method, modified rows are returned in\n     * `data`.\n     *\n     * @param columns - The columns to retrieve, separated by commas\n     */\nselect(e){let s=false;const t=(null!==e&&void 0!==e?e:\"*\").split(\"\").map((e=>{if(/\\s/.test(e)&&!s)return\"\";'\"'===e&&(s=!s);return e})).join(\"\");this.url.searchParams.set(\"select\",t);this.headers.Prefer&&(this.headers.Prefer+=\",\");this.headers.Prefer+=\"return=representation\";return this}\n/**\n     * Order the query result by `column`.\n     *\n     * You can call this method multiple times to order by multiple columns.\n     *\n     * You can order foreign tables, but it doesn't affect the ordering of the\n     * current table.\n     *\n     * @param column - The column to order by\n     * @param options - Named parameters\n     * @param options.ascending - If `true`, the result will be in ascending order\n     * @param options.nullsFirst - If `true`, `null`s appear first. If `false`,\n     * `null`s appear last.\n     * @param options.foreignTable - Set this to order a foreign table by foreign\n     * columns\n     */order(e,{ascending:s=true,nullsFirst:t,foreignTable:r}={}){const a=r?`${r}.order`:\"order\";const i=this.url.searchParams.get(a);this.url.searchParams.set(a,`${i?`${i},`:\"\"}${e}.${s?\"asc\":\"desc\"}${void 0===t?\"\":t?\".nullsfirst\":\".nullslast\"}`);return this}\n/**\n     * Limit the query result by `count`.\n     *\n     * @param count - The maximum number of rows to return\n     * @param options - Named parameters\n     * @param options.foreignTable - Set this to limit rows of foreign tables\n     * instead of the current table\n     */limit(e,{foreignTable:s}={}){const t=\"undefined\"===typeof s?\"limit\":`${s}.limit`;this.url.searchParams.set(t,`${e}`);return this}\n/**\n     * Limit the query result by `from` and `to` inclusively.\n     *\n     * @param from - The starting index from which to limit the result\n     * @param to - The last index to which to limit the result\n     * @param options - Named parameters\n     * @param options.foreignTable - Set this to limit rows of foreign tables\n     * instead of the current table\n     */range(e,s,{foreignTable:t}={}){const r=\"undefined\"===typeof t?\"offset\":`${t}.offset`;const a=\"undefined\"===typeof t?\"limit\":`${t}.limit`;this.url.searchParams.set(r,`${e}`);this.url.searchParams.set(a,\"\"+(s-e+1));return this}\n/**\n     * Set the AbortSignal for the fetch request.\n     *\n     * @param signal - The AbortSignal to use for the fetch request\n     */abortSignal(e){this.signal=e;return this}single(){this.headers.Accept=\"application/vnd.pgrst.object+json\";return this}maybeSingle(){\"GET\"===this.method?this.headers.Accept=\"application/json\":this.headers.Accept=\"application/vnd.pgrst.object+json\";this.isMaybeSingle=true;return this}csv(){this.headers.Accept=\"text/csv\";return this}geojson(){this.headers.Accept=\"application/geo+json\";return this}\n/**\n     * Return `data` as the EXPLAIN plan for the query.\n     *\n     * @param options - Named parameters\n     *\n     * @param options.analyze - If `true`, the query will be executed and the\n     * actual run time will be returned\n     *\n     * @param options.verbose - If `true`, the query identifier will be returned\n     * and `data` will include the output columns of the query\n     *\n     * @param options.settings - If `true`, include information on configuration\n     * parameters that affect query planning\n     *\n     * @param options.buffers - If `true`, include information on buffer usage\n     *\n     * @param options.wal - If `true`, include information on WAL record generation\n     *\n     * @param options.format - The format of the output, can be `\"text\"` (default)\n     * or `\"json\"`\n     */explain({analyze:e=false,verbose:s=false,settings:t=false,buffers:r=false,wal:a=false,format:i=\"text\"}={}){const h=[e?\"analyze\":null,s?\"verbose\":null,t?\"settings\":null,r?\"buffers\":null,a?\"wal\":null].filter(Boolean).join(\"|\");const n=this.headers.Accept;this.headers.Accept=`application/vnd.pgrst.plan+${i}; for=\"${n}\"; options=${h};`;return\"json\"===i,this}rollback(){var e;(null!==(e=this.headers.Prefer)&&void 0!==e?e:\"\").trim().length>0?this.headers.Prefer+=\",tx=rollback\":this.headers.Prefer=\"tx=rollback\";return this}\n/**\n     * Override the type of the returned `data`.\n     *\n     * @typeParam NewResult - The new result type to override with\n     */returns(){return this}}class PostgrestFilterBuilder extends PostgrestTransformBuilder{\n/**\n     * Match only rows where `column` is equal to `value`.\n     *\n     * To check if the value of `column` is NULL, you should use `.is()` instead.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */\neq(e,s){this.url.searchParams.append(e,`eq.${s}`);return this}\n/**\n     * Match only rows where `column` is not equal to `value`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */neq(e,s){this.url.searchParams.append(e,`neq.${s}`);return this}\n/**\n     * Match only rows where `column` is greater than `value`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */gt(e,s){this.url.searchParams.append(e,`gt.${s}`);return this}\n/**\n     * Match only rows where `column` is greater than or equal to `value`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */gte(e,s){this.url.searchParams.append(e,`gte.${s}`);return this}\n/**\n     * Match only rows where `column` is less than `value`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */lt(e,s){this.url.searchParams.append(e,`lt.${s}`);return this}\n/**\n     * Match only rows where `column` is less than or equal to `value`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */lte(e,s){this.url.searchParams.append(e,`lte.${s}`);return this}\n/**\n     * Match only rows where `column` matches `pattern` case-sensitively.\n     *\n     * @param column - The column to filter on\n     * @param pattern - The pattern to match with\n     */like(e,s){this.url.searchParams.append(e,`like.${s}`);return this}\n/**\n     * Match only rows where `column` matches all of `patterns` case-sensitively.\n     *\n     * @param column - The column to filter on\n     * @param patterns - The patterns to match with\n     */likeAllOf(e,s){this.url.searchParams.append(e,`like(all).{${s.join(\",\")}}`);return this}\n/**\n     * Match only rows where `column` matches any of `patterns` case-sensitively.\n     *\n     * @param column - The column to filter on\n     * @param patterns - The patterns to match with\n     */likeAnyOf(e,s){this.url.searchParams.append(e,`like(any).{${s.join(\",\")}}`);return this}\n/**\n     * Match only rows where `column` matches `pattern` case-insensitively.\n     *\n     * @param column - The column to filter on\n     * @param pattern - The pattern to match with\n     */ilike(e,s){this.url.searchParams.append(e,`ilike.${s}`);return this}\n/**\n     * Match only rows where `column` matches all of `patterns` case-insensitively.\n     *\n     * @param column - The column to filter on\n     * @param patterns - The patterns to match with\n     */ilikeAllOf(e,s){this.url.searchParams.append(e,`ilike(all).{${s.join(\",\")}}`);return this}\n/**\n     * Match only rows where `column` matches any of `patterns` case-insensitively.\n     *\n     * @param column - The column to filter on\n     * @param patterns - The patterns to match with\n     */ilikeAnyOf(e,s){this.url.searchParams.append(e,`ilike(any).{${s.join(\",\")}}`);return this}\n/**\n     * Match only rows where `column` IS `value`.\n     *\n     * For non-boolean columns, this is only relevant for checking if the value of\n     * `column` is NULL by setting `value` to `null`.\n     *\n     * For boolean columns, you can also set `value` to `true` or `false` and it\n     * will behave the same way as `.eq()`.\n     *\n     * @param column - The column to filter on\n     * @param value - The value to filter with\n     */is(e,s){this.url.searchParams.append(e,`is.${s}`);return this}\n/**\n     * Match only rows where `column` is included in the `values` array.\n     *\n     * @param column - The column to filter on\n     * @param values - The values array to filter with\n     */in(e,s){const t=s.map((e=>\"string\"===typeof e&&new RegExp(\"[,()]\").test(e)?`\"${e}\"`:`${e}`)).join(\",\");this.url.searchParams.append(e,`in.(${t})`);return this}\n/**\n     * Only relevant for jsonb, array, and range columns. Match only rows where\n     * `column` contains every element appearing in `value`.\n     *\n     * @param column - The jsonb, array, or range column to filter on\n     * @param value - The jsonb, array, or range value to filter with\n     */contains(e,s){\"string\"===typeof s?this.url.searchParams.append(e,`cs.${s}`):Array.isArray(s)?this.url.searchParams.append(e,`cs.{${s.join(\",\")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(s)}`);return this}\n/**\n     * Only relevant for jsonb, array, and range columns. Match only rows where\n     * every element appearing in `column` is contained by `value`.\n     *\n     * @param column - The jsonb, array, or range column to filter on\n     * @param value - The jsonb, array, or range value to filter with\n     */containedBy(e,s){\"string\"===typeof s?this.url.searchParams.append(e,`cd.${s}`):Array.isArray(s)?this.url.searchParams.append(e,`cd.{${s.join(\",\")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(s)}`);return this}\n/**\n     * Only relevant for range columns. Match only rows where every element in\n     * `column` is greater than any element in `range`.\n     *\n     * @param column - The range column to filter on\n     * @param range - The range to filter with\n     */rangeGt(e,s){this.url.searchParams.append(e,`sr.${s}`);return this}\n/**\n     * Only relevant for range columns. Match only rows where every element in\n     * `column` is either contained in `range` or greater than any element in\n     * `range`.\n     *\n     * @param column - The range column to filter on\n     * @param range - The range to filter with\n     */rangeGte(e,s){this.url.searchParams.append(e,`nxl.${s}`);return this}\n/**\n     * Only relevant for range columns. Match only rows where every element in\n     * `column` is less than any element in `range`.\n     *\n     * @param column - The range column to filter on\n     * @param range - The range to filter with\n     */rangeLt(e,s){this.url.searchParams.append(e,`sl.${s}`);return this}\n/**\n     * Only relevant for range columns. Match only rows where every element in\n     * `column` is either contained in `range` or less than any element in\n     * `range`.\n     *\n     * @param column - The range column to filter on\n     * @param range - The range to filter with\n     */rangeLte(e,s){this.url.searchParams.append(e,`nxr.${s}`);return this}\n/**\n     * Only relevant for range columns. Match only rows where `column` is\n     * mutually exclusive to `range` and there can be no element between the two\n     * ranges.\n     *\n     * @param column - The range column to filter on\n     * @param range - The range to filter with\n     */rangeAdjacent(e,s){this.url.searchParams.append(e,`adj.${s}`);return this}\n/**\n     * Only relevant for array and range columns. Match only rows where\n     * `column` and `value` have an element in common.\n     *\n     * @param column - The array or range column to filter on\n     * @param value - The array or range value to filter with\n     */overlaps(e,s){\"string\"===typeof s?this.url.searchParams.append(e,`ov.${s}`):this.url.searchParams.append(e,`ov.{${s.join(\",\")}}`);return this}\n/**\n     * Only relevant for text and tsvector columns. Match only rows where\n     * `column` matches the query string in `query`.\n     *\n     * @param column - The text or tsvector column to filter on\n     * @param query - The query text to match with\n     * @param options - Named parameters\n     * @param options.config - The text search configuration to use\n     * @param options.type - Change how the `query` text is interpreted\n     */textSearch(e,s,{config:t,type:r}={}){let a=\"\";\"plain\"===r?a=\"pl\":\"phrase\"===r?a=\"ph\":\"websearch\"===r&&(a=\"w\");const i=void 0===t?\"\":`(${t})`;this.url.searchParams.append(e,`${a}fts${i}.${s}`);return this}\n/**\n     * Match only rows where each column in `query` keys is equal to its\n     * associated value. Shorthand for multiple `.eq()`s.\n     *\n     * @param query - The object to filter with, with column names as keys mapped\n     * to their filter values\n     */match(e){Object.entries(e).forEach((([e,s])=>{this.url.searchParams.append(e,`eq.${s}`)}));return this}\n/**\n     * Match only rows which doesn't satisfy the filter.\n     *\n     * Unlike most filters, `opearator` and `value` are used as-is and need to\n     * follow [PostgREST\n     * syntax](https://postgrest.org/en/stable/api.html#operators). You also need\n     * to make sure they are properly sanitized.\n     *\n     * @param column - The column to filter on\n     * @param operator - The operator to be negated to filter with, following\n     * PostgREST syntax\n     * @param value - The value to filter with, following PostgREST syntax\n     */not(e,s,t){this.url.searchParams.append(e,`not.${s}.${t}`);return this}\n/**\n     * Match only rows which satisfy at least one of the filters.\n     *\n     * Unlike most filters, `filters` is used as-is and needs to follow [PostgREST\n     * syntax](https://postgrest.org/en/stable/api.html#operators). You also need\n     * to make sure it's properly sanitized.\n     *\n     * It's currently not possible to do an `.or()` filter across multiple tables.\n     *\n     * @param filters - The filters to use, following PostgREST syntax\n     * @param foreignTable - Set this to filter on foreign tables instead of the\n     * current table\n     */or(e,{foreignTable:s}={}){const t=s?`${s}.or`:\"or\";this.url.searchParams.append(t,`(${e})`);return this}\n/**\n     * Match only rows which satisfy the filter. This is an escape hatch - you\n     * should use the specific filter methods wherever possible.\n     *\n     * Unlike most filters, `opearator` and `value` are used as-is and need to\n     * follow [PostgREST\n     * syntax](https://postgrest.org/en/stable/api.html#operators). You also need\n     * to make sure they are properly sanitized.\n     *\n     * @param column - The column to filter on\n     * @param operator - The operator to filter with, following PostgREST syntax\n     * @param value - The value to filter with, following PostgREST syntax\n     */filter(e,s,t){this.url.searchParams.append(e,`${s}.${t}`);return this}}class PostgrestQueryBuilder{constructor(e,{headers:s={},schema:t,fetch:r}){this.url=e;this.headers=s;this.schema=t;this.fetch=r}\n/**\n     * Perform a SELECT query on the table or view.\n     *\n     * @param columns - The columns to retrieve, separated by commas. Columns can be renamed when returned with `customName:columnName`\n     *\n     * @param options - Named parameters\n     *\n     * @param options.head - When set to `true`, `data` will not be returned.\n     * Useful if you only need the count.\n     *\n     * @param options.count - Count algorithm to use to count rows in the table or view.\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     */select(e,{head:s=false,count:t}={}){const r=s?\"HEAD\":\"GET\";let a=false;const i=(null!==e&&void 0!==e?e:\"*\").split(\"\").map((e=>{if(/\\s/.test(e)&&!a)return\"\";'\"'===e&&(a=!a);return e})).join(\"\");this.url.searchParams.set(\"select\",i);t&&(this.headers.Prefer=`count=${t}`);return new PostgrestFilterBuilder({method:r,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:false})}\n/**\n     * Perform an INSERT into the table or view.\n     *\n     * By default, inserted rows are not returned. To return it, chain the call\n     * with `.select()`.\n     *\n     * @param values - The values to insert. Pass an object to insert a single row\n     * or an array to insert multiple rows.\n     *\n     * @param options - Named parameters\n     *\n     * @param options.count - Count algorithm to use to count inserted rows.\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     *\n     * @param options.defaultToNull - Make missing fields default to `null`.\n     * Otherwise, use the default value for the column.\n     */insert(e,{count:s,defaultToNull:t=true}={}){const r=\"POST\";const a=[];this.headers.Prefer&&a.push(this.headers.Prefer);s&&a.push(`count=${s}`);t||a.push(\"missing=default\");this.headers.Prefer=a.join(\",\");if(Array.isArray(e)){const s=e.reduce(((e,s)=>e.concat(Object.keys(s))),[]);if(s.length>0){const e=[...new Set(s)].map((e=>`\"${e}\"`));this.url.searchParams.set(\"columns\",e.join(\",\"))}}return new PostgrestFilterBuilder({method:r,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:false})}\n/**\n     * Perform an UPSERT on the table or view. Depending on the column(s) passed\n     * to `onConflict`, `.upsert()` allows you to perform the equivalent of\n     * `.insert()` if a row with the corresponding `onConflict` columns doesn't\n     * exist, or if it does exist, perform an alternative action depending on\n     * `ignoreDuplicates`.\n     *\n     * By default, upserted rows are not returned. To return it, chain the call\n     * with `.select()`.\n     *\n     * @param values - The values to upsert with. Pass an object to upsert a\n     * single row or an array to upsert multiple rows.\n     *\n     * @param options - Named parameters\n     *\n     * @param options.onConflict - Comma-separated UNIQUE column(s) to specify how\n     * duplicate rows are determined. Two rows are duplicates if all the\n     * `onConflict` columns are equal.\n     *\n     * @param options.ignoreDuplicates - If `true`, duplicate rows are ignored. If\n     * `false`, duplicate rows are merged with existing rows.\n     *\n     * @param options.count - Count algorithm to use to count upserted rows.\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     *\n     * @param options.defaultToNull - Make missing fields default to `null`.\n     * Otherwise, use the default value for the column. This only applies when\n     * inserting new rows, not when merging with existing rows under\n     * `ignoreDuplicates: false`.\n     */upsert(e,{onConflict:s,ignoreDuplicates:t=false,count:r,defaultToNull:a=true}={}){const i=\"POST\";const h=[`resolution=${t?\"ignore\":\"merge\"}-duplicates`];void 0!==s&&this.url.searchParams.set(\"on_conflict\",s);this.headers.Prefer&&h.push(this.headers.Prefer);r&&h.push(`count=${r}`);a||h.push(\"missing=default\");this.headers.Prefer=h.join(\",\");if(Array.isArray(e)){const s=e.reduce(((e,s)=>e.concat(Object.keys(s))),[]);if(s.length>0){const e=[...new Set(s)].map((e=>`\"${e}\"`));this.url.searchParams.set(\"columns\",e.join(\",\"))}}return new PostgrestFilterBuilder({method:i,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:false})}\n/**\n     * Perform an UPDATE on the table or view.\n     *\n     * By default, updated rows are not returned. To return it, chain the call\n     * with `.select()` after filters.\n     *\n     * @param values - The values to update with\n     *\n     * @param options - Named parameters\n     *\n     * @param options.count - Count algorithm to use to count updated rows.\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     */update(e,{count:s}={}){const t=\"PATCH\";const r=[];this.headers.Prefer&&r.push(this.headers.Prefer);s&&r.push(`count=${s}`);this.headers.Prefer=r.join(\",\");return new PostgrestFilterBuilder({method:t,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:false})}\n/**\n     * Perform a DELETE on the table or view.\n     *\n     * By default, deleted rows are not returned. To return it, chain the call\n     * with `.select()` after filters.\n     *\n     * @param options - Named parameters\n     *\n     * @param options.count - Count algorithm to use to count deleted rows.\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     */delete({count:e}={}){const s=\"DELETE\";const t=[];e&&t.push(`count=${e}`);this.headers.Prefer&&t.unshift(this.headers.Prefer);this.headers.Prefer=t.join(\",\");return new PostgrestFilterBuilder({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:false})}}const s=\"1.7.1\";const t={\"X-Client-Info\":`postgrest-js/${s}`};\n/**\n * PostgREST client.\n *\n * @typeParam Database - Types for the schema from the [type\n * generator](https://supabase.com/docs/reference/javascript/next/typescript-support)\n *\n * @typeParam SchemaName - Postgres schema to switch to. Must be a string\n * literal, the same one passed to the constructor. If the schema is not\n * `\"public\"`, this must be supplied manually.\n */class PostgrestClient{\n/**\n     * Creates a PostgREST client.\n     *\n     * @param url - URL of the PostgREST endpoint\n     * @param options - Named parameters\n     * @param options.headers - Custom headers\n     * @param options.schema - Postgres schema to switch to\n     * @param options.fetch - Custom fetch\n     */\nconstructor(e,{headers:s={},schema:r,fetch:a}={}){this.url=e;this.headers=Object.assign(Object.assign({},t),s);this.schema=r;this.fetch=a}\n/**\n     * Perform a query on a table or a view.\n     *\n     * @param relation - The table or view name to query\n     */from(e){const s=new URL(`${this.url}/${e}`);return new PostgrestQueryBuilder(s,{headers:Object.assign({},this.headers),schema:this.schema,fetch:this.fetch})}\n/**\n     * Perform a function call.\n     *\n     * @param fn - The function name to call\n     * @param args - The arguments to pass to the function call\n     * @param options - Named parameters\n     * @param options.head - When set to `true`, `data` will not be returned.\n     * Useful if you only need the count.\n     * @param options.count - Count algorithm to use to count rows returned by the\n     * function. Only applicable for [set-returning\n     * functions](https://www.postgresql.org/docs/current/functions-srf.html).\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     */rpc(e,s={},{head:t=false,count:r}={}){let a;const i=new URL(`${this.url}/rpc/${e}`);let h;if(t){a=\"HEAD\";Object.entries(s).forEach((([e,s])=>{i.searchParams.append(e,`${s}`)}))}else{a=\"POST\";h=s}const n=Object.assign({},this.headers);r&&(n.Prefer=`count=${r}`);return new PostgrestFilterBuilder({method:a,url:i,headers:n,schema:this.schema,body:h,fetch:this.fetch,allowEmpty:false})}}export{PostgrestBuilder,PostgrestClient,PostgrestFilterBuilder,PostgrestQueryBuilder,PostgrestTransformBuilder};\n\n//# sourceMappingURL=index.js.map","var e={},t=false;var o=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;function dew(){if(t)return e;t=true;var naiveFallback=function(){if(\"object\"===typeof self&&self)return self;if(\"object\"===typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e=function(){if(this||o)return this||o;if(\"object\"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this||o},configurable:true})}catch(e){return naiveFallback()}try{return __global__||naiveFallback()}finally{delete Object.prototype.__global__}}();return e}export{dew as d};\n\n//# sourceMappingURL=d2db80e9.js.map","import{d as a}from\"./_/d2db80e9.js\";var d=a();export{d as default};\n","var e={name:\"websocket\",description:\"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.\",keywords:[\"websocket\",\"websockets\",\"socket\",\"networking\",\"comet\",\"push\",\"RFC-6455\",\"realtime\",\"server\",\"client\"],author:\"Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)\",contributors:[\"Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)\"],version:\"1.0.34\",repository:{type:\"git\",url:\"https://github.com/theturtle32/WebSocket-Node.git\"},homepage:\"https://github.com/theturtle32/WebSocket-Node\",engines:{node:\">=4.0.0\"},dependencies:{bufferutil:\"^4.0.1\",debug:\"^2.2.0\",\"es5-ext\":\"^0.10.50\",\"typedarray-to-buffer\":\"^3.1.5\",\"utf-8-validate\":\"^5.0.2\",yaeti:\"^0.0.6\"},devDependencies:{\"buffer-equal\":\"^1.0.0\",gulp:\"^4.0.2\",\"gulp-jshint\":\"^2.0.4\",\"jshint-stylish\":\"^2.2.1\",jshint:\"^2.0.0\",tape:\"^4.9.1\"},config:{verbose:false},scripts:{test:\"tape test/unit/*.js\",gulp:\"gulp\"},main:\"index\",directories:{lib:\"./lib\"},browser:\"lib/browser.js\",license:\"Apache-2.0\"};var t={};t=e.version;var i=t;export{i as _};\n\n//# sourceMappingURL=3c0ba9a6.js.map","import e from\"es5-ext/global\";import{_ as o}from\"../_/3c0ba9a6.js\";var t={};var r;if(\"object\"===typeof globalThis)r=globalThis;else try{r=e}catch(e){}finally{r||\"undefined\"===typeof window||(r=window);if(!r)throw new Error(\"Could not determine global this\")}var n=r.WebSocket||r.MozWebSocket;var c=o;function W3CWebSocket(e,o){var t;t=o?new n(e,o):new n(e);return t}n&&[\"CONNECTING\",\"OPEN\",\"CLOSING\",\"CLOSED\"].forEach((function(e){Object.defineProperty(W3CWebSocket,e,{get:function(){return n[e]}})}));t={w3cwebsocket:n?W3CWebSocket:null,version:c};var a=t;const i=t.w3cwebsocket;export default a;export{i as w3cwebsocket};\n\n//# sourceMappingURL=browser.js.map","import{w3cwebsocket as e}from\"websocket\";const t=\"2.7.3\";const s={\"X-Client-Info\":`realtime-js/${t}`};const i=\"1.0.0\";const n=1e4;const o=1e3;var r;(function(e){e[e.connecting=0]=\"connecting\";e[e.open=1]=\"open\";e[e.closing=2]=\"closing\";e[e.closed=3]=\"closed\"})(r||(r={}));var c;(function(e){e.closed=\"closed\";e.errored=\"errored\";e.joined=\"joined\";e.joining=\"joining\";e.leaving=\"leaving\"})(c||(c={}));var a;(function(e){e.close=\"phx_close\";e.error=\"phx_error\";e.join=\"phx_join\";e.reply=\"phx_reply\";e.leave=\"phx_leave\";e.access_token=\"access_token\"})(a||(a={}));var h;(function(e){e.websocket=\"websocket\"})(h||(h={}));var l;(function(e){e.Connecting=\"connecting\";e.Open=\"open\";e.Closing=\"closing\";e.Closed=\"closed\"})(l||(l={}));class Timer{constructor(e,t){this.callback=e;this.timerCalc=t;this.timer=void 0;this.tries=0;this.callback=e;this.timerCalc=t}reset(){this.tries=0;clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer);this.timer=setTimeout((()=>{this.tries=this.tries+1;this.callback()}),this.timerCalc(this.tries+1))}}class Serializer{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):t(\"string\"===typeof e?JSON.parse(e):{})}_binaryDecode(e){const t=new DataView(e);const s=new TextDecoder;return this._decodeBroadcast(e,t,s)}_decodeBroadcast(e,t,s){const i=t.getUint8(1);const n=t.getUint8(2);let o=this.HEADER_LENGTH+2;const r=s.decode(e.slice(o,o+i));o+=i;const c=s.decode(e.slice(o,o+n));o+=n;const a=JSON.parse(s.decode(e.slice(o,e.byteLength)));return{ref:null,topic:r,event:c,payload:a}}}class Push{\n/**\n     * Initializes the Push\n     *\n     * @param channel The Channel\n     * @param event The event, for example `\"phx_join\"`\n     * @param payload The payload, for example `{user_id: 123}`\n     * @param timeout The push timeout in milliseconds\n     */\nconstructor(e,t,s={},i=n){this.channel=e;this.event=t;this.payload=s;this.timeout=i;this.sent=false;this.timeoutTimer=void 0;this.ref=\"\";this.receivedResp=null;this.recHooks=[];this.refEvent=null;this.rateLimited=false}resend(e){this.timeout=e;this._cancelRefEvent();this.ref=\"\";this.refEvent=null;this.receivedResp=null;this.sent=false;this.send()}send(){if(this._hasReceived(\"timeout\"))return;this.startTimeout();this.sent=true;const e=this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()});\"rate limited\"===e&&(this.rateLimited=true)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var s;this._hasReceived(e)&&t(null===(s=this.receivedResp)||void 0===s?void 0:s.response);this.recHooks.push({status:e,callback:t});return this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef();this.refEvent=this.channel._replyEventName(this.ref);const callback=e=>{this._cancelRefEvent();this._cancelTimeout();this.receivedResp=e;this._matchReceive(e)};this.channel._on(this.refEvent,{},callback);this.timeoutTimer=setTimeout((()=>{this.trigger(\"timeout\",{})}),this.timeout)}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent();this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer);this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter((t=>t.status===e)).forEach((e=>e.callback(t)))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var d;(function(e){e.SYNC=\"sync\";e.JOIN=\"join\";e.LEAVE=\"leave\"})(d||(d={}));class RealtimePresence{\n/**\n     * Initializes the Presence.\n     *\n     * @param channel - The RealtimeChannel\n     * @param opts - The options,\n     *        for example `{events: {state: 'state', diff: 'diff'}}`\n     */\nconstructor(e,t){this.channel=e;this.state={};this.pendingDiffs=[];this.joinRef=null;this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const s=(null===t||void 0===t?void 0:t.events)||{state:\"presence_state\",diff:\"presence_diff\"};this.channel._on(s.state,{},(e=>{const{onJoin:t,onLeave:s,onSync:i}=this.caller;this.joinRef=this.channel._joinRef();this.state=RealtimePresence.syncState(this.state,e,t,s);this.pendingDiffs.forEach((e=>{this.state=RealtimePresence.syncDiff(this.state,e,t,s)}));this.pendingDiffs=[];i()}));this.channel._on(s.diff,{},(e=>{const{onJoin:t,onLeave:s,onSync:i}=this.caller;if(this.inPendingSyncState())this.pendingDiffs.push(e);else{this.state=RealtimePresence.syncDiff(this.state,e,t,s);i()}}));this.onJoin(((e,t,s)=>{this.channel._trigger(\"presence\",{event:\"join\",key:e,currentPresences:t,newPresences:s})}));this.onLeave(((e,t,s)=>{this.channel._trigger(\"presence\",{event:\"leave\",key:e,currentPresences:t,leftPresences:s})}));this.onSync((()=>{this.channel._trigger(\"presence\",{event:\"sync\"})}))}static syncState(e,t,s,i){const n=this.cloneDeep(e);const o=this.transformState(t);const r={};const c={};this.map(n,((e,t)=>{o[e]||(c[e]=t)}));this.map(o,((e,t)=>{const s=n[e];if(s){const i=t.map((e=>e.presence_ref));const n=s.map((e=>e.presence_ref));const o=t.filter((e=>n.indexOf(e.presence_ref)<0));const a=s.filter((e=>i.indexOf(e.presence_ref)<0));o.length>0&&(r[e]=o);a.length>0&&(c[e]=a)}else r[e]=t}));return this.syncDiff(n,{joins:r,leaves:c},s,i)}static syncDiff(e,t,s,i){const{joins:n,leaves:o}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};s||(s=()=>{});i||(i=()=>{});this.map(n,((t,i)=>{var n;const o=null!==(n=e[t])&&void 0!==n?n:[];e[t]=this.cloneDeep(i);if(o.length>0){const s=e[t].map((e=>e.presence_ref));const i=o.filter((e=>s.indexOf(e.presence_ref)<0));e[t].unshift(...i)}s(t,o,i)}));this.map(o,((t,s)=>{let n=e[t];if(!n)return;const o=s.map((e=>e.presence_ref));n=n.filter((e=>o.indexOf(e.presence_ref)<0));e[t]=n;i(t,n,s);0===n.length&&delete e[t]}));return e}static map(e,t){return Object.getOwnPropertyNames(e).map((s=>t(s,e[s])))}static transformState(e){e=this.cloneDeep(e);return Object.getOwnPropertyNames(e).reduce(((t,s)=>{const i=e[s];t[s]=\"metas\"in i?i.metas.map((e=>{e.presence_ref=e.phx_ref;delete e.phx_ref;delete e.phx_ref_prev;return e})):i;return t}),{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var u;(function(e){e.abstime=\"abstime\";e.bool=\"bool\";e.date=\"date\";e.daterange=\"daterange\";e.float4=\"float4\";e.float8=\"float8\";e.int2=\"int2\";e.int4=\"int4\";e.int4range=\"int4range\";e.int8=\"int8\";e.int8range=\"int8range\";e.json=\"json\";e.jsonb=\"jsonb\";e.money=\"money\";e.numeric=\"numeric\";e.oid=\"oid\";e.reltime=\"reltime\";e.text=\"text\";e.time=\"time\";e.timestamp=\"timestamp\";e.timestamptz=\"timestamptz\";e.timetz=\"timetz\";e.tsrange=\"tsrange\";e.tstzrange=\"tstzrange\"})(u||(u={}));\n/**\n * Takes an array of columns and an object of string values then converts each string value\n * to its mapped type.\n *\n * @param {{name: String, type: String}[]} columns\n * @param {Object} record\n * @param {Object} options The map of various options that can be applied to the mapper\n * @param {Array} options.skipTypes The array of types that should not be converted\n *\n * @example convertChangeData([{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age:'33'}, {})\n * //=>{ first_name: 'Paul', age: 33 }\n */const convertChangeData=(e,t,s={})=>{var i;const n=null!==(i=s.skipTypes)&&void 0!==i?i:[];return Object.keys(t).reduce(((s,i)=>{s[i]=convertColumn(i,e,t,n);return s}),{})};\n/**\n * Converts the value of an individual column.\n *\n * @param {String} columnName The column that you want to convert\n * @param {{name: String, type: String}[]} columns All of the columns\n * @param {Object} record The map of string values\n * @param {Array} skipTypes An array of types that should not be converted\n * @return {object} Useless information\n *\n * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, [])\n * //=> 33\n * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, ['int4'])\n * //=> \"33\"\n */const convertColumn=(e,t,s,i)=>{const n=t.find((t=>t.name===e));const o=null===n||void 0===n?void 0:n.type;const r=s[e];return o&&!i.includes(o)?convertCell(o,r):noop$1(r)};\n/**\n * If the value of the cell is `null`, returns null.\n * Otherwise converts the string value to the correct type.\n * @param {String} type A postgres column type\n * @param {String} value The cell value\n *\n * @example convertCell('bool', 't')\n * //=> true\n * @example convertCell('int8', '10')\n * //=> 10\n * @example convertCell('_int4', '{1,2,3,4}')\n * //=> [1,2,3,4]\n */const convertCell=(e,t)=>{if(\"_\"===e.charAt(0)){const s=e.slice(1,e.length);return toArray(t,s)}switch(e){case u.bool:return toBoolean(t);case u.float4:case u.float8:case u.int2:case u.int4:case u.int8:case u.numeric:case u.oid:return toNumber(t);case u.json:case u.jsonb:return toJson(t);case u.timestamp:return toTimestampString(t);case u.abstime:case u.date:case u.daterange:case u.int4range:case u.int8range:case u.money:case u.reltime:case u.text:case u.time:case u.timestamptz:case u.timetz:case u.tsrange:case u.tstzrange:return noop$1(t);default:return noop$1(t)}};const noop$1=e=>e;const toBoolean=e=>{switch(e){case\"t\":return true;case\"f\":return false;default:return e}};const toNumber=e=>{if(\"string\"===typeof e){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e};const toJson=e=>{if(\"string\"===typeof e)try{return JSON.parse(e)}catch(t){console.log(`JSON parse error: ${t}`);return e}return e};const toArray=(e,t)=>{if(\"string\"!==typeof e)return e;const s=e.length-1;const i=e[s];const n=e[0];if(\"{\"===n&&\"}\"===i){let i;const n=e.slice(1,s);try{i=JSON.parse(\"[\"+n+\"]\")}catch(e){i=n?n.split(\",\"):[]}return i.map((e=>convertCell(t,e)))}return e};const toTimestampString=e=>\"string\"===typeof e?e.replace(\" \",\"T\"):e;var f=(void 0,function(e,t,s,i){function adopt(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,n){function fulfilled(e){try{step(i.next(e))}catch(e){n(e)}}function rejected(e){try{step(i.throw(e))}catch(e){n(e)}}function step(e){e.done?s(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))});var p;(function(e){e.ALL=\"*\";e.INSERT=\"INSERT\";e.UPDATE=\"UPDATE\";e.DELETE=\"DELETE\"})(p||(p={}));var v;(function(e){e.BROADCAST=\"broadcast\";e.PRESENCE=\"presence\";e.POSTGRES_CHANGES=\"postgres_changes\"})(v||(v={}));var m;(function(e){e.SUBSCRIBED=\"SUBSCRIBED\";e.TIMED_OUT=\"TIMED_OUT\";e.CLOSED=\"CLOSED\";e.CHANNEL_ERROR=\"CHANNEL_ERROR\"})(m||(m={}));class RealtimeChannel{constructor(e,t={config:{}},s){this.topic=e;this.params=t;this.socket=s;this.bindings={};this.state=c.closed;this.joinedOnce=false;this.pushBuffer=[];this.params.config=Object.assign({broadcast:{ack:false,self:false},presence:{key:\"\"}},t.config);this.timeout=this.socket.timeout;this.joinPush=new Push(this,a.join,this.params,this.timeout);this.rejoinTimer=new Timer((()=>this._rejoinUntilConnected()),this.socket.reconnectAfterMs);this.joinPush.receive(\"ok\",(()=>{this.state=c.joined;this.rejoinTimer.reset();this.pushBuffer.forEach((e=>e.send()));this.pushBuffer=[]}));this._onClose((()=>{this.rejoinTimer.reset();this.socket.log(\"channel\",`close ${this.topic} ${this._joinRef()}`);this.state=c.closed;this.socket._remove(this)}));this._onError((e=>{if(!this._isLeaving()&&!this._isClosed()){this.socket.log(\"channel\",`error ${this.topic}`,e);this.state=c.errored;this.rejoinTimer.scheduleTimeout()}}));this.joinPush.receive(\"timeout\",(()=>{if(this._isJoining()){this.socket.log(\"channel\",`timeout ${this.topic}`,this.joinPush.timeout);this.state=c.errored;this.rejoinTimer.scheduleTimeout()}}));this._on(a.reply,{},((e,t)=>{this._trigger(this._replyEventName(t),e)}));this.presence=new RealtimePresence(this)}subscribe(e,t=this.timeout){var s,i;if(this.joinedOnce)throw\"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance\";{const{config:{broadcast:n,presence:o}}=this.params;this._onError((t=>e&&e(\"CHANNEL_ERROR\",t)));this._onClose((()=>e&&e(\"CLOSED\")));const r={};const c={broadcast:n,presence:o,postgres_changes:null!==(i=null===(s=this.bindings.postgres_changes)||void 0===s?void 0:s.map((e=>e.filter)))&&void 0!==i?i:[]};this.socket.accessToken&&(r.access_token=this.socket.accessToken);this.updateJoinPayload(Object.assign({config:c},r));this.joinedOnce=true;this._rejoin(t);this.joinPush.receive(\"ok\",(({postgres_changes:t})=>{var s;this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken);if(void 0===t)e&&e(\"SUBSCRIBED\");else{const i=this.bindings.postgres_changes;const n=null!==(s=null===i||void 0===i?void 0:i.length)&&void 0!==s?s:0;const o=[];for(let s=0;s<n;s++){const n=i[s];const{filter:{event:r,schema:c,table:a,filter:h}}=n;const l=t&&t[s];if(!l||l.event!==r||l.schema!==c||l.table!==a||l.filter!==h){this.unsubscribe();e&&e(\"CHANNEL_ERROR\",new Error(\"mismatch between server and client bindings for postgres changes\"));return}o.push(Object.assign(Object.assign({},n),{id:l.id}))}this.bindings.postgres_changes=o;e&&e(\"SUBSCRIBED\")}})).receive(\"error\",(t=>{e&&e(\"CHANNEL_ERROR\",new Error(JSON.stringify(Object.values(t).join(\", \")||\"error\")))})).receive(\"timeout\",(()=>{e&&e(\"TIMED_OUT\")}))}return this}presenceState(){return this.presence.state}track(e,t={}){return f(this,void 0,void 0,(function*(){return yield this.send({type:\"presence\",event:\"track\",payload:e},t.timeout||this.timeout)}))}untrack(e={}){return f(this,void 0,void 0,(function*(){return yield this.send({type:\"presence\",event:\"untrack\"},e)}))}on(e,t,s){return this._on(e,t,s)}send(e,t={}){return new Promise((s=>{var i,n,o;const r=this._push(e.type,e,t.timeout||this.timeout);r.rateLimited&&s(\"rate limited\");\"broadcast\"!==e.type||(null===(o=null===(n=null===(i=this.params)||void 0===i?void 0:i.config)||void 0===n?void 0:n.broadcast)||void 0===o?void 0:o.ack)||s(\"ok\");r.receive(\"ok\",(()=>s(\"ok\")));r.receive(\"timeout\",(()=>s(\"timed out\")))}))}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=c.leaving;const onClose=()=>{this.socket.log(\"channel\",`leave ${this.topic}`);this._trigger(a.close,\"leave\",this._joinRef())};this.rejoinTimer.reset();this.joinPush.destroy();return new Promise((t=>{const s=new Push(this,a.leave,{},e);s.receive(\"ok\",(()=>{onClose();t(\"ok\")})).receive(\"timeout\",(()=>{onClose();t(\"timed out\")})).receive(\"error\",(()=>{t(\"error\")}));s.send();this._canPush()||s.trigger(\"ok\",{})}))}_push(e,t,s=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let i=new Push(this,e,t,s);if(this._canPush())i.send();else{i.startTimeout();this.pushBuffer.push(i)}return i}_onMessage(e,t,s){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,s){var i,n;const o=e.toLocaleLowerCase();const{close:r,error:c,leave:h,join:l}=a;const d=[r,c,h,l];if(s&&d.indexOf(o)>=0&&s!==this._joinRef())return;let u=this._onMessage(o,t,s);if(t&&!u)throw\"channel onMessage callbacks must return the payload, modified or unmodified\";[\"insert\",\"update\",\"delete\"].includes(o)?null===(i=this.bindings.postgres_changes)||void 0===i?void 0:i.filter((e=>{var t,s,i;return\"*\"===(null===(t=e.filter)||void 0===t?void 0:t.event)||(null===(i=null===(s=e.filter)||void 0===s?void 0:s.event)||void 0===i?void 0:i.toLocaleLowerCase())===o})).map((e=>e.callback(u,s))):null===(n=this.bindings[o])||void 0===n?void 0:n.filter((e=>{var s,i,n,r,c,a;if([\"broadcast\",\"presence\",\"postgres_changes\"].includes(o)){if(\"id\"in e){const o=e.id;const r=null===(s=e.filter)||void 0===s?void 0:s.event;return o&&(null===(i=t.ids)||void 0===i?void 0:i.includes(o))&&(\"*\"===r||(null===r||void 0===r?void 0:r.toLocaleLowerCase())===(null===(n=t.data)||void 0===n?void 0:n.type.toLocaleLowerCase()))}{const s=null===(c=null===(r=null===e||void 0===e?void 0:e.filter)||void 0===r?void 0:r.event)||void 0===c?void 0:c.toLocaleLowerCase();return\"*\"===s||s===(null===(a=null===t||void 0===t?void 0:t.event)||void 0===a?void 0:a.toLocaleLowerCase())}}return e.type.toLocaleLowerCase()===o})).map((e=>{if(\"object\"===typeof u&&\"ids\"in u){const e=u.data;const{schema:t,table:s,commit_timestamp:i,type:n,errors:o}=e;const r={schema:t,table:s,commit_timestamp:i,eventType:n,new:{},old:{},errors:o};u=Object.assign(Object.assign({},r),this._getPayloadRecords(e))}e.callback(u,s)}))}_isClosed(){return this.state===c.closed}_isJoined(){return this.state===c.joined}_isJoining(){return this.state===c.joining}_isLeaving(){return this.state===c.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,s){const i=e.toLocaleLowerCase();const n={type:i,filter:t,callback:s};this.bindings[i]?this.bindings[i].push(n):this.bindings[i]=[n];return this}_off(e,t){const s=e.toLocaleLowerCase();this.bindings[s]=this.bindings[s].filter((e=>{var i;return!((null===(i=e.type)||void 0===i?void 0:i.toLocaleLowerCase())===s&&RealtimeChannel.isEqual(e.filter,t))}));return this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return false;for(const s in e)if(e[s]!==t[s])return false;return true}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout();this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(a.close,{},e)}_onError(e){this._on(a.error,{},(t=>e(t)))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){if(!this._isLeaving()){this.socket._leaveOpenTopic(this.topic);this.state=c.joining;this.joinPush.resend(e)}}_getPayloadRecords(e){const t={new:{},old:{}};\"INSERT\"!==e.type&&\"UPDATE\"!==e.type||(t.new=convertChangeData(e.columns,e.record));\"UPDATE\"!==e.type&&\"DELETE\"!==e.type||(t.old=convertChangeData(e.columns,e.old_record));return t}}var g=(void 0,function(e,t,s,i){function adopt(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,n){function fulfilled(e){try{step(i.next(e))}catch(e){n(e)}}function rejected(e){try{step(i.throw(e))}catch(e){n(e)}}function step(e){e.done?s(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))});const noop=()=>{};class RealtimeClient{\n/**\n     * Initializes the Socket.\n     *\n     * @param endPoint The string WebSocket endpoint, ie, \"ws://example.com/socket\", \"wss://example.com\", \"/socket\" (inherited host & protocol)\n     * @param options.transport The Websocket Transport, for example WebSocket.\n     * @param options.timeout The default timeout in milliseconds to trigger push timeouts.\n     * @param options.params The optional params to pass when connecting.\n     * @param options.headers The optional headers to pass when connecting.\n     * @param options.heartbeatIntervalMs The millisec interval to send a heartbeat message.\n     * @param options.logger The optional function for specialized logging, ie: logger: (kind, msg, data) => { console.log(`${kind}: ${msg}`, data) }\n     * @param options.encode The function to encode outgoing messages. Defaults to JSON: (payload, callback) => callback(JSON.stringify(payload))\n     * @param options.decode The function to decode incoming messages. Defaults to Serializer's decode.\n     * @param options.reconnectAfterMs he optional function that returns the millsec reconnect interval. Defaults to stepped backoff off.\n     */\nconstructor(t,i){var o;this.accessToken=null;this.channels=[];this.endPoint=\"\";this.headers=s;this.params={};this.timeout=n;this.transport=e;this.heartbeatIntervalMs=3e4;this.heartbeatTimer=void 0;this.pendingHeartbeatRef=null;this.ref=0;this.logger=noop;this.conn=null;this.sendBuffer=[];this.serializer=new Serializer;this.stateChangeCallbacks={open:[],close:[],error:[],message:[]};this.eventsPerSecondLimitMs=100;this.inThrottle=false;this.endPoint=`${t}/${h.websocket}`;(null===i||void 0===i?void 0:i.params)&&(this.params=i.params);(null===i||void 0===i?void 0:i.headers)&&(this.headers=Object.assign(Object.assign({},this.headers),i.headers));(null===i||void 0===i?void 0:i.timeout)&&(this.timeout=i.timeout);(null===i||void 0===i?void 0:i.logger)&&(this.logger=i.logger);(null===i||void 0===i?void 0:i.transport)&&(this.transport=i.transport);(null===i||void 0===i?void 0:i.heartbeatIntervalMs)&&(this.heartbeatIntervalMs=i.heartbeatIntervalMs);const r=null===(o=null===i||void 0===i?void 0:i.params)||void 0===o?void 0:o.eventsPerSecond;r&&(this.eventsPerSecondLimitMs=Math.floor(1e3/r));this.reconnectAfterMs=(null===i||void 0===i?void 0:i.reconnectAfterMs)?i.reconnectAfterMs:e=>[1e3,2e3,5e3,1e4][e-1]||1e4;this.encode=(null===i||void 0===i?void 0:i.encode)?i.encode:(e,t)=>t(JSON.stringify(e));this.decode=(null===i||void 0===i?void 0:i.decode)?i.decode:this.serializer.decode.bind(this.serializer);this.reconnectTimer=new Timer((()=>g(this,void 0,void 0,(function*(){this.disconnect();this.connect()}))),this.reconnectAfterMs)}connect(){if(!this.conn){this.conn=new this.transport(this._endPointURL(),[],null,this.headers);if(this.conn){this.conn.binaryType=\"arraybuffer\";this.conn.onopen=()=>this._onConnOpen();this.conn.onerror=e=>this._onConnError(e);this.conn.onmessage=e=>this._onConnMessage(e);this.conn.onclose=e=>this._onConnClose(e)}}}\n/**\n     * Disconnects the socket.\n     *\n     * @param code A numeric status code to send on disconnect.\n     * @param reason A custom reason for the disconnect.\n     */disconnect(e,t){if(this.conn){this.conn.onclose=function(){};e?this.conn.close(e,null!==t&&void 0!==t?t:\"\"):this.conn.close();this.conn=null;this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.reconnectTimer.reset()}}getChannels(){return this.channels}\n/**\n     * Unsubscribes and removes a single channel\n     * @param channel A RealtimeChannel instance\n     */removeChannel(e){return g(this,void 0,void 0,(function*(){const t=yield e.unsubscribe();0===this.channels.length&&this.disconnect();return t}))}removeAllChannels(){return g(this,void 0,void 0,(function*(){const e=yield Promise.all(this.channels.map((e=>e.unsubscribe())));this.disconnect();return e}))}log(e,t,s){this.logger(e,t,s)}connectionState(){switch(this.conn&&this.conn.readyState){case r.connecting:return l.Connecting;case r.open:return l.Open;case r.closing:return l.Closing;default:return l.Closed}}isConnected(){return this.connectionState()===l.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();const s=new RealtimeChannel(`realtime:${e}`,t,this);this.channels.push(s);return s}push(e){const{topic:t,event:s,payload:i,ref:n}=e;let callback=()=>{this.encode(e,(e=>{var t;null===(t=this.conn)||void 0===t?void 0:t.send(e)}))};this.log(\"push\",`${t} ${s} (${n})`,i);if(this.isConnected())if([\"broadcast\",\"presence\",\"postgres_changes\"].includes(s)){const e=this._throttle(callback)();if(e)return\"rate limited\"}else callback();else this.sendBuffer.push(callback)}\n/**\n     * Sets the JWT access token used for channel subscription authorization and Realtime RLS.\n     *\n     * @param token A JWT string.\n     */setAuth(e){this.accessToken=e;this.channels.forEach((t=>{e&&t.updateJoinPayload({access_token:e});t.joinedOnce&&t._isJoined()&&t._push(a.access_token,{access_token:e})}))}_makeRef(){let e=this.ref+1;e===this.ref?this.ref=0:this.ref=e;return this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find((t=>t.topic===e&&(t._isJoined()||t._isJoining())));if(t){this.log(\"transport\",`leaving duplicate topic \"${e}\"`);t.unsubscribe()}}\n/**\n     * Removes a subscription from the socket.\n     *\n     * @param channel An open subscription.\n     *\n     * @internal\n     */_remove(e){this.channels=this.channels.filter((t=>t._joinRef()!==e._joinRef()))}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:i}))}_onConnMessage(e){this.decode(e.data,(e=>{let{topic:t,event:s,payload:i,ref:n}=e;(n&&n===this.pendingHeartbeatRef||s===(null===i||void 0===i?void 0:i.type))&&(this.pendingHeartbeatRef=null);this.log(\"receive\",`${i.status||\"\"} ${t} ${s} ${n&&\"(\"+n+\")\"||\"\"}`,i);this.channels.filter((e=>e._isMember(t))).forEach((e=>e._trigger(s,i,n)));this.stateChangeCallbacks.message.forEach((t=>t(e)))}))}_onConnOpen(){this.log(\"transport\",`connected to ${this._endPointURL()}`);this._flushSendBuffer();this.reconnectTimer.reset();this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.heartbeatTimer=setInterval((()=>this._sendHeartbeat()),this.heartbeatIntervalMs);this.stateChangeCallbacks.open.forEach((e=>e()))}_onConnClose(e){this.log(\"transport\",\"close\",e);this._triggerChanError();this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.reconnectTimer.scheduleTimeout();this.stateChangeCallbacks.close.forEach((t=>t(e)))}_onConnError(e){this.log(\"transport\",e.message);this._triggerChanError();this.stateChangeCallbacks.error.forEach((t=>t(e)))}_triggerChanError(){this.channels.forEach((e=>e._trigger(a.error)))}_appendParams(e,t){if(0===Object.keys(t).length)return e;const s=e.match(/\\?/)?\"&\":\"?\";const i=new URLSearchParams(t);return`${e}${s}${i}`}_flushSendBuffer(){if(this.isConnected()&&this.sendBuffer.length>0){this.sendBuffer.forEach((e=>e()));this.sendBuffer=[]}}_sendHeartbeat(){var e;if(this.isConnected())if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null;this.log(\"transport\",\"heartbeat timeout. Attempting to re-establish connection\");null===(e=this.conn)||void 0===e?void 0:e.close(o,\"hearbeat timeout\")}else{this.pendingHeartbeatRef=this._makeRef();this.push({topic:\"phoenix\",event:\"heartbeat\",payload:{},ref:this.pendingHeartbeatRef});this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>{if(this.inThrottle)return true;e();if(t>0){this.inThrottle=true;setTimeout((()=>{this.inThrottle=false}),t)}return false}}}export{v as REALTIME_LISTEN_TYPES,p as REALTIME_POSTGRES_CHANGES_LISTEN_EVENT,d as REALTIME_PRESENCE_LISTEN_EVENTS,m as REALTIME_SUBSCRIBE_STATES,RealtimeChannel,RealtimeClient,RealtimePresence};\n\n//# sourceMappingURL=index.js.map","class StorageError extends Error{constructor(t){super(t);this.__isStorageError=true;this.name=\"StorageError\"}}function isStorageError(t){return\"object\"===typeof t&&null!==t&&\"__isStorageError\"in t}class StorageApiError extends StorageError{constructor(t,e){super(t);this.name=\"StorageApiError\";this.status=e}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class StorageUnknownError extends StorageError{constructor(t,e){super(t);this.name=\"StorageUnknownError\";this.originalError=e}}var t=(void 0,function(t,e,r,o){function adopt(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(t){try{step(o.next(t))}catch(t){n(t)}}function rejected(t){try{step(o.throw(t))}catch(t){n(t)}}function step(t){t.done?r(t.value):adopt(t.value).then(fulfilled,rejected)}step((o=o.apply(t,e||[])).next())}))});const resolveFetch=e=>{let r;r=e||(\"undefined\"===typeof fetch?(...e)=>t(void 0,void 0,void 0,(function*(){return yield(yield import(\"cross-fetch\")).fetch(...e)})):fetch);return(...t)=>r(...t)};const resolveResponse=()=>t(void 0,void 0,void 0,(function*(){return\"undefined\"===typeof Response?(yield import(\"cross-fetch\")).Response:Response}));var e=(void 0,function(t,e,r,o){function adopt(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(t){try{step(o.next(t))}catch(t){n(t)}}function rejected(t){try{step(o.throw(t))}catch(t){n(t)}}function step(t){t.done?r(t.value):adopt(t.value).then(fulfilled,rejected)}step((o=o.apply(t,e||[])).next())}))});const _getErrorMessage=t=>t.msg||t.message||t.error_description||t.error||JSON.stringify(t);const handleError=(t,r)=>e(void 0,void 0,void 0,(function*(){const e=yield resolveResponse();t instanceof e?t.json().then((e=>{r(new StorageApiError(_getErrorMessage(e),t.status||500))})).catch((t=>{r(new StorageUnknownError(_getErrorMessage(t),t))})):r(new StorageUnknownError(_getErrorMessage(t),t))}));const _getRequestParams=(t,e,r,o)=>{const n={method:t,headers:(null===e||void 0===e?void 0:e.headers)||{}};if(\"GET\"===t)return n;n.headers=Object.assign({\"Content-Type\":\"application/json\"},null===e||void 0===e?void 0:e.headers);n.body=JSON.stringify(o);return Object.assign(Object.assign({},n),r)};function _handleRequest(t,r,o,n,i,s){return e(this,void 0,void 0,(function*(){return new Promise(((e,a)=>{t(o,_getRequestParams(r,n,i,s)).then((t=>{if(!t.ok)throw t;return(null===n||void 0===n?void 0:n.noResolveJson)?t:t.json()})).then((t=>e(t))).catch((t=>handleError(t,a)))}))}))}function get(t,r,o,n){return e(this,void 0,void 0,(function*(){return _handleRequest(t,\"GET\",r,o,n)}))}function post(t,r,o,n,i){return e(this,void 0,void 0,(function*(){return _handleRequest(t,\"POST\",r,n,i,o)}))}function put(t,r,o,n,i){return e(this,void 0,void 0,(function*(){return _handleRequest(t,\"PUT\",r,n,i,o)}))}function remove(t,r,o,n,i){return e(this,void 0,void 0,(function*(){return _handleRequest(t,\"DELETE\",r,n,i,o)}))}var r=(void 0,function(t,e,r,o){function adopt(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(t){try{step(o.next(t))}catch(t){n(t)}}function rejected(t){try{step(o.throw(t))}catch(t){n(t)}}function step(t){t.done?r(t.value):adopt(t.value).then(fulfilled,rejected)}step((o=o.apply(t,e||[])).next())}))});const o={limit:100,offset:0,sortBy:{column:\"name\",order:\"asc\"}};const n={cacheControl:\"3600\",contentType:\"text/plain;charset=UTF-8\",upsert:false};class StorageFileApi{constructor(t,e={},r,o){this.url=t;this.headers=e;this.bucketId=r;this.fetch=resolveFetch(o)}\n/**\n     * Uploads a file to an existing bucket or replaces an existing file at the specified path with a new one.\n     *\n     * @param method HTTP method.\n     * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.\n     * @param fileBody The body of the file to be stored in the bucket.\n     */uploadOrUpdate(t,e,o,i){return r(this,void 0,void 0,(function*(){try{let r;const s=Object.assign(Object.assign({},n),i);const a=Object.assign(Object.assign({},this.headers),\"POST\"===t&&{\"x-upsert\":String(s.upsert)});if(\"undefined\"!==typeof Blob&&o instanceof Blob){r=new FormData;r.append(\"cacheControl\",s.cacheControl);r.append(\"\",o)}else if(\"undefined\"!==typeof FormData&&o instanceof FormData){r=o;r.append(\"cacheControl\",s.cacheControl)}else{r=o;a[\"cache-control\"]=`max-age=${s.cacheControl}`;a[\"content-type\"]=s.contentType}const c=this._removeEmptyFolders(e);const u=this._getFinalPath(c);const d=yield this.fetch(`${this.url}/object/${u}`,Object.assign({method:t,body:r,headers:a},(null===s||void 0===s?void 0:s.duplex)?{duplex:s.duplex}:{}));if(d.ok)return{data:{path:c},error:null};{const t=yield d.json();return{data:null,error:t}}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Uploads a file to an existing bucket.\n     *\n     * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.\n     * @param fileBody The body of the file to be stored in the bucket.\n     */upload(t,e,o){return r(this,void 0,void 0,(function*(){return this.uploadOrUpdate(\"POST\",t,e,o)}))}\n/**\n     * Upload a file with a token generated from `createSignedUploadUrl`.\n     * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.\n     * @param token The token generated from `createSignedUploadUrl`\n     * @param fileBody The body of the file to be stored in the bucket.\n     */uploadToSignedUrl(t,e,o,i){return r(this,void 0,void 0,(function*(){const r=this._removeEmptyFolders(t);const s=this._getFinalPath(r);const a=new URL(this.url+`/object/upload/sign/${s}`);a.searchParams.set(\"token\",e);try{let t;const e=Object.assign({upsert:n.upsert},i);const s=Object.assign(Object.assign({},this.headers),{\"x-upsert\":String(e.upsert)});if(\"undefined\"!==typeof Blob&&o instanceof Blob){t=new FormData;t.append(\"cacheControl\",e.cacheControl);t.append(\"\",o)}else if(\"undefined\"!==typeof FormData&&o instanceof FormData){t=o;t.append(\"cacheControl\",e.cacheControl)}else{t=o;s[\"cache-control\"]=`max-age=${e.cacheControl}`;s[\"content-type\"]=e.contentType}const c=yield this.fetch(a.toString(),{method:\"PUT\",body:t,headers:s});if(c.ok)return{data:{path:r},error:null};{const t=yield c.json();return{data:null,error:t}}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Creates a signed upload URL.\n     * Signed upload URLs can be used to upload files to the bucket without further authentication.\n     * They are valid for one minute.\n     * @param path The file path, including the current file name. For example `folder/image.png`.\n     */createSignedUploadUrl(t){return r(this,void 0,void 0,(function*(){try{let e=this._getFinalPath(t);const r=yield post(this.fetch,`${this.url}/object/upload/sign/${e}`,{},{headers:this.headers});const o=new URL(this.url+r.url);const n=o.searchParams.get(\"token\");if(!n)throw new StorageError(\"No token returned by API\");return{data:{signedUrl:o.toString(),path:t,token:n},error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Replaces an existing file at the specified path with a new one.\n     *\n     * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update.\n     * @param fileBody The body of the file to be stored in the bucket.\n     */update(t,e,o){return r(this,void 0,void 0,(function*(){return this.uploadOrUpdate(\"PUT\",t,e,o)}))}\n/**\n     * Moves an existing file to a new path in the same bucket.\n     *\n     * @param fromPath The original file path, including the current file name. For example `folder/image.png`.\n     * @param toPath The new file path, including the new file name. For example `folder/image-new.png`.\n     */move(t,e){return r(this,void 0,void 0,(function*(){try{const r=yield post(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:t,destinationKey:e},{headers:this.headers});return{data:r,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Copies an existing file to a new path in the same bucket.\n     *\n     * @param fromPath The original file path, including the current file name. For example `folder/image.png`.\n     * @param toPath The new file path, including the new file name. For example `folder/image-copy.png`.\n     */copy(t,e){return r(this,void 0,void 0,(function*(){try{const r=yield post(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:t,destinationKey:e},{headers:this.headers});return{data:{path:r.Key},error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Creates a signed URL. Use a signed URL to share a file for a fixed amount of time.\n     *\n     * @param path The file path, including the current file name. For example `folder/image.png`.\n     * @param expiresIn The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.\n     * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.\n     * @param options.transform Transform the asset before serving it to the client.\n     */createSignedUrl(t,e,o){return r(this,void 0,void 0,(function*(){try{let r=this._getFinalPath(t);let n=yield post(this.fetch,`${this.url}/object/sign/${r}`,Object.assign({expiresIn:e},(null===o||void 0===o?void 0:o.transform)?{transform:o.transform}:{}),{headers:this.headers});const i=(null===o||void 0===o?void 0:o.download)?`&download=${true===o.download?\"\":o.download}`:\"\";const s=encodeURI(`${this.url}${n.signedURL}${i}`);n={signedUrl:s};return{data:n,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time.\n     *\n     * @param paths The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`.\n     * @param expiresIn The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute.\n     * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.\n     */createSignedUrls(t,e,o){return r(this,void 0,void 0,(function*(){try{const r=yield post(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:e,paths:t},{headers:this.headers});const n=(null===o||void 0===o?void 0:o.download)?`&download=${true===o.download?\"\":o.download}`:\"\";return{data:r.map((t=>Object.assign(Object.assign({},t),{signedUrl:t.signedURL?encodeURI(`${this.url}${t.signedURL}${n}`):null}))),error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead.\n     *\n     * @param path The full path and file name of the file to be downloaded. For example `folder/image.png`.\n     * @param options.transform Transform the asset before serving it to the client.\n     */download(t,e){return r(this,void 0,void 0,(function*(){const r=\"undefined\"!==typeof(null===e||void 0===e?void 0:e.transform);const o=r?\"render/image/authenticated\":\"object\";const n=this.transformOptsToQueryString((null===e||void 0===e?void 0:e.transform)||{});const i=n?`?${n}`:\"\";try{const e=this._getFinalPath(t);const r=yield get(this.fetch,`${this.url}/${o}/${e}${i}`,{headers:this.headers,noResolveJson:true});const n=yield r.blob();return{data:n,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.\n     * This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset.\n     *\n     * @param path The path and name of the file to generate the public URL for. For example `folder/image.png`.\n     * @param options.download Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.\n     * @param options.transform Transform the asset before serving it to the client.\n     */getPublicUrl(t,e){const r=this._getFinalPath(t);const o=[];const n=(null===e||void 0===e?void 0:e.download)?`download=${true===e.download?\"\":e.download}`:\"\";\"\"!==n&&o.push(n);const i=\"undefined\"!==typeof(null===e||void 0===e?void 0:e.transform);const s=i?\"render/image\":\"object\";const a=this.transformOptsToQueryString((null===e||void 0===e?void 0:e.transform)||{});\"\"!==a&&o.push(a);let c=o.join(\"&\");\"\"!==c&&(c=`?${c}`);return{data:{publicUrl:encodeURI(`${this.url}/${s}/public/${r}${c}`)}}}\n/**\n     * Deletes files within the same bucket\n     *\n     * @param paths An array of files to delete, including the path and file name. For example [`'folder/image.png'`].\n     */remove(t){return r(this,void 0,void 0,(function*(){try{const e=yield remove(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:t},{headers:this.headers});return{data:e,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Get file metadata\n     * @param id the file id to retrieve metadata\n     */\n/**\n     * Update file metadata\n     * @param id the file id to update metadata\n     * @param meta the new file metadata\n     */\n/**\n     * Lists all the files within a bucket.\n     * @param path The folder path.\n     */\nlist(t,e,n){return r(this,void 0,void 0,(function*(){try{const r=Object.assign(Object.assign(Object.assign({},o),e),{prefix:t||\"\"});const i=yield post(this.fetch,`${this.url}/object/list/${this.bucketId}`,r,{headers:this.headers},n);return{data:i,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}_getFinalPath(t){return`${this.bucketId}/${t}`}_removeEmptyFolders(t){return t.replace(/^\\/|\\/$/g,\"\").replace(/\\/+/g,\"/\")}transformOptsToQueryString(t){const e=[];t.width&&e.push(`width=${t.width}`);t.height&&e.push(`height=${t.height}`);t.resize&&e.push(`resize=${t.resize}`);t.format&&e.push(`format=${t.format}`);t.quality&&e.push(`quality=${t.quality}`);return e.join(\"&\")}}const i=\"2.5.1\";const s={\"X-Client-Info\":`storage-js/${i}`};var a=(void 0,function(t,e,r,o){function adopt(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(t){try{step(o.next(t))}catch(t){n(t)}}function rejected(t){try{step(o.throw(t))}catch(t){n(t)}}function step(t){t.done?r(t.value):adopt(t.value).then(fulfilled,rejected)}step((o=o.apply(t,e||[])).next())}))});class StorageBucketApi{constructor(t,e={},r){this.url=t;this.headers=Object.assign(Object.assign({},s),e);this.fetch=resolveFetch(r)}listBuckets(){return a(this,void 0,void 0,(function*(){try{const t=yield get(this.fetch,`${this.url}/bucket`,{headers:this.headers});return{data:t,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Retrieves the details of an existing Storage bucket.\n     *\n     * @param id The unique identifier of the bucket you would like to retrieve.\n     */getBucket(t){return a(this,void 0,void 0,(function*(){try{const e=yield get(this.fetch,`${this.url}/bucket/${t}`,{headers:this.headers});return{data:e,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Creates a new Storage bucket\n     *\n     * @param id A unique identifier for the bucket you are creating.\n     * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private.\n     * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket.\n     * The global file size limit takes precedence over this value.\n     * The default value is null, which doesn't set a per bucket file size limit.\n     * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload.\n     * The default value is null, which allows files with all mime types to be uploaded.\n     * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n     * @returns newly created bucket id\n     */createBucket(t,e={public:false}){return a(this,void 0,void 0,(function*(){try{const r=yield post(this.fetch,`${this.url}/bucket`,{id:t,name:t,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:this.headers});return{data:r,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Updates a Storage bucket\n     *\n     * @param id A unique identifier for the bucket you are updating.\n     * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations.\n     * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket.\n     * The global file size limit takes precedence over this value.\n     * The default value is null, which doesn't set a per bucket file size limit.\n     * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload.\n     * The default value is null, which allows files with all mime types to be uploaded.\n     * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.\n     */updateBucket(t,e){return a(this,void 0,void 0,(function*(){try{const r=yield put(this.fetch,`${this.url}/bucket/${t}`,{id:t,name:t,public:e.public,file_size_limit:e.fileSizeLimit,allowed_mime_types:e.allowedMimeTypes},{headers:this.headers});return{data:r,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Removes all objects inside a single bucket.\n     *\n     * @param id The unique identifier of the bucket you would like to empty.\n     */emptyBucket(t){return a(this,void 0,void 0,(function*(){try{const e=yield post(this.fetch,`${this.url}/bucket/${t}/empty`,{},{headers:this.headers});return{data:e,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}\n/**\n     * Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.\n     * You must first `empty()` the bucket.\n     *\n     * @param id The unique identifier of the bucket you would like to delete.\n     */deleteBucket(t){return a(this,void 0,void 0,(function*(){try{const e=yield remove(this.fetch,`${this.url}/bucket/${t}`,{},{headers:this.headers});return{data:e,error:null}}catch(t){if(isStorageError(t))return{data:null,error:t};throw t}}))}}class StorageClient extends StorageBucketApi{constructor(t,e={},r){super(t,e,r)}\n/**\n     * Perform file operation in a bucket.\n     *\n     * @param id The bucket id to operate on.\n     */from(t){return new StorageFileApi(this.url,this.headers,t,this.fetch)}}export{StorageApiError,StorageClient,StorageError,StorageUnknownError,isStorageError};\n\n//# sourceMappingURL=index.js.map","var e=(void 0,function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s.throw(e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))});function expiresAt(e){const t=Math.round(Date.now()/1e3);return t+e}function uuid(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){const t=16*Math.random()|0,r=\"x\"==e?t:3&t|8;return r.toString(16)}))}const isBrowser=()=>\"undefined\"!==typeof document;const t={tested:false,writable:false};const supportsLocalStorage=()=>{if(!isBrowser())return false;try{if(\"object\"!==typeof globalThis.localStorage)return false}catch(e){return false}if(t.tested)return t.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e);globalThis.localStorage.removeItem(e);t.tested=true;t.writable=true}catch(e){t.tested=true;t.writable=false}return t.writable};function getParameterByName(e,t){var r;t||(t=(null===(r=null===window||void 0===window?void 0:window.location)||void 0===r?void 0:r.href)||\"\");e=e.replace(/[\\[\\]]/g,\"\\\\$&\");const s=new RegExp(\"[?&#]\"+e+\"(=([^&#]*)|&|#|$)\"),i=s.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\\+/g,\" \")):\"\":null}const resolveFetch=t=>{let r;r=t||(\"undefined\"===typeof fetch?(...t)=>e(void 0,void 0,void 0,(function*(){return yield(yield import(\"cross-fetch\")).fetch(...t)})):fetch);return(...e)=>r(...e)};const looksLikeFetchResponse=e=>\"object\"===typeof e&&null!==e&&\"status\"in e&&\"ok\"in e&&\"json\"in e&&\"function\"===typeof e.json;const setItemAsync=(t,r,s)=>e(void 0,void 0,void 0,(function*(){yield t.setItem(r,JSON.stringify(s))}));const getItemAsync=(t,r)=>e(void 0,void 0,void 0,(function*(){const e=yield t.getItem(r);if(!e)return null;try{return JSON.parse(e)}catch(t){return e}}));const removeItemAsync=(t,r)=>e(void 0,void 0,void 0,(function*(){yield t.removeItem(r)}));function decodeBase64URL(e){const t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";let r=\"\";let s,i,o;let n,a,l,d;let u=0;e=e.replace(\"-\",\"+\").replace(\"_\",\"/\");while(u<e.length){n=t.indexOf(e.charAt(u++));a=t.indexOf(e.charAt(u++));l=t.indexOf(e.charAt(u++));d=t.indexOf(e.charAt(u++));s=n<<2|a>>4;i=(15&a)<<4|l>>2;o=(3&l)<<6|d;r+=String.fromCharCode(s);64!=l&&0!=i&&(r+=String.fromCharCode(i));64!=d&&0!=o&&(r+=String.fromCharCode(o))}return r}class Deferred{constructor(){this.promise=new Deferred.promiseConstructor(((e,t)=>{this.resolve=e;this.reject=t}))}}Deferred.promiseConstructor=Promise;function decodeJWTPayload(e){const t=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i;const r=e.split(\".\");if(3!==r.length)throw new Error(\"JWT is not valid: not a JWT structure\");if(!t.test(r[1]))throw new Error(\"JWT is not valid: payload is not in base64url format\");const s=r[1];return JSON.parse(decodeBase64URL(s))}function sleep(e){return new Promise((t=>{setTimeout((()=>t(null)),e)}))}function retryable(t,r){const s=new Promise(((s,i)=>{(()=>e(this,void 0,void 0,(function*(){for(let e=0;e<Infinity;e++)try{const i=yield t(e);if(!r(e,null,i)){s(i);return}}catch(t){if(!r(e,t)){i(t);return}}})))()}));return s}function dec2hex(e){return(\"0\"+e.toString(16)).substr(-2)}function generatePKCEVerifier(){const e=56;const t=new Uint32Array(e);if(\"undefined\"===typeof crypto){const t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~\";const r=t.length;let s=\"\";for(let i=0;i<e;i++)s+=t.charAt(Math.floor(Math.random()*r));return s}crypto.getRandomValues(t);return Array.from(t,dec2hex).join(\"\")}function sha256(t){return e(this,void 0,void 0,(function*(){const e=new TextEncoder;const r=e.encode(t);const s=yield crypto.subtle.digest(\"SHA-256\",r);const i=new Uint8Array(s);return Array.from(i).map((e=>String.fromCharCode(e))).join(\"\")}))}function base64urlencode(e){return btoa(e).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}function generatePKCEChallenge(t){return e(this,void 0,void 0,(function*(){if(\"undefined\"===typeof crypto){console.warn(\"WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.\");return t}const e=yield sha256(t);return base64urlencode(e)}))}class AuthError extends Error{constructor(e,t){super(e);this.__isAuthError=true;this.name=\"AuthError\";this.status=t}}function isAuthError(e){return\"object\"===typeof e&&null!==e&&\"__isAuthError\"in e}class AuthApiError extends AuthError{constructor(e,t){super(e,t);this.name=\"AuthApiError\";this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function isAuthApiError(e){return isAuthError(e)&&\"AuthApiError\"===e.name}class AuthUnknownError extends AuthError{constructor(e,t){super(e);this.name=\"AuthUnknownError\";this.originalError=t}}class CustomAuthError extends AuthError{constructor(e,t,r){super(e);this.name=t;this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class AuthSessionMissingError extends CustomAuthError{constructor(){super(\"Auth session missing!\",\"AuthSessionMissingError\",400)}}class AuthInvalidTokenResponseError extends CustomAuthError{constructor(){super(\"Auth session or user missing\",\"AuthInvalidTokenResponseError\",500)}}class AuthInvalidCredentialsError extends CustomAuthError{constructor(e){super(e,\"AuthInvalidCredentialsError\",400)}}class AuthImplicitGrantRedirectError extends CustomAuthError{constructor(e,t=null){super(e,\"AuthImplicitGrantRedirectError\",500);this.details=null;this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class AuthPKCEGrantCodeExchangeError extends CustomAuthError{constructor(e,t=null){super(e,\"AuthPKCEGrantCodeExchangeError\",500);this.details=null;this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class AuthRetryableFetchError extends CustomAuthError{constructor(e,t){super(e,\"AuthRetryableFetchError\",t)}}var r=(void 0,function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s.throw(e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))});var s=(void 0,function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){var i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(r[s[i]]=e[s[i]])}return r});const _getErrorMessage=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e);const handleError=(e,t)=>r(void 0,void 0,void 0,(function*(){const r=[502,503,504];looksLikeFetchResponse(e)?r.includes(e.status)?t(new AuthRetryableFetchError(_getErrorMessage(e),e.status)):e.json().then((r=>{t(new AuthApiError(_getErrorMessage(r),e.status||500))})).catch((e=>{t(new AuthUnknownError(_getErrorMessage(e),e))})):t(new AuthRetryableFetchError(_getErrorMessage(e),0))}));const _getRequestParams=(e,t,r,s)=>{const i={method:e,headers:(null===t||void 0===t?void 0:t.headers)||{}};if(\"GET\"===e)return i;i.headers=Object.assign({\"Content-Type\":\"application/json;charset=UTF-8\"},null===t||void 0===t?void 0:t.headers);i.body=JSON.stringify(s);return Object.assign(Object.assign({},i),r)};function _request(e,t,s,i){var o;return r(this,void 0,void 0,(function*(){const r=Object.assign({},null===i||void 0===i?void 0:i.headers);(null===i||void 0===i?void 0:i.jwt)&&(r.Authorization=`Bearer ${i.jwt}`);const n=null!==(o=null===i||void 0===i?void 0:i.query)&&void 0!==o?o:{};(null===i||void 0===i?void 0:i.redirectTo)&&(n.redirect_to=i.redirectTo);const a=Object.keys(n).length?\"?\"+new URLSearchParams(n).toString():\"\";const l=yield _handleRequest(e,t,s+a,{headers:r,noResolveJson:null===i||void 0===i?void 0:i.noResolveJson},{},null===i||void 0===i?void 0:i.body);return(null===i||void 0===i?void 0:i.xform)?null===i||void 0===i?void 0:i.xform(l):{data:Object.assign({},l),error:null}}))}function _handleRequest(e,t,s,i,o,n){return r(this,void 0,void 0,(function*(){return new Promise(((r,a)=>{e(s,_getRequestParams(t,i,o,n)).then((e=>{if(!e.ok)throw e;return(null===i||void 0===i?void 0:i.noResolveJson)?e:e.json()})).then((e=>r(e))).catch((e=>handleError(e,a)))}))}))}function _sessionResponse(e){var t;let r=null;if(hasSession(e)){r=Object.assign({},e);r.expires_at=expiresAt(e.expires_in)}const s=null!==(t=e.user)&&void 0!==t?t:e;return{data:{session:r,user:s},error:null}}function _userResponse(e){var t;const r=null!==(t=e.user)&&void 0!==t?t:e;return{data:{user:r},error:null}}function _ssoResponse(e){return{data:e,error:null}}function _generateLinkResponse(e){const{action_link:t,email_otp:r,hashed_token:i,redirect_to:o,verification_type:n}=e,a=s(e,[\"action_link\",\"email_otp\",\"hashed_token\",\"redirect_to\",\"verification_type\"]);const l={action_link:t,email_otp:r,hashed_token:i,redirect_to:o,verification_type:n};const d=Object.assign({},a);return{data:{properties:l,user:d},error:null}}function _noResolveJsonResponse(e){return e}\n/**\n * hasSession checks if the response object contains a valid session\n * @param data A response object\n * @returns true if a session is in the response\n */function hasSession(e){return e.access_token&&e.refresh_token&&e.expires_in}var i=(void 0,function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s.throw(e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))});var o=(void 0,function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){var i=0;for(s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(r[s[i]]=e[s[i]])}return r});class GoTrueAdminApi{constructor({url:e=\"\",headers:t={},fetch:r}){this.url=e;this.headers=t;this.fetch=resolveFetch(r);this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}\n/**\n     * Removes a logged-in session.\n     * @param jwt A valid, logged-in JWT.\n     */signOut(e){return i(this,void 0,void 0,(function*(){try{yield _request(this.fetch,\"POST\",`${this.url}/logout`,{headers:this.headers,jwt:e,noResolveJson:true});return{data:null,error:null}}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}\n/**\n     * Sends an invite link to an email address.\n     * @param email The email address of the user.\n     * @param options Additional options to be included when inviting.\n     */inviteUserByEmail(e,t={}){return i(this,void 0,void 0,(function*(){try{return yield _request(this.fetch,\"POST\",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}\n/**\n     * Generates email links and OTPs to be sent via a custom email provider.\n     * @param email The user's email.\n     * @param options.password User password. For signup only.\n     * @param options.data Optional user metadata. For signup only.\n     * @param options.redirectTo The redirect url which should be appended to the generated link\n     */generateLink(e){return i(this,void 0,void 0,(function*(){try{const{options:t}=e,r=o(e,[\"options\"]);const s=Object.assign(Object.assign({},r),t);if(\"newEmail\"in r){s.new_email=null===r||void 0===r?void 0:r.newEmail;delete s.newEmail}return yield _request(this.fetch,\"POST\",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:_generateLinkResponse,redirectTo:null===t||void 0===t?void 0:t.redirectTo})}catch(e){if(isAuthError(e))return{data:{properties:null,user:null},error:e};throw e}}))}createUser(e){return i(this,void 0,void 0,(function*(){try{return yield _request(this.fetch,\"POST\",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}\n/**\n     * Get a list of users.\n     *\n     * This function should only be called on a server. Never expose your `service_role` key in the browser.\n     * @param params An object which supports `page` and `perPage` as numbers, to alter the paginated results.\n     */listUsers(e){var t,r,s,o,n,a,l;return i(this,void 0,void 0,(function*(){try{const i={nextPage:null,lastPage:0,total:0};const d=yield _request(this.fetch,\"GET\",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:true,query:{page:null!==(r=null===(t=null===e||void 0===e?void 0:e.page)||void 0===t?void 0:t.toString())&&void 0!==r?r:\"\",per_page:null!==(o=null===(s=null===e||void 0===e?void 0:e.perPage)||void 0===s?void 0:s.toString())&&void 0!==o?o:\"\"},xform:_noResolveJsonResponse});if(d.error)throw d.error;const u=yield d.json();const h=null!==(n=d.headers.get(\"x-total-count\"))&&void 0!==n?n:0;const c=null!==(l=null===(a=d.headers.get(\"link\"))||void 0===a?void 0:a.split(\",\"))&&void 0!==l?l:[];if(c.length>0){c.forEach((e=>{const t=parseInt(e.split(\";\")[0].split(\"=\")[1].substring(0,1));const r=JSON.parse(e.split(\";\")[1].split(\"=\")[1]);i[`${r}Page`]=t}));i.total=parseInt(h)}return{data:Object.assign(Object.assign({},u),i),error:null}}catch(e){if(isAuthError(e))return{data:{users:[]},error:e};throw e}}))}\n/**\n     * Get user by id.\n     *\n     * @param uid The user's unique identifier\n     *\n     * This function should only be called on a server. Never expose your `service_role` key in the browser.\n     */getUserById(e){return i(this,void 0,void 0,(function*(){try{return yield _request(this.fetch,\"GET\",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}\n/**\n     * Updates the user data.\n     *\n     * @param attributes The data you want to update.\n     *\n     * This function should only be called on a server. Never expose your `service_role` key in the browser.\n     */updateUserById(e,t){return i(this,void 0,void 0,(function*(){try{return yield _request(this.fetch,\"PUT\",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}\n/**\n     * Delete a user. Requires a `service_role` key.\n     *\n     * @param id The user id you want to remove.\n     * @param shouldSoftDelete If true, then the user will be soft-deleted from the auth schema.\n     * Defaults to false for backward compatibility.\n     *\n     * This function should only be called on a server. Never expose your `service_role` key in the browser.\n     */deleteUser(e,t=false){return i(this,void 0,void 0,(function*(){try{return yield _request(this.fetch,\"DELETE\",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}_listFactors(e){return i(this,void 0,void 0,(function*(){try{const{data:t,error:r}=yield _request(this.fetch,\"GET\",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:r}}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}_deleteFactor(e){return i(this,void 0,void 0,(function*(){try{const t=yield _request(this.fetch,\"DELETE\",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers});return{data:t,error:null}}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}}const n=\"2.30.0\";const a=\"http://localhost:9999\";const l=\"supabase.auth.token\";const d={\"X-Client-Info\":`gotrue-js/${n}`};const u=10;const h={getItem:e=>supportsLocalStorage()?globalThis.localStorage.getItem(e):null,setItem:(e,t)=>{supportsLocalStorage()&&globalThis.localStorage.setItem(e,t)},removeItem:e=>{supportsLocalStorage()&&globalThis.localStorage.removeItem(e)}};function polyfillGlobalThis(){if(\"object\"!==typeof globalThis)try{Object.defineProperty(Object.prototype,\"__magic__\",{get:function(){return this},configurable:true});__magic__.globalThis=__magic__;delete Object.prototype.__magic__}catch(e){\"undefined\"!==typeof self&&(self.globalThis=self)}}var c=(void 0,function(e,t,r,s){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function fulfilled(e){try{step(s.next(e))}catch(e){i(e)}}function rejected(e){try{step(s.throw(e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))});polyfillGlobalThis();const f={url:a,storageKey:l,autoRefreshToken:true,persistSession:true,detectSessionInUrl:true,headers:d,flowType:\"implicit\"};const v=3e4;const y=3;class GoTrueClient{constructor(e){var t;this.stateChangeEmitters=new Map;this.autoRefreshTicker=null;this.visibilityChangedCallback=null;this.refreshingDeferred=null;this.initializePromise=null;this.detectSessionInUrl=true;this.broadcastChannel=null;const r=Object.assign(Object.assign({},f),e);this.inMemorySession=null;this.storageKey=r.storageKey;this.autoRefreshToken=r.autoRefreshToken;this.persistSession=r.persistSession;this.storage=r.storage||h;this.admin=new GoTrueAdminApi({url:r.url,headers:r.headers,fetch:r.fetch});this.url=r.url;this.headers=r.headers;this.fetch=resolveFetch(r.fetch);this.detectSessionInUrl=r.detectSessionInUrl;this.flowType=r.flowType;this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)};this.persistSession&&this.storage===h&&!supportsLocalStorage()&&console.warn(\"No storage option exists to persist the session, which may result in unexpected behavior when using auth.\\n        If you want to set persistSession to true, please provide a storage option or you may set persistSession to false to disable this warning.\");if(isBrowser()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(\"Failed to create a new BroadcastChannel, multi-tab state changes will not be available\",e)}null===(t=this.broadcastChannel)||void 0===t?void 0:t.addEventListener(\"message\",(e=>c(this,void 0,void 0,(function*(){yield this._notifyAllSubscribers(e.data.event,e.data.session,false)}))))}this.initialize()}initialize(){this.initializePromise||(this.initializePromise=this._initialize());return this.initializePromise}_initialize(){return c(this,void 0,void 0,(function*(){if(this.initializePromise)return this.initializePromise;try{const e=!!isBrowser()&&(yield this._isPKCEFlow());if(e||this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:t,error:r}=yield this._getSessionFromUrl(e);if(r){yield this._removeSession();return{error:r}}const{session:s,redirectType:i}=t;yield this._saveSession(s);setTimeout((()=>c(this,void 0,void 0,(function*(){\"recovery\"===i?yield this._notifyAllSubscribers(\"PASSWORD_RECOVERY\",s):yield this._notifyAllSubscribers(\"SIGNED_IN\",s)}))),0);return{error:null}}yield this._recoverAndRefresh();return{error:null}}catch(e){return isAuthError(e)?{error:e}:{error:new AuthUnknownError(\"Unexpected error during initialization\",e)}}finally{yield this._handleVisibilityChange()}}))}\n/**\n     * Creates a new user.\n     *\n     * Be aware that if a user account exists in the system you may get back an\n     * error message that attempts to hide this information from the user.\n     * This method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled.\n     *\n     * @returns A logged-in session if the server has \"autoconfirm\" ON\n     * @returns A user if the server has \"autoconfirm\" OFF\n     */signUp(e){var t,r,s;return c(this,void 0,void 0,(function*(){try{yield this._removeSession();let i;if(\"email\"in e){const{email:r,password:s,options:o}=e;let n=null;let a=null;if(\"pkce\"===this.flowType){const e=generatePKCEVerifier();yield setItemAsync(this.storage,`${this.storageKey}-code-verifier`,e);n=yield generatePKCEChallenge(e);a=e===n?\"plain\":\"s256\"}i=yield _request(this.fetch,\"POST\",`${this.url}/signup`,{headers:this.headers,redirectTo:null===o||void 0===o?void 0:o.emailRedirectTo,body:{email:r,password:s,data:null!==(t=null===o||void 0===o?void 0:o.data)&&void 0!==t?t:{},gotrue_meta_security:{captcha_token:null===o||void 0===o?void 0:o.captchaToken},code_challenge:n,code_challenge_method:a},xform:_sessionResponse})}else{if(!(\"phone\"in e))throw new AuthInvalidCredentialsError(\"You must provide either an email or phone number and a password\");{const{phone:t,password:o,options:n}=e;i=yield _request(this.fetch,\"POST\",`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:o,data:null!==(r=null===n||void 0===n?void 0:n.data)&&void 0!==r?r:{},channel:null!==(s=null===n||void 0===n?void 0:n.channel)&&void 0!==s?s:\"sms\",gotrue_meta_security:{captcha_token:null===n||void 0===n?void 0:n.captchaToken}},xform:_sessionResponse})}}const{data:o,error:n}=i;if(n||!o)return{data:{user:null,session:null},error:n};const a=o.session;const l=o.user;if(o.session){yield this._saveSession(o.session);yield this._notifyAllSubscribers(\"SIGNED_IN\",a)}return{data:{user:l,session:a},error:null}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}signInWithPassword(e){return c(this,void 0,void 0,(function*(){try{yield this._removeSession();let t;if(\"email\"in e){const{email:r,password:s,options:i}=e;t=yield _request(this.fetch,\"POST\",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:r,password:s,gotrue_meta_security:{captcha_token:null===i||void 0===i?void 0:i.captchaToken}},xform:_sessionResponse})}else{if(!(\"phone\"in e))throw new AuthInvalidCredentialsError(\"You must provide either an email or phone number and a password\");{const{phone:r,password:s,options:i}=e;t=yield _request(this.fetch,\"POST\",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:r,password:s,gotrue_meta_security:{captcha_token:null===i||void 0===i?void 0:i.captchaToken}},xform:_sessionResponse})}}const{data:r,error:s}=t;if(s)return{data:{user:null,session:null},error:s};if(!r||!r.session||!r.user)return{data:{user:null,session:null},error:new AuthInvalidTokenResponseError};if(r.session){yield this._saveSession(r.session);yield this._notifyAllSubscribers(\"SIGNED_IN\",r.session)}return{data:{user:r.user,session:r.session},error:s}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}signInWithOAuth(e){var t,r,s,i;return c(this,void 0,void 0,(function*(){yield this._removeSession();return yield this._handleProviderSignIn(e.provider,{redirectTo:null===(t=e.options)||void 0===t?void 0:t.redirectTo,scopes:null===(r=e.options)||void 0===r?void 0:r.scopes,queryParams:null===(s=e.options)||void 0===s?void 0:s.queryParams,skipBrowserRedirect:null===(i=e.options)||void 0===i?void 0:i.skipBrowserRedirect})}))}exchangeCodeForSession(e){return c(this,void 0,void 0,(function*(){const t=yield getItemAsync(this.storage,`${this.storageKey}-code-verifier`);const{data:r,error:s}=yield _request(this.fetch,\"POST\",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:t},xform:_sessionResponse});yield removeItemAsync(this.storage,`${this.storageKey}-code-verifier`);if(s)return{data:{user:null,session:null},error:s};if(!r||!r.session||!r.user)return{data:{user:null,session:null},error:new AuthInvalidTokenResponseError};if(r.session){yield this._saveSession(r.session);yield this._notifyAllSubscribers(\"SIGNED_IN\",r.session)}return{data:r,error:s}}))}signInWithIdToken(e){return c(this,void 0,void 0,(function*(){yield this._removeSession();try{const{options:t,provider:r,token:s,nonce:i}=e;const o=yield _request(this.fetch,\"POST\",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,nonce:i,gotrue_meta_security:{captcha_token:null===t||void 0===t?void 0:t.captchaToken}},xform:_sessionResponse});const{data:n,error:a}=o;if(a)return{data:{user:null,session:null},error:a};if(!n||!n.session||!n.user)return{data:{user:null,session:null},error:new AuthInvalidTokenResponseError};if(n.session){yield this._saveSession(n.session);yield this._notifyAllSubscribers(\"SIGNED_IN\",n.session)}return{data:n,error:a}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}signInWithOtp(e){var t,r,s,i,o;return c(this,void 0,void 0,(function*(){try{yield this._removeSession();if(\"email\"in e){const{email:s,options:i}=e;let o=null;let n=null;if(\"pkce\"===this.flowType){const e=generatePKCEVerifier();yield setItemAsync(this.storage,`${this.storageKey}-code-verifier`,e);o=yield generatePKCEChallenge(e);n=e===o?\"plain\":\"s256\"}const{error:a}=yield _request(this.fetch,\"POST\",`${this.url}/otp`,{headers:this.headers,body:{email:s,data:null!==(t=null===i||void 0===i?void 0:i.data)&&void 0!==t?t:{},create_user:null===(r=null===i||void 0===i?void 0:i.shouldCreateUser)||void 0===r||r,gotrue_meta_security:{captcha_token:null===i||void 0===i?void 0:i.captchaToken},code_challenge:o,code_challenge_method:n},redirectTo:null===i||void 0===i?void 0:i.emailRedirectTo});return{data:{user:null,session:null},error:a}}if(\"phone\"in e){const{phone:t,options:r}=e;const{error:n}=yield _request(this.fetch,\"POST\",`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:null!==(s=null===r||void 0===r?void 0:r.data)&&void 0!==s?s:{},create_user:null===(i=null===r||void 0===r?void 0:r.shouldCreateUser)||void 0===i||i,gotrue_meta_security:{captcha_token:null===r||void 0===r?void 0:r.captchaToken},channel:null!==(o=null===r||void 0===r?void 0:r.channel)&&void 0!==o?o:\"sms\"}});return{data:{user:null,session:null},error:n}}throw new AuthInvalidCredentialsError(\"You must provide either an email or phone number.\")}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}verifyOtp(e){var t,r;return c(this,void 0,void 0,(function*(){try{\"email_change\"!==e.type&&\"phone_change\"!==e.type&&(yield this._removeSession());const{data:s,error:i}=yield _request(this.fetch,\"POST\",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:null===(t=e.options)||void 0===t?void 0:t.captchaToken}}),redirectTo:null===(r=e.options)||void 0===r?void 0:r.redirectTo,xform:_sessionResponse});if(i)throw i;if(!s)throw new Error(\"An error occurred on token verification.\");const o=s.session;const n=s.user;if(null===o||void 0===o?void 0:o.access_token){yield this._saveSession(o);yield this._notifyAllSubscribers(\"SIGNED_IN\",o)}return{data:{user:n,session:o},error:null}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}signInWithSSO(e){var t,r,s;return c(this,void 0,void 0,(function*(){try{yield this._removeSession();return yield _request(this.fetch,\"POST\",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},\"providerId\"in e?{provider_id:e.providerId}:null),\"domain\"in e?{domain:e.domain}:null),{redirect_to:null!==(r=null===(t=e.options)||void 0===t?void 0:t.redirectTo)&&void 0!==r?r:void 0}),(null===(s=null===e||void 0===e?void 0:e.options)||void 0===s?void 0:s.captchaToken)?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:true}),headers:this.headers,xform:_ssoResponse})}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}reauthenticate(){return c(this,void 0,void 0,(function*(){try{const{data:{session:e},error:t}=yield this.getSession();if(t)throw t;if(!e)throw new AuthSessionMissingError;const{error:r}=yield _request(this.fetch,\"GET\",`${this.url}/reauthenticate`,{headers:this.headers,jwt:e.access_token});return{data:{user:null,session:null},error:r}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}resend(e){return c(this,void 0,void 0,(function*(){try{yield this._removeSession();const t=`${this.url}/resend`;if(\"email\"in e){const{email:r,type:s,options:i}=e;const{error:o}=yield _request(this.fetch,\"POST\",t,{headers:this.headers,body:{email:r,type:s,gotrue_meta_security:{captcha_token:null===i||void 0===i?void 0:i.captchaToken}}});return{data:{user:null,session:null},error:o}}if(\"phone\"in e){const{phone:r,type:s,options:i}=e;const{error:o}=yield _request(this.fetch,\"POST\",t,{headers:this.headers,body:{phone:r,type:s,gotrue_meta_security:{captcha_token:null===i||void 0===i?void 0:i.captchaToken}}});return{data:{user:null,session:null},error:o}}throw new AuthInvalidCredentialsError(\"You must provide either an email or phone number and a type\")}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}getSession(){return c(this,void 0,void 0,(function*(){yield this.initializePromise;let e=null;if(this.persistSession){const t=yield getItemAsync(this.storage,this.storageKey);null!==t&&(this._isValidSession(t)?e=t:yield this._removeSession())}else e=this.inMemorySession;if(!e)return{data:{session:null},error:null};const t=!!e.expires_at&&e.expires_at<=Date.now()/1e3;if(!t)return{data:{session:e},error:null};const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{session:null},error:s}:{data:{session:r},error:null}}))}\n/**\n     * Gets the current user details if there is an existing session.\n     * @param jwt Takes in an optional access token jwt. If no jwt is provided, getUser() will attempt to get the jwt from the current session.\n     */getUser(e){var t,r;return c(this,void 0,void 0,(function*(){try{if(!e){const{data:s,error:i}=yield this.getSession();if(i)throw i;e=null!==(r=null===(t=s.session)||void 0===t?void 0:t.access_token)&&void 0!==r?r:void 0}return yield _request(this.fetch,\"GET\",`${this.url}/user`,{headers:this.headers,jwt:e,xform:_userResponse})}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}updateUser(e,t={}){return c(this,void 0,void 0,(function*(){try{const{data:r,error:s}=yield this.getSession();if(s)throw s;if(!r.session)throw new AuthSessionMissingError;const i=r.session;const{data:o,error:n}=yield _request(this.fetch,\"PUT\",`${this.url}/user`,{headers:this.headers,redirectTo:null===t||void 0===t?void 0:t.emailRedirectTo,body:e,jwt:i.access_token,xform:_userResponse});if(n)throw n;i.user=o.user;yield this._saveSession(i);yield this._notifyAllSubscribers(\"USER_UPDATED\",i);return{data:{user:i.user},error:null}}catch(e){if(isAuthError(e))return{data:{user:null},error:e};throw e}}))}_decodeJWT(e){return decodeJWTPayload(e)}\n/**\n     * Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session.\n     * If the refresh token or access token in the current session is invalid, an error will be thrown.\n     * @param currentSession The current session that minimally contains an access token and refresh token.\n     */setSession(e){return c(this,void 0,void 0,(function*(){try{if(!e.access_token||!e.refresh_token)throw new AuthSessionMissingError;const t=Date.now()/1e3;let r=t;let s=true;let i=null;const o=decodeJWTPayload(e.access_token);if(o.exp){r=o.exp;s=r<=t}if(s){const{session:t,error:r}=yield this._callRefreshToken(e.refresh_token);if(r)return{data:{user:null,session:null},error:r};if(!t)return{data:{user:null,session:null},error:null};i=t}else{const{data:s,error:o}=yield this.getUser(e.access_token);if(o)throw o;i={access_token:e.access_token,refresh_token:e.refresh_token,user:s.user,token_type:\"bearer\",expires_in:r-t,expires_at:r};yield this._saveSession(i);yield this._notifyAllSubscribers(\"SIGNED_IN\",i)}return{data:{user:i.user,session:i},error:null}}catch(e){if(isAuthError(e))return{data:{session:null,user:null},error:e};throw e}}))}\n/**\n     * Returns a new session, regardless of expiry status.\n     * Takes in an optional current session. If not passed in, then refreshSession() will attempt to retrieve it from getSession().\n     * If the current session's refresh token is invalid, an error will be thrown.\n     * @param currentSession The current session. If passed in, it must contain a refresh token.\n     */refreshSession(e){var t;return c(this,void 0,void 0,(function*(){try{if(!e){const{data:r,error:s}=yield this.getSession();if(s)throw s;e=null!==(t=r.session)&&void 0!==t?t:void 0}if(!(null===e||void 0===e?void 0:e.refresh_token))throw new AuthSessionMissingError;const{session:r,error:s}=yield this._callRefreshToken(e.refresh_token);return s?{data:{user:null,session:null},error:s}:r?{data:{user:r.user,session:r},error:null}:{data:{user:null,session:null},error:null}}catch(e){if(isAuthError(e))return{data:{user:null,session:null},error:e};throw e}}))}_getSessionFromUrl(e){return c(this,void 0,void 0,(function*(){try{if(!isBrowser())throw new AuthImplicitGrantRedirectError(\"No browser detected.\");if(\"implicit\"===this.flowType&&!this._isImplicitGrantFlow())throw new AuthImplicitGrantRedirectError(\"Not a valid implicit grant flow url.\");if(\"pkce\"==this.flowType&&!e)throw new AuthPKCEGrantCodeExchangeError(\"Not a valid PKCE flow url.\");if(e){const e=getParameterByName(\"code\");if(!e)throw new AuthPKCEGrantCodeExchangeError(\"No code detected.\");const{data:t,error:r}=yield this.exchangeCodeForSession(e);if(r)throw r;if(!t.session)throw new AuthPKCEGrantCodeExchangeError(\"No session detected.\");let s=new URL(window.location.href);s.searchParams.delete(\"code\");window.history.replaceState(window.history.state,\"\",s.toString());return{data:{session:t.session,redirectType:null},error:null}}const t=getParameterByName(\"error_description\");if(t){const e=getParameterByName(\"error_code\");if(!e)throw new AuthImplicitGrantRedirectError(\"No error_code detected.\");const r=getParameterByName(\"error\");if(!r)throw new AuthImplicitGrantRedirectError(\"No error detected.\");throw new AuthImplicitGrantRedirectError(t,{error:r,code:e})}const r=getParameterByName(\"provider_token\");const s=getParameterByName(\"provider_refresh_token\");const i=getParameterByName(\"access_token\");if(!i)throw new AuthImplicitGrantRedirectError(\"No access_token detected.\");const o=getParameterByName(\"expires_in\");if(!o)throw new AuthImplicitGrantRedirectError(\"No expires_in detected.\");const n=getParameterByName(\"refresh_token\");if(!n)throw new AuthImplicitGrantRedirectError(\"No refresh_token detected.\");const a=getParameterByName(\"token_type\");if(!a)throw new AuthImplicitGrantRedirectError(\"No token_type detected.\");const l=Math.round(Date.now()/1e3);const d=l+parseInt(o);const{data:u,error:h}=yield this.getUser(i);if(h)throw h;const c=u.user;const f={provider_token:r,provider_refresh_token:s,access_token:i,expires_in:parseInt(o),expires_at:d,refresh_token:n,token_type:a,user:c};const v=getParameterByName(\"type\");window.location.hash=\"\";return{data:{session:f,redirectType:v},error:null}}catch(e){if(isAuthError(e))return{data:{session:null,redirectType:null},error:e};throw e}}))}_isImplicitGrantFlow(){return isBrowser()&&(Boolean(getParameterByName(\"access_token\"))||Boolean(getParameterByName(\"error_description\")))}_isPKCEFlow(){return c(this,void 0,void 0,(function*(){const e=yield getItemAsync(this.storage,`${this.storageKey}-code-verifier`);return Boolean(getParameterByName(\"code\"))&&Boolean(e)}))}signOut(){var e;return c(this,void 0,void 0,(function*(){const{data:t,error:r}=yield this.getSession();if(r)return{error:r};const s=null===(e=t.session)||void 0===e?void 0:e.access_token;if(s){const{error:e}=yield this.admin.signOut(s);if(e&&!(isAuthApiError(e)&&(404===e.status||401===e.status)))return{error:e}}yield this._removeSession();yield removeItemAsync(this.storage,`${this.storageKey}-code-verifier`);yield this._notifyAllSubscribers(\"SIGNED_OUT\",null);return{error:null}}))}\n/**\n     * Receive a notification every time an auth event happens.\n     * @param callback A callback function to be invoked when an auth event happens.\n     */onAuthStateChange(e){const t=uuid();const r={id:t,callback:e,unsubscribe:()=>{this.stateChangeEmitters.delete(t)}};this.stateChangeEmitters.set(t,r);this.emitInitialSession(t);return{data:{subscription:r}}}emitInitialSession(e){var t,r;return c(this,void 0,void 0,(function*(){try{const{data:{session:r},error:s}=yield this.getSession();if(s)throw s;yield null===(t=this.stateChangeEmitters.get(e))||void 0===t?void 0:t.callback(\"INITIAL_SESSION\",r)}catch(t){yield null===(r=this.stateChangeEmitters.get(e))||void 0===r?void 0:r.callback(\"INITIAL_SESSION\",null);console.error(t)}}))}\n/**\n     * Sends a password reset request to an email address.\n     * This method supports the PKCE flow.\n     * @param email The email address of the user.\n     * @param options.redirectTo The URL to send the user to after they click the password reset link.\n     * @param options.captchaToken Verification token received when the user completes the captcha on the site.\n     */resetPasswordForEmail(e,t={}){return c(this,void 0,void 0,(function*(){let r=null;let s=null;if(\"pkce\"===this.flowType){const e=generatePKCEVerifier();yield setItemAsync(this.storage,`${this.storageKey}-code-verifier`,e);r=yield generatePKCEChallenge(e);s=e===r?\"plain\":\"s256\"}try{return yield _request(this.fetch,\"POST\",`${this.url}/recover`,{body:{email:e,code_challenge:r,code_challenge_method:s,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}\n/**\n     * Generates a new JWT.\n     * @param refreshToken A valid refresh token that was returned on login.\n     */_refreshAccessToken(e){return c(this,void 0,void 0,(function*(){try{const t=Date.now();return yield retryable((t=>c(this,void 0,void 0,(function*(){yield sleep(200*t);return yield _request(this.fetch,\"POST\",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:_sessionResponse})}))),((e,r,s)=>s&&s.error&&s.error instanceof AuthRetryableFetchError&&Date.now()+200*(e+1)-t<v))}catch(e){if(isAuthError(e))return{data:{session:null,user:null},error:e};throw e}}))}_isValidSession(e){const t=\"object\"===typeof e&&null!==e&&\"access_token\"in e&&\"refresh_token\"in e&&\"expires_at\"in e;return t}_handleProviderSignIn(e,t){return c(this,void 0,void 0,(function*(){const r=yield this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});isBrowser()&&!t.skipBrowserRedirect&&window.location.assign(r);return{data:{provider:e,url:r},error:null}}))}_recoverAndRefresh(){var e;return c(this,void 0,void 0,(function*(){try{const t=yield getItemAsync(this.storage,this.storageKey);if(!this._isValidSession(t)){null!==t&&(yield this._removeSession());return}const r=Math.round(Date.now()/1e3);if((null!==(e=t.expires_at)&&void 0!==e?e:Infinity)<r+u){if(this.autoRefreshToken&&t.refresh_token){const{error:e}=yield this._callRefreshToken(t.refresh_token);if(e){console.log(e.message);yield this._removeSession()}}}else{this.persistSession&&(yield this._saveSession(t));yield this._notifyAllSubscribers(\"SIGNED_IN\",t)}}catch(e){console.error(e);return}}))}_callRefreshToken(e){var t,r;return c(this,void 0,void 0,(function*(){if(this.refreshingDeferred)return this.refreshingDeferred.promise;try{this.refreshingDeferred=new Deferred;if(!e)throw new AuthSessionMissingError;const{data:t,error:r}=yield this._refreshAccessToken(e);if(r)throw r;if(!t.session)throw new AuthSessionMissingError;yield this._saveSession(t.session);yield this._notifyAllSubscribers(\"TOKEN_REFRESHED\",t.session);const s={session:t.session,error:null};this.refreshingDeferred.resolve(s);return s}catch(e){if(isAuthError(e)){const r={session:null,error:e};null===(t=this.refreshingDeferred)||void 0===t?void 0:t.resolve(r);return r}null===(r=this.refreshingDeferred)||void 0===r?void 0:r.reject(e);throw e}finally{this.refreshingDeferred=null}}))}_notifyAllSubscribers(e,t,r=true){return c(this,void 0,void 0,(function*(){this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t});const s=[];const i=Array.from(this.stateChangeEmitters.values()).map((r=>c(this,void 0,void 0,(function*(){try{yield r.callback(e,t)}catch(e){s.push(e)}}))));yield Promise.all(i);if(s.length>0){for(let e=0;e<s.length;e+=1)console.error(s[e]);throw s[0]}}))}_saveSession(e){return c(this,void 0,void 0,(function*(){this.persistSession||(this.inMemorySession=e);this.persistSession&&e.expires_at&&(yield this._persistSession(e))}))}_persistSession(e){return setItemAsync(this.storage,this.storageKey,e)}_removeSession(){return c(this,void 0,void 0,(function*(){this.persistSession?yield removeItemAsync(this.storage,this.storageKey):this.inMemorySession=null}))}_removeVisibilityChangedCallback(){const e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&isBrowser()&&(null===window||void 0===window?void 0:window.removeEventListener)&&window.removeEventListener(\"visibilitychange\",e)}catch(e){console.error(\"removing visibilitychange callback failed\",e)}}_startAutoRefresh(){return c(this,void 0,void 0,(function*(){yield this._stopAutoRefresh();const e=setInterval((()=>this._autoRefreshTokenTick()),v);this.autoRefreshTicker=e;e&&\"object\"===typeof e&&\"function\"===typeof e.unref?e.unref():\"undefined\"!==typeof Deno&&\"function\"===typeof Deno.unrefTimer&&Deno.unrefTimer(e);yield this._autoRefreshTokenTick()}))}_stopAutoRefresh(){return c(this,void 0,void 0,(function*(){const e=this.autoRefreshTicker;this.autoRefreshTicker=null;e&&clearInterval(e)}))}startAutoRefresh(){return c(this,void 0,void 0,(function*(){this._removeVisibilityChangedCallback();yield this._startAutoRefresh()}))}stopAutoRefresh(){return c(this,void 0,void 0,(function*(){this._removeVisibilityChangedCallback();yield this._stopAutoRefresh()}))}_autoRefreshTokenTick(){return c(this,void 0,void 0,(function*(){const e=Date.now();try{const{data:{session:t}}=yield this.getSession();if(!t||!t.refresh_token||!t.expires_at)return;const r=Math.floor((1e3*t.expires_at-e)/v);r<y&&(yield this._callRefreshToken(t.refresh_token))}catch(e){console.error(\"Auto refresh tick failed with error. This is likely a transient error.\",e)}}))}_handleVisibilityChange(){return c(this,void 0,void 0,(function*(){if(!isBrowser()||!(null===window||void 0===window?void 0:window.addEventListener)){this.autoRefreshToken&&this.startAutoRefresh();return false}try{this.visibilityChangedCallback=()=>c(this,void 0,void 0,(function*(){return yield this._onVisibilityChanged(false)}));null===window||void 0===window?void 0:window.addEventListener(\"visibilitychange\",this.visibilityChangedCallback);yield this._onVisibilityChanged(true)}catch(e){console.error(\"_handleVisibilityChange\",e)}}))}_onVisibilityChanged(e){return c(this,void 0,void 0,(function*(){if(\"visible\"===document.visibilityState){if(!e){yield this.initializePromise;yield this._recoverAndRefresh()}this.autoRefreshToken&&this._startAutoRefresh()}else\"hidden\"===document.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh()}))}\n/**\n     * Generates the relevant login URL for a third-party provider.\n     * @param options.redirectTo A URL or mobile address to send the user to after they are confirmed.\n     * @param options.scopes A space-separated list of scopes granted to the OAuth application.\n     * @param options.queryParams An object of key-value pairs containing query parameters granted to the OAuth application.\n     */_getUrlForProvider(e,t){return c(this,void 0,void 0,(function*(){const r=[`provider=${encodeURIComponent(e)}`];(null===t||void 0===t?void 0:t.redirectTo)&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`);(null===t||void 0===t?void 0:t.scopes)&&r.push(`scopes=${encodeURIComponent(t.scopes)}`);if(\"pkce\"===this.flowType){const e=generatePKCEVerifier();yield setItemAsync(this.storage,`${this.storageKey}-code-verifier`,e);const t=yield generatePKCEChallenge(e);const s=e===t?\"plain\":\"s256\";const i=new URLSearchParams({code_challenge:`${encodeURIComponent(t)}`,code_challenge_method:`${encodeURIComponent(s)}`});r.push(i.toString())}if(null===t||void 0===t?void 0:t.queryParams){const e=new URLSearchParams(t.queryParams);r.push(e.toString())}return`${this.url}/authorize?${r.join(\"&\")}`}))}_unenroll(e){var t;return c(this,void 0,void 0,(function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield _request(this.fetch,\"DELETE\",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:null===(t=null===r||void 0===r?void 0:r.session)||void 0===t?void 0:t.access_token})}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}_enroll(e){var t,r;return c(this,void 0,void 0,(function*(){try{const{data:s,error:i}=yield this.getSession();if(i)return{data:null,error:i};const{data:o,error:n}=yield _request(this.fetch,\"POST\",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:null===(t=null===s||void 0===s?void 0:s.session)||void 0===t?void 0:t.access_token});if(n)return{data:null,error:n};(null===(r=null===o||void 0===o?void 0:o.totp)||void 0===r?void 0:r.qr_code)&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`);return{data:o,error:null}}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}_verify(e){var t;return c(this,void 0,void 0,(function*(){try{const{data:r,error:s}=yield this.getSession();if(s)return{data:null,error:s};const{data:i,error:o}=yield _request(this.fetch,\"POST\",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:null===(t=null===r||void 0===r?void 0:r.session)||void 0===t?void 0:t.access_token});if(o)return{data:null,error:o};yield this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+i.expires_in},i));yield this._notifyAllSubscribers(\"MFA_CHALLENGE_VERIFIED\",i);return{data:i,error:o}}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}_challenge(e){var t;return c(this,void 0,void 0,(function*(){try{const{data:r,error:s}=yield this.getSession();return s?{data:null,error:s}:yield _request(this.fetch,\"POST\",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:null===(t=null===r||void 0===r?void 0:r.session)||void 0===t?void 0:t.access_token})}catch(e){if(isAuthError(e))return{data:null,error:e};throw e}}))}_challengeAndVerify(e){return c(this,void 0,void 0,(function*(){const{data:t,error:r}=yield this._challenge({factorId:e.factorId});return r?{data:null,error:r}:yield this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}))}_listFactors(){return c(this,void 0,void 0,(function*(){const{data:{user:e},error:t}=yield this.getUser();if(t)return{data:null,error:t};const r=(null===e||void 0===e?void 0:e.factors)||[];const s=r.filter((e=>\"totp\"===e.factor_type&&\"verified\"===e.status));return{data:{all:r,totp:s},error:null}}))}_getAuthenticatorAssuranceLevel(){var e,t;return c(this,void 0,void 0,(function*(){const{data:{session:r},error:s}=yield this.getSession();if(s)return{data:null,error:s};if(!r)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const i=this._decodeJWT(r.access_token);let o=null;i.aal&&(o=i.aal);let n=o;const a=null!==(t=null===(e=r.user.factors)||void 0===e?void 0:e.filter((e=>\"verified\"===e.status)))&&void 0!==t?t:[];a.length>0&&(n=\"aal2\");const l=i.amr||[];return{data:{currentLevel:o,nextLevel:n,currentAuthenticationMethods:l},error:null}}))}}export{AuthApiError,AuthError,AuthImplicitGrantRedirectError,AuthInvalidCredentialsError,AuthInvalidTokenResponseError,AuthPKCEGrantCodeExchangeError,AuthRetryableFetchError,AuthSessionMissingError,AuthUnknownError,CustomAuthError,GoTrueAdminApi,GoTrueClient,isAuthApiError,isAuthError};\n\n//# sourceMappingURL=index.js.map","import{FunctionsClient as e}from\"@supabase/functions-js\";export{FunctionsError,FunctionsFetchError,FunctionsHttpError,FunctionsRelayError}from\"@supabase/functions-js\";import{PostgrestClient as t}from\"@supabase/postgrest-js\";import{RealtimeClient as s}from\"@supabase/realtime-js\";export*from\"@supabase/realtime-js\";import{StorageClient as n}from\"@supabase/storage-js\";import i,{Headers as a}from\"cross-fetch\";import{GoTrueClient as r}from\"@supabase/gotrue-js\";export*from\"@supabase/gotrue-js\";const o=\"2.25.0\";const l={\"X-Client-Info\":`supabase-js/${o}`};var u=(void 0,function(e,t,s,n){function adopt(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n.throw(e))}catch(e){i(e)}}function step(e){e.done?s(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))});const resolveFetch=e=>{let t;t=e||(\"undefined\"===typeof fetch?i:fetch);return(...e)=>t(...e)};const resolveHeadersConstructor=()=>\"undefined\"===typeof Headers?a:Headers;const fetchWithAuth=(e,t,s)=>{const n=resolveFetch(s);const i=resolveHeadersConstructor();return(s,a)=>u(void 0,void 0,void 0,(function*(){var r;const o=null!==(r=yield t())&&void 0!==r?r:e;let l=new i(null===a||void 0===a?void 0:a.headers);l.has(\"apikey\")||l.set(\"apikey\",e);l.has(\"Authorization\")||l.set(\"Authorization\",`Bearer ${o}`);return n(s,Object.assign(Object.assign({},a),{headers:l}))}))};function stripTrailingSlash(e){return e.replace(/\\/$/,\"\")}function applySettingDefaults(e,t){const{db:s,auth:n,realtime:i,global:a}=e;const{db:r,auth:o,realtime:l,global:u}=t;return{db:Object.assign(Object.assign({},r),s),auth:Object.assign(Object.assign({},o),n),realtime:Object.assign(Object.assign({},l),i),global:Object.assign(Object.assign({},u),a)}}class SupabaseAuthClient extends r{constructor(e){super(e)}}var h=(void 0,function(e,t,s,n){function adopt(e){return e instanceof s?e:new s((function(t){t(e)}))}return new(s||(s=Promise))((function(s,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n.throw(e))}catch(e){i(e)}}function step(e){e.done?s(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))});const c={headers:l};const d={schema:\"public\"};const p={autoRefreshToken:true,persistSession:true,detectSessionInUrl:true,flowType:\"implicit\"};const f={};class SupabaseClient{\n/**\n     * Create a new client for use in the browser.\n     * @param supabaseUrl The unique Supabase URL which is supplied when you create a new project in your project dashboard.\n     * @param supabaseKey The unique Supabase Key which is supplied when you create a new project in your project dashboard.\n     * @param options.db.schema You can switch in between schemas. The schema needs to be on the list of exposed schemas inside Supabase.\n     * @param options.auth.autoRefreshToken Set to \"true\" if you want to automatically refresh the token before expiring.\n     * @param options.auth.persistSession Set to \"true\" if you want to automatically save the user session into local storage.\n     * @param options.auth.detectSessionInUrl Set to \"true\" if you want to automatically detects OAuth grants in the URL and signs in the user.\n     * @param options.realtime Options passed along to realtime-js constructor.\n     * @param options.global.fetch A custom fetch implementation.\n     * @param options.global.headers Any additional headers to send with each network request.\n     */\nconstructor(e,s,n){var i,a,r,o,l,u,h,g;this.supabaseUrl=e;this.supabaseKey=s;if(!e)throw new Error(\"supabaseUrl is required.\");if(!s)throw new Error(\"supabaseKey is required.\");const b=stripTrailingSlash(e);this.realtimeUrl=`${b}/realtime/v1`.replace(/^http/i,\"ws\");this.authUrl=`${b}/auth/v1`;this.storageUrl=`${b}/storage/v1`;this.functionsUrl=`${b}/functions/v1`;const v=`sb-${new URL(this.authUrl).hostname.split(\".\")[0]}-auth-token`;const m={db:d,realtime:f,auth:Object.assign(Object.assign({},p),{storageKey:v}),global:c};const j=applySettingDefaults(null!==n&&void 0!==n?n:{},m);this.storageKey=null!==(a=null===(i=j.auth)||void 0===i?void 0:i.storageKey)&&void 0!==a?a:\"\";this.headers=null!==(o=null===(r=j.global)||void 0===r?void 0:r.headers)&&void 0!==o?o:{};this.auth=this._initSupabaseAuthClient(null!==(l=j.auth)&&void 0!==l?l:{},this.headers,null===(u=j.global)||void 0===u?void 0:u.fetch);this.fetch=fetchWithAuth(s,this._getAccessToken.bind(this),null===(h=j.global)||void 0===h?void 0:h.fetch);this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},j.realtime));this.rest=new t(`${b}/rest/v1`,{headers:this.headers,schema:null===(g=j.db)||void 0===g?void 0:g.schema,fetch:this.fetch});this._listenForAuthEvents()}get functions(){return new e(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new n(this.storageUrl,this.headers,this.fetch)}\n/**\n     * Perform a query on a table or a view.\n     *\n     * @param relation - The table or view name to query\n     */from(e){return this.rest.from(e)}\n/**\n     * Perform a function call.\n     *\n     * @param fn - The function name to call\n     * @param args - The arguments to pass to the function call\n     * @param options - Named parameters\n     * @param options.head - When set to `true`, `data` will not be returned.\n     * Useful if you only need the count.\n     * @param options.count - Count algorithm to use to count rows returned by the\n     * function. Only applicable for [set-returning\n     * functions](https://www.postgresql.org/docs/current/functions-srf.html).\n     *\n     * `\"exact\"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the\n     * hood.\n     *\n     * `\"planned\"`: Approximated but fast count algorithm. Uses the Postgres\n     * statistics under the hood.\n     *\n     * `\"estimated\"`: Uses exact count for low numbers and planned count for high\n     * numbers.\n     */rpc(e,t={},s){return this.rest.rpc(e,t,s)}\n/**\n     * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.\n     *\n     * @param {string} name - The name of the Realtime channel.\n     * @param {Object} opts - The options to pass to the Realtime channel.\n     *\n     */channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}\n/**\n     * Unsubscribes and removes Realtime channel from Realtime client.\n     *\n     * @param {RealtimeChannel} channel - The name of the Realtime channel.\n     *\n     */removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,t;return h(this,void 0,void 0,(function*(){const{data:s}=yield this.auth.getSession();return null!==(t=null===(e=s.session)||void 0===e?void 0:e.access_token)&&void 0!==t?t:null}))}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:n,storageKey:i,flowType:a},r,o){const l={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new SupabaseAuthClient({url:this.authUrl,headers:Object.assign(Object.assign({},l),r),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:n,flowType:a,fetch:o})}_initRealtimeClient(e){return new s(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},null===e||void 0===e?void 0:e.params)}))}_listenForAuthEvents(){let e=this.auth.onAuthStateChange(((e,t)=>{this._handleTokenChanged(e,null===t||void 0===t?void 0:t.access_token,\"CLIENT\")}));return e}_handleTokenChanged(e,t,s){if(\"TOKEN_REFRESHED\"!==e&&\"SIGNED_IN\"!==e||this.changedAccessToken===t){if(\"SIGNED_OUT\"===e){this.realtime.setAuth(this.supabaseKey);\"STORAGE\"==s&&this.auth.signOut();this.changedAccessToken=void 0}}else{this.realtime.setAuth(null!==t&&void 0!==t?t:null);this.changedAccessToken=t}}}const createClient=(e,t,s)=>new SupabaseClient(e,t,s);export{SupabaseClient,createClient};\n\n//# sourceMappingURL=index.js.map"],"mappings":"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"}