velloo 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +29 -7
  2. package/canvas/assets/index-BDBBHdHH.css +2 -0
  3. package/canvas/assets/index-QdsLJNY9.js +29 -0
  4. package/canvas/assets/{lucide-all-Bcm80WFX.js → lucide-all-R8DUyY-B.js} +1 -1
  5. package/canvas/index.html +2 -2
  6. package/chunk-0rdf6trc.js +2 -0
  7. package/{chunk-npsg7btt.js → chunk-0wafc9aw.js} +1 -1
  8. package/chunk-0wqxb8r9.js +3 -0
  9. package/{chunk-e6nhc3ay.js → chunk-10hap8kc.js} +1 -1
  10. package/chunk-18eqh3s1.js +2 -0
  11. package/chunk-19xyzep8.js +2 -0
  12. package/{chunk-7gtvstne.js → chunk-1h3gqy7w.js} +1 -1
  13. package/{chunk-vjrn10xr.js → chunk-33t0csxs.js} +2 -2
  14. package/{chunk-7xffbj5h.js → chunk-3ffs39e8.js} +1 -1
  15. package/chunk-42bj6r30.js +3 -0
  16. package/chunk-49w26e94.js +5 -0
  17. package/{chunk-7a45tn73.js → chunk-4pkw6d9n.js} +2 -2
  18. package/{chunk-ph94nrc8.js → chunk-4sjvdakg.js} +1 -1
  19. package/chunk-5f0xv80x.js +5 -0
  20. package/{chunk-2dm4x17z.js → chunk-5ma8zbty.js} +1 -1
  21. package/{chunk-t9ygewjx.js → chunk-5y9hem1j.js} +1 -1
  22. package/chunk-66qgm91k.js +708 -0
  23. package/{chunk-dj1pp4e3.js → chunk-675tr675.js} +1 -1
  24. package/{chunk-jwzhhhzn.js → chunk-6cgvzwec.js} +1 -1
  25. package/chunk-6k05kqnc.js +3 -0
  26. package/{chunk-py6sjyzk.js → chunk-6ytv1v2r.js} +1 -1
  27. package/{chunk-2h24va0j.js → chunk-75sc3adm.js} +1 -1
  28. package/chunk-7cexzg71.js +2 -0
  29. package/chunk-98rann8t.js +2 -0
  30. package/{chunk-b58pnj20.js → chunk-a16mz9zf.js} +1 -1
  31. package/{chunk-m1wp8cpt.js → chunk-afe25dpr.js} +1 -1
  32. package/{chunk-k3dpwjx4.js → chunk-ahm4zd56.js} +1 -1
  33. package/chunk-asvdqkdp.js +6 -0
  34. package/{chunk-rfrbnw8r.js → chunk-b3x80jc1.js} +1 -1
  35. package/{chunk-tr49kraa.js → chunk-cdqah1hy.js} +1 -1
  36. package/{chunk-r03aywsb.js → chunk-cqt1dpxd.js} +1 -1
  37. package/{chunk-xbhxzdat.js → chunk-d4r0myxr.js} +1 -1
  38. package/{chunk-km3z2czq.js → chunk-d9kx7v12.js} +1 -1
  39. package/{chunk-2y9nnzpr.js → chunk-df557bn4.js} +1 -1
  40. package/{chunk-6zr596r2.js → chunk-edgwx026.js} +1 -1
  41. package/chunk-emv1j50t.js +2 -0
  42. package/{chunk-jep31ffe.js → chunk-ewgdcgrk.js} +1 -1
  43. package/chunk-f45p6kcb.js +2 -0
  44. package/{chunk-b4jy4hcd.js → chunk-gn9wcc1b.js} +1 -1
  45. package/{chunk-cejmmx3r.js → chunk-hr3gbak5.js} +2 -2
  46. package/{chunk-91pajfnm.js → chunk-j7tzbt3d.js} +1 -1
  47. package/chunk-mm8wv3bg.js +3 -0
  48. package/chunk-nbbnb5e9.js +3 -0
  49. package/{chunk-a9mgvspm.js → chunk-ngbqd7kb.js} +32 -12
  50. package/chunk-nkqtnwzz.js +2 -0
  51. package/{chunk-2jbhv7vh.js → chunk-q3kf8243.js} +1 -1
  52. package/{chunk-8t5phg0s.js → chunk-qpv28z8d.js} +1 -1
  53. package/{chunk-hsrg23gd.js → chunk-rd65xm6r.js} +1 -1
  54. package/{chunk-aa3str7g.js → chunk-ryga3ny1.js} +1 -1
  55. package/{chunk-cvn689d5.js → chunk-sb5h27w9.js} +2 -2
  56. package/chunk-tw4kw4ps.js +22 -0
  57. package/chunk-v6c3h9ft.js +3 -0
  58. package/chunk-vgx47anc.js +3 -0
  59. package/chunk-vrvkvb0v.js +244 -0
  60. package/{chunk-db7mf114.js → chunk-vryadew3.js} +9 -7
  61. package/chunk-w6f40y2x.js +11 -0
  62. package/{chunk-0446t32z.js → chunk-we8hvy6e.js} +1 -1
  63. package/{chunk-ykdx12na.js → chunk-wkqrb2tz.js} +1 -1
  64. package/{chunk-r9ekd92e.js → chunk-xzkczmgg.js} +1 -1
  65. package/{chunk-yfttm20w.js → chunk-ycrddh47.js} +1 -1
  66. package/{chunk-j5axqyan.js → chunk-z78c1kf8.js} +1 -1
  67. package/cli.js +1 -1
  68. package/package.json +3 -1
  69. package/pkgs/provider-html/src/index.ts +68 -0
  70. package/pkgs/provider-html/src/registry.ts +121 -0
  71. package/pkgs/provider-html/src/version.ts +1 -0
  72. package/pkgs/provider-none/src/components-inline.tsx +12 -3
  73. package/pkgs/provider-none/src/components.tsx +11 -3
  74. package/pkgs/provider-none/src/manifest.ts +1 -0
  75. package/pkgs/schema/src/config.ts +33 -1
  76. package/pkgs/schema/src/css-declarations.ts +41 -0
  77. package/pkgs/schema/src/index.ts +3 -0
  78. package/pkgs/schema/src/theme.ts +40 -0
  79. package/plugins/claude/velloo/agents/velloo-design-reviewer.md +56 -13
  80. package/plugins/claude/velloo/agents/velloo-designer.md +4 -1
  81. package/skills/velloo-setup/SKILL.md +19 -55
  82. package/canvas/assets/index-B1OD0Yz5.css +0 -2
  83. package/canvas/assets/index-BWYFx2Rr.js +0 -29
  84. package/chunk-00t0bz7x.js +0 -244
  85. package/chunk-0zen7bzb.js +0 -3
  86. package/chunk-5ywkk7d6.js +0 -2
  87. package/chunk-b7famda5.js +0 -3
  88. package/chunk-f5g45xed.js +0 -2
  89. package/chunk-fjbzk4sw.js +0 -3
  90. package/chunk-hv52a6hf.js +0 -2
  91. package/chunk-mcymwefw.js +0 -5
  92. package/chunk-n0kx20s2.js +0 -2
  93. package/chunk-nwf2kn41.js +0 -26
  94. package/chunk-phz993p3.js +0 -2
  95. package/chunk-qan5dnjt.js +0 -688
  96. package/chunk-r5d0jsnd.js +0 -5
  97. package/chunk-shac6bat.js +0 -6
  98. package/chunk-t4zvcece.js +0 -10
  99. package/chunk-tarws372.js +0 -2
  100. package/chunk-yghypth2.js +0 -2
  101. package/chunk-zqtz23xk.js +0 -3
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{manifestPath}from"./chunk-cvn689d5.js";import{clsx,cn,Box,require_react_jsx_dev_runtime_development,Divider,Gradient,Heading,Icon,Image2,Layer,Placeholder,Prose,SVG,Text}from"./chunk-qan5dnjt.js";import{require_react_jsx_runtime_development}from"./chunk-8t5phg0s.js";import{require_react_development,require_react_dom}from"./chunk-a9mgvspm.js";import{__toESM,__commonJS,__export}from"./chunk-2smsg2ct.js";var require_tslib=__commonJS(function(exports,module){var __extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources,__rewriteRelativeImportExtension;(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(exports2){factory(createExporter(root,createExporter(exports2)))});else if(typeof module==="object"&&typeof exports==="object")factory(createExporter(root,createExporter(exports)));else factory(createExporter(root));function createExporter(exports2,previous){if(exports2!==root)if(typeof Object.create==="function")Object.defineProperty(exports2,"__esModule",{value:!0});else exports2.__esModule=!0;return function(id,v){return exports2[id]=previous?previous(id,v):v}}})(function(exporter){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)},__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t},__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++)if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t},__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r},__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),_,done=!1;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result))if(kind==="field")initializers.unshift(_);else descriptor[key]=_}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=!0},__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0},__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)},__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:!0,value:prefix?"".concat(prefix," ",name):name})},__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)},__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})},__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g.throw=verb(1),g.return=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if((t=_.trys,!(t=t.length>0&&t[t.length-1]))&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1],t=op;break}if(t&&_.label<t[2]){_.label=t[2],_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e],y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:!0}}},__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)},__createBinding=Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]},__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i.return))m.call(i)}finally{if(e)throw e.error}}return ar},__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar},__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r},__spreadArray=function(to,from,pack){if(pack||arguments.length===2){for(var i=0,l=from.length,ar;i<l;i++)if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))},__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)},__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){if(i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})},f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}},__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:!1}:f?f(v):v}:f}},__asyncValues=function(o){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}},__makeTemplateObject=function(cooked,raw){if(Object.defineProperty)Object.defineProperty(cooked,"raw",{value:raw});else cooked.raw=raw;return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v},ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)if(Object.prototype.hasOwnProperty.call(o,k))ar[ar.length]=k;return ar},ownKeys(o)};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k=ownKeys(mod),i=0;i<k.length;i++)if(k[i]!=="default")__createBinding(result,mod,k[i])}return __setModuleDefault(result,mod),result},__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}},__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)},__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw TypeError("Private method is not writable");if(kind==="a"&&!f)throw TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value},__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)},__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw TypeError("Object expected.");var dispose,inner;if(async){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(dispose=value[Symbol.dispose],async)inner=dispose}if(typeof dispose!=="function")throw TypeError("Object not disposable.");if(inner)dispose=function(){try{inner.call(this)}catch(e){return Promise.reject(e)}};env.stack.push({value,dispose,async})}else if(async)env.stack.push({async:!0});return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e,env.hasError=!0}var r,s=0;function next(){while(r=env.stack.pop())try{if(!r.async&&s===1)return s=0,env.stack.push(r),Promise.resolve().then(next);if(r.dispose){var result=r.dispose.call(r.value);if(r.async)return s|=2,Promise.resolve(result).then(next,function(e){return fail(e),next()})}else s|=1}catch(e){fail(e)}if(s===1)return env.hasError?Promise.reject(env.error):Promise.resolve();if(env.hasError)throw env.error}return next()},__rewriteRelativeImportExtension=function(path,preserveJsx){if(typeof path==="string"&&/^\.\.?\//.test(path))return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"});return path},exporter("__extends",__extends),exporter("__assign",__assign),exporter("__rest",__rest),exporter("__decorate",__decorate),exporter("__param",__param),exporter("__esDecorate",__esDecorate),exporter("__runInitializers",__runInitializers),exporter("__propKey",__propKey),exporter("__setFunctionName",__setFunctionName),exporter("__metadata",__metadata),exporter("__awaiter",__awaiter),exporter("__generator",__generator),exporter("__exportStar",__exportStar),exporter("__createBinding",__createBinding),exporter("__values",__values),exporter("__read",__read),exporter("__spread",__spread),exporter("__spreadArrays",__spreadArrays),exporter("__spreadArray",__spreadArray),exporter("__await",__await),exporter("__asyncGenerator",__asyncGenerator),exporter("__asyncDelegator",__asyncDelegator),exporter("__asyncValues",__asyncValues),exporter("__makeTemplateObject",__makeTemplateObject),exporter("__importStar",__importStar),exporter("__importDefault",__importDefault),exporter("__classPrivateFieldGet",__classPrivateFieldGet),exporter("__classPrivateFieldSet",__classPrivateFieldSet),exporter("__classPrivateFieldIn",__classPrivateFieldIn),exporter("__addDisposableResource",__addDisposableResource),exporter("__disposeResources",__disposeResources),exporter("__rewriteRelativeImportExtension",__rewriteRelativeImportExtension)})});var require_tslib2=__commonJS(function(exports,module){/*! *****************************************************************************
2
+ import{manifestPath}from"./chunk-sb5h27w9.js";import{cn,Box,require_react_jsx_dev_runtime_development,Divider,Gradient,Heading,Icon,Image2,Layer,Placeholder,Prose,SVG,Text}from"./chunk-66qgm91k.js";import{require_react_development,require_react_dom}from"./chunk-ngbqd7kb.js";import{__toESM,__commonJS,__export}from"./chunk-2smsg2ct.js";import{require_react_jsx_runtime_development}from"./chunk-qpv28z8d.js";var require_tslib=__commonJS(function(exports,module){var __extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources,__rewriteRelativeImportExtension;(function(factory){var root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(exports2){factory(createExporter(root,createExporter(exports2)))});else if(typeof module==="object"&&typeof exports==="object")factory(createExporter(root,createExporter(exports)));else factory(createExporter(root));function createExporter(exports2,previous){if(exports2!==root)if(typeof Object.create==="function")Object.defineProperty(exports2,"__esModule",{value:!0});else exports2.__esModule=!0;return function(id,v){return exports2[id]=previous?previous(id,v):v}}})(function(exporter){var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)},__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t},__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++)if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t},__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r},__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}},__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value",target=!descriptorIn&&ctor?contextIn.static?ctor:ctor.prototype:null,descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{}),_,done=!1;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result))if(kind==="field")initializers.unshift(_);else descriptor[key]=_}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=!0},__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++)value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg);return useValue?value:void 0},__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)},__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:!0,value:prefix?"".concat(prefix," ",name):name})},__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)},__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})},__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return g.next=verb(0),g.throw=verb(1),g.return=verb(2),typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if((t=_.trys,!(t=t.length>0&&t[t.length-1]))&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1],t=op;break}if(t&&_.label<t[2]){_.label=t[2],_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e],y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:!0}}},__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)},__createBinding=Object.create?function(o,m,k,k2){if(k2===void 0)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))desc={enumerable:!0,get:function(){return m[k]}};Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===void 0)k2=k;o[k2]=m[k]},__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i.return))m.call(i)}finally{if(e)throw e.error}}return ar},__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar},__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r},__spreadArray=function(to,from,pack){if(pack||arguments.length===2){for(var i=0,l=from.length,ar;i<l;i++)if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))},__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)},__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){if(i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})},f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}},__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:!1}:f?f(v):v}:f}},__asyncValues=function(o){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}},__makeTemplateObject=function(cooked,raw){if(Object.defineProperty)Object.defineProperty(cooked,"raw",{value:raw});else cooked.raw=raw;return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v},ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o){var ar=[];for(var k in o)if(Object.prototype.hasOwnProperty.call(o,k))ar[ar.length]=k;return ar},ownKeys(o)};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null){for(var k=ownKeys(mod),i=0;i<k.length;i++)if(k[i]!=="default")__createBinding(result,mod,k[i])}return __setModuleDefault(result,mod),result},__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}},__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)},__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw TypeError("Private method is not writable");if(kind==="a"&&!f)throw TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value},__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)},__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw TypeError("Object expected.");var dispose,inner;if(async){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(dispose=value[Symbol.dispose],async)inner=dispose}if(typeof dispose!=="function")throw TypeError("Object not disposable.");if(inner)dispose=function(){try{inner.call(this)}catch(e){return Promise.reject(e)}};env.stack.push({value,dispose,async})}else if(async)env.stack.push({async:!0});return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e,env.hasError=!0}var r,s=0;function next(){while(r=env.stack.pop())try{if(!r.async&&s===1)return s=0,env.stack.push(r),Promise.resolve().then(next);if(r.dispose){var result=r.dispose.call(r.value);if(r.async)return s|=2,Promise.resolve(result).then(next,function(e){return fail(e),next()})}else s|=1}catch(e){fail(e)}if(s===1)return env.hasError?Promise.reject(env.error):Promise.resolve();if(env.hasError)throw env.error}return next()},__rewriteRelativeImportExtension=function(path,preserveJsx){if(typeof path==="string"&&/^\.\.?\//.test(path))return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"});return path},exporter("__extends",__extends),exporter("__assign",__assign),exporter("__rest",__rest),exporter("__decorate",__decorate),exporter("__param",__param),exporter("__esDecorate",__esDecorate),exporter("__runInitializers",__runInitializers),exporter("__propKey",__propKey),exporter("__setFunctionName",__setFunctionName),exporter("__metadata",__metadata),exporter("__awaiter",__awaiter),exporter("__generator",__generator),exporter("__exportStar",__exportStar),exporter("__createBinding",__createBinding),exporter("__values",__values),exporter("__read",__read),exporter("__spread",__spread),exporter("__spreadArrays",__spreadArrays),exporter("__spreadArray",__spreadArray),exporter("__await",__await),exporter("__asyncGenerator",__asyncGenerator),exporter("__asyncDelegator",__asyncDelegator),exporter("__asyncValues",__asyncValues),exporter("__makeTemplateObject",__makeTemplateObject),exporter("__importStar",__importStar),exporter("__importDefault",__importDefault),exporter("__classPrivateFieldGet",__classPrivateFieldGet),exporter("__classPrivateFieldSet",__classPrivateFieldSet),exporter("__classPrivateFieldIn",__classPrivateFieldIn),exporter("__addDisposableResource",__addDisposableResource),exporter("__disposeResources",__disposeResources),exporter("__rewriteRelativeImportExtension",__rewriteRelativeImportExtension)})});var require_tslib2=__commonJS(function(exports,module){/*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
@@ -57,7 +57,7 @@ PERFORMANCE OF THIS SOFTWARE.
57
57
  - less than the value passed to \`max\` (or ${DEFAULT_MAX} if no \`max\` prop is set)
58
58
  - \`null\` or \`undefined\` if the progress is indeterminate.
59
59
 
60
- Defaulting to \`null\`.`}__name37(getInvalidValueError,"getInvalidValueError");var Root7=Progress,Indicator2=ProgressIndicator;var React211=__toESM(require_react_development(),1);var React48=__toESM(require_react_development(),1);var import_jsx_runtime27=__toESM(require_react_jsx_runtime_development(),1),import_jsx_runtime28=__toESM(require_react_jsx_runtime_development(),1),__defProp38=Object.defineProperty,__name38=(target,value)=>__defProp38(target,"name",{value,configurable:!0}),RADIO_NAME="Radio",[createRadioContext,createRadioScope]=createContextScope(RADIO_NAME),[RadioProviderImpl,useRadioContext]=createRadioContext(RADIO_NAME);function RadioProvider(props){let{__scopeRadio,checked=!1,children,disabled,form,name,onCheck,required,value="on",internal_do_not_use_render}=props,[control,setControl]=React48.useState(null),[bubbleInput,setBubbleInput]=React48.useState(null),hasConsumerStoppedPropagationRef=React48.useRef(!1),[userInteractionCount,onUserInteraction]=React48.useReducer((count)=>count+1,0),isFormControl=control?!!form||!!control.closest("form"):!0,context={checked,disabled,required,name,form,value,control,setControl,hasConsumerStoppedPropagationRef,userInteractionCount,onUserInteraction,isFormControl,bubbleInput,setBubbleInput,onCheck:__name38(()=>onCheck?.(),"onCheck")};return import_jsx_runtime27.jsx(RadioProviderImpl,{scope:__scopeRadio,...context,children:isFunction3(internal_do_not_use_render)?internal_do_not_use_render(context):children})}__name38(RadioProvider,"RadioProvider");var TRIGGER_NAME11="RadioTrigger",RadioTrigger=React48.forwardRef(__name38(function({__scopeRadio,onClick,...radioProps},forwardedRef){let{checked,disabled,value,setControl,onCheck,hasConsumerStoppedPropagationRef,onUserInteraction,isFormControl,bubbleInput}=useRadioContext(TRIGGER_NAME11,__scopeRadio),composedRefs=useComposedRefs(forwardedRef,setControl);return import_jsx_runtime27.jsx(Primitive.button,{type:"button",role:"radio","aria-checked":checked,"data-state":getState6(checked),"data-disabled":disabled?"":void 0,disabled,value,...radioProps,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(!checked)onUserInteraction(),onCheck();if(bubbleInput&&isFormControl){if(hasConsumerStoppedPropagationRef.current=event.isPropagationStopped(),!hasConsumerStoppedPropagationRef.current)event.stopPropagation()}})})},"RadioTrigger")),INDICATOR_NAME4="RadioIndicator",RadioIndicator=React48.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadio,forceMount,...indicatorProps}=props,context=useRadioContext(INDICATOR_NAME4,__scopeRadio);return import_jsx_runtime27.jsx(Presence,{present:forceMount||context.checked,children:import_jsx_runtime27.jsx(Primitive.span,{"data-state":getState6(context.checked),"data-disabled":context.disabled?"":void 0,...indicatorProps,ref:forwardedRef})})},"RadioIndicator")),BUBBLE_INPUT_NAME2="RadioBubbleInput",RadioBubbleInput=React48.forwardRef(__name38(function({__scopeRadio,onClick,...props},forwardedRef){let{control,checked,required,disabled,name,value,form,bubbleInput,setBubbleInput,hasConsumerStoppedPropagationRef,userInteractionCount}=useRadioContext(BUBBLE_INPUT_NAME2,__scopeRadio),composedRefs=useComposedRefs(forwardedRef,setBubbleInput),controlSize=useSize(control),shouldStopClickPropagationRef=React48.useRef(!1),prevCheckedRef=React48.useRef(checked),prevUserInteractionCountRef=React48.useRef(userInteractionCount);React48.useEffect(()=>{let input=bubbleInput;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setChecked=Object.getOwnPropertyDescriptor(inputProto,"checked").set,isUserInteraction=userInteractionCount!==prevUserInteractionCountRef.current;prevUserInteractionCountRef.current=userInteractionCount;let checkedChanged=prevCheckedRef.current!==checked;prevCheckedRef.current=checked;let bubbles=!(isUserInteraction&&hasConsumerStoppedPropagationRef.current);if(checkedChanged&&setChecked){shouldStopClickPropagationRef.current=!isUserInteraction;let event=new Event("click",{bubbles});setChecked.call(input,checked),input.dispatchEvent(event),shouldStopClickPropagationRef.current=!1}},[bubbleInput,checked,hasConsumerStoppedPropagationRef,userInteractionCount]);let defaultCheckedRef=React48.useRef(checked);return import_jsx_runtime27.jsx(Primitive.input,{type:"radio","aria-hidden":!0,defaultChecked:defaultCheckedRef.current,required,disabled,name,value,form,...props,tabIndex:-1,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(shouldStopClickPropagationRef.current)event.stopPropagation()}),style:{...props.style,...controlSize,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function isFunction3(value){return typeof value==="function"}__name38(isFunction3,"isFunction");function getState6(checked){return checked?"checked":"unchecked"}__name38(getState6,"getState");var ARROW_KEYS2=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],RADIO_GROUP_NAME2="RadioGroup",[createRadioGroupContext,createRadioGroupScope]=createContextScope(RADIO_GROUP_NAME2,[createRovingFocusGroupScope,createRadioScope]),useRovingFocusGroupScope3=createRovingFocusGroupScope(),useRadioScope=createRadioScope(),[RadioGroupProvider2,useRadioGroupContext2]=createRadioGroupContext(RADIO_GROUP_NAME2),RadioGroup2=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,name,form,defaultValue,value:valueProp,required=!1,disabled=!1,orientation,dir,loop=!0,onValueChange,...groupProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope3(__scopeRadioGroup),direction=useDirection(dir),[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??null,onChange:onValueChange,caller:RADIO_GROUP_NAME2}),[control,setControl]=React211.useState(null),composedRefs=useComposedRefs(forwardedRef,setControl),initialValueRef=React211.useRef(value);return React211.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.closest("form");if(associatedForm instanceof HTMLFormElement){let reset=__name38(()=>setValue(initialValueRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setValue]),import_jsx_runtime28.jsx(RadioGroupProvider2,{scope:__scopeRadioGroup,name,form,required,disabled,value,onValueChange:setValue,children:import_jsx_runtime28.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation,dir:direction,loop,children:import_jsx_runtime28.jsx(Primitive.div,{role:"radiogroup","aria-required":required,"aria-orientation":orientation,"data-disabled":disabled?"":void 0,dir:direction,...groupProps,ref:composedRefs})})})},"RadioGroup")),ITEM_PROVIDER_NAME="RadioGroupItemProvider",ITEM_TRIGGER_NAME="RadioGroupItemTrigger";function RadioGroupItemProvider(props){let{__scopeRadioGroup,value,disabled,children,internal_do_not_use_render}=props,context=useRadioGroupContext2(ITEM_PROVIDER_NAME,__scopeRadioGroup),radioScope=useRadioScope(__scopeRadioGroup),isDisabled=context.disabled||disabled;return import_jsx_runtime28.jsx(RadioProvider,{...radioScope,checked:context.value===value,disabled:isDisabled,required:context.required,name:context.name,form:context.form,value,onCheck:()=>context.onValueChange(value),internal_do_not_use_render,children})}__name38(RadioGroupItemProvider,"RadioGroupItemProvider");var RadioGroupItemTrigger=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...triggerProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope3(__scopeRadioGroup),radioScope=useRadioScope(__scopeRadioGroup),{checked,disabled}=useRadioContext(ITEM_TRIGGER_NAME,radioScope.__scopeRadio),ref=React211.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),isArrowKeyPressedRef=React211.useRef(!1);return React211.useEffect(()=>{let handleKeyDown=__name38((event)=>{if(ARROW_KEYS2.includes(event.key))isArrowKeyPressedRef.current=!0},"handleKeyDown"),handleKeyUp=__name38(()=>isArrowKeyPressedRef.current=!1,"handleKeyUp");return document.addEventListener("keydown",handleKeyDown),document.addEventListener("keyup",handleKeyUp),()=>{document.removeEventListener("keydown",handleKeyDown),document.removeEventListener("keyup",handleKeyUp)}},[]),import_jsx_runtime28.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:checked,children:import_jsx_runtime28.jsx(RadioTrigger,{...radioScope,...triggerProps,ref:composedRefs,onKeyDown:composeEventHandlers(triggerProps.onKeyDown,(event)=>{if(event.key==="Enter")event.preventDefault()}),onFocus:composeEventHandlers(triggerProps.onFocus,()=>{if(isArrowKeyPressedRef.current)ref.current?.click()})})})},"RadioGroupItemTrigger")),RadioGroupItem=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,value,disabled,...itemProps}=props;return import_jsx_runtime28.jsx(RadioGroupItemProvider,{__scopeRadioGroup,value,disabled,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime28.jsxs(import_jsx_runtime28.Fragment,{children:[import_jsx_runtime28.jsx(RadioGroupItemTrigger,{...itemProps,ref:forwardedRef,__scopeRadioGroup}),isFormControl&&import_jsx_runtime28.jsx(RadioGroupItemBubbleInput,{__scopeRadioGroup})]})})},"RadioGroupItem")),RadioGroupItemBubbleInput=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...bubbleProps}=props,radioScope=useRadioScope(__scopeRadioGroup);return import_jsx_runtime28.jsx(RadioBubbleInput,{...radioScope,...bubbleProps,ref:forwardedRef})},"RadioGroupItemBubbleInput")),RadioGroupIndicator=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...indicatorProps}=props,radioScope=useRadioScope(__scopeRadioGroup);return import_jsx_runtime28.jsx(RadioIndicator,{...radioScope,...indicatorProps,ref:forwardedRef})},"RadioGroupIndicator"));var React212=__toESM(require_react_development(),1);var __defProp39=Object.defineProperty,__name39=(target,value)=>__defProp39(target,"name",{value,configurable:!0});function clamp(value,[min,max]){return Math.min(max,Math.max(min,value))}__name39(clamp,"clamp");var React49=__toESM(require_react_development(),1),import_jsx_runtime29=__toESM(require_react_jsx_runtime_development(),1),__defProp40=Object.defineProperty,__name40=(target,value)=>__defProp40(target,"name",{value,configurable:!0});function useStateMachine2(initialState,machine){return React49.useReducer((state,event)=>machine[state][event]??state,initialState)}__name40(useStateMachine2,"useStateMachine");var SCROLL_AREA_NAME="ScrollArea",[createScrollAreaContext,createScrollAreaScope]=createContextScope(SCROLL_AREA_NAME),[ScrollAreaProvider,useScrollAreaContext]=createScrollAreaContext(SCROLL_AREA_NAME),ScrollArea=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,type="hover",dir,scrollHideDelay=600,...scrollAreaProps}=props,[scrollArea,setScrollArea]=React212.useState(null),[viewport,setViewport]=React212.useState(null),[content,setContent]=React212.useState(null),[scrollbarX,setScrollbarX]=React212.useState(null),[scrollbarY,setScrollbarY]=React212.useState(null),[cornerWidth,setCornerWidth]=React212.useState(0),[cornerHeight,setCornerHeight]=React212.useState(0),[scrollbarXEnabled,setScrollbarXEnabled]=React212.useState(!1),[scrollbarYEnabled,setScrollbarYEnabled]=React212.useState(!1),composedRefs=useComposedRefs(forwardedRef,setScrollArea),direction=useDirection(dir);return import_jsx_runtime29.jsx(ScrollAreaProvider,{scope:__scopeScrollArea,type,dir:direction,scrollHideDelay,scrollArea,viewport,onViewportChange:setViewport,content,onContentChange:setContent,scrollbarX,onScrollbarXChange:setScrollbarX,scrollbarXEnabled,onScrollbarXEnabledChange:setScrollbarXEnabled,scrollbarY,onScrollbarYChange:setScrollbarY,scrollbarYEnabled,onScrollbarYEnabledChange:setScrollbarYEnabled,onCornerWidthChange:setCornerWidth,onCornerHeightChange:setCornerHeight,children:import_jsx_runtime29.jsx(Primitive.div,{dir:direction,...scrollAreaProps,ref:composedRefs,style:{position:"relative","--radix-scroll-area-corner-width":cornerWidth+"px","--radix-scroll-area-corner-height":cornerHeight+"px",...props.style}})})},"ScrollArea")),VIEWPORT_NAME2="ScrollAreaViewport",ScrollAreaViewport=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,children,nonce,...viewportProps}=props,context=useScrollAreaContext(VIEWPORT_NAME2,__scopeScrollArea),ref=React212.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref,context.onViewportChange);return import_jsx_runtime29.jsxs(import_jsx_runtime29.Fragment,{children:[import_jsx_runtime29.jsx(ScrollAreaViewportStyle,{nonce}),import_jsx_runtime29.jsx(Primitive.div,{"data-radix-scroll-area-viewport":"",...viewportProps,ref:composedRefs,style:{overflowX:context.scrollbarXEnabled?"scroll":"hidden",overflowY:context.scrollbarYEnabled?"scroll":"hidden",...props.style},children:import_jsx_runtime29.jsx("div",{ref:context.onContentChange,style:{minWidth:"100%",display:"table"},children})})]})},"ScrollAreaViewport")),ScrollAreaViewportStyle=React212.memo(__name40(function({nonce}){return import_jsx_runtime29.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce})},"ScrollAreaViewportStyle"),(prevProps,nextProps)=>prevProps.nonce===nextProps.nonce),SCROLLBAR_NAME="ScrollAreaScrollbar",ScrollAreaScrollbar=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),{onScrollbarXEnabledChange,onScrollbarYEnabledChange}=context,isHorizontal=props.orientation==="horizontal";return React212.useEffect(()=>(isHorizontal?onScrollbarXEnabledChange(!0):onScrollbarYEnabledChange(!0),()=>{isHorizontal?onScrollbarXEnabledChange(!1):onScrollbarYEnabledChange(!1)}),[isHorizontal,onScrollbarXEnabledChange,onScrollbarYEnabledChange]),context.type==="hover"?import_jsx_runtime29.jsx(ScrollAreaScrollbarHover,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="scroll"?import_jsx_runtime29.jsx(ScrollAreaScrollbarScroll,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="auto"?import_jsx_runtime29.jsx(ScrollAreaScrollbarAuto,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="always"?import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{...scrollbarProps,ref:forwardedRef,"data-state":"visible"}):null},"ScrollAreaScrollbar")),ScrollAreaScrollbarHover=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[visible,setVisible]=React212.useState(!1);return React212.useEffect(()=>{let scrollArea=context.scrollArea,hideTimer=0;if(scrollArea){let handlePointerEnter=__name40(()=>{window.clearTimeout(hideTimer),setVisible(!0)},"handlePointerEnter"),handlePointerLeave=__name40(()=>{hideTimer=window.setTimeout(()=>setVisible(!1),context.scrollHideDelay)},"handlePointerLeave");return scrollArea.addEventListener("pointerenter",handlePointerEnter),scrollArea.addEventListener("pointerleave",handlePointerLeave),()=>{window.clearTimeout(hideTimer),scrollArea.removeEventListener("pointerenter",handlePointerEnter),scrollArea.removeEventListener("pointerleave",handlePointerLeave)}}},[context.scrollArea,context.scrollHideDelay]),import_jsx_runtime29.jsx(Presence,{present:forceMount||visible,children:import_jsx_runtime29.jsx(ScrollAreaScrollbarAuto,{"data-state":visible?"visible":"hidden",...scrollbarProps,ref:forwardedRef})})},"ScrollAreaScrollbarHover")),ScrollAreaScrollbarScroll=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),isHorizontal=props.orientation==="horizontal",debounceScrollEnd=useDebounceCallback(()=>send("SCROLL_END"),100),[state,send]=useStateMachine2("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return React212.useEffect(()=>{if(state==="idle"){let hideTimer=window.setTimeout(()=>send("HIDE"),context.scrollHideDelay);return()=>window.clearTimeout(hideTimer)}},[state,context.scrollHideDelay,send]),React212.useEffect(()=>{let viewport=context.viewport,scrollDirection=isHorizontal?"scrollLeft":"scrollTop";if(viewport){let prevScrollPos=viewport[scrollDirection],handleScroll=__name40(()=>{let scrollPos=viewport[scrollDirection];if(prevScrollPos!==scrollPos)send("SCROLL"),debounceScrollEnd();prevScrollPos=scrollPos},"handleScroll");return viewport.addEventListener("scroll",handleScroll),()=>viewport.removeEventListener("scroll",handleScroll)}},[context.viewport,isHorizontal,send,debounceScrollEnd]),import_jsx_runtime29.jsx(Presence,{present:forceMount||state!=="hidden",children:import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{"data-state":state==="hidden"?"hidden":"visible",...scrollbarProps,ref:forwardedRef,onPointerEnter:composeEventHandlers(props.onPointerEnter,()=>send("POINTER_ENTER")),onPointerLeave:composeEventHandlers(props.onPointerLeave,()=>send("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),ScrollAreaScrollbarAuto=React212.forwardRef(__name40(function(props,forwardedRef){let context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),{forceMount,...scrollbarProps}=props,[visible,setVisible]=React212.useState(!1),isHorizontal=props.orientation==="horizontal",handleResize=useDebounceCallback(()=>{if(context.viewport){let isOverflowX=context.viewport.offsetWidth<context.viewport.scrollWidth,isOverflowY=context.viewport.offsetHeight<context.viewport.scrollHeight;setVisible(isHorizontal?isOverflowX:isOverflowY)}},10);return useResizeObserver2(context.viewport,handleResize),useResizeObserver2(context.content,handleResize),import_jsx_runtime29.jsx(Presence,{present:forceMount||visible,children:import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{"data-state":visible?"visible":"hidden",...scrollbarProps,ref:forwardedRef})})},"ScrollAreaScrollbarAuto")),ScrollAreaScrollbarVisible=React212.forwardRef(__name40(function(props,forwardedRef){let{orientation="vertical",...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),thumbRef=React212.useRef(null),pointerOffsetRef=React212.useRef(0),[sizes,setSizes]=React212.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),thumbRatio=getThumbRatio(sizes.viewport,sizes.content),commonProps={...scrollbarProps,sizes,onSizesChange:setSizes,hasThumb:Boolean(thumbRatio>0&&thumbRatio<1),onThumbChange:__name40((thumb)=>thumbRef.current=thumb,"onThumbChange"),onThumbPointerUp:__name40(()=>pointerOffsetRef.current=0,"onThumbPointerUp"),onThumbPointerDown:__name40((pointerPos)=>pointerOffsetRef.current=pointerPos,"onThumbPointerDown")};function getScrollPosition(pointerPos,dir){return getScrollPositionFromPointer(pointerPos,pointerOffsetRef.current,sizes,dir)}if(__name40(getScrollPosition,"getScrollPosition"),orientation==="horizontal")return import_jsx_runtime29.jsx(ScrollAreaScrollbarX,{...commonProps,ref:forwardedRef,onThumbPositionChange:()=>{if(context.viewport&&thumbRef.current){let scrollPos=context.viewport.scrollLeft,offset=getThumbOffsetFromScroll(scrollPos,sizes,context.dir);thumbRef.current.style.transform=`translate3d(${offset}px, 0, 0)`}},onWheelScroll:(scrollPos)=>{if(context.viewport)context.viewport.scrollLeft=scrollPos},onDragScroll:(pointerPos)=>{if(context.viewport)context.viewport.scrollLeft=getScrollPosition(pointerPos,context.dir)}});if(orientation==="vertical")return import_jsx_runtime29.jsx(ScrollAreaScrollbarY,{...commonProps,ref:forwardedRef,onThumbPositionChange:()=>{if(context.viewport&&thumbRef.current){let scrollPos=context.viewport.scrollTop,offset=getThumbOffsetFromScroll(scrollPos,sizes);thumbRef.current.style.transform=`translate3d(0, ${offset}px, 0)`}},onWheelScroll:(scrollPos)=>{if(context.viewport)context.viewport.scrollTop=scrollPos},onDragScroll:(pointerPos)=>{if(context.viewport)context.viewport.scrollTop=getScrollPosition(pointerPos)}});return null},"ScrollAreaScrollbarVisible")),ScrollAreaScrollbarX=React212.forwardRef(__name40(function(props,forwardedRef){let{sizes,onSizesChange,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[computedStyle,setComputedStyle]=React212.useState(),ref=React212.useRef(null),composeRefs=useComposedRefs(forwardedRef,ref,context.onScrollbarXChange);return React212.useEffect(()=>{if(ref.current)setComputedStyle(getComputedStyle(ref.current))},[ref]),import_jsx_runtime29.jsx(ScrollAreaScrollbarImpl,{"data-orientation":"horizontal",...scrollbarProps,ref:composeRefs,sizes,style:{bottom:0,left:context.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:context.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":getThumbSize(sizes)+"px",...props.style},onThumbPointerDown:(pointerPos)=>props.onThumbPointerDown(pointerPos.x),onDragScroll:(pointerPos)=>props.onDragScroll(pointerPos.x),onWheelScroll:(event,maxScrollPos)=>{if(context.viewport){let scrollPos=context.viewport.scrollLeft+event.deltaX;if(props.onWheelScroll(scrollPos),isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos))event.preventDefault()}},onResize:()=>{if(ref.current&&context.viewport&&computedStyle)onSizesChange({content:context.viewport.scrollWidth,viewport:context.viewport.offsetWidth,scrollbar:{size:ref.current.clientWidth,paddingStart:toInt(computedStyle.paddingLeft),paddingEnd:toInt(computedStyle.paddingRight)}})}})},"ScrollAreaScrollbarX")),ScrollAreaScrollbarY=React212.forwardRef(__name40(function(props,forwardedRef){let{sizes,onSizesChange,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[computedStyle,setComputedStyle]=React212.useState(),ref=React212.useRef(null),composeRefs=useComposedRefs(forwardedRef,ref,context.onScrollbarYChange);return React212.useEffect(()=>{if(ref.current)setComputedStyle(getComputedStyle(ref.current))},[ref]),import_jsx_runtime29.jsx(ScrollAreaScrollbarImpl,{"data-orientation":"vertical",...scrollbarProps,ref:composeRefs,sizes,style:{top:0,right:context.dir==="ltr"?0:void 0,left:context.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":getThumbSize(sizes)+"px",...props.style},onThumbPointerDown:(pointerPos)=>props.onThumbPointerDown(pointerPos.y),onDragScroll:(pointerPos)=>props.onDragScroll(pointerPos.y),onWheelScroll:(event,maxScrollPos)=>{if(context.viewport){let scrollPos=context.viewport.scrollTop+event.deltaY;if(props.onWheelScroll(scrollPos),isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos))event.preventDefault()}},onResize:()=>{if(ref.current&&context.viewport&&computedStyle)onSizesChange({content:context.viewport.scrollHeight,viewport:context.viewport.offsetHeight,scrollbar:{size:ref.current.clientHeight,paddingStart:toInt(computedStyle.paddingTop),paddingEnd:toInt(computedStyle.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[ScrollbarProvider,useScrollbarContext]=createScrollAreaContext(SCROLLBAR_NAME),ScrollAreaScrollbarImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,sizes,hasThumb,onThumbChange,onThumbPointerUp,onThumbPointerDown,onThumbPositionChange,onDragScroll,onWheelScroll,onResize,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,__scopeScrollArea),[scrollbar,setScrollbar]=React212.useState(null),composeRefs=useComposedRefs(forwardedRef,setScrollbar),rectRef=React212.useRef(null),prevWebkitUserSelectRef=React212.useRef(""),viewport=context.viewport,maxScrollPos=sizes.content-sizes.viewport,handleWheelScroll=useCallbackRef(onWheelScroll),handleThumbPositionChange=useCallbackRef(onThumbPositionChange),handleResize=useDebounceCallback(onResize,10);function handleDragScroll(event){if(rectRef.current){let x=event.clientX-rectRef.current.left,y=event.clientY-rectRef.current.top;onDragScroll({x,y})}}return __name40(handleDragScroll,"handleDragScroll"),React212.useEffect(()=>{let handleWheel=__name40((event)=>{let element=event.target;if(scrollbar?.contains(element))handleWheelScroll(event,maxScrollPos)},"handleWheel");return document.addEventListener("wheel",handleWheel,{passive:!1}),()=>document.removeEventListener("wheel",handleWheel,{passive:!1})},[viewport,scrollbar,maxScrollPos,handleWheelScroll]),React212.useEffect(handleThumbPositionChange,[sizes,handleThumbPositionChange]),useResizeObserver2(scrollbar,handleResize),useResizeObserver2(context.content,handleResize),import_jsx_runtime29.jsx(ScrollbarProvider,{scope:__scopeScrollArea,scrollbar,hasThumb,onThumbChange:useCallbackRef(onThumbChange),onThumbPointerUp:useCallbackRef(onThumbPointerUp),onThumbPositionChange:handleThumbPositionChange,onThumbPointerDown:useCallbackRef(onThumbPointerDown),children:import_jsx_runtime29.jsx(Primitive.div,{...scrollbarProps,ref:composeRefs,style:{position:"absolute",...scrollbarProps.style},onPointerDown:composeEventHandlers(props.onPointerDown,(event)=>{if(event.button===0){if(event.target.setPointerCapture(event.pointerId),rectRef.current=scrollbar.getBoundingClientRect(),prevWebkitUserSelectRef.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",context.viewport)context.viewport.style.scrollBehavior="auto";handleDragScroll(event)}}),onPointerMove:composeEventHandlers(props.onPointerMove,handleDragScroll),onPointerUp:composeEventHandlers(props.onPointerUp,(event)=>{let element=event.target;if(element.hasPointerCapture(event.pointerId))element.releasePointerCapture(event.pointerId);if(document.body.style.webkitUserSelect=prevWebkitUserSelectRef.current,context.viewport)context.viewport.style.scrollBehavior="";rectRef.current=null})})})},"ScrollAreaScrollbarImpl")),THUMB_NAME="ScrollAreaThumb",ScrollAreaThumb=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...thumbProps}=props,scrollbarContext=useScrollbarContext(THUMB_NAME,props.__scopeScrollArea);return import_jsx_runtime29.jsx(Presence,{present:forceMount||scrollbarContext.hasThumb,children:import_jsx_runtime29.jsx(ScrollAreaThumbImpl,{ref:forwardedRef,...thumbProps})})},"ScrollAreaThumb")),ScrollAreaThumbImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,style,...thumbProps}=props,scrollAreaContext=useScrollAreaContext(THUMB_NAME,__scopeScrollArea),scrollbarContext=useScrollbarContext(THUMB_NAME,__scopeScrollArea),{onThumbPositionChange}=scrollbarContext,composedRef=useComposedRefs(forwardedRef,scrollbarContext.onThumbChange),removeUnlinkedScrollListenerRef=React212.useRef(void 0),debounceScrollEnd=useDebounceCallback(()=>{if(removeUnlinkedScrollListenerRef.current)removeUnlinkedScrollListenerRef.current(),removeUnlinkedScrollListenerRef.current=void 0},100);return React212.useEffect(()=>{let viewport=scrollAreaContext.viewport;if(viewport){let handleScroll=__name40(()=>{if(debounceScrollEnd(),!removeUnlinkedScrollListenerRef.current){let listener=addUnlinkedScrollListener(viewport,onThumbPositionChange);removeUnlinkedScrollListenerRef.current=listener,onThumbPositionChange()}},"handleScroll");return onThumbPositionChange(),viewport.addEventListener("scroll",handleScroll),()=>viewport.removeEventListener("scroll",handleScroll)}},[scrollAreaContext.viewport,debounceScrollEnd,onThumbPositionChange]),import_jsx_runtime29.jsx(Primitive.div,{"data-state":scrollbarContext.hasThumb?"visible":"hidden",...thumbProps,ref:composedRef,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...style},onPointerDownCapture:composeEventHandlers(props.onPointerDownCapture,(event)=>{let thumbRect=event.target.getBoundingClientRect(),x=event.clientX-thumbRect.left,y=event.clientY-thumbRect.top;scrollbarContext.onThumbPointerDown({x,y})}),onPointerUp:composeEventHandlers(props.onPointerUp,scrollbarContext.onThumbPointerUp)})},"ScrollAreaThumbImpl")),CORNER_NAME="ScrollAreaCorner",ScrollAreaCorner=React212.forwardRef(__name40(function(props,forwardedRef){let context=useScrollAreaContext(CORNER_NAME,props.__scopeScrollArea),hasBothScrollbarsVisible=Boolean(context.scrollbarX&&context.scrollbarY);return context.type!=="scroll"&&hasBothScrollbarsVisible?import_jsx_runtime29.jsx(ScrollAreaCornerImpl,{...props,ref:forwardedRef}):null},"ScrollAreaCorner")),ScrollAreaCornerImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,...cornerProps}=props,context=useScrollAreaContext(CORNER_NAME,__scopeScrollArea),[width,setWidth]=React212.useState(0),[height,setHeight]=React212.useState(0),hasSize=Boolean(width&&height),{onCornerWidthChange,onCornerHeightChange}=context;return useResizeObserver2(context.scrollbarX,()=>{let height2=context.scrollbarX?.offsetHeight||0;context.onCornerHeightChange(height2),setHeight(height2)}),useResizeObserver2(context.scrollbarY,()=>{let width2=context.scrollbarY?.offsetWidth||0;context.onCornerWidthChange(width2),setWidth(width2)}),React212.useEffect(()=>()=>{onCornerWidthChange(0),onCornerHeightChange(0)},[onCornerWidthChange,onCornerHeightChange]),hasSize?import_jsx_runtime29.jsx(Primitive.div,{...cornerProps,ref:forwardedRef,style:{width,height,position:"absolute",right:context.dir==="ltr"?0:void 0,left:context.dir==="rtl"?0:void 0,bottom:0,...props.style}}):null},"ScrollAreaCornerImpl"));function toInt(value){return value?parseInt(value,10):0}__name40(toInt,"toInt");function getThumbRatio(viewportSize,contentSize){let ratio=viewportSize/contentSize;return isNaN(ratio)?0:ratio}__name40(getThumbRatio,"getThumbRatio");function getThumbSize(sizes){let ratio=getThumbRatio(sizes.viewport,sizes.content),scrollbarPadding=sizes.scrollbar.paddingStart+sizes.scrollbar.paddingEnd,thumbSize=(sizes.scrollbar.size-scrollbarPadding)*ratio;return Math.max(thumbSize,18)}__name40(getThumbSize,"getThumbSize");function getScrollPositionFromPointer(pointerPos,pointerOffset,sizes,dir="ltr"){let thumbSizePx=getThumbSize(sizes),thumbCenter=thumbSizePx/2,offset=pointerOffset||thumbCenter,thumbOffsetFromEnd=thumbSizePx-offset,minPointerPos=sizes.scrollbar.paddingStart+offset,maxPointerPos=sizes.scrollbar.size-sizes.scrollbar.paddingEnd-thumbOffsetFromEnd,maxScrollPos=sizes.content-sizes.viewport,scrollRange=dir==="ltr"?[0,maxScrollPos]:[maxScrollPos*-1,0];return linearScale([minPointerPos,maxPointerPos],scrollRange)(pointerPos)}__name40(getScrollPositionFromPointer,"getScrollPositionFromPointer");function getThumbOffsetFromScroll(scrollPos,sizes,dir="ltr"){let thumbSizePx=getThumbSize(sizes),scrollbarPadding=sizes.scrollbar.paddingStart+sizes.scrollbar.paddingEnd,scrollbar=sizes.scrollbar.size-scrollbarPadding,maxScrollPos=sizes.content-sizes.viewport,maxThumbPos=scrollbar-thumbSizePx,scrollClampRange=dir==="ltr"?[0,maxScrollPos]:[maxScrollPos*-1,0],scrollWithoutMomentum=clamp(scrollPos,scrollClampRange);return linearScale([0,maxScrollPos],[0,maxThumbPos])(scrollWithoutMomentum)}__name40(getThumbOffsetFromScroll,"getThumbOffsetFromScroll");function linearScale(input,output){return(value)=>{if(input[0]===input[1]||output[0]===output[1])return output[0];let ratio=(output[1]-output[0])/(input[1]-input[0]);return output[0]+ratio*(value-input[0])}}__name40(linearScale,"linearScale");function isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos){return scrollPos>0&&scrollPos<maxScrollPos}__name40(isScrollingWithinScrollbarBounds,"isScrollingWithinScrollbarBounds");var addUnlinkedScrollListener=__name40((node,handler=()=>{})=>{let prevPosition={left:node.scrollLeft,top:node.scrollTop},rAF=0;return __name40(function loop(){let position={left:node.scrollLeft,top:node.scrollTop},isHorizontalScroll=prevPosition.left!==position.left,isVerticalScroll=prevPosition.top!==position.top;if(isHorizontalScroll||isVerticalScroll)handler();prevPosition=position,rAF=window.requestAnimationFrame(loop)},"loop")(),()=>window.cancelAnimationFrame(rAF)},"addUnlinkedScrollListener");function useDebounceCallback(callback,delay){let handleCallback=useCallbackRef(callback),debounceTimerRef=React212.useRef(0);return React212.useEffect(()=>()=>window.clearTimeout(debounceTimerRef.current),[]),React212.useCallback(()=>{window.clearTimeout(debounceTimerRef.current),debounceTimerRef.current=window.setTimeout(handleCallback,delay)},[handleCallback,delay])}__name40(useDebounceCallback,"useDebounceCallback");function useResizeObserver2(element,onResize){let handleResize=useCallbackRef(onResize);useLayoutEffect2(()=>{let rAF=0;if(element){let resizeObserver=new ResizeObserver(()=>{cancelAnimationFrame(rAF),rAF=window.requestAnimationFrame(handleResize)});return resizeObserver.observe(element),()=>{window.cancelAnimationFrame(rAF),resizeObserver.unobserve(element)}}},[element,handleResize])}__name40(useResizeObserver2,"useResizeObserver");var Root8=ScrollArea,Viewport2=ScrollAreaViewport;var Corner=ScrollAreaCorner;var React50=__toESM(require_react_development(),1),ReactDOM3=__toESM(require_react_dom(),1);var import_jsx_runtime30=__toESM(require_react_jsx_runtime_development(),1),__defProp41=Object.defineProperty,__name41=(target,value)=>__defProp41(target,"name",{value,configurable:!0});var SELECT_NAME="Select",[Collection6,useCollection6,createCollectionScope6]=createCollection(SELECT_NAME),[createSelectContext,createSelectScope]=createContextScope(SELECT_NAME,[createCollectionScope6,createPopperScope]),usePopperScope4=createPopperScope(),[SelectProviderImpl,useSelectContext]=createSelectContext(SELECT_NAME),[SelectNativeOptionsProvider,useSelectNativeOptionsContext]=createSelectContext(SELECT_NAME);function SelectProvider(props){let{__scopeSelect,children,open:openProp,defaultOpen,onOpenChange,value:valueProp,defaultValue,onValueChange,dir,name,autoComplete,disabled,required,form,internal_do_not_use_render}=props,popperScope=usePopperScope4(__scopeSelect),[trigger,setTrigger]=React50.useState(null),[valueNode,setValueNode]=React50.useState(null),[valueNodeHasChildren,setValueNodeHasChildren]=React50.useState(!1),direction=useDirection(dir),[open,setOpen]=useControllableState({prop:openProp,defaultProp:defaultOpen??!1,onChange:onOpenChange,caller:SELECT_NAME}),[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue,onChange:onValueChange,caller:SELECT_NAME}),triggerPointerDownPosRef=React50.useRef(null),initialValueRef=React50.useRef(value);React50.useEffect(()=>{let associatedForm=form?trigger?.ownerDocument.getElementById(form):trigger?.form;if(associatedForm instanceof HTMLFormElement){let reset=__name41(()=>setValue(initialValueRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[form,trigger,setValue]);let isFormControl=trigger?!!form||!!trigger.closest("form"):!0,[nativeOptionsSet,setNativeOptionsSet]=React50.useState(new Set),contentId=useId(),nativeSelectKey=Array.from(nativeOptionsSet).map((option)=>option.props.value).join(";"),handleNativeOptionAdd=React50.useCallback((option)=>{setNativeOptionsSet((prev)=>new Set(prev).add(option))},[]),handleNativeOptionRemove=React50.useCallback((option)=>{setNativeOptionsSet((prev)=>{let optionsSet=new Set(prev);return optionsSet.delete(option),optionsSet})},[]),context={required,trigger,onTriggerChange:setTrigger,valueNode,onValueNodeChange:setValueNode,valueNodeHasChildren,onValueNodeHasChildrenChange:setValueNodeHasChildren,contentId,value,onValueChange:setValue,open,onOpenChange:setOpen,dir:direction,triggerPointerDownPosRef,disabled,name,autoComplete,form,nativeOptions:nativeOptionsSet,nativeSelectKey,isFormControl};return import_jsx_runtime30.jsx(Root23,{...popperScope,children:import_jsx_runtime30.jsx(SelectProviderImpl,{scope:__scopeSelect,...context,children:import_jsx_runtime30.jsx(Collection6.Provider,{scope:__scopeSelect,children:import_jsx_runtime30.jsx(SelectNativeOptionsProvider,{scope:__scopeSelect,onNativeOptionAdd:handleNativeOptionAdd,onNativeOptionRemove:handleNativeOptionRemove,children:isFunction4(internal_do_not_use_render)?internal_do_not_use_render(context):children})})})})}__name41(SelectProvider,"SelectProvider");var Select=__name41((props)=>{let{__scopeSelect,children,...providerProps}=props;return import_jsx_runtime30.jsx(SelectProvider,{__scopeSelect,...providerProps,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime30.jsxs(import_jsx_runtime30.Fragment,{children:[children,isFormControl?import_jsx_runtime30.jsx(SelectBubbleInput,{__scopeSelect}):null]})})},"Select");var PORTAL_NAME5="SelectPortal",[PortalProvider5,usePortalContext5]=createSelectContext(PORTAL_NAME5,{forceMount:void 0});var CONTENT_NAME8="SelectContent";var[SelectContentProvider,useSelectContentContext]=createSelectContext(CONTENT_NAME8),Slot5=createSlot("SelectContent.RemoveScroll");var[SelectViewportProvider,useSelectViewportContext]=createSelectContext(CONTENT_NAME8,{});var GROUP_NAME2="SelectGroup",[SelectGroupContextProvider,useSelectGroupContext]=createSelectContext(GROUP_NAME2);var ITEM_NAME4="SelectItem",[SelectItemContextProvider,useSelectItemContext]=createSelectContext(ITEM_NAME4);var BUBBLE_INPUT_NAME3="SelectBubbleInput",SelectBubbleInput=React50.forwardRef(__name41(function({__scopeSelect,...props},forwardedRef){let context=useSelectContext(BUBBLE_INPUT_NAME3,__scopeSelect),{value,onValueChange,required,disabled,name,autoComplete,form}=context,{nativeOptions,nativeSelectKey}=context,ref=React50.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),selectValue=value??"",prevValue=usePrevious(selectValue),hasEmptyValueOption=Array.from(nativeOptions).some((option)=>(option.props.value??"")==="");return React50.useEffect(()=>{let select=ref.current;if(!select)return;let selectProto=window.HTMLSelectElement.prototype,setValue=Object.getOwnPropertyDescriptor(selectProto,"value").set;if(prevValue!==selectValue&&setValue){let event=new Event("change",{bubbles:!0});setValue.call(select,selectValue),select.dispatchEvent(event)}},[prevValue,selectValue]),import_jsx_runtime30.jsxs(Primitive.select,{"aria-hidden":!0,required,tabIndex:-1,name,autoComplete,disabled,form,onChange:(event)=>onValueChange(event.target.value),...props,style:{...VISUALLY_HIDDEN_STYLES,...props.style},ref:composedRefs,defaultValue:selectValue,children:[shouldShowPlaceholder(value)&&!hasEmptyValueOption?import_jsx_runtime30.jsx("option",{value:""}):null,Array.from(nativeOptions)]},nativeSelectKey)},"SelectBubbleInput"));function isFunction4(value){return typeof value==="function"}__name41(isFunction4,"isFunction");function shouldShowPlaceholder(value){return value===""||value===void 0}__name41(shouldShowPlaceholder,"shouldShowPlaceholder");function useTypeaheadSearch(onSearchChange){let handleSearchChange=useCallbackRef(onSearchChange),searchRef=React50.useRef(""),timerRef=React50.useRef(0),handleTypeaheadSearch=React50.useCallback((key)=>{let search=searchRef.current+key;handleSearchChange(search),__name41(function updateSearch(value){if(searchRef.current=value,window.clearTimeout(timerRef.current),value!=="")timerRef.current=window.setTimeout(()=>updateSearch(""),1000)},"updateSearch")(search)},[handleSearchChange]),resetTypeahead=React50.useCallback(()=>{searchRef.current="",window.clearTimeout(timerRef.current)},[]);return React50.useEffect(()=>()=>window.clearTimeout(timerRef.current),[]),[searchRef,handleTypeaheadSearch,resetTypeahead]}__name41(useTypeaheadSearch,"useTypeaheadSearch");function findNextItem(items,search,currentItem){let normalizedSearch=search.length>1&&Array.from(search).every((char)=>char===search[0])?search[0]:search,currentItemIndex=currentItem?items.indexOf(currentItem):-1,wrappedItems=wrapArray4(items,Math.max(currentItemIndex,0));if(normalizedSearch.length===1)wrappedItems=wrappedItems.filter((v)=>v!==currentItem);let nextItem=wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));return nextItem!==currentItem?nextItem:void 0}__name41(findNextItem,"findNextItem");function wrapArray4(array,startIndex){return array.map((_,index)=>array[(startIndex+index)%array.length])}__name41(wrapArray4,"wrapArray");var React51=__toESM(require_react_development(),1);var import_jsx_runtime31=__toESM(require_react_jsx_runtime_development(),1),__defProp42=Object.defineProperty,__name42=(target,value)=>__defProp42(target,"name",{value,configurable:!0}),DEFAULT_ORIENTATION="horizontal",ORIENTATIONS=["horizontal","vertical"],Separator2=React51.forwardRef(__name42(function(props,forwardedRef){let{decorative,orientation:orientationProp=DEFAULT_ORIENTATION,...domProps}=props,orientation=isValidOrientation(orientationProp)?orientationProp:DEFAULT_ORIENTATION,semanticProps=decorative?{role:"none"}:{"aria-orientation":orientation==="vertical"?orientation:void 0,role:"separator"};return import_jsx_runtime31.jsx(Primitive.div,{"data-orientation":orientation,...semanticProps,...domProps,ref:forwardedRef})},"Separator"));function isValidOrientation(orientation){return ORIENTATIONS.includes(orientation)}__name42(isValidOrientation,"isValidOrientation");var Root9=Separator2;var React52=__toESM(require_react_development(),1);var import_jsx_runtime32=__toESM(require_react_jsx_runtime_development(),1),__defProp43=Object.defineProperty,__name43=(target,value)=>__defProp43(target,"name",{value,configurable:!0}),PAGE_KEYS=["PageUp","PageDown"],ARROW_KEYS3=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],BACK_KEYS={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},SLIDER_NAME="Slider",[Collection7,useCollection7,createCollectionScope7]=createCollection(SLIDER_NAME),[createSliderContext,createSliderScope]=createContextScope(SLIDER_NAME,[createCollectionScope7]),[SliderProvider,useSliderContext]=createSliderContext(SLIDER_NAME),Slider=React52.forwardRef(__name43(function(props,forwardedRef){let{name,min=0,max=100,step=1,orientation="horizontal",disabled=!1,minStepsBetweenThumbs=0,defaultValue=[min],value,onValueChange=__name43(()=>{},"onValueChange"),onValueCommit=__name43(()=>{},"onValueCommit"),inverted=!1,form,...sliderProps}=props,thumbRefs=React52.useRef(new Set),valueIndexToChangeRef=React52.useRef(0),isKeyboardInteractionRef=React52.useRef(!1),SliderOrientation=orientation==="horizontal"?SliderHorizontal:SliderVertical,[control,setControl]=React52.useState(null),composedRefs=useComposedRefs(forwardedRef,setControl),[values=[],setValues]=useControllableState({prop:value,defaultProp:defaultValue,onChange:__name43((value2)=>{[...thumbRefs.current][valueIndexToChangeRef.current]?.focus({preventScroll:!0,focusVisible:isKeyboardInteractionRef.current}),isKeyboardInteractionRef.current=!1,onValueChange(value2)},"onChange")}),valuesBeforeSlideStartRef=React52.useRef(values),initialValuesRef=React52.useRef(values);React52.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.closest("form");if(associatedForm instanceof HTMLFormElement){let reset=__name43(()=>setValues(initialValuesRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setValues]);function handleSlideStart(value2){let closestIndex=getClosestValueIndex(values,value2);updateValues(value2,closestIndex)}__name43(handleSlideStart,"handleSlideStart");function handleSlideMove(value2){updateValues(value2,valueIndexToChangeRef.current)}__name43(handleSlideMove,"handleSlideMove");function handleSlideEnd(){if(String(values)!==String(valuesBeforeSlideStartRef.current))onValueCommit(values)}__name43(handleSlideEnd,"handleSlideEnd");function updateValues(value2,atIndex,{commit}={commit:!1}){let decimalCount=getDecimalCount(step),snapToStep=roundValue(Math.round((value2-min)/step)*step+min,decimalCount),nextValue=clamp(snapToStep,[min,max]);setValues((prevValues=[])=>{let nextValues=getNextSortedValues(prevValues,nextValue,atIndex);if(hasMinStepsBetweenValues(nextValues,minStepsBetweenThumbs*step)){valueIndexToChangeRef.current=nextValues.indexOf(nextValue);let hasChanged=String(nextValues)!==String(prevValues);if(hasChanged&&commit)onValueCommit(nextValues);return hasChanged?nextValues:prevValues}else return prevValues})}return __name43(updateValues,"updateValues"),import_jsx_runtime32.jsx(SliderProvider,{scope:props.__scopeSlider,name,disabled,min,max,valueIndexToChangeRef,thumbs:thumbRefs.current,values,orientation,form,children:import_jsx_runtime32.jsx(Collection7.Provider,{scope:props.__scopeSlider,children:import_jsx_runtime32.jsx(Collection7.Slot,{scope:props.__scopeSlider,children:import_jsx_runtime32.jsx(SliderOrientation,{"aria-disabled":disabled,"data-disabled":disabled?"":void 0,...sliderProps,ref:composedRefs,onPointerDown:composeEventHandlers(sliderProps.onPointerDown,()=>{if(!disabled)valuesBeforeSlideStartRef.current=values,isKeyboardInteractionRef.current=!1}),min,max,inverted,onSlideStart:disabled?void 0:handleSlideStart,onSlideMove:disabled?void 0:handleSlideMove,onSlideEnd:disabled?void 0:handleSlideEnd,onHomeKeyDown:()=>{if(!disabled)isKeyboardInteractionRef.current=!0,updateValues(min,0,{commit:!0})},onEndKeyDown:()=>{if(!disabled)isKeyboardInteractionRef.current=!0,updateValues(max,values.length-1,{commit:!0})},onStepKeyDown:({event,direction:stepDirection})=>{if(!disabled){isKeyboardInteractionRef.current=!0;let multiplier=PAGE_KEYS.includes(event.key)||event.shiftKey&&ARROW_KEYS3.includes(event.key)?10:1,atIndex=valueIndexToChangeRef.current,value2=values[atIndex],nextValue=getNextStepValue(value2,{min,step,direction:stepDirection,multiplier});updateValues(nextValue,atIndex,{commit:!0})}}})})})})},"Slider")),[SliderOrientationProvider,useSliderOrientationContext]=createSliderContext(SLIDER_NAME,{startEdge:"left",endEdge:"right",size:"width",direction:1}),SliderHorizontal=React52.forwardRef(__name43(function(props,forwardedRef){let{min,max,dir,inverted,onSlideStart,onSlideMove,onSlideEnd,onStepKeyDown,...sliderProps}=props,[slider,setSlider]=React52.useState(null),composedRefs=useComposedRefs(forwardedRef,setSlider),rectRef=React52.useRef(void 0),direction=useDirection(dir),isDirectionLTR=direction==="ltr",isSlidingFromLeft=isDirectionLTR&&!inverted||!isDirectionLTR&&inverted;function getValueFromPointer(pointerPosition){let rect=rectRef.current||slider.getBoundingClientRect(),input=[0,rect.width],value=linearScale2(input,isSlidingFromLeft?[min,max]:[max,min]);return rectRef.current=rect,value(pointerPosition-rect.left)}return __name43(getValueFromPointer,"getValueFromPointer"),import_jsx_runtime32.jsx(SliderOrientationProvider,{scope:props.__scopeSlider,startEdge:isSlidingFromLeft?"left":"right",endEdge:isSlidingFromLeft?"right":"left",direction:isSlidingFromLeft?1:-1,size:"width",children:import_jsx_runtime32.jsx(SliderImpl,{dir:direction,"data-orientation":"horizontal",...sliderProps,ref:composedRefs,style:{...sliderProps.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:(event)=>{let value=getValueFromPointer(event.clientX);onSlideStart?.(value)},onSlideMove:(event)=>{let value=getValueFromPointer(event.clientX);onSlideMove?.(value)},onSlideEnd:()=>{rectRef.current=void 0,onSlideEnd?.()},onStepKeyDown:(event)=>{let isBackKey=BACK_KEYS[isSlidingFromLeft?"from-left":"from-right"].includes(event.key);onStepKeyDown?.({event,direction:isBackKey?-1:1})}})})},"SliderHorizontal")),SliderVertical=React52.forwardRef(__name43(function(props,forwardedRef){let{min,max,inverted,onSlideStart,onSlideMove,onSlideEnd,onStepKeyDown,...sliderProps}=props,sliderRef=React52.useRef(null),ref=useComposedRefs(forwardedRef,sliderRef),rectRef=React52.useRef(void 0),isSlidingFromBottom=!inverted;function getValueFromPointer(pointerPosition){let rect=rectRef.current||sliderRef.current.getBoundingClientRect(),input=[0,rect.height],value=linearScale2(input,isSlidingFromBottom?[max,min]:[min,max]);return rectRef.current=rect,value(pointerPosition-rect.top)}return __name43(getValueFromPointer,"getValueFromPointer"),import_jsx_runtime32.jsx(SliderOrientationProvider,{scope:props.__scopeSlider,startEdge:isSlidingFromBottom?"bottom":"top",endEdge:isSlidingFromBottom?"top":"bottom",size:"height",direction:isSlidingFromBottom?1:-1,children:import_jsx_runtime32.jsx(SliderImpl,{"data-orientation":"vertical",...sliderProps,ref,style:{...sliderProps.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:(event)=>{let value=getValueFromPointer(event.clientY);onSlideStart?.(value)},onSlideMove:(event)=>{let value=getValueFromPointer(event.clientY);onSlideMove?.(value)},onSlideEnd:()=>{rectRef.current=void 0,onSlideEnd?.()},onStepKeyDown:(event)=>{let isBackKey=BACK_KEYS[isSlidingFromBottom?"from-bottom":"from-top"].includes(event.key);onStepKeyDown?.({event,direction:isBackKey?-1:1})}})})},"SliderVertical")),SliderImpl=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,onSlideStart,onSlideMove,onSlideEnd,onHomeKeyDown,onEndKeyDown,onStepKeyDown,...sliderProps}=props,context=useSliderContext(SLIDER_NAME,__scopeSlider);return import_jsx_runtime32.jsx(Primitive.span,{...sliderProps,ref:forwardedRef,onKeyDown:composeEventHandlers(props.onKeyDown,(event)=>{if(event.key==="Home")onHomeKeyDown(event),event.preventDefault();else if(event.key==="End")onEndKeyDown(event),event.preventDefault();else if(PAGE_KEYS.concat(ARROW_KEYS3).includes(event.key))onStepKeyDown(event),event.preventDefault()}),onPointerDown:composeEventHandlers(props.onPointerDown,(event)=>{let target=event.target;if(target.setPointerCapture(event.pointerId),event.preventDefault(),context.thumbs.has(target))target.focus({preventScroll:!0,focusVisible:!1});else onSlideStart(event)}),onPointerMove:composeEventHandlers(props.onPointerMove,(event)=>{if(event.target.hasPointerCapture(event.pointerId))onSlideMove(event)}),onPointerUp:composeEventHandlers(props.onPointerUp,(event)=>{let target=event.target;if(target.hasPointerCapture(event.pointerId))target.releasePointerCapture(event.pointerId),onSlideEnd(event)})})},"SliderImpl")),TRACK_NAME="SliderTrack",SliderTrack=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...trackProps}=props,context=useSliderContext(TRACK_NAME,__scopeSlider);return import_jsx_runtime32.jsx(Primitive.span,{"data-disabled":context.disabled?"":void 0,"data-orientation":context.orientation,...trackProps,ref:forwardedRef})},"SliderTrack")),RANGE_NAME="SliderRange",SliderRange=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...rangeProps}=props,context=useSliderContext(RANGE_NAME,__scopeSlider),orientation=useSliderOrientationContext(RANGE_NAME,__scopeSlider),ref=React52.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),valuesCount=context.values.length,percentages=context.values.map((value)=>convertValueToPercentage(value,context.min,context.max)),offsetStart=valuesCount>1?Math.min(...percentages):0,offsetEnd=100-Math.max(...percentages);return import_jsx_runtime32.jsx(Primitive.span,{"data-orientation":context.orientation,"data-disabled":context.disabled?"":void 0,...rangeProps,ref:composedRefs,style:{...props.style,[orientation.startEdge]:offsetStart+"%",[orientation.endEdge]:offsetEnd+"%"}})},"SliderRange")),THUMB_NAME2="SliderThumb",[SliderThumbContextProvider,useSliderThumbContext]=createSliderContext(THUMB_NAME2),THUMB_PROVIDER_NAME="SliderThumbProvider";function SliderThumbProvider(props){let{__scopeSlider,name,children,internal_do_not_use_render}=props,context=useSliderContext(THUMB_PROVIDER_NAME,__scopeSlider),getItems=useCollection7(__scopeSlider),[thumb,setThumb]=React52.useState(null),index=React52.useMemo(()=>thumb?getItems().findIndex((item)=>item.ref.current===thumb):-1,[getItems,thumb]),size=useSize(thumb),isFormControl=thumb?!!context.form||!!thumb.closest("form"):!0,value=context.values[index],resolvedName=name??(context.name?context.name+(context.values.length>1?"[]":""):void 0),percent=value===void 0?0:convertValueToPercentage(value,context.min,context.max);React52.useEffect(()=>{if(thumb)return context.thumbs.add(thumb),()=>{context.thumbs.delete(thumb)}},[thumb,context.thumbs]);let thumbContext={value,name:resolvedName,form:context.form,isFormControl,index,thumb,onThumbChange:setThumb,percent,size};return import_jsx_runtime32.jsx(SliderThumbContextProvider,{scope:__scopeSlider,...thumbContext,children:isFunction5(internal_do_not_use_render)?internal_do_not_use_render(thumbContext):children})}__name43(SliderThumbProvider,"SliderThumbProvider");var THUMB_TRIGGER_NAME="SliderThumbTrigger",SliderThumbTrigger=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...thumbProps}=props,context=useSliderContext(THUMB_TRIGGER_NAME,__scopeSlider),orientation=useSliderOrientationContext(THUMB_TRIGGER_NAME,__scopeSlider),{index,value,percent,size,onThumbChange}=useSliderThumbContext(THUMB_TRIGGER_NAME,__scopeSlider),composedRefs=useComposedRefs(forwardedRef,onThumbChange),label=getLabel(index,context.values.length),orientationSize=size?.[orientation.size],thumbInBoundsOffset=orientationSize?getThumbInBoundsOffset(orientationSize,percent,orientation.direction):0;return import_jsx_runtime32.jsx("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[orientation.startEdge]:`calc(${percent}% + ${thumbInBoundsOffset}px)`},children:import_jsx_runtime32.jsx(Collection7.ItemSlot,{scope:__scopeSlider,children:import_jsx_runtime32.jsx(Primitive.span,{role:"slider","aria-label":props["aria-label"]||label,"aria-valuemin":context.min,"aria-valuenow":value,"aria-valuemax":context.max,"aria-orientation":context.orientation,"data-orientation":context.orientation,"data-disabled":context.disabled?"":void 0,tabIndex:context.disabled?void 0:0,...thumbProps,ref:composedRefs,style:value===void 0?{display:"none"}:props.style,onFocus:composeEventHandlers(props.onFocus,()=>{context.valueIndexToChangeRef.current=index})})})})},"SliderThumbTrigger")),SliderThumb=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,name,...thumbProps}=props;return import_jsx_runtime32.jsx(SliderThumbProvider,{__scopeSlider,name,internal_do_not_use_render:({index,isFormControl})=>import_jsx_runtime32.jsxs(import_jsx_runtime32.Fragment,{children:[import_jsx_runtime32.jsx(SliderThumbTrigger,{...thumbProps,ref:forwardedRef,__scopeSlider}),isFormControl?import_jsx_runtime32.jsx(SliderBubbleInput,{__scopeSlider},index):null]})})},"SliderThumb")),BUBBLE_INPUT_NAME4="SliderBubbleInput",SliderBubbleInput=React52.forwardRef(__name43(function({__scopeSlider,...props},forwardedRef){let{value,name,form}=useSliderThumbContext(BUBBLE_INPUT_NAME4,__scopeSlider),ref=React52.useRef(null),composedRefs=useComposedRefs(ref,forwardedRef),prevValue=usePrevious(value);return React52.useEffect(()=>{let input=ref.current;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setValue=Object.getOwnPropertyDescriptor(inputProto,"value").set;if(prevValue!==value&&setValue){let event=new Event("input",{bubbles:!0});setValue.call(input,value),input.dispatchEvent(event)}},[prevValue,value]),import_jsx_runtime32.jsx(Primitive.input,{style:{display:"none"},name,form,...props,ref:composedRefs,defaultValue:value})},"SliderBubbleInput"));function getNextSortedValues(prevValues=[],nextValue,atIndex){let nextValues=[...prevValues];return nextValues[atIndex]=nextValue,nextValues.sort((a,b)=>a-b)}__name43(getNextSortedValues,"getNextSortedValues");function convertValueToPercentage(value,min,max){let percentage=100/(max-min)*(value-min);return clamp(percentage,[0,100])}__name43(convertValueToPercentage,"convertValueToPercentage");function getLabel(index,totalValues){if(totalValues>2)return`Value ${index+1} of ${totalValues}`;else if(totalValues===2)return["Minimum","Maximum"][index];else return}__name43(getLabel,"getLabel");function getClosestValueIndex(values,nextValue){if(values.length===1)return 0;let distances=values.map((value)=>Math.abs(value-nextValue)),closestDistance=Math.min(...distances);return distances.indexOf(closestDistance)}__name43(getClosestValueIndex,"getClosestValueIndex");function getThumbInBoundsOffset(width,left,direction){let halfWidth=width/2,halfPercent=50,offset=linearScale2([0,50],[0,halfWidth]);return(halfWidth-offset(left)*direction)*direction}__name43(getThumbInBoundsOffset,"getThumbInBoundsOffset");function getStepsBetweenValues(values){return values.slice(0,-1).map((value,index)=>values[index+1]-value)}__name43(getStepsBetweenValues,"getStepsBetweenValues");function hasMinStepsBetweenValues(values,minStepsBetweenValues){if(minStepsBetweenValues>0){let stepsBetweenValues=getStepsBetweenValues(values);return Math.min(...stepsBetweenValues)>=minStepsBetweenValues}return!0}__name43(hasMinStepsBetweenValues,"hasMinStepsBetweenValues");function linearScale2(input,output){return(value)=>{if(input[0]===input[1]||output[0]===output[1])return output[0];let ratio=(output[1]-output[0])/(input[1]-input[0]);return output[0]+ratio*(value-input[0])}}__name43(linearScale2,"linearScale");function getDecimalCount(value){if(!Number.isFinite(value))return 0;let str=value.toString();if(str.includes("e")){let[coefficient,exponent]=str.split("e"),decimalPart2=coefficient.split(".")[1]||"",exponentNum=Number(exponent);return Math.max(0,decimalPart2.length-exponentNum)}let decimalPart=str.split(".")[1];return decimalPart?decimalPart.length:0}__name43(getDecimalCount,"getDecimalCount");function roundValue(value,decimalCount){let rounder=Math.pow(10,decimalCount);return Math.round(value*rounder)/rounder}__name43(roundValue,"roundValue");function getNextStepValue(value,{min,step,direction,multiplier}){let decimalCount=getDecimalCount(step),stepsFromMin=(value-min)/step,nearestSteps=Math.round(stepsFromMin),isAligned=roundValue(nearestSteps*step+min,decimalCount)===roundValue(value,decimalCount),nextSteps;if(isAligned)nextSteps=nearestSteps+multiplier*direction;else if(direction>0)nextSteps=Math.ceil(stepsFromMin);else nextSteps=Math.floor(stepsFromMin);return roundValue(nextSteps*step+min,decimalCount)}__name43(getNextStepValue,"getNextStepValue");function isFunction5(value){return typeof value==="function"}__name43(isFunction5,"isFunction");var React53=__toESM(require_react_development(),1);var import_jsx_runtime33=__toESM(require_react_jsx_runtime_development(),1),__defProp44=Object.defineProperty,__name44=(target,value)=>__defProp44(target,"name",{value,configurable:!0}),SWITCH_NAME="Switch",[createSwitchContext,createSwitchScope]=createContextScope(SWITCH_NAME),[SwitchProviderImpl,useSwitchContext]=createSwitchContext(SWITCH_NAME);function SwitchProvider(props){let{__scopeSwitch,checked:checkedProp,children,defaultChecked,disabled,form,name,onCheckedChange,required,value="on",internal_do_not_use_render}=props,[checked,setChecked]=useControllableState({prop:checkedProp,defaultProp:defaultChecked??!1,onChange:onCheckedChange,caller:SWITCH_NAME}),[control,setControl]=React53.useState(null),[bubbleInput,setBubbleInput]=React53.useState(null),hasConsumerStoppedPropagationRef=React53.useRef(!1),[userInteractionCount,onUserInteraction]=React53.useReducer((count)=>count+1,0),isFormControl=control?!!form||!!control.closest("form"):!0,context={checked,setChecked,disabled,control,setControl,name,form,value,hasConsumerStoppedPropagationRef,userInteractionCount,onUserInteraction,required,defaultChecked,isFormControl,bubbleInput,setBubbleInput};return import_jsx_runtime33.jsx(SwitchProviderImpl,{scope:__scopeSwitch,...context,children:isFunction6(internal_do_not_use_render)?internal_do_not_use_render(context):children})}__name44(SwitchProvider,"SwitchProvider");var TRIGGER_NAME12="SwitchTrigger",SwitchTrigger=React53.forwardRef(__name44(function({__scopeSwitch,onClick,...switchProps},forwardedRef){let{control,form,value,disabled,checked,required,setControl,setChecked,hasConsumerStoppedPropagationRef,onUserInteraction,isFormControl,bubbleInput}=useSwitchContext(TRIGGER_NAME12,__scopeSwitch),composedRefs=useComposedRefs(forwardedRef,setControl),initialCheckedStateRef=React53.useRef(checked);return React53.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.form;if(associatedForm instanceof HTMLFormElement){let reset=__name44(()=>setChecked(initialCheckedStateRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setChecked]),import_jsx_runtime33.jsx(Primitive.button,{type:"button",role:"switch","aria-checked":checked,"aria-required":required,"data-state":getState7(checked),"data-disabled":disabled?"":void 0,disabled,value,...switchProps,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(onUserInteraction(),setChecked((prevChecked)=>!prevChecked),bubbleInput&&isFormControl){if(hasConsumerStoppedPropagationRef.current=event.isPropagationStopped(),!hasConsumerStoppedPropagationRef.current)event.stopPropagation()}})})},"SwitchTrigger")),Switch=React53.forwardRef(__name44(function(props,forwardedRef){let{__scopeSwitch,name,checked,defaultChecked,required,disabled,value,onCheckedChange,form,...switchProps}=props;return import_jsx_runtime33.jsx(SwitchProvider,{__scopeSwitch,checked,defaultChecked,disabled,required,onCheckedChange,name,form,value,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime33.jsxs(import_jsx_runtime33.Fragment,{children:[import_jsx_runtime33.jsx(SwitchTrigger,{...switchProps,ref:forwardedRef,__scopeSwitch}),isFormControl&&import_jsx_runtime33.jsx(SwitchBubbleInput,{__scopeSwitch})]})})},"Switch")),THUMB_NAME3="SwitchThumb",SwitchThumb=React53.forwardRef(__name44(function(props,forwardedRef){let{__scopeSwitch,...thumbProps}=props,context=useSwitchContext(THUMB_NAME3,__scopeSwitch);return import_jsx_runtime33.jsx(Primitive.span,{"data-state":getState7(context.checked),"data-disabled":context.disabled?"":void 0,...thumbProps,ref:forwardedRef})},"SwitchThumb")),BUBBLE_INPUT_NAME5="SwitchBubbleInput",SwitchBubbleInput=React53.forwardRef(__name44(function({__scopeSwitch,onClick,...props},forwardedRef){let{control,hasConsumerStoppedPropagationRef,userInteractionCount,checked,defaultChecked,required,disabled,name,value,form,bubbleInput,setBubbleInput}=useSwitchContext(BUBBLE_INPUT_NAME5,__scopeSwitch),composedRefs=useComposedRefs(forwardedRef,setBubbleInput),controlSize=useSize(control),shouldStopClickPropagationRef=React53.useRef(!1),prevCheckedRef=React53.useRef(checked),prevUserInteractionCountRef=React53.useRef(userInteractionCount);React53.useEffect(()=>{let input=bubbleInput;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setChecked=Object.getOwnPropertyDescriptor(inputProto,"checked").set,isUserInteraction=userInteractionCount!==prevUserInteractionCountRef.current;prevUserInteractionCountRef.current=userInteractionCount;let checkedChanged=prevCheckedRef.current!==checked;prevCheckedRef.current=checked;let bubbles=!(isUserInteraction&&hasConsumerStoppedPropagationRef.current);if(checkedChanged&&setChecked){shouldStopClickPropagationRef.current=!isUserInteraction;let event=new Event("click",{bubbles});setChecked.call(input,checked),input.dispatchEvent(event),shouldStopClickPropagationRef.current=!1}},[bubbleInput,checked,hasConsumerStoppedPropagationRef,userInteractionCount]);let defaultCheckedRef=React53.useRef(checked);return import_jsx_runtime33.jsx(Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:defaultChecked??defaultCheckedRef.current,required,disabled,name,value,form,...props,tabIndex:-1,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(shouldStopClickPropagationRef.current)event.stopPropagation()}),style:{...props.style,...controlSize,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"SwitchBubbleInput"));function isFunction6(value){return typeof value==="function"}__name44(isFunction6,"isFunction");function getState7(checked){return checked?"checked":"unchecked"}__name44(getState7,"getState");var React54=__toESM(require_react_development(),1);var import_jsx_runtime34=__toESM(require_react_jsx_runtime_development(),1),__defProp45=Object.defineProperty,__name45=(target,value)=>__defProp45(target,"name",{value,configurable:!0}),TABS_NAME="Tabs",[createTabsContext,createTabsScope]=createContextScope(TABS_NAME,[createRovingFocusGroupScope]),useRovingFocusGroupScope4=createRovingFocusGroupScope(),[TabsProvider,useTabsContext]=createTabsContext(TABS_NAME),Tabs=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value:valueProp,onValueChange,defaultValue,orientation="horizontal",dir,activationMode="automatic",...tabsProps}=props,direction=useDirection(dir),[value,setValue]=useControllableState({prop:valueProp,onChange:onValueChange,defaultProp:defaultValue??"",caller:TABS_NAME});return import_jsx_runtime34.jsx(TabsProvider,{scope:__scopeTabs,baseId:useId(),value,onValueChange:setValue,orientation,dir:direction,activationMode,children:import_jsx_runtime34.jsx(Primitive.div,{dir:direction,"data-orientation":orientation,...tabsProps,ref:forwardedRef})})},"Tabs")),TAB_LIST_NAME="TabsList",TabsList=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,loop=!0,...listProps}=props,context=useTabsContext(TAB_LIST_NAME,__scopeTabs),rovingFocusGroupScope=useRovingFocusGroupScope4(__scopeTabs);return import_jsx_runtime34.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation:context.orientation,dir:context.dir,loop,children:import_jsx_runtime34.jsx(Primitive.div,{role:"tablist","aria-orientation":context.orientation,...listProps,ref:forwardedRef})})},"TabsList")),TRIGGER_NAME13="TabsTrigger",TabsTrigger=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value,disabled=!1,...triggerProps}=props,context=useTabsContext(TRIGGER_NAME13,__scopeTabs),rovingFocusGroupScope=useRovingFocusGroupScope4(__scopeTabs),triggerId=makeTriggerId2(context.baseId,value),contentId=makeContentId2(context.baseId,value),isSelected=value===context.value;return import_jsx_runtime34.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:isSelected,children:import_jsx_runtime34.jsx(Primitive.button,{type:"button",role:"tab","aria-selected":isSelected,"aria-controls":contentId,"data-state":isSelected?"active":"inactive","data-disabled":disabled?"":void 0,disabled,id:triggerId,...triggerProps,ref:forwardedRef,onMouseDown:composeEventHandlers(props.onMouseDown,(event)=>{if(!disabled&&event.button===0&&event.ctrlKey===!1)context.onValueChange(value);else event.preventDefault()}),onKeyDown:composeEventHandlers(props.onKeyDown,(event)=>{if(disabled||event.target!==event.currentTarget)return;if([" ","Enter"].includes(event.key))context.onValueChange(value)}),onFocus:composeEventHandlers(props.onFocus,()=>{let isAutomaticActivation=context.activationMode!=="manual";if(!isSelected&&!disabled&&isAutomaticActivation)context.onValueChange(value)})})})},"TabsTrigger")),CONTENT_NAME9="TabsContent",TabsContent=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value,forceMount,children,...contentProps}=props,context=useTabsContext(CONTENT_NAME9,__scopeTabs),triggerId=makeTriggerId2(context.baseId,value),contentId=makeContentId2(context.baseId,value),isSelected=value===context.value,isMountAnimationPreventedRef=React54.useRef(isSelected);return React54.useEffect(()=>{let rAF=requestAnimationFrame(()=>isMountAnimationPreventedRef.current=!1);return()=>cancelAnimationFrame(rAF)},[]),import_jsx_runtime34.jsx(Presence,{present:forceMount||isSelected,children:({present})=>import_jsx_runtime34.jsx(Primitive.div,{"data-state":isSelected?"active":"inactive","data-orientation":context.orientation,role:"tabpanel","aria-labelledby":triggerId,hidden:!present,id:contentId,tabIndex:0,...contentProps,ref:forwardedRef,style:{...props.style,animationDuration:isMountAnimationPreventedRef.current?"0s":void 0},children:present&&children})})},"TabsContent"));function makeTriggerId2(baseId,value){return`${baseId}-trigger-${value}`}__name45(makeTriggerId2,"makeTriggerId");function makeContentId2(baseId,value){return`${baseId}-content-${value}`}__name45(makeContentId2,"makeContentId");var Root29=Tabs,List2=TabsList,Trigger9=TabsTrigger,Content5=TabsContent;var React55=__toESM(require_react_development(),1);var import_jsx_runtime35=__toESM(require_react_jsx_runtime_development(),1),__defProp46=Object.defineProperty,__name46=(target,value)=>__defProp46(target,"name",{value,configurable:!0}),NAME="Toggle",Toggle=React55.forwardRef(__name46(function(props,forwardedRef){let{pressed:pressedProp,defaultPressed,onPressedChange,...buttonProps}=props,[pressed,setPressed]=useControllableState({prop:pressedProp,onChange:onPressedChange,defaultProp:defaultPressed??!1,caller:NAME});return import_jsx_runtime35.jsx(Primitive.button,{type:"button","aria-pressed":pressed,"data-state":pressed?"on":"off","data-disabled":props.disabled?"":void 0,...buttonProps,ref:forwardedRef,onClick:composeEventHandlers(props.onClick,()=>{if(!props.disabled)setPressed(!pressed)})})},"Toggle")),Root10=Toggle;var React56=__toESM(require_react_development(),1);var import_jsx_runtime36=__toESM(require_react_jsx_runtime_development(),1),__defProp47=Object.defineProperty,__name47=(target,value)=>__defProp47(target,"name",{value,configurable:!0}),TOGGLE_GROUP_NAME="ToggleGroup",[createToggleGroupContext,createToggleGroupScope]=createContextScope(TOGGLE_GROUP_NAME,[createRovingFocusGroupScope]),useRovingFocusGroupScope5=createRovingFocusGroupScope(),ToggleGroup=React56.forwardRef(__name47(function(props,forwardedRef){let{type,...toggleGroupProps}=props;if(type==="single")return import_jsx_runtime36.jsx(ToggleGroupImplSingle,{role:"radiogroup",...toggleGroupProps,ref:forwardedRef});if(type==="multiple")return import_jsx_runtime36.jsx(ToggleGroupImplMultiple,{role:"toolbar",...toggleGroupProps,ref:forwardedRef});throw Error(`Missing prop \`type\` expected on \`${TOGGLE_GROUP_NAME}\``)},"ToggleGroup")),[ToggleGroupValueProvider,useToggleGroupValueContext]=createToggleGroupContext(TOGGLE_GROUP_NAME),ToggleGroupImplSingle=React56.forwardRef(__name47(function(props,forwardedRef){let{value:valueProp,defaultValue,onValueChange=__name47(()=>{},"onValueChange"),...toggleGroupSingleProps}=props,[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??"",onChange:onValueChange,caller:TOGGLE_GROUP_NAME});return import_jsx_runtime36.jsx(ToggleGroupValueProvider,{scope:props.__scopeToggleGroup,type:"single",value:React56.useMemo(()=>value?[value]:[],[value]),onItemActivate:setValue,onItemDeactivate:React56.useCallback(()=>setValue(""),[setValue]),children:import_jsx_runtime36.jsx(ToggleGroupImpl,{...toggleGroupSingleProps,ref:forwardedRef})})},"ToggleGroupImplSingle")),ToggleGroupImplMultiple=React56.forwardRef(__name47(function(props,forwardedRef){let{value:valueProp,defaultValue,onValueChange=__name47(()=>{},"onValueChange"),...toggleGroupMultipleProps}=props,[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??[],onChange:onValueChange,caller:TOGGLE_GROUP_NAME}),handleButtonActivate=React56.useCallback((itemValue)=>setValue((prevValue=[])=>[...prevValue,itemValue]),[setValue]),handleButtonDeactivate=React56.useCallback((itemValue)=>setValue((prevValue=[])=>prevValue.filter((value2)=>value2!==itemValue)),[setValue]);return import_jsx_runtime36.jsx(ToggleGroupValueProvider,{scope:props.__scopeToggleGroup,type:"multiple",value,onItemActivate:handleButtonActivate,onItemDeactivate:handleButtonDeactivate,children:import_jsx_runtime36.jsx(ToggleGroupImpl,{...toggleGroupMultipleProps,ref:forwardedRef})})},"ToggleGroupImplMultiple")),[ToggleGroupContext,useToggleGroupContext]=createToggleGroupContext(TOGGLE_GROUP_NAME),ToggleGroupImpl=React56.forwardRef(__name47(function(props,forwardedRef){let{__scopeToggleGroup,disabled=!1,rovingFocus=!0,orientation,dir,loop=!0,...toggleGroupProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope5(__scopeToggleGroup),direction=useDirection(dir),commonProps={dir:direction,...toggleGroupProps};return import_jsx_runtime36.jsx(ToggleGroupContext,{scope:__scopeToggleGroup,rovingFocus,disabled,children:rovingFocus?import_jsx_runtime36.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation,dir:direction,loop,children:import_jsx_runtime36.jsx(Primitive.div,{...commonProps,ref:forwardedRef})}):import_jsx_runtime36.jsx(Primitive.div,{...commonProps,ref:forwardedRef})})},"ToggleGroupImpl")),ITEM_NAME5="ToggleGroupItem",ToggleGroupItem=React56.forwardRef(__name47(function(props,forwardedRef){let valueContext=useToggleGroupValueContext(ITEM_NAME5,props.__scopeToggleGroup),context=useToggleGroupContext(ITEM_NAME5,props.__scopeToggleGroup),rovingFocusGroupScope=useRovingFocusGroupScope5(props.__scopeToggleGroup),pressed=valueContext.value.includes(props.value),disabled=context.disabled||props.disabled,commonProps={...props,pressed,disabled},ref=React56.useRef(null);return context.rovingFocus?import_jsx_runtime36.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:pressed,ref,children:import_jsx_runtime36.jsx(ToggleGroupItemImpl,{...commonProps,ref:forwardedRef})}):import_jsx_runtime36.jsx(ToggleGroupItemImpl,{...commonProps,ref:forwardedRef})},"ToggleGroupItem")),ToggleGroupItemImpl=React56.forwardRef(__name47(function(props,forwardedRef){let{__scopeToggleGroup,value,...itemProps}=props,valueContext=useToggleGroupValueContext(ITEM_NAME5,__scopeToggleGroup),singleProps={role:"radio","aria-checked":props.pressed,"aria-pressed":void 0},typeProps=valueContext.type==="single"?singleProps:void 0;return import_jsx_runtime36.jsx(Toggle,{...typeProps,...itemProps,ref:forwardedRef,onPressedChange:(pressed)=>{if(pressed)valueContext.onItemActivate(value);else valueContext.onItemDeactivate(value)}})},"ToggleGroupItemImpl"));var React57=__toESM(require_react_development(),1);var import_jsx_runtime37=__toESM(require_react_jsx_runtime_development(),1),__defProp48=Object.defineProperty,__name48=(target,value)=>__defProp48(target,"name",{value,configurable:!0}),[createTooltipContext,createTooltipScope]=createContextScope("Tooltip",[createPopperScope]),usePopperScope5=createPopperScope(),PROVIDER_NAME="TooltipProvider",DEFAULT_DELAY_DURATION=700,TOOLTIP_OPEN="tooltip.open",[TooltipProviderContextProvider,useTooltipProviderContext]=createTooltipContext(PROVIDER_NAME),TooltipProvider=__name48((props)=>{let{__scopeTooltip,delayDuration=DEFAULT_DELAY_DURATION,skipDelayDuration=300,disableHoverableContent=!1,children}=props,isOpenDelayedRef=React57.useRef(!0),isPointerInTransitRef=React57.useRef(!1),skipDelayTimerRef=React57.useRef(0);return React57.useEffect(()=>{let skipDelayTimer=skipDelayTimerRef.current;return()=>window.clearTimeout(skipDelayTimer)},[]),import_jsx_runtime37.jsx(TooltipProviderContextProvider,{scope:__scopeTooltip,isOpenDelayedRef,delayDuration,onOpen:React57.useCallback(()=>{if(skipDelayDuration<=0)return;window.clearTimeout(skipDelayTimerRef.current),isOpenDelayedRef.current=!1},[skipDelayDuration]),onClose:React57.useCallback(()=>{if(skipDelayDuration<=0)return;window.clearTimeout(skipDelayTimerRef.current),skipDelayTimerRef.current=window.setTimeout(()=>isOpenDelayedRef.current=!0,skipDelayDuration)},[skipDelayDuration]),isPointerInTransitRef,onPointerInTransitChange:React57.useCallback((inTransit)=>{isPointerInTransitRef.current=inTransit},[]),disableHoverableContent,children})},"TooltipProvider"),TOOLTIP_NAME="Tooltip",[TooltipContextProvider,useTooltipContext]=createTooltipContext(TOOLTIP_NAME),Tooltip=__name48((props)=>{let{__scopeTooltip,children,open:openProp,defaultOpen,onOpenChange,disableHoverableContent:disableHoverableContentProp,delayDuration:delayDurationProp}=props,providerContext=useTooltipProviderContext(TOOLTIP_NAME,props.__scopeTooltip),popperScope=usePopperScope5(__scopeTooltip),[trigger,setTrigger]=React57.useState(null),[contentIdState,setContentId]=React57.useState(void 0),generatedContentId=useId(),openTimerRef=React57.useRef(0),disableHoverableContent=disableHoverableContentProp??providerContext.disableHoverableContent,delayDuration=delayDurationProp??providerContext.delayDuration,wasOpenDelayedRef=React57.useRef(!1),[open,setOpen]=useControllableState({prop:openProp,defaultProp:defaultOpen??!1,onChange:__name48((open2)=>{if(open2)providerContext.onOpen(),document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));else providerContext.onClose();onOpenChange?.(open2)},"onChange"),caller:TOOLTIP_NAME}),stateAttribute=React57.useMemo(()=>open?wasOpenDelayedRef.current?"delayed-open":"instant-open":"closed",[open]),handleOpen=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=0,wasOpenDelayedRef.current=!1,setOpen(!0)},[setOpen]),handleClose=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=0,setOpen(!1)},[setOpen]),handleDelayedOpen=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=window.setTimeout(()=>{wasOpenDelayedRef.current=!0,setOpen(!0),openTimerRef.current=0},delayDuration)},[delayDuration,setOpen]);return React57.useEffect(()=>()=>{if(openTimerRef.current)window.clearTimeout(openTimerRef.current),openTimerRef.current=0},[]),import_jsx_runtime37.jsx(Root23,{...popperScope,children:import_jsx_runtime37.jsx(TooltipContextProvider,{scope:__scopeTooltip,contentId:contentIdState??generatedContentId,setContentId,open,stateAttribute,trigger,onTriggerChange:setTrigger,onTriggerEnter:React57.useCallback(()=>{if(providerContext.isOpenDelayedRef.current)handleDelayedOpen();else handleOpen()},[providerContext.isOpenDelayedRef,handleDelayedOpen,handleOpen]),onTriggerLeave:React57.useCallback(()=>{if(disableHoverableContent)handleClose();else window.clearTimeout(openTimerRef.current),openTimerRef.current=0},[handleClose,disableHoverableContent]),onOpen:handleOpen,onClose:handleClose,disableHoverableContent,children})})},"Tooltip"),TRIGGER_NAME14="TooltipTrigger",TooltipTrigger=React57.forwardRef(__name48(function(props,forwardedRef){let{__scopeTooltip,...triggerProps}=props,context=useTooltipContext(TRIGGER_NAME14,__scopeTooltip),providerContext=useTooltipProviderContext(TRIGGER_NAME14,__scopeTooltip),popperScope=usePopperScope5(__scopeTooltip),ref=React57.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref,context.onTriggerChange),isPointerDownRef=React57.useRef(!1),hasPointerMoveOpenedRef=React57.useRef(!1),handlePointerUp=React57.useCallback(()=>isPointerDownRef.current=!1,[]);return React57.useEffect(()=>()=>document.removeEventListener("pointerup",handlePointerUp),[handlePointerUp]),import_jsx_runtime37.jsx(Anchor,{asChild:!0,...popperScope,children:import_jsx_runtime37.jsx(Primitive.button,{"aria-describedby":context.open?context.contentId:void 0,"data-state":context.stateAttribute,...triggerProps,ref:composedRefs,onPointerMove:composeEventHandlers(props.onPointerMove,(event)=>{if(event.pointerType==="touch")return;if(!hasPointerMoveOpenedRef.current&&!providerContext.isPointerInTransitRef.current)context.onTriggerEnter(),hasPointerMoveOpenedRef.current=!0}),onPointerLeave:composeEventHandlers(props.onPointerLeave,()=>{context.onTriggerLeave(),hasPointerMoveOpenedRef.current=!1}),onPointerDown:composeEventHandlers(props.onPointerDown,()=>{if(context.open)context.onClose();isPointerDownRef.current=!0,document.addEventListener("pointerup",handlePointerUp,{once:!0})}),onFocus:composeEventHandlers(props.onFocus,()=>{if(!isPointerDownRef.current)context.onOpen()}),onBlur:composeEventHandlers(props.onBlur,context.onClose),onClick:composeEventHandlers(props.onClick,context.onClose)})})},"TooltipTrigger")),PORTAL_NAME6="TooltipPortal",[PortalProvider6,usePortalContext6]=createTooltipContext(PORTAL_NAME6,{forceMount:void 0});var Slottable=createSlottable("TooltipContent");function getExitSideFromRect(point,rect){let top=Math.abs(rect.top-point.y),bottom=Math.abs(rect.bottom-point.y),right=Math.abs(rect.right-point.x),left=Math.abs(rect.left-point.x);switch(Math.min(top,bottom,right,left)){case left:return"left";case right:return"right";case top:return"top";case bottom:return"bottom";default:throw Error("unreachable")}}__name48(getExitSideFromRect,"getExitSideFromRect");function getPaddedExitPoints(exitPoint,exitSide,padding=5){let paddedExitPoints=[];switch(exitSide){case"top":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y+padding},{x:exitPoint.x+padding,y:exitPoint.y+padding});break;case"bottom":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y-padding},{x:exitPoint.x+padding,y:exitPoint.y-padding});break;case"left":paddedExitPoints.push({x:exitPoint.x+padding,y:exitPoint.y-padding},{x:exitPoint.x+padding,y:exitPoint.y+padding});break;case"right":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y-padding},{x:exitPoint.x-padding,y:exitPoint.y+padding});break}return paddedExitPoints}__name48(getPaddedExitPoints,"getPaddedExitPoints");function getPointsFromRect(rect){let{top,right,bottom,left}=rect;return[{x:left,y:top},{x:right,y:top},{x:right,y:bottom},{x:left,y:bottom}]}__name48(getPointsFromRect,"getPointsFromRect");function isPointInPolygon2(point,polygon){let{x,y}=point,inside=!1;for(let i=0,j=polygon.length-1;i<polygon.length;j=i++){let ii=polygon[i],jj=polygon[j],{x:xi,y:yi}=ii,{x:xj,y:yj}=jj;if(yi>y!==yj>y&&x<(xj-xi)*(y-yi)/(yj-yi)+xi)inside=!inside}return inside}__name48(isPointInPolygon2,"isPointInPolygon");function getHull(points){let newPoints=points.slice();return newPoints.sort((a,b)=>{if(a.x<b.x)return-1;else if(a.x>b.x)return 1;else if(a.y<b.y)return-1;else if(a.y>b.y)return 1;else return 0}),getHullPresorted(newPoints)}__name48(getHull,"getHull");function getHullPresorted(points){if(points.length<=1)return points.slice();let upperHull=[];for(let i=0;i<points.length;i++){let p=points[i];while(upperHull.length>=2){let q=upperHull[upperHull.length-1],r=upperHull[upperHull.length-2];if((q.x-r.x)*(p.y-r.y)>=(q.y-r.y)*(p.x-r.x))upperHull.pop();else break}upperHull.push(p)}upperHull.pop();let lowerHull=[];for(let i=points.length-1;i>=0;i--){let p=points[i];while(lowerHull.length>=2){let q=lowerHull[lowerHull.length-1],r=lowerHull[lowerHull.length-2];if((q.x-r.x)*(p.y-r.y)>=(q.y-r.y)*(p.x-r.x))lowerHull.pop();else break}lowerHull.push(p)}if(lowerHull.pop(),upperHull.length===1&&lowerHull.length===1&&upperHull[0].x===lowerHull[0].x&&upperHull[0].y===lowerHull[0].y)return upperHull;else return upperHull.concat(lowerHull)}__name48(getHullPresorted,"getHullPresorted");var Provider=TooltipProvider,Root34=Tooltip,Trigger10=TooltipTrigger;var import_react5=__toESM(require_react_development(),1);var jsx_dev_runtime=__toESM(require_react_jsx_dev_runtime_development(),1);function itemValues(children){let values=[];for(let child of import_react5.Children.toArray(children)){if(!import_react5.isValidElement(child))continue;let{value}=child.props;if(typeof value==="string")values.push(value)}return values}function Accordion2({className,type,...props}){let classes=cn("flex w-full flex-col",className),resolvedType=type==="multiple"?"multiple":"single",values=props.value||props.defaultValue?void 0:itemValues(props.children),defaultValue=values===void 0||values.length===0?void 0:resolvedType==="multiple"?values:values[0];return jsx_dev_runtime.jsxDEV(Root2,{type:resolvedType,...resolvedType==="single"?{collapsible:!0}:{},"data-slot":"accordion",className:classes,...props,...defaultValue===void 0?{}:{defaultValue}},void 0,!1,void 0,this)}function AccordionItem2({className,...props}){return jsx_dev_runtime.jsxDEV(Item,{"data-slot":"accordion-item",className:cn("not-last:border-b",className),...props},void 0,!1,void 0,this)}function AccordionTrigger2({className,children,...props}){return jsx_dev_runtime.jsxDEV(Header,{className:"flex",children:jsx_dev_runtime.jsxDEV(Trigger2,{"data-slot":"accordion-trigger",className:cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",className),...props,children:[children,jsx_dev_runtime.jsxDEV(ChevronDown,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"},void 0,!1,void 0,this),jsx_dev_runtime.jsxDEV(ChevronUp,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function AccordionContent2({className,children,...props}){return jsx_dev_runtime.jsxDEV(Content2,{"data-slot":"accordion-content",className:"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",...props,children:jsx_dev_runtime.jsxDEV("div",{className:cn("h-(--radix-accordion-content-height) pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",className),children},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var falsyToString=(value)=>typeof value==="boolean"?`${value}`:value===0?"0":value,cx=clsx,cva=(base,config)=>(props)=>{var _config_compoundVariants;if((config===null||config===void 0?void 0:config.variants)==null)return cx(base,props===null||props===void 0?void 0:props.class,props===null||props===void 0?void 0:props.className);let{variants,defaultVariants}=config,getVariantClassNames=Object.keys(variants).map((variant)=>{let variantProp=props===null||props===void 0?void 0:props[variant],defaultVariantProp=defaultVariants===null||defaultVariants===void 0?void 0:defaultVariants[variant];if(variantProp===null)return null;let variantKey=falsyToString(variantProp)||falsyToString(defaultVariantProp);return variants[variant][variantKey]}),propsWithoutUndefined=props&&Object.entries(props).reduce((acc,param)=>{let[key,value]=param;if(value===void 0)return acc;return acc[key]=value,acc},{}),getCompoundVariantClassNames=config===null||config===void 0?void 0:(_config_compoundVariants=config.compoundVariants)===null||_config_compoundVariants===void 0?void 0:_config_compoundVariants.reduce((acc,param)=>{let{class:cvClass,className:cvClassName,...compoundVariantOptions}=param;return Object.entries(compoundVariantOptions).every((param)=>{let[key,value]=param;return Array.isArray(value)?value.includes({...defaultVariants,...propsWithoutUndefined}[key]):{...defaultVariants,...propsWithoutUndefined}[key]===value})?[...acc,cvClass,cvClassName]:acc},[]);return cx(base,getVariantClassNames,getCompoundVariantClassNames,props===null||props===void 0?void 0:props.class,props===null||props===void 0?void 0:props.className)};var jsx_dev_runtime2=__toESM(require_react_jsx_dev_runtime_development(),1),alertVariants=cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});function Alert({className,variant,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert",role:"alert",className:cn(alertVariants({variant}),className),...props},void 0,!1,void 0,this)}function AlertTitle({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-title",className:cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",className),...props},void 0,!1,void 0,this)}function AlertDescription({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-description",className:cn("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",className),...props},void 0,!1,void 0,this)}function AlertAction({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-action",className:cn("absolute top-2 right-2",className),...props},void 0,!1,void 0,this)}function pinOpenInDesignMode(props){if(props.open!==void 0||props.defaultOpen!==void 0)return props;return{...props,open:!0}}function inlineOpenAttrs(){return{"data-state":"open","data-velloo-inline":"true"}}var jsx_dev_runtime3=__toESM(require_react_jsx_dev_runtime_development(),1),buttonVariants=cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Button({className,variant="default",size="default",asChild=!1,...props}){let Comp=asChild?Slot:"button";return jsx_dev_runtime3.jsxDEV(Comp,{"data-slot":"button","data-variant":variant,"data-size":size,className:cn(buttonVariants({variant,size,className})),...props},void 0,!1,void 0,this)}var jsx_dev_runtime4=__toESM(require_react_jsx_dev_runtime_development(),1);function AlertDialog2({...props}){return jsx_dev_runtime4.jsxDEV(Root22,{"data-slot":"alert-dialog",...pinOpenInDesignMode(props)},void 0,!1,void 0,this)}function AlertDialogTrigger2({...props}){return jsx_dev_runtime4.jsxDEV(Trigger22,{"data-slot":"alert-dialog-trigger",...props},void 0,!1,void 0,this)}function AlertDialogPortal({children}){return jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment,{children},void 0,!1,void 0,this)}function AlertDialogOverlay2({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-overlay",...inlineOpenAttrs(),className:cn("fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",className),...props},void 0,!1,void 0,this)}function AlertDialogContent2({className,size="default",...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-content","data-size":size,...inlineOpenAttrs(),className:cn("group/alert-dialog-content z-50 grid w-full gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm",className),...props},void 0,!1,void 0,this)}function AlertDialogHeader({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-header",className:cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",className),...props},void 0,!1,void 0,this)}function AlertDialogFooter({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-footer",className:cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",className),...props},void 0,!1,void 0,this)}function AlertDialogMedia({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-media",className:cn("mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",className),...props},void 0,!1,void 0,this)}function AlertDialogTitle2({className,...props}){return jsx_dev_runtime4.jsxDEV("h2",{"data-slot":"alert-dialog-title",className:cn("cn-font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",className),...props},void 0,!1,void 0,this)}function AlertDialogDescription2({className,...props}){return jsx_dev_runtime4.jsxDEV("p",{"data-slot":"alert-dialog-description",className:cn("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",className),...props},void 0,!1,void 0,this)}function AlertDialogAction2({className,variant="default",size="default",...props}){return jsx_dev_runtime4.jsxDEV(Button,{"data-slot":"alert-dialog-action",variant,size,className:cn(className),...props},void 0,!1,void 0,this)}function AlertDialogCancel2({className,variant="outline",size="default",...props}){return jsx_dev_runtime4.jsxDEV(Button,{"data-slot":"alert-dialog-cancel",variant,size,className:cn(className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime5=__toESM(require_react_jsx_dev_runtime_development(),1);function AspectRatio2({...props}){return jsx_dev_runtime5.jsxDEV(Root3,{"data-slot":"aspect-ratio",...props},void 0,!1,void 0,this)}var jsx_dev_runtime6=__toESM(require_react_jsx_dev_runtime_development(),1),attachmentVariants=cva("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-xl border bg-card text-card-foreground transition-colors focus-within:ring-1 focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 data-[state=idle]:border-dashed",{variants:{size:{default:"gap-2 text-sm has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2",sm:"gap-2.5 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5",xs:"gap-1.5 rounded-lg text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1"},orientation:{horizontal:"min-w-40 items-center",vertical:"w-24 flex-col has-data-[slot=attachment-content]:w-30"}}});function Attachment({className,state="done",size="default",orientation="horizontal",...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment","data-state":state,"data-size":size,"data-orientation":orientation,className:cn(attachmentVariants({size,orientation}),className),...props},void 0,!1,void 0,this)}var attachmentMediaVariants=cva("relative flex aspect-square w-10 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted text-foreground group-data-[orientation=vertical]/attachment:w-full group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 group-data-[size=xs]/attachment:rounded-md group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive group-data-[orientation=vertical]/attachment:*:data-[slot=spinner]:size-6! [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 group-data-[orientation=vertical]/attachment:[&_svg:not([class*='size-'])]:size-6 group-data-[size=xs]/attachment:[&_svg:not([class*='size-'])]:size-3.5",{variants:{variant:{icon:"",image:"opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover"}},defaultVariants:{variant:"icon"}});function AttachmentMedia({className,variant="icon",...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-media","data-variant":variant,className:cn(attachmentMediaVariants({variant}),className),...props},void 0,!1,void 0,this)}function AttachmentContent({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-content",className:cn("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1",className),...props},void 0,!1,void 0,this)}function AttachmentTitle({className,...props}){return jsx_dev_runtime6.jsxDEV("span",{"data-slot":"attachment-title",className:cn("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer",className),...props},void 0,!1,void 0,this)}function AttachmentDescription({className,...props}){return jsx_dev_runtime6.jsxDEV("span",{"data-slot":"attachment-description",className:cn("mt-0.5 block min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive/80","max-w-full",className),...props},void 0,!1,void 0,this)}function AttachmentActions({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-actions",className:cn("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:right-3 group-data-[orientation=vertical]/attachment:gap-1",className),...props},void 0,!1,void 0,this)}function AttachmentAction({className,variant,size="icon-xs",...props}){return jsx_dev_runtime6.jsxDEV(Button,{"data-slot":"attachment-action",variant:variant??"ghost",size,className:cn(className),...props},void 0,!1,void 0,this)}function AttachmentTrigger({className,asChild=!1,type,...props}){let Comp=asChild?Slot:"button";return jsx_dev_runtime6.jsxDEV(Comp,{"data-slot":"attachment-trigger",type:asChild?void 0:type??"button",className:cn("absolute inset-0 z-10 outline-none",className),...props},void 0,!1,void 0,this)}function AttachmentGroup({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-group",className:cn("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 scrollbar-none gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime7=__toESM(require_react_jsx_dev_runtime_development(),1);function Avatar2({className,size="default",...props}){return jsx_dev_runtime7.jsxDEV(Avatar,{"data-slot":"avatar","data-size":size,className:cn("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",className),...props},void 0,!1,void 0,this)}function AvatarImage2({className,...props}){return jsx_dev_runtime7.jsxDEV(AvatarImage,{"data-slot":"avatar-image",className:cn("aspect-square size-full rounded-full object-cover",className),...props},void 0,!1,void 0,this)}function AvatarFallback2({className,...props}){return jsx_dev_runtime7.jsxDEV(AvatarFallback,{"data-slot":"avatar-fallback",className:cn("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",className),...props},void 0,!1,void 0,this)}function AvatarBadge({className,...props}){return jsx_dev_runtime7.jsxDEV("span",{"data-slot":"avatar-badge",className:cn("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none","group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden","group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2","group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",className),...props},void 0,!1,void 0,this)}function AvatarGroup({className,...props}){return jsx_dev_runtime7.jsxDEV("div",{"data-slot":"avatar-group",className:cn("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",className),...props},void 0,!1,void 0,this)}function AvatarGroupCount({className,...props}){return jsx_dev_runtime7.jsxDEV("div",{"data-slot":"avatar-group-count",className:cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime8=__toESM(require_react_jsx_dev_runtime_development(),1),badgeVariants=cva("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function Badge({className,variant="default",asChild=!1,...props}){let Comp=asChild?Slot:"span";return jsx_dev_runtime8.jsxDEV(Comp,{"data-slot":"badge","data-variant":variant,className:cn(badgeVariants({variant}),className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime9=__toESM(require_react_jsx_dev_runtime_development(),1);function Breadcrumb({className,...props}){return jsx_dev_runtime9.jsxDEV("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",className:cn(className),...props},void 0,!1,void 0,this)}function BreadcrumbList({className,...props}){return jsx_dev_runtime9.jsxDEV("ol",{"data-slot":"breadcrumb-list",className:cn("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbItem({className,...props}){return jsx_dev_runtime9.jsxDEV("li",{"data-slot":"breadcrumb-item",className:cn("inline-flex items-center gap-1",className),...props},void 0,!1,void 0,this)}function BreadcrumbLink({asChild,className,...props}){let Comp=asChild?Slot:"a";return jsx_dev_runtime9.jsxDEV(Comp,{"data-slot":"breadcrumb-link",className:cn("transition-colors hover:text-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbPage({className,...props}){return jsx_dev_runtime9.jsxDEV("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:cn("font-normal text-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbSeparator({children,className,...props}){return jsx_dev_runtime9.jsxDEV("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:cn("[&>svg]:size-3.5",className),...props,children:children??jsx_dev_runtime9.jsxDEV(ChevronRight,{className:"cn-rtl-flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function BreadcrumbEllipsis({className,...props}){return jsx_dev_runtime9.jsxDEV("span",{"data-slot":"breadcrumb-ellipsis",role:"presentation","aria-hidden":"true",className:cn("flex size-5 items-center justify-center [&>svg]:size-4",className),...props,children:[jsx_dev_runtime9.jsxDEV(Ellipsis,{},void 0,!1,void 0,this),jsx_dev_runtime9.jsxDEV("span",{className:"sr-only",children:"More"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var jsx_dev_runtime10=__toESM(require_react_jsx_dev_runtime_development(),1);function BubbleGroup({className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble-group",className:cn("flex min-w-0 flex-col gap-2",className),...props},void 0,!1,void 0,this)}var bubbleVariants=cva("group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full",{variants:{variant:{default:"*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80",secondary:"*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]",muted:"*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]",tinted:"*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]",outline:"*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30",ghost:"border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50",destructive:"*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30"}},defaultVariants:{variant:"default"}});function Bubble({variant="default",align="start",className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble","data-variant":variant,"data-align":align,className:cn(bubbleVariants({variant}),className),...props},void 0,!1,void 0,this)}function BubbleContent({asChild=!1,className,...props}){let Comp=asChild?Slot:"div";return jsx_dev_runtime10.jsxDEV(Comp,{"data-slot":"bubble-content",className:cn("w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed wrap-break-word group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50",className),...props},void 0,!1,void 0,this)}var bubbleReactionsVariants=cva("absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-sm ring-3 ring-card has-[button]:p-0",{variants:{side:{top:"top-0 -translate-y-3/4",bottom:"bottom-0 translate-y-3/4"},align:{start:"left-3",end:"right-3"}},defaultVariants:{side:"bottom",align:"end"}});function BubbleReactions({side="bottom",align="end",className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble-reactions","data-align":align,"data-side":side,className:cn(bubbleReactionsVariants({side,align}),className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime11=__toESM(require_react_jsx_dev_runtime_development(),1);function Separator3({className,orientation="horizontal",decorative=!0,...props}){return jsx_dev_runtime11.jsxDEV(Root9,{"data-slot":"separator",decorative,orientation,className:cn("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime12=__toESM(require_react_jsx_dev_runtime_development(),1),buttonGroupVariants=cva("group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"}},defaultVariants:{orientation:"horizontal"}});function ButtonGroup({className,orientation,...props}){return jsx_dev_runtime12.jsxDEV("div",{role:"group","data-slot":"button-group","data-orientation":orientation,className:cn(buttonGroupVariants({orientation}),className),...props},void 0,!1,void 0,this)}function ButtonGroupText({className,asChild=!1,...props}){let Comp=asChild?Slot:"div";return jsx_dev_runtime12.jsxDEV(Comp,{className:cn("flex items-center gap-2 rounded-lg border bg-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",className),...props},void 0,!1,void 0,this)}function ButtonGroupSeparator({className,orientation="vertical",...props}){return jsx_dev_runtime12.jsxDEV(Separator3,{"data-slot":"button-group-separator",orientation,className:cn("relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto",className),...props},void 0,!1,void 0,this)}var React84=__toESM(require_react_development(),1);function tzName(timeZone,date,format="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone,timeZoneName:format}).format(date).split(/\s/g).slice(2).join(" ")}var offsetFormatCache={},offsetCache={};function tzOffset(timeZone,date){try{let offsetStr=(offsetFormatCache[timeZone]||=new Intl.DateTimeFormat("en-US",{timeZone,timeZoneName:"longOffset"}).format)(date).split("GMT")[1];if(offsetStr in offsetCache)return offsetCache[offsetStr];return calcOffset(offsetStr,offsetStr.split(":"))}catch{if(timeZone in offsetCache)return offsetCache[timeZone];let captures=timeZone?.match(offsetRe);if(captures)return calcOffset(timeZone,captures.slice(1));return NaN}}var offsetRe=/([+-]\d\d):?(\d\d)?/;function calcOffset(cacheStr,values){let hours=+(values[0]||0),minutes=+(values[1]||0),seconds=+(values[2]||0)/60;return offsetCache[cacheStr]=hours*60+minutes>0?hours*60+minutes+seconds:hours*60-minutes-seconds}class TZDateMini extends Date{constructor(...args){super();if(args.length>1&&typeof args[args.length-1]==="string")this.timeZone=args.pop();if(this.internal=new Date,isNaN(tzOffset(this.timeZone,this)))this.setTime(NaN);else if(!args.length)this.setTime(Date.now());else if(typeof args[0]==="number"&&(args.length===1||args.length===2&&typeof args[1]!=="number"))this.setTime(args[0]);else if(typeof args[0]==="string")this.setTime(+new Date(args[0]));else if(args[0]instanceof Date)this.setTime(+args[0]);else this.setTime(+new Date(...args)),adjustToSystemTZ(this,args)}static tz(tz,...args){return args.length?new TZDateMini(...args,tz):new TZDateMini(Date.now(),tz)}withTimeZone(timeZone){return new TZDateMini(+this,timeZone)}getTimezoneOffset(){let offset=-tzOffset(this.timeZone,this);return offset>0?Math.floor(offset):Math.ceil(offset)}setTime(_time){return Date.prototype.setTime.apply(this,arguments),syncToInternal(this),+this}[Symbol.for("constructDateFrom")](date){return new TZDateMini(+new Date(date),this.timeZone)}}var re=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach((method)=>{if(!re.test(method))return;let utcMethod=method.replace(re,"$1UTC");if(!TZDateMini.prototype[utcMethod])return;if(method.startsWith("get"))TZDateMini.prototype[method]=function(){return this.internal[utcMethod]()};else TZDateMini.prototype[method]=function(){return Date.prototype[utcMethod].apply(this.internal,arguments),syncFromInternal(this),+this},TZDateMini.prototype[utcMethod]=function(){return Date.prototype[utcMethod].apply(this,arguments),syncToInternal(this),+this}});function syncToInternal(date){date.internal.setTime(+date),date.internal.setUTCSeconds(date.internal.getUTCSeconds()-Math.round(-tzOffset(date.timeZone,date)*60))}function syncFromInternal(date){Date.prototype.setFullYear.call(date,date.internal.getUTCFullYear(),date.internal.getUTCMonth(),date.internal.getUTCDate()),Date.prototype.setHours.call(date,date.internal.getUTCHours(),date.internal.getUTCMinutes(),date.internal.getUTCSeconds(),date.internal.getUTCMilliseconds()),adjustToSystemTZ(date)}function adjustToSystemTZ(date,constructorArgs){let expectedInternalTime=Array.isArray(constructorArgs)?constructorArgsToInternalTime(constructorArgs):+date.internal,offsetWithSeconds=tzOffset(date.timeZone,date),offset=offsetWithSeconds>0?Math.floor(offsetWithSeconds):Math.ceil(offsetWithSeconds),prevHour=new Date(+date);prevHour.setUTCHours(prevHour.getUTCHours()-1);let systemOffset=-new Date(+date).getTimezoneOffset(),prevHourSystemOffset=-new Date(+prevHour).getTimezoneOffset(),systemDSTChange=systemOffset-prevHourSystemOffset,systemOffsetForDiff=systemOffset;if(systemDSTChange&&systemOffset!==offset){let systemHour=Date.prototype.getHours.apply(date),expectedHour=Array.isArray(constructorArgs)?constructorArgs[3]||0:date.internal.getUTCHours();if(systemHour!==expectedHour){let testDate=new Date(+date),testOffsetDiff=systemOffset-offset;if(testOffsetDiff)testDate.setUTCMinutes(testDate.getUTCMinutes()+testOffsetDiff);let testOffsetWithSeconds=tzOffset(date.timeZone,testDate);if((testOffsetWithSeconds>0?Math.floor(testOffsetWithSeconds):Math.ceil(testOffsetWithSeconds))===offset)systemOffsetForDiff=prevHourSystemOffset}}let offsetDiff=systemOffsetForDiff-offset;if(offsetDiff)Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+offsetDiff);let systemDate=new Date(+date);systemDate.setUTCSeconds(0);let systemSecondsOffset=systemOffset>0?systemDate.getSeconds():(systemDate.getSeconds()-60)%60,secondsOffset=Math.round(-(tzOffset(date.timeZone,date)*60))%60;if(secondsOffset||systemSecondsOffset)Date.prototype.setUTCSeconds.call(date,Date.prototype.getUTCSeconds.call(date)+secondsOffset+systemSecondsOffset);let postOffsetWithSeconds=tzOffset(date.timeZone,date),postOffset=postOffsetWithSeconds>0?Math.floor(postOffsetWithSeconds):Math.ceil(postOffsetWithSeconds),postOffsetDiff=-new Date(+date).getTimezoneOffset()-postOffset,offsetChanged=postOffset!==offset,postDiff=postOffsetDiff-offsetDiff,targetDSTShift=postOffset-offset,postOffsetCandidate=expectedInternalTime-postOffset*60*1000,normalizedTargetDSTGap=targetDSTShift>0&&targetInternalTime(date)-expectedInternalTime===targetDSTShift*60*1000&&targetInternalTime(date,postOffsetCandidate)!==expectedInternalTime;if(offsetChanged&&postDiff&&!normalizedTargetDSTGap){Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+postDiff);let newOffsetWithSeconds=tzOffset(date.timeZone,date),newOffset=newOffsetWithSeconds>0?Math.floor(newOffsetWithSeconds):Math.ceil(newOffsetWithSeconds),offsetChange=postOffset-newOffset;if(offsetChange&&postDiff<0)Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+offsetChange)}syncToInternal(date);let drift=(constructorArgs?expectedInternalTime:expectedInternalTime+secondsOffset*1000)-+date.internal;if(drift&&Math.abs(drift)<1800000)Date.prototype.setTime.call(date,+date+drift),syncToInternal(date)}function constructorArgsToInternalTime(args){return Date.UTC(args[0],args.length>1?args[1]:0,args.length>2?args[2]:1,...args.slice(3))}function targetInternalTime(date,time){let internal=new Date(time??+date);return internal.setUTCSeconds(internal.getUTCSeconds()-Math.round(-tzOffset(date.timeZone,internal)*60)),+internal}class TZDate extends TZDateMini{static tz(tz,...args){return args.length?new TZDate(...args,tz):new TZDate(Date.now(),tz)}toISOString(){let[sign,hours,minutes]=this.tzComponents(),tz=`${sign}${hours}:${minutes}`;return this.internal.toISOString().slice(0,-1)+tz}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[day,date,month,year]=this.internal.toUTCString().split(" ");return`${day?.slice(0,-1)} ${month} ${date} ${year}`}toTimeString(){let time=this.internal.toUTCString().split(" ")[4],[sign,hours,minutes]=this.tzComponents();return`${time} GMT${sign}${hours}${minutes} (${tzName(this.timeZone,this)})`}toLocaleString(locales,options){return Date.prototype.toLocaleString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}toLocaleDateString(locales,options){return Date.prototype.toLocaleDateString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}toLocaleTimeString(locales,options){return Date.prototype.toLocaleTimeString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}tzComponents(){let offset=this.getTimezoneOffset(),sign=offset>0?"-":"+",hours=String(Math.floor(Math.abs(offset)/60)).padStart(2,"0"),minutes=String(Math.abs(offset)%60).padStart(2,"0");return[sign,hours,minutes]}withTimeZone(timeZone){return new TZDate(+this,timeZone)}[Symbol.for("constructDateFrom")](date){return new TZDate(+new Date(date),this.timeZone)}}var maxTime=Math.pow(10,8)*24*60*60*1000,minTime=-maxTime,millisecondsInWeek=604800000,millisecondsInDay=86400000;var constructFromSymbol=Symbol.for("constructDateFrom");function constructFrom(date,value){if(typeof date==="function")return date(value);if(date&&typeof date==="object"&&constructFromSymbol in date)return date[constructFromSymbol](value);if(date instanceof Date)return new date.constructor(value);return new Date(value)}function toDate(argument,context){return constructFrom(context||argument,argument)}function addDays(date,amount,options){let _date=toDate(date,options?.in);if(isNaN(amount))return constructFrom(options?.in||date,NaN);if(!amount)return _date;return _date.setDate(_date.getDate()+amount),_date}function addMonths(date,amount,options){let _date=toDate(date,options?.in);if(isNaN(amount))return constructFrom(options?.in||date,NaN);if(!amount)return _date;let dayOfMonth=_date.getDate(),endOfDesiredMonth=constructFrom(options?.in||date,_date.getTime());endOfDesiredMonth.setMonth(_date.getMonth()+amount+1,0);let daysInMonth=endOfDesiredMonth.getDate();if(dayOfMonth>=daysInMonth)return endOfDesiredMonth;else return _date.setFullYear(endOfDesiredMonth.getFullYear(),endOfDesiredMonth.getMonth(),dayOfMonth),_date}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(date,options){let defaultOptions=getDefaultOptions(),weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,_date=toDate(date,options?.in),day=_date.getDay(),diff=(day<weekStartsOn?7:0)+day-weekStartsOn;return _date.setDate(_date.getDate()-diff),_date.setHours(0,0,0,0),_date}function startOfISOWeek(date,options){return startOfWeek(date,{...options,weekStartsOn:1})}function getISOWeekYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),fourthOfJanuaryOfNextYear=constructFrom(_date,0);fourthOfJanuaryOfNextYear.setFullYear(year+1,0,4),fourthOfJanuaryOfNextYear.setHours(0,0,0,0);let startOfNextYear=startOfISOWeek(fourthOfJanuaryOfNextYear),fourthOfJanuaryOfThisYear=constructFrom(_date,0);fourthOfJanuaryOfThisYear.setFullYear(year,0,4),fourthOfJanuaryOfThisYear.setHours(0,0,0,0);let startOfThisYear=startOfISOWeek(fourthOfJanuaryOfThisYear);if(_date.getTime()>=startOfNextYear.getTime())return year+1;else if(_date.getTime()>=startOfThisYear.getTime())return year;else return year-1}function getTimezoneOffsetInMilliseconds(date){let _date=toDate(date),utcDate=new Date(Date.UTC(_date.getFullYear(),_date.getMonth(),_date.getDate(),_date.getHours(),_date.getMinutes(),_date.getSeconds(),_date.getMilliseconds()));return utcDate.setUTCFullYear(_date.getFullYear()),+date-+utcDate}function normalizeDates(context,...dates){let normalize=constructFrom.bind(null,context||dates.find((date)=>typeof date==="object"));return dates.map(normalize)}function startOfDay(date,options){let _date=toDate(date,options?.in);return _date.setHours(0,0,0,0),_date}function differenceInCalendarDays(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate),laterStartOfDay=startOfDay(laterDate_),earlierStartOfDay=startOfDay(earlierDate_),laterTimestamp=+laterStartOfDay-getTimezoneOffsetInMilliseconds(laterStartOfDay),earlierTimestamp=+earlierStartOfDay-getTimezoneOffsetInMilliseconds(earlierStartOfDay);return Math.round((laterTimestamp-earlierTimestamp)/millisecondsInDay)}function startOfISOWeekYear(date,options){let year=getISOWeekYear(date,options),fourthOfJanuary=constructFrom(options?.in||date,0);return fourthOfJanuary.setFullYear(year,0,4),fourthOfJanuary.setHours(0,0,0,0),startOfISOWeek(fourthOfJanuary)}function addWeeks(date,amount,options){return addDays(date,amount*7,options)}function addYears(date,amount,options){return addMonths(date,amount*12,options)}function max(dates,options){let result,context=options?.in;return dates.forEach((date)=>{if(!context&&typeof date==="object")context=constructFrom.bind(null,date);let date_=toDate(date,context);if(!result||result<date_||isNaN(+date_))result=date_}),constructFrom(context,result||NaN)}function min(dates,options){let result,context=options?.in;return dates.forEach((date)=>{if(!context&&typeof date==="object")context=constructFrom.bind(null,date);let date_=toDate(date,context);if(!result||result>date_||isNaN(+date_))result=date_}),constructFrom(context,result||NaN)}function isSameDay(laterDate,earlierDate,options){let[dateLeft_,dateRight_]=normalizeDates(options?.in,laterDate,earlierDate);return+startOfDay(dateLeft_)===+startOfDay(dateRight_)}function isDate(value){return value instanceof Date||typeof value==="object"&&Object.prototype.toString.call(value)==="[object Date]"}function isValid(date){return!(!isDate(date)&&typeof date!=="number"||isNaN(+toDate(date)))}function differenceInCalendarMonths(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate),yearsDiff=laterDate_.getFullYear()-earlierDate_.getFullYear(),monthsDiff=laterDate_.getMonth()-earlierDate_.getMonth();return yearsDiff*12+monthsDiff}function endOfMonth(date,options){let _date=toDate(date,options?.in),month=_date.getMonth();return _date.setFullYear(_date.getFullYear(),month+1,0),_date.setHours(23,59,59,999),_date}function normalizeInterval(context,interval){let[start,end]=normalizeDates(context,interval.start,interval.end);return{start,end}}function eachMonthOfInterval(interval,options){let{start,end}=normalizeInterval(options?.in,interval),reversed=+start>+end,endTime=reversed?+start:+end,date=reversed?end:start;date.setHours(0,0,0,0),date.setDate(1);let step=options?.step??1;if(!step)return[];if(step<0)step=-step,reversed=!reversed;let dates=[];while(+date<=endTime)dates.push(constructFrom(start,date)),date.setMonth(date.getMonth()+step);return reversed?dates.reverse():dates}function startOfMonth(date,options){let _date=toDate(date,options?.in);return _date.setDate(1),_date.setHours(0,0,0,0),_date}function endOfYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear();return _date.setFullYear(year+1,0,0),_date.setHours(23,59,59,999),_date}function startOfYear(date,options){let date_=toDate(date,options?.in);return date_.setFullYear(date_.getFullYear(),0,1),date_.setHours(0,0,0,0),date_}function eachYearOfInterval(interval,options){let{start,end}=normalizeInterval(options?.in,interval),reversed=+start>+end,endTime=reversed?+start:+end,date=reversed?end:start;date.setHours(0,0,0,0),date.setMonth(0,1);let step=options?.step??1;if(!step)return[];if(step<0)step=-step,reversed=!reversed;let dates=[];while(+date<=endTime)dates.push(constructFrom(start,date)),date.setFullYear(date.getFullYear()+step);return reversed?dates.reverse():dates}function endOfWeek(date,options){let defaultOptions=getDefaultOptions(),weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,_date=toDate(date,options?.in),day=_date.getDay(),diff=(day<weekStartsOn?-7:0)+6-(day-weekStartsOn);return _date.setDate(_date.getDate()+diff),_date.setHours(23,59,59,999),_date}function endOfISOWeek(date,options){return endOfWeek(date,{...options,weekStartsOn:1})}var formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance=(token,count,options)=>{let result,tokenValue=formatDistanceLocale[token];if(typeof tokenValue==="string")result=tokenValue;else if(count===1)result=tokenValue.one;else result=tokenValue.other.replace("{{count}}",count.toString());if(options?.addSuffix)if(options.comparison&&options.comparison>0)return"in "+result;else return result+" ago";return result};function buildFormatLongFn(args){return(options={})=>{let width=options.width?String(options.width):args.defaultWidth;return args.formats[width]||args.formats[args.defaultWidth]}}var dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})};var formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(token,_date,_baseDate,_options)=>formatRelativeLocale[token];function buildLocalizeFn(args){return(value,options)=>{let context=options?.context?String(options.context):"standalone",valuesArray;if(context==="formatting"&&args.formattingValues){let defaultWidth=args.defaultFormattingWidth||args.defaultWidth,width=options?.width?String(options.width):defaultWidth;valuesArray=args.formattingValues[width]||args.formattingValues[defaultWidth]}else{let defaultWidth=args.defaultWidth,width=options?.width?String(options.width):args.defaultWidth;valuesArray=args.values[width]||args.values[defaultWidth]}let index=args.argumentCallback?args.argumentCallback(value):value;return valuesArray[index]}}var eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(dirtyNumber,_options)=>{let number=Number(dirtyNumber),rem100=number%100;if(rem100>20||rem100<10)switch(rem100%10){case 1:return number+"st";case 2:return number+"nd";case 3:return number+"rd"}return number+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:(quarter)=>quarter-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(args){return(string,options={})=>{let width=options.width,matchPattern=width&&args.matchPatterns[width]||args.matchPatterns[args.defaultMatchWidth],matchResult=string.match(matchPattern);if(!matchResult)return null;let matchedString=matchResult[0],parsePatterns=width&&args.parsePatterns[width]||args.parsePatterns[args.defaultParseWidth],key=Array.isArray(parsePatterns)?findIndex(parsePatterns,(pattern)=>pattern.test(matchedString)):findKey(parsePatterns,(pattern)=>pattern.test(matchedString)),value;value=args.valueCallback?args.valueCallback(key):key,value=options.valueCallback?options.valueCallback(value):value;let rest=string.slice(matchedString.length);return{value,rest}}}function findKey(object,predicate){for(let key in object)if(Object.prototype.hasOwnProperty.call(object,key)&&predicate(object[key]))return key;return}function findIndex(array,predicate){for(let key=0;key<array.length;key++)if(predicate(array[key]))return key;return}function buildMatchPatternFn(args){return(string,options={})=>{let matchResult=string.match(args.matchPattern);if(!matchResult)return null;let matchedString=matchResult[0],parseResult=string.match(args.parsePattern);if(!parseResult)return null;let value=args.valueCallback?args.valueCallback(parseResult[0]):parseResult[0];value=options.valueCallback?options.valueCallback(value):value;let rest=string.slice(matchedString.length);return{value,rest}}}var matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:(value)=>parseInt(value,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:(index)=>index+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})};var enUS={code:"en-US",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(date,options){let _date=toDate(date,options?.in);return differenceInCalendarDays(_date,startOfYear(_date))+1}function getISOWeek(date,options){let _date=toDate(date,options?.in),diff=+startOfISOWeek(_date)-+startOfISOWeekYear(_date);return Math.round(diff/millisecondsInWeek)+1}function getWeekYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),defaultOptions=getDefaultOptions(),firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,firstWeekOfNextYear=constructFrom(options?.in||date,0);firstWeekOfNextYear.setFullYear(year+1,0,firstWeekContainsDate),firstWeekOfNextYear.setHours(0,0,0,0);let startOfNextYear=startOfWeek(firstWeekOfNextYear,options),firstWeekOfThisYear=constructFrom(options?.in||date,0);firstWeekOfThisYear.setFullYear(year,0,firstWeekContainsDate),firstWeekOfThisYear.setHours(0,0,0,0);let startOfThisYear=startOfWeek(firstWeekOfThisYear,options);if(+_date>=+startOfNextYear)return year+1;else if(+_date>=+startOfThisYear)return year;else return year-1}function startOfWeekYear(date,options){let defaultOptions=getDefaultOptions(),firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,year=getWeekYear(date,options),firstWeek=constructFrom(options?.in||date,0);return firstWeek.setFullYear(year,0,firstWeekContainsDate),firstWeek.setHours(0,0,0,0),startOfWeek(firstWeek,options)}function getWeek(date,options){let _date=toDate(date,options?.in),diff=+startOfWeek(_date,options)-+startOfWeekYear(_date,options);return Math.round(diff/millisecondsInWeek)+1}function addLeadingZeros(number,targetLength){let sign=number<0?"-":"",output=Math.abs(number).toString().padStart(targetLength,"0");return sign+output}var lightFormatters={y(date,token){let signedYear=date.getFullYear(),year=signedYear>0?signedYear:1-signedYear;return addLeadingZeros(token==="yy"?year%100:year,token.length)},M(date,token){let month=date.getMonth();return token==="M"?String(month+1):addLeadingZeros(month+1,2)},d(date,token){return addLeadingZeros(date.getDate(),token.length)},a(date,token){let dayPeriodEnumValue=date.getHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return dayPeriodEnumValue.toUpperCase();case"aaa":return dayPeriodEnumValue;case"aaaaa":return dayPeriodEnumValue[0];case"aaaa":default:return dayPeriodEnumValue==="am"?"a.m.":"p.m."}},h(date,token){return addLeadingZeros(date.getHours()%12||12,token.length)},H(date,token){return addLeadingZeros(date.getHours(),token.length)},m(date,token){return addLeadingZeros(date.getMinutes(),token.length)},s(date,token){return addLeadingZeros(date.getSeconds(),token.length)},S(date,token){let numberOfDigits=token.length,milliseconds=date.getMilliseconds(),fractionalSeconds=Math.trunc(milliseconds*Math.pow(10,numberOfDigits-3));return addLeadingZeros(fractionalSeconds,token.length)}};var dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(date,token,localize){let era=date.getFullYear()>0?1:0;switch(token){case"G":case"GG":case"GGG":return localize.era(era,{width:"abbreviated"});case"GGGGG":return localize.era(era,{width:"narrow"});case"GGGG":default:return localize.era(era,{width:"wide"})}},y:function(date,token,localize){if(token==="yo"){let signedYear=date.getFullYear(),year=signedYear>0?signedYear:1-signedYear;return localize.ordinalNumber(year,{unit:"year"})}return lightFormatters.y(date,token)},Y:function(date,token,localize,options){let signedWeekYear=getWeekYear(date,options),weekYear=signedWeekYear>0?signedWeekYear:1-signedWeekYear;if(token==="YY"){let twoDigitYear=weekYear%100;return addLeadingZeros(twoDigitYear,2)}if(token==="Yo")return localize.ordinalNumber(weekYear,{unit:"year"});return addLeadingZeros(weekYear,token.length)},R:function(date,token){let isoWeekYear=getISOWeekYear(date);return addLeadingZeros(isoWeekYear,token.length)},u:function(date,token){let year=date.getFullYear();return addLeadingZeros(year,token.length)},Q:function(date,token,localize){let quarter=Math.ceil((date.getMonth()+1)/3);switch(token){case"Q":return String(quarter);case"QQ":return addLeadingZeros(quarter,2);case"Qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"QQQ":return localize.quarter(quarter,{width:"abbreviated",context:"formatting"});case"QQQQQ":return localize.quarter(quarter,{width:"narrow",context:"formatting"});case"QQQQ":default:return localize.quarter(quarter,{width:"wide",context:"formatting"})}},q:function(date,token,localize){let quarter=Math.ceil((date.getMonth()+1)/3);switch(token){case"q":return String(quarter);case"qq":return addLeadingZeros(quarter,2);case"qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"qqq":return localize.quarter(quarter,{width:"abbreviated",context:"standalone"});case"qqqqq":return localize.quarter(quarter,{width:"narrow",context:"standalone"});case"qqqq":default:return localize.quarter(quarter,{width:"wide",context:"standalone"})}},M:function(date,token,localize){let month=date.getMonth();switch(token){case"M":case"MM":return lightFormatters.M(date,token);case"Mo":return localize.ordinalNumber(month+1,{unit:"month"});case"MMM":return localize.month(month,{width:"abbreviated",context:"formatting"});case"MMMMM":return localize.month(month,{width:"narrow",context:"formatting"});case"MMMM":default:return localize.month(month,{width:"wide",context:"formatting"})}},L:function(date,token,localize){let month=date.getMonth();switch(token){case"L":return String(month+1);case"LL":return addLeadingZeros(month+1,2);case"Lo":return localize.ordinalNumber(month+1,{unit:"month"});case"LLL":return localize.month(month,{width:"abbreviated",context:"standalone"});case"LLLLL":return localize.month(month,{width:"narrow",context:"standalone"});case"LLLL":default:return localize.month(month,{width:"wide",context:"standalone"})}},w:function(date,token,localize,options){let week=getWeek(date,options);if(token==="wo")return localize.ordinalNumber(week,{unit:"week"});return addLeadingZeros(week,token.length)},I:function(date,token,localize){let isoWeek=getISOWeek(date);if(token==="Io")return localize.ordinalNumber(isoWeek,{unit:"week"});return addLeadingZeros(isoWeek,token.length)},d:function(date,token,localize){if(token==="do")return localize.ordinalNumber(date.getDate(),{unit:"date"});return lightFormatters.d(date,token)},D:function(date,token,localize){let dayOfYear=getDayOfYear(date);if(token==="Do")return localize.ordinalNumber(dayOfYear,{unit:"dayOfYear"});return addLeadingZeros(dayOfYear,token.length)},E:function(date,token,localize){let dayOfWeek=date.getDay();switch(token){case"E":case"EE":case"EEE":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"EEEEE":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"EEEEEE":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"EEEE":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},e:function(date,token,localize,options){let dayOfWeek=date.getDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"e":return String(localDayOfWeek);case"ee":return addLeadingZeros(localDayOfWeek,2);case"eo":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"eee":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"eeeee":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"eeeeee":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"eeee":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},c:function(date,token,localize,options){let dayOfWeek=date.getDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"c":return String(localDayOfWeek);case"cc":return addLeadingZeros(localDayOfWeek,token.length);case"co":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"ccc":return localize.day(dayOfWeek,{width:"abbreviated",context:"standalone"});case"ccccc":return localize.day(dayOfWeek,{width:"narrow",context:"standalone"});case"cccccc":return localize.day(dayOfWeek,{width:"short",context:"standalone"});case"cccc":default:return localize.day(dayOfWeek,{width:"wide",context:"standalone"})}},i:function(date,token,localize){let dayOfWeek=date.getDay(),isoDayOfWeek=dayOfWeek===0?7:dayOfWeek;switch(token){case"i":return String(isoDayOfWeek);case"ii":return addLeadingZeros(isoDayOfWeek,token.length);case"io":return localize.ordinalNumber(isoDayOfWeek,{unit:"day"});case"iii":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"iiiii":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"iiiiii":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"iiii":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},a:function(date,token,localize){let dayPeriodEnumValue=date.getHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"aaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"aaaa":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},b:function(date,token,localize){let hours=date.getHours(),dayPeriodEnumValue;if(hours===12)dayPeriodEnumValue=dayPeriodEnum.noon;else if(hours===0)dayPeriodEnumValue=dayPeriodEnum.midnight;else dayPeriodEnumValue=hours/12>=1?"pm":"am";switch(token){case"b":case"bb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"bbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"bbbb":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},B:function(date,token,localize){let hours=date.getHours(),dayPeriodEnumValue;if(hours>=17)dayPeriodEnumValue=dayPeriodEnum.evening;else if(hours>=12)dayPeriodEnumValue=dayPeriodEnum.afternoon;else if(hours>=4)dayPeriodEnumValue=dayPeriodEnum.morning;else dayPeriodEnumValue=dayPeriodEnum.night;switch(token){case"B":case"BB":case"BBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"BBBBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"BBBB":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},h:function(date,token,localize){if(token==="ho"){let hours=date.getHours()%12;if(hours===0)hours=12;return localize.ordinalNumber(hours,{unit:"hour"})}return lightFormatters.h(date,token)},H:function(date,token,localize){if(token==="Ho")return localize.ordinalNumber(date.getHours(),{unit:"hour"});return lightFormatters.H(date,token)},K:function(date,token,localize){let hours=date.getHours()%12;if(token==="Ko")return localize.ordinalNumber(hours,{unit:"hour"});return addLeadingZeros(hours,token.length)},k:function(date,token,localize){let hours=date.getHours();if(hours===0)hours=24;if(token==="ko")return localize.ordinalNumber(hours,{unit:"hour"});return addLeadingZeros(hours,token.length)},m:function(date,token,localize){if(token==="mo")return localize.ordinalNumber(date.getMinutes(),{unit:"minute"});return lightFormatters.m(date,token)},s:function(date,token,localize){if(token==="so")return localize.ordinalNumber(date.getSeconds(),{unit:"second"});return lightFormatters.s(date,token)},S:function(date,token){return lightFormatters.S(date,token)},X:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();if(timezoneOffset===0)return"Z";switch(token){case"X":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"XXXX":case"XX":return formatTimezone(timezoneOffset);case"XXXXX":case"XXX":default:return formatTimezone(timezoneOffset,":")}},x:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"x":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"xxxx":case"xx":return formatTimezone(timezoneOffset);case"xxxxx":case"xxx":default:return formatTimezone(timezoneOffset,":")}},O:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(timezoneOffset,":");case"OOOO":default:return"GMT"+formatTimezone(timezoneOffset,":")}},z:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(timezoneOffset,":");case"zzzz":default:return"GMT"+formatTimezone(timezoneOffset,":")}},t:function(date,token,_localize){let timestamp=Math.trunc(+date/1000);return addLeadingZeros(timestamp,token.length)},T:function(date,token,_localize){return addLeadingZeros(+date,token.length)}};function formatTimezoneShort(offset,delimiter=""){let sign=offset>0?"-":"+",absOffset=Math.abs(offset),hours=Math.trunc(absOffset/60),minutes=absOffset%60;if(minutes===0)return sign+String(hours);return sign+String(hours)+delimiter+addLeadingZeros(minutes,2)}function formatTimezoneWithOptionalMinutes(offset,delimiter){if(offset%60===0)return(offset>0?"-":"+")+addLeadingZeros(Math.abs(offset)/60,2);return formatTimezone(offset,delimiter)}function formatTimezone(offset,delimiter=""){let sign=offset>0?"-":"+",absOffset=Math.abs(offset),hours=addLeadingZeros(Math.trunc(absOffset/60),2),minutes=addLeadingZeros(absOffset%60,2);return sign+hours+delimiter+minutes}var dateLongFormatter=(pattern,formatLong)=>{switch(pattern){case"P":return formatLong.date({width:"short"});case"PP":return formatLong.date({width:"medium"});case"PPP":return formatLong.date({width:"long"});case"PPPP":default:return formatLong.date({width:"full"})}},timeLongFormatter=(pattern,formatLong)=>{switch(pattern){case"p":return formatLong.time({width:"short"});case"pp":return formatLong.time({width:"medium"});case"ppp":return formatLong.time({width:"long"});case"pppp":default:return formatLong.time({width:"full"})}},dateTimeLongFormatter=(pattern,formatLong)=>{let matchResult=pattern.match(/(P+)(p+)?/)||[],datePattern=matchResult[1],timePattern=matchResult[2];if(!timePattern)return dateLongFormatter(pattern,formatLong);let dateTimeFormat;switch(datePattern){case"P":dateTimeFormat=formatLong.dateTime({width:"short"});break;case"PP":dateTimeFormat=formatLong.dateTime({width:"medium"});break;case"PPP":dateTimeFormat=formatLong.dateTime({width:"long"});break;case"PPPP":default:dateTimeFormat=formatLong.dateTime({width:"full"});break}return dateTimeFormat.replace("{{date}}",dateLongFormatter(datePattern,formatLong)).replace("{{time}}",timeLongFormatter(timePattern,formatLong))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter};var dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(token){return dayOfYearTokenRE.test(token)}function isProtectedWeekYearToken(token){return weekYearTokenRE.test(token)}function warnOrThrowProtectedError(token,format,input){let _message=message(token,format,input);if(console.warn(_message),throwTokens.includes(token))throw RangeError(_message)}function message(token,format,input){let subject=token[0]==="Y"?"years":"days of the month";return`Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function format(date,formatStr,options){let defaultOptions=getDefaultOptions(),locale=options?.locale??defaultOptions.locale??enUS,firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,originalDate=toDate(date,options?.in);if(!isValid(originalDate))throw RangeError("Invalid time value");let parts=formatStr.match(longFormattingTokensRegExp).map((substring)=>{let firstCharacter=substring[0];if(firstCharacter==="p"||firstCharacter==="P"){let longFormatter=longFormatters[firstCharacter];return longFormatter(substring,locale.formatLong)}return substring}).join("").match(formattingTokensRegExp).map((substring)=>{if(substring==="''")return{isToken:!1,value:"'"};let firstCharacter=substring[0];if(firstCharacter==="'")return{isToken:!1,value:cleanEscapedString(substring)};if(formatters[firstCharacter])return{isToken:!0,value:substring};if(firstCharacter.match(unescapedLatinCharacterRegExp))throw RangeError("Format string contains an unescaped latin alphabet character `"+firstCharacter+"`");return{isToken:!1,value:substring}});if(locale.localize.preprocessor)parts=locale.localize.preprocessor(originalDate,parts);let formatterOptions={firstWeekContainsDate,weekStartsOn,locale};return parts.map((part)=>{if(!part.isToken)return part.value;let token=part.value;if(!options?.useAdditionalWeekYearTokens&&isProtectedWeekYearToken(token)||!options?.useAdditionalDayOfYearTokens&&isProtectedDayOfYearToken(token))warnOrThrowProtectedError(token,formatStr,String(date));let formatter=formatters[token[0]];return formatter(originalDate,token,locale.localize,formatterOptions)}).join("")}function cleanEscapedString(input){let matched=input.match(escapedStringRegExp);if(!matched)return input;return matched[1].replace(doubleQuoteRegExp,"'")}function getDaysInMonth(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),monthIndex=_date.getMonth(),lastDayOfMonth=constructFrom(_date,0);return lastDayOfMonth.setFullYear(year,monthIndex+1,0),lastDayOfMonth.setHours(0,0,0,0),lastDayOfMonth.getDate()}function getMonth(date,options){return toDate(date,options?.in).getMonth()}function getYear(date,options){return toDate(date,options?.in).getFullYear()}function isAfter(date,dateToCompare){return+toDate(date)>+toDate(dateToCompare)}function isBefore(date,dateToCompare){return+toDate(date)<+toDate(dateToCompare)}function isSameMonth(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate);return laterDate_.getFullYear()===earlierDate_.getFullYear()&&laterDate_.getMonth()===earlierDate_.getMonth()}function isSameYear(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate);return laterDate_.getFullYear()===earlierDate_.getFullYear()}function setMonth(date,month,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),day=_date.getDate(),midMonth=constructFrom(options?.in||date,0);midMonth.setFullYear(year,month,15),midMonth.setHours(0,0,0,0);let daysInMonth=getDaysInMonth(midMonth);return _date.setMonth(month,Math.min(day,daysInMonth)),_date}function setYear(date,year,options){let date_=toDate(date,options?.in);if(isNaN(+date_))return constructFrom(options?.in||date,NaN);return date_.setFullYear(year),date_}function getBroadcastWeeksInMonth(month,dateLib){let firstDayOfMonth=dateLib.startOfMonth(month),firstDayOfWeek=firstDayOfMonth.getDay()>0?firstDayOfMonth.getDay():7,broadcastStartDate=dateLib.addDays(month,-firstDayOfWeek+1),lastDateOfLastWeek=dateLib.addDays(broadcastStartDate,34);return dateLib.getMonth(month)===dateLib.getMonth(lastDateOfLastWeek)?5:4}function startOfBroadcastWeek(date,dateLib){let firstOfMonth=dateLib.startOfMonth(date),dayOfWeek=firstOfMonth.getDay();if(dayOfWeek===1)return firstOfMonth;else if(dayOfWeek===0)return dateLib.addDays(firstOfMonth,-6);else return dateLib.addDays(firstOfMonth,-1*(dayOfWeek-1))}function endOfBroadcastWeek(date,dateLib){let startDate=startOfBroadcastWeek(date,dateLib),numberOfWeeks=getBroadcastWeeksInMonth(date,dateLib);return dateLib.addDays(startDate,numberOfWeeks*7-1)}var enUS2={...enUS,labels:{labelDayButton:(date,modifiers,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});let label=formatDate(date,"PPPP");if(modifiers.today)label=`Today, ${label}`;if(modifiers.selected)label=`${label}, selected`;return label},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:(weekNumber)=>`Week ${weekNumber}`,labelYearDropdown:"Choose the Year",labelGrid:(date,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});return formatDate(date,"LLLL yyyy")},labelGridcell:(date,modifiers,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});let label=formatDate(date,"PPPP");if(modifiers?.today)label=`Today, ${label}`;return label},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(date,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});return formatDate(date,"cccc")}}};class DateLib{constructor(options,overrides){this.today=()=>{if(this.overrides?.today)return this.overrides.today();if(this.options.timeZone)return TZDate.tz(this.options.timeZone);return new(this.options.Date??Date)},this.newDate=(year,monthIndex,date)=>{if(this.overrides?.newDate)return this.overrides.newDate(year,monthIndex,date);if(this.options.timeZone)return new TZDate(year,monthIndex,date,this.options.timeZone);return new Date(year,monthIndex,date)},this.addDays=(date,amount)=>this.overrides?.addDays?this.overrides.addDays(date,amount):addDays(date,amount),this.addMonths=(date,amount)=>this.overrides?.addMonths?this.overrides.addMonths(date,amount):addMonths(date,amount),this.addWeeks=(date,amount)=>this.overrides?.addWeeks?this.overrides.addWeeks(date,amount):addWeeks(date,amount),this.addYears=(date,amount)=>this.overrides?.addYears?this.overrides.addYears(date,amount):addYears(date,amount),this.differenceInCalendarDays=(dateLeft,dateRight)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(dateLeft,dateRight):differenceInCalendarDays(dateLeft,dateRight),this.differenceInCalendarMonths=(dateLeft,dateRight)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(dateLeft,dateRight):differenceInCalendarMonths(dateLeft,dateRight),this.eachMonthOfInterval=(interval)=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(interval):eachMonthOfInterval(interval),this.eachYearOfInterval=(interval)=>{let years=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(interval):eachYearOfInterval(interval),uniqueYears=new Set(years.map((d)=>this.getYear(d)));if(uniqueYears.size===years.length)return years;let yearsArray=[];return uniqueYears.forEach((y)=>{yearsArray.push(new Date(y,0,1))}),yearsArray},this.endOfBroadcastWeek=(date)=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(date):endOfBroadcastWeek(date,this),this.endOfISOWeek=(date)=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(date):endOfISOWeek(date),this.endOfMonth=(date)=>this.overrides?.endOfMonth?this.overrides.endOfMonth(date):endOfMonth(date),this.endOfWeek=(date,options)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(date,options):endOfWeek(date,this.options),this.endOfYear=(date)=>this.overrides?.endOfYear?this.overrides.endOfYear(date):endOfYear(date),this.format=(date,formatStr,_options)=>{let formatted=this.overrides?.format?this.overrides.format(date,formatStr,this.options):format(date,formatStr,this.options);if(this.options.numerals&&this.options.numerals!=="latn")return this.replaceDigits(formatted);return formatted},this.getISOWeek=(date)=>this.overrides?.getISOWeek?this.overrides.getISOWeek(date):getISOWeek(date),this.getMonth=(date,_options)=>this.overrides?.getMonth?this.overrides.getMonth(date,this.options):getMonth(date,this.options),this.getYear=(date,_options)=>this.overrides?.getYear?this.overrides.getYear(date,this.options):getYear(date,this.options),this.getWeek=(date,_options)=>this.overrides?.getWeek?this.overrides.getWeek(date,this.options):getWeek(date,this.options),this.isAfter=(date,dateToCompare)=>this.overrides?.isAfter?this.overrides.isAfter(date,dateToCompare):isAfter(date,dateToCompare),this.isBefore=(date,dateToCompare)=>this.overrides?.isBefore?this.overrides.isBefore(date,dateToCompare):isBefore(date,dateToCompare),this.isDate=(value)=>this.overrides?.isDate?this.overrides.isDate(value):isDate(value),this.isSameDay=(dateLeft,dateRight)=>this.overrides?.isSameDay?this.overrides.isSameDay(dateLeft,dateRight):isSameDay(dateLeft,dateRight),this.isSameMonth=(dateLeft,dateRight)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(dateLeft,dateRight):isSameMonth(dateLeft,dateRight),this.isSameYear=(dateLeft,dateRight)=>this.overrides?.isSameYear?this.overrides.isSameYear(dateLeft,dateRight):isSameYear(dateLeft,dateRight),this.max=(dates)=>this.overrides?.max?this.overrides.max(dates):max(dates),this.min=(dates)=>this.overrides?.min?this.overrides.min(dates):min(dates),this.setMonth=(date,month)=>this.overrides?.setMonth?this.overrides.setMonth(date,month):setMonth(date,month),this.setYear=(date,year)=>this.overrides?.setYear?this.overrides.setYear(date,year):setYear(date,year),this.startOfBroadcastWeek=(date,_dateLib)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(date,this):startOfBroadcastWeek(date,this),this.startOfDay=(date)=>this.overrides?.startOfDay?this.overrides.startOfDay(date):startOfDay(date),this.startOfISOWeek=(date)=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(date):startOfISOWeek(date),this.startOfMonth=(date)=>this.overrides?.startOfMonth?this.overrides.startOfMonth(date):startOfMonth(date),this.startOfWeek=(date,_options)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(date,this.options):startOfWeek(date,this.options),this.startOfYear=(date)=>this.overrides?.startOfYear?this.overrides.startOfYear(date):startOfYear(date),this.options={locale:enUS2,...options},this.overrides=overrides}getDigitMap(){let{numerals="latn"}=this.options,formatter=new Intl.NumberFormat("en-US",{numberingSystem:numerals}),digitMap={};for(let i=0;i<10;i++)digitMap[i.toString()]=formatter.format(i);return digitMap}replaceDigits(input){let digitMap=this.getDigitMap();return input.replace(/\d/g,(digit)=>digitMap[digit]||digit)}formatNumber(value){return this.replaceDigits(value.toString())}getMonthYearOrder(){let code=this.options.locale?.code;if(!code)return"month-first";return DateLib.yearFirstLocales.has(code)?"year-first":"month-first"}formatMonthYear(date){let{locale,timeZone,numerals}=this.options,localeCode=locale?.code;if(localeCode&&DateLib.yearFirstLocales.has(localeCode))try{return new Intl.DateTimeFormat(localeCode,{month:"long",year:"numeric",timeZone,numberingSystem:numerals}).format(date)}catch{}let pattern=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(date,pattern)}}DateLib.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);var defaultDateLib=new DateLib;class CalendarDay{constructor(date,displayMonth,dateLib=defaultDateLib){this.date=date,this.displayMonth=displayMonth,this.outside=Boolean(displayMonth&&!dateLib.isSameMonth(date,displayMonth)),this.dateLib=dateLib,this.isoDate=dateLib.format(date,"yyyy-MM-dd"),this.displayMonthId=dateLib.format(displayMonth,"yyyy-MM"),this.dateMonthId=dateLib.format(date,"yyyy-MM")}isEqualTo(day){return this.dateLib.isSameDay(day.date,this.date)&&this.dateLib.isSameMonth(day.displayMonth,this.displayMonth)}}class CalendarMonth{constructor(month,weeks){this.date=month,this.weeks=weeks}}class CalendarWeek{constructor(weekNumber,days){this.days=days,this.weekNumber=weekNumber}}var exports_custom_components={};__export(exports_custom_components,{CaptionLabel:()=>CaptionLabel,Chevron:()=>Chevron,Day:()=>Day,DayButton:()=>DayButton,Dropdown:()=>Dropdown,DropdownNav:()=>DropdownNav,Footer:()=>Footer,Month:()=>Month,MonthCaption:()=>MonthCaption,MonthGrid:()=>MonthGrid,Months:()=>Months,MonthsDropdown:()=>MonthsDropdown,Nav:()=>Nav,NextMonthButton:()=>NextMonthButton,Option:()=>Option,PreviousMonthButton:()=>PreviousMonthButton,Root:()=>Root11,Select:()=>Select2,Week:()=>Week,WeekNumber:()=>WeekNumber,WeekNumberHeader:()=>WeekNumberHeader,Weekday:()=>Weekday,Weekdays:()=>Weekdays,Weeks:()=>Weeks,YearsDropdown:()=>YearsDropdown});var import_react6=__toESM(require_react_development(),1);function CaptionLabel(props){return import_react6.default.createElement("span",{...props})}var import_react7=__toESM(require_react_development(),1);function Chevron(props){let{size=24,orientation="left",className,style}=props;return import_react7.default.createElement("svg",{className,style,width:size,height:size,viewBox:"0 0 24 24"},orientation==="up"&&import_react7.default.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),orientation==="down"&&import_react7.default.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),orientation==="left"&&import_react7.default.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),orientation==="right"&&import_react7.default.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}var import_react8=__toESM(require_react_development(),1);function Day(props){let{day,modifiers,...tdProps}=props;return import_react8.default.createElement("td",{...tdProps})}var import_react9=__toESM(require_react_development(),1);function DayButton(props){let{day,modifiers,...buttonProps}=props,ref=import_react9.default.useRef(null);return import_react9.default.useEffect(()=>{if(modifiers.focused)ref.current?.focus()},[modifiers.focused]),import_react9.default.createElement("button",{ref,...buttonProps})}var import_react11=__toESM(require_react_development(),1);var UI;(function(UI){UI.Root="root",UI.Chevron="chevron",UI.Day="day",UI.DayButton="day_button",UI.CaptionLabel="caption_label",UI.Dropdowns="dropdowns",UI.Dropdown="dropdown",UI.DropdownRoot="dropdown_root",UI.Footer="footer",UI.MonthGrid="month_grid",UI.MonthCaption="month_caption",UI.MonthsDropdown="months_dropdown",UI.Month="month",UI.Months="months",UI.Nav="nav",UI.NextMonthButton="button_next",UI.PreviousMonthButton="button_previous",UI.Week="week",UI.Weeks="weeks",UI.Weekday="weekday",UI.Weekdays="weekdays",UI.WeekNumber="week_number",UI.WeekNumberHeader="week_number_header",UI.YearsDropdown="years_dropdown"})(UI||(UI={}));var DayFlag;(function(DayFlag){DayFlag.disabled="disabled",DayFlag.hidden="hidden",DayFlag.outside="outside",DayFlag.focused="focused",DayFlag.today="today"})(DayFlag||(DayFlag={}));var SelectionState;(function(SelectionState){SelectionState.range_end="range_end",SelectionState.range_middle="range_middle",SelectionState.range_start="range_start",SelectionState.selected="selected"})(SelectionState||(SelectionState={}));var Animation;(function(Animation){Animation.weeks_before_enter="weeks_before_enter",Animation.weeks_before_exit="weeks_before_exit",Animation.weeks_after_enter="weeks_after_enter",Animation.weeks_after_exit="weeks_after_exit",Animation.caption_after_enter="caption_after_enter",Animation.caption_after_exit="caption_after_exit",Animation.caption_before_enter="caption_before_enter",Animation.caption_before_exit="caption_before_exit"})(Animation||(Animation={}));var import_react10=__toESM(require_react_development(),1),dayPickerContext=import_react10.createContext(void 0);function useDayPicker(){let context=import_react10.useContext(dayPickerContext);if(context===void 0)throw Error("useDayPicker() must be used within a custom component.");return context}function Dropdown(props){let{options,className,...selectProps}=props,{classNames,components,styles}=useDayPicker(),cssClassSelect=[classNames[UI.Dropdown],className].join(" "),selectedOption=options?.find(({value})=>value===selectProps.value);return import_react11.default.createElement("span",{"data-disabled":selectProps.disabled,className:classNames[UI.DropdownRoot],style:styles?.[UI.DropdownRoot]},import_react11.default.createElement(components.Select,{className:cssClassSelect,...selectProps},options?.map(({value,label,disabled})=>import_react11.default.createElement(components.Option,{key:value,value,disabled},label))),import_react11.default.createElement("span",{className:classNames[UI.CaptionLabel],style:styles?.[UI.CaptionLabel],"aria-hidden":!0},selectedOption?.label,import_react11.default.createElement(components.Chevron,{orientation:"down",size:18,className:classNames[UI.Chevron],style:styles?.[UI.Chevron]})))}var import_react12=__toESM(require_react_development(),1);function DropdownNav(props){return import_react12.default.createElement("div",{...props})}var import_react13=__toESM(require_react_development(),1);function Footer(props){return import_react13.default.createElement("div",{...props})}var import_react14=__toESM(require_react_development(),1);function Month(props){let{calendarMonth,displayIndex,...divProps}=props;return import_react14.default.createElement("div",{...divProps},props.children)}var import_react15=__toESM(require_react_development(),1);function MonthCaption(props){let{calendarMonth,displayIndex,...divProps}=props;return import_react15.default.createElement("div",{...divProps})}var import_react16=__toESM(require_react_development(),1);function MonthGrid(props){return import_react16.default.createElement("table",{...props})}var import_react17=__toESM(require_react_development(),1);function Months(props){return import_react17.default.createElement("div",{...props})}var import_react18=__toESM(require_react_development(),1);function MonthsDropdown(props){let{components}=useDayPicker();return import_react18.default.createElement(components.Dropdown,{...props})}var import_react19=__toESM(require_react_development(),1);function Nav(props){let{onPreviousClick,onNextClick,previousMonth,nextMonth,...navProps}=props,{components,classNames,styles,labels:{labelPrevious,labelNext}}=useDayPicker(),handleNextClick=import_react19.useCallback((e)=>{if(nextMonth)onNextClick?.(e)},[nextMonth,onNextClick]),handlePreviousClick=import_react19.useCallback((e)=>{if(previousMonth)onPreviousClick?.(e)},[previousMonth,onPreviousClick]);return import_react19.default.createElement("nav",{...navProps},import_react19.default.createElement(components.PreviousMonthButton,{type:"button",className:classNames[UI.PreviousMonthButton],style:styles?.[UI.PreviousMonthButton],tabIndex:previousMonth?void 0:-1,"aria-disabled":previousMonth?void 0:!0,"aria-label":labelPrevious(previousMonth),onClick:handlePreviousClick},import_react19.default.createElement(components.Chevron,{disabled:previousMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:"left"})),import_react19.default.createElement(components.NextMonthButton,{type:"button",className:classNames[UI.NextMonthButton],style:styles?.[UI.NextMonthButton],tabIndex:nextMonth?void 0:-1,"aria-disabled":nextMonth?void 0:!0,"aria-label":labelNext(nextMonth),onClick:handleNextClick},import_react19.default.createElement(components.Chevron,{disabled:nextMonth?void 0:!0,orientation:"right",className:classNames[UI.Chevron],style:styles?.[UI.Chevron]})))}var import_react20=__toESM(require_react_development(),1);function NextMonthButton(props){return import_react20.default.createElement("button",{...props})}var import_react21=__toESM(require_react_development(),1);function Option(props){return import_react21.default.createElement("option",{...props})}var import_react22=__toESM(require_react_development(),1);function PreviousMonthButton(props){return import_react22.default.createElement("button",{...props})}var import_react23=__toESM(require_react_development(),1);function Root11(props){let{rootRef,...rest}=props;return import_react23.default.createElement("div",{...rest,ref:rootRef})}var import_react24=__toESM(require_react_development(),1);function Select2(props){return import_react24.default.createElement("select",{...props})}var import_react25=__toESM(require_react_development(),1);function Week(props){let{week,...trProps}=props;return import_react25.default.createElement("tr",{...trProps})}var import_react26=__toESM(require_react_development(),1);function Weekday(props){return import_react26.default.createElement("th",{...props})}var import_react27=__toESM(require_react_development(),1);function Weekdays(props){return import_react27.default.createElement("thead",{"aria-hidden":!0},import_react27.default.createElement("tr",{...props}))}var import_react28=__toESM(require_react_development(),1);function WeekNumber(props){let{week,...thProps}=props;return import_react28.default.createElement("th",{...thProps})}var import_react29=__toESM(require_react_development(),1);function WeekNumberHeader(props){return import_react29.default.createElement("th",{...props})}var import_react30=__toESM(require_react_development(),1);function Weeks(props){return import_react30.default.createElement("tbody",{...props})}var import_react31=__toESM(require_react_development(),1);function YearsDropdown(props){let{components}=useDayPicker();return import_react31.default.createElement(components.Dropdown,{...props})}var import_react36=__toESM(require_react_development(),1);function rangeIncludesDate(range,date,excludeEnds=!1,dateLib=defaultDateLib){let{from,to}=range,{differenceInCalendarDays,isSameDay}=dateLib;if(from&&to){if(differenceInCalendarDays(to,from)<0)[from,to]=[to,from];return differenceInCalendarDays(date,from)>=(excludeEnds?1:0)&&differenceInCalendarDays(to,date)>=(excludeEnds?1:0)}if(!excludeEnds&&to)return isSameDay(to,date);if(!excludeEnds&&from)return isSameDay(from,date);return!1}function isDateInterval(matcher){return Boolean(matcher&&typeof matcher==="object"&&"before"in matcher&&"after"in matcher)}function isDateRange(value){return Boolean(value&&typeof value==="object"&&"from"in value)}function isDateAfterType(value){return Boolean(value&&typeof value==="object"&&"after"in value)}function isDateBeforeType(value){return Boolean(value&&typeof value==="object"&&"before"in value)}function isDayOfWeekType(value){return Boolean(value&&typeof value==="object"&&"dayOfWeek"in value)}function isDatesArray(value,dateLib){return Array.isArray(value)&&value.every(dateLib.isDate)}function dateMatchModifiers(date,matchers,dateLib=defaultDateLib){let matchersArr=!Array.isArray(matchers)?[matchers]:matchers,{isSameDay,differenceInCalendarDays,isAfter}=dateLib;return matchersArr.some((matcher)=>{if(typeof matcher==="boolean")return matcher;if(dateLib.isDate(matcher))return isSameDay(date,matcher);if(isDatesArray(matcher,dateLib))return matcher.some((matcherDate)=>isSameDay(date,matcherDate));if(isDateRange(matcher))return rangeIncludesDate(matcher,date,!1,dateLib);if(isDayOfWeekType(matcher)){if(!Array.isArray(matcher.dayOfWeek))return matcher.dayOfWeek===date.getDay();return matcher.dayOfWeek.includes(date.getDay())}if(isDateInterval(matcher)){let diffBefore=differenceInCalendarDays(matcher.before,date),diffAfter=differenceInCalendarDays(matcher.after,date),isDayBefore=diffBefore>0,isDayAfter=diffAfter<0;if(isAfter(matcher.before,matcher.after))return isDayAfter&&isDayBefore;else return isDayBefore||isDayAfter}if(isDateAfterType(matcher))return differenceInCalendarDays(date,matcher.after)>0;if(isDateBeforeType(matcher))return differenceInCalendarDays(matcher.before,date)>0;if(typeof matcher==="function")return matcher(date);return!1})}function createGetModifiers(days,props,navStart,navEnd,dateLib){let{disabled,hidden,modifiers,showOutsideDays,broadcastCalendar,today=dateLib.today()}=props,{isSameDay,isSameMonth,startOfMonth,isBefore,endOfMonth,isAfter}=dateLib,computedNavStart=navStart&&startOfMonth(navStart),computedNavEnd=navEnd&&endOfMonth(navEnd),internalModifiersMap={[DayFlag.focused]:[],[DayFlag.outside]:[],[DayFlag.disabled]:[],[DayFlag.hidden]:[],[DayFlag.today]:[]},customModifiersMap={};for(let day of days){let{date,displayMonth}=day,isOutside=Boolean(displayMonth&&!isSameMonth(date,displayMonth)),isBeforeNavStart=Boolean(computedNavStart&&isBefore(date,computedNavStart)),isAfterNavEnd=Boolean(computedNavEnd&&isAfter(date,computedNavEnd)),isDisabled=Boolean(disabled&&dateMatchModifiers(date,disabled,dateLib)),isHidden=Boolean(hidden&&dateMatchModifiers(date,hidden,dateLib))||isBeforeNavStart||isAfterNavEnd||!broadcastCalendar&&!showOutsideDays&&isOutside||broadcastCalendar&&showOutsideDays===!1&&isOutside,isToday=isSameDay(date,today);if(isOutside)internalModifiersMap.outside.push(day);if(isDisabled)internalModifiersMap.disabled.push(day);if(isHidden)internalModifiersMap.hidden.push(day);if(isToday)internalModifiersMap.today.push(day);if(modifiers)Object.keys(modifiers).forEach((name)=>{let modifierValue=modifiers?.[name];if(!(modifierValue?dateMatchModifiers(date,modifierValue,dateLib):!1))return;if(customModifiersMap[name])customModifiersMap[name].push(day);else customModifiersMap[name]=[day]})}return(day)=>{let dayFlags={[DayFlag.focused]:!1,[DayFlag.disabled]:!1,[DayFlag.hidden]:!1,[DayFlag.outside]:!1,[DayFlag.today]:!1},customModifiers={};for(let name in internalModifiersMap){let days=internalModifiersMap[name];dayFlags[name]=days.some((d)=>d===day)}for(let name in customModifiersMap)customModifiers[name]=customModifiersMap[name].some((d)=>d===day);return{...dayFlags,...customModifiers}}}function getClassNamesForModifiers(modifiers,classNames,modifiersClassNames={}){return Object.entries(modifiers).filter(([,active])=>active===!0).reduce((previousValue,[key])=>{if(modifiersClassNames[key])previousValue.push(modifiersClassNames[key]);else if(classNames[DayFlag[key]])previousValue.push(classNames[DayFlag[key]]);else if(classNames[SelectionState[key]])previousValue.push(classNames[SelectionState[key]]);return previousValue},[classNames[UI.Day]])}function getComponents(customComponents){return{...exports_custom_components,...customComponents}}function getDataAttributes(props){let dataAttributes={"data-mode":props.mode??void 0,"data-required":"required"in props?props.required:void 0,"data-multiple-months":props.numberOfMonths&&props.numberOfMonths>1||void 0,"data-week-numbers":props.showWeekNumber||void 0,"data-broadcast-calendar":props.broadcastCalendar||void 0,"data-nav-layout":props.navLayout||void 0};return Object.entries(props).forEach(([key,val])=>{if(key.startsWith("data-"))dataAttributes[key]=val}),dataAttributes}function getDefaultClassNames(){let classNames={};for(let key in UI)classNames[UI[key]]=`rdp-${UI[key]}`;for(let key in DayFlag)classNames[DayFlag[key]]=`rdp-${DayFlag[key]}`;for(let key in SelectionState)classNames[SelectionState[key]]=`rdp-${SelectionState[key]}`;for(let key in Animation)classNames[Animation[key]]=`rdp-${Animation[key]}`;return classNames}var exports_formatters={};__export(exports_formatters,{formatCaption:()=>formatCaption,formatDay:()=>formatDay,formatMonthDropdown:()=>formatMonthDropdown,formatWeekNumber:()=>formatWeekNumber,formatWeekNumberHeader:()=>formatWeekNumberHeader,formatWeekdayName:()=>formatWeekdayName,formatYearDropdown:()=>formatYearDropdown});function formatCaption(month,options,dateLib){return(dateLib??new DateLib(options)).formatMonthYear(month)}function formatDay(date,options,dateLib){return(dateLib??new DateLib(options)).format(date,"d")}function formatMonthDropdown(month,dateLib=defaultDateLib){return dateLib.format(month,"LLLL")}function formatWeekdayName(weekday,options,dateLib){return(dateLib??new DateLib(options)).format(weekday,"cccccc")}function formatWeekNumber(weekNumber,dateLib=defaultDateLib){if(weekNumber<10)return dateLib.formatNumber(`0${weekNumber.toLocaleString()}`);return dateLib.formatNumber(`${weekNumber.toLocaleString()}`)}function formatWeekNumberHeader(){return""}function formatYearDropdown(year,dateLib=defaultDateLib){return dateLib.format(year,"yyyy")}function getFormatters(customFormatters){return{...exports_formatters,...customFormatters}}var exports_labels={};__export(exports_labels,{labelDayButton:()=>labelDayButton,labelGrid:()=>labelGrid,labelGridcell:()=>labelGridcell,labelMonthDropdown:()=>labelMonthDropdown,labelNav:()=>labelNav,labelNext:()=>labelNext,labelPrevious:()=>labelPrevious,labelWeekNumber:()=>labelWeekNumber,labelWeekNumberHeader:()=>labelWeekNumberHeader,labelWeekday:()=>labelWeekday,labelYearDropdown:()=>labelYearDropdown});function labelDayButton(date,modifiers,options,dateLib){let label=(dateLib??new DateLib(options)).format(date,"PPPP");if(modifiers.today)label=`Today, ${label}`;if(modifiers.selected)label=`${label}, selected`;return label}function labelGrid(date,options,dateLib){return(dateLib??new DateLib(options)).formatMonthYear(date)}function labelGridcell(date,modifiers,options,dateLib){let label=(dateLib??new DateLib(options)).format(date,"PPPP");if(modifiers?.today)label=`Today, ${label}`;return label}function labelMonthDropdown(_options){return"Choose the Month"}function labelNav(){return""}function labelNext(_month,_options){return"Go to the Next Month"}function labelPrevious(_month){return"Go to the Previous Month"}function labelWeekday(date,options,dateLib){return(dateLib??new DateLib(options)).format(date,"cccc")}function labelWeekNumber(weekNumber,_options){return`Week ${weekNumber}`}function labelWeekNumberHeader(_options){return"Week Number"}function labelYearDropdown(_options){return"Choose the Year"}var resolveLabel=(defaultLabel,customLabel,localeLabel)=>{if(customLabel)return customLabel;if(localeLabel)return typeof localeLabel==="function"?localeLabel:(..._args)=>localeLabel;return defaultLabel};function getLabels(customLabels,options){let localeLabels=options.locale?.labels??{};return{...exports_labels,...customLabels??{},labelDayButton:resolveLabel(labelDayButton,customLabels?.labelDayButton,localeLabels.labelDayButton),labelMonthDropdown:resolveLabel(labelMonthDropdown,customLabels?.labelMonthDropdown,localeLabels.labelMonthDropdown),labelNext:resolveLabel(labelNext,customLabels?.labelNext,localeLabels.labelNext),labelPrevious:resolveLabel(labelPrevious,customLabels?.labelPrevious,localeLabels.labelPrevious),labelWeekNumber:resolveLabel(labelWeekNumber,customLabels?.labelWeekNumber,localeLabels.labelWeekNumber),labelYearDropdown:resolveLabel(labelYearDropdown,customLabels?.labelYearDropdown,localeLabels.labelYearDropdown),labelGrid:resolveLabel(labelGrid,customLabels?.labelGrid,localeLabels.labelGrid),labelGridcell:resolveLabel(labelGridcell,customLabels?.labelGridcell,localeLabels.labelGridcell),labelNav:resolveLabel(labelNav,customLabels?.labelNav,localeLabels.labelNav),labelWeekNumberHeader:resolveLabel(labelWeekNumberHeader,customLabels?.labelWeekNumberHeader,localeLabels.labelWeekNumberHeader),labelWeekday:resolveLabel(labelWeekday,customLabels?.labelWeekday,localeLabels.labelWeekday)}}function getMonthOptions(displayMonth,navStart,navEnd,formatters,dateLib){let{startOfMonth,startOfYear,endOfYear,eachMonthOfInterval,getMonth}=dateLib;return eachMonthOfInterval({start:startOfYear(displayMonth),end:endOfYear(displayMonth)}).map((month)=>{let label=formatters.formatMonthDropdown(month,dateLib),value=getMonth(month),disabled=navStart&&month<startOfMonth(navStart)||navEnd&&month>startOfMonth(navEnd)||!1;return{value,label,disabled}})}function getStyleForModifiers(dayModifiers,styles={},modifiersStyles={}){let style={...styles?.[UI.Day]};return Object.entries(dayModifiers).filter(([,active])=>active===!0).forEach(([modifier])=>{style={...style,...modifiersStyles?.[modifier]}}),style}function getWeekdays(dateLib,ISOWeek,broadcastCalendar,today){let referenceToday=today??dateLib.today(),start=broadcastCalendar?dateLib.startOfBroadcastWeek(referenceToday,dateLib):ISOWeek?dateLib.startOfISOWeek(referenceToday):dateLib.startOfWeek(referenceToday),days=[];for(let i=0;i<7;i++){let day=dateLib.addDays(start,i);days.push(day)}return days}function getYearOptions(navStart,navEnd,formatters,dateLib,reverse=!1){if(!navStart)return;if(!navEnd)return;let{startOfYear,endOfYear,eachYearOfInterval,getYear}=dateLib,firstNavYear=startOfYear(navStart),lastNavYear=endOfYear(navEnd),years=eachYearOfInterval({start:firstNavYear,end:lastNavYear});if(reverse)years.reverse();return years.map((year)=>{let label=formatters.formatYearDropdown(year,dateLib);return{value:getYear(year),label,disabled:!1}})}function createNoonOverrides(timeZone,options={}){let{weekStartsOn,locale}=options,fallbackWeekStartsOn=weekStartsOn??locale?.options?.weekStartsOn??0,toNoonTZDate=(date)=>{let normalizedDate=typeof date==="number"||typeof date==="string"?new Date(date):date;return new TZDate(normalizedDate.getFullYear(),normalizedDate.getMonth(),normalizedDate.getDate(),12,0,0,timeZone)},toCalendarDate=(date)=>{let zoned=toNoonTZDate(date);return new Date(zoned.getFullYear(),zoned.getMonth(),zoned.getDate(),0,0,0,0)};return{today:()=>toNoonTZDate(TZDate.tz(timeZone)),newDate:(year,monthIndex,date)=>new TZDate(year,monthIndex,date,12,0,0,timeZone),startOfDay:(date)=>toNoonTZDate(date),startOfWeek:(date,options)=>{let base=toNoonTZDate(date),weekStartsOnValue=options?.weekStartsOn??fallbackWeekStartsOn,diff=(base.getDay()-weekStartsOnValue+7)%7;return base.setDate(base.getDate()-diff),base},startOfISOWeek:(date)=>{let base=toNoonTZDate(date),diff=(base.getDay()-1+7)%7;return base.setDate(base.getDate()-diff),base},startOfMonth:(date)=>{let base=toNoonTZDate(date);return base.setDate(1),base},startOfYear:(date)=>{let base=toNoonTZDate(date);return base.setMonth(0,1),base},endOfWeek:(date,options)=>{let base=toNoonTZDate(date),diff=(((options?.weekStartsOn??fallbackWeekStartsOn)+6)%7-base.getDay()+7)%7;return base.setDate(base.getDate()+diff),base},endOfISOWeek:(date)=>{let base=toNoonTZDate(date),diff=(7-base.getDay())%7;return base.setDate(base.getDate()+diff),base},endOfMonth:(date)=>{let base=toNoonTZDate(date);return base.setMonth(base.getMonth()+1,0),base},endOfYear:(date)=>{let base=toNoonTZDate(date);return base.setMonth(11,31),base},eachMonthOfInterval:(interval)=>{let start=toNoonTZDate(interval.start),end=toNoonTZDate(interval.end),result=[],cursor=new TZDate(start.getFullYear(),start.getMonth(),1,12,0,0,timeZone),endKey=end.getFullYear()*12+end.getMonth();while(cursor.getFullYear()*12+cursor.getMonth()<=endKey)result.push(new TZDate(cursor,timeZone)),cursor.setMonth(cursor.getMonth()+1,1);return result},addDays:(date,amount)=>{let base=toNoonTZDate(date);return base.setDate(base.getDate()+amount),base},addWeeks:(date,amount)=>{let base=toNoonTZDate(date);return base.setDate(base.getDate()+amount*7),base},addMonths:(date,amount)=>{let base=toNoonTZDate(date);return base.setMonth(base.getMonth()+amount),base},addYears:(date,amount)=>{let base=toNoonTZDate(date);return base.setFullYear(base.getFullYear()+amount),base},eachYearOfInterval:(interval)=>{let start=toNoonTZDate(interval.start),end=toNoonTZDate(interval.end),years=[],cursor=new TZDate(start.getFullYear(),0,1,12,0,0,timeZone);while(cursor.getFullYear()<=end.getFullYear())years.push(new TZDate(cursor,timeZone)),cursor.setFullYear(cursor.getFullYear()+1,0,1);return years},getWeek:(date,options)=>{let base=toCalendarDate(date);return getWeek(base,{weekStartsOn:options?.weekStartsOn??fallbackWeekStartsOn,firstWeekContainsDate:options?.firstWeekContainsDate??locale?.options?.firstWeekContainsDate??1})},getISOWeek:(date)=>{let base=toCalendarDate(date);return getISOWeek(base)},differenceInCalendarDays:(dateLeft,dateRight)=>{let left=toCalendarDate(dateLeft),right=toCalendarDate(dateRight);return differenceInCalendarDays(left,right)},differenceInCalendarMonths:(dateLeft,dateRight)=>{let left=toCalendarDate(dateLeft),right=toCalendarDate(dateRight);return differenceInCalendarMonths(left,right)}}}var import_react32=__toESM(require_react_development(),1);var asHtmlElement=(element)=>{if(element instanceof HTMLElement)return element;return null},queryMonthEls=(element)=>[...element.querySelectorAll("[data-animated-month]")??[]],queryMonthEl=(element)=>asHtmlElement(element.querySelector("[data-animated-month]")),queryCaptionEl=(element)=>asHtmlElement(element.querySelector("[data-animated-caption]")),queryWeeksEl=(element)=>asHtmlElement(element.querySelector("[data-animated-weeks]")),queryNavEl=(element)=>asHtmlElement(element.querySelector("[data-animated-nav]")),queryWeekdaysEl=(element)=>asHtmlElement(element.querySelector("[data-animated-weekdays]"));function useAnimation(rootElRef,enabled,{classNames,months,focused,dateLib}){let previousRootElSnapshotRef=import_react32.useRef(null),previousMonthsRef=import_react32.useRef(months),animatingRef=import_react32.useRef(!1);import_react32.useLayoutEffect(()=>{let previousMonths=previousMonthsRef.current;if(previousMonthsRef.current=months,!enabled||!rootElRef.current||!(rootElRef.current instanceof HTMLElement)||months.length===0||previousMonths.length===0||months.length!==previousMonths.length)return;let isSameMonth=dateLib.isSameMonth(months[0].date,previousMonths[0].date),isAfterPreviousMonth=dateLib.isAfter(months[0].date,previousMonths[0].date),captionAnimationClass=isAfterPreviousMonth?classNames[Animation.caption_after_enter]:classNames[Animation.caption_before_enter],weeksAnimationClass=isAfterPreviousMonth?classNames[Animation.weeks_after_enter]:classNames[Animation.weeks_before_enter],previousRootElSnapshot=previousRootElSnapshotRef.current,rootElSnapshot=rootElRef.current.cloneNode(!0);if(rootElSnapshot instanceof HTMLElement)queryMonthEls(rootElSnapshot).forEach((currentMonthElSnapshot)=>{if(!(currentMonthElSnapshot instanceof HTMLElement))return;let previousMonthElSnapshot=queryMonthEl(currentMonthElSnapshot);if(previousMonthElSnapshot&&currentMonthElSnapshot.contains(previousMonthElSnapshot))currentMonthElSnapshot.removeChild(previousMonthElSnapshot);let captionEl=queryCaptionEl(currentMonthElSnapshot);if(captionEl)captionEl.classList.remove(captionAnimationClass);let weeksEl=queryWeeksEl(currentMonthElSnapshot);if(weeksEl)weeksEl.classList.remove(weeksAnimationClass)}),previousRootElSnapshotRef.current=rootElSnapshot;else previousRootElSnapshotRef.current=null;if(animatingRef.current||isSameMonth||focused)return;let previousMonthEls=previousRootElSnapshot instanceof HTMLElement?queryMonthEls(previousRootElSnapshot):[],currentMonthEls=queryMonthEls(rootElRef.current);if(currentMonthEls?.every((el)=>el instanceof HTMLElement)&&previousMonthEls?.every((el)=>el instanceof HTMLElement)){animatingRef.current=!0;let cleanUpFunctions=[];rootElRef.current.style.isolation="isolate";let navEl=queryNavEl(rootElRef.current);if(navEl)navEl.style.zIndex="1";currentMonthEls.forEach((currentMonthEl,index)=>{let previousMonthEl=previousMonthEls[index];if(!previousMonthEl)return;currentMonthEl.style.position="relative",currentMonthEl.style.overflow="hidden";let captionEl=queryCaptionEl(currentMonthEl);if(captionEl)captionEl.classList.add(captionAnimationClass);let weeksEl=queryWeeksEl(currentMonthEl);if(weeksEl)weeksEl.classList.add(weeksAnimationClass);let cleanUp=()=>{if(animatingRef.current=!1,rootElRef.current)rootElRef.current.style.isolation="";if(navEl)navEl.style.zIndex="";if(captionEl)captionEl.classList.remove(captionAnimationClass);if(weeksEl)weeksEl.classList.remove(weeksAnimationClass);if(currentMonthEl.style.position="",currentMonthEl.style.overflow="",currentMonthEl.contains(previousMonthEl))currentMonthEl.removeChild(previousMonthEl)};cleanUpFunctions.push(cleanUp),previousMonthEl.style.pointerEvents="none",previousMonthEl.style.position="absolute",previousMonthEl.style.overflow="hidden",previousMonthEl.setAttribute("aria-hidden","true");let previousWeekdaysEl=queryWeekdaysEl(previousMonthEl);if(previousWeekdaysEl)previousWeekdaysEl.style.opacity="0";let previousCaptionEl=queryCaptionEl(previousMonthEl);if(previousCaptionEl)previousCaptionEl.classList.add(isAfterPreviousMonth?classNames[Animation.caption_before_exit]:classNames[Animation.caption_after_exit]),previousCaptionEl.addEventListener("animationend",cleanUp);let previousWeeksEl=queryWeeksEl(previousMonthEl);if(previousWeeksEl)previousWeeksEl.classList.add(isAfterPreviousMonth?classNames[Animation.weeks_before_exit]:classNames[Animation.weeks_after_exit]);currentMonthEl.insertBefore(previousMonthEl,currentMonthEl.firstChild)})}})}var import_react34=__toESM(require_react_development(),1);function getDates(displayMonths,maxDate,props,dateLib){let firstMonth=displayMonths[0],lastMonth=displayMonths[displayMonths.length-1],{ISOWeek,fixedWeeks,broadcastCalendar}=props??{},{addDays,differenceInCalendarDays,differenceInCalendarMonths,endOfBroadcastWeek,endOfISOWeek,endOfMonth,endOfWeek,isAfter,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,startWeekFirstDate=broadcastCalendar?startOfBroadcastWeek(firstMonth,dateLib):ISOWeek?startOfISOWeek(firstMonth):startOfWeek(firstMonth),displayMonthsWeekEnd=broadcastCalendar?endOfBroadcastWeek(lastMonth):ISOWeek?endOfISOWeek(endOfMonth(lastMonth)):endOfWeek(endOfMonth(lastMonth)),constraintWeekEnd=maxDate&&(broadcastCalendar?endOfBroadcastWeek(maxDate):ISOWeek?endOfISOWeek(maxDate):endOfWeek(maxDate)),gridEndDate=constraintWeekEnd&&isAfter(displayMonthsWeekEnd,constraintWeekEnd)?constraintWeekEnd:displayMonthsWeekEnd,nOfDays=differenceInCalendarDays(gridEndDate,startWeekFirstDate),nOfMonths=differenceInCalendarMonths(lastMonth,firstMonth)+1,dates=[];for(let i=0;i<=nOfDays;i++){let date=addDays(startWeekFirstDate,i);dates.push(date)}let extraDates=(broadcastCalendar?35:42)*nOfMonths;if(fixedWeeks&&dates.length<extraDates){let daysToAdd=extraDates-dates.length;for(let i=0;i<daysToAdd;i++){let date=addDays(dates[dates.length-1],1);dates.push(date)}}return dates}function getDays(calendarMonths){let initialDays=[];return calendarMonths.reduce((days,month)=>{let weekDays=month.weeks.reduce((weekDays,week)=>weekDays.concat(week.days.slice()),initialDays.slice());return days.concat(weekDays.slice())},initialDays.slice())}function getDisplayMonths(firstDisplayedMonth,calendarEndMonth,props,dateLib){let{numberOfMonths=1}=props,months=[];for(let i=0;i<numberOfMonths;i++){let month=dateLib.addMonths(firstDisplayedMonth,i);if(calendarEndMonth&&month>calendarEndMonth)break;months.push(month)}return months}function getInitialMonth(props,navStart,navEnd,dateLib){let{month,defaultMonth,today=dateLib.today(),numberOfMonths=1}=props,initialMonth=month||defaultMonth||today,{differenceInCalendarMonths,addMonths,startOfMonth}=dateLib;if(navEnd&&differenceInCalendarMonths(navEnd,initialMonth)<numberOfMonths-1){let offset=-1*(numberOfMonths-1);initialMonth=addMonths(navEnd,offset)}if(navStart&&differenceInCalendarMonths(initialMonth,navStart)<0)initialMonth=navStart;return startOfMonth(initialMonth)}function getMonths(displayMonths,dates,props,dateLib){let{addDays,endOfBroadcastWeek,endOfISOWeek,endOfMonth,endOfWeek,getISOWeek,getWeek,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,dayPickerMonths=displayMonths.reduce((months,month)=>{let firstDateOfFirstWeek=props.broadcastCalendar?startOfBroadcastWeek(month,dateLib):props.ISOWeek?startOfISOWeek(month):startOfWeek(month),lastDateOfLastWeek=props.broadcastCalendar?endOfBroadcastWeek(month):props.ISOWeek?endOfISOWeek(endOfMonth(month)):endOfWeek(endOfMonth(month)),monthDates=dates.filter((date)=>date>=firstDateOfFirstWeek&&date<=lastDateOfLastWeek),nrOfDaysWithFixedWeeks=props.broadcastCalendar?35:42;if(props.fixedWeeks&&monthDates.length<nrOfDaysWithFixedWeeks){let extraDates=dates.filter((date)=>{let daysToAdd=nrOfDaysWithFixedWeeks-monthDates.length;return date>lastDateOfLastWeek&&date<=addDays(lastDateOfLastWeek,daysToAdd)});monthDates.push(...extraDates)}let weeks=monthDates.reduce((weeks,date)=>{let weekNumber=props.ISOWeek?getISOWeek(date):getWeek(date),week=weeks.find((week)=>week.weekNumber===weekNumber),day=new CalendarDay(date,month,dateLib);if(!week)weeks.push(new CalendarWeek(weekNumber,[day]));else week.days.push(day);return weeks},[]),dayPickerMonth=new CalendarMonth(month,weeks);return months.push(dayPickerMonth),months},[]);if(!props.reverseMonths)return dayPickerMonths;else return dayPickerMonths.reverse()}function getNavMonths(props,dateLib){let{startMonth,endMonth}=props,{startOfYear,startOfDay,startOfMonth,endOfMonth,addYears,endOfYear,today}=dateLib,hasYearDropdown=props.captionLayout==="dropdown"||props.captionLayout==="dropdown-years";if(startMonth)startMonth=startOfMonth(startMonth);else if(!startMonth&&hasYearDropdown)startMonth=startOfYear(addYears(props.today??today(),-100));if(endMonth)endMonth=endOfMonth(endMonth);else if(!endMonth&&hasYearDropdown)endMonth=endOfYear(props.today??today());return[startMonth?startOfDay(startMonth):startMonth,endMonth?startOfDay(endMonth):endMonth]}function getNextMonth(firstDisplayedMonth,calendarEndMonth,options,dateLib){if(options.disableNavigation)return;let{pagedNavigation,numberOfMonths=1}=options,{startOfMonth,addMonths,differenceInCalendarMonths}=dateLib,offset=pagedNavigation?numberOfMonths:1,month=startOfMonth(firstDisplayedMonth);if(!calendarEndMonth)return addMonths(month,offset);if(differenceInCalendarMonths(calendarEndMonth,firstDisplayedMonth)<numberOfMonths)return;return addMonths(month,offset)}function getPreviousMonth(firstDisplayedMonth,calendarStartMonth,options,dateLib){if(options.disableNavigation)return;let{pagedNavigation,numberOfMonths}=options,{startOfMonth,addMonths,differenceInCalendarMonths}=dateLib,offset=pagedNavigation?numberOfMonths??1:1,month=startOfMonth(firstDisplayedMonth);if(!calendarStartMonth)return addMonths(month,-offset);if(differenceInCalendarMonths(month,calendarStartMonth)<=0)return;return addMonths(month,-offset)}function getWeeks(months){let initialWeeks=[];return months.reduce((weeks,month)=>weeks.concat(month.weeks.slice()),initialWeeks.slice())}var import_react33=__toESM(require_react_development(),1);function useControlledValue(defaultValue,controlledValue){let[uncontrolledValue,setValue]=import_react33.useState(defaultValue);return[controlledValue===void 0?uncontrolledValue:controlledValue,setValue]}function useCalendar(props,dateLib){let[navStart,navEnd]=getNavMonths(props,dateLib),{startOfMonth,endOfMonth}=dateLib,initialMonth=getInitialMonth(props,navStart,navEnd,dateLib),[firstMonth,setFirstMonth]=useControlledValue(initialMonth,props.month?initialMonth:void 0);import_react34.useEffect(()=>{let newInitialMonth=getInitialMonth(props,navStart,navEnd,dateLib);setFirstMonth(newInitialMonth)},[props.timeZone]);let{months,weeks,days,previousMonth,nextMonth}=import_react34.useMemo(()=>{let displayMonths=getDisplayMonths(firstMonth,navEnd,{numberOfMonths:props.numberOfMonths},dateLib),dates=getDates(displayMonths,props.endMonth?endOfMonth(props.endMonth):void 0,{ISOWeek:props.ISOWeek,fixedWeeks:props.fixedWeeks,broadcastCalendar:props.broadcastCalendar},dateLib),months=getMonths(displayMonths,dates,{broadcastCalendar:props.broadcastCalendar,fixedWeeks:props.fixedWeeks,ISOWeek:props.ISOWeek,reverseMonths:props.reverseMonths},dateLib),weeks=getWeeks(months),days=getDays(months),previousMonth=getPreviousMonth(firstMonth,navStart,props,dateLib),nextMonth=getNextMonth(firstMonth,navEnd,props,dateLib);return{months,weeks,days,previousMonth,nextMonth}},[dateLib,firstMonth.getTime(),navEnd?.getTime(),navStart?.getTime(),props.disableNavigation,props.broadcastCalendar,props.endMonth?.getTime(),props.fixedWeeks,props.ISOWeek,props.numberOfMonths,props.pagedNavigation,props.reverseMonths]),{disableNavigation,onMonthChange}=props,isDayInCalendar=(day)=>weeks.some((week)=>week.days.some((d)=>d.isEqualTo(day))),goToMonth=(date)=>{if(disableNavigation)return;let newMonth=startOfMonth(date);if(navStart&&newMonth<startOfMonth(navStart))newMonth=startOfMonth(navStart);if(navEnd&&newMonth>startOfMonth(navEnd))newMonth=startOfMonth(navEnd);setFirstMonth(newMonth),onMonthChange?.(newMonth)};return{months,weeks,days,navStart,navEnd,previousMonth,nextMonth,goToMonth,goToDay:(day)=>{if(isDayInCalendar(day))return;goToMonth(day.date)}}}var import_react35=__toESM(require_react_development(),1);var FocusTargetPriority;(function(FocusTargetPriority){FocusTargetPriority[FocusTargetPriority.Today=0]="Today",FocusTargetPriority[FocusTargetPriority.Selected=1]="Selected",FocusTargetPriority[FocusTargetPriority.LastFocused=2]="LastFocused",FocusTargetPriority[FocusTargetPriority.FocusedModifier=3]="FocusedModifier"})(FocusTargetPriority||(FocusTargetPriority={}));function isFocusableDay(modifiers){return!modifiers[DayFlag.disabled]&&!modifiers[DayFlag.hidden]&&!modifiers[DayFlag.outside]}function calculateFocusTarget(days,getModifiers,isSelected,lastFocused){let focusTarget,foundFocusTargetPriority=-1;for(let day of days){let modifiers=getModifiers(day);if(isFocusableDay(modifiers)){if(modifiers[DayFlag.focused]&&foundFocusTargetPriority<FocusTargetPriority.FocusedModifier)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.FocusedModifier;else if(lastFocused?.isEqualTo(day)&&foundFocusTargetPriority<FocusTargetPriority.LastFocused)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.LastFocused;else if(isSelected(day.date)&&foundFocusTargetPriority<FocusTargetPriority.Selected)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.Selected;else if(modifiers[DayFlag.today]&&foundFocusTargetPriority<FocusTargetPriority.Today)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.Today}}if(!focusTarget)focusTarget=days.find((day)=>isFocusableDay(getModifiers(day)));return focusTarget}function getFocusableDate(moveBy,moveDir,refDate,navStart,navEnd,props,dateLib){let{ISOWeek,broadcastCalendar}=props,{addDays,addMonths,addWeeks,addYears,endOfBroadcastWeek,endOfISOWeek,endOfWeek,max,min,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,focusableDate={day:addDays,week:addWeeks,month:addMonths,year:addYears,startOfWeek:(date)=>broadcastCalendar?startOfBroadcastWeek(date,dateLib):ISOWeek?startOfISOWeek(date):startOfWeek(date),endOfWeek:(date)=>broadcastCalendar?endOfBroadcastWeek(date):ISOWeek?endOfISOWeek(date):endOfWeek(date)}[moveBy](refDate,moveDir==="after"?1:-1);if(moveDir==="before"&&navStart)focusableDate=max([navStart,focusableDate]);else if(moveDir==="after"&&navEnd)focusableDate=min([navEnd,focusableDate]);return focusableDate}function getNextFocus(moveBy,moveDir,refDay,calendarStartMonth,calendarEndMonth,props,dateLib,attempt=0){if(attempt>365)return;let focusableDate=getFocusableDate(moveBy,moveDir,refDay.date,calendarStartMonth,calendarEndMonth,props,dateLib),isDisabled=Boolean(props.disabled&&dateMatchModifiers(focusableDate,props.disabled,dateLib)),isHidden=Boolean(props.hidden&&dateMatchModifiers(focusableDate,props.hidden,dateLib)),focusDay=new CalendarDay(focusableDate,focusableDate,dateLib);if(!isDisabled&&!isHidden)return focusDay;return getNextFocus(moveBy,moveDir,focusDay,calendarStartMonth,calendarEndMonth,props,dateLib,attempt+1)}function useFocus(props,calendar,getModifiers,isSelected,dateLib){let{autoFocus}=props,[lastFocused,setLastFocused]=import_react35.useState(),focusTarget=calculateFocusTarget(calendar.days,getModifiers,isSelected||(()=>!1),lastFocused),[focusedDay,setFocused]=import_react35.useState(autoFocus?focusTarget:void 0);return{isFocusTarget:(day)=>Boolean(focusTarget?.isEqualTo(day)),setFocused,focused:focusedDay,blur:()=>{setLastFocused(focusedDay),setFocused(void 0)},moveFocus:(moveBy,moveDir)=>{if(!focusedDay)return;let nextFocus=getNextFocus(moveBy,moveDir,focusedDay,calendar.navStart,calendar.navEnd,props,dateLib);if(!nextFocus)return;if(props.disableNavigation){if(!calendar.days.some((day)=>day.isEqualTo(nextFocus)))return}calendar.goToDay(nextFocus),setFocused(nextFocus)}}}function useMulti(props,dateLib){let{selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected,{isSameDay}=dateLib,isSelected=(date)=>selected?.some((d)=>isSameDay(d,date))??!1,{min,max}=props;return{selected,select:(triggerDate,modifiers,e)=>{let newDates=[...selected??[]];if(isSelected(triggerDate)){if(selected?.length===min)return;if(required&&selected?.length===1)return;newDates=selected?.filter((d)=>!isSameDay(d,triggerDate))}else if(selected?.length===max)newDates=[triggerDate];else newDates=[...newDates,triggerDate];if(!onSelect)setSelected(newDates);return onSelect?.(newDates,triggerDate,modifiers,e),newDates},isSelected}}function addToRange(date,initialRange,min=0,max=0,required=!1,dateLib=defaultDateLib){let{from,to}=initialRange||{},{isSameDay,isAfter,isBefore}=dateLib,range;if(!from&&!to)range={from:date,to:min>0?void 0:date};else if(from&&!to)if(isSameDay(from,date))if(min===0)range={from,to:date};else if(required)range={from,to:void 0};else range=void 0;else if(isBefore(date,from))range={from:date,to:from};else range={from,to:date};else if(from&&to)if(isSameDay(from,date)&&isSameDay(to,date))if(required)range={from,to};else range=void 0;else if(isSameDay(from,date))range={from,to:min>0?void 0:date};else if(isSameDay(to,date))range={from:date,to:min>0?void 0:date};else if(isBefore(date,from))range={from:date,to};else if(isAfter(date,from))range={from,to:date};else if(isAfter(date,to))range={from,to:date};else throw Error("Invalid range");if(range?.from&&range?.to){let diff=dateLib.differenceInCalendarDays(range.to,range.from);if(max>0&&diff>max)range={from:date,to:void 0};else if(min>1&&diff<min)range={from:date,to:void 0}}return range}function rangeContainsDayOfWeek(range,dayOfWeek,dateLib=defaultDateLib){let dayOfWeekArr=!Array.isArray(dayOfWeek)?[dayOfWeek]:dayOfWeek,date=range.from,totalDays=dateLib.differenceInCalendarDays(range.to,range.from),totalDaysLimit=Math.min(totalDays,6);for(let i=0;i<=totalDaysLimit;i++){if(dayOfWeekArr.includes(date.getDay()))return!0;date=dateLib.addDays(date,1)}return!1}function rangeOverlaps(rangeLeft,rangeRight,dateLib=defaultDateLib){return rangeIncludesDate(rangeLeft,rangeRight.from,!1,dateLib)||rangeIncludesDate(rangeLeft,rangeRight.to,!1,dateLib)||rangeIncludesDate(rangeRight,rangeLeft.from,!1,dateLib)||rangeIncludesDate(rangeRight,rangeLeft.to,!1,dateLib)}function rangeContainsModifiers(range,modifiers,dateLib=defaultDateLib){let matchers=Array.isArray(modifiers)?modifiers:[modifiers];if(matchers.filter((matcher)=>typeof matcher!=="function").some((matcher)=>{if(typeof matcher==="boolean")return matcher;if(dateLib.isDate(matcher))return rangeIncludesDate(range,matcher,!1,dateLib);if(isDatesArray(matcher,dateLib))return matcher.some((date)=>rangeIncludesDate(range,date,!1,dateLib));if(isDateRange(matcher)){if(matcher.from&&matcher.to)return rangeOverlaps(range,{from:matcher.from,to:matcher.to},dateLib);return!1}if(isDayOfWeekType(matcher))return rangeContainsDayOfWeek(range,matcher.dayOfWeek,dateLib);if(isDateInterval(matcher)){if(dateLib.isAfter(matcher.before,matcher.after))return rangeOverlaps(range,{from:dateLib.addDays(matcher.after,1),to:dateLib.addDays(matcher.before,-1)},dateLib);return dateMatchModifiers(range.from,matcher,dateLib)||dateMatchModifiers(range.to,matcher,dateLib)}if(isDateAfterType(matcher)||isDateBeforeType(matcher))return dateMatchModifiers(range.from,matcher,dateLib)||dateMatchModifiers(range.to,matcher,dateLib);return!1}))return!0;let functionMatchers=matchers.filter((matcher)=>typeof matcher==="function");if(functionMatchers.length){let date=range.from,totalDays=dateLib.differenceInCalendarDays(range.to,range.from);for(let i=0;i<=totalDays;i++){if(functionMatchers.some((matcher)=>matcher(date)))return!0;date=dateLib.addDays(date,1)}}return!1}function useRange(props,dateLib){let{disabled,excludeDisabled,resetOnSelect,selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected;return{selected,select:(triggerDate,modifiers,e)=>{let{min,max}=props,newRange;if(triggerDate){let selectedFrom=selected?.from,selectedTo=selected?.to,hasFullRange=!!selectedFrom&&!!selectedTo,isClickingSingleDayRange=!!selectedFrom&&!!selectedTo&&dateLib.isSameDay(selectedFrom,selectedTo)&&dateLib.isSameDay(triggerDate,selectedFrom);if(resetOnSelect&&(hasFullRange||!selected?.from))if(!required&&isClickingSingleDayRange)newRange=void 0;else newRange={from:triggerDate,to:void 0};else newRange=addToRange(triggerDate,selected,min,max,required,dateLib)}if(excludeDisabled&&disabled&&newRange?.from&&newRange.to){if(rangeContainsModifiers({from:newRange.from,to:newRange.to},disabled,dateLib))newRange.from=triggerDate,newRange.to=void 0}if(!onSelect)setSelected(newRange);return onSelect?.(newRange,triggerDate,modifiers,e),newRange},isSelected:(date)=>selected&&rangeIncludesDate(selected,date,!1,dateLib)}}function useSingle(props,dateLib){let{selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected,{isSameDay}=dateLib;return{selected,select:(triggerDate,modifiers,e)=>{let newDate=triggerDate;if(!required&&selected&&selected&&isSameDay(triggerDate,selected))newDate=void 0;if(!onSelect)setSelected(newDate);if(required)onSelect?.(newDate,triggerDate,modifiers,e);else onSelect?.(newDate,triggerDate,modifiers,e);return newDate},isSelected:(compareDate)=>selected?isSameDay(selected,compareDate):!1}}function useSelection(props,dateLib){let single=useSingle(props,dateLib),multi=useMulti(props,dateLib),range=useRange(props,dateLib);switch(props.mode){case"single":return single;case"multiple":return multi;case"range":return range;default:return}}function toTimeZone(date,timeZone){if(date instanceof TZDate&&date.timeZone===timeZone)return date;return new TZDate(date,timeZone)}function toZoneNoon(date,timeZone,noonSafe){if(!noonSafe)return toTimeZone(date,timeZone);let zoned=toTimeZone(date,timeZone),noonZoned=new TZDate(zoned.getFullYear(),zoned.getMonth(),zoned.getDate(),12,0,0,timeZone);return new Date(noonZoned.getTime())}function convertMatcher(matcher,timeZone,noonSafe){if(typeof matcher==="boolean"||typeof matcher==="function")return matcher;if(matcher instanceof Date)return toZoneNoon(matcher,timeZone,noonSafe);if(Array.isArray(matcher))return matcher.map((value)=>value instanceof Date?toZoneNoon(value,timeZone,noonSafe):value);if(isDateRange(matcher))return{...matcher,from:matcher.from?toTimeZone(matcher.from,timeZone):matcher.from,to:matcher.to?toTimeZone(matcher.to,timeZone):matcher.to};if(isDateInterval(matcher))return{before:toZoneNoon(matcher.before,timeZone,noonSafe),after:toZoneNoon(matcher.after,timeZone,noonSafe)};if(isDateAfterType(matcher))return{after:toZoneNoon(matcher.after,timeZone,noonSafe)};if(isDateBeforeType(matcher))return{before:toZoneNoon(matcher.before,timeZone,noonSafe)};return matcher}function convertMatchersToTimeZone(matchers,timeZone,noonSafe){if(!matchers)return matchers;if(Array.isArray(matchers))return matchers.map((matcher)=>convertMatcher(matcher,timeZone,noonSafe));return convertMatcher(matchers,timeZone,noonSafe)}function DayPicker(initialProps){let props=initialProps,timeZone=props.timeZone;if(timeZone){if(props={...initialProps,timeZone},props.today)props.today=toTimeZone(props.today,timeZone);if(props.month)props.month=toTimeZone(props.month,timeZone);if(props.defaultMonth)props.defaultMonth=toTimeZone(props.defaultMonth,timeZone);if(props.startMonth)props.startMonth=toTimeZone(props.startMonth,timeZone);if(props.endMonth)props.endMonth=toTimeZone(props.endMonth,timeZone);if(props.mode==="single"&&props.selected)props.selected=toTimeZone(props.selected,timeZone);else if(props.mode==="multiple"&&props.selected)props.selected=props.selected?.map((date)=>toTimeZone(date,timeZone));else if(props.mode==="range"&&props.selected)props.selected={from:props.selected.from?toTimeZone(props.selected.from,timeZone):props.selected.from,to:props.selected.to?toTimeZone(props.selected.to,timeZone):props.selected.to};if(props.disabled!==void 0)props.disabled=convertMatchersToTimeZone(props.disabled,timeZone);if(props.hidden!==void 0)props.hidden=convertMatchersToTimeZone(props.hidden,timeZone);if(props.modifiers){let nextModifiers={};Object.keys(props.modifiers).forEach((key)=>{nextModifiers[key]=convertMatchersToTimeZone(props.modifiers?.[key],timeZone)}),props.modifiers=nextModifiers}}let{components,formatters,labels,dateLib,locale,classNames}=import_react36.useMemo(()=>{let locale={...enUS2,...props.locale},weekStartsOn=props.broadcastCalendar?1:props.weekStartsOn,noonOverrides=props.noonSafe&&props.timeZone?createNoonOverrides(props.timeZone,{weekStartsOn,locale}):void 0,overrides=props.dateLib&&noonOverrides?{...noonOverrides,...props.dateLib}:props.dateLib??noonOverrides,dateLib=new DateLib({locale,weekStartsOn,firstWeekContainsDate:props.firstWeekContainsDate,useAdditionalWeekYearTokens:props.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:props.useAdditionalDayOfYearTokens,timeZone:props.timeZone,numerals:props.numerals},overrides);return{dateLib,components:getComponents(props.components),formatters:getFormatters(props.formatters),labels:getLabels(props.labels,dateLib.options),locale,classNames:{...getDefaultClassNames(),...props.classNames}}},[props.locale,props.broadcastCalendar,props.weekStartsOn,props.firstWeekContainsDate,props.useAdditionalWeekYearTokens,props.useAdditionalDayOfYearTokens,props.timeZone,props.numerals,props.dateLib,props.noonSafe,props.components,props.formatters,props.labels,props.classNames]);if(!props.today)props={...props,today:dateLib.today()};let{captionLayout,mode,navLayout,numberOfMonths=1,onDayBlur,onDayClick,onDayFocus,onDayKeyDown,onDayMouseEnter,onDayMouseLeave,onNextClick,onPrevClick,showWeekNumber,styles}=props,{formatCaption,formatDay,formatMonthDropdown,formatWeekNumber,formatWeekNumberHeader,formatWeekdayName,formatYearDropdown}=formatters,calendar=useCalendar(props,dateLib),{days,months,navStart,navEnd,previousMonth,nextMonth,goToMonth}=calendar,getModifiers=createGetModifiers(days,props,navStart,navEnd,dateLib),{isSelected,select,selected:selectedValue}=useSelection(props,dateLib)??{},{blur,focused,isFocusTarget,moveFocus,setFocused}=useFocus(props,calendar,getModifiers,isSelected??(()=>!1),dateLib),{labelDayButton,labelGridcell,labelGrid,labelMonthDropdown,labelNav,labelPrevious,labelNext,labelWeekday,labelWeekNumber,labelWeekNumberHeader,labelYearDropdown}=labels,weekdays=import_react36.useMemo(()=>getWeekdays(dateLib,props.ISOWeek,props.broadcastCalendar,props.today),[dateLib,props.ISOWeek,props.broadcastCalendar,props.today]),isInteractive=mode!==void 0||onDayClick!==void 0,handlePreviousClick=import_react36.useCallback(()=>{if(!previousMonth)return;goToMonth(previousMonth),onPrevClick?.(previousMonth)},[previousMonth,goToMonth,onPrevClick]),handleNextClick=import_react36.useCallback(()=>{if(!nextMonth)return;goToMonth(nextMonth),onNextClick?.(nextMonth)},[goToMonth,nextMonth,onNextClick]),handleDayClick=import_react36.useCallback((day,m)=>(e)=>{if(e.preventDefault(),e.stopPropagation(),setFocused(day),m.disabled)return;select?.(day.date,m,e),onDayClick?.(day.date,m,e)},[select,onDayClick,setFocused]),handleDayFocus=import_react36.useCallback((day,m)=>(e)=>{setFocused(day),onDayFocus?.(day.date,m,e)},[onDayFocus,setFocused]),handleDayBlur=import_react36.useCallback((day,m)=>(e)=>{blur(),onDayBlur?.(day.date,m,e)},[blur,onDayBlur]),handleDayKeyDown=import_react36.useCallback((day,modifiers)=>(e)=>{let keyMap={ArrowLeft:[e.shiftKey?"month":"day",props.dir==="rtl"?"after":"before"],ArrowRight:[e.shiftKey?"month":"day",props.dir==="rtl"?"before":"after"],ArrowDown:[e.shiftKey?"year":"week","after"],ArrowUp:[e.shiftKey?"year":"week","before"],PageUp:[e.shiftKey?"year":"month","before"],PageDown:[e.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(keyMap[e.key]){e.preventDefault(),e.stopPropagation();let[moveBy,moveDir]=keyMap[e.key];moveFocus(moveBy,moveDir)}onDayKeyDown?.(day.date,modifiers,e)},[moveFocus,onDayKeyDown,props.dir]),handleDayMouseEnter=import_react36.useCallback((day,modifiers)=>(e)=>{onDayMouseEnter?.(day.date,modifiers,e)},[onDayMouseEnter]),handleDayMouseLeave=import_react36.useCallback((day,modifiers)=>(e)=>{onDayMouseLeave?.(day.date,modifiers,e)},[onDayMouseLeave]),handleMonthChange=import_react36.useCallback((date,monthOffset)=>(e)=>{let selectedMonth=Number(e.target.value),month=dateLib.setMonth(dateLib.startOfMonth(date),selectedMonth);goToMonth(dateLib.addMonths(month,-monthOffset))},[dateLib,goToMonth]),handleYearChange=import_react36.useCallback((date,monthOffset)=>(e)=>{let selectedYear=Number(e.target.value),month=dateLib.setYear(dateLib.startOfMonth(date),selectedYear);goToMonth(dateLib.addMonths(month,-monthOffset))},[dateLib,goToMonth]),{className,style}=import_react36.useMemo(()=>({className:[classNames[UI.Root],props.className].filter(Boolean).join(" "),style:{...styles?.[UI.Root],...props.style}}),[classNames,props.className,props.style,styles]),dataAttributes=getDataAttributes(props),getDropdownStyle=(dropdown)=>{let dropdownStyle=styles?.[UI.Dropdown],specificDropdownStyle=styles?.[dropdown];if(!dropdownStyle&&!specificDropdownStyle)return;return{...dropdownStyle,...specificDropdownStyle}},rootElRef=import_react36.useRef(null);useAnimation(rootElRef,Boolean(props.animate),{classNames,months,focused,dateLib});let contextValue={dayPickerProps:props,selected:selectedValue,select,isSelected,months,nextMonth,previousMonth,goToMonth,getModifiers,components,classNames,styles,labels,formatters};return import_react36.default.createElement(dayPickerContext.Provider,{value:contextValue},import_react36.default.createElement(components.Root,{rootRef:props.animate?rootElRef:void 0,className,style,dir:props.dir,id:props.id,lang:props.lang??locale.code,nonce:props.nonce,title:props.title,role:props.role,"aria-label":props["aria-label"],"aria-labelledby":props["aria-labelledby"],...dataAttributes},import_react36.default.createElement(components.Months,{className:classNames[UI.Months],style:styles?.[UI.Months]},!props.hideNavigation&&!navLayout&&import_react36.default.createElement(components.Nav,{"data-animated-nav":props.animate?"true":void 0,className:classNames[UI.Nav],style:styles?.[UI.Nav],"aria-label":labelNav(),onPreviousClick:handlePreviousClick,onNextClick:handleNextClick,previousMonth,nextMonth}),months.map((calendarMonth,displayIndex)=>{let monthOffset=props.reverseMonths?months.length-1-displayIndex:displayIndex;return import_react36.default.createElement(components.Month,{"data-animated-month":props.animate?"true":void 0,className:classNames[UI.Month],style:styles?.[UI.Month],key:displayIndex,displayIndex,calendarMonth},navLayout==="around"&&!props.hideNavigation&&displayIndex===0&&import_react36.default.createElement(components.PreviousMonthButton,{type:"button",className:classNames[UI.PreviousMonthButton],style:styles?.[UI.PreviousMonthButton],tabIndex:previousMonth?void 0:-1,"aria-disabled":previousMonth?void 0:!0,"aria-label":labelPrevious(previousMonth),onClick:handlePreviousClick,"data-animated-button":props.animate?"true":void 0},import_react36.default.createElement(components.Chevron,{disabled:previousMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:props.dir==="rtl"?"right":"left"})),import_react36.default.createElement(components.MonthCaption,{"data-animated-caption":props.animate?"true":void 0,className:classNames[UI.MonthCaption],style:styles?.[UI.MonthCaption],calendarMonth,displayIndex},captionLayout?.startsWith("dropdown")?import_react36.default.createElement(components.DropdownNav,{className:classNames[UI.Dropdowns],style:styles?.[UI.Dropdowns]},(()=>{let monthControl=captionLayout==="dropdown"||captionLayout==="dropdown-months"?import_react36.default.createElement(components.MonthsDropdown,{key:"month",className:classNames[UI.MonthsDropdown],"aria-label":labelMonthDropdown(),disabled:Boolean(props.disableNavigation),onChange:handleMonthChange(calendarMonth.date,monthOffset),options:getMonthOptions(calendarMonth.date,navStart,navEnd,formatters,dateLib),style:getDropdownStyle(UI.MonthsDropdown),value:dateLib.getMonth(calendarMonth.date)}):import_react36.default.createElement("span",{key:"month"},formatMonthDropdown(calendarMonth.date,dateLib)),yearControl=captionLayout==="dropdown"||captionLayout==="dropdown-years"?import_react36.default.createElement(components.YearsDropdown,{key:"year",className:classNames[UI.YearsDropdown],"aria-label":labelYearDropdown(dateLib.options),disabled:Boolean(props.disableNavigation),onChange:handleYearChange(calendarMonth.date,monthOffset),options:getYearOptions(navStart,navEnd,formatters,dateLib,Boolean(props.reverseYears)),style:getDropdownStyle(UI.YearsDropdown),value:dateLib.getYear(calendarMonth.date)}):import_react36.default.createElement("span",{key:"year"},formatYearDropdown(calendarMonth.date,dateLib));return dateLib.getMonthYearOrder()==="year-first"?[yearControl,monthControl]:[monthControl,yearControl]})(),import_react36.default.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},formatCaption(calendarMonth.date,dateLib.options,dateLib))):import_react36.default.createElement(components.CaptionLabel,{className:classNames[UI.CaptionLabel],style:styles?.[UI.CaptionLabel],role:"status","aria-live":"polite"},formatCaption(calendarMonth.date,dateLib.options,dateLib))),navLayout==="around"&&!props.hideNavigation&&displayIndex===numberOfMonths-1&&import_react36.default.createElement(components.NextMonthButton,{type:"button",className:classNames[UI.NextMonthButton],style:styles?.[UI.NextMonthButton],tabIndex:nextMonth?void 0:-1,"aria-disabled":nextMonth?void 0:!0,"aria-label":labelNext(nextMonth),onClick:handleNextClick,"data-animated-button":props.animate?"true":void 0},import_react36.default.createElement(components.Chevron,{disabled:nextMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:props.dir==="rtl"?"left":"right"})),displayIndex===numberOfMonths-1&&navLayout==="after"&&!props.hideNavigation&&import_react36.default.createElement(components.Nav,{"data-animated-nav":props.animate?"true":void 0,className:classNames[UI.Nav],style:styles?.[UI.Nav],"aria-label":labelNav(),onPreviousClick:handlePreviousClick,onNextClick:handleNextClick,previousMonth,nextMonth}),import_react36.default.createElement(components.MonthGrid,{role:"grid","aria-multiselectable":mode==="multiple"||mode==="range","aria-label":labelGrid(calendarMonth.date,dateLib.options,dateLib)||void 0,className:classNames[UI.MonthGrid],style:styles?.[UI.MonthGrid]},!props.hideWeekdays&&import_react36.default.createElement(components.Weekdays,{"data-animated-weekdays":props.animate?"true":void 0,className:classNames[UI.Weekdays],style:styles?.[UI.Weekdays]},showWeekNumber&&import_react36.default.createElement(components.WeekNumberHeader,{"aria-label":labelWeekNumberHeader(dateLib.options),className:classNames[UI.WeekNumberHeader],style:styles?.[UI.WeekNumberHeader],scope:"col"},formatWeekNumberHeader()),weekdays.map((weekday)=>import_react36.default.createElement(components.Weekday,{"aria-label":labelWeekday(weekday,dateLib.options,dateLib),className:classNames[UI.Weekday],key:String(weekday),style:styles?.[UI.Weekday],scope:"col"},formatWeekdayName(weekday,dateLib.options,dateLib)))),import_react36.default.createElement(components.Weeks,{"data-animated-weeks":props.animate?"true":void 0,className:classNames[UI.Weeks],style:styles?.[UI.Weeks]},calendarMonth.weeks.map((week)=>import_react36.default.createElement(components.Week,{className:classNames[UI.Week],key:week.weekNumber,style:styles?.[UI.Week],week},showWeekNumber&&import_react36.default.createElement(components.WeekNumber,{week,style:styles?.[UI.WeekNumber],"aria-label":labelWeekNumber(week.weekNumber,{locale}),className:classNames[UI.WeekNumber],scope:"row",role:"rowheader"},formatWeekNumber(week.weekNumber,dateLib)),week.days.map((day)=>{let{date}=day,modifiers=getModifiers(day);if(modifiers[DayFlag.focused]=!modifiers.hidden&&Boolean(focused?.isEqualTo(day)),modifiers[SelectionState.selected]=isSelected?.(date)||modifiers.selected,isDateRange(selectedValue)){let{from,to}=selectedValue;modifiers[SelectionState.range_start]=Boolean(from&&to&&dateLib.isSameDay(date,from)),modifiers[SelectionState.range_end]=Boolean(from&&to&&dateLib.isSameDay(date,to)),modifiers[SelectionState.range_middle]=rangeIncludesDate(selectedValue,date,!0,dateLib)}let style=getStyleForModifiers(modifiers,styles,props.modifiersStyles),className=getClassNamesForModifiers(modifiers,classNames,props.modifiersClassNames),ariaLabel=!isInteractive&&!modifiers.hidden?labelGridcell(date,modifiers,dateLib.options,dateLib):void 0;return import_react36.default.createElement(components.Day,{key:`${day.isoDate}_${day.displayMonthId}`,day,modifiers,className:className.join(" "),style,role:"gridcell","aria-selected":modifiers.selected||void 0,"aria-label":ariaLabel,"data-day":day.isoDate,"data-month":day.outside?day.dateMonthId:void 0,"data-selected":modifiers.selected||void 0,"data-disabled":modifiers.disabled||void 0,"data-hidden":modifiers.hidden||void 0,"data-outside":day.outside||void 0,"data-focused":modifiers.focused||void 0,"data-today":modifiers.today||void 0},!modifiers.hidden&&isInteractive?import_react36.default.createElement(components.DayButton,{className:classNames[UI.DayButton],style:styles?.[UI.DayButton],type:"button",day,modifiers,disabled:!modifiers.focused&&modifiers.disabled||void 0,"aria-disabled":modifiers.focused&&modifiers.disabled||void 0,tabIndex:isFocusTarget(day)?0:-1,"aria-label":labelDayButton(date,modifiers,dateLib.options,dateLib),onClick:handleDayClick(day,modifiers),onBlur:handleDayBlur(day,modifiers),onFocus:handleDayFocus(day,modifiers),onKeyDown:handleDayKeyDown(day,modifiers),onMouseEnter:handleDayMouseEnter(day,modifiers),onMouseLeave:handleDayMouseLeave(day,modifiers)},formatDay(date,dateLib.options,dateLib)):!modifiers.hidden&&formatDay(day.date,dateLib.options,dateLib))}))))))})),props.footer&&import_react36.default.createElement(components.Footer,{className:classNames[UI.Footer],style:styles?.[UI.Footer],role:"status","aria-live":"polite"},props.footer)))}var jsx_dev_runtime13=__toESM(require_react_jsx_dev_runtime_development(),1);function toDate2(value){if(value===void 0)return;if(value instanceof Date)return value;let parsed=new Date(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00`:value);return Number.isNaN(parsed.getTime())?void 0:parsed}function Calendar({className,classNames,showOutsideDays=!0,captionLayout="label",buttonVariant="ghost",locale,formatters,components,month,selected,...props}){let defaultClassNames=getDefaultClassNames(),selectedDate=toDate2(selected),monthDate=toDate2(month);return jsx_dev_runtime13.jsxDEV(DayPicker,{showOutsideDays,className:cn("group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,className),captionLayout,locale,formatters:{formatMonthDropdown:(date)=>date.toLocaleString(locale?.code,{month:"short"}),...formatters},classNames:{root:cn("w-fit",defaultClassNames.root),months:cn("relative flex flex-col gap-4 md:flex-row",defaultClassNames.months),month:cn("flex w-full flex-col gap-4",defaultClassNames.month),nav:cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",defaultClassNames.nav),button_previous:cn(buttonVariants({variant:buttonVariant}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",defaultClassNames.button_previous),button_next:cn(buttonVariants({variant:buttonVariant}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",defaultClassNames.button_next),month_caption:cn("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",defaultClassNames.month_caption),dropdowns:cn("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",defaultClassNames.dropdowns),dropdown_root:cn("cn-calendar-dropdown-root relative rounded-(--cell-radius)",defaultClassNames.dropdown_root),dropdown:cn("absolute inset-0 bg-popover opacity-0",defaultClassNames.dropdown),caption_label:cn("font-medium select-none",captionLayout==="label"?"cn-calendar-caption text-sm":"cn-calendar-caption-label flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",defaultClassNames.caption_label),month_grid:cn("w-full border-collapse",defaultClassNames.month_grid),weekdays:cn("flex",defaultClassNames.weekdays),weekday:cn("flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",defaultClassNames.weekday),week:cn("mt-2 flex w-full",defaultClassNames.week),week_number_header:cn("w-(--cell-size) select-none",defaultClassNames.week_number_header),week_number:cn("text-[0.8rem] text-muted-foreground select-none",defaultClassNames.week_number),day:cn("group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",props.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",defaultClassNames.day),range_start:cn("relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",defaultClassNames.range_start),range_middle:cn("rounded-none",defaultClassNames.range_middle),range_end:cn("relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",defaultClassNames.range_end),today:cn("rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",defaultClassNames.today),outside:cn("text-muted-foreground aria-selected:text-muted-foreground",defaultClassNames.outside),disabled:cn("text-muted-foreground opacity-50",defaultClassNames.disabled),hidden:cn("invisible",defaultClassNames.hidden),...classNames},components:{Root:({className,rootRef,...props})=>jsx_dev_runtime13.jsxDEV("div",{"data-slot":"calendar",ref:rootRef,className:cn(className),...props},void 0,!1,void 0,this),Chevron:({className,orientation,...props})=>{if(orientation==="left")return jsx_dev_runtime13.jsxDEV(ChevronLeft,{className:cn("cn-rtl-flip size-4",className),...props},void 0,!1,void 0,this);if(orientation==="right")return jsx_dev_runtime13.jsxDEV(ChevronRight,{className:cn("cn-rtl-flip size-4",className),...props},void 0,!1,void 0,this);return jsx_dev_runtime13.jsxDEV(ChevronDown,{className:cn("size-4",className),...props},void 0,!1,void 0,this)},DayButton:({...props})=>jsx_dev_runtime13.jsxDEV(CalendarDayButton,{...locale===void 0?{}:{locale},...props},void 0,!1,void 0,this),WeekNumber:({children,...props})=>jsx_dev_runtime13.jsxDEV("td",{...props,children:jsx_dev_runtime13.jsxDEV("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children},void 0,!1,void 0,this)},void 0,!1,void 0,this),...components},mode:"single",...monthDate===void 0?{}:{month:monthDate},...selectedDate===void 0?{}:{selected:selectedDate},...props},void 0,!1,void 0,this)}function CalendarDayButton({className,day,modifiers,locale,...props}){let defaultClassNames=getDefaultClassNames(),ref=React84.useRef(null);return React84.useEffect(()=>{if(modifiers.focused)ref.current?.focus()},[modifiers.focused]),jsx_dev_runtime13.jsxDEV(Button,{ref,variant:"ghost",size:"icon","data-day":day.date.toLocaleDateString(locale?.code),"data-selected-single":modifiers.selected&&!modifiers.range_start&&!modifiers.range_end&&!modifiers.range_middle,"data-range-start":modifiers.range_start,"data-range-end":modifiers.range_end,"data-range-middle":modifiers.range_middle,className:cn("relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",defaultClassNames.day,className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime14=__toESM(require_react_jsx_dev_runtime_development(),1);function Card({className,size="default",...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card","data-size":size,className:cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",className),...props},void 0,!1,void 0,this)}function CardHeader({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-header",className:cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",className),...props},void 0,!1,void 0,this)}function CardTitle({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-title",className:cn("cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",className),...props},void 0,!1,void 0,this)}function CardDescription({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-description",className:cn("text-sm text-muted-foreground",className),...props},void 0,!1,void 0,this)}function CardAction({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-action",className:cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end",className),...props},void 0,!1,void 0,this)}function CardContent({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-content",className:cn("px-(--card-spacing)",className),...props},void 0,!1,void 0,this)}function CardFooter({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-footer",className:cn("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",className),...props},void 0,!1,void 0,this)}var import_react37=__toESM(require_react_development(),1);function isObject(subject){return Object.prototype.toString.call(subject)==="[object Object]"}function isRecord(subject){return isObject(subject)||Array.isArray(subject)}function canUseDOM2(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function areOptionsEqual(optionsA,optionsB){let optionsAKeys=Object.keys(optionsA),optionsBKeys=Object.keys(optionsB);if(optionsAKeys.length!==optionsBKeys.length)return!1;let breakpointsA=JSON.stringify(Object.keys(optionsA.breakpoints||{})),breakpointsB=JSON.stringify(Object.keys(optionsB.breakpoints||{}));if(breakpointsA!==breakpointsB)return!1;return optionsAKeys.every((key)=>{let valueA=optionsA[key],valueB=optionsB[key];if(typeof valueA==="function")return`${valueA}`===`${valueB}`;if(!isRecord(valueA)||!isRecord(valueB))return valueA===valueB;return areOptionsEqual(valueA,valueB)})}function sortAndMapPluginToOptions(plugins){return plugins.concat().sort((a,b)=>a.name>b.name?1:-1).map((plugin)=>plugin.options)}function arePluginsEqual(pluginsA,pluginsB){if(pluginsA.length!==pluginsB.length)return!1;let optionsA=sortAndMapPluginToOptions(pluginsA),optionsB=sortAndMapPluginToOptions(pluginsB);return optionsA.every((optionA,index)=>{let optionB=optionsB[index];return areOptionsEqual(optionA,optionB)})}function isNumber2(subject){return typeof subject==="number"}function isString(subject){return typeof subject==="string"}function isBoolean(subject){return typeof subject==="boolean"}function isObject2(subject){return Object.prototype.toString.call(subject)==="[object Object]"}function mathAbs(n){return Math.abs(n)}function mathSign(n){return Math.sign(n)}function deltaAbs(valueB,valueA){return mathAbs(valueB-valueA)}function factorAbs(valueB,valueA){if(valueB===0||valueA===0)return 0;if(mathAbs(valueB)<=mathAbs(valueA))return 0;let diff=deltaAbs(mathAbs(valueB),mathAbs(valueA));return mathAbs(diff/valueB)}function roundToTwoDecimals(num){return Math.round(num*100)/100}function arrayKeys(array){return objectKeys(array).map(Number)}function arrayLast(array){return array[arrayLastIndex(array)]}function arrayLastIndex(array){return Math.max(0,array.length-1)}function arrayIsLastIndex(array,index){return index===arrayLastIndex(array)}function arrayFromNumber(n,startAt=0){return Array.from(Array(n),(_,i)=>startAt+i)}function objectKeys(object){return Object.keys(object)}function objectsMergeDeep(objectA,objectB){return[objectA,objectB].reduce((mergedObjects,currentObject)=>(objectKeys(currentObject).forEach((key)=>{let valueA=mergedObjects[key],valueB=currentObject[key],areObjects=isObject2(valueA)&&isObject2(valueB);mergedObjects[key]=areObjects?objectsMergeDeep(valueA,valueB):valueB}),mergedObjects),{})}function isMouseEvent(evt,ownerWindow){return typeof ownerWindow.MouseEvent<"u"&&evt instanceof ownerWindow.MouseEvent}function Alignment(align,viewSize){let predefined={start,center,end};function start(){return 0}function center(n){return end(n)/2}function end(n){return viewSize-n}function measure(n,index){if(isString(align))return predefined[align](n);return align(viewSize,n,index)}return{measure}}function EventStore(){let listeners=[];function add(node,type,handler,options={passive:!0}){let removeListener;if("addEventListener"in node)node.addEventListener(type,handler,options),removeListener=()=>node.removeEventListener(type,handler,options);else{let legacyMediaQueryList=node;legacyMediaQueryList.addListener(handler),removeListener=()=>legacyMediaQueryList.removeListener(handler)}return listeners.push(removeListener),self2}function clear(){listeners=listeners.filter((remove)=>remove())}let self2={add,clear};return self2}function Animations(ownerDocument,ownerWindow,update,render){let documentVisibleHandler=EventStore(),fixedTimeStep=16.666666666666668,lastTimeStamp=null,accumulatedTime=0,animationId=0;function init(){documentVisibleHandler.add(ownerDocument,"visibilitychange",()=>{if(ownerDocument.hidden)reset()})}function destroy(){stop(),documentVisibleHandler.clear()}function animate(timeStamp){if(!animationId)return;if(!lastTimeStamp)lastTimeStamp=timeStamp,update(),update();let timeElapsed=timeStamp-lastTimeStamp;lastTimeStamp=timeStamp,accumulatedTime+=timeElapsed;while(accumulatedTime>=16.666666666666668)update(),accumulatedTime-=16.666666666666668;let alpha=accumulatedTime/16.666666666666668;if(render(alpha),animationId)animationId=ownerWindow.requestAnimationFrame(animate)}function start(){if(animationId)return;animationId=ownerWindow.requestAnimationFrame(animate)}function stop(){ownerWindow.cancelAnimationFrame(animationId),lastTimeStamp=null,accumulatedTime=0,animationId=0}function reset(){lastTimeStamp=null,accumulatedTime=0}return{init,destroy,start,stop,update,render}}function Axis(axis,contentDirection){let isRightToLeft=contentDirection==="rtl",isVertical=axis==="y",scroll=isVertical?"y":"x",cross=isVertical?"x":"y",sign=!isVertical&&isRightToLeft?-1:1,startEdge=getStartEdge(),endEdge=getEndEdge();function measureSize(nodeRect){let{height,width}=nodeRect;return isVertical?height:width}function getStartEdge(){if(isVertical)return"top";return isRightToLeft?"right":"left"}function getEndEdge(){if(isVertical)return"bottom";return isRightToLeft?"left":"right"}function direction(n){return n*sign}return{scroll,cross,startEdge,endEdge,measureSize,direction}}function Limit(min=0,max=0){let length=mathAbs(min-max);function reachedMin(n){return n<min}function reachedMax(n){return n>max}function reachedAny(n){return reachedMin(n)||reachedMax(n)}function constrain(n){if(!reachedAny(n))return n;return reachedMin(n)?min:max}function removeOffset(n){if(!length)return n;return n-length*Math.ceil((n-max)/length)}return{length,max,min,constrain,reachedAny,reachedMax,reachedMin,removeOffset}}function Counter(max,start,loop){let{constrain}=Limit(0,max),loopEnd=max+1,counter=withinLimit(start);function withinLimit(n){return!loop?constrain(n):mathAbs((loopEnd+n)%loopEnd)}function get(){return counter}function set(n){return counter=withinLimit(n),self2}function add(n){return clone().set(get()+n)}function clone(){return Counter(max,get(),loop)}let self2={get,set,add,clone};return self2}function DragHandler(axis,rootNode,ownerDocument,ownerWindow,target,dragTracker,location,animation,scrollTo,scrollBody,scrollTarget,index,eventHandler,percentOfView,dragFree,dragThreshold,skipSnaps,baseFriction,watchDrag){let{cross:crossAxis,direction}=axis,focusNodes=["INPUT","SELECT","TEXTAREA"],nonPassiveEvent={passive:!1},initEvents=EventStore(),dragEvents=EventStore(),goToNextThreshold=Limit(50,225).constrain(percentOfView.measure(20)),snapForceBoost={mouse:300,touch:400},freeForceBoost={mouse:500,touch:600},baseSpeed=dragFree?43:25,isMoving=!1,startScroll=0,startCross=0,pointerIsDown=!1,preventScroll=!1,preventClick=!1,isMouse=!1;function init(emblaApi){if(!watchDrag)return;function downIfAllowed(evt){if(isBoolean(watchDrag)||watchDrag(emblaApi,evt))down(evt)}let node=rootNode;initEvents.add(node,"dragstart",(evt)=>evt.preventDefault(),nonPassiveEvent).add(node,"touchmove",()=>{return},nonPassiveEvent).add(node,"touchend",()=>{return}).add(node,"touchstart",downIfAllowed).add(node,"mousedown",downIfAllowed).add(node,"touchcancel",up).add(node,"contextmenu",up).add(node,"click",click,!0)}function destroy(){initEvents.clear(),dragEvents.clear()}function addDragEvents(){let node=isMouse?ownerDocument:rootNode;dragEvents.add(node,"touchmove",move,nonPassiveEvent).add(node,"touchend",up).add(node,"mousemove",move,nonPassiveEvent).add(node,"mouseup",up)}function isFocusNode(node){let nodeName=node.nodeName||"";return focusNodes.includes(nodeName)}function forceBoost(){return(dragFree?freeForceBoost:snapForceBoost)[isMouse?"mouse":"touch"]}function allowedForce(force,targetChanged){let next=index.add(mathSign(force)*-1),baseForce=scrollTarget.byDistance(force,!dragFree).distance;if(dragFree||mathAbs(force)<goToNextThreshold)return baseForce;if(skipSnaps&&targetChanged)return baseForce*0.5;return scrollTarget.byIndex(next.get(),0).distance}function down(evt){let isMouseEvt=isMouseEvent(evt,ownerWindow);if(isMouse=isMouseEvt,preventClick=dragFree&&isMouseEvt&&!evt.buttons&&isMoving,isMoving=deltaAbs(target.get(),location.get())>=2,isMouseEvt&&evt.button!==0)return;if(isFocusNode(evt.target))return;pointerIsDown=!0,dragTracker.pointerDown(evt),scrollBody.useFriction(0).useDuration(0),target.set(location),addDragEvents(),startScroll=dragTracker.readPoint(evt),startCross=dragTracker.readPoint(evt,crossAxis),eventHandler.emit("pointerDown")}function move(evt){if(!isMouseEvent(evt,ownerWindow)&&evt.touches.length>=2)return up(evt);let lastScroll=dragTracker.readPoint(evt),lastCross=dragTracker.readPoint(evt,crossAxis),diffScroll=deltaAbs(lastScroll,startScroll),diffCross=deltaAbs(lastCross,startCross);if(!preventScroll&&!isMouse){if(!evt.cancelable)return up(evt);if(preventScroll=diffScroll>diffCross,!preventScroll)return up(evt)}let diff=dragTracker.pointerMove(evt);if(diffScroll>dragThreshold)preventClick=!0;scrollBody.useFriction(0.3).useDuration(0.75),animation.start(),target.add(direction(diff)),evt.preventDefault()}function up(evt){let targetChanged=scrollTarget.byDistance(0,!1).index!==index.get(),rawForce=dragTracker.pointerUp(evt)*forceBoost(),force=allowedForce(direction(rawForce),targetChanged),forceFactor=factorAbs(rawForce,force),speed=baseSpeed-10*forceFactor,friction=baseFriction+forceFactor/50;preventScroll=!1,pointerIsDown=!1,dragEvents.clear(),scrollBody.useDuration(speed).useFriction(friction),scrollTo.distance(force,!dragFree),isMouse=!1,eventHandler.emit("pointerUp")}function click(evt){if(preventClick)evt.stopPropagation(),evt.preventDefault(),preventClick=!1}function pointerDown(){return pointerIsDown}return{init,destroy,pointerDown}}function DragTracker(axis,ownerWindow){let startEvent,lastEvent;function readTime(evt){return evt.timeStamp}function readPoint(evt,evtAxis){let coord=`client${(evtAxis||axis.scroll)==="x"?"X":"Y"}`;return(isMouseEvent(evt,ownerWindow)?evt:evt.touches[0])[coord]}function pointerDown(evt){return startEvent=evt,lastEvent=evt,readPoint(evt)}function pointerMove(evt){let diff=readPoint(evt)-readPoint(lastEvent),expired=readTime(evt)-readTime(startEvent)>170;if(lastEvent=evt,expired)startEvent=evt;return diff}function pointerUp(evt){if(!startEvent||!lastEvent)return 0;let diffDrag=readPoint(lastEvent)-readPoint(startEvent),diffTime=readTime(evt)-readTime(startEvent),expired=readTime(evt)-readTime(lastEvent)>170,force=diffDrag/diffTime;return diffTime&&!expired&&mathAbs(force)>0.1?force:0}return{pointerDown,pointerMove,pointerUp,readPoint}}function NodeRects(){function measure(node){let{offsetTop,offsetLeft,offsetWidth,offsetHeight}=node;return{top:offsetTop,right:offsetLeft+offsetWidth,bottom:offsetTop+offsetHeight,left:offsetLeft,width:offsetWidth,height:offsetHeight}}return{measure}}function PercentOfView(viewSize){function measure(n){return viewSize*(n/100)}return{measure}}function ResizeHandler(container,eventHandler,ownerWindow,slides,axis,watchResize,nodeRects){let observeNodes=[container].concat(slides),resizeObserver,containerSize,slideSizes=[],destroyed=!1;function readSize(node){return axis.measureSize(nodeRects.measure(node))}function init(emblaApi){if(!watchResize)return;containerSize=readSize(container),slideSizes=slides.map(readSize);function defaultCallback(entries){for(let entry of entries){if(destroyed)return;let isContainer=entry.target===container,slideIndex=slides.indexOf(entry.target),lastSize=isContainer?containerSize:slideSizes[slideIndex],newSize=readSize(isContainer?container:slides[slideIndex]);if(mathAbs(newSize-lastSize)>=0.5){emblaApi.reInit(),eventHandler.emit("resize");break}}}resizeObserver=new ResizeObserver((entries)=>{if(isBoolean(watchResize)||watchResize(emblaApi,entries))defaultCallback(entries)}),ownerWindow.requestAnimationFrame(()=>{observeNodes.forEach((node)=>resizeObserver.observe(node))})}function destroy(){if(destroyed=!0,resizeObserver)resizeObserver.disconnect()}return{init,destroy}}function ScrollBody(location,offsetLocation,previousLocation,target,baseDuration,baseFriction){let scrollVelocity=0,scrollDirection=0,scrollDuration=baseDuration,scrollFriction=baseFriction,rawLocation=location.get(),rawLocationPrevious=0;function seek(){let displacement=target.get()-location.get(),isInstant=!scrollDuration,scrollDistance=0;if(isInstant)scrollVelocity=0,previousLocation.set(target),location.set(target),scrollDistance=displacement;else previousLocation.set(location),scrollVelocity+=displacement/scrollDuration,scrollVelocity*=scrollFriction,rawLocation+=scrollVelocity,location.add(scrollVelocity),scrollDistance=rawLocation-rawLocationPrevious;return scrollDirection=mathSign(scrollDistance),rawLocationPrevious=rawLocation,self2}function settled(){let diff=target.get()-offsetLocation.get();return mathAbs(diff)<0.001}function duration(){return scrollDuration}function direction(){return scrollDirection}function velocity(){return scrollVelocity}function useBaseDuration(){return useDuration(baseDuration)}function useBaseFriction(){return useFriction(baseFriction)}function useDuration(n){return scrollDuration=n,self2}function useFriction(n){return scrollFriction=n,self2}let self2={direction,duration,velocity,seek,settled,useBaseFriction,useBaseDuration,useFriction,useDuration};return self2}function ScrollBounds(limit,location,target,scrollBody,percentOfView){let pullBackThreshold=percentOfView.measure(10),edgeOffsetTolerance=percentOfView.measure(50),frictionLimit=Limit(0.1,0.99),disabled=!1;function shouldConstrain(){if(disabled)return!1;if(!limit.reachedAny(target.get()))return!1;if(!limit.reachedAny(location.get()))return!1;return!0}function constrain(pointerDown){if(!shouldConstrain())return;let edge=limit.reachedMin(location.get())?"min":"max",diffToEdge=mathAbs(limit[edge]-location.get()),diffToTarget=target.get()-location.get(),friction=frictionLimit.constrain(diffToEdge/edgeOffsetTolerance);if(target.subtract(diffToTarget*friction),!pointerDown&&mathAbs(diffToTarget)<pullBackThreshold)target.set(limit.constrain(target.get())),scrollBody.useDuration(25).useBaseFriction()}function toggleActive(active){disabled=!active}return{shouldConstrain,constrain,toggleActive}}function ScrollContain(viewSize,contentSize,snapsAligned,containScroll,pixelTolerance){let scrollBounds=Limit(-contentSize+viewSize,0),snapsBounded=measureBounded(),scrollContainLimit=findScrollContainLimit(),snapsContained=measureContained();function usePixelTolerance(bound,snap){return deltaAbs(bound,snap)<=1}function findScrollContainLimit(){let startSnap=snapsBounded[0],endSnap=arrayLast(snapsBounded),min=snapsBounded.lastIndexOf(startSnap),max=snapsBounded.indexOf(endSnap)+1;return Limit(min,max)}function measureBounded(){return snapsAligned.map((snapAligned,index)=>{let{min,max}=scrollBounds,snap=scrollBounds.constrain(snapAligned),isFirst=!index,isLast=arrayIsLastIndex(snapsAligned,index);if(isFirst)return max;if(isLast)return min;if(usePixelTolerance(min,snap))return min;if(usePixelTolerance(max,snap))return max;return snap}).map((scrollBound)=>parseFloat(scrollBound.toFixed(3)))}function measureContained(){if(contentSize<=viewSize+pixelTolerance)return[scrollBounds.max];if(containScroll==="keepSnaps")return snapsBounded;let{min,max}=scrollContainLimit;return snapsBounded.slice(min,max)}return{snapsContained,scrollContainLimit}}function ScrollLimit(contentSize,scrollSnaps,loop){let max=scrollSnaps[0],min=loop?max-contentSize:arrayLast(scrollSnaps);return{limit:Limit(min,max)}}function ScrollLooper(contentSize,limit,location,vectors){let min=limit.min+0.1,max=limit.max+0.1,{reachedMin,reachedMax}=Limit(min,max);function shouldLoop(direction){if(direction===1)return reachedMax(location.get());if(direction===-1)return reachedMin(location.get());return!1}function loop(direction){if(!shouldLoop(direction))return;let loopDistance=contentSize*(direction*-1);vectors.forEach((v)=>v.add(loopDistance))}return{loop}}function ScrollProgress(limit){let{max,length}=limit;function get(n){let currentLocation=n-max;return length?currentLocation/-length:0}return{get}}function ScrollSnaps(axis,alignment,containerRect,slideRects,slidesToScroll){let{startEdge,endEdge}=axis,{groupSlides}=slidesToScroll,alignments=measureSizes().map(alignment.measure),snaps=measureUnaligned(),snapsAligned=measureAligned();function measureSizes(){return groupSlides(slideRects).map((rects)=>arrayLast(rects)[endEdge]-rects[0][startEdge]).map(mathAbs)}function measureUnaligned(){return slideRects.map((rect)=>containerRect[startEdge]-rect[startEdge]).map((snap)=>-mathAbs(snap))}function measureAligned(){return groupSlides(snaps).map((g)=>g[0]).map((snap,index)=>snap+alignments[index])}return{snaps,snapsAligned}}function SlideRegistry(containSnaps,containScroll,scrollSnaps,scrollContainLimit,slidesToScroll,slideIndexes){let{groupSlides}=slidesToScroll,{min,max}=scrollContainLimit,slideRegistry=createSlideRegistry();function createSlideRegistry(){let groupedSlideIndexes=groupSlides(slideIndexes),doNotContain=!containSnaps||containScroll==="keepSnaps";if(scrollSnaps.length===1)return[slideIndexes];if(doNotContain)return groupedSlideIndexes;return groupedSlideIndexes.slice(min,max).map((group,index,groups)=>{let isFirst=!index,isLast=arrayIsLastIndex(groups,index);if(isFirst){let range=arrayLast(groups[0])+1;return arrayFromNumber(range)}if(isLast){let range=arrayLastIndex(slideIndexes)-arrayLast(groups)[0]+1;return arrayFromNumber(range,arrayLast(groups)[0])}return group})}return{slideRegistry}}function ScrollTarget(loop,scrollSnaps,contentSize,limit,targetVector){let{reachedAny,removeOffset,constrain}=limit;function minDistance(distances){return distances.concat().sort((a,b)=>mathAbs(a)-mathAbs(b))[0]}function findTargetSnap(target){let distance=loop?removeOffset(target):constrain(target),ascDiffsToSnaps=scrollSnaps.map((snap,index)=>({diff:shortcut(snap-distance,0),index})).sort((d1,d2)=>mathAbs(d1.diff)-mathAbs(d2.diff)),{index}=ascDiffsToSnaps[0];return{index,distance}}function shortcut(target,direction){let targets=[target,target+contentSize,target-contentSize];if(!loop)return target;if(!direction)return minDistance(targets);let matchingTargets=targets.filter((t)=>mathSign(t)===direction);if(matchingTargets.length)return minDistance(matchingTargets);return arrayLast(targets)-contentSize}function byIndex(index,direction){let diffToSnap=scrollSnaps[index]-targetVector.get(),distance=shortcut(diffToSnap,direction);return{index,distance}}function byDistance(distance,snap){let target=targetVector.get()+distance,{index,distance:targetSnapDistance}=findTargetSnap(target),reachedBound=!loop&&reachedAny(target);if(!snap||reachedBound)return{index,distance};let diffToSnap=scrollSnaps[index]-targetSnapDistance,snapDistance=distance+shortcut(diffToSnap,0);return{index,distance:snapDistance}}return{byDistance,byIndex,shortcut}}function ScrollTo(animation,indexCurrent,indexPrevious,scrollBody,scrollTarget,targetVector,eventHandler){function scrollTo(target){let distanceDiff=target.distance,indexDiff=target.index!==indexCurrent.get();if(targetVector.add(distanceDiff),distanceDiff)if(scrollBody.duration())animation.start();else animation.update(),animation.render(1),animation.update();if(indexDiff)indexPrevious.set(indexCurrent.get()),indexCurrent.set(target.index),eventHandler.emit("select")}function distance(n,snap){let target=scrollTarget.byDistance(n,snap);scrollTo(target)}function index(n,direction){let targetIndex=indexCurrent.clone().set(n),target=scrollTarget.byIndex(targetIndex.get(),direction);scrollTo(target)}return{distance,index}}function SlideFocus(root,slides,slideRegistry,scrollTo,scrollBody,eventStore,eventHandler,watchFocus){let focusListenerOptions={passive:!0,capture:!0},lastTabPressTime=0;function init(emblaApi){if(!watchFocus)return;function defaultCallback(index){if(new Date().getTime()-lastTabPressTime>10)return;eventHandler.emit("slideFocusStart"),root.scrollLeft=0;let group=slideRegistry.findIndex((group)=>group.includes(index));if(!isNumber2(group))return;scrollBody.useDuration(0),scrollTo.index(group,0),eventHandler.emit("slideFocus")}eventStore.add(document,"keydown",registerTabPress,!1),slides.forEach((slide,slideIndex)=>{eventStore.add(slide,"focus",(evt)=>{if(isBoolean(watchFocus)||watchFocus(emblaApi,evt))defaultCallback(slideIndex)},focusListenerOptions)})}function registerTabPress(event){if(event.code==="Tab")lastTabPressTime=new Date().getTime()}return{init}}function Vector1D(initialValue){let value=initialValue;function get(){return value}function set(n){value=normalizeInput(n)}function add(n){value+=normalizeInput(n)}function subtract(n){value-=normalizeInput(n)}function normalizeInput(n){return isNumber2(n)?n:n.get()}return{get,set,add,subtract}}function Translate(axis,container){let translate=axis.scroll==="x"?x:y,containerStyle=container.style,previousTarget=null,disabled=!1;function x(n){return`translate3d(${n}px,0px,0px)`}function y(n){return`translate3d(0px,${n}px,0px)`}function to(target){if(disabled)return;let newTarget=roundToTwoDecimals(axis.direction(target));if(newTarget===previousTarget)return;containerStyle.transform=translate(newTarget),previousTarget=newTarget}function toggleActive(active){disabled=!active}function clear(){if(disabled)return;if(containerStyle.transform="",!container.getAttribute("style"))container.removeAttribute("style")}return{clear,to,toggleActive}}function SlideLooper(axis,viewSize,contentSize,slideSizes,slideSizesWithGaps,snaps,scrollSnaps,location,slides){let ascItems=arrayKeys(slideSizesWithGaps),descItems=arrayKeys(slideSizesWithGaps).reverse(),loopPoints=startPoints().concat(endPoints());function removeSlideSizes(indexes,from){return indexes.reduce((a,i)=>a-slideSizesWithGaps[i],from)}function slidesInGap(indexes,gap){return indexes.reduce((a,i)=>removeSlideSizes(a,gap)>0?a.concat([i]):a,[])}function findSlideBounds(offset){return snaps.map((snap,index)=>({start:snap-slideSizes[index]+0.5+offset,end:snap+viewSize-0.5+offset}))}function findLoopPoints(indexes,offset,isEndEdge){let slideBounds=findSlideBounds(offset);return indexes.map((index)=>{let initial=isEndEdge?0:-contentSize,altered=isEndEdge?contentSize:0,boundEdge=isEndEdge?"end":"start",loopPoint=slideBounds[index][boundEdge];return{index,loopPoint,slideLocation:Vector1D(-1),translate:Translate(axis,slides[index]),target:()=>location.get()>loopPoint?initial:altered}})}function startPoints(){let gap=scrollSnaps[0],indexes=slidesInGap(descItems,gap);return findLoopPoints(indexes,contentSize,!1)}function endPoints(){let gap=viewSize-scrollSnaps[0]-1,indexes=slidesInGap(ascItems,gap);return findLoopPoints(indexes,-contentSize,!0)}function canLoop(){return loopPoints.every(({index})=>{let otherIndexes=ascItems.filter((i)=>i!==index);return removeSlideSizes(otherIndexes,viewSize)<=0.1})}function loop(){loopPoints.forEach((loopPoint)=>{let{target,translate,slideLocation}=loopPoint,shiftLocation=target();if(shiftLocation===slideLocation.get())return;translate.to(shiftLocation),slideLocation.set(shiftLocation)})}function clear(){loopPoints.forEach((loopPoint)=>loopPoint.translate.clear())}return{canLoop,clear,loop,loopPoints}}function SlidesHandler(container,eventHandler,watchSlides){let mutationObserver,destroyed=!1;function init(emblaApi){if(!watchSlides)return;function defaultCallback(mutations){for(let mutation of mutations)if(mutation.type==="childList"){emblaApi.reInit(),eventHandler.emit("slidesChanged");break}}mutationObserver=new MutationObserver((mutations)=>{if(destroyed)return;if(isBoolean(watchSlides)||watchSlides(emblaApi,mutations))defaultCallback(mutations)}),mutationObserver.observe(container,{childList:!0})}function destroy(){if(mutationObserver)mutationObserver.disconnect();destroyed=!0}return{init,destroy}}function SlidesInView(container,slides,eventHandler,threshold){let intersectionEntryMap={},inViewCache=null,notInViewCache=null,intersectionObserver,destroyed=!1;function init(){intersectionObserver=new IntersectionObserver((entries)=>{if(destroyed)return;entries.forEach((entry)=>{let index=slides.indexOf(entry.target);intersectionEntryMap[index]=entry}),inViewCache=null,notInViewCache=null,eventHandler.emit("slidesInView")},{root:container.parentElement,threshold}),slides.forEach((slide)=>intersectionObserver.observe(slide))}function destroy(){if(intersectionObserver)intersectionObserver.disconnect();destroyed=!0}function createInViewList(inView){return objectKeys(intersectionEntryMap).reduce((list,slideIndex)=>{let index=parseInt(slideIndex),{isIntersecting}=intersectionEntryMap[index];if(inView&&isIntersecting||!inView&&!isIntersecting)list.push(index);return list},[])}function get(inView=!0){if(inView&&inViewCache)return inViewCache;if(!inView&&notInViewCache)return notInViewCache;let slideIndexes=createInViewList(inView);if(inView)inViewCache=slideIndexes;if(!inView)notInViewCache=slideIndexes;return slideIndexes}return{init,destroy,get}}function SlideSizes(axis,containerRect,slideRects,slides,readEdgeGap,ownerWindow){let{measureSize,startEdge,endEdge}=axis,withEdgeGap=slideRects[0]&&readEdgeGap,startGap=measureStartGap(),endGap=measureEndGap(),slideSizes=slideRects.map(measureSize),slideSizesWithGaps=measureWithGaps();function measureStartGap(){if(!withEdgeGap)return 0;let slideRect=slideRects[0];return mathAbs(containerRect[startEdge]-slideRect[startEdge])}function measureEndGap(){if(!withEdgeGap)return 0;let style=ownerWindow.getComputedStyle(arrayLast(slides));return parseFloat(style.getPropertyValue(`margin-${endEdge}`))}function measureWithGaps(){return slideRects.map((rect,index,rects)=>{let isFirst=!index,isLast=arrayIsLastIndex(rects,index);if(isFirst)return slideSizes[index]+startGap;if(isLast)return slideSizes[index]+endGap;return rects[index+1][startEdge]-rect[startEdge]}).map(mathAbs)}return{slideSizes,slideSizesWithGaps,startGap,endGap}}function SlidesToScroll(axis,viewSize,slidesToScroll,loop,containerRect,slideRects,startGap,endGap,pixelTolerance){let{startEdge,endEdge,direction}=axis,groupByNumber=isNumber2(slidesToScroll);function byNumber(array,groupSize){return arrayKeys(array).filter((i)=>i%groupSize===0).map((i)=>array.slice(i,i+groupSize))}function bySize(array){if(!array.length)return[];return arrayKeys(array).reduce((groups,rectB,index)=>{let rectA=arrayLast(groups)||0,isFirst=rectA===0,isLast=rectB===arrayLastIndex(array),edgeA=containerRect[startEdge]-slideRects[rectA][startEdge],edgeB=containerRect[startEdge]-slideRects[rectB][endEdge],gapA=!loop&&isFirst?direction(startGap):0,gapB=!loop&&isLast?direction(endGap):0,chunkSize=mathAbs(edgeB-gapB-(edgeA+gapA));if(index&&chunkSize>viewSize+pixelTolerance)groups.push(rectB);if(isLast)groups.push(array.length);return groups},[]).map((currentSize,index,groups)=>{let previousSize=Math.max(groups[index-1]||0);return array.slice(previousSize,currentSize)})}function groupSlides(array){return groupByNumber?byNumber(array,slidesToScroll):bySize(array)}return{groupSlides}}function Engine(root,container,slides,ownerDocument,ownerWindow,options,eventHandler){let{align,axis:scrollAxis,direction,startIndex,loop,duration,dragFree,dragThreshold,inViewThreshold,slidesToScroll:groupSlides,skipSnaps,containScroll,watchResize,watchSlides,watchDrag,watchFocus}=options,pixelTolerance=2,nodeRects=NodeRects(),containerRect=nodeRects.measure(container),slideRects=slides.map(nodeRects.measure),axis=Axis(scrollAxis,direction),viewSize=axis.measureSize(containerRect),percentOfView=PercentOfView(viewSize),alignment=Alignment(align,viewSize),containSnaps=!loop&&!!containScroll,readEdgeGap=loop||!!containScroll,{slideSizes,slideSizesWithGaps,startGap,endGap}=SlideSizes(axis,containerRect,slideRects,slides,readEdgeGap,ownerWindow),slidesToScroll=SlidesToScroll(axis,viewSize,groupSlides,loop,containerRect,slideRects,startGap,endGap,2),{snaps,snapsAligned}=ScrollSnaps(axis,alignment,containerRect,slideRects,slidesToScroll),contentSize=-arrayLast(snaps)+arrayLast(slideSizesWithGaps),{snapsContained,scrollContainLimit}=ScrollContain(viewSize,contentSize,snapsAligned,containScroll,2),scrollSnaps=containSnaps?snapsContained:snapsAligned,{limit}=ScrollLimit(contentSize,scrollSnaps,loop),index=Counter(arrayLastIndex(scrollSnaps),startIndex,loop),indexPrevious=index.clone(),slideIndexes=arrayKeys(slides),update=({dragHandler,scrollBody,scrollBounds,options:{loop}})=>{if(!loop)scrollBounds.constrain(dragHandler.pointerDown());scrollBody.seek()},render=({scrollBody,translate,location,offsetLocation,previousLocation,scrollLooper,slideLooper,dragHandler,animation,eventHandler,scrollBounds,options:{loop}},alpha)=>{let shouldSettle=scrollBody.settled(),withinBounds=!scrollBounds.shouldConstrain(),hasSettled=loop?shouldSettle:shouldSettle&&withinBounds,hasSettledAndIdle=hasSettled&&!dragHandler.pointerDown();if(hasSettledAndIdle)animation.stop();let interpolatedLocation=location.get()*alpha+previousLocation.get()*(1-alpha);if(offsetLocation.set(interpolatedLocation),loop)scrollLooper.loop(scrollBody.direction()),slideLooper.loop();if(translate.to(offsetLocation.get()),hasSettledAndIdle)eventHandler.emit("settle");if(!hasSettled)eventHandler.emit("scroll")},animation=Animations(ownerDocument,ownerWindow,()=>update(engine),(alpha)=>render(engine,alpha)),friction=0.68,startLocation=scrollSnaps[index.get()],location=Vector1D(startLocation),previousLocation=Vector1D(startLocation),offsetLocation=Vector1D(startLocation),target=Vector1D(startLocation),scrollBody=ScrollBody(location,offsetLocation,previousLocation,target,duration,0.68),scrollTarget=ScrollTarget(loop,scrollSnaps,contentSize,limit,target),scrollTo=ScrollTo(animation,index,indexPrevious,scrollBody,scrollTarget,target,eventHandler),scrollProgress=ScrollProgress(limit),eventStore=EventStore(),slidesInView=SlidesInView(container,slides,eventHandler,inViewThreshold),{slideRegistry}=SlideRegistry(containSnaps,containScroll,scrollSnaps,scrollContainLimit,slidesToScroll,slideIndexes),slideFocus=SlideFocus(root,slides,slideRegistry,scrollTo,scrollBody,eventStore,eventHandler,watchFocus),engine={ownerDocument,ownerWindow,eventHandler,containerRect,slideRects,animation,axis,dragHandler:DragHandler(axis,root,ownerDocument,ownerWindow,target,DragTracker(axis,ownerWindow),location,animation,scrollTo,scrollBody,scrollTarget,index,eventHandler,percentOfView,dragFree,dragThreshold,skipSnaps,0.68,watchDrag),eventStore,percentOfView,index,indexPrevious,limit,location,offsetLocation,previousLocation,options,resizeHandler:ResizeHandler(container,eventHandler,ownerWindow,slides,axis,watchResize,nodeRects),scrollBody,scrollBounds:ScrollBounds(limit,offsetLocation,target,scrollBody,percentOfView),scrollLooper:ScrollLooper(contentSize,limit,offsetLocation,[location,offsetLocation,previousLocation,target]),scrollProgress,scrollSnapList:scrollSnaps.map(scrollProgress.get),scrollSnaps,scrollTarget,scrollTo,slideLooper:SlideLooper(axis,viewSize,contentSize,slideSizes,slideSizesWithGaps,snaps,scrollSnaps,offsetLocation,slides),slideFocus,slidesHandler:SlidesHandler(container,eventHandler,watchSlides),slidesInView,slideIndexes,slideRegistry,slidesToScroll,target,translate:Translate(axis,container)};return engine}function EventHandler(){let listeners={},api;function init(emblaApi){api=emblaApi}function getListeners(evt){return listeners[evt]||[]}function emit(evt){return getListeners(evt).forEach((e)=>e(api,evt)),self2}function on(evt,cb){return listeners[evt]=getListeners(evt).concat([cb]),self2}function off(evt,cb){return listeners[evt]=getListeners(evt).filter((e)=>e!==cb),self2}function clear(){listeners={}}let self2={init,emit,off,on,clear};return self2}var defaultOptions2={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function OptionsHandler(ownerWindow){function mergeOptions(optionsA,optionsB){return objectsMergeDeep(optionsA,optionsB||{})}function optionsAtMedia(options){let optionsAtMedia=options.breakpoints||{},matchedMediaOptions=objectKeys(optionsAtMedia).filter((media)=>ownerWindow.matchMedia(media).matches).map((media)=>optionsAtMedia[media]).reduce((a,mediaOption)=>mergeOptions(a,mediaOption),{});return mergeOptions(options,matchedMediaOptions)}function optionsMediaQueries(optionsList){return optionsList.map((options)=>objectKeys(options.breakpoints||{})).reduce((acc,mediaQueries)=>acc.concat(mediaQueries),[]).map(ownerWindow.matchMedia)}return{mergeOptions,optionsAtMedia,optionsMediaQueries}}function PluginsHandler(optionsHandler){let activePlugins=[];function init(emblaApi,plugins){return activePlugins=plugins.filter(({options})=>optionsHandler.optionsAtMedia(options).active!==!1),activePlugins.forEach((plugin)=>plugin.init(emblaApi,optionsHandler)),plugins.reduce((map,plugin)=>Object.assign(map,{[plugin.name]:plugin}),{})}function destroy(){activePlugins=activePlugins.filter((plugin)=>plugin.destroy())}return{init,destroy}}function EmblaCarousel(root,userOptions,userPlugins){let ownerDocument=root.ownerDocument,ownerWindow=ownerDocument.defaultView,optionsHandler=OptionsHandler(ownerWindow),pluginsHandler=PluginsHandler(optionsHandler),mediaHandlers=EventStore(),eventHandler=EventHandler(),{mergeOptions,optionsAtMedia,optionsMediaQueries}=optionsHandler,{on,off,emit}=eventHandler,reInit=reActivate,destroyed=!1,engine,optionsBase=mergeOptions(defaultOptions2,EmblaCarousel.globalOptions),options=mergeOptions(optionsBase),pluginList=[],pluginApis,container,slides;function storeElements(){let{container:userContainer,slides:userSlides}=options;container=(isString(userContainer)?root.querySelector(userContainer):userContainer)||root.children[0];let customSlides=isString(userSlides)?container.querySelectorAll(userSlides):userSlides;slides=[].slice.call(customSlides||container.children)}function createEngine(options){let engine=Engine(root,container,slides,ownerDocument,ownerWindow,options,eventHandler);if(options.loop&&!engine.slideLooper.canLoop()){let optionsWithoutLoop=Object.assign({},options,{loop:!1});return createEngine(optionsWithoutLoop)}return engine}function activate(withOptions,withPlugins){if(destroyed)return;if(optionsBase=mergeOptions(optionsBase,withOptions),options=optionsAtMedia(optionsBase),pluginList=withPlugins||pluginList,storeElements(),engine=createEngine(options),optionsMediaQueries([optionsBase,...pluginList.map(({options})=>options)]).forEach((query)=>mediaHandlers.add(query,"change",reActivate)),!options.active)return;if(engine.translate.to(engine.location.get()),engine.animation.init(),engine.slidesInView.init(),engine.slideFocus.init(self2),engine.eventHandler.init(self2),engine.resizeHandler.init(self2),engine.slidesHandler.init(self2),engine.options.loop)engine.slideLooper.loop();if(container.offsetParent&&slides.length)engine.dragHandler.init(self2);pluginApis=pluginsHandler.init(self2,pluginList)}function reActivate(withOptions,withPlugins){let startIndex=selectedScrollSnap();deActivate(),activate(mergeOptions({startIndex},withOptions),withPlugins),eventHandler.emit("reInit")}function deActivate(){engine.dragHandler.destroy(),engine.eventStore.clear(),engine.translate.clear(),engine.slideLooper.clear(),engine.resizeHandler.destroy(),engine.slidesHandler.destroy(),engine.slidesInView.destroy(),engine.animation.destroy(),pluginsHandler.destroy(),mediaHandlers.clear()}function destroy(){if(destroyed)return;destroyed=!0,mediaHandlers.clear(),deActivate(),eventHandler.emit("destroy"),eventHandler.clear()}function scrollTo(index,jump,direction){if(!options.active||destroyed)return;engine.scrollBody.useBaseFriction().useDuration(jump===!0?0:options.duration),engine.scrollTo.index(index,direction||0)}function scrollNext(jump){let next=engine.index.add(1).get();scrollTo(next,jump,-1)}function scrollPrev(jump){let prev=engine.index.add(-1).get();scrollTo(prev,jump,1)}function canScrollNext(){return engine.index.add(1).get()!==selectedScrollSnap()}function canScrollPrev(){return engine.index.add(-1).get()!==selectedScrollSnap()}function scrollSnapList(){return engine.scrollSnapList}function scrollProgress(){return engine.scrollProgress.get(engine.offsetLocation.get())}function selectedScrollSnap(){return engine.index.get()}function previousScrollSnap(){return engine.indexPrevious.get()}function slidesInView(){return engine.slidesInView.get()}function slidesNotInView(){return engine.slidesInView.get(!1)}function plugins(){return pluginApis}function internalEngine(){return engine}function rootNode(){return root}function containerNode(){return container}function slideNodes(){return slides}let self2={canScrollNext,canScrollPrev,containerNode,internalEngine,destroy,off,on,emit,plugins,previousScrollSnap,reInit,rootNode,scrollNext,scrollPrev,scrollProgress,scrollSnapList,scrollTo,selectedScrollSnap,slideNodes,slidesInView,slidesNotInView};return activate(userOptions,userPlugins),setTimeout(()=>eventHandler.emit("init"),0),self2}EmblaCarousel.globalOptions=void 0;function useEmblaCarousel(options={},plugins=[]){let storedOptions=import_react37.useRef(options),storedPlugins=import_react37.useRef(plugins),[emblaApi,setEmblaApi]=import_react37.useState(),[viewport,setViewport]=import_react37.useState(),reInit=import_react37.useCallback(()=>{if(emblaApi)emblaApi.reInit(storedOptions.current,storedPlugins.current)},[emblaApi]);return import_react37.useEffect(()=>{if(areOptionsEqual(storedOptions.current,options))return;storedOptions.current=options,reInit()},[options,reInit]),import_react37.useEffect(()=>{if(arePluginsEqual(storedPlugins.current,plugins))return;storedPlugins.current=plugins,reInit()},[plugins,reInit]),import_react37.useEffect(()=>{if(canUseDOM2()&&viewport){EmblaCarousel.globalOptions=useEmblaCarousel.globalOptions;let newEmblaApi=EmblaCarousel(viewport,storedOptions.current,storedPlugins.current);return setEmblaApi(newEmblaApi),()=>newEmblaApi.destroy()}else setEmblaApi(void 0)},[viewport,setEmblaApi]),[setViewport,emblaApi]}useEmblaCarousel.globalOptions=void 0;var React85=__toESM(require_react_development(),1);var jsx_dev_runtime15=__toESM(require_react_jsx_dev_runtime_development(),1),CarouselContext=React85.createContext(null);function useCarousel(){let context=React85.useContext(CarouselContext);if(!context)throw Error("useCarousel must be used within a <Carousel />");return context}function Carousel({orientation="horizontal",opts,setApi,plugins,className,children,...props}){let[carouselRef,api]=useEmblaCarousel({...opts,axis:orientation==="horizontal"?"x":"y"},plugins),[canScrollPrev,setCanScrollPrev]=React85.useState(!1),[canScrollNext,setCanScrollNext]=React85.useState(!1),onSelect=React85.useCallback((api)=>{if(!api)return;setCanScrollPrev(api.canScrollPrev()),setCanScrollNext(api.canScrollNext())},[]),scrollPrev=React85.useCallback(()=>{api?.scrollPrev()},[api]),scrollNext=React85.useCallback(()=>{api?.scrollNext()},[api]),handleKeyDown=React85.useCallback((event)=>{if(event.key==="ArrowLeft")event.preventDefault(),scrollPrev();else if(event.key==="ArrowRight")event.preventDefault(),scrollNext()},[scrollPrev,scrollNext]);return React85.useEffect(()=>{if(!api||!setApi)return;setApi(api)},[api,setApi]),React85.useEffect(()=>{if(!api)return;return onSelect(api),api.on("reInit",onSelect),api.on("select",onSelect),()=>{api?.off("select",onSelect)}},[api,onSelect]),jsx_dev_runtime15.jsxDEV(CarouselContext.Provider,{value:{carouselRef,api,opts,orientation:orientation||(opts?.axis==="y"?"vertical":"horizontal"),scrollPrev,scrollNext,canScrollPrev,canScrollNext},children:jsx_dev_runtime15.jsxDEV("div",{onKeyDownCapture:handleKeyDown,className:cn("relative",className),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...props,children},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function CarouselContent({className,...props}){let{carouselRef,orientation}=useCarousel();return jsx_dev_runtime15.jsxDEV("div",{ref:carouselRef,className:"overflow-hidden","data-slot":"carousel-content",children:jsx_dev_runtime15.jsxDEV("div",{className:cn("flex",orientation==="horizontal"?"-ml-4":"-mt-4 flex-col",className),...props},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function CarouselItem({className,...props}){let{orientation}=useCarousel();return jsx_dev_runtime15.jsxDEV("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:cn("min-w-0 shrink-0 grow-0 basis-full",orientation==="horizontal"?"pl-4":"pt-4",className),...props},void 0,!1,void 0,this)}function CarouselPrevious({className,variant="outline",size="icon-sm",...props}){let{orientation,scrollPrev,canScrollPrev}=useCarousel();return jsx_dev_runtime15.jsxDEV(Button,{"data-slot":"carousel-previous",variant,size,className:cn("absolute touch-manipulation rounded-full",orientation==="horizontal"?"inset-y-0 -left-12 my-auto":"-top-12 left-1/2 -translate-x-1/2 rotate-90",className),disabled:!canScrollPrev,onClick:scrollPrev,...props,children:[jsx_dev_runtime15.jsxDEV(ChevronLeft,{className:"cn-rtl-flip"},void 0,!1,void 0,this),jsx_dev_runtime15.jsxDEV("span",{className:"sr-only",children:"Previous slide"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function CarouselNext({className,variant="outline",size="icon-sm",...props}){let{orientation,scrollNext,canScrollNext}=useCarousel();return jsx_dev_runtime15.jsxDEV(Button,{"data-slot":"carousel-next",variant,size,className:cn("absolute touch-manipulation rounded-full",orientation==="horizontal"?"inset-y-0 -right-12 my-auto":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",className),disabled:!canScrollNext,onClick:scrollNext,...props,children:[jsx_dev_runtime15.jsxDEV(ChevronRight,{className:"cn-rtl-flip"},void 0,!1,void 0,this),jsx_dev_runtime15.jsxDEV("span",{className:"sr-only",children:"Next slide"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var import_tslib7=__toESM(require_tslib2(),1),{__extends:__extends2,__assign:__assign2,__rest:__rest2,__decorate:__decorate2,__param:__param2,__metadata:__metadata2,__awaiter:__awaiter2,__generator:__generator2,__exportStar:__exportStar2,__createBinding:__createBinding2,__values:__values2,__read:__read2,__spread:__spread2,__spreadArrays:__spreadArrays2,__spreadArray:__spreadArray2,__await:__await2,__asyncGenerator:__asyncGenerator2,__asyncDelegator:__asyncDelegator2,__asyncValues:__asyncValues2,__makeTemplateObject:__makeTemplateObject2,__importStar:__importStar2,__importDefault:__importDefault2,__classPrivateFieldGet:__classPrivateFieldGet2,__classPrivateFieldSet:__classPrivateFieldSet2}=import_tslib7.default;var DEFAULT_FONT_SIZE=12,DEFAULT_FONT_FAMILY="sans-serif",DEFAULT_FONT=DEFAULT_FONT_SIZE+"px "+DEFAULT_FONT_FAMILY,OFFSET=20,SCALE=100,defaultWidthMapStr="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function getTextWidthMap(mapStr){var map={};if(typeof JSON>"u")return map;for(var i=0;i<mapStr.length;i++){var char=String.fromCharCode(i+32),size=(mapStr.charCodeAt(i)-OFFSET)/SCALE;map[char]=size}return map}var DEFAULT_TEXT_WIDTH_MAP=getTextWidthMap(defaultWidthMapStr),platformApi={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var _ctx,_cachedFont;return function(text,font){if(!_ctx){var canvas=platformApi.createCanvas();_ctx=canvas&&canvas.getContext("2d")}if(_ctx){if(_cachedFont!==font)_cachedFont=_ctx.font=font||DEFAULT_FONT;return _ctx.measureText(text)}else{text=text||"",font=font||DEFAULT_FONT;var res=/((?:\d+)?\.?\d*)px/.exec(font),fontSize=res&&+res[1]||DEFAULT_FONT_SIZE,width=0;if(font.indexOf("mono")>=0)width=fontSize*text.length;else for(var i=0;i<text.length;i++){var preCalcWidth=DEFAULT_TEXT_WIDTH_MAP[text[i]];width+=preCalcWidth==null?fontSize:preCalcWidth*fontSize}return{width}}}}(),loadImage:function(src,onload,onerror){var image=new Image;return image.onload=onload,image.onerror=onerror,image.src=src,image},getTime:function(){return Date.now?Date.now():+new Date}};var BUILTIN_OBJECT=reduce(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(obj,val){return obj["[object "+val+"]"]=!0,obj},{}),TYPED_ARRAY=reduce(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(obj,val){return obj["[object "+val+"Array]"]=!0,obj},{}),objToString=Object.prototype.toString,arrayProto=Array.prototype,{forEach:nativeForEach,filter:nativeFilter,slice:nativeSlice,map:nativeMap}=arrayProto,ctorFunction=function(){}.constructor,protoFunction=ctorFunction?ctorFunction.prototype:null,protoKey="__proto__",idStart=2311,MAX_SAFE_INTEGER=Math.pow(2,53)-1;function guid(){if(idStart>=MAX_SAFE_INTEGER)idStart=0;return idStart++}function logError(){var args=[];for(var _i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];if(typeof console<"u")console.error.apply(console,args)}function clone(source){if(source==null||typeof source!=="object")return source;var result=source,typeStr=objToString.call(source);if(typeStr==="[object Array]"){if(!isPrimitive(source)){result=[];for(var i=0,len=source.length;i<len;i++)result[i]=clone(source[i])}}else if(TYPED_ARRAY[typeStr]){if(!isPrimitive(source)){var Ctor=source.constructor;if(Ctor.from)result=Ctor.from(source);else{result=new Ctor(source.length);for(var i=0,len=source.length;i<len;i++)result[i]=source[i]}}}else if(!BUILTIN_OBJECT[typeStr]&&!isPrimitive(source)&&!isDom(source)){result={};for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey)result[key]=clone(source[key])}return result}function merge(target,source,overwrite){if(!isObject3(source)||!isObject3(target))return overwrite?clone(source):target;for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey){var targetProp=target[key],sourceProp=source[key];if(isObject3(sourceProp)&&isObject3(targetProp)&&!isArray(sourceProp)&&!isArray(targetProp)&&!isDom(sourceProp)&&!isDom(targetProp)&&!isBuiltInObject(sourceProp)&&!isBuiltInObject(targetProp)&&!isPrimitive(sourceProp)&&!isPrimitive(targetProp))merge(targetProp,sourceProp,overwrite);else if(overwrite||!(key in target))target[key]=clone(source[key])}return target}function extend(target,source){if(Object.assign)Object.assign(target,source);else for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey)target[key]=source[key];return target}function assignProps(tar,src,props){tar=tar||{};for(var idx=0;idx<props.length;idx++){var prop=props[idx];tar[prop]=src[prop]}return tar}function defaults(target,source,overlay){var keysArr=keys(source);for(var i=0,len=keysArr.length;i<len;i++){var key=keysArr[i];if(overlay?source[key]!=null:target[key]==null)target[key]=source[key]}return target}var createCanvas=platformApi.createCanvas;function indexOf(array,value){if(array){if(array.indexOf)return array.indexOf(value);for(var i=0,len=array.length;i<len;i++)if(array[i]===value)return i}return-1}function inherits(clazz,baseClazz){var clazzPrototype=clazz.prototype;function F(){}F.prototype=baseClazz.prototype,clazz.prototype=new F;for(var prop in clazzPrototype)if(clazzPrototype.hasOwnProperty(prop))clazz.prototype[prop]=clazzPrototype[prop];clazz.prototype.constructor=clazz,clazz.superClass=baseClazz}function mixin(target,source,override){if(target="prototype"in target?target.prototype:target,source="prototype"in source?source.prototype:source,Object.getOwnPropertyNames){var keyList=Object.getOwnPropertyNames(source);for(var i=0;i<keyList.length;i++){var key=keyList[i];if(key!=="constructor"){if(override?source[key]!=null:target[key]==null)target[key]=source[key]}}}else defaults(target,source,override)}function isArrayLike(data){if(!data)return!1;if(typeof data==="string")return!1;return typeof data.length==="number"}function each(arr,cb,context){if(!(arr&&cb))return;if(arr.forEach&&arr.forEach===nativeForEach)arr.forEach(cb,context);else if(arr.length===+arr.length)for(var i=0,len=arr.length;i<len;i++)cb.call(context,arr[i],i,arr);else for(var key in arr)if(arr.hasOwnProperty(key))cb.call(context,arr[key],key,arr)}function map(arr,cb,context){if(!arr)return[];if(!cb)return slice(arr);if(arr.map&&arr.map===nativeMap)return arr.map(cb,context);else{var result=[];for(var i=0,len=arr.length;i<len;i++)result.push(cb.call(context,arr[i],i,arr));return result}}function reduce(arr,cb,memo,context){if(!(arr&&cb))return;for(var i=0,len=arr.length;i<len;i++)memo=cb.call(context,memo,arr[i],i,arr);return memo}function filter(arr,cb,context){if(!arr)return[];if(!cb)return slice(arr);if(arr.filter&&arr.filter===nativeFilter)return arr.filter(cb,context);else{var result=[];for(var i=0,len=arr.length;i<len;i++)if(cb.call(context,arr[i],i,arr))result.push(arr[i]);return result}}function find(arr,cb,context){if(!(arr&&cb))return;for(var i=0,len=arr.length;i<len;i++)if(cb.call(context,arr[i],i,arr))return arr[i]}function keys(obj){if(!obj)return[];if(Object.keys)return Object.keys(obj);var keyList=[];for(var key in obj)if(obj.hasOwnProperty(key))keyList.push(key);return keyList}function bindPolyfill(func,context){var args=[];for(var _i=2;_i<arguments.length;_i++)args[_i-2]=arguments[_i];return function(){return func.apply(context,args.concat(nativeSlice.call(arguments)))}}var bind=protoFunction&&isFunction7(protoFunction.bind)?protoFunction.call.bind(protoFunction.bind):bindPolyfill;function curry(func){var args=[];for(var _i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];return function(){return func.apply(this,args.concat(nativeSlice.call(arguments)))}}function isArray(value){if(Array.isArray)return Array.isArray(value);return objToString.call(value)==="[object Array]"}function isFunction7(value){return typeof value==="function"}function isString2(value){return typeof value==="string"}function isStringSafe(value){return objToString.call(value)==="[object String]"}function isNumber3(value){return typeof value==="number"}function isObject3(value){var type=typeof value;return type==="function"||!!value&&type==="object"}function isBuiltInObject(value){return!!BUILTIN_OBJECT[objToString.call(value)]}function isTypedArray(value){return!!TYPED_ARRAY[objToString.call(value)]}function isDom(value){return typeof value==="object"&&typeof value.nodeType==="number"&&typeof value.ownerDocument==="object"}function isGradientObject(value){return value.colorStops!=null}function isRegExp(value){return objToString.call(value)==="[object RegExp]"}function eqNaN(value){return value!==value}function retrieve(){var args=[];for(var _i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];for(var i=0,len=args.length;i<len;i++)if(args[i]!=null)return args[i]}function retrieve2(value0,value1){return value0!=null?value0:value1}function retrieve3(value0,value1,value2){return value0!=null?value0:value1!=null?value1:value2}function slice(arr){var args=[];for(var _i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];return nativeSlice.apply(arr,args)}function normalizeCssArray(val){if(typeof val==="number")return[val,val,val,val];var len=val.length;if(len===2)return[val[0],val[1],val[0],val[1]];else if(len===3)return[val[0],val[1],val[2],val[1]];return val}function assert(condition,message){if(!condition)throw Error(message)}function trim(str){if(str==null)return null;else if(typeof str.trim==="function")return str.trim();else return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var primitiveKey="__ec_primitive__";function setAsPrimitive(obj){obj[primitiveKey]=!0}function isPrimitive(obj){return obj[primitiveKey]}var MapPolyfill=function(){function MapPolyfill(){this.data={}}return MapPolyfill.prototype.delete=function(key){var existed=this.has(key);if(existed)delete this.data[key];return existed},MapPolyfill.prototype.has=function(key){return this.data.hasOwnProperty(key)},MapPolyfill.prototype.get=function(key){return this.data[key]},MapPolyfill.prototype.set=function(key,value){return this.data[key]=value,this},MapPolyfill.prototype.keys=function(){return keys(this.data)},MapPolyfill.prototype.forEach=function(callback){var data=this.data;for(var key in data)if(data.hasOwnProperty(key))callback(data[key],key)},MapPolyfill}(),isNativeMapSupported=typeof Map==="function";function maybeNativeMap(){return isNativeMapSupported?new Map:new MapPolyfill}var HashMap=function(){function HashMap(obj){var isArr=isArray(obj);this.data=maybeNativeMap();var thisMap=this;obj instanceof HashMap?obj.each(visit):obj&&each(obj,visit);function visit(value,key){isArr?thisMap.set(value,key):thisMap.set(key,value)}}return HashMap.prototype.hasKey=function(key){return this.data.has(key)},HashMap.prototype.get=function(key){return this.data.get(key)},HashMap.prototype.set=function(key,value){return this.data.set(key,value),value},HashMap.prototype.each=function(cb,context){this.data.forEach(function(value,key){cb.call(context,value,key)})},HashMap.prototype.keys=function(){var keys=this.data.keys();return isNativeMapSupported?Array.from(keys):keys},HashMap.prototype.removeKey=function(key){this.data.delete(key)},HashMap}();function createHashMap(obj){return new HashMap(obj)}function concatArray(a,b){var newArray=new a.constructor(a.length+b.length);for(var i=0;i<a.length;i++)newArray[i]=a[i];var offset=a.length;for(var i=0;i<b.length;i++)newArray[i+offset]=b[i];return newArray}function createObject(proto,properties){var obj;if(Object.create)obj=Object.create(proto);else{var StyleCtor=function(){};StyleCtor.prototype=proto,obj=new StyleCtor}if(properties)extend(obj,properties);return obj}function hasOwn(own,prop){return own.hasOwnProperty(prop)}function noop(){}var RADIAN_TO_DEGREE=180/Math.PI,EPSILON=Number.EPSILON||Math.pow(2,-52);var Browser=function(){function Browser(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return Browser}(),Env=function(){function Env(){this.browser=new Browser,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return Env}(),env=new Env;if(typeof wx==="object"&&typeof wx.getSystemInfoSync==="function")env.wxa=!0,env.touchEventsSupported=!0;else if(typeof document>"u"&&typeof self<"u")env.worker=!0;else if(!env.hasGlobalWindow||"Deno"in window||typeof navigator<"u"&&typeof navigator.userAgent==="string"&&navigator.userAgent.indexOf("Node.js")>-1)env.node=!0,env.svgSupported=!0;else detect(navigator.userAgent,env);function detect(ua,env){var browser=env.browser,firefox=ua.match(/Firefox\/([\d.]+)/),ie=ua.match(/MSIE\s([\d.]+)/)||ua.match(/Trident\/.+?rv:(([\d.]+))/),edge=ua.match(/Edge?\/([\d.]+)/),weChat=/micromessenger/i.test(ua);if(firefox)browser.firefox=!0,browser.version=firefox[1];if(ie)browser.ie=!0,browser.version=ie[1];if(edge)browser.edge=!0,browser.version=edge[1],browser.newEdge=+edge[1].split(".")[0]>18;if(weChat)browser.weChat=!0;env.svgSupported=typeof SVGRect<"u",env.touchEventsSupported="ontouchstart"in window&&!browser.ie&&!browser.edge,env.pointerEventsSupported="onpointerdown"in window&&(browser.edge||browser.ie&&+browser.version>=11);var domSupported=env.domSupported=typeof document<"u";if(domSupported){var style=document.documentElement.style;env.transform3dSupported=(browser.ie&&("transition"in style)||browser.edge||("WebKitCSSMatrix"in window)&&("m11"in new WebKitCSSMatrix)||("MozPerspective"in style))&&!("OTransition"in style),env.transformSupported=env.transform3dSupported||browser.ie&&+browser.version>=9}}var env_default=env;var TYPE_DELIMITER=".",IS_CONTAINER="___EC__COMPONENT__CONTAINER___",IS_EXTENDED_CLASS="___EC__EXTENDED_CLASS___";function parseClassType(componentType){var ret={main:"",sub:""};if(componentType){var typeArr=componentType.split(TYPE_DELIMITER);ret.main=typeArr[0]||"",ret.sub=typeArr[1]||""}return ret}function checkClassType(componentType){assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType),'componentType "'+componentType+'" illegal')}function isExtendedClass(clz){return!!(clz&&clz[IS_EXTENDED_CLASS])}function enableClassExtend(rootClz,mandatoryMethods){rootClz.$constructor=rootClz,rootClz.extend=function(proto){each(mandatoryMethods,function(method){if(!proto[method])console.warn("Method `"+method+"` should be implemented"+(proto.type?" in "+proto.type:"")+".")});var superClass=this,ExtendedClass;if(isESClass(superClass))ExtendedClass=function(_super){__extends2(class_1,_super);function class_1(){return _super.apply(this,arguments)||this}return class_1}(superClass);else ExtendedClass=function(){(proto.$constructor||superClass).apply(this,arguments)},inherits(ExtendedClass,this);return extend(ExtendedClass.prototype,proto),ExtendedClass[IS_EXTENDED_CLASS]=!0,ExtendedClass.extend=this.extend,ExtendedClass.superCall=superCall,ExtendedClass.superApply=superApply,ExtendedClass.superClass=superClass,ExtendedClass}}function isESClass(fn){return isFunction7(fn)&&/^class\s/.test(Function.prototype.toString.call(fn))}function mountExtend(SubClz,SupperClz){SubClz.extend=SupperClz.extend}var classBase=Math.round(Math.random()*10);function enableClassCheck(target){var classAttr=["__\x00is_clz",classBase++].join("_");target.prototype[classAttr]=!0,assert(!target.isInstance,'The method "is" can not be defined.'),target.isInstance=function(obj){return!!(obj&&obj[classAttr])}}function superCall(context,methodName){var args=[];for(var _i=2;_i<arguments.length;_i++)args[_i-2]=arguments[_i];return this.superClass.prototype[methodName].apply(context,args)}function superApply(context,methodName,args){return this.superClass.prototype[methodName].apply(context,args)}function enableClassManagement(target){var storage={};target.registerClass=function(clz){var componentFullType=clz.type||clz.prototype.type;if(componentFullType){checkClassType(componentFullType),clz.prototype.type=componentFullType;var componentTypeInfo=parseClassType(componentFullType);if(!componentTypeInfo.sub){if(storage[componentTypeInfo.main])console.warn(componentTypeInfo.main+" exists.");storage[componentTypeInfo.main]=clz}else if(componentTypeInfo.sub!==IS_CONTAINER){var container=makeContainer(componentTypeInfo);container[componentTypeInfo.sub]=clz}}return clz},target.getClass=function(mainType,subType,throwWhenNotFound){var clz=storage[mainType];if(clz&&clz[IS_CONTAINER])clz=subType?clz[subType]:null;if(throwWhenNotFound&&!clz)throw Error(!subType?mainType+".type should be specified.":"Component "+mainType+"."+(subType||"")+" is used but not imported.");return clz},target.getClassesByMainType=function(componentType){var componentTypeInfo=parseClassType(componentType),result=[],obj=storage[componentTypeInfo.main];if(obj&&obj[IS_CONTAINER])each(obj,function(o,type){type!==IS_CONTAINER&&result.push(o)});else result.push(obj);return result},target.hasClass=function(componentType){var componentTypeInfo=parseClassType(componentType);return!!storage[componentTypeInfo.main]},target.getAllClassMainTypes=function(){var types=[];return each(storage,function(obj,type){types.push(type)}),types},target.hasSubTypes=function(componentType){var componentTypeInfo=parseClassType(componentType),obj=storage[componentTypeInfo.main];return obj&&obj[IS_CONTAINER]};function makeContainer(componentTypeInfo){var container=storage[componentTypeInfo.main];if(!container||!container[IS_CONTAINER])container=storage[componentTypeInfo.main]={},container[IS_CONTAINER]=!0;return container}}function makeStyleMapper(properties,ignoreParent){for(var i=0;i<properties.length;i++)if(!properties[i][1])properties[i][1]=properties[i][0];return ignoreParent=ignoreParent||!1,function(model,excludes,includes){var style={};for(var i=0;i<properties.length;i++){var propName=properties[i][1];if(excludes&&indexOf(excludes,propName)>=0||includes&&indexOf(includes,propName)<0)continue;var val=model.getShallow(propName,ignoreParent);if(val!=null)style[properties[i][0]]=val}return style}}var AREA_STYLE_KEY_MAP=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],getAreaStyle=makeStyleMapper(AREA_STYLE_KEY_MAP),AreaStyleMixin=function(){function AreaStyleMixin(){}return AreaStyleMixin.prototype.getAreaStyle=function(excludes,includes){return getAreaStyle(this,excludes,includes)},AreaStyleMixin}();var Entry=function(){function Entry(val){this.value=val}return Entry}();var LinkedList=function(){function LinkedList(){this._len=0}return LinkedList.prototype.insert=function(val){var entry=new Entry(val);return this.insertEntry(entry),entry},LinkedList.prototype.insertEntry=function(entry){if(!this.head)this.head=this.tail=entry;else this.tail.next=entry,entry.prev=this.tail,entry.next=null,this.tail=entry;this._len++},LinkedList.prototype.remove=function(entry){var{prev,next}=entry;if(prev)prev.next=next;else this.head=next;if(next)next.prev=prev;else this.tail=prev;entry.next=entry.prev=null,this._len--},LinkedList.prototype.len=function(){return this._len},LinkedList.prototype.clear=function(){this.head=this.tail=null,this._len=0},LinkedList}();var LRU=function(){function LRU(maxSize){this._list=new LinkedList,this._maxSize=10,this._map={},this._maxSize=maxSize}return LRU.prototype.put=function(key,value){var list=this._list,map=this._map,removed=null;if(map[key]==null){var len=list.len(),entry=this._lastRemovedEntry;if(len>=this._maxSize&&len>0){var leastUsedEntry=list.head;list.remove(leastUsedEntry),delete map[leastUsedEntry.key],removed=leastUsedEntry.value,this._lastRemovedEntry=leastUsedEntry}if(entry)entry.value=value;else entry=new Entry(value);entry.key=key,list.insertEntry(entry),map[key]=entry}return removed},LRU.prototype.get=function(key){var entry=this._map[key],list=this._list;if(entry!=null){if(entry!==list.tail)list.remove(entry),list.insertEntry(entry);return entry.value}},LRU.prototype.clear=function(){this._list.clear(),this._map={}},LRU.prototype.len=function(){return this._list.len()},LRU}(),LRU_default=LRU;var globalImageCache=new LRU_default(50);function findExistImage(newImageOrSrc){if(typeof newImageOrSrc==="string"){var cachedImgObj=globalImageCache.get(newImageOrSrc);return cachedImgObj&&cachedImgObj.image}else return newImageOrSrc}function createOrUpdateImage(newImageOrSrc,image,hostEl,onload,cbPayload){if(!newImageOrSrc)return image;else if(typeof newImageOrSrc==="string"){if(image&&image.__zrImageSrc===newImageOrSrc||!hostEl)return image;var cachedImgObj=globalImageCache.get(newImageOrSrc),pendingWrap={hostEl,cb:onload,cbPayload};if(cachedImgObj)image=cachedImgObj.image,!isImageReady(image)&&cachedImgObj.pending.push(pendingWrap);else image=platformApi.loadImage(newImageOrSrc,imageOnLoad,imageOnLoad),image.__zrImageSrc=newImageOrSrc,globalImageCache.put(newImageOrSrc,image.__cachedImgObj={image,pending:[pendingWrap]});return image}else return newImageOrSrc}function imageOnLoad(){var cachedImgObj=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var i=0;i<cachedImgObj.pending.length;i++){var pendingWrap=cachedImgObj.pending[i],cb=pendingWrap.cb;cb&&cb(this,pendingWrap.cbPayload),pendingWrap.hostEl.dirty()}cachedImgObj.pending.length=0}function isImageReady(image){return image&&image.width&&image.height}function create(){return[1,0,0,1,0,0]}function identity(out){return out[0]=1,out[1]=0,out[2]=0,out[3]=1,out[4]=0,out[5]=0,out}function copy(out,m){return out[0]=m[0],out[1]=m[1],out[2]=m[2],out[3]=m[3],out[4]=m[4],out[5]=m[5],out}function mul(out,m1,m2){var out0=m1[0]*m2[0]+m1[2]*m2[1],out1=m1[1]*m2[0]+m1[3]*m2[1],out2=m1[0]*m2[2]+m1[2]*m2[3],out3=m1[1]*m2[2]+m1[3]*m2[3],out4=m1[0]*m2[4]+m1[2]*m2[5]+m1[4],out5=m1[1]*m2[4]+m1[3]*m2[5]+m1[5];return out[0]=out0,out[1]=out1,out[2]=out2,out[3]=out3,out[4]=out4,out[5]=out5,out}function translate(out,a,v){return out[0]=a[0],out[1]=a[1],out[2]=a[2],out[3]=a[3],out[4]=a[4]+v[0],out[5]=a[5]+v[1],out}function rotate(out,a,rad,pivot){if(pivot===void 0)pivot=[0,0];var aa=a[0],ac=a[2],atx=a[4],ab=a[1],ad=a[3],aty=a[5],st=Math.sin(rad),ct=Math.cos(rad);return out[0]=aa*ct+ab*st,out[1]=-aa*st+ab*ct,out[2]=ac*ct+ad*st,out[3]=-ac*st+ct*ad,out[4]=ct*(atx-pivot[0])+st*(aty-pivot[1])+pivot[0],out[5]=ct*(aty-pivot[1])-st*(atx-pivot[0])+pivot[1],out}function scale(out,a,v){var vx=v[0],vy=v[1];return out[0]=a[0]*vx,out[1]=a[1]*vy,out[2]=a[2]*vx,out[3]=a[3]*vy,out[4]=a[4]*vx,out[5]=a[5]*vy,out}function invert(out,a){var aa=a[0],ac=a[2],atx=a[4],ab=a[1],ad=a[3],aty=a[5],det=aa*ad-ab*ac;if(!det)return null;return det=1/det,out[0]=ad*det,out[1]=-ab*det,out[2]=-ac*det,out[3]=aa*det,out[4]=(ac*aty-ad*atx)*det,out[5]=(ab*atx-aa*aty)*det,out}function create2(x,y){if(x==null)x=0;if(y==null)y=0;return[x,y]}function clone2(v){return[v[0],v[1]]}function set(out,a,b){return out[0]=a,out[1]=b,out}function add(out,v1,v2){return out[0]=v1[0]+v2[0],out[1]=v1[1]+v2[1],out}function sub(out,v1,v2){return out[0]=v1[0]-v2[0],out[1]=v1[1]-v2[1],out}function len(v){return Math.sqrt(lenSquare(v))}function lenSquare(v){return v[0]*v[0]+v[1]*v[1]}function scale2(out,v,s){return out[0]=v[0]*s,out[1]=v[1]*s,out}function normalize(out,v){var d=len(v);if(d===0)out[0]=0,out[1]=0;else out[0]=v[0]/d,out[1]=v[1]/d;return out}function distance(v1,v2){return Math.sqrt((v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1]))}var dist=distance;function distanceSquare(v1,v2){return(v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1])}var distSquare=distanceSquare;function lerp(out,v1,v2,t){return out[0]=v1[0]+t*(v2[0]-v1[0]),out[1]=v1[1]+t*(v2[1]-v1[1]),out}function applyTransform(out,v,m){var x=v[0],y=v[1];return out[0]=m[0]*x+m[2]*y+m[4],out[1]=m[1]*x+m[3]*y+m[5],out}function min2(out,v1,v2){return out[0]=Math.min(v1[0],v2[0]),out[1]=Math.min(v1[1],v2[1]),out}function max2(out,v1,v2){return out[0]=Math.max(v1[0],v2[0]),out[1]=Math.max(v1[1],v2[1]),out}var Point=function(){function Point(x,y){this.x=x||0,this.y=y||0}return Point.prototype.copy=function(other){return this.x=other.x,this.y=other.y,this},Point.prototype.clone=function(){return new Point(this.x,this.y)},Point.prototype.set=function(x,y){return this.x=x,this.y=y,this},Point.prototype.equal=function(other){return other.x===this.x&&other.y===this.y},Point.prototype.add=function(other){return this.x+=other.x,this.y+=other.y,this},Point.prototype.scale=function(scalar){this.x*=scalar,this.y*=scalar},Point.prototype.scaleAndAdd=function(other,scalar){this.x+=other.x*scalar,this.y+=other.y*scalar},Point.prototype.sub=function(other){return this.x-=other.x,this.y-=other.y,this},Point.prototype.dot=function(other){return this.x*other.x+this.y*other.y},Point.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},Point.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},Point.prototype.normalize=function(){var len=this.len();return this.x/=len,this.y/=len,this},Point.prototype.distance=function(other){var dx=this.x-other.x,dy=this.y-other.y;return Math.sqrt(dx*dx+dy*dy)},Point.prototype.distanceSquare=function(other){var dx=this.x-other.x,dy=this.y-other.y;return dx*dx+dy*dy},Point.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},Point.prototype.transform=function(m){if(!m)return;var x=this.x,y=this.y;return this.x=m[0]*x+m[2]*y+m[4],this.y=m[1]*x+m[3]*y+m[5],this},Point.prototype.toArray=function(out){return out[0]=this.x,out[1]=this.y,out},Point.prototype.fromArray=function(input){this.x=input[0],this.y=input[1]},Point.set=function(p,x,y){p.x=x,p.y=y},Point.copy=function(p,p2){p.x=p2.x,p.y=p2.y},Point.len=function(p){return Math.sqrt(p.x*p.x+p.y*p.y)},Point.lenSquare=function(p){return p.x*p.x+p.y*p.y},Point.dot=function(p0,p1){return p0.x*p1.x+p0.y*p1.y},Point.add=function(out,p0,p1){out.x=p0.x+p1.x,out.y=p0.y+p1.y},Point.sub=function(out,p0,p1){out.x=p0.x-p1.x,out.y=p0.y-p1.y},Point.scale=function(out,p0,scalar){out.x=p0.x*scalar,out.y=p0.y*scalar},Point.scaleAndAdd=function(out,p0,p1,scalar){out.x=p0.x+p1.x*scalar,out.y=p0.y+p1.y*scalar},Point.lerp=function(out,p0,p1,t){var onet=1-t;out.x=onet*p0.x+t*p1.x,out.y=onet*p0.y+t*p1.y},Point}(),Point_default=Point;var{min:mathMin,max:mathMax,abs:mathAbs2}=Math,XY=["x","y"],WH=["width","height"],lt=new Point_default,rb=new Point_default,lb=new Point_default,rt=new Point_default,_intersectCtx=createIntersectContext(),{minTv:_minTv,maxTv:_maxTv}=_intersectCtx,_lenMinMax=[0,0],BoundingRect=function(){function BoundingRect(x,y,width,height){boundingRectSet(this,x,y,width,height)}return BoundingRect.set=function(target,x,y,width,height){if(width<0)x=x+width,width=-width;if(height<0)y=y+height,height=-height;return target.x=x,target.y=y,target.width=width,target.height=height,target},BoundingRect.prototype.union=function(other){var x=mathMin(other.x,this.x),y=mathMin(other.y,this.y);if(isFinite(this.x)&&isFinite(this.width))this.width=mathMax(other.x+other.width,this.x+this.width)-x;else this.width=other.width;if(isFinite(this.y)&&isFinite(this.height))this.height=mathMax(other.y+other.height,this.y+this.height)-y;else this.height=other.height;this.x=x,this.y=y},BoundingRect.prototype.applyTransform=function(m){BoundingRect.applyTransform(this,this,m)},BoundingRect.prototype.calculateTransform=function(b){return boundingRectCalculateTransform(create(),this,b)},BoundingRect.prototype.intersect=function(b,mtv,opt){return BoundingRect.intersect(this,b,mtv,opt)},BoundingRect.intersect=function(a,b,mtv,opt){if(mtv)Point_default.set(mtv,0,0);var outIntersectRect=opt&&opt.outIntersectRect||null,clamp=opt&&opt.clamp;if(outIntersectRect)outIntersectRect.x=outIntersectRect.y=outIntersectRect.width=outIntersectRect.height=NaN;if(!a||!b)return!1;if(!(a instanceof BoundingRect))a=boundingRectSet(_tmpIntersectA,a.x,a.y,a.width,a.height);if(!(b instanceof BoundingRect))b=boundingRectSet(_tmpIntersectB,b.x,b.y,b.width,b.height);var useMTV=!!mtv;_intersectCtx.reset(opt,useMTV);var touchThreshold=_intersectCtx.touchThreshold,ax0=a.x+touchThreshold,ax1=a.x+a.width-touchThreshold,ay0=a.y+touchThreshold,ay1=a.y+a.height-touchThreshold,bx0=b.x+touchThreshold,bx1=b.x+b.width-touchThreshold,by0=b.y+touchThreshold,by1=b.y+b.height-touchThreshold;if(ax0>ax1||ay0>ay1||bx0>bx1||by0>by1)return!1;var overlap=!(ax1<bx0||bx1<ax0||ay1<by0||by1<ay0);if(useMTV||outIntersectRect){if(_lenMinMax[0]=1/0,_lenMinMax[1]=0,intersectOneDim(ax0,ax1,bx0,bx1,0,useMTV,outIntersectRect,clamp),intersectOneDim(ay0,ay1,by0,by1,1,useMTV,outIntersectRect,clamp),useMTV)Point_default.copy(mtv,overlap?_intersectCtx.useDir?_intersectCtx.dirMinTv:_minTv:_maxTv)}return overlap},BoundingRect.contain=function(rect,x,y){return x>=rect.x&&x<=rect.x+rect.width&&y>=rect.y&&y<=rect.y+rect.height},BoundingRect.prototype.contain=function(x,y){return BoundingRect.contain(this,x,y)},BoundingRect.prototype.clone=function(){return new BoundingRect(this.x,this.y,this.width,this.height)},BoundingRect.prototype.copy=function(other){boundingRectCopy(this,other)},BoundingRect.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},BoundingRect.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},BoundingRect.prototype.isZero=function(){return this.width===0||this.height===0},BoundingRect.create=function(rect){return new BoundingRect(rect?rect.x:0,rect?rect.y:0,rect?rect.width:0,rect?rect.height:0)},BoundingRect.copy=function(target,source){return target.x=source.x,target.y=source.y,target.width=source.width,target.height=source.height,target},BoundingRect.applyTransform=function(target,source,m){if(!m){if(target!==source)boundingRectCopy(target,source);return}if(m[1]<0.00001&&m[1]>-0.00001&&m[2]<0.00001&&m[2]>-0.00001){var sx=m[0],sy=m[3],tx=m[4],ty=m[5];if(target.x=source.x*sx+tx,target.y=source.y*sy+ty,target.width=source.width*sx,target.height=source.height*sy,target.width<0)target.x+=target.width,target.width=-target.width;if(target.height<0)target.y+=target.height,target.height=-target.height;return}lt.x=lb.x=source.x,lt.y=rt.y=source.y,rb.x=rt.x=source.x+source.width,rb.y=lb.y=source.y+source.height,lt.transform(m),rt.transform(m),rb.transform(m),lb.transform(m),target.x=mathMin(lt.x,rb.x,lb.x,rt.x),target.y=mathMin(lt.y,rb.y,lb.y,rt.y);var maxX=mathMax(lt.x,rb.x,lb.x,rt.x),maxY=mathMax(lt.y,rb.y,lb.y,rt.y);target.width=maxX-target.x,target.height=maxY-target.y},BoundingRect.calculateTransform=function(out,a,b){var sx=b.width/a.width,sy=b.height/a.height;return out=identity(out||[]),translate(out,out,set(_tmpCalcTrans,-a.x,-a.y)),scale(out,out,set(_tmpCalcTrans,sx,sy)),translate(out,out,set(_tmpCalcTrans,b.x,b.y)),out},BoundingRect}(),{create:boundingRectCreate,set:boundingRectSet,copy:boundingRectCopy,calculateTransform:boundingRectCalculateTransform,applyTransform:boundingRectApplyTransform,contain:boundingRectContain}=BoundingRect,_tmpIntersectA=new BoundingRect(0,0,0,0),_tmpIntersectB=new BoundingRect(0,0,0,0),_tmpCalcTrans=[];function intersectOneDim(a0,a1,b0,b1,updateDimIdx,useMTV,outIntersectRect,clamp){var d0=mathAbs2(a1-b0),d1=mathAbs2(b1-a0),d01min=mathMin(d0,d1),updateDim=XY[updateDimIdx],zeroDim=XY[1-updateDimIdx],wh=WH[updateDimIdx];if(a1<b0||b1<a0)if(d0<d1){if(useMTV)_maxTv[updateDim]=-d0;if(clamp)outIntersectRect[updateDim]=a1,outIntersectRect[wh]=0}else{if(useMTV)_maxTv[updateDim]=d1;if(clamp)outIntersectRect[updateDim]=a0,outIntersectRect[wh]=0}else{if(outIntersectRect)outIntersectRect[updateDim]=mathMax(a0,b0),outIntersectRect[wh]=mathMin(a1,b1)-outIntersectRect[updateDim];if(useMTV){if(d01min<_lenMinMax[0]||_intersectCtx.useDir){if(_lenMinMax[0]=mathMin(d01min,_lenMinMax[0]),d0<d1||!_intersectCtx.bidirectional){if(_minTv[updateDim]=d0,_minTv[zeroDim]=0,_intersectCtx.useDir)_intersectCtx.calcDirMTV()}if(d0>=d1||!_intersectCtx.bidirectional){if(_minTv[updateDim]=-d1,_minTv[zeroDim]=0,_intersectCtx.useDir)_intersectCtx.calcDirMTV()}}}}}function createIntersectContext(){var _direction=0,_dirCheckVec=new Point_default,_dirTmp=new Point_default,_ctx={minTv:new Point_default,maxTv:new Point_default,useDir:!1,dirMinTv:new Point_default,touchThreshold:0,bidirectional:!0,negativeSize:!1,reset:function(opt,useMTV){if(_ctx.touchThreshold=0,opt&&opt.touchThreshold!=null)_ctx.touchThreshold=mathMax(0,opt.touchThreshold);if(_ctx.negativeSize=!1,!useMTV)return;if(_ctx.minTv.set(1/0,1/0),_ctx.maxTv.set(0,0),_ctx.useDir=!1,opt&&opt.direction!=null){if(_ctx.useDir=!0,_ctx.dirMinTv.copy(_ctx.minTv),_dirTmp.copy(_ctx.minTv),_direction=opt.direction,_ctx.bidirectional=opt.bidirectional==null||!!opt.bidirectional,!_ctx.bidirectional)_dirCheckVec.set(Math.cos(_direction),Math.sin(_direction))}},calcDirMTV:function(){var{minTv,dirMinTv}=_ctx,squareMag=minTv.y*minTv.y+minTv.x*minTv.x,dirSin=Math.sin(_direction),dirCos=Math.cos(_direction),dotProd=dirSin*minTv.y+dirCos*minTv.x;if(nearZero(dotProd)){if(nearZero(minTv.x)&&nearZero(minTv.y))dirMinTv.set(0,0);return}if(_dirTmp.x=squareMag*dirCos/dotProd,_dirTmp.y=squareMag*dirSin/dotProd,nearZero(_dirTmp.x)&&nearZero(_dirTmp.y)){dirMinTv.set(0,0);return}if((_ctx.bidirectional||_dirCheckVec.dot(_dirTmp)>0)&&_dirTmp.len()<dirMinTv.len())dirMinTv.copy(_dirTmp)}};function nearZero(val){return mathAbs2(val)<0.0000000001}return _ctx}var BoundingRect_default=BoundingRect;function ensureFontMeasureInfo(font){if(!_fontMeasureInfoCache)_fontMeasureInfoCache=new LRU_default(100);font=font||DEFAULT_FONT;var measureInfo=_fontMeasureInfoCache.get(font);if(!measureInfo)measureInfo={font,strWidthCache:new LRU_default(500),asciiWidthMap:null,asciiWidthMapTried:!1,stWideCharWidth:platformApi.measureText("\u56FD",font).width,asciiCharWidth:platformApi.measureText("a",font).width},_fontMeasureInfoCache.put(font,measureInfo);return measureInfo}var _fontMeasureInfoCache;function tryCreateASCIIWidthMap(font){if(_getASCIIWidthMapLongCount>=GET_ASCII_WIDTH_LONG_COUNT_MAX)return;font=font||DEFAULT_FONT;var asciiWidthMap=[],start=+new Date;for(var code=0;code<=127;code++)asciiWidthMap[code]=platformApi.measureText(String.fromCharCode(code),font).width;var cost=+new Date-start;if(cost>16)_getASCIIWidthMapLongCount=GET_ASCII_WIDTH_LONG_COUNT_MAX;else if(cost>2)_getASCIIWidthMapLongCount++;return asciiWidthMap}var _getASCIIWidthMapLongCount=0,GET_ASCII_WIDTH_LONG_COUNT_MAX=5;function measureCharWidth(fontMeasureInfo,charCode){if(!fontMeasureInfo.asciiWidthMapTried)fontMeasureInfo.asciiWidthMap=tryCreateASCIIWidthMap(fontMeasureInfo.font),fontMeasureInfo.asciiWidthMapTried=!0;return 0<=charCode&&charCode<=127?fontMeasureInfo.asciiWidthMap!=null?fontMeasureInfo.asciiWidthMap[charCode]:fontMeasureInfo.asciiCharWidth:fontMeasureInfo.stWideCharWidth}function measureWidth(fontMeasureInfo,text){var strWidthCache=fontMeasureInfo.strWidthCache,width=strWidthCache.get(text);if(width==null)width=platformApi.measureText(text,fontMeasureInfo.font).width,strWidthCache.put(text,width);return width}function innerGetBoundingRect(text,font,textAlign,textBaseline){var width=measureWidth(ensureFontMeasureInfo(font),text),height=getLineHeight(font),x=adjustTextX(0,width,textAlign),y=adjustTextY(0,height,textBaseline),rect=new BoundingRect_default(x,y,width,height);return rect}function getBoundingRect(text,font,textAlign,textBaseline){var textLines=((text||"")+"").split(`
60
+ Defaulting to \`null\`.`}__name37(getInvalidValueError,"getInvalidValueError");var Root7=Progress,Indicator2=ProgressIndicator;var React211=__toESM(require_react_development(),1);var React48=__toESM(require_react_development(),1);var import_jsx_runtime27=__toESM(require_react_jsx_runtime_development(),1),import_jsx_runtime28=__toESM(require_react_jsx_runtime_development(),1),__defProp38=Object.defineProperty,__name38=(target,value)=>__defProp38(target,"name",{value,configurable:!0}),RADIO_NAME="Radio",[createRadioContext,createRadioScope]=createContextScope(RADIO_NAME),[RadioProviderImpl,useRadioContext]=createRadioContext(RADIO_NAME);function RadioProvider(props){let{__scopeRadio,checked=!1,children,disabled,form,name,onCheck,required,value="on",internal_do_not_use_render}=props,[control,setControl]=React48.useState(null),[bubbleInput,setBubbleInput]=React48.useState(null),hasConsumerStoppedPropagationRef=React48.useRef(!1),[userInteractionCount,onUserInteraction]=React48.useReducer((count)=>count+1,0),isFormControl=control?!!form||!!control.closest("form"):!0,context={checked,disabled,required,name,form,value,control,setControl,hasConsumerStoppedPropagationRef,userInteractionCount,onUserInteraction,isFormControl,bubbleInput,setBubbleInput,onCheck:__name38(()=>onCheck?.(),"onCheck")};return import_jsx_runtime27.jsx(RadioProviderImpl,{scope:__scopeRadio,...context,children:isFunction3(internal_do_not_use_render)?internal_do_not_use_render(context):children})}__name38(RadioProvider,"RadioProvider");var TRIGGER_NAME11="RadioTrigger",RadioTrigger=React48.forwardRef(__name38(function({__scopeRadio,onClick,...radioProps},forwardedRef){let{checked,disabled,value,setControl,onCheck,hasConsumerStoppedPropagationRef,onUserInteraction,isFormControl,bubbleInput}=useRadioContext(TRIGGER_NAME11,__scopeRadio),composedRefs=useComposedRefs(forwardedRef,setControl);return import_jsx_runtime27.jsx(Primitive.button,{type:"button",role:"radio","aria-checked":checked,"data-state":getState6(checked),"data-disabled":disabled?"":void 0,disabled,value,...radioProps,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(!checked)onUserInteraction(),onCheck();if(bubbleInput&&isFormControl){if(hasConsumerStoppedPropagationRef.current=event.isPropagationStopped(),!hasConsumerStoppedPropagationRef.current)event.stopPropagation()}})})},"RadioTrigger")),INDICATOR_NAME4="RadioIndicator",RadioIndicator=React48.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadio,forceMount,...indicatorProps}=props,context=useRadioContext(INDICATOR_NAME4,__scopeRadio);return import_jsx_runtime27.jsx(Presence,{present:forceMount||context.checked,children:import_jsx_runtime27.jsx(Primitive.span,{"data-state":getState6(context.checked),"data-disabled":context.disabled?"":void 0,...indicatorProps,ref:forwardedRef})})},"RadioIndicator")),BUBBLE_INPUT_NAME2="RadioBubbleInput",RadioBubbleInput=React48.forwardRef(__name38(function({__scopeRadio,onClick,...props},forwardedRef){let{control,checked,required,disabled,name,value,form,bubbleInput,setBubbleInput,hasConsumerStoppedPropagationRef,userInteractionCount}=useRadioContext(BUBBLE_INPUT_NAME2,__scopeRadio),composedRefs=useComposedRefs(forwardedRef,setBubbleInput),controlSize=useSize(control),shouldStopClickPropagationRef=React48.useRef(!1),prevCheckedRef=React48.useRef(checked),prevUserInteractionCountRef=React48.useRef(userInteractionCount);React48.useEffect(()=>{let input=bubbleInput;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setChecked=Object.getOwnPropertyDescriptor(inputProto,"checked").set,isUserInteraction=userInteractionCount!==prevUserInteractionCountRef.current;prevUserInteractionCountRef.current=userInteractionCount;let checkedChanged=prevCheckedRef.current!==checked;prevCheckedRef.current=checked;let bubbles=!(isUserInteraction&&hasConsumerStoppedPropagationRef.current);if(checkedChanged&&setChecked){shouldStopClickPropagationRef.current=!isUserInteraction;let event=new Event("click",{bubbles});setChecked.call(input,checked),input.dispatchEvent(event),shouldStopClickPropagationRef.current=!1}},[bubbleInput,checked,hasConsumerStoppedPropagationRef,userInteractionCount]);let defaultCheckedRef=React48.useRef(checked);return import_jsx_runtime27.jsx(Primitive.input,{type:"radio","aria-hidden":!0,defaultChecked:defaultCheckedRef.current,required,disabled,name,value,form,...props,tabIndex:-1,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(shouldStopClickPropagationRef.current)event.stopPropagation()}),style:{...props.style,...controlSize,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function isFunction3(value){return typeof value==="function"}__name38(isFunction3,"isFunction");function getState6(checked){return checked?"checked":"unchecked"}__name38(getState6,"getState");var ARROW_KEYS2=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],RADIO_GROUP_NAME2="RadioGroup",[createRadioGroupContext,createRadioGroupScope]=createContextScope(RADIO_GROUP_NAME2,[createRovingFocusGroupScope,createRadioScope]),useRovingFocusGroupScope3=createRovingFocusGroupScope(),useRadioScope=createRadioScope(),[RadioGroupProvider2,useRadioGroupContext2]=createRadioGroupContext(RADIO_GROUP_NAME2),RadioGroup2=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,name,form,defaultValue,value:valueProp,required=!1,disabled=!1,orientation,dir,loop=!0,onValueChange,...groupProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope3(__scopeRadioGroup),direction=useDirection(dir),[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??null,onChange:onValueChange,caller:RADIO_GROUP_NAME2}),[control,setControl]=React211.useState(null),composedRefs=useComposedRefs(forwardedRef,setControl),initialValueRef=React211.useRef(value);return React211.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.closest("form");if(associatedForm instanceof HTMLFormElement){let reset=__name38(()=>setValue(initialValueRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setValue]),import_jsx_runtime28.jsx(RadioGroupProvider2,{scope:__scopeRadioGroup,name,form,required,disabled,value,onValueChange:setValue,children:import_jsx_runtime28.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation,dir:direction,loop,children:import_jsx_runtime28.jsx(Primitive.div,{role:"radiogroup","aria-required":required,"aria-orientation":orientation,"data-disabled":disabled?"":void 0,dir:direction,...groupProps,ref:composedRefs})})})},"RadioGroup")),ITEM_PROVIDER_NAME="RadioGroupItemProvider",ITEM_TRIGGER_NAME="RadioGroupItemTrigger";function RadioGroupItemProvider(props){let{__scopeRadioGroup,value,disabled,children,internal_do_not_use_render}=props,context=useRadioGroupContext2(ITEM_PROVIDER_NAME,__scopeRadioGroup),radioScope=useRadioScope(__scopeRadioGroup),isDisabled=context.disabled||disabled;return import_jsx_runtime28.jsx(RadioProvider,{...radioScope,checked:context.value===value,disabled:isDisabled,required:context.required,name:context.name,form:context.form,value,onCheck:()=>context.onValueChange(value),internal_do_not_use_render,children})}__name38(RadioGroupItemProvider,"RadioGroupItemProvider");var RadioGroupItemTrigger=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...triggerProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope3(__scopeRadioGroup),radioScope=useRadioScope(__scopeRadioGroup),{checked,disabled}=useRadioContext(ITEM_TRIGGER_NAME,radioScope.__scopeRadio),ref=React211.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),isArrowKeyPressedRef=React211.useRef(!1);return React211.useEffect(()=>{let handleKeyDown=__name38((event)=>{if(ARROW_KEYS2.includes(event.key))isArrowKeyPressedRef.current=!0},"handleKeyDown"),handleKeyUp=__name38(()=>isArrowKeyPressedRef.current=!1,"handleKeyUp");return document.addEventListener("keydown",handleKeyDown),document.addEventListener("keyup",handleKeyUp),()=>{document.removeEventListener("keydown",handleKeyDown),document.removeEventListener("keyup",handleKeyUp)}},[]),import_jsx_runtime28.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:checked,children:import_jsx_runtime28.jsx(RadioTrigger,{...radioScope,...triggerProps,ref:composedRefs,onKeyDown:composeEventHandlers(triggerProps.onKeyDown,(event)=>{if(event.key==="Enter")event.preventDefault()}),onFocus:composeEventHandlers(triggerProps.onFocus,()=>{if(isArrowKeyPressedRef.current)ref.current?.click()})})})},"RadioGroupItemTrigger")),RadioGroupItem=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,value,disabled,...itemProps}=props;return import_jsx_runtime28.jsx(RadioGroupItemProvider,{__scopeRadioGroup,value,disabled,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime28.jsxs(import_jsx_runtime28.Fragment,{children:[import_jsx_runtime28.jsx(RadioGroupItemTrigger,{...itemProps,ref:forwardedRef,__scopeRadioGroup}),isFormControl&&import_jsx_runtime28.jsx(RadioGroupItemBubbleInput,{__scopeRadioGroup})]})})},"RadioGroupItem")),RadioGroupItemBubbleInput=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...bubbleProps}=props,radioScope=useRadioScope(__scopeRadioGroup);return import_jsx_runtime28.jsx(RadioBubbleInput,{...radioScope,...bubbleProps,ref:forwardedRef})},"RadioGroupItemBubbleInput")),RadioGroupIndicator=React211.forwardRef(__name38(function(props,forwardedRef){let{__scopeRadioGroup,...indicatorProps}=props,radioScope=useRadioScope(__scopeRadioGroup);return import_jsx_runtime28.jsx(RadioIndicator,{...radioScope,...indicatorProps,ref:forwardedRef})},"RadioGroupIndicator"));var React212=__toESM(require_react_development(),1);var __defProp39=Object.defineProperty,__name39=(target,value)=>__defProp39(target,"name",{value,configurable:!0});function clamp(value,[min,max]){return Math.min(max,Math.max(min,value))}__name39(clamp,"clamp");var React49=__toESM(require_react_development(),1),import_jsx_runtime29=__toESM(require_react_jsx_runtime_development(),1),__defProp40=Object.defineProperty,__name40=(target,value)=>__defProp40(target,"name",{value,configurable:!0});function useStateMachine2(initialState,machine){return React49.useReducer((state,event)=>machine[state][event]??state,initialState)}__name40(useStateMachine2,"useStateMachine");var SCROLL_AREA_NAME="ScrollArea",[createScrollAreaContext,createScrollAreaScope]=createContextScope(SCROLL_AREA_NAME),[ScrollAreaProvider,useScrollAreaContext]=createScrollAreaContext(SCROLL_AREA_NAME),ScrollArea=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,type="hover",dir,scrollHideDelay=600,...scrollAreaProps}=props,[scrollArea,setScrollArea]=React212.useState(null),[viewport,setViewport]=React212.useState(null),[content,setContent]=React212.useState(null),[scrollbarX,setScrollbarX]=React212.useState(null),[scrollbarY,setScrollbarY]=React212.useState(null),[cornerWidth,setCornerWidth]=React212.useState(0),[cornerHeight,setCornerHeight]=React212.useState(0),[scrollbarXEnabled,setScrollbarXEnabled]=React212.useState(!1),[scrollbarYEnabled,setScrollbarYEnabled]=React212.useState(!1),composedRefs=useComposedRefs(forwardedRef,setScrollArea),direction=useDirection(dir);return import_jsx_runtime29.jsx(ScrollAreaProvider,{scope:__scopeScrollArea,type,dir:direction,scrollHideDelay,scrollArea,viewport,onViewportChange:setViewport,content,onContentChange:setContent,scrollbarX,onScrollbarXChange:setScrollbarX,scrollbarXEnabled,onScrollbarXEnabledChange:setScrollbarXEnabled,scrollbarY,onScrollbarYChange:setScrollbarY,scrollbarYEnabled,onScrollbarYEnabledChange:setScrollbarYEnabled,onCornerWidthChange:setCornerWidth,onCornerHeightChange:setCornerHeight,children:import_jsx_runtime29.jsx(Primitive.div,{dir:direction,...scrollAreaProps,ref:composedRefs,style:{position:"relative","--radix-scroll-area-corner-width":cornerWidth+"px","--radix-scroll-area-corner-height":cornerHeight+"px",...props.style}})})},"ScrollArea")),VIEWPORT_NAME2="ScrollAreaViewport",ScrollAreaViewport=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,children,nonce,...viewportProps}=props,context=useScrollAreaContext(VIEWPORT_NAME2,__scopeScrollArea),ref=React212.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref,context.onViewportChange);return import_jsx_runtime29.jsxs(import_jsx_runtime29.Fragment,{children:[import_jsx_runtime29.jsx(ScrollAreaViewportStyle,{nonce}),import_jsx_runtime29.jsx(Primitive.div,{"data-radix-scroll-area-viewport":"",...viewportProps,ref:composedRefs,style:{overflowX:context.scrollbarXEnabled?"scroll":"hidden",overflowY:context.scrollbarYEnabled?"scroll":"hidden",...props.style},children:import_jsx_runtime29.jsx("div",{ref:context.onContentChange,style:{minWidth:"100%",display:"table"},children})})]})},"ScrollAreaViewport")),ScrollAreaViewportStyle=React212.memo(__name40(function({nonce}){return import_jsx_runtime29.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce})},"ScrollAreaViewportStyle"),(prevProps,nextProps)=>prevProps.nonce===nextProps.nonce),SCROLLBAR_NAME="ScrollAreaScrollbar",ScrollAreaScrollbar=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),{onScrollbarXEnabledChange,onScrollbarYEnabledChange}=context,isHorizontal=props.orientation==="horizontal";return React212.useEffect(()=>(isHorizontal?onScrollbarXEnabledChange(!0):onScrollbarYEnabledChange(!0),()=>{isHorizontal?onScrollbarXEnabledChange(!1):onScrollbarYEnabledChange(!1)}),[isHorizontal,onScrollbarXEnabledChange,onScrollbarYEnabledChange]),context.type==="hover"?import_jsx_runtime29.jsx(ScrollAreaScrollbarHover,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="scroll"?import_jsx_runtime29.jsx(ScrollAreaScrollbarScroll,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="auto"?import_jsx_runtime29.jsx(ScrollAreaScrollbarAuto,{...scrollbarProps,ref:forwardedRef,forceMount}):context.type==="always"?import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{...scrollbarProps,ref:forwardedRef,"data-state":"visible"}):null},"ScrollAreaScrollbar")),ScrollAreaScrollbarHover=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[visible,setVisible]=React212.useState(!1);return React212.useEffect(()=>{let scrollArea=context.scrollArea,hideTimer=0;if(scrollArea){let handlePointerEnter=__name40(()=>{window.clearTimeout(hideTimer),setVisible(!0)},"handlePointerEnter"),handlePointerLeave=__name40(()=>{hideTimer=window.setTimeout(()=>setVisible(!1),context.scrollHideDelay)},"handlePointerLeave");return scrollArea.addEventListener("pointerenter",handlePointerEnter),scrollArea.addEventListener("pointerleave",handlePointerLeave),()=>{window.clearTimeout(hideTimer),scrollArea.removeEventListener("pointerenter",handlePointerEnter),scrollArea.removeEventListener("pointerleave",handlePointerLeave)}}},[context.scrollArea,context.scrollHideDelay]),import_jsx_runtime29.jsx(Presence,{present:forceMount||visible,children:import_jsx_runtime29.jsx(ScrollAreaScrollbarAuto,{"data-state":visible?"visible":"hidden",...scrollbarProps,ref:forwardedRef})})},"ScrollAreaScrollbarHover")),ScrollAreaScrollbarScroll=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),isHorizontal=props.orientation==="horizontal",debounceScrollEnd=useDebounceCallback(()=>send("SCROLL_END"),100),[state,send]=useStateMachine2("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return React212.useEffect(()=>{if(state==="idle"){let hideTimer=window.setTimeout(()=>send("HIDE"),context.scrollHideDelay);return()=>window.clearTimeout(hideTimer)}},[state,context.scrollHideDelay,send]),React212.useEffect(()=>{let viewport=context.viewport,scrollDirection=isHorizontal?"scrollLeft":"scrollTop";if(viewport){let prevScrollPos=viewport[scrollDirection],handleScroll=__name40(()=>{let scrollPos=viewport[scrollDirection];if(prevScrollPos!==scrollPos)send("SCROLL"),debounceScrollEnd();prevScrollPos=scrollPos},"handleScroll");return viewport.addEventListener("scroll",handleScroll),()=>viewport.removeEventListener("scroll",handleScroll)}},[context.viewport,isHorizontal,send,debounceScrollEnd]),import_jsx_runtime29.jsx(Presence,{present:forceMount||state!=="hidden",children:import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{"data-state":state==="hidden"?"hidden":"visible",...scrollbarProps,ref:forwardedRef,onPointerEnter:composeEventHandlers(props.onPointerEnter,()=>send("POINTER_ENTER")),onPointerLeave:composeEventHandlers(props.onPointerLeave,()=>send("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),ScrollAreaScrollbarAuto=React212.forwardRef(__name40(function(props,forwardedRef){let context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),{forceMount,...scrollbarProps}=props,[visible,setVisible]=React212.useState(!1),isHorizontal=props.orientation==="horizontal",handleResize=useDebounceCallback(()=>{if(context.viewport){let isOverflowX=context.viewport.offsetWidth<context.viewport.scrollWidth,isOverflowY=context.viewport.offsetHeight<context.viewport.scrollHeight;setVisible(isHorizontal?isOverflowX:isOverflowY)}},10);return useResizeObserver2(context.viewport,handleResize),useResizeObserver2(context.content,handleResize),import_jsx_runtime29.jsx(Presence,{present:forceMount||visible,children:import_jsx_runtime29.jsx(ScrollAreaScrollbarVisible,{"data-state":visible?"visible":"hidden",...scrollbarProps,ref:forwardedRef})})},"ScrollAreaScrollbarAuto")),ScrollAreaScrollbarVisible=React212.forwardRef(__name40(function(props,forwardedRef){let{orientation="vertical",...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),thumbRef=React212.useRef(null),pointerOffsetRef=React212.useRef(0),[sizes,setSizes]=React212.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),thumbRatio=getThumbRatio(sizes.viewport,sizes.content),commonProps={...scrollbarProps,sizes,onSizesChange:setSizes,hasThumb:Boolean(thumbRatio>0&&thumbRatio<1),onThumbChange:__name40((thumb)=>thumbRef.current=thumb,"onThumbChange"),onThumbPointerUp:__name40(()=>pointerOffsetRef.current=0,"onThumbPointerUp"),onThumbPointerDown:__name40((pointerPos)=>pointerOffsetRef.current=pointerPos,"onThumbPointerDown")};function getScrollPosition(pointerPos,dir){return getScrollPositionFromPointer(pointerPos,pointerOffsetRef.current,sizes,dir)}if(__name40(getScrollPosition,"getScrollPosition"),orientation==="horizontal")return import_jsx_runtime29.jsx(ScrollAreaScrollbarX,{...commonProps,ref:forwardedRef,onThumbPositionChange:()=>{if(context.viewport&&thumbRef.current){let scrollPos=context.viewport.scrollLeft,offset=getThumbOffsetFromScroll(scrollPos,sizes,context.dir);thumbRef.current.style.transform=`translate3d(${offset}px, 0, 0)`}},onWheelScroll:(scrollPos)=>{if(context.viewport)context.viewport.scrollLeft=scrollPos},onDragScroll:(pointerPos)=>{if(context.viewport)context.viewport.scrollLeft=getScrollPosition(pointerPos,context.dir)}});if(orientation==="vertical")return import_jsx_runtime29.jsx(ScrollAreaScrollbarY,{...commonProps,ref:forwardedRef,onThumbPositionChange:()=>{if(context.viewport&&thumbRef.current){let scrollPos=context.viewport.scrollTop,offset=getThumbOffsetFromScroll(scrollPos,sizes);thumbRef.current.style.transform=`translate3d(0, ${offset}px, 0)`}},onWheelScroll:(scrollPos)=>{if(context.viewport)context.viewport.scrollTop=scrollPos},onDragScroll:(pointerPos)=>{if(context.viewport)context.viewport.scrollTop=getScrollPosition(pointerPos)}});return null},"ScrollAreaScrollbarVisible")),ScrollAreaScrollbarX=React212.forwardRef(__name40(function(props,forwardedRef){let{sizes,onSizesChange,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[computedStyle,setComputedStyle]=React212.useState(),ref=React212.useRef(null),composeRefs=useComposedRefs(forwardedRef,ref,context.onScrollbarXChange);return React212.useEffect(()=>{if(ref.current)setComputedStyle(getComputedStyle(ref.current))},[ref]),import_jsx_runtime29.jsx(ScrollAreaScrollbarImpl,{"data-orientation":"horizontal",...scrollbarProps,ref:composeRefs,sizes,style:{bottom:0,left:context.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:context.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":getThumbSize(sizes)+"px",...props.style},onThumbPointerDown:(pointerPos)=>props.onThumbPointerDown(pointerPos.x),onDragScroll:(pointerPos)=>props.onDragScroll(pointerPos.x),onWheelScroll:(event,maxScrollPos)=>{if(context.viewport){let scrollPos=context.viewport.scrollLeft+event.deltaX;if(props.onWheelScroll(scrollPos),isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos))event.preventDefault()}},onResize:()=>{if(ref.current&&context.viewport&&computedStyle)onSizesChange({content:context.viewport.scrollWidth,viewport:context.viewport.offsetWidth,scrollbar:{size:ref.current.clientWidth,paddingStart:toInt(computedStyle.paddingLeft),paddingEnd:toInt(computedStyle.paddingRight)}})}})},"ScrollAreaScrollbarX")),ScrollAreaScrollbarY=React212.forwardRef(__name40(function(props,forwardedRef){let{sizes,onSizesChange,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,props.__scopeScrollArea),[computedStyle,setComputedStyle]=React212.useState(),ref=React212.useRef(null),composeRefs=useComposedRefs(forwardedRef,ref,context.onScrollbarYChange);return React212.useEffect(()=>{if(ref.current)setComputedStyle(getComputedStyle(ref.current))},[ref]),import_jsx_runtime29.jsx(ScrollAreaScrollbarImpl,{"data-orientation":"vertical",...scrollbarProps,ref:composeRefs,sizes,style:{top:0,right:context.dir==="ltr"?0:void 0,left:context.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":getThumbSize(sizes)+"px",...props.style},onThumbPointerDown:(pointerPos)=>props.onThumbPointerDown(pointerPos.y),onDragScroll:(pointerPos)=>props.onDragScroll(pointerPos.y),onWheelScroll:(event,maxScrollPos)=>{if(context.viewport){let scrollPos=context.viewport.scrollTop+event.deltaY;if(props.onWheelScroll(scrollPos),isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos))event.preventDefault()}},onResize:()=>{if(ref.current&&context.viewport&&computedStyle)onSizesChange({content:context.viewport.scrollHeight,viewport:context.viewport.offsetHeight,scrollbar:{size:ref.current.clientHeight,paddingStart:toInt(computedStyle.paddingTop),paddingEnd:toInt(computedStyle.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[ScrollbarProvider,useScrollbarContext]=createScrollAreaContext(SCROLLBAR_NAME),ScrollAreaScrollbarImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,sizes,hasThumb,onThumbChange,onThumbPointerUp,onThumbPointerDown,onThumbPositionChange,onDragScroll,onWheelScroll,onResize,...scrollbarProps}=props,context=useScrollAreaContext(SCROLLBAR_NAME,__scopeScrollArea),[scrollbar,setScrollbar]=React212.useState(null),composeRefs=useComposedRefs(forwardedRef,setScrollbar),rectRef=React212.useRef(null),prevWebkitUserSelectRef=React212.useRef(""),viewport=context.viewport,maxScrollPos=sizes.content-sizes.viewport,handleWheelScroll=useCallbackRef(onWheelScroll),handleThumbPositionChange=useCallbackRef(onThumbPositionChange),handleResize=useDebounceCallback(onResize,10);function handleDragScroll(event){if(rectRef.current){let x=event.clientX-rectRef.current.left,y=event.clientY-rectRef.current.top;onDragScroll({x,y})}}return __name40(handleDragScroll,"handleDragScroll"),React212.useEffect(()=>{let handleWheel=__name40((event)=>{let element=event.target;if(scrollbar?.contains(element))handleWheelScroll(event,maxScrollPos)},"handleWheel");return document.addEventListener("wheel",handleWheel,{passive:!1}),()=>document.removeEventListener("wheel",handleWheel,{passive:!1})},[viewport,scrollbar,maxScrollPos,handleWheelScroll]),React212.useEffect(handleThumbPositionChange,[sizes,handleThumbPositionChange]),useResizeObserver2(scrollbar,handleResize),useResizeObserver2(context.content,handleResize),import_jsx_runtime29.jsx(ScrollbarProvider,{scope:__scopeScrollArea,scrollbar,hasThumb,onThumbChange:useCallbackRef(onThumbChange),onThumbPointerUp:useCallbackRef(onThumbPointerUp),onThumbPositionChange:handleThumbPositionChange,onThumbPointerDown:useCallbackRef(onThumbPointerDown),children:import_jsx_runtime29.jsx(Primitive.div,{...scrollbarProps,ref:composeRefs,style:{position:"absolute",...scrollbarProps.style},onPointerDown:composeEventHandlers(props.onPointerDown,(event)=>{if(event.button===0){if(event.target.setPointerCapture(event.pointerId),rectRef.current=scrollbar.getBoundingClientRect(),prevWebkitUserSelectRef.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",context.viewport)context.viewport.style.scrollBehavior="auto";handleDragScroll(event)}}),onPointerMove:composeEventHandlers(props.onPointerMove,handleDragScroll),onPointerUp:composeEventHandlers(props.onPointerUp,(event)=>{let element=event.target;if(element.hasPointerCapture(event.pointerId))element.releasePointerCapture(event.pointerId);if(document.body.style.webkitUserSelect=prevWebkitUserSelectRef.current,context.viewport)context.viewport.style.scrollBehavior="";rectRef.current=null})})})},"ScrollAreaScrollbarImpl")),THUMB_NAME="ScrollAreaThumb",ScrollAreaThumb=React212.forwardRef(__name40(function(props,forwardedRef){let{forceMount,...thumbProps}=props,scrollbarContext=useScrollbarContext(THUMB_NAME,props.__scopeScrollArea);return import_jsx_runtime29.jsx(Presence,{present:forceMount||scrollbarContext.hasThumb,children:import_jsx_runtime29.jsx(ScrollAreaThumbImpl,{ref:forwardedRef,...thumbProps})})},"ScrollAreaThumb")),ScrollAreaThumbImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,style,...thumbProps}=props,scrollAreaContext=useScrollAreaContext(THUMB_NAME,__scopeScrollArea),scrollbarContext=useScrollbarContext(THUMB_NAME,__scopeScrollArea),{onThumbPositionChange}=scrollbarContext,composedRef=useComposedRefs(forwardedRef,scrollbarContext.onThumbChange),removeUnlinkedScrollListenerRef=React212.useRef(void 0),debounceScrollEnd=useDebounceCallback(()=>{if(removeUnlinkedScrollListenerRef.current)removeUnlinkedScrollListenerRef.current(),removeUnlinkedScrollListenerRef.current=void 0},100);return React212.useEffect(()=>{let viewport=scrollAreaContext.viewport;if(viewport){let handleScroll=__name40(()=>{if(debounceScrollEnd(),!removeUnlinkedScrollListenerRef.current){let listener=addUnlinkedScrollListener(viewport,onThumbPositionChange);removeUnlinkedScrollListenerRef.current=listener,onThumbPositionChange()}},"handleScroll");return onThumbPositionChange(),viewport.addEventListener("scroll",handleScroll),()=>viewport.removeEventListener("scroll",handleScroll)}},[scrollAreaContext.viewport,debounceScrollEnd,onThumbPositionChange]),import_jsx_runtime29.jsx(Primitive.div,{"data-state":scrollbarContext.hasThumb?"visible":"hidden",...thumbProps,ref:composedRef,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...style},onPointerDownCapture:composeEventHandlers(props.onPointerDownCapture,(event)=>{let thumbRect=event.target.getBoundingClientRect(),x=event.clientX-thumbRect.left,y=event.clientY-thumbRect.top;scrollbarContext.onThumbPointerDown({x,y})}),onPointerUp:composeEventHandlers(props.onPointerUp,scrollbarContext.onThumbPointerUp)})},"ScrollAreaThumbImpl")),CORNER_NAME="ScrollAreaCorner",ScrollAreaCorner=React212.forwardRef(__name40(function(props,forwardedRef){let context=useScrollAreaContext(CORNER_NAME,props.__scopeScrollArea),hasBothScrollbarsVisible=Boolean(context.scrollbarX&&context.scrollbarY);return context.type!=="scroll"&&hasBothScrollbarsVisible?import_jsx_runtime29.jsx(ScrollAreaCornerImpl,{...props,ref:forwardedRef}):null},"ScrollAreaCorner")),ScrollAreaCornerImpl=React212.forwardRef(__name40(function(props,forwardedRef){let{__scopeScrollArea,...cornerProps}=props,context=useScrollAreaContext(CORNER_NAME,__scopeScrollArea),[width,setWidth]=React212.useState(0),[height,setHeight]=React212.useState(0),hasSize=Boolean(width&&height),{onCornerWidthChange,onCornerHeightChange}=context;return useResizeObserver2(context.scrollbarX,()=>{let height2=context.scrollbarX?.offsetHeight||0;context.onCornerHeightChange(height2),setHeight(height2)}),useResizeObserver2(context.scrollbarY,()=>{let width2=context.scrollbarY?.offsetWidth||0;context.onCornerWidthChange(width2),setWidth(width2)}),React212.useEffect(()=>()=>{onCornerWidthChange(0),onCornerHeightChange(0)},[onCornerWidthChange,onCornerHeightChange]),hasSize?import_jsx_runtime29.jsx(Primitive.div,{...cornerProps,ref:forwardedRef,style:{width,height,position:"absolute",right:context.dir==="ltr"?0:void 0,left:context.dir==="rtl"?0:void 0,bottom:0,...props.style}}):null},"ScrollAreaCornerImpl"));function toInt(value){return value?parseInt(value,10):0}__name40(toInt,"toInt");function getThumbRatio(viewportSize,contentSize){let ratio=viewportSize/contentSize;return isNaN(ratio)?0:ratio}__name40(getThumbRatio,"getThumbRatio");function getThumbSize(sizes){let ratio=getThumbRatio(sizes.viewport,sizes.content),scrollbarPadding=sizes.scrollbar.paddingStart+sizes.scrollbar.paddingEnd,thumbSize=(sizes.scrollbar.size-scrollbarPadding)*ratio;return Math.max(thumbSize,18)}__name40(getThumbSize,"getThumbSize");function getScrollPositionFromPointer(pointerPos,pointerOffset,sizes,dir="ltr"){let thumbSizePx=getThumbSize(sizes),thumbCenter=thumbSizePx/2,offset=pointerOffset||thumbCenter,thumbOffsetFromEnd=thumbSizePx-offset,minPointerPos=sizes.scrollbar.paddingStart+offset,maxPointerPos=sizes.scrollbar.size-sizes.scrollbar.paddingEnd-thumbOffsetFromEnd,maxScrollPos=sizes.content-sizes.viewport,scrollRange=dir==="ltr"?[0,maxScrollPos]:[maxScrollPos*-1,0];return linearScale([minPointerPos,maxPointerPos],scrollRange)(pointerPos)}__name40(getScrollPositionFromPointer,"getScrollPositionFromPointer");function getThumbOffsetFromScroll(scrollPos,sizes,dir="ltr"){let thumbSizePx=getThumbSize(sizes),scrollbarPadding=sizes.scrollbar.paddingStart+sizes.scrollbar.paddingEnd,scrollbar=sizes.scrollbar.size-scrollbarPadding,maxScrollPos=sizes.content-sizes.viewport,maxThumbPos=scrollbar-thumbSizePx,scrollClampRange=dir==="ltr"?[0,maxScrollPos]:[maxScrollPos*-1,0],scrollWithoutMomentum=clamp(scrollPos,scrollClampRange);return linearScale([0,maxScrollPos],[0,maxThumbPos])(scrollWithoutMomentum)}__name40(getThumbOffsetFromScroll,"getThumbOffsetFromScroll");function linearScale(input,output){return(value)=>{if(input[0]===input[1]||output[0]===output[1])return output[0];let ratio=(output[1]-output[0])/(input[1]-input[0]);return output[0]+ratio*(value-input[0])}}__name40(linearScale,"linearScale");function isScrollingWithinScrollbarBounds(scrollPos,maxScrollPos){return scrollPos>0&&scrollPos<maxScrollPos}__name40(isScrollingWithinScrollbarBounds,"isScrollingWithinScrollbarBounds");var addUnlinkedScrollListener=__name40((node,handler=()=>{})=>{let prevPosition={left:node.scrollLeft,top:node.scrollTop},rAF=0;return __name40(function loop(){let position={left:node.scrollLeft,top:node.scrollTop},isHorizontalScroll=prevPosition.left!==position.left,isVerticalScroll=prevPosition.top!==position.top;if(isHorizontalScroll||isVerticalScroll)handler();prevPosition=position,rAF=window.requestAnimationFrame(loop)},"loop")(),()=>window.cancelAnimationFrame(rAF)},"addUnlinkedScrollListener");function useDebounceCallback(callback,delay){let handleCallback=useCallbackRef(callback),debounceTimerRef=React212.useRef(0);return React212.useEffect(()=>()=>window.clearTimeout(debounceTimerRef.current),[]),React212.useCallback(()=>{window.clearTimeout(debounceTimerRef.current),debounceTimerRef.current=window.setTimeout(handleCallback,delay)},[handleCallback,delay])}__name40(useDebounceCallback,"useDebounceCallback");function useResizeObserver2(element,onResize){let handleResize=useCallbackRef(onResize);useLayoutEffect2(()=>{let rAF=0;if(element){let resizeObserver=new ResizeObserver(()=>{cancelAnimationFrame(rAF),rAF=window.requestAnimationFrame(handleResize)});return resizeObserver.observe(element),()=>{window.cancelAnimationFrame(rAF),resizeObserver.unobserve(element)}}},[element,handleResize])}__name40(useResizeObserver2,"useResizeObserver");var Root8=ScrollArea,Viewport2=ScrollAreaViewport;var Corner=ScrollAreaCorner;var React50=__toESM(require_react_development(),1),ReactDOM3=__toESM(require_react_dom(),1);var import_jsx_runtime30=__toESM(require_react_jsx_runtime_development(),1),__defProp41=Object.defineProperty,__name41=(target,value)=>__defProp41(target,"name",{value,configurable:!0});var SELECT_NAME="Select",[Collection6,useCollection6,createCollectionScope6]=createCollection(SELECT_NAME),[createSelectContext,createSelectScope]=createContextScope(SELECT_NAME,[createCollectionScope6,createPopperScope]),usePopperScope4=createPopperScope(),[SelectProviderImpl,useSelectContext]=createSelectContext(SELECT_NAME),[SelectNativeOptionsProvider,useSelectNativeOptionsContext]=createSelectContext(SELECT_NAME);function SelectProvider(props){let{__scopeSelect,children,open:openProp,defaultOpen,onOpenChange,value:valueProp,defaultValue,onValueChange,dir,name,autoComplete,disabled,required,form,internal_do_not_use_render}=props,popperScope=usePopperScope4(__scopeSelect),[trigger,setTrigger]=React50.useState(null),[valueNode,setValueNode]=React50.useState(null),[valueNodeHasChildren,setValueNodeHasChildren]=React50.useState(!1),direction=useDirection(dir),[open,setOpen]=useControllableState({prop:openProp,defaultProp:defaultOpen??!1,onChange:onOpenChange,caller:SELECT_NAME}),[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue,onChange:onValueChange,caller:SELECT_NAME}),triggerPointerDownPosRef=React50.useRef(null),initialValueRef=React50.useRef(value);React50.useEffect(()=>{let associatedForm=form?trigger?.ownerDocument.getElementById(form):trigger?.form;if(associatedForm instanceof HTMLFormElement){let reset=__name41(()=>setValue(initialValueRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[form,trigger,setValue]);let isFormControl=trigger?!!form||!!trigger.closest("form"):!0,[nativeOptionsSet,setNativeOptionsSet]=React50.useState(new Set),contentId=useId(),nativeSelectKey=Array.from(nativeOptionsSet).map((option)=>option.props.value).join(";"),handleNativeOptionAdd=React50.useCallback((option)=>{setNativeOptionsSet((prev)=>new Set(prev).add(option))},[]),handleNativeOptionRemove=React50.useCallback((option)=>{setNativeOptionsSet((prev)=>{let optionsSet=new Set(prev);return optionsSet.delete(option),optionsSet})},[]),context={required,trigger,onTriggerChange:setTrigger,valueNode,onValueNodeChange:setValueNode,valueNodeHasChildren,onValueNodeHasChildrenChange:setValueNodeHasChildren,contentId,value,onValueChange:setValue,open,onOpenChange:setOpen,dir:direction,triggerPointerDownPosRef,disabled,name,autoComplete,form,nativeOptions:nativeOptionsSet,nativeSelectKey,isFormControl};return import_jsx_runtime30.jsx(Root23,{...popperScope,children:import_jsx_runtime30.jsx(SelectProviderImpl,{scope:__scopeSelect,...context,children:import_jsx_runtime30.jsx(Collection6.Provider,{scope:__scopeSelect,children:import_jsx_runtime30.jsx(SelectNativeOptionsProvider,{scope:__scopeSelect,onNativeOptionAdd:handleNativeOptionAdd,onNativeOptionRemove:handleNativeOptionRemove,children:isFunction4(internal_do_not_use_render)?internal_do_not_use_render(context):children})})})})}__name41(SelectProvider,"SelectProvider");var Select=__name41((props)=>{let{__scopeSelect,children,...providerProps}=props;return import_jsx_runtime30.jsx(SelectProvider,{__scopeSelect,...providerProps,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime30.jsxs(import_jsx_runtime30.Fragment,{children:[children,isFormControl?import_jsx_runtime30.jsx(SelectBubbleInput,{__scopeSelect}):null]})})},"Select");var PORTAL_NAME5="SelectPortal",[PortalProvider5,usePortalContext5]=createSelectContext(PORTAL_NAME5,{forceMount:void 0});var CONTENT_NAME8="SelectContent";var[SelectContentProvider,useSelectContentContext]=createSelectContext(CONTENT_NAME8),Slot5=createSlot("SelectContent.RemoveScroll");var[SelectViewportProvider,useSelectViewportContext]=createSelectContext(CONTENT_NAME8,{});var GROUP_NAME2="SelectGroup",[SelectGroupContextProvider,useSelectGroupContext]=createSelectContext(GROUP_NAME2);var ITEM_NAME4="SelectItem",[SelectItemContextProvider,useSelectItemContext]=createSelectContext(ITEM_NAME4);var BUBBLE_INPUT_NAME3="SelectBubbleInput",SelectBubbleInput=React50.forwardRef(__name41(function({__scopeSelect,...props},forwardedRef){let context=useSelectContext(BUBBLE_INPUT_NAME3,__scopeSelect),{value,onValueChange,required,disabled,name,autoComplete,form}=context,{nativeOptions,nativeSelectKey}=context,ref=React50.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),selectValue=value??"",prevValue=usePrevious(selectValue),hasEmptyValueOption=Array.from(nativeOptions).some((option)=>(option.props.value??"")==="");return React50.useEffect(()=>{let select=ref.current;if(!select)return;let selectProto=window.HTMLSelectElement.prototype,setValue=Object.getOwnPropertyDescriptor(selectProto,"value").set;if(prevValue!==selectValue&&setValue){let event=new Event("change",{bubbles:!0});setValue.call(select,selectValue),select.dispatchEvent(event)}},[prevValue,selectValue]),import_jsx_runtime30.jsxs(Primitive.select,{"aria-hidden":!0,required,tabIndex:-1,name,autoComplete,disabled,form,onChange:(event)=>onValueChange(event.target.value),...props,style:{...VISUALLY_HIDDEN_STYLES,...props.style},ref:composedRefs,defaultValue:selectValue,children:[shouldShowPlaceholder(value)&&!hasEmptyValueOption?import_jsx_runtime30.jsx("option",{value:""}):null,Array.from(nativeOptions)]},nativeSelectKey)},"SelectBubbleInput"));function isFunction4(value){return typeof value==="function"}__name41(isFunction4,"isFunction");function shouldShowPlaceholder(value){return value===""||value===void 0}__name41(shouldShowPlaceholder,"shouldShowPlaceholder");function useTypeaheadSearch(onSearchChange){let handleSearchChange=useCallbackRef(onSearchChange),searchRef=React50.useRef(""),timerRef=React50.useRef(0),handleTypeaheadSearch=React50.useCallback((key)=>{let search=searchRef.current+key;handleSearchChange(search),__name41(function updateSearch(value){if(searchRef.current=value,window.clearTimeout(timerRef.current),value!=="")timerRef.current=window.setTimeout(()=>updateSearch(""),1000)},"updateSearch")(search)},[handleSearchChange]),resetTypeahead=React50.useCallback(()=>{searchRef.current="",window.clearTimeout(timerRef.current)},[]);return React50.useEffect(()=>()=>window.clearTimeout(timerRef.current),[]),[searchRef,handleTypeaheadSearch,resetTypeahead]}__name41(useTypeaheadSearch,"useTypeaheadSearch");function findNextItem(items,search,currentItem){let normalizedSearch=search.length>1&&Array.from(search).every((char)=>char===search[0])?search[0]:search,currentItemIndex=currentItem?items.indexOf(currentItem):-1,wrappedItems=wrapArray4(items,Math.max(currentItemIndex,0));if(normalizedSearch.length===1)wrappedItems=wrappedItems.filter((v)=>v!==currentItem);let nextItem=wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));return nextItem!==currentItem?nextItem:void 0}__name41(findNextItem,"findNextItem");function wrapArray4(array,startIndex){return array.map((_,index)=>array[(startIndex+index)%array.length])}__name41(wrapArray4,"wrapArray");var React51=__toESM(require_react_development(),1);var import_jsx_runtime31=__toESM(require_react_jsx_runtime_development(),1),__defProp42=Object.defineProperty,__name42=(target,value)=>__defProp42(target,"name",{value,configurable:!0}),DEFAULT_ORIENTATION="horizontal",ORIENTATIONS=["horizontal","vertical"],Separator2=React51.forwardRef(__name42(function(props,forwardedRef){let{decorative,orientation:orientationProp=DEFAULT_ORIENTATION,...domProps}=props,orientation=isValidOrientation(orientationProp)?orientationProp:DEFAULT_ORIENTATION,semanticProps=decorative?{role:"none"}:{"aria-orientation":orientation==="vertical"?orientation:void 0,role:"separator"};return import_jsx_runtime31.jsx(Primitive.div,{"data-orientation":orientation,...semanticProps,...domProps,ref:forwardedRef})},"Separator"));function isValidOrientation(orientation){return ORIENTATIONS.includes(orientation)}__name42(isValidOrientation,"isValidOrientation");var Root9=Separator2;var React52=__toESM(require_react_development(),1);var import_jsx_runtime32=__toESM(require_react_jsx_runtime_development(),1),__defProp43=Object.defineProperty,__name43=(target,value)=>__defProp43(target,"name",{value,configurable:!0}),PAGE_KEYS=["PageUp","PageDown"],ARROW_KEYS3=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],BACK_KEYS={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},SLIDER_NAME="Slider",[Collection7,useCollection7,createCollectionScope7]=createCollection(SLIDER_NAME),[createSliderContext,createSliderScope]=createContextScope(SLIDER_NAME,[createCollectionScope7]),[SliderProvider,useSliderContext]=createSliderContext(SLIDER_NAME),Slider=React52.forwardRef(__name43(function(props,forwardedRef){let{name,min=0,max=100,step=1,orientation="horizontal",disabled=!1,minStepsBetweenThumbs=0,defaultValue=[min],value,onValueChange=__name43(()=>{},"onValueChange"),onValueCommit=__name43(()=>{},"onValueCommit"),inverted=!1,form,...sliderProps}=props,thumbRefs=React52.useRef(new Set),valueIndexToChangeRef=React52.useRef(0),isKeyboardInteractionRef=React52.useRef(!1),SliderOrientation=orientation==="horizontal"?SliderHorizontal:SliderVertical,[control,setControl]=React52.useState(null),composedRefs=useComposedRefs(forwardedRef,setControl),[values=[],setValues]=useControllableState({prop:value,defaultProp:defaultValue,onChange:__name43((value2)=>{[...thumbRefs.current][valueIndexToChangeRef.current]?.focus({preventScroll:!0,focusVisible:isKeyboardInteractionRef.current}),isKeyboardInteractionRef.current=!1,onValueChange(value2)},"onChange")}),valuesBeforeSlideStartRef=React52.useRef(values),initialValuesRef=React52.useRef(values);React52.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.closest("form");if(associatedForm instanceof HTMLFormElement){let reset=__name43(()=>setValues(initialValuesRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setValues]);function handleSlideStart(value2){let closestIndex=getClosestValueIndex(values,value2);updateValues(value2,closestIndex)}__name43(handleSlideStart,"handleSlideStart");function handleSlideMove(value2){updateValues(value2,valueIndexToChangeRef.current)}__name43(handleSlideMove,"handleSlideMove");function handleSlideEnd(){if(String(values)!==String(valuesBeforeSlideStartRef.current))onValueCommit(values)}__name43(handleSlideEnd,"handleSlideEnd");function updateValues(value2,atIndex,{commit}={commit:!1}){let decimalCount=getDecimalCount(step),snapToStep=roundValue(Math.round((value2-min)/step)*step+min,decimalCount),nextValue=clamp(snapToStep,[min,max]);setValues((prevValues=[])=>{let nextValues=getNextSortedValues(prevValues,nextValue,atIndex);if(hasMinStepsBetweenValues(nextValues,minStepsBetweenThumbs*step)){valueIndexToChangeRef.current=nextValues.indexOf(nextValue);let hasChanged=String(nextValues)!==String(prevValues);if(hasChanged&&commit)onValueCommit(nextValues);return hasChanged?nextValues:prevValues}else return prevValues})}return __name43(updateValues,"updateValues"),import_jsx_runtime32.jsx(SliderProvider,{scope:props.__scopeSlider,name,disabled,min,max,valueIndexToChangeRef,thumbs:thumbRefs.current,values,orientation,form,children:import_jsx_runtime32.jsx(Collection7.Provider,{scope:props.__scopeSlider,children:import_jsx_runtime32.jsx(Collection7.Slot,{scope:props.__scopeSlider,children:import_jsx_runtime32.jsx(SliderOrientation,{"aria-disabled":disabled,"data-disabled":disabled?"":void 0,...sliderProps,ref:composedRefs,onPointerDown:composeEventHandlers(sliderProps.onPointerDown,()=>{if(!disabled)valuesBeforeSlideStartRef.current=values,isKeyboardInteractionRef.current=!1}),min,max,inverted,onSlideStart:disabled?void 0:handleSlideStart,onSlideMove:disabled?void 0:handleSlideMove,onSlideEnd:disabled?void 0:handleSlideEnd,onHomeKeyDown:()=>{if(!disabled)isKeyboardInteractionRef.current=!0,updateValues(min,0,{commit:!0})},onEndKeyDown:()=>{if(!disabled)isKeyboardInteractionRef.current=!0,updateValues(max,values.length-1,{commit:!0})},onStepKeyDown:({event,direction:stepDirection})=>{if(!disabled){isKeyboardInteractionRef.current=!0;let multiplier=PAGE_KEYS.includes(event.key)||event.shiftKey&&ARROW_KEYS3.includes(event.key)?10:1,atIndex=valueIndexToChangeRef.current,value2=values[atIndex],nextValue=getNextStepValue(value2,{min,step,direction:stepDirection,multiplier});updateValues(nextValue,atIndex,{commit:!0})}}})})})})},"Slider")),[SliderOrientationProvider,useSliderOrientationContext]=createSliderContext(SLIDER_NAME,{startEdge:"left",endEdge:"right",size:"width",direction:1}),SliderHorizontal=React52.forwardRef(__name43(function(props,forwardedRef){let{min,max,dir,inverted,onSlideStart,onSlideMove,onSlideEnd,onStepKeyDown,...sliderProps}=props,[slider,setSlider]=React52.useState(null),composedRefs=useComposedRefs(forwardedRef,setSlider),rectRef=React52.useRef(void 0),direction=useDirection(dir),isDirectionLTR=direction==="ltr",isSlidingFromLeft=isDirectionLTR&&!inverted||!isDirectionLTR&&inverted;function getValueFromPointer(pointerPosition){let rect=rectRef.current||slider.getBoundingClientRect(),input=[0,rect.width],value=linearScale2(input,isSlidingFromLeft?[min,max]:[max,min]);return rectRef.current=rect,value(pointerPosition-rect.left)}return __name43(getValueFromPointer,"getValueFromPointer"),import_jsx_runtime32.jsx(SliderOrientationProvider,{scope:props.__scopeSlider,startEdge:isSlidingFromLeft?"left":"right",endEdge:isSlidingFromLeft?"right":"left",direction:isSlidingFromLeft?1:-1,size:"width",children:import_jsx_runtime32.jsx(SliderImpl,{dir:direction,"data-orientation":"horizontal",...sliderProps,ref:composedRefs,style:{...sliderProps.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:(event)=>{let value=getValueFromPointer(event.clientX);onSlideStart?.(value)},onSlideMove:(event)=>{let value=getValueFromPointer(event.clientX);onSlideMove?.(value)},onSlideEnd:()=>{rectRef.current=void 0,onSlideEnd?.()},onStepKeyDown:(event)=>{let isBackKey=BACK_KEYS[isSlidingFromLeft?"from-left":"from-right"].includes(event.key);onStepKeyDown?.({event,direction:isBackKey?-1:1})}})})},"SliderHorizontal")),SliderVertical=React52.forwardRef(__name43(function(props,forwardedRef){let{min,max,inverted,onSlideStart,onSlideMove,onSlideEnd,onStepKeyDown,...sliderProps}=props,sliderRef=React52.useRef(null),ref=useComposedRefs(forwardedRef,sliderRef),rectRef=React52.useRef(void 0),isSlidingFromBottom=!inverted;function getValueFromPointer(pointerPosition){let rect=rectRef.current||sliderRef.current.getBoundingClientRect(),input=[0,rect.height],value=linearScale2(input,isSlidingFromBottom?[max,min]:[min,max]);return rectRef.current=rect,value(pointerPosition-rect.top)}return __name43(getValueFromPointer,"getValueFromPointer"),import_jsx_runtime32.jsx(SliderOrientationProvider,{scope:props.__scopeSlider,startEdge:isSlidingFromBottom?"bottom":"top",endEdge:isSlidingFromBottom?"top":"bottom",size:"height",direction:isSlidingFromBottom?1:-1,children:import_jsx_runtime32.jsx(SliderImpl,{"data-orientation":"vertical",...sliderProps,ref,style:{...sliderProps.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:(event)=>{let value=getValueFromPointer(event.clientY);onSlideStart?.(value)},onSlideMove:(event)=>{let value=getValueFromPointer(event.clientY);onSlideMove?.(value)},onSlideEnd:()=>{rectRef.current=void 0,onSlideEnd?.()},onStepKeyDown:(event)=>{let isBackKey=BACK_KEYS[isSlidingFromBottom?"from-bottom":"from-top"].includes(event.key);onStepKeyDown?.({event,direction:isBackKey?-1:1})}})})},"SliderVertical")),SliderImpl=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,onSlideStart,onSlideMove,onSlideEnd,onHomeKeyDown,onEndKeyDown,onStepKeyDown,...sliderProps}=props,context=useSliderContext(SLIDER_NAME,__scopeSlider);return import_jsx_runtime32.jsx(Primitive.span,{...sliderProps,ref:forwardedRef,onKeyDown:composeEventHandlers(props.onKeyDown,(event)=>{if(event.key==="Home")onHomeKeyDown(event),event.preventDefault();else if(event.key==="End")onEndKeyDown(event),event.preventDefault();else if(PAGE_KEYS.concat(ARROW_KEYS3).includes(event.key))onStepKeyDown(event),event.preventDefault()}),onPointerDown:composeEventHandlers(props.onPointerDown,(event)=>{let target=event.target;if(target.setPointerCapture(event.pointerId),event.preventDefault(),context.thumbs.has(target))target.focus({preventScroll:!0,focusVisible:!1});else onSlideStart(event)}),onPointerMove:composeEventHandlers(props.onPointerMove,(event)=>{if(event.target.hasPointerCapture(event.pointerId))onSlideMove(event)}),onPointerUp:composeEventHandlers(props.onPointerUp,(event)=>{let target=event.target;if(target.hasPointerCapture(event.pointerId))target.releasePointerCapture(event.pointerId),onSlideEnd(event)})})},"SliderImpl")),TRACK_NAME="SliderTrack",SliderTrack=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...trackProps}=props,context=useSliderContext(TRACK_NAME,__scopeSlider);return import_jsx_runtime32.jsx(Primitive.span,{"data-disabled":context.disabled?"":void 0,"data-orientation":context.orientation,...trackProps,ref:forwardedRef})},"SliderTrack")),RANGE_NAME="SliderRange",SliderRange=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...rangeProps}=props,context=useSliderContext(RANGE_NAME,__scopeSlider),orientation=useSliderOrientationContext(RANGE_NAME,__scopeSlider),ref=React52.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref),valuesCount=context.values.length,percentages=context.values.map((value)=>convertValueToPercentage(value,context.min,context.max)),offsetStart=valuesCount>1?Math.min(...percentages):0,offsetEnd=100-Math.max(...percentages);return import_jsx_runtime32.jsx(Primitive.span,{"data-orientation":context.orientation,"data-disabled":context.disabled?"":void 0,...rangeProps,ref:composedRefs,style:{...props.style,[orientation.startEdge]:offsetStart+"%",[orientation.endEdge]:offsetEnd+"%"}})},"SliderRange")),THUMB_NAME2="SliderThumb",[SliderThumbContextProvider,useSliderThumbContext]=createSliderContext(THUMB_NAME2),THUMB_PROVIDER_NAME="SliderThumbProvider";function SliderThumbProvider(props){let{__scopeSlider,name,children,internal_do_not_use_render}=props,context=useSliderContext(THUMB_PROVIDER_NAME,__scopeSlider),getItems=useCollection7(__scopeSlider),[thumb,setThumb]=React52.useState(null),index=React52.useMemo(()=>thumb?getItems().findIndex((item)=>item.ref.current===thumb):-1,[getItems,thumb]),size=useSize(thumb),isFormControl=thumb?!!context.form||!!thumb.closest("form"):!0,value=context.values[index],resolvedName=name??(context.name?context.name+(context.values.length>1?"[]":""):void 0),percent=value===void 0?0:convertValueToPercentage(value,context.min,context.max);React52.useEffect(()=>{if(thumb)return context.thumbs.add(thumb),()=>{context.thumbs.delete(thumb)}},[thumb,context.thumbs]);let thumbContext={value,name:resolvedName,form:context.form,isFormControl,index,thumb,onThumbChange:setThumb,percent,size};return import_jsx_runtime32.jsx(SliderThumbContextProvider,{scope:__scopeSlider,...thumbContext,children:isFunction5(internal_do_not_use_render)?internal_do_not_use_render(thumbContext):children})}__name43(SliderThumbProvider,"SliderThumbProvider");var THUMB_TRIGGER_NAME="SliderThumbTrigger",SliderThumbTrigger=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,...thumbProps}=props,context=useSliderContext(THUMB_TRIGGER_NAME,__scopeSlider),orientation=useSliderOrientationContext(THUMB_TRIGGER_NAME,__scopeSlider),{index,value,percent,size,onThumbChange}=useSliderThumbContext(THUMB_TRIGGER_NAME,__scopeSlider),composedRefs=useComposedRefs(forwardedRef,onThumbChange),label=getLabel(index,context.values.length),orientationSize=size?.[orientation.size],thumbInBoundsOffset=orientationSize?getThumbInBoundsOffset(orientationSize,percent,orientation.direction):0;return import_jsx_runtime32.jsx("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[orientation.startEdge]:`calc(${percent}% + ${thumbInBoundsOffset}px)`},children:import_jsx_runtime32.jsx(Collection7.ItemSlot,{scope:__scopeSlider,children:import_jsx_runtime32.jsx(Primitive.span,{role:"slider","aria-label":props["aria-label"]||label,"aria-valuemin":context.min,"aria-valuenow":value,"aria-valuemax":context.max,"aria-orientation":context.orientation,"data-orientation":context.orientation,"data-disabled":context.disabled?"":void 0,tabIndex:context.disabled?void 0:0,...thumbProps,ref:composedRefs,style:value===void 0?{display:"none"}:props.style,onFocus:composeEventHandlers(props.onFocus,()=>{context.valueIndexToChangeRef.current=index})})})})},"SliderThumbTrigger")),SliderThumb=React52.forwardRef(__name43(function(props,forwardedRef){let{__scopeSlider,name,...thumbProps}=props;return import_jsx_runtime32.jsx(SliderThumbProvider,{__scopeSlider,name,internal_do_not_use_render:({index,isFormControl})=>import_jsx_runtime32.jsxs(import_jsx_runtime32.Fragment,{children:[import_jsx_runtime32.jsx(SliderThumbTrigger,{...thumbProps,ref:forwardedRef,__scopeSlider}),isFormControl?import_jsx_runtime32.jsx(SliderBubbleInput,{__scopeSlider},index):null]})})},"SliderThumb")),BUBBLE_INPUT_NAME4="SliderBubbleInput",SliderBubbleInput=React52.forwardRef(__name43(function({__scopeSlider,...props},forwardedRef){let{value,name,form}=useSliderThumbContext(BUBBLE_INPUT_NAME4,__scopeSlider),ref=React52.useRef(null),composedRefs=useComposedRefs(ref,forwardedRef),prevValue=usePrevious(value);return React52.useEffect(()=>{let input=ref.current;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setValue=Object.getOwnPropertyDescriptor(inputProto,"value").set;if(prevValue!==value&&setValue){let event=new Event("input",{bubbles:!0});setValue.call(input,value),input.dispatchEvent(event)}},[prevValue,value]),import_jsx_runtime32.jsx(Primitive.input,{style:{display:"none"},name,form,...props,ref:composedRefs,defaultValue:value})},"SliderBubbleInput"));function getNextSortedValues(prevValues=[],nextValue,atIndex){let nextValues=[...prevValues];return nextValues[atIndex]=nextValue,nextValues.sort((a,b)=>a-b)}__name43(getNextSortedValues,"getNextSortedValues");function convertValueToPercentage(value,min,max){let percentage=100/(max-min)*(value-min);return clamp(percentage,[0,100])}__name43(convertValueToPercentage,"convertValueToPercentage");function getLabel(index,totalValues){if(totalValues>2)return`Value ${index+1} of ${totalValues}`;else if(totalValues===2)return["Minimum","Maximum"][index];else return}__name43(getLabel,"getLabel");function getClosestValueIndex(values,nextValue){if(values.length===1)return 0;let distances=values.map((value)=>Math.abs(value-nextValue)),closestDistance=Math.min(...distances);return distances.indexOf(closestDistance)}__name43(getClosestValueIndex,"getClosestValueIndex");function getThumbInBoundsOffset(width,left,direction){let halfWidth=width/2,halfPercent=50,offset=linearScale2([0,50],[0,halfWidth]);return(halfWidth-offset(left)*direction)*direction}__name43(getThumbInBoundsOffset,"getThumbInBoundsOffset");function getStepsBetweenValues(values){return values.slice(0,-1).map((value,index)=>values[index+1]-value)}__name43(getStepsBetweenValues,"getStepsBetweenValues");function hasMinStepsBetweenValues(values,minStepsBetweenValues){if(minStepsBetweenValues>0){let stepsBetweenValues=getStepsBetweenValues(values);return Math.min(...stepsBetweenValues)>=minStepsBetweenValues}return!0}__name43(hasMinStepsBetweenValues,"hasMinStepsBetweenValues");function linearScale2(input,output){return(value)=>{if(input[0]===input[1]||output[0]===output[1])return output[0];let ratio=(output[1]-output[0])/(input[1]-input[0]);return output[0]+ratio*(value-input[0])}}__name43(linearScale2,"linearScale");function getDecimalCount(value){if(!Number.isFinite(value))return 0;let str=value.toString();if(str.includes("e")){let[coefficient,exponent]=str.split("e"),decimalPart2=coefficient.split(".")[1]||"",exponentNum=Number(exponent);return Math.max(0,decimalPart2.length-exponentNum)}let decimalPart=str.split(".")[1];return decimalPart?decimalPart.length:0}__name43(getDecimalCount,"getDecimalCount");function roundValue(value,decimalCount){let rounder=Math.pow(10,decimalCount);return Math.round(value*rounder)/rounder}__name43(roundValue,"roundValue");function getNextStepValue(value,{min,step,direction,multiplier}){let decimalCount=getDecimalCount(step),stepsFromMin=(value-min)/step,nearestSteps=Math.round(stepsFromMin),isAligned=roundValue(nearestSteps*step+min,decimalCount)===roundValue(value,decimalCount),nextSteps;if(isAligned)nextSteps=nearestSteps+multiplier*direction;else if(direction>0)nextSteps=Math.ceil(stepsFromMin);else nextSteps=Math.floor(stepsFromMin);return roundValue(nextSteps*step+min,decimalCount)}__name43(getNextStepValue,"getNextStepValue");function isFunction5(value){return typeof value==="function"}__name43(isFunction5,"isFunction");var React53=__toESM(require_react_development(),1);var import_jsx_runtime33=__toESM(require_react_jsx_runtime_development(),1),__defProp44=Object.defineProperty,__name44=(target,value)=>__defProp44(target,"name",{value,configurable:!0}),SWITCH_NAME="Switch",[createSwitchContext,createSwitchScope]=createContextScope(SWITCH_NAME),[SwitchProviderImpl,useSwitchContext]=createSwitchContext(SWITCH_NAME);function SwitchProvider(props){let{__scopeSwitch,checked:checkedProp,children,defaultChecked,disabled,form,name,onCheckedChange,required,value="on",internal_do_not_use_render}=props,[checked,setChecked]=useControllableState({prop:checkedProp,defaultProp:defaultChecked??!1,onChange:onCheckedChange,caller:SWITCH_NAME}),[control,setControl]=React53.useState(null),[bubbleInput,setBubbleInput]=React53.useState(null),hasConsumerStoppedPropagationRef=React53.useRef(!1),[userInteractionCount,onUserInteraction]=React53.useReducer((count)=>count+1,0),isFormControl=control?!!form||!!control.closest("form"):!0,context={checked,setChecked,disabled,control,setControl,name,form,value,hasConsumerStoppedPropagationRef,userInteractionCount,onUserInteraction,required,defaultChecked,isFormControl,bubbleInput,setBubbleInput};return import_jsx_runtime33.jsx(SwitchProviderImpl,{scope:__scopeSwitch,...context,children:isFunction6(internal_do_not_use_render)?internal_do_not_use_render(context):children})}__name44(SwitchProvider,"SwitchProvider");var TRIGGER_NAME12="SwitchTrigger",SwitchTrigger=React53.forwardRef(__name44(function({__scopeSwitch,onClick,...switchProps},forwardedRef){let{control,form,value,disabled,checked,required,setControl,setChecked,hasConsumerStoppedPropagationRef,onUserInteraction,isFormControl,bubbleInput}=useSwitchContext(TRIGGER_NAME12,__scopeSwitch),composedRefs=useComposedRefs(forwardedRef,setControl),initialCheckedStateRef=React53.useRef(checked);return React53.useEffect(()=>{let associatedForm=form?control?.ownerDocument.getElementById(form):control?.form;if(associatedForm instanceof HTMLFormElement){let reset=__name44(()=>setChecked(initialCheckedStateRef.current),"reset");return associatedForm.addEventListener("reset",reset),()=>associatedForm.removeEventListener("reset",reset)}},[control,form,setChecked]),import_jsx_runtime33.jsx(Primitive.button,{type:"button",role:"switch","aria-checked":checked,"aria-required":required,"data-state":getState7(checked),"data-disabled":disabled?"":void 0,disabled,value,...switchProps,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(onUserInteraction(),setChecked((prevChecked)=>!prevChecked),bubbleInput&&isFormControl){if(hasConsumerStoppedPropagationRef.current=event.isPropagationStopped(),!hasConsumerStoppedPropagationRef.current)event.stopPropagation()}})})},"SwitchTrigger")),Switch=React53.forwardRef(__name44(function(props,forwardedRef){let{__scopeSwitch,name,checked,defaultChecked,required,disabled,value,onCheckedChange,form,...switchProps}=props;return import_jsx_runtime33.jsx(SwitchProvider,{__scopeSwitch,checked,defaultChecked,disabled,required,onCheckedChange,name,form,value,internal_do_not_use_render:({isFormControl})=>import_jsx_runtime33.jsxs(import_jsx_runtime33.Fragment,{children:[import_jsx_runtime33.jsx(SwitchTrigger,{...switchProps,ref:forwardedRef,__scopeSwitch}),isFormControl&&import_jsx_runtime33.jsx(SwitchBubbleInput,{__scopeSwitch})]})})},"Switch")),THUMB_NAME3="SwitchThumb",SwitchThumb=React53.forwardRef(__name44(function(props,forwardedRef){let{__scopeSwitch,...thumbProps}=props,context=useSwitchContext(THUMB_NAME3,__scopeSwitch);return import_jsx_runtime33.jsx(Primitive.span,{"data-state":getState7(context.checked),"data-disabled":context.disabled?"":void 0,...thumbProps,ref:forwardedRef})},"SwitchThumb")),BUBBLE_INPUT_NAME5="SwitchBubbleInput",SwitchBubbleInput=React53.forwardRef(__name44(function({__scopeSwitch,onClick,...props},forwardedRef){let{control,hasConsumerStoppedPropagationRef,userInteractionCount,checked,defaultChecked,required,disabled,name,value,form,bubbleInput,setBubbleInput}=useSwitchContext(BUBBLE_INPUT_NAME5,__scopeSwitch),composedRefs=useComposedRefs(forwardedRef,setBubbleInput),controlSize=useSize(control),shouldStopClickPropagationRef=React53.useRef(!1),prevCheckedRef=React53.useRef(checked),prevUserInteractionCountRef=React53.useRef(userInteractionCount);React53.useEffect(()=>{let input=bubbleInput;if(!input)return;let inputProto=window.HTMLInputElement.prototype,setChecked=Object.getOwnPropertyDescriptor(inputProto,"checked").set,isUserInteraction=userInteractionCount!==prevUserInteractionCountRef.current;prevUserInteractionCountRef.current=userInteractionCount;let checkedChanged=prevCheckedRef.current!==checked;prevCheckedRef.current=checked;let bubbles=!(isUserInteraction&&hasConsumerStoppedPropagationRef.current);if(checkedChanged&&setChecked){shouldStopClickPropagationRef.current=!isUserInteraction;let event=new Event("click",{bubbles});setChecked.call(input,checked),input.dispatchEvent(event),shouldStopClickPropagationRef.current=!1}},[bubbleInput,checked,hasConsumerStoppedPropagationRef,userInteractionCount]);let defaultCheckedRef=React53.useRef(checked);return import_jsx_runtime33.jsx(Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:defaultChecked??defaultCheckedRef.current,required,disabled,name,value,form,...props,tabIndex:-1,ref:composedRefs,onClick:composeEventHandlers(onClick,(event)=>{if(shouldStopClickPropagationRef.current)event.stopPropagation()}),style:{...props.style,...controlSize,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"SwitchBubbleInput"));function isFunction6(value){return typeof value==="function"}__name44(isFunction6,"isFunction");function getState7(checked){return checked?"checked":"unchecked"}__name44(getState7,"getState");var React54=__toESM(require_react_development(),1);var import_jsx_runtime34=__toESM(require_react_jsx_runtime_development(),1),__defProp45=Object.defineProperty,__name45=(target,value)=>__defProp45(target,"name",{value,configurable:!0}),TABS_NAME="Tabs",[createTabsContext,createTabsScope]=createContextScope(TABS_NAME,[createRovingFocusGroupScope]),useRovingFocusGroupScope4=createRovingFocusGroupScope(),[TabsProvider,useTabsContext]=createTabsContext(TABS_NAME),Tabs=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value:valueProp,onValueChange,defaultValue,orientation="horizontal",dir,activationMode="automatic",...tabsProps}=props,direction=useDirection(dir),[value,setValue]=useControllableState({prop:valueProp,onChange:onValueChange,defaultProp:defaultValue??"",caller:TABS_NAME});return import_jsx_runtime34.jsx(TabsProvider,{scope:__scopeTabs,baseId:useId(),value,onValueChange:setValue,orientation,dir:direction,activationMode,children:import_jsx_runtime34.jsx(Primitive.div,{dir:direction,"data-orientation":orientation,...tabsProps,ref:forwardedRef})})},"Tabs")),TAB_LIST_NAME="TabsList",TabsList=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,loop=!0,...listProps}=props,context=useTabsContext(TAB_LIST_NAME,__scopeTabs),rovingFocusGroupScope=useRovingFocusGroupScope4(__scopeTabs);return import_jsx_runtime34.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation:context.orientation,dir:context.dir,loop,children:import_jsx_runtime34.jsx(Primitive.div,{role:"tablist","aria-orientation":context.orientation,...listProps,ref:forwardedRef})})},"TabsList")),TRIGGER_NAME13="TabsTrigger",TabsTrigger=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value,disabled=!1,...triggerProps}=props,context=useTabsContext(TRIGGER_NAME13,__scopeTabs),rovingFocusGroupScope=useRovingFocusGroupScope4(__scopeTabs),triggerId=makeTriggerId2(context.baseId,value),contentId=makeContentId2(context.baseId,value),isSelected=value===context.value;return import_jsx_runtime34.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:isSelected,children:import_jsx_runtime34.jsx(Primitive.button,{type:"button",role:"tab","aria-selected":isSelected,"aria-controls":contentId,"data-state":isSelected?"active":"inactive","data-disabled":disabled?"":void 0,disabled,id:triggerId,...triggerProps,ref:forwardedRef,onMouseDown:composeEventHandlers(props.onMouseDown,(event)=>{if(!disabled&&event.button===0&&event.ctrlKey===!1)context.onValueChange(value);else event.preventDefault()}),onKeyDown:composeEventHandlers(props.onKeyDown,(event)=>{if(disabled||event.target!==event.currentTarget)return;if([" ","Enter"].includes(event.key))context.onValueChange(value)}),onFocus:composeEventHandlers(props.onFocus,()=>{let isAutomaticActivation=context.activationMode!=="manual";if(!isSelected&&!disabled&&isAutomaticActivation)context.onValueChange(value)})})})},"TabsTrigger")),CONTENT_NAME9="TabsContent",TabsContent=React54.forwardRef(__name45(function(props,forwardedRef){let{__scopeTabs,value,forceMount,children,...contentProps}=props,context=useTabsContext(CONTENT_NAME9,__scopeTabs),triggerId=makeTriggerId2(context.baseId,value),contentId=makeContentId2(context.baseId,value),isSelected=value===context.value,isMountAnimationPreventedRef=React54.useRef(isSelected);return React54.useEffect(()=>{let rAF=requestAnimationFrame(()=>isMountAnimationPreventedRef.current=!1);return()=>cancelAnimationFrame(rAF)},[]),import_jsx_runtime34.jsx(Presence,{present:forceMount||isSelected,children:({present})=>import_jsx_runtime34.jsx(Primitive.div,{"data-state":isSelected?"active":"inactive","data-orientation":context.orientation,role:"tabpanel","aria-labelledby":triggerId,hidden:!present,id:contentId,tabIndex:0,...contentProps,ref:forwardedRef,style:{...props.style,animationDuration:isMountAnimationPreventedRef.current?"0s":void 0},children:present&&children})})},"TabsContent"));function makeTriggerId2(baseId,value){return`${baseId}-trigger-${value}`}__name45(makeTriggerId2,"makeTriggerId");function makeContentId2(baseId,value){return`${baseId}-content-${value}`}__name45(makeContentId2,"makeContentId");var Root29=Tabs,List2=TabsList,Trigger9=TabsTrigger,Content5=TabsContent;var React55=__toESM(require_react_development(),1);var import_jsx_runtime35=__toESM(require_react_jsx_runtime_development(),1),__defProp46=Object.defineProperty,__name46=(target,value)=>__defProp46(target,"name",{value,configurable:!0}),NAME="Toggle",Toggle=React55.forwardRef(__name46(function(props,forwardedRef){let{pressed:pressedProp,defaultPressed,onPressedChange,...buttonProps}=props,[pressed,setPressed]=useControllableState({prop:pressedProp,onChange:onPressedChange,defaultProp:defaultPressed??!1,caller:NAME});return import_jsx_runtime35.jsx(Primitive.button,{type:"button","aria-pressed":pressed,"data-state":pressed?"on":"off","data-disabled":props.disabled?"":void 0,...buttonProps,ref:forwardedRef,onClick:composeEventHandlers(props.onClick,()=>{if(!props.disabled)setPressed(!pressed)})})},"Toggle")),Root10=Toggle;var React56=__toESM(require_react_development(),1);var import_jsx_runtime36=__toESM(require_react_jsx_runtime_development(),1),__defProp47=Object.defineProperty,__name47=(target,value)=>__defProp47(target,"name",{value,configurable:!0}),TOGGLE_GROUP_NAME="ToggleGroup",[createToggleGroupContext,createToggleGroupScope]=createContextScope(TOGGLE_GROUP_NAME,[createRovingFocusGroupScope]),useRovingFocusGroupScope5=createRovingFocusGroupScope(),ToggleGroup=React56.forwardRef(__name47(function(props,forwardedRef){let{type,...toggleGroupProps}=props;if(type==="single")return import_jsx_runtime36.jsx(ToggleGroupImplSingle,{role:"radiogroup",...toggleGroupProps,ref:forwardedRef});if(type==="multiple")return import_jsx_runtime36.jsx(ToggleGroupImplMultiple,{role:"toolbar",...toggleGroupProps,ref:forwardedRef});throw Error(`Missing prop \`type\` expected on \`${TOGGLE_GROUP_NAME}\``)},"ToggleGroup")),[ToggleGroupValueProvider,useToggleGroupValueContext]=createToggleGroupContext(TOGGLE_GROUP_NAME),ToggleGroupImplSingle=React56.forwardRef(__name47(function(props,forwardedRef){let{value:valueProp,defaultValue,onValueChange=__name47(()=>{},"onValueChange"),...toggleGroupSingleProps}=props,[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??"",onChange:onValueChange,caller:TOGGLE_GROUP_NAME});return import_jsx_runtime36.jsx(ToggleGroupValueProvider,{scope:props.__scopeToggleGroup,type:"single",value:React56.useMemo(()=>value?[value]:[],[value]),onItemActivate:setValue,onItemDeactivate:React56.useCallback(()=>setValue(""),[setValue]),children:import_jsx_runtime36.jsx(ToggleGroupImpl,{...toggleGroupSingleProps,ref:forwardedRef})})},"ToggleGroupImplSingle")),ToggleGroupImplMultiple=React56.forwardRef(__name47(function(props,forwardedRef){let{value:valueProp,defaultValue,onValueChange=__name47(()=>{},"onValueChange"),...toggleGroupMultipleProps}=props,[value,setValue]=useControllableState({prop:valueProp,defaultProp:defaultValue??[],onChange:onValueChange,caller:TOGGLE_GROUP_NAME}),handleButtonActivate=React56.useCallback((itemValue)=>setValue((prevValue=[])=>[...prevValue,itemValue]),[setValue]),handleButtonDeactivate=React56.useCallback((itemValue)=>setValue((prevValue=[])=>prevValue.filter((value2)=>value2!==itemValue)),[setValue]);return import_jsx_runtime36.jsx(ToggleGroupValueProvider,{scope:props.__scopeToggleGroup,type:"multiple",value,onItemActivate:handleButtonActivate,onItemDeactivate:handleButtonDeactivate,children:import_jsx_runtime36.jsx(ToggleGroupImpl,{...toggleGroupMultipleProps,ref:forwardedRef})})},"ToggleGroupImplMultiple")),[ToggleGroupContext,useToggleGroupContext]=createToggleGroupContext(TOGGLE_GROUP_NAME),ToggleGroupImpl=React56.forwardRef(__name47(function(props,forwardedRef){let{__scopeToggleGroup,disabled=!1,rovingFocus=!0,orientation,dir,loop=!0,...toggleGroupProps}=props,rovingFocusGroupScope=useRovingFocusGroupScope5(__scopeToggleGroup),direction=useDirection(dir),commonProps={dir:direction,...toggleGroupProps};return import_jsx_runtime36.jsx(ToggleGroupContext,{scope:__scopeToggleGroup,rovingFocus,disabled,children:rovingFocus?import_jsx_runtime36.jsx(Root4,{asChild:!0,...rovingFocusGroupScope,orientation,dir:direction,loop,children:import_jsx_runtime36.jsx(Primitive.div,{...commonProps,ref:forwardedRef})}):import_jsx_runtime36.jsx(Primitive.div,{...commonProps,ref:forwardedRef})})},"ToggleGroupImpl")),ITEM_NAME5="ToggleGroupItem",ToggleGroupItem=React56.forwardRef(__name47(function(props,forwardedRef){let valueContext=useToggleGroupValueContext(ITEM_NAME5,props.__scopeToggleGroup),context=useToggleGroupContext(ITEM_NAME5,props.__scopeToggleGroup),rovingFocusGroupScope=useRovingFocusGroupScope5(props.__scopeToggleGroup),pressed=valueContext.value.includes(props.value),disabled=context.disabled||props.disabled,commonProps={...props,pressed,disabled},ref=React56.useRef(null);return context.rovingFocus?import_jsx_runtime36.jsx(Item2,{asChild:!0,...rovingFocusGroupScope,focusable:!disabled,active:pressed,ref,children:import_jsx_runtime36.jsx(ToggleGroupItemImpl,{...commonProps,ref:forwardedRef})}):import_jsx_runtime36.jsx(ToggleGroupItemImpl,{...commonProps,ref:forwardedRef})},"ToggleGroupItem")),ToggleGroupItemImpl=React56.forwardRef(__name47(function(props,forwardedRef){let{__scopeToggleGroup,value,...itemProps}=props,valueContext=useToggleGroupValueContext(ITEM_NAME5,__scopeToggleGroup),singleProps={role:"radio","aria-checked":props.pressed,"aria-pressed":void 0},typeProps=valueContext.type==="single"?singleProps:void 0;return import_jsx_runtime36.jsx(Toggle,{...typeProps,...itemProps,ref:forwardedRef,onPressedChange:(pressed)=>{if(pressed)valueContext.onItemActivate(value);else valueContext.onItemDeactivate(value)}})},"ToggleGroupItemImpl"));var React57=__toESM(require_react_development(),1);var import_jsx_runtime37=__toESM(require_react_jsx_runtime_development(),1),__defProp48=Object.defineProperty,__name48=(target,value)=>__defProp48(target,"name",{value,configurable:!0}),[createTooltipContext,createTooltipScope]=createContextScope("Tooltip",[createPopperScope]),usePopperScope5=createPopperScope(),PROVIDER_NAME="TooltipProvider",DEFAULT_DELAY_DURATION=700,TOOLTIP_OPEN="tooltip.open",[TooltipProviderContextProvider,useTooltipProviderContext]=createTooltipContext(PROVIDER_NAME),TooltipProvider=__name48((props)=>{let{__scopeTooltip,delayDuration=DEFAULT_DELAY_DURATION,skipDelayDuration=300,disableHoverableContent=!1,children}=props,isOpenDelayedRef=React57.useRef(!0),isPointerInTransitRef=React57.useRef(!1),skipDelayTimerRef=React57.useRef(0);return React57.useEffect(()=>{let skipDelayTimer=skipDelayTimerRef.current;return()=>window.clearTimeout(skipDelayTimer)},[]),import_jsx_runtime37.jsx(TooltipProviderContextProvider,{scope:__scopeTooltip,isOpenDelayedRef,delayDuration,onOpen:React57.useCallback(()=>{if(skipDelayDuration<=0)return;window.clearTimeout(skipDelayTimerRef.current),isOpenDelayedRef.current=!1},[skipDelayDuration]),onClose:React57.useCallback(()=>{if(skipDelayDuration<=0)return;window.clearTimeout(skipDelayTimerRef.current),skipDelayTimerRef.current=window.setTimeout(()=>isOpenDelayedRef.current=!0,skipDelayDuration)},[skipDelayDuration]),isPointerInTransitRef,onPointerInTransitChange:React57.useCallback((inTransit)=>{isPointerInTransitRef.current=inTransit},[]),disableHoverableContent,children})},"TooltipProvider"),TOOLTIP_NAME="Tooltip",[TooltipContextProvider,useTooltipContext]=createTooltipContext(TOOLTIP_NAME),Tooltip=__name48((props)=>{let{__scopeTooltip,children,open:openProp,defaultOpen,onOpenChange,disableHoverableContent:disableHoverableContentProp,delayDuration:delayDurationProp}=props,providerContext=useTooltipProviderContext(TOOLTIP_NAME,props.__scopeTooltip),popperScope=usePopperScope5(__scopeTooltip),[trigger,setTrigger]=React57.useState(null),[contentIdState,setContentId]=React57.useState(void 0),generatedContentId=useId(),openTimerRef=React57.useRef(0),disableHoverableContent=disableHoverableContentProp??providerContext.disableHoverableContent,delayDuration=delayDurationProp??providerContext.delayDuration,wasOpenDelayedRef=React57.useRef(!1),[open,setOpen]=useControllableState({prop:openProp,defaultProp:defaultOpen??!1,onChange:__name48((open2)=>{if(open2)providerContext.onOpen(),document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));else providerContext.onClose();onOpenChange?.(open2)},"onChange"),caller:TOOLTIP_NAME}),stateAttribute=React57.useMemo(()=>open?wasOpenDelayedRef.current?"delayed-open":"instant-open":"closed",[open]),handleOpen=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=0,wasOpenDelayedRef.current=!1,setOpen(!0)},[setOpen]),handleClose=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=0,setOpen(!1)},[setOpen]),handleDelayedOpen=React57.useCallback(()=>{window.clearTimeout(openTimerRef.current),openTimerRef.current=window.setTimeout(()=>{wasOpenDelayedRef.current=!0,setOpen(!0),openTimerRef.current=0},delayDuration)},[delayDuration,setOpen]);return React57.useEffect(()=>()=>{if(openTimerRef.current)window.clearTimeout(openTimerRef.current),openTimerRef.current=0},[]),import_jsx_runtime37.jsx(Root23,{...popperScope,children:import_jsx_runtime37.jsx(TooltipContextProvider,{scope:__scopeTooltip,contentId:contentIdState??generatedContentId,setContentId,open,stateAttribute,trigger,onTriggerChange:setTrigger,onTriggerEnter:React57.useCallback(()=>{if(providerContext.isOpenDelayedRef.current)handleDelayedOpen();else handleOpen()},[providerContext.isOpenDelayedRef,handleDelayedOpen,handleOpen]),onTriggerLeave:React57.useCallback(()=>{if(disableHoverableContent)handleClose();else window.clearTimeout(openTimerRef.current),openTimerRef.current=0},[handleClose,disableHoverableContent]),onOpen:handleOpen,onClose:handleClose,disableHoverableContent,children})})},"Tooltip"),TRIGGER_NAME14="TooltipTrigger",TooltipTrigger=React57.forwardRef(__name48(function(props,forwardedRef){let{__scopeTooltip,...triggerProps}=props,context=useTooltipContext(TRIGGER_NAME14,__scopeTooltip),providerContext=useTooltipProviderContext(TRIGGER_NAME14,__scopeTooltip),popperScope=usePopperScope5(__scopeTooltip),ref=React57.useRef(null),composedRefs=useComposedRefs(forwardedRef,ref,context.onTriggerChange),isPointerDownRef=React57.useRef(!1),hasPointerMoveOpenedRef=React57.useRef(!1),handlePointerUp=React57.useCallback(()=>isPointerDownRef.current=!1,[]);return React57.useEffect(()=>()=>document.removeEventListener("pointerup",handlePointerUp),[handlePointerUp]),import_jsx_runtime37.jsx(Anchor,{asChild:!0,...popperScope,children:import_jsx_runtime37.jsx(Primitive.button,{"aria-describedby":context.open?context.contentId:void 0,"data-state":context.stateAttribute,...triggerProps,ref:composedRefs,onPointerMove:composeEventHandlers(props.onPointerMove,(event)=>{if(event.pointerType==="touch")return;if(!hasPointerMoveOpenedRef.current&&!providerContext.isPointerInTransitRef.current)context.onTriggerEnter(),hasPointerMoveOpenedRef.current=!0}),onPointerLeave:composeEventHandlers(props.onPointerLeave,()=>{context.onTriggerLeave(),hasPointerMoveOpenedRef.current=!1}),onPointerDown:composeEventHandlers(props.onPointerDown,()=>{if(context.open)context.onClose();isPointerDownRef.current=!0,document.addEventListener("pointerup",handlePointerUp,{once:!0})}),onFocus:composeEventHandlers(props.onFocus,()=>{if(!isPointerDownRef.current)context.onOpen()}),onBlur:composeEventHandlers(props.onBlur,context.onClose),onClick:composeEventHandlers(props.onClick,context.onClose)})})},"TooltipTrigger")),PORTAL_NAME6="TooltipPortal",[PortalProvider6,usePortalContext6]=createTooltipContext(PORTAL_NAME6,{forceMount:void 0});var Slottable=createSlottable("TooltipContent");function getExitSideFromRect(point,rect){let top=Math.abs(rect.top-point.y),bottom=Math.abs(rect.bottom-point.y),right=Math.abs(rect.right-point.x),left=Math.abs(rect.left-point.x);switch(Math.min(top,bottom,right,left)){case left:return"left";case right:return"right";case top:return"top";case bottom:return"bottom";default:throw Error("unreachable")}}__name48(getExitSideFromRect,"getExitSideFromRect");function getPaddedExitPoints(exitPoint,exitSide,padding=5){let paddedExitPoints=[];switch(exitSide){case"top":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y+padding},{x:exitPoint.x+padding,y:exitPoint.y+padding});break;case"bottom":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y-padding},{x:exitPoint.x+padding,y:exitPoint.y-padding});break;case"left":paddedExitPoints.push({x:exitPoint.x+padding,y:exitPoint.y-padding},{x:exitPoint.x+padding,y:exitPoint.y+padding});break;case"right":paddedExitPoints.push({x:exitPoint.x-padding,y:exitPoint.y-padding},{x:exitPoint.x-padding,y:exitPoint.y+padding});break}return paddedExitPoints}__name48(getPaddedExitPoints,"getPaddedExitPoints");function getPointsFromRect(rect){let{top,right,bottom,left}=rect;return[{x:left,y:top},{x:right,y:top},{x:right,y:bottom},{x:left,y:bottom}]}__name48(getPointsFromRect,"getPointsFromRect");function isPointInPolygon2(point,polygon){let{x,y}=point,inside=!1;for(let i=0,j=polygon.length-1;i<polygon.length;j=i++){let ii=polygon[i],jj=polygon[j],{x:xi,y:yi}=ii,{x:xj,y:yj}=jj;if(yi>y!==yj>y&&x<(xj-xi)*(y-yi)/(yj-yi)+xi)inside=!inside}return inside}__name48(isPointInPolygon2,"isPointInPolygon");function getHull(points){let newPoints=points.slice();return newPoints.sort((a,b)=>{if(a.x<b.x)return-1;else if(a.x>b.x)return 1;else if(a.y<b.y)return-1;else if(a.y>b.y)return 1;else return 0}),getHullPresorted(newPoints)}__name48(getHull,"getHull");function getHullPresorted(points){if(points.length<=1)return points.slice();let upperHull=[];for(let i=0;i<points.length;i++){let p=points[i];while(upperHull.length>=2){let q=upperHull[upperHull.length-1],r=upperHull[upperHull.length-2];if((q.x-r.x)*(p.y-r.y)>=(q.y-r.y)*(p.x-r.x))upperHull.pop();else break}upperHull.push(p)}upperHull.pop();let lowerHull=[];for(let i=points.length-1;i>=0;i--){let p=points[i];while(lowerHull.length>=2){let q=lowerHull[lowerHull.length-1],r=lowerHull[lowerHull.length-2];if((q.x-r.x)*(p.y-r.y)>=(q.y-r.y)*(p.x-r.x))lowerHull.pop();else break}lowerHull.push(p)}if(lowerHull.pop(),upperHull.length===1&&lowerHull.length===1&&upperHull[0].x===lowerHull[0].x&&upperHull[0].y===lowerHull[0].y)return upperHull;else return upperHull.concat(lowerHull)}__name48(getHullPresorted,"getHullPresorted");var Provider=TooltipProvider,Root34=Tooltip,Trigger10=TooltipTrigger;var import_react5=__toESM(require_react_development(),1);var jsx_dev_runtime=__toESM(require_react_jsx_dev_runtime_development(),1);function itemValues(children){let values=[];for(let child of import_react5.Children.toArray(children)){if(!import_react5.isValidElement(child))continue;let{value}=child.props;if(typeof value==="string")values.push(value)}return values}function Accordion2({className,type,...props}){let classes=cn("flex w-full flex-col",className),resolvedType=type==="multiple"?"multiple":"single",values=props.value||props.defaultValue?void 0:itemValues(props.children),defaultValue=values===void 0||values.length===0?void 0:resolvedType==="multiple"?values:values[0];return jsx_dev_runtime.jsxDEV(Root2,{type:resolvedType,...resolvedType==="single"?{collapsible:!0}:{},"data-slot":"accordion",className:classes,...props,...defaultValue===void 0?{}:{defaultValue}},void 0,!1,void 0,this)}function AccordionItem2({className,...props}){return jsx_dev_runtime.jsxDEV(Item,{"data-slot":"accordion-item",className:cn("not-last:border-b",className),...props},void 0,!1,void 0,this)}function AccordionTrigger2({className,children,...props}){return jsx_dev_runtime.jsxDEV(Header,{className:"flex",children:jsx_dev_runtime.jsxDEV(Trigger2,{"data-slot":"accordion-trigger",className:cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",className),...props,children:[children,jsx_dev_runtime.jsxDEV(ChevronDown,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"},void 0,!1,void 0,this),jsx_dev_runtime.jsxDEV(ChevronUp,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function AccordionContent2({className,children,...props}){return jsx_dev_runtime.jsxDEV(Content2,{"data-slot":"accordion-content",className:"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",...props,children:jsx_dev_runtime.jsxDEV("div",{className:cn("h-(--radix-accordion-content-height) pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",className),children},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{clsx}from"clsx";var falsyToString=(value)=>typeof value==="boolean"?`${value}`:value===0?"0":value,cx=clsx,cva=(base,config)=>(props)=>{var _config_compoundVariants;if((config===null||config===void 0?void 0:config.variants)==null)return cx(base,props===null||props===void 0?void 0:props.class,props===null||props===void 0?void 0:props.className);let{variants,defaultVariants}=config,getVariantClassNames=Object.keys(variants).map((variant)=>{let variantProp=props===null||props===void 0?void 0:props[variant],defaultVariantProp=defaultVariants===null||defaultVariants===void 0?void 0:defaultVariants[variant];if(variantProp===null)return null;let variantKey=falsyToString(variantProp)||falsyToString(defaultVariantProp);return variants[variant][variantKey]}),propsWithoutUndefined=props&&Object.entries(props).reduce((acc,param)=>{let[key,value]=param;if(value===void 0)return acc;return acc[key]=value,acc},{}),getCompoundVariantClassNames=config===null||config===void 0?void 0:(_config_compoundVariants=config.compoundVariants)===null||_config_compoundVariants===void 0?void 0:_config_compoundVariants.reduce((acc,param)=>{let{class:cvClass,className:cvClassName,...compoundVariantOptions}=param;return Object.entries(compoundVariantOptions).every((param)=>{let[key,value]=param;return Array.isArray(value)?value.includes({...defaultVariants,...propsWithoutUndefined}[key]):{...defaultVariants,...propsWithoutUndefined}[key]===value})?[...acc,cvClass,cvClassName]:acc},[]);return cx(base,getVariantClassNames,getCompoundVariantClassNames,props===null||props===void 0?void 0:props.class,props===null||props===void 0?void 0:props.className)};var jsx_dev_runtime2=__toESM(require_react_jsx_dev_runtime_development(),1),alertVariants=cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});function Alert({className,variant,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert",role:"alert",className:cn(alertVariants({variant}),className),...props},void 0,!1,void 0,this)}function AlertTitle({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-title",className:cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",className),...props},void 0,!1,void 0,this)}function AlertDescription({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-description",className:cn("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",className),...props},void 0,!1,void 0,this)}function AlertAction({className,...props}){return jsx_dev_runtime2.jsxDEV("div",{"data-slot":"alert-action",className:cn("absolute top-2 right-2",className),...props},void 0,!1,void 0,this)}function pinOpenInDesignMode(props){if(props.open!==void 0||props.defaultOpen!==void 0)return props;return{...props,open:!0}}function inlineOpenAttrs(){return{"data-state":"open","data-velloo-inline":"true"}}var jsx_dev_runtime3=__toESM(require_react_jsx_dev_runtime_development(),1),buttonVariants=cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Button({className,variant="default",size="default",asChild=!1,...props}){let Comp=asChild?Slot:"button";return jsx_dev_runtime3.jsxDEV(Comp,{"data-slot":"button","data-variant":variant,"data-size":size,className:cn(buttonVariants({variant,size,className})),...props},void 0,!1,void 0,this)}var jsx_dev_runtime4=__toESM(require_react_jsx_dev_runtime_development(),1);function AlertDialog2({...props}){return jsx_dev_runtime4.jsxDEV(Root22,{"data-slot":"alert-dialog",...pinOpenInDesignMode(props)},void 0,!1,void 0,this)}function AlertDialogTrigger2({...props}){return jsx_dev_runtime4.jsxDEV(Trigger22,{"data-slot":"alert-dialog-trigger",...props},void 0,!1,void 0,this)}function AlertDialogPortal({children}){return jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment,{children},void 0,!1,void 0,this)}function AlertDialogOverlay2({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-overlay",...inlineOpenAttrs(),className:cn("fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",className),...props},void 0,!1,void 0,this)}function AlertDialogContent2({className,size="default",...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-content","data-size":size,...inlineOpenAttrs(),className:cn("group/alert-dialog-content z-50 grid w-full gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm",className),...props},void 0,!1,void 0,this)}function AlertDialogHeader({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-header",className:cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",className),...props},void 0,!1,void 0,this)}function AlertDialogFooter({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-footer",className:cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",className),...props},void 0,!1,void 0,this)}function AlertDialogMedia({className,...props}){return jsx_dev_runtime4.jsxDEV("div",{"data-slot":"alert-dialog-media",className:cn("mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",className),...props},void 0,!1,void 0,this)}function AlertDialogTitle2({className,...props}){return jsx_dev_runtime4.jsxDEV("h2",{"data-slot":"alert-dialog-title",className:cn("cn-font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",className),...props},void 0,!1,void 0,this)}function AlertDialogDescription2({className,...props}){return jsx_dev_runtime4.jsxDEV("p",{"data-slot":"alert-dialog-description",className:cn("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",className),...props},void 0,!1,void 0,this)}function AlertDialogAction2({className,variant="default",size="default",...props}){return jsx_dev_runtime4.jsxDEV(Button,{"data-slot":"alert-dialog-action",variant,size,className:cn(className),...props},void 0,!1,void 0,this)}function AlertDialogCancel2({className,variant="outline",size="default",...props}){return jsx_dev_runtime4.jsxDEV(Button,{"data-slot":"alert-dialog-cancel",variant,size,className:cn(className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime5=__toESM(require_react_jsx_dev_runtime_development(),1);function AspectRatio2({...props}){return jsx_dev_runtime5.jsxDEV(Root3,{"data-slot":"aspect-ratio",...props},void 0,!1,void 0,this)}var jsx_dev_runtime6=__toESM(require_react_jsx_dev_runtime_development(),1),attachmentVariants=cva("group/attachment relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap rounded-xl border bg-card text-card-foreground transition-colors focus-within:ring-1 focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 data-[state=idle]:border-dashed",{variants:{size:{default:"gap-2 text-sm has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2",sm:"gap-2.5 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5",xs:"gap-1.5 rounded-lg text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1"},orientation:{horizontal:"min-w-40 items-center",vertical:"w-24 flex-col has-data-[slot=attachment-content]:w-30"}}});function Attachment({className,state="done",size="default",orientation="horizontal",...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment","data-state":state,"data-size":size,"data-orientation":orientation,className:cn(attachmentVariants({size,orientation}),className),...props},void 0,!1,void 0,this)}var attachmentMediaVariants=cva("relative flex aspect-square w-10 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted text-foreground group-data-[orientation=vertical]/attachment:w-full group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 group-data-[size=xs]/attachment:rounded-md group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive group-data-[orientation=vertical]/attachment:*:data-[slot=spinner]:size-6! [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 group-data-[orientation=vertical]/attachment:[&_svg:not([class*='size-'])]:size-6 group-data-[size=xs]/attachment:[&_svg:not([class*='size-'])]:size-3.5",{variants:{variant:{icon:"",image:"opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover"}},defaultVariants:{variant:"icon"}});function AttachmentMedia({className,variant="icon",...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-media","data-variant":variant,className:cn(attachmentMediaVariants({variant}),className),...props},void 0,!1,void 0,this)}function AttachmentContent({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-content",className:cn("max-w-full min-w-0 flex-1 leading-tight group-data-[orientation=vertical]/attachment:px-1",className),...props},void 0,!1,void 0,this)}function AttachmentTitle({className,...props}){return jsx_dev_runtime6.jsxDEV("span",{"data-slot":"attachment-title",className:cn("block max-w-full min-w-0 truncate font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer",className),...props},void 0,!1,void 0,this)}function AttachmentDescription({className,...props}){return jsx_dev_runtime6.jsxDEV("span",{"data-slot":"attachment-description",className:cn("mt-0.5 block min-w-0 truncate text-xs text-muted-foreground group-data-[state=error]/attachment:text-destructive/80","max-w-full",className),...props},void 0,!1,void 0,this)}function AttachmentActions({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-actions",className:cn("relative z-20 flex shrink-0 items-center group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:right-3 group-data-[orientation=vertical]/attachment:gap-1",className),...props},void 0,!1,void 0,this)}function AttachmentAction({className,variant,size="icon-xs",...props}){return jsx_dev_runtime6.jsxDEV(Button,{"data-slot":"attachment-action",variant:variant??"ghost",size,className:cn(className),...props},void 0,!1,void 0,this)}function AttachmentTrigger({className,asChild=!1,type,...props}){let Comp=asChild?Slot:"button";return jsx_dev_runtime6.jsxDEV(Comp,{"data-slot":"attachment-trigger",type:asChild?void 0:type??"button",className:cn("absolute inset-0 z-10 outline-none",className),...props},void 0,!1,void 0,this)}function AttachmentGroup({className,...props}){return jsx_dev_runtime6.jsxDEV("div",{"data-slot":"attachment-group",className:cn("flex min-w-0 scroll-fade-x snap-x snap-mandatory scroll-px-1 scrollbar-none gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime7=__toESM(require_react_jsx_dev_runtime_development(),1);function Avatar2({className,size="default",...props}){return jsx_dev_runtime7.jsxDEV(Avatar,{"data-slot":"avatar","data-size":size,className:cn("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten",className),...props},void 0,!1,void 0,this)}function AvatarImage2({className,...props}){return jsx_dev_runtime7.jsxDEV(AvatarImage,{"data-slot":"avatar-image",className:cn("aspect-square size-full rounded-full object-cover",className),...props},void 0,!1,void 0,this)}function AvatarFallback2({className,...props}){return jsx_dev_runtime7.jsxDEV(AvatarFallback,{"data-slot":"avatar-fallback",className:cn("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",className),...props},void 0,!1,void 0,this)}function AvatarBadge({className,...props}){return jsx_dev_runtime7.jsxDEV("span",{"data-slot":"avatar-badge",className:cn("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none","group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden","group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2","group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2",className),...props},void 0,!1,void 0,this)}function AvatarGroup({className,...props}){return jsx_dev_runtime7.jsxDEV("div",{"data-slot":"avatar-group",className:cn("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background",className),...props},void 0,!1,void 0,this)}function AvatarGroupCount({className,...props}){return jsx_dev_runtime7.jsxDEV("div",{"data-slot":"avatar-group-count",className:cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime8=__toESM(require_react_jsx_dev_runtime_development(),1),badgeVariants=cva("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function Badge({className,variant="default",asChild=!1,...props}){let Comp=asChild?Slot:"span";return jsx_dev_runtime8.jsxDEV(Comp,{"data-slot":"badge","data-variant":variant,className:cn(badgeVariants({variant}),className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime9=__toESM(require_react_jsx_dev_runtime_development(),1);function Breadcrumb({className,...props}){return jsx_dev_runtime9.jsxDEV("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",className:cn(className),...props},void 0,!1,void 0,this)}function BreadcrumbList({className,...props}){return jsx_dev_runtime9.jsxDEV("ol",{"data-slot":"breadcrumb-list",className:cn("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbItem({className,...props}){return jsx_dev_runtime9.jsxDEV("li",{"data-slot":"breadcrumb-item",className:cn("inline-flex items-center gap-1",className),...props},void 0,!1,void 0,this)}function BreadcrumbLink({asChild,className,...props}){let Comp=asChild?Slot:"a";return jsx_dev_runtime9.jsxDEV(Comp,{"data-slot":"breadcrumb-link",className:cn("transition-colors hover:text-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbPage({className,...props}){return jsx_dev_runtime9.jsxDEV("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:cn("font-normal text-foreground",className),...props},void 0,!1,void 0,this)}function BreadcrumbSeparator({children,className,...props}){return jsx_dev_runtime9.jsxDEV("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:cn("[&>svg]:size-3.5",className),...props,children:children??jsx_dev_runtime9.jsxDEV(ChevronRight,{className:"cn-rtl-flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function BreadcrumbEllipsis({className,...props}){return jsx_dev_runtime9.jsxDEV("span",{"data-slot":"breadcrumb-ellipsis",role:"presentation","aria-hidden":"true",className:cn("flex size-5 items-center justify-center [&>svg]:size-4",className),...props,children:[jsx_dev_runtime9.jsxDEV(Ellipsis,{},void 0,!1,void 0,this),jsx_dev_runtime9.jsxDEV("span",{className:"sr-only",children:"More"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var jsx_dev_runtime10=__toESM(require_react_jsx_dev_runtime_development(),1);function BubbleGroup({className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble-group",className:cn("flex min-w-0 flex-col gap-2",className),...props},void 0,!1,void 0,this)}var bubbleVariants=cva("group/bubble relative flex w-fit max-w-[80%] min-w-0 flex-col gap-1 group-data-[align=end]/message:self-end data-[align=end]:self-end data-[variant=ghost]:max-w-full",{variants:{variant:{default:"*:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80",secondary:"*:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)]",muted:"*:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)]",tinted:"*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)]",outline:"*:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30",ghost:"border-none *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50",destructive:"*:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30"}},defaultVariants:{variant:"default"}});function Bubble({variant="default",align="start",className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble","data-variant":variant,"data-align":align,className:cn(bubbleVariants({variant}),className),...props},void 0,!1,void 0,this)}function BubbleContent({asChild=!1,className,...props}){let Comp=asChild?Slot:"div";return jsx_dev_runtime10.jsxDEV(Comp,{"data-slot":"bubble-content",className:cn("w-fit max-w-full min-w-0 overflow-hidden rounded-xl border border-transparent px-3 py-2 text-sm leading-relaxed wrap-break-word group-data-[align=end]/bubble:self-end [button]:text-left [button,a]:transition-colors [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-3 [button,a]:focus-visible:ring-ring/50",className),...props},void 0,!1,void 0,this)}var bubbleReactionsVariants=cva("absolute z-10 flex w-fit shrink-0 items-center justify-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-sm ring-3 ring-card has-[button]:p-0",{variants:{side:{top:"top-0 -translate-y-3/4",bottom:"bottom-0 translate-y-3/4"},align:{start:"left-3",end:"right-3"}},defaultVariants:{side:"bottom",align:"end"}});function BubbleReactions({side="bottom",align="end",className,...props}){return jsx_dev_runtime10.jsxDEV("div",{"data-slot":"bubble-reactions","data-align":align,"data-side":side,className:cn(bubbleReactionsVariants({side,align}),className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime11=__toESM(require_react_jsx_dev_runtime_development(),1);function Separator3({className,orientation="horizontal",decorative=!0,...props}){return jsx_dev_runtime11.jsxDEV(Root9,{"data-slot":"separator",decorative,orientation,className:cn("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime12=__toESM(require_react_jsx_dev_runtime_development(),1),buttonGroupVariants=cva("group/button-group flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"}},defaultVariants:{orientation:"horizontal"}});function ButtonGroup({className,orientation,...props}){return jsx_dev_runtime12.jsxDEV("div",{role:"group","data-slot":"button-group","data-orientation":orientation,className:cn(buttonGroupVariants({orientation}),className),...props},void 0,!1,void 0,this)}function ButtonGroupText({className,asChild=!1,...props}){let Comp=asChild?Slot:"div";return jsx_dev_runtime12.jsxDEV(Comp,{className:cn("flex items-center gap-2 rounded-lg border bg-muted px-2.5 text-sm font-medium [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",className),...props},void 0,!1,void 0,this)}function ButtonGroupSeparator({className,orientation="vertical",...props}){return jsx_dev_runtime12.jsxDEV(Separator3,{"data-slot":"button-group-separator",orientation,className:cn("relative self-stretch bg-input data-horizontal:mx-px data-horizontal:w-auto data-vertical:my-px data-vertical:h-auto",className),...props},void 0,!1,void 0,this)}var React84=__toESM(require_react_development(),1);function tzName(timeZone,date,format="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone,timeZoneName:format}).format(date).split(/\s/g).slice(2).join(" ")}var offsetFormatCache={},offsetCache={};function tzOffset(timeZone,date){try{let offsetStr=(offsetFormatCache[timeZone]||=new Intl.DateTimeFormat("en-US",{timeZone,timeZoneName:"longOffset"}).format)(date).split("GMT")[1];if(offsetStr in offsetCache)return offsetCache[offsetStr];return calcOffset(offsetStr,offsetStr.split(":"))}catch{if(timeZone in offsetCache)return offsetCache[timeZone];let captures=timeZone?.match(offsetRe);if(captures)return calcOffset(timeZone,captures.slice(1));return NaN}}var offsetRe=/([+-]\d\d):?(\d\d)?/;function calcOffset(cacheStr,values){let hours=+(values[0]||0),minutes=+(values[1]||0),seconds=+(values[2]||0)/60;return offsetCache[cacheStr]=hours*60+minutes>0?hours*60+minutes+seconds:hours*60-minutes-seconds}class TZDateMini extends Date{constructor(...args){super();if(args.length>1&&typeof args[args.length-1]==="string")this.timeZone=args.pop();if(this.internal=new Date,isNaN(tzOffset(this.timeZone,this)))this.setTime(NaN);else if(!args.length)this.setTime(Date.now());else if(typeof args[0]==="number"&&(args.length===1||args.length===2&&typeof args[1]!=="number"))this.setTime(args[0]);else if(typeof args[0]==="string")this.setTime(+new Date(args[0]));else if(args[0]instanceof Date)this.setTime(+args[0]);else this.setTime(+new Date(...args)),adjustToSystemTZ(this,args)}static tz(tz,...args){return args.length?new TZDateMini(...args,tz):new TZDateMini(Date.now(),tz)}withTimeZone(timeZone){return new TZDateMini(+this,timeZone)}getTimezoneOffset(){let offset=-tzOffset(this.timeZone,this);return offset>0?Math.floor(offset):Math.ceil(offset)}setTime(_time){return Date.prototype.setTime.apply(this,arguments),syncToInternal(this),+this}[Symbol.for("constructDateFrom")](date){return new TZDateMini(+new Date(date),this.timeZone)}}var re=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach((method)=>{if(!re.test(method))return;let utcMethod=method.replace(re,"$1UTC");if(!TZDateMini.prototype[utcMethod])return;if(method.startsWith("get"))TZDateMini.prototype[method]=function(){return this.internal[utcMethod]()};else TZDateMini.prototype[method]=function(){return Date.prototype[utcMethod].apply(this.internal,arguments),syncFromInternal(this),+this},TZDateMini.prototype[utcMethod]=function(){return Date.prototype[utcMethod].apply(this,arguments),syncToInternal(this),+this}});function syncToInternal(date){date.internal.setTime(+date),date.internal.setUTCSeconds(date.internal.getUTCSeconds()-Math.round(-tzOffset(date.timeZone,date)*60))}function syncFromInternal(date){Date.prototype.setFullYear.call(date,date.internal.getUTCFullYear(),date.internal.getUTCMonth(),date.internal.getUTCDate()),Date.prototype.setHours.call(date,date.internal.getUTCHours(),date.internal.getUTCMinutes(),date.internal.getUTCSeconds(),date.internal.getUTCMilliseconds()),adjustToSystemTZ(date)}function adjustToSystemTZ(date,constructorArgs){let expectedInternalTime=Array.isArray(constructorArgs)?constructorArgsToInternalTime(constructorArgs):+date.internal,offsetWithSeconds=tzOffset(date.timeZone,date),offset=offsetWithSeconds>0?Math.floor(offsetWithSeconds):Math.ceil(offsetWithSeconds),prevHour=new Date(+date);prevHour.setUTCHours(prevHour.getUTCHours()-1);let systemOffset=-new Date(+date).getTimezoneOffset(),prevHourSystemOffset=-new Date(+prevHour).getTimezoneOffset(),systemDSTChange=systemOffset-prevHourSystemOffset,systemOffsetForDiff=systemOffset;if(systemDSTChange&&systemOffset!==offset){let systemHour=Date.prototype.getHours.apply(date),expectedHour=Array.isArray(constructorArgs)?constructorArgs[3]||0:date.internal.getUTCHours();if(systemHour!==expectedHour){let testDate=new Date(+date),testOffsetDiff=systemOffset-offset;if(testOffsetDiff)testDate.setUTCMinutes(testDate.getUTCMinutes()+testOffsetDiff);let testOffsetWithSeconds=tzOffset(date.timeZone,testDate);if((testOffsetWithSeconds>0?Math.floor(testOffsetWithSeconds):Math.ceil(testOffsetWithSeconds))===offset)systemOffsetForDiff=prevHourSystemOffset}}let offsetDiff=systemOffsetForDiff-offset;if(offsetDiff)Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+offsetDiff);let systemDate=new Date(+date);systemDate.setUTCSeconds(0);let systemSecondsOffset=systemOffset>0?systemDate.getSeconds():(systemDate.getSeconds()-60)%60,secondsOffset=Math.round(-(tzOffset(date.timeZone,date)*60))%60;if(secondsOffset||systemSecondsOffset)Date.prototype.setUTCSeconds.call(date,Date.prototype.getUTCSeconds.call(date)+secondsOffset+systemSecondsOffset);let postOffsetWithSeconds=tzOffset(date.timeZone,date),postOffset=postOffsetWithSeconds>0?Math.floor(postOffsetWithSeconds):Math.ceil(postOffsetWithSeconds),postOffsetDiff=-new Date(+date).getTimezoneOffset()-postOffset,offsetChanged=postOffset!==offset,postDiff=postOffsetDiff-offsetDiff,targetDSTShift=postOffset-offset,postOffsetCandidate=expectedInternalTime-postOffset*60*1000,normalizedTargetDSTGap=targetDSTShift>0&&targetInternalTime(date)-expectedInternalTime===targetDSTShift*60*1000&&targetInternalTime(date,postOffsetCandidate)!==expectedInternalTime;if(offsetChanged&&postDiff&&!normalizedTargetDSTGap){Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+postDiff);let newOffsetWithSeconds=tzOffset(date.timeZone,date),newOffset=newOffsetWithSeconds>0?Math.floor(newOffsetWithSeconds):Math.ceil(newOffsetWithSeconds),offsetChange=postOffset-newOffset;if(offsetChange&&postDiff<0)Date.prototype.setUTCMinutes.call(date,Date.prototype.getUTCMinutes.call(date)+offsetChange)}syncToInternal(date);let drift=(constructorArgs?expectedInternalTime:expectedInternalTime+secondsOffset*1000)-+date.internal;if(drift&&Math.abs(drift)<1800000)Date.prototype.setTime.call(date,+date+drift),syncToInternal(date)}function constructorArgsToInternalTime(args){return Date.UTC(args[0],args.length>1?args[1]:0,args.length>2?args[2]:1,...args.slice(3))}function targetInternalTime(date,time){let internal=new Date(time??+date);return internal.setUTCSeconds(internal.getUTCSeconds()-Math.round(-tzOffset(date.timeZone,internal)*60)),+internal}class TZDate extends TZDateMini{static tz(tz,...args){return args.length?new TZDate(...args,tz):new TZDate(Date.now(),tz)}toISOString(){let[sign,hours,minutes]=this.tzComponents(),tz=`${sign}${hours}:${minutes}`;return this.internal.toISOString().slice(0,-1)+tz}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[day,date,month,year]=this.internal.toUTCString().split(" ");return`${day?.slice(0,-1)} ${month} ${date} ${year}`}toTimeString(){let time=this.internal.toUTCString().split(" ")[4],[sign,hours,minutes]=this.tzComponents();return`${time} GMT${sign}${hours}${minutes} (${tzName(this.timeZone,this)})`}toLocaleString(locales,options){return Date.prototype.toLocaleString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}toLocaleDateString(locales,options){return Date.prototype.toLocaleDateString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}toLocaleTimeString(locales,options){return Date.prototype.toLocaleTimeString.call(this,locales,{...options,timeZone:options?.timeZone||this.timeZone})}tzComponents(){let offset=this.getTimezoneOffset(),sign=offset>0?"-":"+",hours=String(Math.floor(Math.abs(offset)/60)).padStart(2,"0"),minutes=String(Math.abs(offset)%60).padStart(2,"0");return[sign,hours,minutes]}withTimeZone(timeZone){return new TZDate(+this,timeZone)}[Symbol.for("constructDateFrom")](date){return new TZDate(+new Date(date),this.timeZone)}}var maxTime=Math.pow(10,8)*24*60*60*1000,minTime=-maxTime,millisecondsInWeek=604800000,millisecondsInDay=86400000;var constructFromSymbol=Symbol.for("constructDateFrom");function constructFrom(date,value){if(typeof date==="function")return date(value);if(date&&typeof date==="object"&&constructFromSymbol in date)return date[constructFromSymbol](value);if(date instanceof Date)return new date.constructor(value);return new Date(value)}function toDate(argument,context){return constructFrom(context||argument,argument)}function addDays(date,amount,options){let _date=toDate(date,options?.in);if(isNaN(amount))return constructFrom(options?.in||date,NaN);if(!amount)return _date;return _date.setDate(_date.getDate()+amount),_date}function addMonths(date,amount,options){let _date=toDate(date,options?.in);if(isNaN(amount))return constructFrom(options?.in||date,NaN);if(!amount)return _date;let dayOfMonth=_date.getDate(),endOfDesiredMonth=constructFrom(options?.in||date,_date.getTime());endOfDesiredMonth.setMonth(_date.getMonth()+amount+1,0);let daysInMonth=endOfDesiredMonth.getDate();if(dayOfMonth>=daysInMonth)return endOfDesiredMonth;else return _date.setFullYear(endOfDesiredMonth.getFullYear(),endOfDesiredMonth.getMonth(),dayOfMonth),_date}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(date,options){let defaultOptions=getDefaultOptions(),weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,_date=toDate(date,options?.in),day=_date.getDay(),diff=(day<weekStartsOn?7:0)+day-weekStartsOn;return _date.setDate(_date.getDate()-diff),_date.setHours(0,0,0,0),_date}function startOfISOWeek(date,options){return startOfWeek(date,{...options,weekStartsOn:1})}function getISOWeekYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),fourthOfJanuaryOfNextYear=constructFrom(_date,0);fourthOfJanuaryOfNextYear.setFullYear(year+1,0,4),fourthOfJanuaryOfNextYear.setHours(0,0,0,0);let startOfNextYear=startOfISOWeek(fourthOfJanuaryOfNextYear),fourthOfJanuaryOfThisYear=constructFrom(_date,0);fourthOfJanuaryOfThisYear.setFullYear(year,0,4),fourthOfJanuaryOfThisYear.setHours(0,0,0,0);let startOfThisYear=startOfISOWeek(fourthOfJanuaryOfThisYear);if(_date.getTime()>=startOfNextYear.getTime())return year+1;else if(_date.getTime()>=startOfThisYear.getTime())return year;else return year-1}function getTimezoneOffsetInMilliseconds(date){let _date=toDate(date),utcDate=new Date(Date.UTC(_date.getFullYear(),_date.getMonth(),_date.getDate(),_date.getHours(),_date.getMinutes(),_date.getSeconds(),_date.getMilliseconds()));return utcDate.setUTCFullYear(_date.getFullYear()),+date-+utcDate}function normalizeDates(context,...dates){let normalize=constructFrom.bind(null,context||dates.find((date)=>typeof date==="object"));return dates.map(normalize)}function startOfDay(date,options){let _date=toDate(date,options?.in);return _date.setHours(0,0,0,0),_date}function differenceInCalendarDays(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate),laterStartOfDay=startOfDay(laterDate_),earlierStartOfDay=startOfDay(earlierDate_),laterTimestamp=+laterStartOfDay-getTimezoneOffsetInMilliseconds(laterStartOfDay),earlierTimestamp=+earlierStartOfDay-getTimezoneOffsetInMilliseconds(earlierStartOfDay);return Math.round((laterTimestamp-earlierTimestamp)/millisecondsInDay)}function startOfISOWeekYear(date,options){let year=getISOWeekYear(date,options),fourthOfJanuary=constructFrom(options?.in||date,0);return fourthOfJanuary.setFullYear(year,0,4),fourthOfJanuary.setHours(0,0,0,0),startOfISOWeek(fourthOfJanuary)}function addWeeks(date,amount,options){return addDays(date,amount*7,options)}function addYears(date,amount,options){return addMonths(date,amount*12,options)}function max(dates,options){let result,context=options?.in;return dates.forEach((date)=>{if(!context&&typeof date==="object")context=constructFrom.bind(null,date);let date_=toDate(date,context);if(!result||result<date_||isNaN(+date_))result=date_}),constructFrom(context,result||NaN)}function min(dates,options){let result,context=options?.in;return dates.forEach((date)=>{if(!context&&typeof date==="object")context=constructFrom.bind(null,date);let date_=toDate(date,context);if(!result||result>date_||isNaN(+date_))result=date_}),constructFrom(context,result||NaN)}function isSameDay(laterDate,earlierDate,options){let[dateLeft_,dateRight_]=normalizeDates(options?.in,laterDate,earlierDate);return+startOfDay(dateLeft_)===+startOfDay(dateRight_)}function isDate(value){return value instanceof Date||typeof value==="object"&&Object.prototype.toString.call(value)==="[object Date]"}function isValid(date){return!(!isDate(date)&&typeof date!=="number"||isNaN(+toDate(date)))}function differenceInCalendarMonths(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate),yearsDiff=laterDate_.getFullYear()-earlierDate_.getFullYear(),monthsDiff=laterDate_.getMonth()-earlierDate_.getMonth();return yearsDiff*12+monthsDiff}function endOfMonth(date,options){let _date=toDate(date,options?.in),month=_date.getMonth();return _date.setFullYear(_date.getFullYear(),month+1,0),_date.setHours(23,59,59,999),_date}function normalizeInterval(context,interval){let[start,end]=normalizeDates(context,interval.start,interval.end);return{start,end}}function eachMonthOfInterval(interval,options){let{start,end}=normalizeInterval(options?.in,interval),reversed=+start>+end,endTime=reversed?+start:+end,date=reversed?end:start;date.setHours(0,0,0,0),date.setDate(1);let step=options?.step??1;if(!step)return[];if(step<0)step=-step,reversed=!reversed;let dates=[];while(+date<=endTime)dates.push(constructFrom(start,date)),date.setMonth(date.getMonth()+step);return reversed?dates.reverse():dates}function startOfMonth(date,options){let _date=toDate(date,options?.in);return _date.setDate(1),_date.setHours(0,0,0,0),_date}function endOfYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear();return _date.setFullYear(year+1,0,0),_date.setHours(23,59,59,999),_date}function startOfYear(date,options){let date_=toDate(date,options?.in);return date_.setFullYear(date_.getFullYear(),0,1),date_.setHours(0,0,0,0),date_}function eachYearOfInterval(interval,options){let{start,end}=normalizeInterval(options?.in,interval),reversed=+start>+end,endTime=reversed?+start:+end,date=reversed?end:start;date.setHours(0,0,0,0),date.setMonth(0,1);let step=options?.step??1;if(!step)return[];if(step<0)step=-step,reversed=!reversed;let dates=[];while(+date<=endTime)dates.push(constructFrom(start,date)),date.setFullYear(date.getFullYear()+step);return reversed?dates.reverse():dates}function endOfWeek(date,options){let defaultOptions=getDefaultOptions(),weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,_date=toDate(date,options?.in),day=_date.getDay(),diff=(day<weekStartsOn?-7:0)+6-(day-weekStartsOn);return _date.setDate(_date.getDate()+diff),_date.setHours(23,59,59,999),_date}function endOfISOWeek(date,options){return endOfWeek(date,{...options,weekStartsOn:1})}var formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance=(token,count,options)=>{let result,tokenValue=formatDistanceLocale[token];if(typeof tokenValue==="string")result=tokenValue;else if(count===1)result=tokenValue.one;else result=tokenValue.other.replace("{{count}}",count.toString());if(options?.addSuffix)if(options.comparison&&options.comparison>0)return"in "+result;else return result+" ago";return result};function buildFormatLongFn(args){return(options={})=>{let width=options.width?String(options.width):args.defaultWidth;return args.formats[width]||args.formats[args.defaultWidth]}}var dateFormats={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})};var formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative=(token,_date,_baseDate,_options)=>formatRelativeLocale[token];function buildLocalizeFn(args){return(value,options)=>{let context=options?.context?String(options.context):"standalone",valuesArray;if(context==="formatting"&&args.formattingValues){let defaultWidth=args.defaultFormattingWidth||args.defaultWidth,width=options?.width?String(options.width):defaultWidth;valuesArray=args.formattingValues[width]||args.formattingValues[defaultWidth]}else{let defaultWidth=args.defaultWidth,width=options?.width?String(options.width):args.defaultWidth;valuesArray=args.values[width]||args.values[defaultWidth]}let index=args.argumentCallback?args.argumentCallback(value):value;return valuesArray[index]}}var eraValues={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dayValues={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},formattingDayPeriodValues={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ordinalNumber=(dirtyNumber,_options)=>{let number=Number(dirtyNumber),rem100=number%100;if(rem100>20||rem100<10)switch(rem100%10){case 1:return number+"st";case 2:return number+"nd";case 3:return number+"rd"}return number+"th"},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:(quarter)=>quarter-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})};function buildMatchFn(args){return(string,options={})=>{let width=options.width,matchPattern=width&&args.matchPatterns[width]||args.matchPatterns[args.defaultMatchWidth],matchResult=string.match(matchPattern);if(!matchResult)return null;let matchedString=matchResult[0],parsePatterns=width&&args.parsePatterns[width]||args.parsePatterns[args.defaultParseWidth],key=Array.isArray(parsePatterns)?findIndex(parsePatterns,(pattern)=>pattern.test(matchedString)):findKey(parsePatterns,(pattern)=>pattern.test(matchedString)),value;value=args.valueCallback?args.valueCallback(key):key,value=options.valueCallback?options.valueCallback(value):value;let rest=string.slice(matchedString.length);return{value,rest}}}function findKey(object,predicate){for(let key in object)if(Object.prototype.hasOwnProperty.call(object,key)&&predicate(object[key]))return key;return}function findIndex(array,predicate){for(let key=0;key<array.length;key++)if(predicate(array[key]))return key;return}function buildMatchPatternFn(args){return(string,options={})=>{let matchResult=string.match(args.matchPattern);if(!matchResult)return null;let matchedString=matchResult[0],parseResult=string.match(args.parsePattern);if(!parseResult)return null;let value=args.valueCallback?args.valueCallback(parseResult[0]):parseResult[0];value=options.valueCallback?options.valueCallback(value):value;let rest=string.slice(matchedString.length);return{value,rest}}}var matchOrdinalNumberPattern=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},parseEraPatterns={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},parseMonthPatterns={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},matchDayPatterns={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},parseDayPatterns={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},matchDayPeriodPatterns={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},parseDayPeriodPatterns={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:(value)=>parseInt(value,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:(index)=>index+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns,defaultParseWidth:"any"})};var enUS={code:"en-US",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(date,options){let _date=toDate(date,options?.in);return differenceInCalendarDays(_date,startOfYear(_date))+1}function getISOWeek(date,options){let _date=toDate(date,options?.in),diff=+startOfISOWeek(_date)-+startOfISOWeekYear(_date);return Math.round(diff/millisecondsInWeek)+1}function getWeekYear(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),defaultOptions=getDefaultOptions(),firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,firstWeekOfNextYear=constructFrom(options?.in||date,0);firstWeekOfNextYear.setFullYear(year+1,0,firstWeekContainsDate),firstWeekOfNextYear.setHours(0,0,0,0);let startOfNextYear=startOfWeek(firstWeekOfNextYear,options),firstWeekOfThisYear=constructFrom(options?.in||date,0);firstWeekOfThisYear.setFullYear(year,0,firstWeekContainsDate),firstWeekOfThisYear.setHours(0,0,0,0);let startOfThisYear=startOfWeek(firstWeekOfThisYear,options);if(+_date>=+startOfNextYear)return year+1;else if(+_date>=+startOfThisYear)return year;else return year-1}function startOfWeekYear(date,options){let defaultOptions=getDefaultOptions(),firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,year=getWeekYear(date,options),firstWeek=constructFrom(options?.in||date,0);return firstWeek.setFullYear(year,0,firstWeekContainsDate),firstWeek.setHours(0,0,0,0),startOfWeek(firstWeek,options)}function getWeek(date,options){let _date=toDate(date,options?.in),diff=+startOfWeek(_date,options)-+startOfWeekYear(_date,options);return Math.round(diff/millisecondsInWeek)+1}function addLeadingZeros(number,targetLength){let sign=number<0?"-":"",output=Math.abs(number).toString().padStart(targetLength,"0");return sign+output}var lightFormatters={y(date,token){let signedYear=date.getFullYear(),year=signedYear>0?signedYear:1-signedYear;return addLeadingZeros(token==="yy"?year%100:year,token.length)},M(date,token){let month=date.getMonth();return token==="M"?String(month+1):addLeadingZeros(month+1,2)},d(date,token){return addLeadingZeros(date.getDate(),token.length)},a(date,token){let dayPeriodEnumValue=date.getHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return dayPeriodEnumValue.toUpperCase();case"aaa":return dayPeriodEnumValue;case"aaaaa":return dayPeriodEnumValue[0];case"aaaa":default:return dayPeriodEnumValue==="am"?"a.m.":"p.m."}},h(date,token){return addLeadingZeros(date.getHours()%12||12,token.length)},H(date,token){return addLeadingZeros(date.getHours(),token.length)},m(date,token){return addLeadingZeros(date.getMinutes(),token.length)},s(date,token){return addLeadingZeros(date.getSeconds(),token.length)},S(date,token){let numberOfDigits=token.length,milliseconds=date.getMilliseconds(),fractionalSeconds=Math.trunc(milliseconds*Math.pow(10,numberOfDigits-3));return addLeadingZeros(fractionalSeconds,token.length)}};var dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={G:function(date,token,localize){let era=date.getFullYear()>0?1:0;switch(token){case"G":case"GG":case"GGG":return localize.era(era,{width:"abbreviated"});case"GGGGG":return localize.era(era,{width:"narrow"});case"GGGG":default:return localize.era(era,{width:"wide"})}},y:function(date,token,localize){if(token==="yo"){let signedYear=date.getFullYear(),year=signedYear>0?signedYear:1-signedYear;return localize.ordinalNumber(year,{unit:"year"})}return lightFormatters.y(date,token)},Y:function(date,token,localize,options){let signedWeekYear=getWeekYear(date,options),weekYear=signedWeekYear>0?signedWeekYear:1-signedWeekYear;if(token==="YY"){let twoDigitYear=weekYear%100;return addLeadingZeros(twoDigitYear,2)}if(token==="Yo")return localize.ordinalNumber(weekYear,{unit:"year"});return addLeadingZeros(weekYear,token.length)},R:function(date,token){let isoWeekYear=getISOWeekYear(date);return addLeadingZeros(isoWeekYear,token.length)},u:function(date,token){let year=date.getFullYear();return addLeadingZeros(year,token.length)},Q:function(date,token,localize){let quarter=Math.ceil((date.getMonth()+1)/3);switch(token){case"Q":return String(quarter);case"QQ":return addLeadingZeros(quarter,2);case"Qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"QQQ":return localize.quarter(quarter,{width:"abbreviated",context:"formatting"});case"QQQQQ":return localize.quarter(quarter,{width:"narrow",context:"formatting"});case"QQQQ":default:return localize.quarter(quarter,{width:"wide",context:"formatting"})}},q:function(date,token,localize){let quarter=Math.ceil((date.getMonth()+1)/3);switch(token){case"q":return String(quarter);case"qq":return addLeadingZeros(quarter,2);case"qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"qqq":return localize.quarter(quarter,{width:"abbreviated",context:"standalone"});case"qqqqq":return localize.quarter(quarter,{width:"narrow",context:"standalone"});case"qqqq":default:return localize.quarter(quarter,{width:"wide",context:"standalone"})}},M:function(date,token,localize){let month=date.getMonth();switch(token){case"M":case"MM":return lightFormatters.M(date,token);case"Mo":return localize.ordinalNumber(month+1,{unit:"month"});case"MMM":return localize.month(month,{width:"abbreviated",context:"formatting"});case"MMMMM":return localize.month(month,{width:"narrow",context:"formatting"});case"MMMM":default:return localize.month(month,{width:"wide",context:"formatting"})}},L:function(date,token,localize){let month=date.getMonth();switch(token){case"L":return String(month+1);case"LL":return addLeadingZeros(month+1,2);case"Lo":return localize.ordinalNumber(month+1,{unit:"month"});case"LLL":return localize.month(month,{width:"abbreviated",context:"standalone"});case"LLLLL":return localize.month(month,{width:"narrow",context:"standalone"});case"LLLL":default:return localize.month(month,{width:"wide",context:"standalone"})}},w:function(date,token,localize,options){let week=getWeek(date,options);if(token==="wo")return localize.ordinalNumber(week,{unit:"week"});return addLeadingZeros(week,token.length)},I:function(date,token,localize){let isoWeek=getISOWeek(date);if(token==="Io")return localize.ordinalNumber(isoWeek,{unit:"week"});return addLeadingZeros(isoWeek,token.length)},d:function(date,token,localize){if(token==="do")return localize.ordinalNumber(date.getDate(),{unit:"date"});return lightFormatters.d(date,token)},D:function(date,token,localize){let dayOfYear=getDayOfYear(date);if(token==="Do")return localize.ordinalNumber(dayOfYear,{unit:"dayOfYear"});return addLeadingZeros(dayOfYear,token.length)},E:function(date,token,localize){let dayOfWeek=date.getDay();switch(token){case"E":case"EE":case"EEE":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"EEEEE":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"EEEEEE":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"EEEE":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},e:function(date,token,localize,options){let dayOfWeek=date.getDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"e":return String(localDayOfWeek);case"ee":return addLeadingZeros(localDayOfWeek,2);case"eo":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"eee":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"eeeee":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"eeeeee":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"eeee":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},c:function(date,token,localize,options){let dayOfWeek=date.getDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"c":return String(localDayOfWeek);case"cc":return addLeadingZeros(localDayOfWeek,token.length);case"co":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"ccc":return localize.day(dayOfWeek,{width:"abbreviated",context:"standalone"});case"ccccc":return localize.day(dayOfWeek,{width:"narrow",context:"standalone"});case"cccccc":return localize.day(dayOfWeek,{width:"short",context:"standalone"});case"cccc":default:return localize.day(dayOfWeek,{width:"wide",context:"standalone"})}},i:function(date,token,localize){let dayOfWeek=date.getDay(),isoDayOfWeek=dayOfWeek===0?7:dayOfWeek;switch(token){case"i":return String(isoDayOfWeek);case"ii":return addLeadingZeros(isoDayOfWeek,token.length);case"io":return localize.ordinalNumber(isoDayOfWeek,{unit:"day"});case"iii":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"iiiii":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"iiiiii":return localize.day(dayOfWeek,{width:"short",context:"formatting"});case"iiii":default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},a:function(date,token,localize){let dayPeriodEnumValue=date.getHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"aaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"aaaa":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},b:function(date,token,localize){let hours=date.getHours(),dayPeriodEnumValue;if(hours===12)dayPeriodEnumValue=dayPeriodEnum.noon;else if(hours===0)dayPeriodEnumValue=dayPeriodEnum.midnight;else dayPeriodEnumValue=hours/12>=1?"pm":"am";switch(token){case"b":case"bb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"bbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"bbbb":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},B:function(date,token,localize){let hours=date.getHours(),dayPeriodEnumValue;if(hours>=17)dayPeriodEnumValue=dayPeriodEnum.evening;else if(hours>=12)dayPeriodEnumValue=dayPeriodEnum.afternoon;else if(hours>=4)dayPeriodEnumValue=dayPeriodEnum.morning;else dayPeriodEnumValue=dayPeriodEnum.night;switch(token){case"B":case"BB":case"BBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"BBBBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});case"BBBB":default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},h:function(date,token,localize){if(token==="ho"){let hours=date.getHours()%12;if(hours===0)hours=12;return localize.ordinalNumber(hours,{unit:"hour"})}return lightFormatters.h(date,token)},H:function(date,token,localize){if(token==="Ho")return localize.ordinalNumber(date.getHours(),{unit:"hour"});return lightFormatters.H(date,token)},K:function(date,token,localize){let hours=date.getHours()%12;if(token==="Ko")return localize.ordinalNumber(hours,{unit:"hour"});return addLeadingZeros(hours,token.length)},k:function(date,token,localize){let hours=date.getHours();if(hours===0)hours=24;if(token==="ko")return localize.ordinalNumber(hours,{unit:"hour"});return addLeadingZeros(hours,token.length)},m:function(date,token,localize){if(token==="mo")return localize.ordinalNumber(date.getMinutes(),{unit:"minute"});return lightFormatters.m(date,token)},s:function(date,token,localize){if(token==="so")return localize.ordinalNumber(date.getSeconds(),{unit:"second"});return lightFormatters.s(date,token)},S:function(date,token){return lightFormatters.S(date,token)},X:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();if(timezoneOffset===0)return"Z";switch(token){case"X":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"XXXX":case"XX":return formatTimezone(timezoneOffset);case"XXXXX":case"XXX":default:return formatTimezone(timezoneOffset,":")}},x:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"x":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"xxxx":case"xx":return formatTimezone(timezoneOffset);case"xxxxx":case"xxx":default:return formatTimezone(timezoneOffset,":")}},O:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(timezoneOffset,":");case"OOOO":default:return"GMT"+formatTimezone(timezoneOffset,":")}},z:function(date,token,_localize){let timezoneOffset=date.getTimezoneOffset();switch(token){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(timezoneOffset,":");case"zzzz":default:return"GMT"+formatTimezone(timezoneOffset,":")}},t:function(date,token,_localize){let timestamp=Math.trunc(+date/1000);return addLeadingZeros(timestamp,token.length)},T:function(date,token,_localize){return addLeadingZeros(+date,token.length)}};function formatTimezoneShort(offset,delimiter=""){let sign=offset>0?"-":"+",absOffset=Math.abs(offset),hours=Math.trunc(absOffset/60),minutes=absOffset%60;if(minutes===0)return sign+String(hours);return sign+String(hours)+delimiter+addLeadingZeros(minutes,2)}function formatTimezoneWithOptionalMinutes(offset,delimiter){if(offset%60===0)return(offset>0?"-":"+")+addLeadingZeros(Math.abs(offset)/60,2);return formatTimezone(offset,delimiter)}function formatTimezone(offset,delimiter=""){let sign=offset>0?"-":"+",absOffset=Math.abs(offset),hours=addLeadingZeros(Math.trunc(absOffset/60),2),minutes=addLeadingZeros(absOffset%60,2);return sign+hours+delimiter+minutes}var dateLongFormatter=(pattern,formatLong)=>{switch(pattern){case"P":return formatLong.date({width:"short"});case"PP":return formatLong.date({width:"medium"});case"PPP":return formatLong.date({width:"long"});case"PPPP":default:return formatLong.date({width:"full"})}},timeLongFormatter=(pattern,formatLong)=>{switch(pattern){case"p":return formatLong.time({width:"short"});case"pp":return formatLong.time({width:"medium"});case"ppp":return formatLong.time({width:"long"});case"pppp":default:return formatLong.time({width:"full"})}},dateTimeLongFormatter=(pattern,formatLong)=>{let matchResult=pattern.match(/(P+)(p+)?/)||[],datePattern=matchResult[1],timePattern=matchResult[2];if(!timePattern)return dateLongFormatter(pattern,formatLong);let dateTimeFormat;switch(datePattern){case"P":dateTimeFormat=formatLong.dateTime({width:"short"});break;case"PP":dateTimeFormat=formatLong.dateTime({width:"medium"});break;case"PPP":dateTimeFormat=formatLong.dateTime({width:"long"});break;case"PPPP":default:dateTimeFormat=formatLong.dateTime({width:"full"});break}return dateTimeFormat.replace("{{date}}",dateLongFormatter(datePattern,formatLong)).replace("{{time}}",timeLongFormatter(timePattern,formatLong))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter};var dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(token){return dayOfYearTokenRE.test(token)}function isProtectedWeekYearToken(token){return weekYearTokenRE.test(token)}function warnOrThrowProtectedError(token,format,input){let _message=message(token,format,input);if(console.warn(_message),throwTokens.includes(token))throw RangeError(_message)}function message(token,format,input){let subject=token[0]==="Y"?"years":"days of the month";return`Use \`${token.toLowerCase()}\` instead of \`${token}\` (in \`${format}\`) for formatting ${subject} to the input \`${input}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function format(date,formatStr,options){let defaultOptions=getDefaultOptions(),locale=options?.locale??defaultOptions.locale??enUS,firstWeekContainsDate=options?.firstWeekContainsDate??options?.locale?.options?.firstWeekContainsDate??defaultOptions.firstWeekContainsDate??defaultOptions.locale?.options?.firstWeekContainsDate??1,weekStartsOn=options?.weekStartsOn??options?.locale?.options?.weekStartsOn??defaultOptions.weekStartsOn??defaultOptions.locale?.options?.weekStartsOn??0,originalDate=toDate(date,options?.in);if(!isValid(originalDate))throw RangeError("Invalid time value");let parts=formatStr.match(longFormattingTokensRegExp).map((substring)=>{let firstCharacter=substring[0];if(firstCharacter==="p"||firstCharacter==="P"){let longFormatter=longFormatters[firstCharacter];return longFormatter(substring,locale.formatLong)}return substring}).join("").match(formattingTokensRegExp).map((substring)=>{if(substring==="''")return{isToken:!1,value:"'"};let firstCharacter=substring[0];if(firstCharacter==="'")return{isToken:!1,value:cleanEscapedString(substring)};if(formatters[firstCharacter])return{isToken:!0,value:substring};if(firstCharacter.match(unescapedLatinCharacterRegExp))throw RangeError("Format string contains an unescaped latin alphabet character `"+firstCharacter+"`");return{isToken:!1,value:substring}});if(locale.localize.preprocessor)parts=locale.localize.preprocessor(originalDate,parts);let formatterOptions={firstWeekContainsDate,weekStartsOn,locale};return parts.map((part)=>{if(!part.isToken)return part.value;let token=part.value;if(!options?.useAdditionalWeekYearTokens&&isProtectedWeekYearToken(token)||!options?.useAdditionalDayOfYearTokens&&isProtectedDayOfYearToken(token))warnOrThrowProtectedError(token,formatStr,String(date));let formatter=formatters[token[0]];return formatter(originalDate,token,locale.localize,formatterOptions)}).join("")}function cleanEscapedString(input){let matched=input.match(escapedStringRegExp);if(!matched)return input;return matched[1].replace(doubleQuoteRegExp,"'")}function getDaysInMonth(date,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),monthIndex=_date.getMonth(),lastDayOfMonth=constructFrom(_date,0);return lastDayOfMonth.setFullYear(year,monthIndex+1,0),lastDayOfMonth.setHours(0,0,0,0),lastDayOfMonth.getDate()}function getMonth(date,options){return toDate(date,options?.in).getMonth()}function getYear(date,options){return toDate(date,options?.in).getFullYear()}function isAfter(date,dateToCompare){return+toDate(date)>+toDate(dateToCompare)}function isBefore(date,dateToCompare){return+toDate(date)<+toDate(dateToCompare)}function isSameMonth(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate);return laterDate_.getFullYear()===earlierDate_.getFullYear()&&laterDate_.getMonth()===earlierDate_.getMonth()}function isSameYear(laterDate,earlierDate,options){let[laterDate_,earlierDate_]=normalizeDates(options?.in,laterDate,earlierDate);return laterDate_.getFullYear()===earlierDate_.getFullYear()}function setMonth(date,month,options){let _date=toDate(date,options?.in),year=_date.getFullYear(),day=_date.getDate(),midMonth=constructFrom(options?.in||date,0);midMonth.setFullYear(year,month,15),midMonth.setHours(0,0,0,0);let daysInMonth=getDaysInMonth(midMonth);return _date.setMonth(month,Math.min(day,daysInMonth)),_date}function setYear(date,year,options){let date_=toDate(date,options?.in);if(isNaN(+date_))return constructFrom(options?.in||date,NaN);return date_.setFullYear(year),date_}function getBroadcastWeeksInMonth(month,dateLib){let firstDayOfMonth=dateLib.startOfMonth(month),firstDayOfWeek=firstDayOfMonth.getDay()>0?firstDayOfMonth.getDay():7,broadcastStartDate=dateLib.addDays(month,-firstDayOfWeek+1),lastDateOfLastWeek=dateLib.addDays(broadcastStartDate,34);return dateLib.getMonth(month)===dateLib.getMonth(lastDateOfLastWeek)?5:4}function startOfBroadcastWeek(date,dateLib){let firstOfMonth=dateLib.startOfMonth(date),dayOfWeek=firstOfMonth.getDay();if(dayOfWeek===1)return firstOfMonth;else if(dayOfWeek===0)return dateLib.addDays(firstOfMonth,-6);else return dateLib.addDays(firstOfMonth,-1*(dayOfWeek-1))}function endOfBroadcastWeek(date,dateLib){let startDate=startOfBroadcastWeek(date,dateLib),numberOfWeeks=getBroadcastWeeksInMonth(date,dateLib);return dateLib.addDays(startDate,numberOfWeeks*7-1)}var enUS2={...enUS,labels:{labelDayButton:(date,modifiers,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});let label=formatDate(date,"PPPP");if(modifiers.today)label=`Today, ${label}`;if(modifiers.selected)label=`${label}, selected`;return label},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:(weekNumber)=>`Week ${weekNumber}`,labelYearDropdown:"Choose the Year",labelGrid:(date,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});return formatDate(date,"LLLL yyyy")},labelGridcell:(date,modifiers,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});let label=formatDate(date,"PPPP");if(modifiers?.today)label=`Today, ${label}`;return label},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(date,options,dateLib)=>{let formatDate;if(dateLib&&typeof dateLib.format==="function")formatDate=dateLib.format.bind(dateLib);else formatDate=(d,pattern)=>format(d,pattern,{locale:enUS,...options});return formatDate(date,"cccc")}}};class DateLib{constructor(options,overrides){this.today=()=>{if(this.overrides?.today)return this.overrides.today();if(this.options.timeZone)return TZDate.tz(this.options.timeZone);return new(this.options.Date??Date)},this.newDate=(year,monthIndex,date)=>{if(this.overrides?.newDate)return this.overrides.newDate(year,monthIndex,date);if(this.options.timeZone)return new TZDate(year,monthIndex,date,this.options.timeZone);return new Date(year,monthIndex,date)},this.addDays=(date,amount)=>this.overrides?.addDays?this.overrides.addDays(date,amount):addDays(date,amount),this.addMonths=(date,amount)=>this.overrides?.addMonths?this.overrides.addMonths(date,amount):addMonths(date,amount),this.addWeeks=(date,amount)=>this.overrides?.addWeeks?this.overrides.addWeeks(date,amount):addWeeks(date,amount),this.addYears=(date,amount)=>this.overrides?.addYears?this.overrides.addYears(date,amount):addYears(date,amount),this.differenceInCalendarDays=(dateLeft,dateRight)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(dateLeft,dateRight):differenceInCalendarDays(dateLeft,dateRight),this.differenceInCalendarMonths=(dateLeft,dateRight)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(dateLeft,dateRight):differenceInCalendarMonths(dateLeft,dateRight),this.eachMonthOfInterval=(interval)=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(interval):eachMonthOfInterval(interval),this.eachYearOfInterval=(interval)=>{let years=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(interval):eachYearOfInterval(interval),uniqueYears=new Set(years.map((d)=>this.getYear(d)));if(uniqueYears.size===years.length)return years;let yearsArray=[];return uniqueYears.forEach((y)=>{yearsArray.push(new Date(y,0,1))}),yearsArray},this.endOfBroadcastWeek=(date)=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(date):endOfBroadcastWeek(date,this),this.endOfISOWeek=(date)=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(date):endOfISOWeek(date),this.endOfMonth=(date)=>this.overrides?.endOfMonth?this.overrides.endOfMonth(date):endOfMonth(date),this.endOfWeek=(date,options)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(date,options):endOfWeek(date,this.options),this.endOfYear=(date)=>this.overrides?.endOfYear?this.overrides.endOfYear(date):endOfYear(date),this.format=(date,formatStr,_options)=>{let formatted=this.overrides?.format?this.overrides.format(date,formatStr,this.options):format(date,formatStr,this.options);if(this.options.numerals&&this.options.numerals!=="latn")return this.replaceDigits(formatted);return formatted},this.getISOWeek=(date)=>this.overrides?.getISOWeek?this.overrides.getISOWeek(date):getISOWeek(date),this.getMonth=(date,_options)=>this.overrides?.getMonth?this.overrides.getMonth(date,this.options):getMonth(date,this.options),this.getYear=(date,_options)=>this.overrides?.getYear?this.overrides.getYear(date,this.options):getYear(date,this.options),this.getWeek=(date,_options)=>this.overrides?.getWeek?this.overrides.getWeek(date,this.options):getWeek(date,this.options),this.isAfter=(date,dateToCompare)=>this.overrides?.isAfter?this.overrides.isAfter(date,dateToCompare):isAfter(date,dateToCompare),this.isBefore=(date,dateToCompare)=>this.overrides?.isBefore?this.overrides.isBefore(date,dateToCompare):isBefore(date,dateToCompare),this.isDate=(value)=>this.overrides?.isDate?this.overrides.isDate(value):isDate(value),this.isSameDay=(dateLeft,dateRight)=>this.overrides?.isSameDay?this.overrides.isSameDay(dateLeft,dateRight):isSameDay(dateLeft,dateRight),this.isSameMonth=(dateLeft,dateRight)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(dateLeft,dateRight):isSameMonth(dateLeft,dateRight),this.isSameYear=(dateLeft,dateRight)=>this.overrides?.isSameYear?this.overrides.isSameYear(dateLeft,dateRight):isSameYear(dateLeft,dateRight),this.max=(dates)=>this.overrides?.max?this.overrides.max(dates):max(dates),this.min=(dates)=>this.overrides?.min?this.overrides.min(dates):min(dates),this.setMonth=(date,month)=>this.overrides?.setMonth?this.overrides.setMonth(date,month):setMonth(date,month),this.setYear=(date,year)=>this.overrides?.setYear?this.overrides.setYear(date,year):setYear(date,year),this.startOfBroadcastWeek=(date,_dateLib)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(date,this):startOfBroadcastWeek(date,this),this.startOfDay=(date)=>this.overrides?.startOfDay?this.overrides.startOfDay(date):startOfDay(date),this.startOfISOWeek=(date)=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(date):startOfISOWeek(date),this.startOfMonth=(date)=>this.overrides?.startOfMonth?this.overrides.startOfMonth(date):startOfMonth(date),this.startOfWeek=(date,_options)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(date,this.options):startOfWeek(date,this.options),this.startOfYear=(date)=>this.overrides?.startOfYear?this.overrides.startOfYear(date):startOfYear(date),this.options={locale:enUS2,...options},this.overrides=overrides}getDigitMap(){let{numerals="latn"}=this.options,formatter=new Intl.NumberFormat("en-US",{numberingSystem:numerals}),digitMap={};for(let i=0;i<10;i++)digitMap[i.toString()]=formatter.format(i);return digitMap}replaceDigits(input){let digitMap=this.getDigitMap();return input.replace(/\d/g,(digit)=>digitMap[digit]||digit)}formatNumber(value){return this.replaceDigits(value.toString())}getMonthYearOrder(){let code=this.options.locale?.code;if(!code)return"month-first";return DateLib.yearFirstLocales.has(code)?"year-first":"month-first"}formatMonthYear(date){let{locale,timeZone,numerals}=this.options,localeCode=locale?.code;if(localeCode&&DateLib.yearFirstLocales.has(localeCode))try{return new Intl.DateTimeFormat(localeCode,{month:"long",year:"numeric",timeZone,numberingSystem:numerals}).format(date)}catch{}let pattern=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(date,pattern)}}DateLib.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);var defaultDateLib=new DateLib;class CalendarDay{constructor(date,displayMonth,dateLib=defaultDateLib){this.date=date,this.displayMonth=displayMonth,this.outside=Boolean(displayMonth&&!dateLib.isSameMonth(date,displayMonth)),this.dateLib=dateLib,this.isoDate=dateLib.format(date,"yyyy-MM-dd"),this.displayMonthId=dateLib.format(displayMonth,"yyyy-MM"),this.dateMonthId=dateLib.format(date,"yyyy-MM")}isEqualTo(day){return this.dateLib.isSameDay(day.date,this.date)&&this.dateLib.isSameMonth(day.displayMonth,this.displayMonth)}}class CalendarMonth{constructor(month,weeks){this.date=month,this.weeks=weeks}}class CalendarWeek{constructor(weekNumber,days){this.days=days,this.weekNumber=weekNumber}}var exports_custom_components={};__export(exports_custom_components,{CaptionLabel:()=>CaptionLabel,Chevron:()=>Chevron,Day:()=>Day,DayButton:()=>DayButton,Dropdown:()=>Dropdown,DropdownNav:()=>DropdownNav,Footer:()=>Footer,Month:()=>Month,MonthCaption:()=>MonthCaption,MonthGrid:()=>MonthGrid,Months:()=>Months,MonthsDropdown:()=>MonthsDropdown,Nav:()=>Nav,NextMonthButton:()=>NextMonthButton,Option:()=>Option,PreviousMonthButton:()=>PreviousMonthButton,Root:()=>Root11,Select:()=>Select2,Week:()=>Week,WeekNumber:()=>WeekNumber,WeekNumberHeader:()=>WeekNumberHeader,Weekday:()=>Weekday,Weekdays:()=>Weekdays,Weeks:()=>Weeks,YearsDropdown:()=>YearsDropdown});var import_react6=__toESM(require_react_development(),1);function CaptionLabel(props){return import_react6.default.createElement("span",{...props})}var import_react7=__toESM(require_react_development(),1);function Chevron(props){let{size=24,orientation="left",className,style}=props;return import_react7.default.createElement("svg",{className,style,width:size,height:size,viewBox:"0 0 24 24"},orientation==="up"&&import_react7.default.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),orientation==="down"&&import_react7.default.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),orientation==="left"&&import_react7.default.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),orientation==="right"&&import_react7.default.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}var import_react8=__toESM(require_react_development(),1);function Day(props){let{day,modifiers,...tdProps}=props;return import_react8.default.createElement("td",{...tdProps})}var import_react9=__toESM(require_react_development(),1);function DayButton(props){let{day,modifiers,...buttonProps}=props,ref=import_react9.default.useRef(null);return import_react9.default.useEffect(()=>{if(modifiers.focused)ref.current?.focus()},[modifiers.focused]),import_react9.default.createElement("button",{ref,...buttonProps})}var import_react11=__toESM(require_react_development(),1);var UI;(function(UI){UI.Root="root",UI.Chevron="chevron",UI.Day="day",UI.DayButton="day_button",UI.CaptionLabel="caption_label",UI.Dropdowns="dropdowns",UI.Dropdown="dropdown",UI.DropdownRoot="dropdown_root",UI.Footer="footer",UI.MonthGrid="month_grid",UI.MonthCaption="month_caption",UI.MonthsDropdown="months_dropdown",UI.Month="month",UI.Months="months",UI.Nav="nav",UI.NextMonthButton="button_next",UI.PreviousMonthButton="button_previous",UI.Week="week",UI.Weeks="weeks",UI.Weekday="weekday",UI.Weekdays="weekdays",UI.WeekNumber="week_number",UI.WeekNumberHeader="week_number_header",UI.YearsDropdown="years_dropdown"})(UI||(UI={}));var DayFlag;(function(DayFlag){DayFlag.disabled="disabled",DayFlag.hidden="hidden",DayFlag.outside="outside",DayFlag.focused="focused",DayFlag.today="today"})(DayFlag||(DayFlag={}));var SelectionState;(function(SelectionState){SelectionState.range_end="range_end",SelectionState.range_middle="range_middle",SelectionState.range_start="range_start",SelectionState.selected="selected"})(SelectionState||(SelectionState={}));var Animation;(function(Animation){Animation.weeks_before_enter="weeks_before_enter",Animation.weeks_before_exit="weeks_before_exit",Animation.weeks_after_enter="weeks_after_enter",Animation.weeks_after_exit="weeks_after_exit",Animation.caption_after_enter="caption_after_enter",Animation.caption_after_exit="caption_after_exit",Animation.caption_before_enter="caption_before_enter",Animation.caption_before_exit="caption_before_exit"})(Animation||(Animation={}));var import_react10=__toESM(require_react_development(),1),dayPickerContext=import_react10.createContext(void 0);function useDayPicker(){let context=import_react10.useContext(dayPickerContext);if(context===void 0)throw Error("useDayPicker() must be used within a custom component.");return context}function Dropdown(props){let{options,className,...selectProps}=props,{classNames,components,styles}=useDayPicker(),cssClassSelect=[classNames[UI.Dropdown],className].join(" "),selectedOption=options?.find(({value})=>value===selectProps.value);return import_react11.default.createElement("span",{"data-disabled":selectProps.disabled,className:classNames[UI.DropdownRoot],style:styles?.[UI.DropdownRoot]},import_react11.default.createElement(components.Select,{className:cssClassSelect,...selectProps},options?.map(({value,label,disabled})=>import_react11.default.createElement(components.Option,{key:value,value,disabled},label))),import_react11.default.createElement("span",{className:classNames[UI.CaptionLabel],style:styles?.[UI.CaptionLabel],"aria-hidden":!0},selectedOption?.label,import_react11.default.createElement(components.Chevron,{orientation:"down",size:18,className:classNames[UI.Chevron],style:styles?.[UI.Chevron]})))}var import_react12=__toESM(require_react_development(),1);function DropdownNav(props){return import_react12.default.createElement("div",{...props})}var import_react13=__toESM(require_react_development(),1);function Footer(props){return import_react13.default.createElement("div",{...props})}var import_react14=__toESM(require_react_development(),1);function Month(props){let{calendarMonth,displayIndex,...divProps}=props;return import_react14.default.createElement("div",{...divProps},props.children)}var import_react15=__toESM(require_react_development(),1);function MonthCaption(props){let{calendarMonth,displayIndex,...divProps}=props;return import_react15.default.createElement("div",{...divProps})}var import_react16=__toESM(require_react_development(),1);function MonthGrid(props){return import_react16.default.createElement("table",{...props})}var import_react17=__toESM(require_react_development(),1);function Months(props){return import_react17.default.createElement("div",{...props})}var import_react18=__toESM(require_react_development(),1);function MonthsDropdown(props){let{components}=useDayPicker();return import_react18.default.createElement(components.Dropdown,{...props})}var import_react19=__toESM(require_react_development(),1);function Nav(props){let{onPreviousClick,onNextClick,previousMonth,nextMonth,...navProps}=props,{components,classNames,styles,labels:{labelPrevious,labelNext}}=useDayPicker(),handleNextClick=import_react19.useCallback((e)=>{if(nextMonth)onNextClick?.(e)},[nextMonth,onNextClick]),handlePreviousClick=import_react19.useCallback((e)=>{if(previousMonth)onPreviousClick?.(e)},[previousMonth,onPreviousClick]);return import_react19.default.createElement("nav",{...navProps},import_react19.default.createElement(components.PreviousMonthButton,{type:"button",className:classNames[UI.PreviousMonthButton],style:styles?.[UI.PreviousMonthButton],tabIndex:previousMonth?void 0:-1,"aria-disabled":previousMonth?void 0:!0,"aria-label":labelPrevious(previousMonth),onClick:handlePreviousClick},import_react19.default.createElement(components.Chevron,{disabled:previousMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:"left"})),import_react19.default.createElement(components.NextMonthButton,{type:"button",className:classNames[UI.NextMonthButton],style:styles?.[UI.NextMonthButton],tabIndex:nextMonth?void 0:-1,"aria-disabled":nextMonth?void 0:!0,"aria-label":labelNext(nextMonth),onClick:handleNextClick},import_react19.default.createElement(components.Chevron,{disabled:nextMonth?void 0:!0,orientation:"right",className:classNames[UI.Chevron],style:styles?.[UI.Chevron]})))}var import_react20=__toESM(require_react_development(),1);function NextMonthButton(props){return import_react20.default.createElement("button",{...props})}var import_react21=__toESM(require_react_development(),1);function Option(props){return import_react21.default.createElement("option",{...props})}var import_react22=__toESM(require_react_development(),1);function PreviousMonthButton(props){return import_react22.default.createElement("button",{...props})}var import_react23=__toESM(require_react_development(),1);function Root11(props){let{rootRef,...rest}=props;return import_react23.default.createElement("div",{...rest,ref:rootRef})}var import_react24=__toESM(require_react_development(),1);function Select2(props){return import_react24.default.createElement("select",{...props})}var import_react25=__toESM(require_react_development(),1);function Week(props){let{week,...trProps}=props;return import_react25.default.createElement("tr",{...trProps})}var import_react26=__toESM(require_react_development(),1);function Weekday(props){return import_react26.default.createElement("th",{...props})}var import_react27=__toESM(require_react_development(),1);function Weekdays(props){return import_react27.default.createElement("thead",{"aria-hidden":!0},import_react27.default.createElement("tr",{...props}))}var import_react28=__toESM(require_react_development(),1);function WeekNumber(props){let{week,...thProps}=props;return import_react28.default.createElement("th",{...thProps})}var import_react29=__toESM(require_react_development(),1);function WeekNumberHeader(props){return import_react29.default.createElement("th",{...props})}var import_react30=__toESM(require_react_development(),1);function Weeks(props){return import_react30.default.createElement("tbody",{...props})}var import_react31=__toESM(require_react_development(),1);function YearsDropdown(props){let{components}=useDayPicker();return import_react31.default.createElement(components.Dropdown,{...props})}var import_react36=__toESM(require_react_development(),1);function rangeIncludesDate(range,date,excludeEnds=!1,dateLib=defaultDateLib){let{from,to}=range,{differenceInCalendarDays,isSameDay}=dateLib;if(from&&to){if(differenceInCalendarDays(to,from)<0)[from,to]=[to,from];return differenceInCalendarDays(date,from)>=(excludeEnds?1:0)&&differenceInCalendarDays(to,date)>=(excludeEnds?1:0)}if(!excludeEnds&&to)return isSameDay(to,date);if(!excludeEnds&&from)return isSameDay(from,date);return!1}function isDateInterval(matcher){return Boolean(matcher&&typeof matcher==="object"&&"before"in matcher&&"after"in matcher)}function isDateRange(value){return Boolean(value&&typeof value==="object"&&"from"in value)}function isDateAfterType(value){return Boolean(value&&typeof value==="object"&&"after"in value)}function isDateBeforeType(value){return Boolean(value&&typeof value==="object"&&"before"in value)}function isDayOfWeekType(value){return Boolean(value&&typeof value==="object"&&"dayOfWeek"in value)}function isDatesArray(value,dateLib){return Array.isArray(value)&&value.every(dateLib.isDate)}function dateMatchModifiers(date,matchers,dateLib=defaultDateLib){let matchersArr=!Array.isArray(matchers)?[matchers]:matchers,{isSameDay,differenceInCalendarDays,isAfter}=dateLib;return matchersArr.some((matcher)=>{if(typeof matcher==="boolean")return matcher;if(dateLib.isDate(matcher))return isSameDay(date,matcher);if(isDatesArray(matcher,dateLib))return matcher.some((matcherDate)=>isSameDay(date,matcherDate));if(isDateRange(matcher))return rangeIncludesDate(matcher,date,!1,dateLib);if(isDayOfWeekType(matcher)){if(!Array.isArray(matcher.dayOfWeek))return matcher.dayOfWeek===date.getDay();return matcher.dayOfWeek.includes(date.getDay())}if(isDateInterval(matcher)){let diffBefore=differenceInCalendarDays(matcher.before,date),diffAfter=differenceInCalendarDays(matcher.after,date),isDayBefore=diffBefore>0,isDayAfter=diffAfter<0;if(isAfter(matcher.before,matcher.after))return isDayAfter&&isDayBefore;else return isDayBefore||isDayAfter}if(isDateAfterType(matcher))return differenceInCalendarDays(date,matcher.after)>0;if(isDateBeforeType(matcher))return differenceInCalendarDays(matcher.before,date)>0;if(typeof matcher==="function")return matcher(date);return!1})}function createGetModifiers(days,props,navStart,navEnd,dateLib){let{disabled,hidden,modifiers,showOutsideDays,broadcastCalendar,today=dateLib.today()}=props,{isSameDay,isSameMonth,startOfMonth,isBefore,endOfMonth,isAfter}=dateLib,computedNavStart=navStart&&startOfMonth(navStart),computedNavEnd=navEnd&&endOfMonth(navEnd),internalModifiersMap={[DayFlag.focused]:[],[DayFlag.outside]:[],[DayFlag.disabled]:[],[DayFlag.hidden]:[],[DayFlag.today]:[]},customModifiersMap={};for(let day of days){let{date,displayMonth}=day,isOutside=Boolean(displayMonth&&!isSameMonth(date,displayMonth)),isBeforeNavStart=Boolean(computedNavStart&&isBefore(date,computedNavStart)),isAfterNavEnd=Boolean(computedNavEnd&&isAfter(date,computedNavEnd)),isDisabled=Boolean(disabled&&dateMatchModifiers(date,disabled,dateLib)),isHidden=Boolean(hidden&&dateMatchModifiers(date,hidden,dateLib))||isBeforeNavStart||isAfterNavEnd||!broadcastCalendar&&!showOutsideDays&&isOutside||broadcastCalendar&&showOutsideDays===!1&&isOutside,isToday=isSameDay(date,today);if(isOutside)internalModifiersMap.outside.push(day);if(isDisabled)internalModifiersMap.disabled.push(day);if(isHidden)internalModifiersMap.hidden.push(day);if(isToday)internalModifiersMap.today.push(day);if(modifiers)Object.keys(modifiers).forEach((name)=>{let modifierValue=modifiers?.[name];if(!(modifierValue?dateMatchModifiers(date,modifierValue,dateLib):!1))return;if(customModifiersMap[name])customModifiersMap[name].push(day);else customModifiersMap[name]=[day]})}return(day)=>{let dayFlags={[DayFlag.focused]:!1,[DayFlag.disabled]:!1,[DayFlag.hidden]:!1,[DayFlag.outside]:!1,[DayFlag.today]:!1},customModifiers={};for(let name in internalModifiersMap){let days=internalModifiersMap[name];dayFlags[name]=days.some((d)=>d===day)}for(let name in customModifiersMap)customModifiers[name]=customModifiersMap[name].some((d)=>d===day);return{...dayFlags,...customModifiers}}}function getClassNamesForModifiers(modifiers,classNames,modifiersClassNames={}){return Object.entries(modifiers).filter(([,active])=>active===!0).reduce((previousValue,[key])=>{if(modifiersClassNames[key])previousValue.push(modifiersClassNames[key]);else if(classNames[DayFlag[key]])previousValue.push(classNames[DayFlag[key]]);else if(classNames[SelectionState[key]])previousValue.push(classNames[SelectionState[key]]);return previousValue},[classNames[UI.Day]])}function getComponents(customComponents){return{...exports_custom_components,...customComponents}}function getDataAttributes(props){let dataAttributes={"data-mode":props.mode??void 0,"data-required":"required"in props?props.required:void 0,"data-multiple-months":props.numberOfMonths&&props.numberOfMonths>1||void 0,"data-week-numbers":props.showWeekNumber||void 0,"data-broadcast-calendar":props.broadcastCalendar||void 0,"data-nav-layout":props.navLayout||void 0};return Object.entries(props).forEach(([key,val])=>{if(key.startsWith("data-"))dataAttributes[key]=val}),dataAttributes}function getDefaultClassNames(){let classNames={};for(let key in UI)classNames[UI[key]]=`rdp-${UI[key]}`;for(let key in DayFlag)classNames[DayFlag[key]]=`rdp-${DayFlag[key]}`;for(let key in SelectionState)classNames[SelectionState[key]]=`rdp-${SelectionState[key]}`;for(let key in Animation)classNames[Animation[key]]=`rdp-${Animation[key]}`;return classNames}var exports_formatters={};__export(exports_formatters,{formatCaption:()=>formatCaption,formatDay:()=>formatDay,formatMonthDropdown:()=>formatMonthDropdown,formatWeekNumber:()=>formatWeekNumber,formatWeekNumberHeader:()=>formatWeekNumberHeader,formatWeekdayName:()=>formatWeekdayName,formatYearDropdown:()=>formatYearDropdown});function formatCaption(month,options,dateLib){return(dateLib??new DateLib(options)).formatMonthYear(month)}function formatDay(date,options,dateLib){return(dateLib??new DateLib(options)).format(date,"d")}function formatMonthDropdown(month,dateLib=defaultDateLib){return dateLib.format(month,"LLLL")}function formatWeekdayName(weekday,options,dateLib){return(dateLib??new DateLib(options)).format(weekday,"cccccc")}function formatWeekNumber(weekNumber,dateLib=defaultDateLib){if(weekNumber<10)return dateLib.formatNumber(`0${weekNumber.toLocaleString()}`);return dateLib.formatNumber(`${weekNumber.toLocaleString()}`)}function formatWeekNumberHeader(){return""}function formatYearDropdown(year,dateLib=defaultDateLib){return dateLib.format(year,"yyyy")}function getFormatters(customFormatters){return{...exports_formatters,...customFormatters}}var exports_labels={};__export(exports_labels,{labelDayButton:()=>labelDayButton,labelGrid:()=>labelGrid,labelGridcell:()=>labelGridcell,labelMonthDropdown:()=>labelMonthDropdown,labelNav:()=>labelNav,labelNext:()=>labelNext,labelPrevious:()=>labelPrevious,labelWeekNumber:()=>labelWeekNumber,labelWeekNumberHeader:()=>labelWeekNumberHeader,labelWeekday:()=>labelWeekday,labelYearDropdown:()=>labelYearDropdown});function labelDayButton(date,modifiers,options,dateLib){let label=(dateLib??new DateLib(options)).format(date,"PPPP");if(modifiers.today)label=`Today, ${label}`;if(modifiers.selected)label=`${label}, selected`;return label}function labelGrid(date,options,dateLib){return(dateLib??new DateLib(options)).formatMonthYear(date)}function labelGridcell(date,modifiers,options,dateLib){let label=(dateLib??new DateLib(options)).format(date,"PPPP");if(modifiers?.today)label=`Today, ${label}`;return label}function labelMonthDropdown(_options){return"Choose the Month"}function labelNav(){return""}function labelNext(_month,_options){return"Go to the Next Month"}function labelPrevious(_month){return"Go to the Previous Month"}function labelWeekday(date,options,dateLib){return(dateLib??new DateLib(options)).format(date,"cccc")}function labelWeekNumber(weekNumber,_options){return`Week ${weekNumber}`}function labelWeekNumberHeader(_options){return"Week Number"}function labelYearDropdown(_options){return"Choose the Year"}var resolveLabel=(defaultLabel,customLabel,localeLabel)=>{if(customLabel)return customLabel;if(localeLabel)return typeof localeLabel==="function"?localeLabel:(..._args)=>localeLabel;return defaultLabel};function getLabels(customLabels,options){let localeLabels=options.locale?.labels??{};return{...exports_labels,...customLabels??{},labelDayButton:resolveLabel(labelDayButton,customLabels?.labelDayButton,localeLabels.labelDayButton),labelMonthDropdown:resolveLabel(labelMonthDropdown,customLabels?.labelMonthDropdown,localeLabels.labelMonthDropdown),labelNext:resolveLabel(labelNext,customLabels?.labelNext,localeLabels.labelNext),labelPrevious:resolveLabel(labelPrevious,customLabels?.labelPrevious,localeLabels.labelPrevious),labelWeekNumber:resolveLabel(labelWeekNumber,customLabels?.labelWeekNumber,localeLabels.labelWeekNumber),labelYearDropdown:resolveLabel(labelYearDropdown,customLabels?.labelYearDropdown,localeLabels.labelYearDropdown),labelGrid:resolveLabel(labelGrid,customLabels?.labelGrid,localeLabels.labelGrid),labelGridcell:resolveLabel(labelGridcell,customLabels?.labelGridcell,localeLabels.labelGridcell),labelNav:resolveLabel(labelNav,customLabels?.labelNav,localeLabels.labelNav),labelWeekNumberHeader:resolveLabel(labelWeekNumberHeader,customLabels?.labelWeekNumberHeader,localeLabels.labelWeekNumberHeader),labelWeekday:resolveLabel(labelWeekday,customLabels?.labelWeekday,localeLabels.labelWeekday)}}function getMonthOptions(displayMonth,navStart,navEnd,formatters,dateLib){let{startOfMonth,startOfYear,endOfYear,eachMonthOfInterval,getMonth}=dateLib;return eachMonthOfInterval({start:startOfYear(displayMonth),end:endOfYear(displayMonth)}).map((month)=>{let label=formatters.formatMonthDropdown(month,dateLib),value=getMonth(month),disabled=navStart&&month<startOfMonth(navStart)||navEnd&&month>startOfMonth(navEnd)||!1;return{value,label,disabled}})}function getStyleForModifiers(dayModifiers,styles={},modifiersStyles={}){let style={...styles?.[UI.Day]};return Object.entries(dayModifiers).filter(([,active])=>active===!0).forEach(([modifier])=>{style={...style,...modifiersStyles?.[modifier]}}),style}function getWeekdays(dateLib,ISOWeek,broadcastCalendar,today){let referenceToday=today??dateLib.today(),start=broadcastCalendar?dateLib.startOfBroadcastWeek(referenceToday,dateLib):ISOWeek?dateLib.startOfISOWeek(referenceToday):dateLib.startOfWeek(referenceToday),days=[];for(let i=0;i<7;i++){let day=dateLib.addDays(start,i);days.push(day)}return days}function getYearOptions(navStart,navEnd,formatters,dateLib,reverse=!1){if(!navStart)return;if(!navEnd)return;let{startOfYear,endOfYear,eachYearOfInterval,getYear}=dateLib,firstNavYear=startOfYear(navStart),lastNavYear=endOfYear(navEnd),years=eachYearOfInterval({start:firstNavYear,end:lastNavYear});if(reverse)years.reverse();return years.map((year)=>{let label=formatters.formatYearDropdown(year,dateLib);return{value:getYear(year),label,disabled:!1}})}function createNoonOverrides(timeZone,options={}){let{weekStartsOn,locale}=options,fallbackWeekStartsOn=weekStartsOn??locale?.options?.weekStartsOn??0,toNoonTZDate=(date)=>{let normalizedDate=typeof date==="number"||typeof date==="string"?new Date(date):date;return new TZDate(normalizedDate.getFullYear(),normalizedDate.getMonth(),normalizedDate.getDate(),12,0,0,timeZone)},toCalendarDate=(date)=>{let zoned=toNoonTZDate(date);return new Date(zoned.getFullYear(),zoned.getMonth(),zoned.getDate(),0,0,0,0)};return{today:()=>toNoonTZDate(TZDate.tz(timeZone)),newDate:(year,monthIndex,date)=>new TZDate(year,monthIndex,date,12,0,0,timeZone),startOfDay:(date)=>toNoonTZDate(date),startOfWeek:(date,options)=>{let base=toNoonTZDate(date),weekStartsOnValue=options?.weekStartsOn??fallbackWeekStartsOn,diff=(base.getDay()-weekStartsOnValue+7)%7;return base.setDate(base.getDate()-diff),base},startOfISOWeek:(date)=>{let base=toNoonTZDate(date),diff=(base.getDay()-1+7)%7;return base.setDate(base.getDate()-diff),base},startOfMonth:(date)=>{let base=toNoonTZDate(date);return base.setDate(1),base},startOfYear:(date)=>{let base=toNoonTZDate(date);return base.setMonth(0,1),base},endOfWeek:(date,options)=>{let base=toNoonTZDate(date),diff=(((options?.weekStartsOn??fallbackWeekStartsOn)+6)%7-base.getDay()+7)%7;return base.setDate(base.getDate()+diff),base},endOfISOWeek:(date)=>{let base=toNoonTZDate(date),diff=(7-base.getDay())%7;return base.setDate(base.getDate()+diff),base},endOfMonth:(date)=>{let base=toNoonTZDate(date);return base.setMonth(base.getMonth()+1,0),base},endOfYear:(date)=>{let base=toNoonTZDate(date);return base.setMonth(11,31),base},eachMonthOfInterval:(interval)=>{let start=toNoonTZDate(interval.start),end=toNoonTZDate(interval.end),result=[],cursor=new TZDate(start.getFullYear(),start.getMonth(),1,12,0,0,timeZone),endKey=end.getFullYear()*12+end.getMonth();while(cursor.getFullYear()*12+cursor.getMonth()<=endKey)result.push(new TZDate(cursor,timeZone)),cursor.setMonth(cursor.getMonth()+1,1);return result},addDays:(date,amount)=>{let base=toNoonTZDate(date);return base.setDate(base.getDate()+amount),base},addWeeks:(date,amount)=>{let base=toNoonTZDate(date);return base.setDate(base.getDate()+amount*7),base},addMonths:(date,amount)=>{let base=toNoonTZDate(date);return base.setMonth(base.getMonth()+amount),base},addYears:(date,amount)=>{let base=toNoonTZDate(date);return base.setFullYear(base.getFullYear()+amount),base},eachYearOfInterval:(interval)=>{let start=toNoonTZDate(interval.start),end=toNoonTZDate(interval.end),years=[],cursor=new TZDate(start.getFullYear(),0,1,12,0,0,timeZone);while(cursor.getFullYear()<=end.getFullYear())years.push(new TZDate(cursor,timeZone)),cursor.setFullYear(cursor.getFullYear()+1,0,1);return years},getWeek:(date,options)=>{let base=toCalendarDate(date);return getWeek(base,{weekStartsOn:options?.weekStartsOn??fallbackWeekStartsOn,firstWeekContainsDate:options?.firstWeekContainsDate??locale?.options?.firstWeekContainsDate??1})},getISOWeek:(date)=>{let base=toCalendarDate(date);return getISOWeek(base)},differenceInCalendarDays:(dateLeft,dateRight)=>{let left=toCalendarDate(dateLeft),right=toCalendarDate(dateRight);return differenceInCalendarDays(left,right)},differenceInCalendarMonths:(dateLeft,dateRight)=>{let left=toCalendarDate(dateLeft),right=toCalendarDate(dateRight);return differenceInCalendarMonths(left,right)}}}var import_react32=__toESM(require_react_development(),1);var asHtmlElement=(element)=>{if(element instanceof HTMLElement)return element;return null},queryMonthEls=(element)=>[...element.querySelectorAll("[data-animated-month]")??[]],queryMonthEl=(element)=>asHtmlElement(element.querySelector("[data-animated-month]")),queryCaptionEl=(element)=>asHtmlElement(element.querySelector("[data-animated-caption]")),queryWeeksEl=(element)=>asHtmlElement(element.querySelector("[data-animated-weeks]")),queryNavEl=(element)=>asHtmlElement(element.querySelector("[data-animated-nav]")),queryWeekdaysEl=(element)=>asHtmlElement(element.querySelector("[data-animated-weekdays]"));function useAnimation(rootElRef,enabled,{classNames,months,focused,dateLib}){let previousRootElSnapshotRef=import_react32.useRef(null),previousMonthsRef=import_react32.useRef(months),animatingRef=import_react32.useRef(!1);import_react32.useLayoutEffect(()=>{let previousMonths=previousMonthsRef.current;if(previousMonthsRef.current=months,!enabled||!rootElRef.current||!(rootElRef.current instanceof HTMLElement)||months.length===0||previousMonths.length===0||months.length!==previousMonths.length)return;let isSameMonth=dateLib.isSameMonth(months[0].date,previousMonths[0].date),isAfterPreviousMonth=dateLib.isAfter(months[0].date,previousMonths[0].date),captionAnimationClass=isAfterPreviousMonth?classNames[Animation.caption_after_enter]:classNames[Animation.caption_before_enter],weeksAnimationClass=isAfterPreviousMonth?classNames[Animation.weeks_after_enter]:classNames[Animation.weeks_before_enter],previousRootElSnapshot=previousRootElSnapshotRef.current,rootElSnapshot=rootElRef.current.cloneNode(!0);if(rootElSnapshot instanceof HTMLElement)queryMonthEls(rootElSnapshot).forEach((currentMonthElSnapshot)=>{if(!(currentMonthElSnapshot instanceof HTMLElement))return;let previousMonthElSnapshot=queryMonthEl(currentMonthElSnapshot);if(previousMonthElSnapshot&&currentMonthElSnapshot.contains(previousMonthElSnapshot))currentMonthElSnapshot.removeChild(previousMonthElSnapshot);let captionEl=queryCaptionEl(currentMonthElSnapshot);if(captionEl)captionEl.classList.remove(captionAnimationClass);let weeksEl=queryWeeksEl(currentMonthElSnapshot);if(weeksEl)weeksEl.classList.remove(weeksAnimationClass)}),previousRootElSnapshotRef.current=rootElSnapshot;else previousRootElSnapshotRef.current=null;if(animatingRef.current||isSameMonth||focused)return;let previousMonthEls=previousRootElSnapshot instanceof HTMLElement?queryMonthEls(previousRootElSnapshot):[],currentMonthEls=queryMonthEls(rootElRef.current);if(currentMonthEls?.every((el)=>el instanceof HTMLElement)&&previousMonthEls?.every((el)=>el instanceof HTMLElement)){animatingRef.current=!0;let cleanUpFunctions=[];rootElRef.current.style.isolation="isolate";let navEl=queryNavEl(rootElRef.current);if(navEl)navEl.style.zIndex="1";currentMonthEls.forEach((currentMonthEl,index)=>{let previousMonthEl=previousMonthEls[index];if(!previousMonthEl)return;currentMonthEl.style.position="relative",currentMonthEl.style.overflow="hidden";let captionEl=queryCaptionEl(currentMonthEl);if(captionEl)captionEl.classList.add(captionAnimationClass);let weeksEl=queryWeeksEl(currentMonthEl);if(weeksEl)weeksEl.classList.add(weeksAnimationClass);let cleanUp=()=>{if(animatingRef.current=!1,rootElRef.current)rootElRef.current.style.isolation="";if(navEl)navEl.style.zIndex="";if(captionEl)captionEl.classList.remove(captionAnimationClass);if(weeksEl)weeksEl.classList.remove(weeksAnimationClass);if(currentMonthEl.style.position="",currentMonthEl.style.overflow="",currentMonthEl.contains(previousMonthEl))currentMonthEl.removeChild(previousMonthEl)};cleanUpFunctions.push(cleanUp),previousMonthEl.style.pointerEvents="none",previousMonthEl.style.position="absolute",previousMonthEl.style.overflow="hidden",previousMonthEl.setAttribute("aria-hidden","true");let previousWeekdaysEl=queryWeekdaysEl(previousMonthEl);if(previousWeekdaysEl)previousWeekdaysEl.style.opacity="0";let previousCaptionEl=queryCaptionEl(previousMonthEl);if(previousCaptionEl)previousCaptionEl.classList.add(isAfterPreviousMonth?classNames[Animation.caption_before_exit]:classNames[Animation.caption_after_exit]),previousCaptionEl.addEventListener("animationend",cleanUp);let previousWeeksEl=queryWeeksEl(previousMonthEl);if(previousWeeksEl)previousWeeksEl.classList.add(isAfterPreviousMonth?classNames[Animation.weeks_before_exit]:classNames[Animation.weeks_after_exit]);currentMonthEl.insertBefore(previousMonthEl,currentMonthEl.firstChild)})}})}var import_react34=__toESM(require_react_development(),1);function getDates(displayMonths,maxDate,props,dateLib){let firstMonth=displayMonths[0],lastMonth=displayMonths[displayMonths.length-1],{ISOWeek,fixedWeeks,broadcastCalendar}=props??{},{addDays,differenceInCalendarDays,differenceInCalendarMonths,endOfBroadcastWeek,endOfISOWeek,endOfMonth,endOfWeek,isAfter,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,startWeekFirstDate=broadcastCalendar?startOfBroadcastWeek(firstMonth,dateLib):ISOWeek?startOfISOWeek(firstMonth):startOfWeek(firstMonth),displayMonthsWeekEnd=broadcastCalendar?endOfBroadcastWeek(lastMonth):ISOWeek?endOfISOWeek(endOfMonth(lastMonth)):endOfWeek(endOfMonth(lastMonth)),constraintWeekEnd=maxDate&&(broadcastCalendar?endOfBroadcastWeek(maxDate):ISOWeek?endOfISOWeek(maxDate):endOfWeek(maxDate)),gridEndDate=constraintWeekEnd&&isAfter(displayMonthsWeekEnd,constraintWeekEnd)?constraintWeekEnd:displayMonthsWeekEnd,nOfDays=differenceInCalendarDays(gridEndDate,startWeekFirstDate),nOfMonths=differenceInCalendarMonths(lastMonth,firstMonth)+1,dates=[];for(let i=0;i<=nOfDays;i++){let date=addDays(startWeekFirstDate,i);dates.push(date)}let extraDates=(broadcastCalendar?35:42)*nOfMonths;if(fixedWeeks&&dates.length<extraDates){let daysToAdd=extraDates-dates.length;for(let i=0;i<daysToAdd;i++){let date=addDays(dates[dates.length-1],1);dates.push(date)}}return dates}function getDays(calendarMonths){let initialDays=[];return calendarMonths.reduce((days,month)=>{let weekDays=month.weeks.reduce((weekDays,week)=>weekDays.concat(week.days.slice()),initialDays.slice());return days.concat(weekDays.slice())},initialDays.slice())}function getDisplayMonths(firstDisplayedMonth,calendarEndMonth,props,dateLib){let{numberOfMonths=1}=props,months=[];for(let i=0;i<numberOfMonths;i++){let month=dateLib.addMonths(firstDisplayedMonth,i);if(calendarEndMonth&&month>calendarEndMonth)break;months.push(month)}return months}function getInitialMonth(props,navStart,navEnd,dateLib){let{month,defaultMonth,today=dateLib.today(),numberOfMonths=1}=props,initialMonth=month||defaultMonth||today,{differenceInCalendarMonths,addMonths,startOfMonth}=dateLib;if(navEnd&&differenceInCalendarMonths(navEnd,initialMonth)<numberOfMonths-1){let offset=-1*(numberOfMonths-1);initialMonth=addMonths(navEnd,offset)}if(navStart&&differenceInCalendarMonths(initialMonth,navStart)<0)initialMonth=navStart;return startOfMonth(initialMonth)}function getMonths(displayMonths,dates,props,dateLib){let{addDays,endOfBroadcastWeek,endOfISOWeek,endOfMonth,endOfWeek,getISOWeek,getWeek,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,dayPickerMonths=displayMonths.reduce((months,month)=>{let firstDateOfFirstWeek=props.broadcastCalendar?startOfBroadcastWeek(month,dateLib):props.ISOWeek?startOfISOWeek(month):startOfWeek(month),lastDateOfLastWeek=props.broadcastCalendar?endOfBroadcastWeek(month):props.ISOWeek?endOfISOWeek(endOfMonth(month)):endOfWeek(endOfMonth(month)),monthDates=dates.filter((date)=>date>=firstDateOfFirstWeek&&date<=lastDateOfLastWeek),nrOfDaysWithFixedWeeks=props.broadcastCalendar?35:42;if(props.fixedWeeks&&monthDates.length<nrOfDaysWithFixedWeeks){let extraDates=dates.filter((date)=>{let daysToAdd=nrOfDaysWithFixedWeeks-monthDates.length;return date>lastDateOfLastWeek&&date<=addDays(lastDateOfLastWeek,daysToAdd)});monthDates.push(...extraDates)}let weeks=monthDates.reduce((weeks,date)=>{let weekNumber=props.ISOWeek?getISOWeek(date):getWeek(date),week=weeks.find((week)=>week.weekNumber===weekNumber),day=new CalendarDay(date,month,dateLib);if(!week)weeks.push(new CalendarWeek(weekNumber,[day]));else week.days.push(day);return weeks},[]),dayPickerMonth=new CalendarMonth(month,weeks);return months.push(dayPickerMonth),months},[]);if(!props.reverseMonths)return dayPickerMonths;else return dayPickerMonths.reverse()}function getNavMonths(props,dateLib){let{startMonth,endMonth}=props,{startOfYear,startOfDay,startOfMonth,endOfMonth,addYears,endOfYear,today}=dateLib,hasYearDropdown=props.captionLayout==="dropdown"||props.captionLayout==="dropdown-years";if(startMonth)startMonth=startOfMonth(startMonth);else if(!startMonth&&hasYearDropdown)startMonth=startOfYear(addYears(props.today??today(),-100));if(endMonth)endMonth=endOfMonth(endMonth);else if(!endMonth&&hasYearDropdown)endMonth=endOfYear(props.today??today());return[startMonth?startOfDay(startMonth):startMonth,endMonth?startOfDay(endMonth):endMonth]}function getNextMonth(firstDisplayedMonth,calendarEndMonth,options,dateLib){if(options.disableNavigation)return;let{pagedNavigation,numberOfMonths=1}=options,{startOfMonth,addMonths,differenceInCalendarMonths}=dateLib,offset=pagedNavigation?numberOfMonths:1,month=startOfMonth(firstDisplayedMonth);if(!calendarEndMonth)return addMonths(month,offset);if(differenceInCalendarMonths(calendarEndMonth,firstDisplayedMonth)<numberOfMonths)return;return addMonths(month,offset)}function getPreviousMonth(firstDisplayedMonth,calendarStartMonth,options,dateLib){if(options.disableNavigation)return;let{pagedNavigation,numberOfMonths}=options,{startOfMonth,addMonths,differenceInCalendarMonths}=dateLib,offset=pagedNavigation?numberOfMonths??1:1,month=startOfMonth(firstDisplayedMonth);if(!calendarStartMonth)return addMonths(month,-offset);if(differenceInCalendarMonths(month,calendarStartMonth)<=0)return;return addMonths(month,-offset)}function getWeeks(months){let initialWeeks=[];return months.reduce((weeks,month)=>weeks.concat(month.weeks.slice()),initialWeeks.slice())}var import_react33=__toESM(require_react_development(),1);function useControlledValue(defaultValue,controlledValue){let[uncontrolledValue,setValue]=import_react33.useState(defaultValue);return[controlledValue===void 0?uncontrolledValue:controlledValue,setValue]}function useCalendar(props,dateLib){let[navStart,navEnd]=getNavMonths(props,dateLib),{startOfMonth,endOfMonth}=dateLib,initialMonth=getInitialMonth(props,navStart,navEnd,dateLib),[firstMonth,setFirstMonth]=useControlledValue(initialMonth,props.month?initialMonth:void 0);import_react34.useEffect(()=>{let newInitialMonth=getInitialMonth(props,navStart,navEnd,dateLib);setFirstMonth(newInitialMonth)},[props.timeZone]);let{months,weeks,days,previousMonth,nextMonth}=import_react34.useMemo(()=>{let displayMonths=getDisplayMonths(firstMonth,navEnd,{numberOfMonths:props.numberOfMonths},dateLib),dates=getDates(displayMonths,props.endMonth?endOfMonth(props.endMonth):void 0,{ISOWeek:props.ISOWeek,fixedWeeks:props.fixedWeeks,broadcastCalendar:props.broadcastCalendar},dateLib),months=getMonths(displayMonths,dates,{broadcastCalendar:props.broadcastCalendar,fixedWeeks:props.fixedWeeks,ISOWeek:props.ISOWeek,reverseMonths:props.reverseMonths},dateLib),weeks=getWeeks(months),days=getDays(months),previousMonth=getPreviousMonth(firstMonth,navStart,props,dateLib),nextMonth=getNextMonth(firstMonth,navEnd,props,dateLib);return{months,weeks,days,previousMonth,nextMonth}},[dateLib,firstMonth.getTime(),navEnd?.getTime(),navStart?.getTime(),props.disableNavigation,props.broadcastCalendar,props.endMonth?.getTime(),props.fixedWeeks,props.ISOWeek,props.numberOfMonths,props.pagedNavigation,props.reverseMonths]),{disableNavigation,onMonthChange}=props,isDayInCalendar=(day)=>weeks.some((week)=>week.days.some((d)=>d.isEqualTo(day))),goToMonth=(date)=>{if(disableNavigation)return;let newMonth=startOfMonth(date);if(navStart&&newMonth<startOfMonth(navStart))newMonth=startOfMonth(navStart);if(navEnd&&newMonth>startOfMonth(navEnd))newMonth=startOfMonth(navEnd);setFirstMonth(newMonth),onMonthChange?.(newMonth)};return{months,weeks,days,navStart,navEnd,previousMonth,nextMonth,goToMonth,goToDay:(day)=>{if(isDayInCalendar(day))return;goToMonth(day.date)}}}var import_react35=__toESM(require_react_development(),1);var FocusTargetPriority;(function(FocusTargetPriority){FocusTargetPriority[FocusTargetPriority.Today=0]="Today",FocusTargetPriority[FocusTargetPriority.Selected=1]="Selected",FocusTargetPriority[FocusTargetPriority.LastFocused=2]="LastFocused",FocusTargetPriority[FocusTargetPriority.FocusedModifier=3]="FocusedModifier"})(FocusTargetPriority||(FocusTargetPriority={}));function isFocusableDay(modifiers){return!modifiers[DayFlag.disabled]&&!modifiers[DayFlag.hidden]&&!modifiers[DayFlag.outside]}function calculateFocusTarget(days,getModifiers,isSelected,lastFocused){let focusTarget,foundFocusTargetPriority=-1;for(let day of days){let modifiers=getModifiers(day);if(isFocusableDay(modifiers)){if(modifiers[DayFlag.focused]&&foundFocusTargetPriority<FocusTargetPriority.FocusedModifier)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.FocusedModifier;else if(lastFocused?.isEqualTo(day)&&foundFocusTargetPriority<FocusTargetPriority.LastFocused)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.LastFocused;else if(isSelected(day.date)&&foundFocusTargetPriority<FocusTargetPriority.Selected)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.Selected;else if(modifiers[DayFlag.today]&&foundFocusTargetPriority<FocusTargetPriority.Today)focusTarget=day,foundFocusTargetPriority=FocusTargetPriority.Today}}if(!focusTarget)focusTarget=days.find((day)=>isFocusableDay(getModifiers(day)));return focusTarget}function getFocusableDate(moveBy,moveDir,refDate,navStart,navEnd,props,dateLib){let{ISOWeek,broadcastCalendar}=props,{addDays,addMonths,addWeeks,addYears,endOfBroadcastWeek,endOfISOWeek,endOfWeek,max,min,startOfBroadcastWeek,startOfISOWeek,startOfWeek}=dateLib,focusableDate={day:addDays,week:addWeeks,month:addMonths,year:addYears,startOfWeek:(date)=>broadcastCalendar?startOfBroadcastWeek(date,dateLib):ISOWeek?startOfISOWeek(date):startOfWeek(date),endOfWeek:(date)=>broadcastCalendar?endOfBroadcastWeek(date):ISOWeek?endOfISOWeek(date):endOfWeek(date)}[moveBy](refDate,moveDir==="after"?1:-1);if(moveDir==="before"&&navStart)focusableDate=max([navStart,focusableDate]);else if(moveDir==="after"&&navEnd)focusableDate=min([navEnd,focusableDate]);return focusableDate}function getNextFocus(moveBy,moveDir,refDay,calendarStartMonth,calendarEndMonth,props,dateLib,attempt=0){if(attempt>365)return;let focusableDate=getFocusableDate(moveBy,moveDir,refDay.date,calendarStartMonth,calendarEndMonth,props,dateLib),isDisabled=Boolean(props.disabled&&dateMatchModifiers(focusableDate,props.disabled,dateLib)),isHidden=Boolean(props.hidden&&dateMatchModifiers(focusableDate,props.hidden,dateLib)),focusDay=new CalendarDay(focusableDate,focusableDate,dateLib);if(!isDisabled&&!isHidden)return focusDay;return getNextFocus(moveBy,moveDir,focusDay,calendarStartMonth,calendarEndMonth,props,dateLib,attempt+1)}function useFocus(props,calendar,getModifiers,isSelected,dateLib){let{autoFocus}=props,[lastFocused,setLastFocused]=import_react35.useState(),focusTarget=calculateFocusTarget(calendar.days,getModifiers,isSelected||(()=>!1),lastFocused),[focusedDay,setFocused]=import_react35.useState(autoFocus?focusTarget:void 0);return{isFocusTarget:(day)=>Boolean(focusTarget?.isEqualTo(day)),setFocused,focused:focusedDay,blur:()=>{setLastFocused(focusedDay),setFocused(void 0)},moveFocus:(moveBy,moveDir)=>{if(!focusedDay)return;let nextFocus=getNextFocus(moveBy,moveDir,focusedDay,calendar.navStart,calendar.navEnd,props,dateLib);if(!nextFocus)return;if(props.disableNavigation){if(!calendar.days.some((day)=>day.isEqualTo(nextFocus)))return}calendar.goToDay(nextFocus),setFocused(nextFocus)}}}function useMulti(props,dateLib){let{selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected,{isSameDay}=dateLib,isSelected=(date)=>selected?.some((d)=>isSameDay(d,date))??!1,{min,max}=props;return{selected,select:(triggerDate,modifiers,e)=>{let newDates=[...selected??[]];if(isSelected(triggerDate)){if(selected?.length===min)return;if(required&&selected?.length===1)return;newDates=selected?.filter((d)=>!isSameDay(d,triggerDate))}else if(selected?.length===max)newDates=[triggerDate];else newDates=[...newDates,triggerDate];if(!onSelect)setSelected(newDates);return onSelect?.(newDates,triggerDate,modifiers,e),newDates},isSelected}}function addToRange(date,initialRange,min=0,max=0,required=!1,dateLib=defaultDateLib){let{from,to}=initialRange||{},{isSameDay,isAfter,isBefore}=dateLib,range;if(!from&&!to)range={from:date,to:min>0?void 0:date};else if(from&&!to)if(isSameDay(from,date))if(min===0)range={from,to:date};else if(required)range={from,to:void 0};else range=void 0;else if(isBefore(date,from))range={from:date,to:from};else range={from,to:date};else if(from&&to)if(isSameDay(from,date)&&isSameDay(to,date))if(required)range={from,to};else range=void 0;else if(isSameDay(from,date))range={from,to:min>0?void 0:date};else if(isSameDay(to,date))range={from:date,to:min>0?void 0:date};else if(isBefore(date,from))range={from:date,to};else if(isAfter(date,from))range={from,to:date};else if(isAfter(date,to))range={from,to:date};else throw Error("Invalid range");if(range?.from&&range?.to){let diff=dateLib.differenceInCalendarDays(range.to,range.from);if(max>0&&diff>max)range={from:date,to:void 0};else if(min>1&&diff<min)range={from:date,to:void 0}}return range}function rangeContainsDayOfWeek(range,dayOfWeek,dateLib=defaultDateLib){let dayOfWeekArr=!Array.isArray(dayOfWeek)?[dayOfWeek]:dayOfWeek,date=range.from,totalDays=dateLib.differenceInCalendarDays(range.to,range.from),totalDaysLimit=Math.min(totalDays,6);for(let i=0;i<=totalDaysLimit;i++){if(dayOfWeekArr.includes(date.getDay()))return!0;date=dateLib.addDays(date,1)}return!1}function rangeOverlaps(rangeLeft,rangeRight,dateLib=defaultDateLib){return rangeIncludesDate(rangeLeft,rangeRight.from,!1,dateLib)||rangeIncludesDate(rangeLeft,rangeRight.to,!1,dateLib)||rangeIncludesDate(rangeRight,rangeLeft.from,!1,dateLib)||rangeIncludesDate(rangeRight,rangeLeft.to,!1,dateLib)}function rangeContainsModifiers(range,modifiers,dateLib=defaultDateLib){let matchers=Array.isArray(modifiers)?modifiers:[modifiers];if(matchers.filter((matcher)=>typeof matcher!=="function").some((matcher)=>{if(typeof matcher==="boolean")return matcher;if(dateLib.isDate(matcher))return rangeIncludesDate(range,matcher,!1,dateLib);if(isDatesArray(matcher,dateLib))return matcher.some((date)=>rangeIncludesDate(range,date,!1,dateLib));if(isDateRange(matcher)){if(matcher.from&&matcher.to)return rangeOverlaps(range,{from:matcher.from,to:matcher.to},dateLib);return!1}if(isDayOfWeekType(matcher))return rangeContainsDayOfWeek(range,matcher.dayOfWeek,dateLib);if(isDateInterval(matcher)){if(dateLib.isAfter(matcher.before,matcher.after))return rangeOverlaps(range,{from:dateLib.addDays(matcher.after,1),to:dateLib.addDays(matcher.before,-1)},dateLib);return dateMatchModifiers(range.from,matcher,dateLib)||dateMatchModifiers(range.to,matcher,dateLib)}if(isDateAfterType(matcher)||isDateBeforeType(matcher))return dateMatchModifiers(range.from,matcher,dateLib)||dateMatchModifiers(range.to,matcher,dateLib);return!1}))return!0;let functionMatchers=matchers.filter((matcher)=>typeof matcher==="function");if(functionMatchers.length){let date=range.from,totalDays=dateLib.differenceInCalendarDays(range.to,range.from);for(let i=0;i<=totalDays;i++){if(functionMatchers.some((matcher)=>matcher(date)))return!0;date=dateLib.addDays(date,1)}}return!1}function useRange(props,dateLib){let{disabled,excludeDisabled,resetOnSelect,selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected;return{selected,select:(triggerDate,modifiers,e)=>{let{min,max}=props,newRange;if(triggerDate){let selectedFrom=selected?.from,selectedTo=selected?.to,hasFullRange=!!selectedFrom&&!!selectedTo,isClickingSingleDayRange=!!selectedFrom&&!!selectedTo&&dateLib.isSameDay(selectedFrom,selectedTo)&&dateLib.isSameDay(triggerDate,selectedFrom);if(resetOnSelect&&(hasFullRange||!selected?.from))if(!required&&isClickingSingleDayRange)newRange=void 0;else newRange={from:triggerDate,to:void 0};else newRange=addToRange(triggerDate,selected,min,max,required,dateLib)}if(excludeDisabled&&disabled&&newRange?.from&&newRange.to){if(rangeContainsModifiers({from:newRange.from,to:newRange.to},disabled,dateLib))newRange.from=triggerDate,newRange.to=void 0}if(!onSelect)setSelected(newRange);return onSelect?.(newRange,triggerDate,modifiers,e),newRange},isSelected:(date)=>selected&&rangeIncludesDate(selected,date,!1,dateLib)}}function useSingle(props,dateLib){let{selected:initiallySelected,required,onSelect}=props,[internallySelected,setSelected]=useControlledValue(initiallySelected,onSelect?initiallySelected:void 0),selected=!onSelect?internallySelected:initiallySelected,{isSameDay}=dateLib;return{selected,select:(triggerDate,modifiers,e)=>{let newDate=triggerDate;if(!required&&selected&&selected&&isSameDay(triggerDate,selected))newDate=void 0;if(!onSelect)setSelected(newDate);if(required)onSelect?.(newDate,triggerDate,modifiers,e);else onSelect?.(newDate,triggerDate,modifiers,e);return newDate},isSelected:(compareDate)=>selected?isSameDay(selected,compareDate):!1}}function useSelection(props,dateLib){let single=useSingle(props,dateLib),multi=useMulti(props,dateLib),range=useRange(props,dateLib);switch(props.mode){case"single":return single;case"multiple":return multi;case"range":return range;default:return}}function toTimeZone(date,timeZone){if(date instanceof TZDate&&date.timeZone===timeZone)return date;return new TZDate(date,timeZone)}function toZoneNoon(date,timeZone,noonSafe){if(!noonSafe)return toTimeZone(date,timeZone);let zoned=toTimeZone(date,timeZone),noonZoned=new TZDate(zoned.getFullYear(),zoned.getMonth(),zoned.getDate(),12,0,0,timeZone);return new Date(noonZoned.getTime())}function convertMatcher(matcher,timeZone,noonSafe){if(typeof matcher==="boolean"||typeof matcher==="function")return matcher;if(matcher instanceof Date)return toZoneNoon(matcher,timeZone,noonSafe);if(Array.isArray(matcher))return matcher.map((value)=>value instanceof Date?toZoneNoon(value,timeZone,noonSafe):value);if(isDateRange(matcher))return{...matcher,from:matcher.from?toTimeZone(matcher.from,timeZone):matcher.from,to:matcher.to?toTimeZone(matcher.to,timeZone):matcher.to};if(isDateInterval(matcher))return{before:toZoneNoon(matcher.before,timeZone,noonSafe),after:toZoneNoon(matcher.after,timeZone,noonSafe)};if(isDateAfterType(matcher))return{after:toZoneNoon(matcher.after,timeZone,noonSafe)};if(isDateBeforeType(matcher))return{before:toZoneNoon(matcher.before,timeZone,noonSafe)};return matcher}function convertMatchersToTimeZone(matchers,timeZone,noonSafe){if(!matchers)return matchers;if(Array.isArray(matchers))return matchers.map((matcher)=>convertMatcher(matcher,timeZone,noonSafe));return convertMatcher(matchers,timeZone,noonSafe)}function DayPicker(initialProps){let props=initialProps,timeZone=props.timeZone;if(timeZone){if(props={...initialProps,timeZone},props.today)props.today=toTimeZone(props.today,timeZone);if(props.month)props.month=toTimeZone(props.month,timeZone);if(props.defaultMonth)props.defaultMonth=toTimeZone(props.defaultMonth,timeZone);if(props.startMonth)props.startMonth=toTimeZone(props.startMonth,timeZone);if(props.endMonth)props.endMonth=toTimeZone(props.endMonth,timeZone);if(props.mode==="single"&&props.selected)props.selected=toTimeZone(props.selected,timeZone);else if(props.mode==="multiple"&&props.selected)props.selected=props.selected?.map((date)=>toTimeZone(date,timeZone));else if(props.mode==="range"&&props.selected)props.selected={from:props.selected.from?toTimeZone(props.selected.from,timeZone):props.selected.from,to:props.selected.to?toTimeZone(props.selected.to,timeZone):props.selected.to};if(props.disabled!==void 0)props.disabled=convertMatchersToTimeZone(props.disabled,timeZone);if(props.hidden!==void 0)props.hidden=convertMatchersToTimeZone(props.hidden,timeZone);if(props.modifiers){let nextModifiers={};Object.keys(props.modifiers).forEach((key)=>{nextModifiers[key]=convertMatchersToTimeZone(props.modifiers?.[key],timeZone)}),props.modifiers=nextModifiers}}let{components,formatters,labels,dateLib,locale,classNames}=import_react36.useMemo(()=>{let locale={...enUS2,...props.locale},weekStartsOn=props.broadcastCalendar?1:props.weekStartsOn,noonOverrides=props.noonSafe&&props.timeZone?createNoonOverrides(props.timeZone,{weekStartsOn,locale}):void 0,overrides=props.dateLib&&noonOverrides?{...noonOverrides,...props.dateLib}:props.dateLib??noonOverrides,dateLib=new DateLib({locale,weekStartsOn,firstWeekContainsDate:props.firstWeekContainsDate,useAdditionalWeekYearTokens:props.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:props.useAdditionalDayOfYearTokens,timeZone:props.timeZone,numerals:props.numerals},overrides);return{dateLib,components:getComponents(props.components),formatters:getFormatters(props.formatters),labels:getLabels(props.labels,dateLib.options),locale,classNames:{...getDefaultClassNames(),...props.classNames}}},[props.locale,props.broadcastCalendar,props.weekStartsOn,props.firstWeekContainsDate,props.useAdditionalWeekYearTokens,props.useAdditionalDayOfYearTokens,props.timeZone,props.numerals,props.dateLib,props.noonSafe,props.components,props.formatters,props.labels,props.classNames]);if(!props.today)props={...props,today:dateLib.today()};let{captionLayout,mode,navLayout,numberOfMonths=1,onDayBlur,onDayClick,onDayFocus,onDayKeyDown,onDayMouseEnter,onDayMouseLeave,onNextClick,onPrevClick,showWeekNumber,styles}=props,{formatCaption,formatDay,formatMonthDropdown,formatWeekNumber,formatWeekNumberHeader,formatWeekdayName,formatYearDropdown}=formatters,calendar=useCalendar(props,dateLib),{days,months,navStart,navEnd,previousMonth,nextMonth,goToMonth}=calendar,getModifiers=createGetModifiers(days,props,navStart,navEnd,dateLib),{isSelected,select,selected:selectedValue}=useSelection(props,dateLib)??{},{blur,focused,isFocusTarget,moveFocus,setFocused}=useFocus(props,calendar,getModifiers,isSelected??(()=>!1),dateLib),{labelDayButton,labelGridcell,labelGrid,labelMonthDropdown,labelNav,labelPrevious,labelNext,labelWeekday,labelWeekNumber,labelWeekNumberHeader,labelYearDropdown}=labels,weekdays=import_react36.useMemo(()=>getWeekdays(dateLib,props.ISOWeek,props.broadcastCalendar,props.today),[dateLib,props.ISOWeek,props.broadcastCalendar,props.today]),isInteractive=mode!==void 0||onDayClick!==void 0,handlePreviousClick=import_react36.useCallback(()=>{if(!previousMonth)return;goToMonth(previousMonth),onPrevClick?.(previousMonth)},[previousMonth,goToMonth,onPrevClick]),handleNextClick=import_react36.useCallback(()=>{if(!nextMonth)return;goToMonth(nextMonth),onNextClick?.(nextMonth)},[goToMonth,nextMonth,onNextClick]),handleDayClick=import_react36.useCallback((day,m)=>(e)=>{if(e.preventDefault(),e.stopPropagation(),setFocused(day),m.disabled)return;select?.(day.date,m,e),onDayClick?.(day.date,m,e)},[select,onDayClick,setFocused]),handleDayFocus=import_react36.useCallback((day,m)=>(e)=>{setFocused(day),onDayFocus?.(day.date,m,e)},[onDayFocus,setFocused]),handleDayBlur=import_react36.useCallback((day,m)=>(e)=>{blur(),onDayBlur?.(day.date,m,e)},[blur,onDayBlur]),handleDayKeyDown=import_react36.useCallback((day,modifiers)=>(e)=>{let keyMap={ArrowLeft:[e.shiftKey?"month":"day",props.dir==="rtl"?"after":"before"],ArrowRight:[e.shiftKey?"month":"day",props.dir==="rtl"?"before":"after"],ArrowDown:[e.shiftKey?"year":"week","after"],ArrowUp:[e.shiftKey?"year":"week","before"],PageUp:[e.shiftKey?"year":"month","before"],PageDown:[e.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(keyMap[e.key]){e.preventDefault(),e.stopPropagation();let[moveBy,moveDir]=keyMap[e.key];moveFocus(moveBy,moveDir)}onDayKeyDown?.(day.date,modifiers,e)},[moveFocus,onDayKeyDown,props.dir]),handleDayMouseEnter=import_react36.useCallback((day,modifiers)=>(e)=>{onDayMouseEnter?.(day.date,modifiers,e)},[onDayMouseEnter]),handleDayMouseLeave=import_react36.useCallback((day,modifiers)=>(e)=>{onDayMouseLeave?.(day.date,modifiers,e)},[onDayMouseLeave]),handleMonthChange=import_react36.useCallback((date,monthOffset)=>(e)=>{let selectedMonth=Number(e.target.value),month=dateLib.setMonth(dateLib.startOfMonth(date),selectedMonth);goToMonth(dateLib.addMonths(month,-monthOffset))},[dateLib,goToMonth]),handleYearChange=import_react36.useCallback((date,monthOffset)=>(e)=>{let selectedYear=Number(e.target.value),month=dateLib.setYear(dateLib.startOfMonth(date),selectedYear);goToMonth(dateLib.addMonths(month,-monthOffset))},[dateLib,goToMonth]),{className,style}=import_react36.useMemo(()=>({className:[classNames[UI.Root],props.className].filter(Boolean).join(" "),style:{...styles?.[UI.Root],...props.style}}),[classNames,props.className,props.style,styles]),dataAttributes=getDataAttributes(props),getDropdownStyle=(dropdown)=>{let dropdownStyle=styles?.[UI.Dropdown],specificDropdownStyle=styles?.[dropdown];if(!dropdownStyle&&!specificDropdownStyle)return;return{...dropdownStyle,...specificDropdownStyle}},rootElRef=import_react36.useRef(null);useAnimation(rootElRef,Boolean(props.animate),{classNames,months,focused,dateLib});let contextValue={dayPickerProps:props,selected:selectedValue,select,isSelected,months,nextMonth,previousMonth,goToMonth,getModifiers,components,classNames,styles,labels,formatters};return import_react36.default.createElement(dayPickerContext.Provider,{value:contextValue},import_react36.default.createElement(components.Root,{rootRef:props.animate?rootElRef:void 0,className,style,dir:props.dir,id:props.id,lang:props.lang??locale.code,nonce:props.nonce,title:props.title,role:props.role,"aria-label":props["aria-label"],"aria-labelledby":props["aria-labelledby"],...dataAttributes},import_react36.default.createElement(components.Months,{className:classNames[UI.Months],style:styles?.[UI.Months]},!props.hideNavigation&&!navLayout&&import_react36.default.createElement(components.Nav,{"data-animated-nav":props.animate?"true":void 0,className:classNames[UI.Nav],style:styles?.[UI.Nav],"aria-label":labelNav(),onPreviousClick:handlePreviousClick,onNextClick:handleNextClick,previousMonth,nextMonth}),months.map((calendarMonth,displayIndex)=>{let monthOffset=props.reverseMonths?months.length-1-displayIndex:displayIndex;return import_react36.default.createElement(components.Month,{"data-animated-month":props.animate?"true":void 0,className:classNames[UI.Month],style:styles?.[UI.Month],key:displayIndex,displayIndex,calendarMonth},navLayout==="around"&&!props.hideNavigation&&displayIndex===0&&import_react36.default.createElement(components.PreviousMonthButton,{type:"button",className:classNames[UI.PreviousMonthButton],style:styles?.[UI.PreviousMonthButton],tabIndex:previousMonth?void 0:-1,"aria-disabled":previousMonth?void 0:!0,"aria-label":labelPrevious(previousMonth),onClick:handlePreviousClick,"data-animated-button":props.animate?"true":void 0},import_react36.default.createElement(components.Chevron,{disabled:previousMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:props.dir==="rtl"?"right":"left"})),import_react36.default.createElement(components.MonthCaption,{"data-animated-caption":props.animate?"true":void 0,className:classNames[UI.MonthCaption],style:styles?.[UI.MonthCaption],calendarMonth,displayIndex},captionLayout?.startsWith("dropdown")?import_react36.default.createElement(components.DropdownNav,{className:classNames[UI.Dropdowns],style:styles?.[UI.Dropdowns]},(()=>{let monthControl=captionLayout==="dropdown"||captionLayout==="dropdown-months"?import_react36.default.createElement(components.MonthsDropdown,{key:"month",className:classNames[UI.MonthsDropdown],"aria-label":labelMonthDropdown(),disabled:Boolean(props.disableNavigation),onChange:handleMonthChange(calendarMonth.date,monthOffset),options:getMonthOptions(calendarMonth.date,navStart,navEnd,formatters,dateLib),style:getDropdownStyle(UI.MonthsDropdown),value:dateLib.getMonth(calendarMonth.date)}):import_react36.default.createElement("span",{key:"month"},formatMonthDropdown(calendarMonth.date,dateLib)),yearControl=captionLayout==="dropdown"||captionLayout==="dropdown-years"?import_react36.default.createElement(components.YearsDropdown,{key:"year",className:classNames[UI.YearsDropdown],"aria-label":labelYearDropdown(dateLib.options),disabled:Boolean(props.disableNavigation),onChange:handleYearChange(calendarMonth.date,monthOffset),options:getYearOptions(navStart,navEnd,formatters,dateLib,Boolean(props.reverseYears)),style:getDropdownStyle(UI.YearsDropdown),value:dateLib.getYear(calendarMonth.date)}):import_react36.default.createElement("span",{key:"year"},formatYearDropdown(calendarMonth.date,dateLib));return dateLib.getMonthYearOrder()==="year-first"?[yearControl,monthControl]:[monthControl,yearControl]})(),import_react36.default.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},formatCaption(calendarMonth.date,dateLib.options,dateLib))):import_react36.default.createElement(components.CaptionLabel,{className:classNames[UI.CaptionLabel],style:styles?.[UI.CaptionLabel],role:"status","aria-live":"polite"},formatCaption(calendarMonth.date,dateLib.options,dateLib))),navLayout==="around"&&!props.hideNavigation&&displayIndex===numberOfMonths-1&&import_react36.default.createElement(components.NextMonthButton,{type:"button",className:classNames[UI.NextMonthButton],style:styles?.[UI.NextMonthButton],tabIndex:nextMonth?void 0:-1,"aria-disabled":nextMonth?void 0:!0,"aria-label":labelNext(nextMonth),onClick:handleNextClick,"data-animated-button":props.animate?"true":void 0},import_react36.default.createElement(components.Chevron,{disabled:nextMonth?void 0:!0,className:classNames[UI.Chevron],style:styles?.[UI.Chevron],orientation:props.dir==="rtl"?"left":"right"})),displayIndex===numberOfMonths-1&&navLayout==="after"&&!props.hideNavigation&&import_react36.default.createElement(components.Nav,{"data-animated-nav":props.animate?"true":void 0,className:classNames[UI.Nav],style:styles?.[UI.Nav],"aria-label":labelNav(),onPreviousClick:handlePreviousClick,onNextClick:handleNextClick,previousMonth,nextMonth}),import_react36.default.createElement(components.MonthGrid,{role:"grid","aria-multiselectable":mode==="multiple"||mode==="range","aria-label":labelGrid(calendarMonth.date,dateLib.options,dateLib)||void 0,className:classNames[UI.MonthGrid],style:styles?.[UI.MonthGrid]},!props.hideWeekdays&&import_react36.default.createElement(components.Weekdays,{"data-animated-weekdays":props.animate?"true":void 0,className:classNames[UI.Weekdays],style:styles?.[UI.Weekdays]},showWeekNumber&&import_react36.default.createElement(components.WeekNumberHeader,{"aria-label":labelWeekNumberHeader(dateLib.options),className:classNames[UI.WeekNumberHeader],style:styles?.[UI.WeekNumberHeader],scope:"col"},formatWeekNumberHeader()),weekdays.map((weekday)=>import_react36.default.createElement(components.Weekday,{"aria-label":labelWeekday(weekday,dateLib.options,dateLib),className:classNames[UI.Weekday],key:String(weekday),style:styles?.[UI.Weekday],scope:"col"},formatWeekdayName(weekday,dateLib.options,dateLib)))),import_react36.default.createElement(components.Weeks,{"data-animated-weeks":props.animate?"true":void 0,className:classNames[UI.Weeks],style:styles?.[UI.Weeks]},calendarMonth.weeks.map((week)=>import_react36.default.createElement(components.Week,{className:classNames[UI.Week],key:week.weekNumber,style:styles?.[UI.Week],week},showWeekNumber&&import_react36.default.createElement(components.WeekNumber,{week,style:styles?.[UI.WeekNumber],"aria-label":labelWeekNumber(week.weekNumber,{locale}),className:classNames[UI.WeekNumber],scope:"row",role:"rowheader"},formatWeekNumber(week.weekNumber,dateLib)),week.days.map((day)=>{let{date}=day,modifiers=getModifiers(day);if(modifiers[DayFlag.focused]=!modifiers.hidden&&Boolean(focused?.isEqualTo(day)),modifiers[SelectionState.selected]=isSelected?.(date)||modifiers.selected,isDateRange(selectedValue)){let{from,to}=selectedValue;modifiers[SelectionState.range_start]=Boolean(from&&to&&dateLib.isSameDay(date,from)),modifiers[SelectionState.range_end]=Boolean(from&&to&&dateLib.isSameDay(date,to)),modifiers[SelectionState.range_middle]=rangeIncludesDate(selectedValue,date,!0,dateLib)}let style=getStyleForModifiers(modifiers,styles,props.modifiersStyles),className=getClassNamesForModifiers(modifiers,classNames,props.modifiersClassNames),ariaLabel=!isInteractive&&!modifiers.hidden?labelGridcell(date,modifiers,dateLib.options,dateLib):void 0;return import_react36.default.createElement(components.Day,{key:`${day.isoDate}_${day.displayMonthId}`,day,modifiers,className:className.join(" "),style,role:"gridcell","aria-selected":modifiers.selected||void 0,"aria-label":ariaLabel,"data-day":day.isoDate,"data-month":day.outside?day.dateMonthId:void 0,"data-selected":modifiers.selected||void 0,"data-disabled":modifiers.disabled||void 0,"data-hidden":modifiers.hidden||void 0,"data-outside":day.outside||void 0,"data-focused":modifiers.focused||void 0,"data-today":modifiers.today||void 0},!modifiers.hidden&&isInteractive?import_react36.default.createElement(components.DayButton,{className:classNames[UI.DayButton],style:styles?.[UI.DayButton],type:"button",day,modifiers,disabled:!modifiers.focused&&modifiers.disabled||void 0,"aria-disabled":modifiers.focused&&modifiers.disabled||void 0,tabIndex:isFocusTarget(day)?0:-1,"aria-label":labelDayButton(date,modifiers,dateLib.options,dateLib),onClick:handleDayClick(day,modifiers),onBlur:handleDayBlur(day,modifiers),onFocus:handleDayFocus(day,modifiers),onKeyDown:handleDayKeyDown(day,modifiers),onMouseEnter:handleDayMouseEnter(day,modifiers),onMouseLeave:handleDayMouseLeave(day,modifiers)},formatDay(date,dateLib.options,dateLib)):!modifiers.hidden&&formatDay(day.date,dateLib.options,dateLib))}))))))})),props.footer&&import_react36.default.createElement(components.Footer,{className:classNames[UI.Footer],style:styles?.[UI.Footer],role:"status","aria-live":"polite"},props.footer)))}var jsx_dev_runtime13=__toESM(require_react_jsx_dev_runtime_development(),1);function toDate2(value){if(value===void 0)return;if(value instanceof Date)return value;let parsed=new Date(/^\d{4}-\d{2}-\d{2}$/.test(value)?`${value}T00:00:00`:value);return Number.isNaN(parsed.getTime())?void 0:parsed}function Calendar({className,classNames,showOutsideDays=!0,captionLayout="label",buttonVariant="ghost",locale,formatters,components,month,selected,...props}){let defaultClassNames=getDefaultClassNames(),selectedDate=toDate2(selected),monthDate=toDate2(month);return jsx_dev_runtime13.jsxDEV(DayPicker,{showOutsideDays,className:cn("group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,className),captionLayout,locale,formatters:{formatMonthDropdown:(date)=>date.toLocaleString(locale?.code,{month:"short"}),...formatters},classNames:{root:cn("w-fit",defaultClassNames.root),months:cn("relative flex flex-col gap-4 md:flex-row",defaultClassNames.months),month:cn("flex w-full flex-col gap-4",defaultClassNames.month),nav:cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",defaultClassNames.nav),button_previous:cn(buttonVariants({variant:buttonVariant}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",defaultClassNames.button_previous),button_next:cn(buttonVariants({variant:buttonVariant}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",defaultClassNames.button_next),month_caption:cn("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",defaultClassNames.month_caption),dropdowns:cn("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",defaultClassNames.dropdowns),dropdown_root:cn("cn-calendar-dropdown-root relative rounded-(--cell-radius)",defaultClassNames.dropdown_root),dropdown:cn("absolute inset-0 bg-popover opacity-0",defaultClassNames.dropdown),caption_label:cn("font-medium select-none",captionLayout==="label"?"cn-calendar-caption text-sm":"cn-calendar-caption-label flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",defaultClassNames.caption_label),month_grid:cn("w-full border-collapse",defaultClassNames.month_grid),weekdays:cn("flex",defaultClassNames.weekdays),weekday:cn("flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",defaultClassNames.weekday),week:cn("mt-2 flex w-full",defaultClassNames.week),week_number_header:cn("w-(--cell-size) select-none",defaultClassNames.week_number_header),week_number:cn("text-[0.8rem] text-muted-foreground select-none",defaultClassNames.week_number),day:cn("group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",props.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",defaultClassNames.day),range_start:cn("relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",defaultClassNames.range_start),range_middle:cn("rounded-none",defaultClassNames.range_middle),range_end:cn("relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",defaultClassNames.range_end),today:cn("rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",defaultClassNames.today),outside:cn("text-muted-foreground aria-selected:text-muted-foreground",defaultClassNames.outside),disabled:cn("text-muted-foreground opacity-50",defaultClassNames.disabled),hidden:cn("invisible",defaultClassNames.hidden),...classNames},components:{Root:({className,rootRef,...props})=>jsx_dev_runtime13.jsxDEV("div",{"data-slot":"calendar",ref:rootRef,className:cn(className),...props},void 0,!1,void 0,this),Chevron:({className,orientation,...props})=>{if(orientation==="left")return jsx_dev_runtime13.jsxDEV(ChevronLeft,{className:cn("cn-rtl-flip size-4",className),...props},void 0,!1,void 0,this);if(orientation==="right")return jsx_dev_runtime13.jsxDEV(ChevronRight,{className:cn("cn-rtl-flip size-4",className),...props},void 0,!1,void 0,this);return jsx_dev_runtime13.jsxDEV(ChevronDown,{className:cn("size-4",className),...props},void 0,!1,void 0,this)},DayButton:({...props})=>jsx_dev_runtime13.jsxDEV(CalendarDayButton,{...locale===void 0?{}:{locale},...props},void 0,!1,void 0,this),WeekNumber:({children,...props})=>jsx_dev_runtime13.jsxDEV("td",{...props,children:jsx_dev_runtime13.jsxDEV("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children},void 0,!1,void 0,this)},void 0,!1,void 0,this),...components},mode:"single",...monthDate===void 0?{}:{month:monthDate},...selectedDate===void 0?{}:{selected:selectedDate},...props},void 0,!1,void 0,this)}function CalendarDayButton({className,day,modifiers,locale,...props}){let defaultClassNames=getDefaultClassNames(),ref=React84.useRef(null);return React84.useEffect(()=>{if(modifiers.focused)ref.current?.focus()},[modifiers.focused]),jsx_dev_runtime13.jsxDEV(Button,{ref,variant:"ghost",size:"icon","data-day":day.date.toLocaleDateString(locale?.code),"data-selected-single":modifiers.selected&&!modifiers.range_start&&!modifiers.range_end&&!modifiers.range_middle,"data-range-start":modifiers.range_start,"data-range-end":modifiers.range_end,"data-range-middle":modifiers.range_middle,className:cn("relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",defaultClassNames.day,className),...props},void 0,!1,void 0,this)}var jsx_dev_runtime14=__toESM(require_react_jsx_dev_runtime_development(),1);function Card({className,size="default",...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card","data-size":size,className:cn("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",className),...props},void 0,!1,void 0,this)}function CardHeader({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-header",className:cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",className),...props},void 0,!1,void 0,this)}function CardTitle({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-title",className:cn("cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",className),...props},void 0,!1,void 0,this)}function CardDescription({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-description",className:cn("text-sm text-muted-foreground",className),...props},void 0,!1,void 0,this)}function CardAction({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-action",className:cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end",className),...props},void 0,!1,void 0,this)}function CardContent({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-content",className:cn("px-(--card-spacing)",className),...props},void 0,!1,void 0,this)}function CardFooter({className,...props}){return jsx_dev_runtime14.jsxDEV("div",{"data-slot":"card-footer",className:cn("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",className),...props},void 0,!1,void 0,this)}var import_react37=__toESM(require_react_development(),1);function isObject(subject){return Object.prototype.toString.call(subject)==="[object Object]"}function isRecord(subject){return isObject(subject)||Array.isArray(subject)}function canUseDOM2(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function areOptionsEqual(optionsA,optionsB){let optionsAKeys=Object.keys(optionsA),optionsBKeys=Object.keys(optionsB);if(optionsAKeys.length!==optionsBKeys.length)return!1;let breakpointsA=JSON.stringify(Object.keys(optionsA.breakpoints||{})),breakpointsB=JSON.stringify(Object.keys(optionsB.breakpoints||{}));if(breakpointsA!==breakpointsB)return!1;return optionsAKeys.every((key)=>{let valueA=optionsA[key],valueB=optionsB[key];if(typeof valueA==="function")return`${valueA}`===`${valueB}`;if(!isRecord(valueA)||!isRecord(valueB))return valueA===valueB;return areOptionsEqual(valueA,valueB)})}function sortAndMapPluginToOptions(plugins){return plugins.concat().sort((a,b)=>a.name>b.name?1:-1).map((plugin)=>plugin.options)}function arePluginsEqual(pluginsA,pluginsB){if(pluginsA.length!==pluginsB.length)return!1;let optionsA=sortAndMapPluginToOptions(pluginsA),optionsB=sortAndMapPluginToOptions(pluginsB);return optionsA.every((optionA,index)=>{let optionB=optionsB[index];return areOptionsEqual(optionA,optionB)})}function isNumber2(subject){return typeof subject==="number"}function isString(subject){return typeof subject==="string"}function isBoolean(subject){return typeof subject==="boolean"}function isObject2(subject){return Object.prototype.toString.call(subject)==="[object Object]"}function mathAbs(n){return Math.abs(n)}function mathSign(n){return Math.sign(n)}function deltaAbs(valueB,valueA){return mathAbs(valueB-valueA)}function factorAbs(valueB,valueA){if(valueB===0||valueA===0)return 0;if(mathAbs(valueB)<=mathAbs(valueA))return 0;let diff=deltaAbs(mathAbs(valueB),mathAbs(valueA));return mathAbs(diff/valueB)}function roundToTwoDecimals(num){return Math.round(num*100)/100}function arrayKeys(array){return objectKeys(array).map(Number)}function arrayLast(array){return array[arrayLastIndex(array)]}function arrayLastIndex(array){return Math.max(0,array.length-1)}function arrayIsLastIndex(array,index){return index===arrayLastIndex(array)}function arrayFromNumber(n,startAt=0){return Array.from(Array(n),(_,i)=>startAt+i)}function objectKeys(object){return Object.keys(object)}function objectsMergeDeep(objectA,objectB){return[objectA,objectB].reduce((mergedObjects,currentObject)=>(objectKeys(currentObject).forEach((key)=>{let valueA=mergedObjects[key],valueB=currentObject[key],areObjects=isObject2(valueA)&&isObject2(valueB);mergedObjects[key]=areObjects?objectsMergeDeep(valueA,valueB):valueB}),mergedObjects),{})}function isMouseEvent(evt,ownerWindow){return typeof ownerWindow.MouseEvent<"u"&&evt instanceof ownerWindow.MouseEvent}function Alignment(align,viewSize){let predefined={start,center,end};function start(){return 0}function center(n){return end(n)/2}function end(n){return viewSize-n}function measure(n,index){if(isString(align))return predefined[align](n);return align(viewSize,n,index)}return{measure}}function EventStore(){let listeners=[];function add(node,type,handler,options={passive:!0}){let removeListener;if("addEventListener"in node)node.addEventListener(type,handler,options),removeListener=()=>node.removeEventListener(type,handler,options);else{let legacyMediaQueryList=node;legacyMediaQueryList.addListener(handler),removeListener=()=>legacyMediaQueryList.removeListener(handler)}return listeners.push(removeListener),self2}function clear(){listeners=listeners.filter((remove)=>remove())}let self2={add,clear};return self2}function Animations(ownerDocument,ownerWindow,update,render){let documentVisibleHandler=EventStore(),fixedTimeStep=16.666666666666668,lastTimeStamp=null,accumulatedTime=0,animationId=0;function init(){documentVisibleHandler.add(ownerDocument,"visibilitychange",()=>{if(ownerDocument.hidden)reset()})}function destroy(){stop(),documentVisibleHandler.clear()}function animate(timeStamp){if(!animationId)return;if(!lastTimeStamp)lastTimeStamp=timeStamp,update(),update();let timeElapsed=timeStamp-lastTimeStamp;lastTimeStamp=timeStamp,accumulatedTime+=timeElapsed;while(accumulatedTime>=16.666666666666668)update(),accumulatedTime-=16.666666666666668;let alpha=accumulatedTime/16.666666666666668;if(render(alpha),animationId)animationId=ownerWindow.requestAnimationFrame(animate)}function start(){if(animationId)return;animationId=ownerWindow.requestAnimationFrame(animate)}function stop(){ownerWindow.cancelAnimationFrame(animationId),lastTimeStamp=null,accumulatedTime=0,animationId=0}function reset(){lastTimeStamp=null,accumulatedTime=0}return{init,destroy,start,stop,update,render}}function Axis(axis,contentDirection){let isRightToLeft=contentDirection==="rtl",isVertical=axis==="y",scroll=isVertical?"y":"x",cross=isVertical?"x":"y",sign=!isVertical&&isRightToLeft?-1:1,startEdge=getStartEdge(),endEdge=getEndEdge();function measureSize(nodeRect){let{height,width}=nodeRect;return isVertical?height:width}function getStartEdge(){if(isVertical)return"top";return isRightToLeft?"right":"left"}function getEndEdge(){if(isVertical)return"bottom";return isRightToLeft?"left":"right"}function direction(n){return n*sign}return{scroll,cross,startEdge,endEdge,measureSize,direction}}function Limit(min=0,max=0){let length=mathAbs(min-max);function reachedMin(n){return n<min}function reachedMax(n){return n>max}function reachedAny(n){return reachedMin(n)||reachedMax(n)}function constrain(n){if(!reachedAny(n))return n;return reachedMin(n)?min:max}function removeOffset(n){if(!length)return n;return n-length*Math.ceil((n-max)/length)}return{length,max,min,constrain,reachedAny,reachedMax,reachedMin,removeOffset}}function Counter(max,start,loop){let{constrain}=Limit(0,max),loopEnd=max+1,counter=withinLimit(start);function withinLimit(n){return!loop?constrain(n):mathAbs((loopEnd+n)%loopEnd)}function get(){return counter}function set(n){return counter=withinLimit(n),self2}function add(n){return clone().set(get()+n)}function clone(){return Counter(max,get(),loop)}let self2={get,set,add,clone};return self2}function DragHandler(axis,rootNode,ownerDocument,ownerWindow,target,dragTracker,location,animation,scrollTo,scrollBody,scrollTarget,index,eventHandler,percentOfView,dragFree,dragThreshold,skipSnaps,baseFriction,watchDrag){let{cross:crossAxis,direction}=axis,focusNodes=["INPUT","SELECT","TEXTAREA"],nonPassiveEvent={passive:!1},initEvents=EventStore(),dragEvents=EventStore(),goToNextThreshold=Limit(50,225).constrain(percentOfView.measure(20)),snapForceBoost={mouse:300,touch:400},freeForceBoost={mouse:500,touch:600},baseSpeed=dragFree?43:25,isMoving=!1,startScroll=0,startCross=0,pointerIsDown=!1,preventScroll=!1,preventClick=!1,isMouse=!1;function init(emblaApi){if(!watchDrag)return;function downIfAllowed(evt){if(isBoolean(watchDrag)||watchDrag(emblaApi,evt))down(evt)}let node=rootNode;initEvents.add(node,"dragstart",(evt)=>evt.preventDefault(),nonPassiveEvent).add(node,"touchmove",()=>{return},nonPassiveEvent).add(node,"touchend",()=>{return}).add(node,"touchstart",downIfAllowed).add(node,"mousedown",downIfAllowed).add(node,"touchcancel",up).add(node,"contextmenu",up).add(node,"click",click,!0)}function destroy(){initEvents.clear(),dragEvents.clear()}function addDragEvents(){let node=isMouse?ownerDocument:rootNode;dragEvents.add(node,"touchmove",move,nonPassiveEvent).add(node,"touchend",up).add(node,"mousemove",move,nonPassiveEvent).add(node,"mouseup",up)}function isFocusNode(node){let nodeName=node.nodeName||"";return focusNodes.includes(nodeName)}function forceBoost(){return(dragFree?freeForceBoost:snapForceBoost)[isMouse?"mouse":"touch"]}function allowedForce(force,targetChanged){let next=index.add(mathSign(force)*-1),baseForce=scrollTarget.byDistance(force,!dragFree).distance;if(dragFree||mathAbs(force)<goToNextThreshold)return baseForce;if(skipSnaps&&targetChanged)return baseForce*0.5;return scrollTarget.byIndex(next.get(),0).distance}function down(evt){let isMouseEvt=isMouseEvent(evt,ownerWindow);if(isMouse=isMouseEvt,preventClick=dragFree&&isMouseEvt&&!evt.buttons&&isMoving,isMoving=deltaAbs(target.get(),location.get())>=2,isMouseEvt&&evt.button!==0)return;if(isFocusNode(evt.target))return;pointerIsDown=!0,dragTracker.pointerDown(evt),scrollBody.useFriction(0).useDuration(0),target.set(location),addDragEvents(),startScroll=dragTracker.readPoint(evt),startCross=dragTracker.readPoint(evt,crossAxis),eventHandler.emit("pointerDown")}function move(evt){if(!isMouseEvent(evt,ownerWindow)&&evt.touches.length>=2)return up(evt);let lastScroll=dragTracker.readPoint(evt),lastCross=dragTracker.readPoint(evt,crossAxis),diffScroll=deltaAbs(lastScroll,startScroll),diffCross=deltaAbs(lastCross,startCross);if(!preventScroll&&!isMouse){if(!evt.cancelable)return up(evt);if(preventScroll=diffScroll>diffCross,!preventScroll)return up(evt)}let diff=dragTracker.pointerMove(evt);if(diffScroll>dragThreshold)preventClick=!0;scrollBody.useFriction(0.3).useDuration(0.75),animation.start(),target.add(direction(diff)),evt.preventDefault()}function up(evt){let targetChanged=scrollTarget.byDistance(0,!1).index!==index.get(),rawForce=dragTracker.pointerUp(evt)*forceBoost(),force=allowedForce(direction(rawForce),targetChanged),forceFactor=factorAbs(rawForce,force),speed=baseSpeed-10*forceFactor,friction=baseFriction+forceFactor/50;preventScroll=!1,pointerIsDown=!1,dragEvents.clear(),scrollBody.useDuration(speed).useFriction(friction),scrollTo.distance(force,!dragFree),isMouse=!1,eventHandler.emit("pointerUp")}function click(evt){if(preventClick)evt.stopPropagation(),evt.preventDefault(),preventClick=!1}function pointerDown(){return pointerIsDown}return{init,destroy,pointerDown}}function DragTracker(axis,ownerWindow){let startEvent,lastEvent;function readTime(evt){return evt.timeStamp}function readPoint(evt,evtAxis){let coord=`client${(evtAxis||axis.scroll)==="x"?"X":"Y"}`;return(isMouseEvent(evt,ownerWindow)?evt:evt.touches[0])[coord]}function pointerDown(evt){return startEvent=evt,lastEvent=evt,readPoint(evt)}function pointerMove(evt){let diff=readPoint(evt)-readPoint(lastEvent),expired=readTime(evt)-readTime(startEvent)>170;if(lastEvent=evt,expired)startEvent=evt;return diff}function pointerUp(evt){if(!startEvent||!lastEvent)return 0;let diffDrag=readPoint(lastEvent)-readPoint(startEvent),diffTime=readTime(evt)-readTime(startEvent),expired=readTime(evt)-readTime(lastEvent)>170,force=diffDrag/diffTime;return diffTime&&!expired&&mathAbs(force)>0.1?force:0}return{pointerDown,pointerMove,pointerUp,readPoint}}function NodeRects(){function measure(node){let{offsetTop,offsetLeft,offsetWidth,offsetHeight}=node;return{top:offsetTop,right:offsetLeft+offsetWidth,bottom:offsetTop+offsetHeight,left:offsetLeft,width:offsetWidth,height:offsetHeight}}return{measure}}function PercentOfView(viewSize){function measure(n){return viewSize*(n/100)}return{measure}}function ResizeHandler(container,eventHandler,ownerWindow,slides,axis,watchResize,nodeRects){let observeNodes=[container].concat(slides),resizeObserver,containerSize,slideSizes=[],destroyed=!1;function readSize(node){return axis.measureSize(nodeRects.measure(node))}function init(emblaApi){if(!watchResize)return;containerSize=readSize(container),slideSizes=slides.map(readSize);function defaultCallback(entries){for(let entry of entries){if(destroyed)return;let isContainer=entry.target===container,slideIndex=slides.indexOf(entry.target),lastSize=isContainer?containerSize:slideSizes[slideIndex],newSize=readSize(isContainer?container:slides[slideIndex]);if(mathAbs(newSize-lastSize)>=0.5){emblaApi.reInit(),eventHandler.emit("resize");break}}}resizeObserver=new ResizeObserver((entries)=>{if(isBoolean(watchResize)||watchResize(emblaApi,entries))defaultCallback(entries)}),ownerWindow.requestAnimationFrame(()=>{observeNodes.forEach((node)=>resizeObserver.observe(node))})}function destroy(){if(destroyed=!0,resizeObserver)resizeObserver.disconnect()}return{init,destroy}}function ScrollBody(location,offsetLocation,previousLocation,target,baseDuration,baseFriction){let scrollVelocity=0,scrollDirection=0,scrollDuration=baseDuration,scrollFriction=baseFriction,rawLocation=location.get(),rawLocationPrevious=0;function seek(){let displacement=target.get()-location.get(),isInstant=!scrollDuration,scrollDistance=0;if(isInstant)scrollVelocity=0,previousLocation.set(target),location.set(target),scrollDistance=displacement;else previousLocation.set(location),scrollVelocity+=displacement/scrollDuration,scrollVelocity*=scrollFriction,rawLocation+=scrollVelocity,location.add(scrollVelocity),scrollDistance=rawLocation-rawLocationPrevious;return scrollDirection=mathSign(scrollDistance),rawLocationPrevious=rawLocation,self2}function settled(){let diff=target.get()-offsetLocation.get();return mathAbs(diff)<0.001}function duration(){return scrollDuration}function direction(){return scrollDirection}function velocity(){return scrollVelocity}function useBaseDuration(){return useDuration(baseDuration)}function useBaseFriction(){return useFriction(baseFriction)}function useDuration(n){return scrollDuration=n,self2}function useFriction(n){return scrollFriction=n,self2}let self2={direction,duration,velocity,seek,settled,useBaseFriction,useBaseDuration,useFriction,useDuration};return self2}function ScrollBounds(limit,location,target,scrollBody,percentOfView){let pullBackThreshold=percentOfView.measure(10),edgeOffsetTolerance=percentOfView.measure(50),frictionLimit=Limit(0.1,0.99),disabled=!1;function shouldConstrain(){if(disabled)return!1;if(!limit.reachedAny(target.get()))return!1;if(!limit.reachedAny(location.get()))return!1;return!0}function constrain(pointerDown){if(!shouldConstrain())return;let edge=limit.reachedMin(location.get())?"min":"max",diffToEdge=mathAbs(limit[edge]-location.get()),diffToTarget=target.get()-location.get(),friction=frictionLimit.constrain(diffToEdge/edgeOffsetTolerance);if(target.subtract(diffToTarget*friction),!pointerDown&&mathAbs(diffToTarget)<pullBackThreshold)target.set(limit.constrain(target.get())),scrollBody.useDuration(25).useBaseFriction()}function toggleActive(active){disabled=!active}return{shouldConstrain,constrain,toggleActive}}function ScrollContain(viewSize,contentSize,snapsAligned,containScroll,pixelTolerance){let scrollBounds=Limit(-contentSize+viewSize,0),snapsBounded=measureBounded(),scrollContainLimit=findScrollContainLimit(),snapsContained=measureContained();function usePixelTolerance(bound,snap){return deltaAbs(bound,snap)<=1}function findScrollContainLimit(){let startSnap=snapsBounded[0],endSnap=arrayLast(snapsBounded),min=snapsBounded.lastIndexOf(startSnap),max=snapsBounded.indexOf(endSnap)+1;return Limit(min,max)}function measureBounded(){return snapsAligned.map((snapAligned,index)=>{let{min,max}=scrollBounds,snap=scrollBounds.constrain(snapAligned),isFirst=!index,isLast=arrayIsLastIndex(snapsAligned,index);if(isFirst)return max;if(isLast)return min;if(usePixelTolerance(min,snap))return min;if(usePixelTolerance(max,snap))return max;return snap}).map((scrollBound)=>parseFloat(scrollBound.toFixed(3)))}function measureContained(){if(contentSize<=viewSize+pixelTolerance)return[scrollBounds.max];if(containScroll==="keepSnaps")return snapsBounded;let{min,max}=scrollContainLimit;return snapsBounded.slice(min,max)}return{snapsContained,scrollContainLimit}}function ScrollLimit(contentSize,scrollSnaps,loop){let max=scrollSnaps[0],min=loop?max-contentSize:arrayLast(scrollSnaps);return{limit:Limit(min,max)}}function ScrollLooper(contentSize,limit,location,vectors){let min=limit.min+0.1,max=limit.max+0.1,{reachedMin,reachedMax}=Limit(min,max);function shouldLoop(direction){if(direction===1)return reachedMax(location.get());if(direction===-1)return reachedMin(location.get());return!1}function loop(direction){if(!shouldLoop(direction))return;let loopDistance=contentSize*(direction*-1);vectors.forEach((v)=>v.add(loopDistance))}return{loop}}function ScrollProgress(limit){let{max,length}=limit;function get(n){let currentLocation=n-max;return length?currentLocation/-length:0}return{get}}function ScrollSnaps(axis,alignment,containerRect,slideRects,slidesToScroll){let{startEdge,endEdge}=axis,{groupSlides}=slidesToScroll,alignments=measureSizes().map(alignment.measure),snaps=measureUnaligned(),snapsAligned=measureAligned();function measureSizes(){return groupSlides(slideRects).map((rects)=>arrayLast(rects)[endEdge]-rects[0][startEdge]).map(mathAbs)}function measureUnaligned(){return slideRects.map((rect)=>containerRect[startEdge]-rect[startEdge]).map((snap)=>-mathAbs(snap))}function measureAligned(){return groupSlides(snaps).map((g)=>g[0]).map((snap,index)=>snap+alignments[index])}return{snaps,snapsAligned}}function SlideRegistry(containSnaps,containScroll,scrollSnaps,scrollContainLimit,slidesToScroll,slideIndexes){let{groupSlides}=slidesToScroll,{min,max}=scrollContainLimit,slideRegistry=createSlideRegistry();function createSlideRegistry(){let groupedSlideIndexes=groupSlides(slideIndexes),doNotContain=!containSnaps||containScroll==="keepSnaps";if(scrollSnaps.length===1)return[slideIndexes];if(doNotContain)return groupedSlideIndexes;return groupedSlideIndexes.slice(min,max).map((group,index,groups)=>{let isFirst=!index,isLast=arrayIsLastIndex(groups,index);if(isFirst){let range=arrayLast(groups[0])+1;return arrayFromNumber(range)}if(isLast){let range=arrayLastIndex(slideIndexes)-arrayLast(groups)[0]+1;return arrayFromNumber(range,arrayLast(groups)[0])}return group})}return{slideRegistry}}function ScrollTarget(loop,scrollSnaps,contentSize,limit,targetVector){let{reachedAny,removeOffset,constrain}=limit;function minDistance(distances){return distances.concat().sort((a,b)=>mathAbs(a)-mathAbs(b))[0]}function findTargetSnap(target){let distance=loop?removeOffset(target):constrain(target),ascDiffsToSnaps=scrollSnaps.map((snap,index)=>({diff:shortcut(snap-distance,0),index})).sort((d1,d2)=>mathAbs(d1.diff)-mathAbs(d2.diff)),{index}=ascDiffsToSnaps[0];return{index,distance}}function shortcut(target,direction){let targets=[target,target+contentSize,target-contentSize];if(!loop)return target;if(!direction)return minDistance(targets);let matchingTargets=targets.filter((t)=>mathSign(t)===direction);if(matchingTargets.length)return minDistance(matchingTargets);return arrayLast(targets)-contentSize}function byIndex(index,direction){let diffToSnap=scrollSnaps[index]-targetVector.get(),distance=shortcut(diffToSnap,direction);return{index,distance}}function byDistance(distance,snap){let target=targetVector.get()+distance,{index,distance:targetSnapDistance}=findTargetSnap(target),reachedBound=!loop&&reachedAny(target);if(!snap||reachedBound)return{index,distance};let diffToSnap=scrollSnaps[index]-targetSnapDistance,snapDistance=distance+shortcut(diffToSnap,0);return{index,distance:snapDistance}}return{byDistance,byIndex,shortcut}}function ScrollTo(animation,indexCurrent,indexPrevious,scrollBody,scrollTarget,targetVector,eventHandler){function scrollTo(target){let distanceDiff=target.distance,indexDiff=target.index!==indexCurrent.get();if(targetVector.add(distanceDiff),distanceDiff)if(scrollBody.duration())animation.start();else animation.update(),animation.render(1),animation.update();if(indexDiff)indexPrevious.set(indexCurrent.get()),indexCurrent.set(target.index),eventHandler.emit("select")}function distance(n,snap){let target=scrollTarget.byDistance(n,snap);scrollTo(target)}function index(n,direction){let targetIndex=indexCurrent.clone().set(n),target=scrollTarget.byIndex(targetIndex.get(),direction);scrollTo(target)}return{distance,index}}function SlideFocus(root,slides,slideRegistry,scrollTo,scrollBody,eventStore,eventHandler,watchFocus){let focusListenerOptions={passive:!0,capture:!0},lastTabPressTime=0;function init(emblaApi){if(!watchFocus)return;function defaultCallback(index){if(new Date().getTime()-lastTabPressTime>10)return;eventHandler.emit("slideFocusStart"),root.scrollLeft=0;let group=slideRegistry.findIndex((group)=>group.includes(index));if(!isNumber2(group))return;scrollBody.useDuration(0),scrollTo.index(group,0),eventHandler.emit("slideFocus")}eventStore.add(document,"keydown",registerTabPress,!1),slides.forEach((slide,slideIndex)=>{eventStore.add(slide,"focus",(evt)=>{if(isBoolean(watchFocus)||watchFocus(emblaApi,evt))defaultCallback(slideIndex)},focusListenerOptions)})}function registerTabPress(event){if(event.code==="Tab")lastTabPressTime=new Date().getTime()}return{init}}function Vector1D(initialValue){let value=initialValue;function get(){return value}function set(n){value=normalizeInput(n)}function add(n){value+=normalizeInput(n)}function subtract(n){value-=normalizeInput(n)}function normalizeInput(n){return isNumber2(n)?n:n.get()}return{get,set,add,subtract}}function Translate(axis,container){let translate=axis.scroll==="x"?x:y,containerStyle=container.style,previousTarget=null,disabled=!1;function x(n){return`translate3d(${n}px,0px,0px)`}function y(n){return`translate3d(0px,${n}px,0px)`}function to(target){if(disabled)return;let newTarget=roundToTwoDecimals(axis.direction(target));if(newTarget===previousTarget)return;containerStyle.transform=translate(newTarget),previousTarget=newTarget}function toggleActive(active){disabled=!active}function clear(){if(disabled)return;if(containerStyle.transform="",!container.getAttribute("style"))container.removeAttribute("style")}return{clear,to,toggleActive}}function SlideLooper(axis,viewSize,contentSize,slideSizes,slideSizesWithGaps,snaps,scrollSnaps,location,slides){let ascItems=arrayKeys(slideSizesWithGaps),descItems=arrayKeys(slideSizesWithGaps).reverse(),loopPoints=startPoints().concat(endPoints());function removeSlideSizes(indexes,from){return indexes.reduce((a,i)=>a-slideSizesWithGaps[i],from)}function slidesInGap(indexes,gap){return indexes.reduce((a,i)=>removeSlideSizes(a,gap)>0?a.concat([i]):a,[])}function findSlideBounds(offset){return snaps.map((snap,index)=>({start:snap-slideSizes[index]+0.5+offset,end:snap+viewSize-0.5+offset}))}function findLoopPoints(indexes,offset,isEndEdge){let slideBounds=findSlideBounds(offset);return indexes.map((index)=>{let initial=isEndEdge?0:-contentSize,altered=isEndEdge?contentSize:0,boundEdge=isEndEdge?"end":"start",loopPoint=slideBounds[index][boundEdge];return{index,loopPoint,slideLocation:Vector1D(-1),translate:Translate(axis,slides[index]),target:()=>location.get()>loopPoint?initial:altered}})}function startPoints(){let gap=scrollSnaps[0],indexes=slidesInGap(descItems,gap);return findLoopPoints(indexes,contentSize,!1)}function endPoints(){let gap=viewSize-scrollSnaps[0]-1,indexes=slidesInGap(ascItems,gap);return findLoopPoints(indexes,-contentSize,!0)}function canLoop(){return loopPoints.every(({index})=>{let otherIndexes=ascItems.filter((i)=>i!==index);return removeSlideSizes(otherIndexes,viewSize)<=0.1})}function loop(){loopPoints.forEach((loopPoint)=>{let{target,translate,slideLocation}=loopPoint,shiftLocation=target();if(shiftLocation===slideLocation.get())return;translate.to(shiftLocation),slideLocation.set(shiftLocation)})}function clear(){loopPoints.forEach((loopPoint)=>loopPoint.translate.clear())}return{canLoop,clear,loop,loopPoints}}function SlidesHandler(container,eventHandler,watchSlides){let mutationObserver,destroyed=!1;function init(emblaApi){if(!watchSlides)return;function defaultCallback(mutations){for(let mutation of mutations)if(mutation.type==="childList"){emblaApi.reInit(),eventHandler.emit("slidesChanged");break}}mutationObserver=new MutationObserver((mutations)=>{if(destroyed)return;if(isBoolean(watchSlides)||watchSlides(emblaApi,mutations))defaultCallback(mutations)}),mutationObserver.observe(container,{childList:!0})}function destroy(){if(mutationObserver)mutationObserver.disconnect();destroyed=!0}return{init,destroy}}function SlidesInView(container,slides,eventHandler,threshold){let intersectionEntryMap={},inViewCache=null,notInViewCache=null,intersectionObserver,destroyed=!1;function init(){intersectionObserver=new IntersectionObserver((entries)=>{if(destroyed)return;entries.forEach((entry)=>{let index=slides.indexOf(entry.target);intersectionEntryMap[index]=entry}),inViewCache=null,notInViewCache=null,eventHandler.emit("slidesInView")},{root:container.parentElement,threshold}),slides.forEach((slide)=>intersectionObserver.observe(slide))}function destroy(){if(intersectionObserver)intersectionObserver.disconnect();destroyed=!0}function createInViewList(inView){return objectKeys(intersectionEntryMap).reduce((list,slideIndex)=>{let index=parseInt(slideIndex),{isIntersecting}=intersectionEntryMap[index];if(inView&&isIntersecting||!inView&&!isIntersecting)list.push(index);return list},[])}function get(inView=!0){if(inView&&inViewCache)return inViewCache;if(!inView&&notInViewCache)return notInViewCache;let slideIndexes=createInViewList(inView);if(inView)inViewCache=slideIndexes;if(!inView)notInViewCache=slideIndexes;return slideIndexes}return{init,destroy,get}}function SlideSizes(axis,containerRect,slideRects,slides,readEdgeGap,ownerWindow){let{measureSize,startEdge,endEdge}=axis,withEdgeGap=slideRects[0]&&readEdgeGap,startGap=measureStartGap(),endGap=measureEndGap(),slideSizes=slideRects.map(measureSize),slideSizesWithGaps=measureWithGaps();function measureStartGap(){if(!withEdgeGap)return 0;let slideRect=slideRects[0];return mathAbs(containerRect[startEdge]-slideRect[startEdge])}function measureEndGap(){if(!withEdgeGap)return 0;let style=ownerWindow.getComputedStyle(arrayLast(slides));return parseFloat(style.getPropertyValue(`margin-${endEdge}`))}function measureWithGaps(){return slideRects.map((rect,index,rects)=>{let isFirst=!index,isLast=arrayIsLastIndex(rects,index);if(isFirst)return slideSizes[index]+startGap;if(isLast)return slideSizes[index]+endGap;return rects[index+1][startEdge]-rect[startEdge]}).map(mathAbs)}return{slideSizes,slideSizesWithGaps,startGap,endGap}}function SlidesToScroll(axis,viewSize,slidesToScroll,loop,containerRect,slideRects,startGap,endGap,pixelTolerance){let{startEdge,endEdge,direction}=axis,groupByNumber=isNumber2(slidesToScroll);function byNumber(array,groupSize){return arrayKeys(array).filter((i)=>i%groupSize===0).map((i)=>array.slice(i,i+groupSize))}function bySize(array){if(!array.length)return[];return arrayKeys(array).reduce((groups,rectB,index)=>{let rectA=arrayLast(groups)||0,isFirst=rectA===0,isLast=rectB===arrayLastIndex(array),edgeA=containerRect[startEdge]-slideRects[rectA][startEdge],edgeB=containerRect[startEdge]-slideRects[rectB][endEdge],gapA=!loop&&isFirst?direction(startGap):0,gapB=!loop&&isLast?direction(endGap):0,chunkSize=mathAbs(edgeB-gapB-(edgeA+gapA));if(index&&chunkSize>viewSize+pixelTolerance)groups.push(rectB);if(isLast)groups.push(array.length);return groups},[]).map((currentSize,index,groups)=>{let previousSize=Math.max(groups[index-1]||0);return array.slice(previousSize,currentSize)})}function groupSlides(array){return groupByNumber?byNumber(array,slidesToScroll):bySize(array)}return{groupSlides}}function Engine(root,container,slides,ownerDocument,ownerWindow,options,eventHandler){let{align,axis:scrollAxis,direction,startIndex,loop,duration,dragFree,dragThreshold,inViewThreshold,slidesToScroll:groupSlides,skipSnaps,containScroll,watchResize,watchSlides,watchDrag,watchFocus}=options,pixelTolerance=2,nodeRects=NodeRects(),containerRect=nodeRects.measure(container),slideRects=slides.map(nodeRects.measure),axis=Axis(scrollAxis,direction),viewSize=axis.measureSize(containerRect),percentOfView=PercentOfView(viewSize),alignment=Alignment(align,viewSize),containSnaps=!loop&&!!containScroll,readEdgeGap=loop||!!containScroll,{slideSizes,slideSizesWithGaps,startGap,endGap}=SlideSizes(axis,containerRect,slideRects,slides,readEdgeGap,ownerWindow),slidesToScroll=SlidesToScroll(axis,viewSize,groupSlides,loop,containerRect,slideRects,startGap,endGap,2),{snaps,snapsAligned}=ScrollSnaps(axis,alignment,containerRect,slideRects,slidesToScroll),contentSize=-arrayLast(snaps)+arrayLast(slideSizesWithGaps),{snapsContained,scrollContainLimit}=ScrollContain(viewSize,contentSize,snapsAligned,containScroll,2),scrollSnaps=containSnaps?snapsContained:snapsAligned,{limit}=ScrollLimit(contentSize,scrollSnaps,loop),index=Counter(arrayLastIndex(scrollSnaps),startIndex,loop),indexPrevious=index.clone(),slideIndexes=arrayKeys(slides),update=({dragHandler,scrollBody,scrollBounds,options:{loop}})=>{if(!loop)scrollBounds.constrain(dragHandler.pointerDown());scrollBody.seek()},render=({scrollBody,translate,location,offsetLocation,previousLocation,scrollLooper,slideLooper,dragHandler,animation,eventHandler,scrollBounds,options:{loop}},alpha)=>{let shouldSettle=scrollBody.settled(),withinBounds=!scrollBounds.shouldConstrain(),hasSettled=loop?shouldSettle:shouldSettle&&withinBounds,hasSettledAndIdle=hasSettled&&!dragHandler.pointerDown();if(hasSettledAndIdle)animation.stop();let interpolatedLocation=location.get()*alpha+previousLocation.get()*(1-alpha);if(offsetLocation.set(interpolatedLocation),loop)scrollLooper.loop(scrollBody.direction()),slideLooper.loop();if(translate.to(offsetLocation.get()),hasSettledAndIdle)eventHandler.emit("settle");if(!hasSettled)eventHandler.emit("scroll")},animation=Animations(ownerDocument,ownerWindow,()=>update(engine),(alpha)=>render(engine,alpha)),friction=0.68,startLocation=scrollSnaps[index.get()],location=Vector1D(startLocation),previousLocation=Vector1D(startLocation),offsetLocation=Vector1D(startLocation),target=Vector1D(startLocation),scrollBody=ScrollBody(location,offsetLocation,previousLocation,target,duration,0.68),scrollTarget=ScrollTarget(loop,scrollSnaps,contentSize,limit,target),scrollTo=ScrollTo(animation,index,indexPrevious,scrollBody,scrollTarget,target,eventHandler),scrollProgress=ScrollProgress(limit),eventStore=EventStore(),slidesInView=SlidesInView(container,slides,eventHandler,inViewThreshold),{slideRegistry}=SlideRegistry(containSnaps,containScroll,scrollSnaps,scrollContainLimit,slidesToScroll,slideIndexes),slideFocus=SlideFocus(root,slides,slideRegistry,scrollTo,scrollBody,eventStore,eventHandler,watchFocus),engine={ownerDocument,ownerWindow,eventHandler,containerRect,slideRects,animation,axis,dragHandler:DragHandler(axis,root,ownerDocument,ownerWindow,target,DragTracker(axis,ownerWindow),location,animation,scrollTo,scrollBody,scrollTarget,index,eventHandler,percentOfView,dragFree,dragThreshold,skipSnaps,0.68,watchDrag),eventStore,percentOfView,index,indexPrevious,limit,location,offsetLocation,previousLocation,options,resizeHandler:ResizeHandler(container,eventHandler,ownerWindow,slides,axis,watchResize,nodeRects),scrollBody,scrollBounds:ScrollBounds(limit,offsetLocation,target,scrollBody,percentOfView),scrollLooper:ScrollLooper(contentSize,limit,offsetLocation,[location,offsetLocation,previousLocation,target]),scrollProgress,scrollSnapList:scrollSnaps.map(scrollProgress.get),scrollSnaps,scrollTarget,scrollTo,slideLooper:SlideLooper(axis,viewSize,contentSize,slideSizes,slideSizesWithGaps,snaps,scrollSnaps,offsetLocation,slides),slideFocus,slidesHandler:SlidesHandler(container,eventHandler,watchSlides),slidesInView,slideIndexes,slideRegistry,slidesToScroll,target,translate:Translate(axis,container)};return engine}function EventHandler(){let listeners={},api;function init(emblaApi){api=emblaApi}function getListeners(evt){return listeners[evt]||[]}function emit(evt){return getListeners(evt).forEach((e)=>e(api,evt)),self2}function on(evt,cb){return listeners[evt]=getListeners(evt).concat([cb]),self2}function off(evt,cb){return listeners[evt]=getListeners(evt).filter((e)=>e!==cb),self2}function clear(){listeners={}}let self2={init,emit,off,on,clear};return self2}var defaultOptions2={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function OptionsHandler(ownerWindow){function mergeOptions(optionsA,optionsB){return objectsMergeDeep(optionsA,optionsB||{})}function optionsAtMedia(options){let optionsAtMedia=options.breakpoints||{},matchedMediaOptions=objectKeys(optionsAtMedia).filter((media)=>ownerWindow.matchMedia(media).matches).map((media)=>optionsAtMedia[media]).reduce((a,mediaOption)=>mergeOptions(a,mediaOption),{});return mergeOptions(options,matchedMediaOptions)}function optionsMediaQueries(optionsList){return optionsList.map((options)=>objectKeys(options.breakpoints||{})).reduce((acc,mediaQueries)=>acc.concat(mediaQueries),[]).map(ownerWindow.matchMedia)}return{mergeOptions,optionsAtMedia,optionsMediaQueries}}function PluginsHandler(optionsHandler){let activePlugins=[];function init(emblaApi,plugins){return activePlugins=plugins.filter(({options})=>optionsHandler.optionsAtMedia(options).active!==!1),activePlugins.forEach((plugin)=>plugin.init(emblaApi,optionsHandler)),plugins.reduce((map,plugin)=>Object.assign(map,{[plugin.name]:plugin}),{})}function destroy(){activePlugins=activePlugins.filter((plugin)=>plugin.destroy())}return{init,destroy}}function EmblaCarousel(root,userOptions,userPlugins){let ownerDocument=root.ownerDocument,ownerWindow=ownerDocument.defaultView,optionsHandler=OptionsHandler(ownerWindow),pluginsHandler=PluginsHandler(optionsHandler),mediaHandlers=EventStore(),eventHandler=EventHandler(),{mergeOptions,optionsAtMedia,optionsMediaQueries}=optionsHandler,{on,off,emit}=eventHandler,reInit=reActivate,destroyed=!1,engine,optionsBase=mergeOptions(defaultOptions2,EmblaCarousel.globalOptions),options=mergeOptions(optionsBase),pluginList=[],pluginApis,container,slides;function storeElements(){let{container:userContainer,slides:userSlides}=options;container=(isString(userContainer)?root.querySelector(userContainer):userContainer)||root.children[0];let customSlides=isString(userSlides)?container.querySelectorAll(userSlides):userSlides;slides=[].slice.call(customSlides||container.children)}function createEngine(options){let engine=Engine(root,container,slides,ownerDocument,ownerWindow,options,eventHandler);if(options.loop&&!engine.slideLooper.canLoop()){let optionsWithoutLoop=Object.assign({},options,{loop:!1});return createEngine(optionsWithoutLoop)}return engine}function activate(withOptions,withPlugins){if(destroyed)return;if(optionsBase=mergeOptions(optionsBase,withOptions),options=optionsAtMedia(optionsBase),pluginList=withPlugins||pluginList,storeElements(),engine=createEngine(options),optionsMediaQueries([optionsBase,...pluginList.map(({options})=>options)]).forEach((query)=>mediaHandlers.add(query,"change",reActivate)),!options.active)return;if(engine.translate.to(engine.location.get()),engine.animation.init(),engine.slidesInView.init(),engine.slideFocus.init(self2),engine.eventHandler.init(self2),engine.resizeHandler.init(self2),engine.slidesHandler.init(self2),engine.options.loop)engine.slideLooper.loop();if(container.offsetParent&&slides.length)engine.dragHandler.init(self2);pluginApis=pluginsHandler.init(self2,pluginList)}function reActivate(withOptions,withPlugins){let startIndex=selectedScrollSnap();deActivate(),activate(mergeOptions({startIndex},withOptions),withPlugins),eventHandler.emit("reInit")}function deActivate(){engine.dragHandler.destroy(),engine.eventStore.clear(),engine.translate.clear(),engine.slideLooper.clear(),engine.resizeHandler.destroy(),engine.slidesHandler.destroy(),engine.slidesInView.destroy(),engine.animation.destroy(),pluginsHandler.destroy(),mediaHandlers.clear()}function destroy(){if(destroyed)return;destroyed=!0,mediaHandlers.clear(),deActivate(),eventHandler.emit("destroy"),eventHandler.clear()}function scrollTo(index,jump,direction){if(!options.active||destroyed)return;engine.scrollBody.useBaseFriction().useDuration(jump===!0?0:options.duration),engine.scrollTo.index(index,direction||0)}function scrollNext(jump){let next=engine.index.add(1).get();scrollTo(next,jump,-1)}function scrollPrev(jump){let prev=engine.index.add(-1).get();scrollTo(prev,jump,1)}function canScrollNext(){return engine.index.add(1).get()!==selectedScrollSnap()}function canScrollPrev(){return engine.index.add(-1).get()!==selectedScrollSnap()}function scrollSnapList(){return engine.scrollSnapList}function scrollProgress(){return engine.scrollProgress.get(engine.offsetLocation.get())}function selectedScrollSnap(){return engine.index.get()}function previousScrollSnap(){return engine.indexPrevious.get()}function slidesInView(){return engine.slidesInView.get()}function slidesNotInView(){return engine.slidesInView.get(!1)}function plugins(){return pluginApis}function internalEngine(){return engine}function rootNode(){return root}function containerNode(){return container}function slideNodes(){return slides}let self2={canScrollNext,canScrollPrev,containerNode,internalEngine,destroy,off,on,emit,plugins,previousScrollSnap,reInit,rootNode,scrollNext,scrollPrev,scrollProgress,scrollSnapList,scrollTo,selectedScrollSnap,slideNodes,slidesInView,slidesNotInView};return activate(userOptions,userPlugins),setTimeout(()=>eventHandler.emit("init"),0),self2}EmblaCarousel.globalOptions=void 0;function useEmblaCarousel(options={},plugins=[]){let storedOptions=import_react37.useRef(options),storedPlugins=import_react37.useRef(plugins),[emblaApi,setEmblaApi]=import_react37.useState(),[viewport,setViewport]=import_react37.useState(),reInit=import_react37.useCallback(()=>{if(emblaApi)emblaApi.reInit(storedOptions.current,storedPlugins.current)},[emblaApi]);return import_react37.useEffect(()=>{if(areOptionsEqual(storedOptions.current,options))return;storedOptions.current=options,reInit()},[options,reInit]),import_react37.useEffect(()=>{if(arePluginsEqual(storedPlugins.current,plugins))return;storedPlugins.current=plugins,reInit()},[plugins,reInit]),import_react37.useEffect(()=>{if(canUseDOM2()&&viewport){EmblaCarousel.globalOptions=useEmblaCarousel.globalOptions;let newEmblaApi=EmblaCarousel(viewport,storedOptions.current,storedPlugins.current);return setEmblaApi(newEmblaApi),()=>newEmblaApi.destroy()}else setEmblaApi(void 0)},[viewport,setEmblaApi]),[setViewport,emblaApi]}useEmblaCarousel.globalOptions=void 0;var React85=__toESM(require_react_development(),1);var jsx_dev_runtime15=__toESM(require_react_jsx_dev_runtime_development(),1),CarouselContext=React85.createContext(null);function useCarousel(){let context=React85.useContext(CarouselContext);if(!context)throw Error("useCarousel must be used within a <Carousel />");return context}function Carousel({orientation="horizontal",opts,setApi,plugins,className,children,...props}){let[carouselRef,api]=useEmblaCarousel({...opts,axis:orientation==="horizontal"?"x":"y"},plugins),[canScrollPrev,setCanScrollPrev]=React85.useState(!1),[canScrollNext,setCanScrollNext]=React85.useState(!1),onSelect=React85.useCallback((api)=>{if(!api)return;setCanScrollPrev(api.canScrollPrev()),setCanScrollNext(api.canScrollNext())},[]),scrollPrev=React85.useCallback(()=>{api?.scrollPrev()},[api]),scrollNext=React85.useCallback(()=>{api?.scrollNext()},[api]),handleKeyDown=React85.useCallback((event)=>{if(event.key==="ArrowLeft")event.preventDefault(),scrollPrev();else if(event.key==="ArrowRight")event.preventDefault(),scrollNext()},[scrollPrev,scrollNext]);return React85.useEffect(()=>{if(!api||!setApi)return;setApi(api)},[api,setApi]),React85.useEffect(()=>{if(!api)return;return onSelect(api),api.on("reInit",onSelect),api.on("select",onSelect),()=>{api?.off("select",onSelect)}},[api,onSelect]),jsx_dev_runtime15.jsxDEV(CarouselContext.Provider,{value:{carouselRef,api,opts,orientation:orientation||(opts?.axis==="y"?"vertical":"horizontal"),scrollPrev,scrollNext,canScrollPrev,canScrollNext},children:jsx_dev_runtime15.jsxDEV("div",{onKeyDownCapture:handleKeyDown,className:cn("relative",className),role:"region","aria-roledescription":"carousel","data-slot":"carousel",...props,children},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function CarouselContent({className,...props}){let{carouselRef,orientation}=useCarousel();return jsx_dev_runtime15.jsxDEV("div",{ref:carouselRef,className:"overflow-hidden","data-slot":"carousel-content",children:jsx_dev_runtime15.jsxDEV("div",{className:cn("flex",orientation==="horizontal"?"-ml-4":"-mt-4 flex-col",className),...props},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function CarouselItem({className,...props}){let{orientation}=useCarousel();return jsx_dev_runtime15.jsxDEV("div",{role:"group","aria-roledescription":"slide","data-slot":"carousel-item",className:cn("min-w-0 shrink-0 grow-0 basis-full",orientation==="horizontal"?"pl-4":"pt-4",className),...props},void 0,!1,void 0,this)}function CarouselPrevious({className,variant="outline",size="icon-sm",...props}){let{orientation,scrollPrev,canScrollPrev}=useCarousel();return jsx_dev_runtime15.jsxDEV(Button,{"data-slot":"carousel-previous",variant,size,className:cn("absolute touch-manipulation rounded-full",orientation==="horizontal"?"inset-y-0 -left-12 my-auto":"-top-12 left-1/2 -translate-x-1/2 rotate-90",className),disabled:!canScrollPrev,onClick:scrollPrev,...props,children:[jsx_dev_runtime15.jsxDEV(ChevronLeft,{className:"cn-rtl-flip"},void 0,!1,void 0,this),jsx_dev_runtime15.jsxDEV("span",{className:"sr-only",children:"Previous slide"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function CarouselNext({className,variant="outline",size="icon-sm",...props}){let{orientation,scrollNext,canScrollNext}=useCarousel();return jsx_dev_runtime15.jsxDEV(Button,{"data-slot":"carousel-next",variant,size,className:cn("absolute touch-manipulation rounded-full",orientation==="horizontal"?"inset-y-0 -right-12 my-auto":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",className),disabled:!canScrollNext,onClick:scrollNext,...props,children:[jsx_dev_runtime15.jsxDEV(ChevronRight,{className:"cn-rtl-flip"},void 0,!1,void 0,this),jsx_dev_runtime15.jsxDEV("span",{className:"sr-only",children:"Next slide"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var import_tslib7=__toESM(require_tslib2(),1),{__extends:__extends2,__assign:__assign2,__rest:__rest2,__decorate:__decorate2,__param:__param2,__metadata:__metadata2,__awaiter:__awaiter2,__generator:__generator2,__exportStar:__exportStar2,__createBinding:__createBinding2,__values:__values2,__read:__read2,__spread:__spread2,__spreadArrays:__spreadArrays2,__spreadArray:__spreadArray2,__await:__await2,__asyncGenerator:__asyncGenerator2,__asyncDelegator:__asyncDelegator2,__asyncValues:__asyncValues2,__makeTemplateObject:__makeTemplateObject2,__importStar:__importStar2,__importDefault:__importDefault2,__classPrivateFieldGet:__classPrivateFieldGet2,__classPrivateFieldSet:__classPrivateFieldSet2}=import_tslib7.default;var DEFAULT_FONT_SIZE=12,DEFAULT_FONT_FAMILY="sans-serif",DEFAULT_FONT=DEFAULT_FONT_SIZE+"px "+DEFAULT_FONT_FAMILY,OFFSET=20,SCALE=100,defaultWidthMapStr="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function getTextWidthMap(mapStr){var map={};if(typeof JSON>"u")return map;for(var i=0;i<mapStr.length;i++){var char=String.fromCharCode(i+32),size=(mapStr.charCodeAt(i)-OFFSET)/SCALE;map[char]=size}return map}var DEFAULT_TEXT_WIDTH_MAP=getTextWidthMap(defaultWidthMapStr),platformApi={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var _ctx,_cachedFont;return function(text,font){if(!_ctx){var canvas=platformApi.createCanvas();_ctx=canvas&&canvas.getContext("2d")}if(_ctx){if(_cachedFont!==font)_cachedFont=_ctx.font=font||DEFAULT_FONT;return _ctx.measureText(text)}else{text=text||"",font=font||DEFAULT_FONT;var res=/((?:\d+)?\.?\d*)px/.exec(font),fontSize=res&&+res[1]||DEFAULT_FONT_SIZE,width=0;if(font.indexOf("mono")>=0)width=fontSize*text.length;else for(var i=0;i<text.length;i++){var preCalcWidth=DEFAULT_TEXT_WIDTH_MAP[text[i]];width+=preCalcWidth==null?fontSize:preCalcWidth*fontSize}return{width}}}}(),loadImage:function(src,onload,onerror){var image=new Image;return image.onload=onload,image.onerror=onerror,image.src=src,image},getTime:function(){return Date.now?Date.now():+new Date}};var BUILTIN_OBJECT=reduce(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(obj,val){return obj["[object "+val+"]"]=!0,obj},{}),TYPED_ARRAY=reduce(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(obj,val){return obj["[object "+val+"Array]"]=!0,obj},{}),objToString=Object.prototype.toString,arrayProto=Array.prototype,{forEach:nativeForEach,filter:nativeFilter,slice:nativeSlice,map:nativeMap}=arrayProto,ctorFunction=function(){}.constructor,protoFunction=ctorFunction?ctorFunction.prototype:null,protoKey="__proto__",idStart=2311,MAX_SAFE_INTEGER=Math.pow(2,53)-1;function guid(){if(idStart>=MAX_SAFE_INTEGER)idStart=0;return idStart++}function logError(){var args=[];for(var _i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];if(typeof console<"u")console.error.apply(console,args)}function clone(source){if(source==null||typeof source!=="object")return source;var result=source,typeStr=objToString.call(source);if(typeStr==="[object Array]"){if(!isPrimitive(source)){result=[];for(var i=0,len=source.length;i<len;i++)result[i]=clone(source[i])}}else if(TYPED_ARRAY[typeStr]){if(!isPrimitive(source)){var Ctor=source.constructor;if(Ctor.from)result=Ctor.from(source);else{result=new Ctor(source.length);for(var i=0,len=source.length;i<len;i++)result[i]=source[i]}}}else if(!BUILTIN_OBJECT[typeStr]&&!isPrimitive(source)&&!isDom(source)){result={};for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey)result[key]=clone(source[key])}return result}function merge(target,source,overwrite){if(!isObject3(source)||!isObject3(target))return overwrite?clone(source):target;for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey){var targetProp=target[key],sourceProp=source[key];if(isObject3(sourceProp)&&isObject3(targetProp)&&!isArray(sourceProp)&&!isArray(targetProp)&&!isDom(sourceProp)&&!isDom(targetProp)&&!isBuiltInObject(sourceProp)&&!isBuiltInObject(targetProp)&&!isPrimitive(sourceProp)&&!isPrimitive(targetProp))merge(targetProp,sourceProp,overwrite);else if(overwrite||!(key in target))target[key]=clone(source[key])}return target}function extend(target,source){if(Object.assign)Object.assign(target,source);else for(var key in source)if(source.hasOwnProperty(key)&&key!==protoKey)target[key]=source[key];return target}function assignProps(tar,src,props){tar=tar||{};for(var idx=0;idx<props.length;idx++){var prop=props[idx];tar[prop]=src[prop]}return tar}function defaults(target,source,overlay){var keysArr=keys(source);for(var i=0,len=keysArr.length;i<len;i++){var key=keysArr[i];if(overlay?source[key]!=null:target[key]==null)target[key]=source[key]}return target}var createCanvas=platformApi.createCanvas;function indexOf(array,value){if(array){if(array.indexOf)return array.indexOf(value);for(var i=0,len=array.length;i<len;i++)if(array[i]===value)return i}return-1}function inherits(clazz,baseClazz){var clazzPrototype=clazz.prototype;function F(){}F.prototype=baseClazz.prototype,clazz.prototype=new F;for(var prop in clazzPrototype)if(clazzPrototype.hasOwnProperty(prop))clazz.prototype[prop]=clazzPrototype[prop];clazz.prototype.constructor=clazz,clazz.superClass=baseClazz}function mixin(target,source,override){if(target="prototype"in target?target.prototype:target,source="prototype"in source?source.prototype:source,Object.getOwnPropertyNames){var keyList=Object.getOwnPropertyNames(source);for(var i=0;i<keyList.length;i++){var key=keyList[i];if(key!=="constructor"){if(override?source[key]!=null:target[key]==null)target[key]=source[key]}}}else defaults(target,source,override)}function isArrayLike(data){if(!data)return!1;if(typeof data==="string")return!1;return typeof data.length==="number"}function each(arr,cb,context){if(!(arr&&cb))return;if(arr.forEach&&arr.forEach===nativeForEach)arr.forEach(cb,context);else if(arr.length===+arr.length)for(var i=0,len=arr.length;i<len;i++)cb.call(context,arr[i],i,arr);else for(var key in arr)if(arr.hasOwnProperty(key))cb.call(context,arr[key],key,arr)}function map(arr,cb,context){if(!arr)return[];if(!cb)return slice(arr);if(arr.map&&arr.map===nativeMap)return arr.map(cb,context);else{var result=[];for(var i=0,len=arr.length;i<len;i++)result.push(cb.call(context,arr[i],i,arr));return result}}function reduce(arr,cb,memo,context){if(!(arr&&cb))return;for(var i=0,len=arr.length;i<len;i++)memo=cb.call(context,memo,arr[i],i,arr);return memo}function filter(arr,cb,context){if(!arr)return[];if(!cb)return slice(arr);if(arr.filter&&arr.filter===nativeFilter)return arr.filter(cb,context);else{var result=[];for(var i=0,len=arr.length;i<len;i++)if(cb.call(context,arr[i],i,arr))result.push(arr[i]);return result}}function find(arr,cb,context){if(!(arr&&cb))return;for(var i=0,len=arr.length;i<len;i++)if(cb.call(context,arr[i],i,arr))return arr[i]}function keys(obj){if(!obj)return[];if(Object.keys)return Object.keys(obj);var keyList=[];for(var key in obj)if(obj.hasOwnProperty(key))keyList.push(key);return keyList}function bindPolyfill(func,context){var args=[];for(var _i=2;_i<arguments.length;_i++)args[_i-2]=arguments[_i];return function(){return func.apply(context,args.concat(nativeSlice.call(arguments)))}}var bind=protoFunction&&isFunction7(protoFunction.bind)?protoFunction.call.bind(protoFunction.bind):bindPolyfill;function curry(func){var args=[];for(var _i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];return function(){return func.apply(this,args.concat(nativeSlice.call(arguments)))}}function isArray(value){if(Array.isArray)return Array.isArray(value);return objToString.call(value)==="[object Array]"}function isFunction7(value){return typeof value==="function"}function isString2(value){return typeof value==="string"}function isStringSafe(value){return objToString.call(value)==="[object String]"}function isNumber3(value){return typeof value==="number"}function isObject3(value){var type=typeof value;return type==="function"||!!value&&type==="object"}function isBuiltInObject(value){return!!BUILTIN_OBJECT[objToString.call(value)]}function isTypedArray(value){return!!TYPED_ARRAY[objToString.call(value)]}function isDom(value){return typeof value==="object"&&typeof value.nodeType==="number"&&typeof value.ownerDocument==="object"}function isGradientObject(value){return value.colorStops!=null}function isRegExp(value){return objToString.call(value)==="[object RegExp]"}function eqNaN(value){return value!==value}function retrieve(){var args=[];for(var _i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];for(var i=0,len=args.length;i<len;i++)if(args[i]!=null)return args[i]}function retrieve2(value0,value1){return value0!=null?value0:value1}function retrieve3(value0,value1,value2){return value0!=null?value0:value1!=null?value1:value2}function slice(arr){var args=[];for(var _i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];return nativeSlice.apply(arr,args)}function normalizeCssArray(val){if(typeof val==="number")return[val,val,val,val];var len=val.length;if(len===2)return[val[0],val[1],val[0],val[1]];else if(len===3)return[val[0],val[1],val[2],val[1]];return val}function assert(condition,message){if(!condition)throw Error(message)}function trim(str){if(str==null)return null;else if(typeof str.trim==="function")return str.trim();else return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var primitiveKey="__ec_primitive__";function setAsPrimitive(obj){obj[primitiveKey]=!0}function isPrimitive(obj){return obj[primitiveKey]}var MapPolyfill=function(){function MapPolyfill(){this.data={}}return MapPolyfill.prototype.delete=function(key){var existed=this.has(key);if(existed)delete this.data[key];return existed},MapPolyfill.prototype.has=function(key){return this.data.hasOwnProperty(key)},MapPolyfill.prototype.get=function(key){return this.data[key]},MapPolyfill.prototype.set=function(key,value){return this.data[key]=value,this},MapPolyfill.prototype.keys=function(){return keys(this.data)},MapPolyfill.prototype.forEach=function(callback){var data=this.data;for(var key in data)if(data.hasOwnProperty(key))callback(data[key],key)},MapPolyfill}(),isNativeMapSupported=typeof Map==="function";function maybeNativeMap(){return isNativeMapSupported?new Map:new MapPolyfill}var HashMap=function(){function HashMap(obj){var isArr=isArray(obj);this.data=maybeNativeMap();var thisMap=this;obj instanceof HashMap?obj.each(visit):obj&&each(obj,visit);function visit(value,key){isArr?thisMap.set(value,key):thisMap.set(key,value)}}return HashMap.prototype.hasKey=function(key){return this.data.has(key)},HashMap.prototype.get=function(key){return this.data.get(key)},HashMap.prototype.set=function(key,value){return this.data.set(key,value),value},HashMap.prototype.each=function(cb,context){this.data.forEach(function(value,key){cb.call(context,value,key)})},HashMap.prototype.keys=function(){var keys=this.data.keys();return isNativeMapSupported?Array.from(keys):keys},HashMap.prototype.removeKey=function(key){this.data.delete(key)},HashMap}();function createHashMap(obj){return new HashMap(obj)}function concatArray(a,b){var newArray=new a.constructor(a.length+b.length);for(var i=0;i<a.length;i++)newArray[i]=a[i];var offset=a.length;for(var i=0;i<b.length;i++)newArray[i+offset]=b[i];return newArray}function createObject(proto,properties){var obj;if(Object.create)obj=Object.create(proto);else{var StyleCtor=function(){};StyleCtor.prototype=proto,obj=new StyleCtor}if(properties)extend(obj,properties);return obj}function hasOwn(own,prop){return own.hasOwnProperty(prop)}function noop(){}var RADIAN_TO_DEGREE=180/Math.PI,EPSILON=Number.EPSILON||Math.pow(2,-52);var Browser=function(){function Browser(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return Browser}(),Env=function(){function Env(){this.browser=new Browser,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return Env}(),env=new Env;if(typeof wx==="object"&&typeof wx.getSystemInfoSync==="function")env.wxa=!0,env.touchEventsSupported=!0;else if(typeof document>"u"&&typeof self<"u")env.worker=!0;else if(!env.hasGlobalWindow||"Deno"in window||typeof navigator<"u"&&typeof navigator.userAgent==="string"&&navigator.userAgent.indexOf("Node.js")>-1)env.node=!0,env.svgSupported=!0;else detect(navigator.userAgent,env);function detect(ua,env){var browser=env.browser,firefox=ua.match(/Firefox\/([\d.]+)/),ie=ua.match(/MSIE\s([\d.]+)/)||ua.match(/Trident\/.+?rv:(([\d.]+))/),edge=ua.match(/Edge?\/([\d.]+)/),weChat=/micromessenger/i.test(ua);if(firefox)browser.firefox=!0,browser.version=firefox[1];if(ie)browser.ie=!0,browser.version=ie[1];if(edge)browser.edge=!0,browser.version=edge[1],browser.newEdge=+edge[1].split(".")[0]>18;if(weChat)browser.weChat=!0;env.svgSupported=typeof SVGRect<"u",env.touchEventsSupported="ontouchstart"in window&&!browser.ie&&!browser.edge,env.pointerEventsSupported="onpointerdown"in window&&(browser.edge||browser.ie&&+browser.version>=11);var domSupported=env.domSupported=typeof document<"u";if(domSupported){var style=document.documentElement.style;env.transform3dSupported=(browser.ie&&("transition"in style)||browser.edge||("WebKitCSSMatrix"in window)&&("m11"in new WebKitCSSMatrix)||("MozPerspective"in style))&&!("OTransition"in style),env.transformSupported=env.transform3dSupported||browser.ie&&+browser.version>=9}}var env_default=env;var TYPE_DELIMITER=".",IS_CONTAINER="___EC__COMPONENT__CONTAINER___",IS_EXTENDED_CLASS="___EC__EXTENDED_CLASS___";function parseClassType(componentType){var ret={main:"",sub:""};if(componentType){var typeArr=componentType.split(TYPE_DELIMITER);ret.main=typeArr[0]||"",ret.sub=typeArr[1]||""}return ret}function checkClassType(componentType){assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType),'componentType "'+componentType+'" illegal')}function isExtendedClass(clz){return!!(clz&&clz[IS_EXTENDED_CLASS])}function enableClassExtend(rootClz,mandatoryMethods){rootClz.$constructor=rootClz,rootClz.extend=function(proto){each(mandatoryMethods,function(method){if(!proto[method])console.warn("Method `"+method+"` should be implemented"+(proto.type?" in "+proto.type:"")+".")});var superClass=this,ExtendedClass;if(isESClass(superClass))ExtendedClass=function(_super){__extends2(class_1,_super);function class_1(){return _super.apply(this,arguments)||this}return class_1}(superClass);else ExtendedClass=function(){(proto.$constructor||superClass).apply(this,arguments)},inherits(ExtendedClass,this);return extend(ExtendedClass.prototype,proto),ExtendedClass[IS_EXTENDED_CLASS]=!0,ExtendedClass.extend=this.extend,ExtendedClass.superCall=superCall,ExtendedClass.superApply=superApply,ExtendedClass.superClass=superClass,ExtendedClass}}function isESClass(fn){return isFunction7(fn)&&/^class\s/.test(Function.prototype.toString.call(fn))}function mountExtend(SubClz,SupperClz){SubClz.extend=SupperClz.extend}var classBase=Math.round(Math.random()*10);function enableClassCheck(target){var classAttr=["__\x00is_clz",classBase++].join("_");target.prototype[classAttr]=!0,assert(!target.isInstance,'The method "is" can not be defined.'),target.isInstance=function(obj){return!!(obj&&obj[classAttr])}}function superCall(context,methodName){var args=[];for(var _i=2;_i<arguments.length;_i++)args[_i-2]=arguments[_i];return this.superClass.prototype[methodName].apply(context,args)}function superApply(context,methodName,args){return this.superClass.prototype[methodName].apply(context,args)}function enableClassManagement(target){var storage={};target.registerClass=function(clz){var componentFullType=clz.type||clz.prototype.type;if(componentFullType){checkClassType(componentFullType),clz.prototype.type=componentFullType;var componentTypeInfo=parseClassType(componentFullType);if(!componentTypeInfo.sub){if(storage[componentTypeInfo.main])console.warn(componentTypeInfo.main+" exists.");storage[componentTypeInfo.main]=clz}else if(componentTypeInfo.sub!==IS_CONTAINER){var container=makeContainer(componentTypeInfo);container[componentTypeInfo.sub]=clz}}return clz},target.getClass=function(mainType,subType,throwWhenNotFound){var clz=storage[mainType];if(clz&&clz[IS_CONTAINER])clz=subType?clz[subType]:null;if(throwWhenNotFound&&!clz)throw Error(!subType?mainType+".type should be specified.":"Component "+mainType+"."+(subType||"")+" is used but not imported.");return clz},target.getClassesByMainType=function(componentType){var componentTypeInfo=parseClassType(componentType),result=[],obj=storage[componentTypeInfo.main];if(obj&&obj[IS_CONTAINER])each(obj,function(o,type){type!==IS_CONTAINER&&result.push(o)});else result.push(obj);return result},target.hasClass=function(componentType){var componentTypeInfo=parseClassType(componentType);return!!storage[componentTypeInfo.main]},target.getAllClassMainTypes=function(){var types=[];return each(storage,function(obj,type){types.push(type)}),types},target.hasSubTypes=function(componentType){var componentTypeInfo=parseClassType(componentType),obj=storage[componentTypeInfo.main];return obj&&obj[IS_CONTAINER]};function makeContainer(componentTypeInfo){var container=storage[componentTypeInfo.main];if(!container||!container[IS_CONTAINER])container=storage[componentTypeInfo.main]={},container[IS_CONTAINER]=!0;return container}}function makeStyleMapper(properties,ignoreParent){for(var i=0;i<properties.length;i++)if(!properties[i][1])properties[i][1]=properties[i][0];return ignoreParent=ignoreParent||!1,function(model,excludes,includes){var style={};for(var i=0;i<properties.length;i++){var propName=properties[i][1];if(excludes&&indexOf(excludes,propName)>=0||includes&&indexOf(includes,propName)<0)continue;var val=model.getShallow(propName,ignoreParent);if(val!=null)style[properties[i][0]]=val}return style}}var AREA_STYLE_KEY_MAP=[["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]],getAreaStyle=makeStyleMapper(AREA_STYLE_KEY_MAP),AreaStyleMixin=function(){function AreaStyleMixin(){}return AreaStyleMixin.prototype.getAreaStyle=function(excludes,includes){return getAreaStyle(this,excludes,includes)},AreaStyleMixin}();var Entry=function(){function Entry(val){this.value=val}return Entry}();var LinkedList=function(){function LinkedList(){this._len=0}return LinkedList.prototype.insert=function(val){var entry=new Entry(val);return this.insertEntry(entry),entry},LinkedList.prototype.insertEntry=function(entry){if(!this.head)this.head=this.tail=entry;else this.tail.next=entry,entry.prev=this.tail,entry.next=null,this.tail=entry;this._len++},LinkedList.prototype.remove=function(entry){var{prev,next}=entry;if(prev)prev.next=next;else this.head=next;if(next)next.prev=prev;else this.tail=prev;entry.next=entry.prev=null,this._len--},LinkedList.prototype.len=function(){return this._len},LinkedList.prototype.clear=function(){this.head=this.tail=null,this._len=0},LinkedList}();var LRU=function(){function LRU(maxSize){this._list=new LinkedList,this._maxSize=10,this._map={},this._maxSize=maxSize}return LRU.prototype.put=function(key,value){var list=this._list,map=this._map,removed=null;if(map[key]==null){var len=list.len(),entry=this._lastRemovedEntry;if(len>=this._maxSize&&len>0){var leastUsedEntry=list.head;list.remove(leastUsedEntry),delete map[leastUsedEntry.key],removed=leastUsedEntry.value,this._lastRemovedEntry=leastUsedEntry}if(entry)entry.value=value;else entry=new Entry(value);entry.key=key,list.insertEntry(entry),map[key]=entry}return removed},LRU.prototype.get=function(key){var entry=this._map[key],list=this._list;if(entry!=null){if(entry!==list.tail)list.remove(entry),list.insertEntry(entry);return entry.value}},LRU.prototype.clear=function(){this._list.clear(),this._map={}},LRU.prototype.len=function(){return this._list.len()},LRU}(),LRU_default=LRU;var globalImageCache=new LRU_default(50);function findExistImage(newImageOrSrc){if(typeof newImageOrSrc==="string"){var cachedImgObj=globalImageCache.get(newImageOrSrc);return cachedImgObj&&cachedImgObj.image}else return newImageOrSrc}function createOrUpdateImage(newImageOrSrc,image,hostEl,onload,cbPayload){if(!newImageOrSrc)return image;else if(typeof newImageOrSrc==="string"){if(image&&image.__zrImageSrc===newImageOrSrc||!hostEl)return image;var cachedImgObj=globalImageCache.get(newImageOrSrc),pendingWrap={hostEl,cb:onload,cbPayload};if(cachedImgObj)image=cachedImgObj.image,!isImageReady(image)&&cachedImgObj.pending.push(pendingWrap);else image=platformApi.loadImage(newImageOrSrc,imageOnLoad,imageOnLoad),image.__zrImageSrc=newImageOrSrc,globalImageCache.put(newImageOrSrc,image.__cachedImgObj={image,pending:[pendingWrap]});return image}else return newImageOrSrc}function imageOnLoad(){var cachedImgObj=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var i=0;i<cachedImgObj.pending.length;i++){var pendingWrap=cachedImgObj.pending[i],cb=pendingWrap.cb;cb&&cb(this,pendingWrap.cbPayload),pendingWrap.hostEl.dirty()}cachedImgObj.pending.length=0}function isImageReady(image){return image&&image.width&&image.height}function create(){return[1,0,0,1,0,0]}function identity(out){return out[0]=1,out[1]=0,out[2]=0,out[3]=1,out[4]=0,out[5]=0,out}function copy(out,m){return out[0]=m[0],out[1]=m[1],out[2]=m[2],out[3]=m[3],out[4]=m[4],out[5]=m[5],out}function mul(out,m1,m2){var out0=m1[0]*m2[0]+m1[2]*m2[1],out1=m1[1]*m2[0]+m1[3]*m2[1],out2=m1[0]*m2[2]+m1[2]*m2[3],out3=m1[1]*m2[2]+m1[3]*m2[3],out4=m1[0]*m2[4]+m1[2]*m2[5]+m1[4],out5=m1[1]*m2[4]+m1[3]*m2[5]+m1[5];return out[0]=out0,out[1]=out1,out[2]=out2,out[3]=out3,out[4]=out4,out[5]=out5,out}function translate(out,a,v){return out[0]=a[0],out[1]=a[1],out[2]=a[2],out[3]=a[3],out[4]=a[4]+v[0],out[5]=a[5]+v[1],out}function rotate(out,a,rad,pivot){if(pivot===void 0)pivot=[0,0];var aa=a[0],ac=a[2],atx=a[4],ab=a[1],ad=a[3],aty=a[5],st=Math.sin(rad),ct=Math.cos(rad);return out[0]=aa*ct+ab*st,out[1]=-aa*st+ab*ct,out[2]=ac*ct+ad*st,out[3]=-ac*st+ct*ad,out[4]=ct*(atx-pivot[0])+st*(aty-pivot[1])+pivot[0],out[5]=ct*(aty-pivot[1])-st*(atx-pivot[0])+pivot[1],out}function scale(out,a,v){var vx=v[0],vy=v[1];return out[0]=a[0]*vx,out[1]=a[1]*vy,out[2]=a[2]*vx,out[3]=a[3]*vy,out[4]=a[4]*vx,out[5]=a[5]*vy,out}function invert(out,a){var aa=a[0],ac=a[2],atx=a[4],ab=a[1],ad=a[3],aty=a[5],det=aa*ad-ab*ac;if(!det)return null;return det=1/det,out[0]=ad*det,out[1]=-ab*det,out[2]=-ac*det,out[3]=aa*det,out[4]=(ac*aty-ad*atx)*det,out[5]=(ab*atx-aa*aty)*det,out}function create2(x,y){if(x==null)x=0;if(y==null)y=0;return[x,y]}function clone2(v){return[v[0],v[1]]}function set(out,a,b){return out[0]=a,out[1]=b,out}function add(out,v1,v2){return out[0]=v1[0]+v2[0],out[1]=v1[1]+v2[1],out}function sub(out,v1,v2){return out[0]=v1[0]-v2[0],out[1]=v1[1]-v2[1],out}function len(v){return Math.sqrt(lenSquare(v))}function lenSquare(v){return v[0]*v[0]+v[1]*v[1]}function scale2(out,v,s){return out[0]=v[0]*s,out[1]=v[1]*s,out}function normalize(out,v){var d=len(v);if(d===0)out[0]=0,out[1]=0;else out[0]=v[0]/d,out[1]=v[1]/d;return out}function distance(v1,v2){return Math.sqrt((v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1]))}var dist=distance;function distanceSquare(v1,v2){return(v1[0]-v2[0])*(v1[0]-v2[0])+(v1[1]-v2[1])*(v1[1]-v2[1])}var distSquare=distanceSquare;function lerp(out,v1,v2,t){return out[0]=v1[0]+t*(v2[0]-v1[0]),out[1]=v1[1]+t*(v2[1]-v1[1]),out}function applyTransform(out,v,m){var x=v[0],y=v[1];return out[0]=m[0]*x+m[2]*y+m[4],out[1]=m[1]*x+m[3]*y+m[5],out}function min2(out,v1,v2){return out[0]=Math.min(v1[0],v2[0]),out[1]=Math.min(v1[1],v2[1]),out}function max2(out,v1,v2){return out[0]=Math.max(v1[0],v2[0]),out[1]=Math.max(v1[1],v2[1]),out}var Point=function(){function Point(x,y){this.x=x||0,this.y=y||0}return Point.prototype.copy=function(other){return this.x=other.x,this.y=other.y,this},Point.prototype.clone=function(){return new Point(this.x,this.y)},Point.prototype.set=function(x,y){return this.x=x,this.y=y,this},Point.prototype.equal=function(other){return other.x===this.x&&other.y===this.y},Point.prototype.add=function(other){return this.x+=other.x,this.y+=other.y,this},Point.prototype.scale=function(scalar){this.x*=scalar,this.y*=scalar},Point.prototype.scaleAndAdd=function(other,scalar){this.x+=other.x*scalar,this.y+=other.y*scalar},Point.prototype.sub=function(other){return this.x-=other.x,this.y-=other.y,this},Point.prototype.dot=function(other){return this.x*other.x+this.y*other.y},Point.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},Point.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},Point.prototype.normalize=function(){var len=this.len();return this.x/=len,this.y/=len,this},Point.prototype.distance=function(other){var dx=this.x-other.x,dy=this.y-other.y;return Math.sqrt(dx*dx+dy*dy)},Point.prototype.distanceSquare=function(other){var dx=this.x-other.x,dy=this.y-other.y;return dx*dx+dy*dy},Point.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},Point.prototype.transform=function(m){if(!m)return;var x=this.x,y=this.y;return this.x=m[0]*x+m[2]*y+m[4],this.y=m[1]*x+m[3]*y+m[5],this},Point.prototype.toArray=function(out){return out[0]=this.x,out[1]=this.y,out},Point.prototype.fromArray=function(input){this.x=input[0],this.y=input[1]},Point.set=function(p,x,y){p.x=x,p.y=y},Point.copy=function(p,p2){p.x=p2.x,p.y=p2.y},Point.len=function(p){return Math.sqrt(p.x*p.x+p.y*p.y)},Point.lenSquare=function(p){return p.x*p.x+p.y*p.y},Point.dot=function(p0,p1){return p0.x*p1.x+p0.y*p1.y},Point.add=function(out,p0,p1){out.x=p0.x+p1.x,out.y=p0.y+p1.y},Point.sub=function(out,p0,p1){out.x=p0.x-p1.x,out.y=p0.y-p1.y},Point.scale=function(out,p0,scalar){out.x=p0.x*scalar,out.y=p0.y*scalar},Point.scaleAndAdd=function(out,p0,p1,scalar){out.x=p0.x+p1.x*scalar,out.y=p0.y+p1.y*scalar},Point.lerp=function(out,p0,p1,t){var onet=1-t;out.x=onet*p0.x+t*p1.x,out.y=onet*p0.y+t*p1.y},Point}(),Point_default=Point;var{min:mathMin,max:mathMax,abs:mathAbs2}=Math,XY=["x","y"],WH=["width","height"],lt=new Point_default,rb=new Point_default,lb=new Point_default,rt=new Point_default,_intersectCtx=createIntersectContext(),{minTv:_minTv,maxTv:_maxTv}=_intersectCtx,_lenMinMax=[0,0],BoundingRect=function(){function BoundingRect(x,y,width,height){boundingRectSet(this,x,y,width,height)}return BoundingRect.set=function(target,x,y,width,height){if(width<0)x=x+width,width=-width;if(height<0)y=y+height,height=-height;return target.x=x,target.y=y,target.width=width,target.height=height,target},BoundingRect.prototype.union=function(other){var x=mathMin(other.x,this.x),y=mathMin(other.y,this.y);if(isFinite(this.x)&&isFinite(this.width))this.width=mathMax(other.x+other.width,this.x+this.width)-x;else this.width=other.width;if(isFinite(this.y)&&isFinite(this.height))this.height=mathMax(other.y+other.height,this.y+this.height)-y;else this.height=other.height;this.x=x,this.y=y},BoundingRect.prototype.applyTransform=function(m){BoundingRect.applyTransform(this,this,m)},BoundingRect.prototype.calculateTransform=function(b){return boundingRectCalculateTransform(create(),this,b)},BoundingRect.prototype.intersect=function(b,mtv,opt){return BoundingRect.intersect(this,b,mtv,opt)},BoundingRect.intersect=function(a,b,mtv,opt){if(mtv)Point_default.set(mtv,0,0);var outIntersectRect=opt&&opt.outIntersectRect||null,clamp=opt&&opt.clamp;if(outIntersectRect)outIntersectRect.x=outIntersectRect.y=outIntersectRect.width=outIntersectRect.height=NaN;if(!a||!b)return!1;if(!(a instanceof BoundingRect))a=boundingRectSet(_tmpIntersectA,a.x,a.y,a.width,a.height);if(!(b instanceof BoundingRect))b=boundingRectSet(_tmpIntersectB,b.x,b.y,b.width,b.height);var useMTV=!!mtv;_intersectCtx.reset(opt,useMTV);var touchThreshold=_intersectCtx.touchThreshold,ax0=a.x+touchThreshold,ax1=a.x+a.width-touchThreshold,ay0=a.y+touchThreshold,ay1=a.y+a.height-touchThreshold,bx0=b.x+touchThreshold,bx1=b.x+b.width-touchThreshold,by0=b.y+touchThreshold,by1=b.y+b.height-touchThreshold;if(ax0>ax1||ay0>ay1||bx0>bx1||by0>by1)return!1;var overlap=!(ax1<bx0||bx1<ax0||ay1<by0||by1<ay0);if(useMTV||outIntersectRect){if(_lenMinMax[0]=1/0,_lenMinMax[1]=0,intersectOneDim(ax0,ax1,bx0,bx1,0,useMTV,outIntersectRect,clamp),intersectOneDim(ay0,ay1,by0,by1,1,useMTV,outIntersectRect,clamp),useMTV)Point_default.copy(mtv,overlap?_intersectCtx.useDir?_intersectCtx.dirMinTv:_minTv:_maxTv)}return overlap},BoundingRect.contain=function(rect,x,y){return x>=rect.x&&x<=rect.x+rect.width&&y>=rect.y&&y<=rect.y+rect.height},BoundingRect.prototype.contain=function(x,y){return BoundingRect.contain(this,x,y)},BoundingRect.prototype.clone=function(){return new BoundingRect(this.x,this.y,this.width,this.height)},BoundingRect.prototype.copy=function(other){boundingRectCopy(this,other)},BoundingRect.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},BoundingRect.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},BoundingRect.prototype.isZero=function(){return this.width===0||this.height===0},BoundingRect.create=function(rect){return new BoundingRect(rect?rect.x:0,rect?rect.y:0,rect?rect.width:0,rect?rect.height:0)},BoundingRect.copy=function(target,source){return target.x=source.x,target.y=source.y,target.width=source.width,target.height=source.height,target},BoundingRect.applyTransform=function(target,source,m){if(!m){if(target!==source)boundingRectCopy(target,source);return}if(m[1]<0.00001&&m[1]>-0.00001&&m[2]<0.00001&&m[2]>-0.00001){var sx=m[0],sy=m[3],tx=m[4],ty=m[5];if(target.x=source.x*sx+tx,target.y=source.y*sy+ty,target.width=source.width*sx,target.height=source.height*sy,target.width<0)target.x+=target.width,target.width=-target.width;if(target.height<0)target.y+=target.height,target.height=-target.height;return}lt.x=lb.x=source.x,lt.y=rt.y=source.y,rb.x=rt.x=source.x+source.width,rb.y=lb.y=source.y+source.height,lt.transform(m),rt.transform(m),rb.transform(m),lb.transform(m),target.x=mathMin(lt.x,rb.x,lb.x,rt.x),target.y=mathMin(lt.y,rb.y,lb.y,rt.y);var maxX=mathMax(lt.x,rb.x,lb.x,rt.x),maxY=mathMax(lt.y,rb.y,lb.y,rt.y);target.width=maxX-target.x,target.height=maxY-target.y},BoundingRect.calculateTransform=function(out,a,b){var sx=b.width/a.width,sy=b.height/a.height;return out=identity(out||[]),translate(out,out,set(_tmpCalcTrans,-a.x,-a.y)),scale(out,out,set(_tmpCalcTrans,sx,sy)),translate(out,out,set(_tmpCalcTrans,b.x,b.y)),out},BoundingRect}(),{create:boundingRectCreate,set:boundingRectSet,copy:boundingRectCopy,calculateTransform:boundingRectCalculateTransform,applyTransform:boundingRectApplyTransform,contain:boundingRectContain}=BoundingRect,_tmpIntersectA=new BoundingRect(0,0,0,0),_tmpIntersectB=new BoundingRect(0,0,0,0),_tmpCalcTrans=[];function intersectOneDim(a0,a1,b0,b1,updateDimIdx,useMTV,outIntersectRect,clamp){var d0=mathAbs2(a1-b0),d1=mathAbs2(b1-a0),d01min=mathMin(d0,d1),updateDim=XY[updateDimIdx],zeroDim=XY[1-updateDimIdx],wh=WH[updateDimIdx];if(a1<b0||b1<a0)if(d0<d1){if(useMTV)_maxTv[updateDim]=-d0;if(clamp)outIntersectRect[updateDim]=a1,outIntersectRect[wh]=0}else{if(useMTV)_maxTv[updateDim]=d1;if(clamp)outIntersectRect[updateDim]=a0,outIntersectRect[wh]=0}else{if(outIntersectRect)outIntersectRect[updateDim]=mathMax(a0,b0),outIntersectRect[wh]=mathMin(a1,b1)-outIntersectRect[updateDim];if(useMTV){if(d01min<_lenMinMax[0]||_intersectCtx.useDir){if(_lenMinMax[0]=mathMin(d01min,_lenMinMax[0]),d0<d1||!_intersectCtx.bidirectional){if(_minTv[updateDim]=d0,_minTv[zeroDim]=0,_intersectCtx.useDir)_intersectCtx.calcDirMTV()}if(d0>=d1||!_intersectCtx.bidirectional){if(_minTv[updateDim]=-d1,_minTv[zeroDim]=0,_intersectCtx.useDir)_intersectCtx.calcDirMTV()}}}}}function createIntersectContext(){var _direction=0,_dirCheckVec=new Point_default,_dirTmp=new Point_default,_ctx={minTv:new Point_default,maxTv:new Point_default,useDir:!1,dirMinTv:new Point_default,touchThreshold:0,bidirectional:!0,negativeSize:!1,reset:function(opt,useMTV){if(_ctx.touchThreshold=0,opt&&opt.touchThreshold!=null)_ctx.touchThreshold=mathMax(0,opt.touchThreshold);if(_ctx.negativeSize=!1,!useMTV)return;if(_ctx.minTv.set(1/0,1/0),_ctx.maxTv.set(0,0),_ctx.useDir=!1,opt&&opt.direction!=null){if(_ctx.useDir=!0,_ctx.dirMinTv.copy(_ctx.minTv),_dirTmp.copy(_ctx.minTv),_direction=opt.direction,_ctx.bidirectional=opt.bidirectional==null||!!opt.bidirectional,!_ctx.bidirectional)_dirCheckVec.set(Math.cos(_direction),Math.sin(_direction))}},calcDirMTV:function(){var{minTv,dirMinTv}=_ctx,squareMag=minTv.y*minTv.y+minTv.x*minTv.x,dirSin=Math.sin(_direction),dirCos=Math.cos(_direction),dotProd=dirSin*minTv.y+dirCos*minTv.x;if(nearZero(dotProd)){if(nearZero(minTv.x)&&nearZero(minTv.y))dirMinTv.set(0,0);return}if(_dirTmp.x=squareMag*dirCos/dotProd,_dirTmp.y=squareMag*dirSin/dotProd,nearZero(_dirTmp.x)&&nearZero(_dirTmp.y)){dirMinTv.set(0,0);return}if((_ctx.bidirectional||_dirCheckVec.dot(_dirTmp)>0)&&_dirTmp.len()<dirMinTv.len())dirMinTv.copy(_dirTmp)}};function nearZero(val){return mathAbs2(val)<0.0000000001}return _ctx}var BoundingRect_default=BoundingRect;function ensureFontMeasureInfo(font){if(!_fontMeasureInfoCache)_fontMeasureInfoCache=new LRU_default(100);font=font||DEFAULT_FONT;var measureInfo=_fontMeasureInfoCache.get(font);if(!measureInfo)measureInfo={font,strWidthCache:new LRU_default(500),asciiWidthMap:null,asciiWidthMapTried:!1,stWideCharWidth:platformApi.measureText("\u56FD",font).width,asciiCharWidth:platformApi.measureText("a",font).width},_fontMeasureInfoCache.put(font,measureInfo);return measureInfo}var _fontMeasureInfoCache;function tryCreateASCIIWidthMap(font){if(_getASCIIWidthMapLongCount>=GET_ASCII_WIDTH_LONG_COUNT_MAX)return;font=font||DEFAULT_FONT;var asciiWidthMap=[],start=+new Date;for(var code=0;code<=127;code++)asciiWidthMap[code]=platformApi.measureText(String.fromCharCode(code),font).width;var cost=+new Date-start;if(cost>16)_getASCIIWidthMapLongCount=GET_ASCII_WIDTH_LONG_COUNT_MAX;else if(cost>2)_getASCIIWidthMapLongCount++;return asciiWidthMap}var _getASCIIWidthMapLongCount=0,GET_ASCII_WIDTH_LONG_COUNT_MAX=5;function measureCharWidth(fontMeasureInfo,charCode){if(!fontMeasureInfo.asciiWidthMapTried)fontMeasureInfo.asciiWidthMap=tryCreateASCIIWidthMap(fontMeasureInfo.font),fontMeasureInfo.asciiWidthMapTried=!0;return 0<=charCode&&charCode<=127?fontMeasureInfo.asciiWidthMap!=null?fontMeasureInfo.asciiWidthMap[charCode]:fontMeasureInfo.asciiCharWidth:fontMeasureInfo.stWideCharWidth}function measureWidth(fontMeasureInfo,text){var strWidthCache=fontMeasureInfo.strWidthCache,width=strWidthCache.get(text);if(width==null)width=platformApi.measureText(text,fontMeasureInfo.font).width,strWidthCache.put(text,width);return width}function innerGetBoundingRect(text,font,textAlign,textBaseline){var width=measureWidth(ensureFontMeasureInfo(font),text),height=getLineHeight(font),x=adjustTextX(0,width,textAlign),y=adjustTextY(0,height,textBaseline),rect=new BoundingRect_default(x,y,width,height);return rect}function getBoundingRect(text,font,textAlign,textBaseline){var textLines=((text||"")+"").split(`
61
61
  `),len=textLines.length;if(len===1)return innerGetBoundingRect(textLines[0],font,textAlign,textBaseline);else{var uniondRect=new BoundingRect_default(0,0,0,0);for(var i=0;i<textLines.length;i++){var rect=innerGetBoundingRect(textLines[i],font,textAlign,textBaseline);i===0?uniondRect.copy(rect):uniondRect.union(rect)}return uniondRect}}function adjustTextX(x,width,textAlign,inverse){if(textAlign==="right")!inverse?x-=width:x+=width;else if(textAlign==="center")!inverse?x-=width/2:x+=width/2;return x}function adjustTextY(y,height,verticalAlign,inverse){if(verticalAlign==="middle")!inverse?y-=height/2:y+=height/2;else if(verticalAlign==="bottom")!inverse?y-=height:y+=height;return y}function getLineHeight(font){return ensureFontMeasureInfo(font).stWideCharWidth}function parsePercent(value,maxValue){if(typeof value==="string"){if(value.lastIndexOf("%")>=0)return parseFloat(value)/100*maxValue;return parseFloat(value)}return value}function calculateTextPosition(out,opts,rect){var textPosition=opts.position||"inside",distance=opts.distance!=null?opts.distance:5,{height,width}=rect,halfHeight=height/2,{x,y}=rect,textAlign="left",textVerticalAlign="top";if(textPosition instanceof Array)x+=parsePercent(textPosition[0],rect.width),y+=parsePercent(textPosition[1],rect.height),textAlign=null,textVerticalAlign=null;else switch(textPosition){case"left":x-=distance,y+=halfHeight,textAlign="right",textVerticalAlign="middle";break;case"right":x+=distance+width,y+=halfHeight,textVerticalAlign="middle";break;case"top":x+=width/2,y-=distance,textAlign="center",textVerticalAlign="bottom";break;case"bottom":x+=width/2,y+=height+distance,textAlign="center";break;case"inside":x+=width/2,y+=halfHeight,textAlign="center",textVerticalAlign="middle";break;case"insideLeft":x+=distance,y+=halfHeight,textVerticalAlign="middle";break;case"insideRight":x+=width-distance,y+=halfHeight,textAlign="right",textVerticalAlign="middle";break;case"insideTop":x+=width/2,y+=distance,textAlign="center";break;case"insideBottom":x+=width/2,y+=height-distance,textAlign="center",textVerticalAlign="bottom";break;case"insideTopLeft":x+=distance,y+=distance;break;case"insideTopRight":x+=width-distance,y+=distance,textAlign="right";break;case"insideBottomLeft":x+=distance,y+=height-distance,textVerticalAlign="bottom";break;case"insideBottomRight":x+=width-distance,y+=height-distance,textAlign="right",textVerticalAlign="bottom";break}return out=out||{},out.x=x,out.y=y,out.align=textAlign,out.verticalAlign=textVerticalAlign,out}var STYLE_REG=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g;function truncateText2(out,text,containerWidth,font,ellipsis,options){if(!containerWidth){out.text="",out.isTruncated=!1;return}var textLines=(text+"").split(`
62
62
  `);options=prepareTruncateOptions(containerWidth,font,ellipsis,options);var isTruncated=!1,truncateOut={};for(var i=0,len=textLines.length;i<len;i++)truncateSingleLine(truncateOut,textLines[i],options),textLines[i]=truncateOut.textLine,isTruncated=isTruncated||truncateOut.isTruncated;out.text=textLines.join(`
63
63
  `),out.isTruncated=isTruncated}function prepareTruncateOptions(containerWidth,font,ellipsis,options){options=options||{};var preparedOpts=extend({},options);ellipsis=retrieve2(ellipsis,"..."),preparedOpts.maxIterations=retrieve2(options.maxIterations,2);var minChar=preparedOpts.minChar=retrieve2(options.minChar,0),fontMeasureInfo=preparedOpts.fontMeasureInfo=ensureFontMeasureInfo(font),ascCharWidth=fontMeasureInfo.asciiCharWidth;preparedOpts.placeholder=retrieve2(options.placeholder,"");var contentWidth=containerWidth=Math.max(0,containerWidth-1);for(var i=0;i<minChar&&contentWidth>=ascCharWidth;i++)contentWidth-=ascCharWidth;var ellipsisWidth=measureWidth(fontMeasureInfo,ellipsis);if(ellipsisWidth>contentWidth)ellipsis="",ellipsisWidth=0;return contentWidth=containerWidth-ellipsisWidth,preparedOpts.ellipsis=ellipsis,preparedOpts.ellipsisWidth=ellipsisWidth,preparedOpts.contentWidth=contentWidth,preparedOpts.containerWidth=containerWidth,preparedOpts}function truncateSingleLine(out,textLine,options){var{containerWidth,contentWidth,fontMeasureInfo}=options;if(!containerWidth){out.textLine="",out.isTruncated=!1;return}var lineWidth=measureWidth(fontMeasureInfo,textLine);if(lineWidth<=containerWidth){out.textLine=textLine,out.isTruncated=!1;return}for(var j=0;;j++){if(lineWidth<=contentWidth||j>=options.maxIterations){textLine+=options.ellipsis;break}var subLength=j===0?estimateLength(textLine,contentWidth,fontMeasureInfo):lineWidth>0?Math.floor(textLine.length*contentWidth/lineWidth):0;textLine=textLine.substr(0,subLength),lineWidth=measureWidth(fontMeasureInfo,textLine)}if(textLine==="")textLine=options.placeholder;out.textLine=textLine,out.isTruncated=!0}function estimateLength(text,contentWidth,fontMeasureInfo){var width=0,i=0;for(var len=text.length;i<len&&width<contentWidth;i++)width+=measureCharWidth(fontMeasureInfo,text.charCodeAt(i));return i}function parsePlainText(rawText,style,defaultOuterWidth,defaultOuterHeight){var text=formatText(rawText),{overflow,padding}=style,paddingH=padding?padding[1]+padding[3]:0,paddingV=padding?padding[0]+padding[2]:0,font=style.font,truncate=overflow==="truncate",calculatedLineHeight=getLineHeight(font),lineHeight=retrieve2(style.lineHeight,calculatedLineHeight),truncateLineOverflow=style.lineOverflow==="truncate",isTruncated=!1,width=style.width;if(width==null&&defaultOuterWidth!=null)width=defaultOuterWidth-paddingH;var height=style.height;if(height==null&&defaultOuterHeight!=null)height=defaultOuterHeight-paddingV;var lines;if(width!=null&&(overflow==="break"||overflow==="breakAll"))lines=text?wrapText(text,style.font,width,overflow==="breakAll",0).lines:[];else lines=text?text.split(`