@storybook/manager 0.0.0-pr-24225-sha-4257f39c → 0.0.0-pr-24225-sha-97ddc35a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-IYDBQRDQ.js → chunk-J5Z6R42M.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/runtime.js +1 -1
- package/package.json +10 -10
|
@@ -36,7 +36,7 @@ Output:
|
|
|
36
36
|
`)})}strings[0]=strings[0].replace(/^\r?\n/,"");var string=strings[0];return values.forEach(function(value2,i3){var endentations=string.match(/(?:^|\n)( *)$/),endentation=endentations?endentations[1]:"",indentedValue=value2;typeof value2=="string"&&value2.includes(`
|
|
37
37
|
`)&&(indentedValue=String(value2).split(`
|
|
38
38
|
`).map(function(str,i4){return i4===0?str:""+endentation+str}).join(`
|
|
39
|
-
`)),string+=indentedValue+strings[i3+1]}),string}var import_memoizerific3=__toESM(require_memoizerific(),1),import_countBy=__toESM(require_countBy(),1),import_mapValues=__toESM(require_mapValues(),1),import_pick=__toESM(require_pick(),1);var has2=Object.prototype.hasOwnProperty;function find2(iter,tar,key2){for(key2 of iter.keys())if(dequal2(key2,tar))return key2}function dequal2(foo,bar){var ctor,len,tmp;if(foo===bar)return!0;if(foo&&bar&&(ctor=foo.constructor)===bar.constructor){if(ctor===Date)return foo.getTime()===bar.getTime();if(ctor===RegExp)return foo.toString()===bar.toString();if(ctor===Array){if((len=foo.length)===bar.length)for(;len--&&dequal2(foo[len],bar[len]););return len===-1}if(ctor===Set){if(foo.size!==bar.size)return!1;for(len of foo)if(tmp=len,tmp&&typeof tmp=="object"&&(tmp=find2(bar,tmp),!tmp)||!bar.has(tmp))return!1;return!0}if(ctor===Map){if(foo.size!==bar.size)return!1;for(len of foo)if(tmp=len[0],tmp&&typeof tmp=="object"&&(tmp=find2(bar,tmp),!tmp)||!dequal2(len[1],bar.get(tmp)))return!1;return!0}if(ctor===ArrayBuffer)foo=new Uint8Array(foo),bar=new Uint8Array(bar);else if(ctor===DataView){if((len=foo.byteLength)===bar.byteLength)for(;len--&&foo.getInt8(len)===bar.getInt8(len););return len===-1}if(ArrayBuffer.isView(foo)){if((len=foo.byteLength)===bar.byteLength)for(;len--&&foo[len]===bar[len];);return len===-1}if(!ctor||typeof foo=="object"){len=0;for(ctor in foo)if(has2.call(foo,ctor)&&++len&&!has2.call(bar,ctor)||!(ctor in bar)||!dequal2(foo[ctor],bar[ctor]))return!1;return Object.keys(bar).length===len}}return foo!==foo&&bar!==bar}var import_semver=__toESM(require_semver2(),1);var dist_exports3={};__export(dist_exports3,{Channel:()=>Channel,PostMessageTransport:()=>PostMessageTransport,WebsocketTransport:()=>WebsocketTransport,createBrowserChannel:()=>createBrowserChannel,createPostMessageChannel:()=>createChannel,createWebSocketChannel:()=>createChannel2,default:()=>src_default2});var isMulti=args2=>args2.transports!==void 0,generateRandomId=()=>Math.random().toString(16).slice(2),Channel=class{constructor(input={}){this.sender=generateRandomId(),this.events={},this.data={},this.transports=[],this.isAsync=input.async||!1,isMulti(input)?(this.transports=input.transports||[],this.transports.forEach(t3=>{t3.setHandler(event=>this.handleEvent(event))})):this.transports=input.transport?[input.transport]:[],this.transports.forEach(t3=>{t3.setHandler(event=>this.handleEvent(event))})}get hasTransport(){return this.transports.length>0}addListener(eventName,listener){this.events[eventName]=this.events[eventName]||[],this.events[eventName].push(listener)}emit(eventName,...args2){let event={type:eventName,args:args2,from:this.sender},options3={};args2.length>=1&&args2[0]&&args2[0].options&&(options3=args2[0].options);let handler=()=>{this.transports.forEach(t3=>{t3.send(event,options3)}),this.handleEvent(event)};this.isAsync?setImmediate(handler):handler()}last(eventName){return this.data[eventName]}eventNames(){return Object.keys(this.events)}listenerCount(eventName){let listeners=this.listeners(eventName);return listeners?listeners.length:0}listeners(eventName){return this.events[eventName]||void 0}once(eventName,listener){let onceListener=this.onceListener(eventName,listener);this.addListener(eventName,onceListener)}removeAllListeners(eventName){eventName?this.events[eventName]&&delete this.events[eventName]:this.events={}}removeListener(eventName,listener){let listeners=this.listeners(eventName);listeners&&(this.events[eventName]=listeners.filter(l2=>l2!==listener))}on(eventName,listener){this.addListener(eventName,listener)}off(eventName,listener){this.removeListener(eventName,listener)}handleEvent(event){let listeners=this.listeners(event.type);listeners&&listeners.length&&listeners.forEach(fn=>{fn.apply(event,event.args)}),this.data[event.type]=event.args}onceListener(eventName,listener){let onceListener=(...args2)=>(this.removeListener(eventName,onceListener),listener(...args2));return onceListener}};var import_qs2=__toESM(require_lib(),1);var isProduction=!1,prefix="Invariant failed";function invariant2(condition,message){if(!condition){if(isProduction)throw new Error(prefix);var provided=typeof message=="function"?message():message,value2=provided?"".concat(prefix,": ").concat(provided):prefix;throw new Error(value2)}}var getEventSourceUrl=event=>{let frames=Array.from(document.querySelectorAll("iframe[data-is-storybook]")),[frame,...remainder]=frames.filter(element=>{try{return element.contentWindow===event.source}catch{}let src2=element.getAttribute("src"),origin;try{if(!src2)return!1;({origin}=new URL(src2,document.location.toString()))}catch{return!1}return origin===event.origin}),src=frame?.getAttribute("src");if(src&&remainder.length===0){let{protocol,host,pathname}=new URL(src,document.location.toString());return`${protocol}//${host}${pathname}`}return remainder.length>0&&logger.error("found multiple candidates for event source"),null},{document:document22,location}=scope,KEY="storybook-channel",defaultEventOptions={allowFunction:!0,maxDepth:25},PostMessageTransport=class{constructor(config){if(this.config=config,this.connected=!1,this.buffer=[],typeof scope?.addEventListener=="function"&&scope.addEventListener("message",this.handleEvent.bind(this),!1),config.page!=="manager"&&config.page!=="preview")throw new Error(`postmsg-channel: "config.page" cannot be "${config.page}"`)}setHandler(handler){this.handler=(...args2)=>{handler.apply(this,args2),!this.connected&&this.getLocalFrame().length&&(this.flush(),this.connected=!0)}}send(event,options3){let{target,allowRegExp,allowFunction,allowSymbol,allowDate,allowError,allowUndefined,allowClass,maxDepth,space,lazyEval}=options3||{},eventOptions=Object.fromEntries(Object.entries({allowRegExp,allowFunction,allowSymbol,allowDate,allowError,allowUndefined,allowClass,maxDepth,space,lazyEval}).filter(([k2,v2])=>typeof v2<"u")),stringifyOptions={...defaultEventOptions,...scope.CHANNEL_OPTIONS||{},...eventOptions},frames=this.getFrames(target),query=import_qs2.default.parse(location.search,{ignoreQueryPrefix:!0}),data=stringify({key:KEY,event,refId:query.refId},stringifyOptions);return frames.length?(this.buffer.length&&this.flush(),frames.forEach(f3=>{try{f3.postMessage(data,"*")}catch{logger.error("sending over postmessage fail")}}),Promise.resolve(null)):new Promise((resolve,reject)=>{this.buffer.push({event,resolve,reject})})}flush(){let{buffer}=this;this.buffer=[],buffer.forEach(item=>{this.send(item.event).then(item.resolve).catch(item.reject)})}getFrames(target){if(this.config.page==="manager"){let list=Array.from(document22.querySelectorAll("iframe[data-is-storybook][data-is-loaded]")).flatMap(e3=>{try{return e3.contentWindow&&e3.dataset.isStorybook!==void 0&&e3.id===target?[e3.contentWindow]:[]}catch{return[]}});return list?.length?list:this.getCurrentFrames()}return scope&&scope.parent&&scope.parent!==scope.self?[scope.parent]:[]}getCurrentFrames(){return this.config.page==="manager"?Array.from(document22.querySelectorAll('[data-is-storybook="true"]')).flatMap(e3=>e3.contentWindow?[e3.contentWindow]:[]):scope&&scope.parent?[scope.parent]:[]}getLocalFrame(){return this.config.page==="manager"?Array.from(document22.querySelectorAll("#storybook-preview-iframe")).flatMap(e3=>e3.contentWindow?[e3.contentWindow]:[]):scope&&scope.parent?[scope.parent]:[]}handleEvent(rawEvent){try{let{data}=rawEvent,{key:key2,event,refId}=typeof data=="string"&&isJSON(data)?parse(data,scope.CHANNEL_OPTIONS||{}):data;if(key2===KEY){let pageString=this.config.page==="manager"?'<span style="color: #37D5D3; background: black"> manager </span>':'<span style="color: #1EA7FD; background: black"> preview </span>',eventString=Object.values(dist_exports2).includes(event.type)?`<span style="color: #FF4785">${event.type}</span>`:`<span style="color: #FFAE00">${event.type}</span>`;if(refId&&(event.refId=refId),event.source=this.config.page==="preview"?rawEvent.origin:getEventSourceUrl(rawEvent),!event.source){pretty.error(`${pageString} received ${eventString} but was unable to determine the source of the event`);return}let message=`${pageString} received ${eventString} (${data.length})`;pretty.debug(location.origin!==event.source?message:`${message} <span style="color: gray">(on ${location.origin} from ${event.source})</span>`,...event.args),invariant2(this.handler,"ChannelHandler should be set"),this.handler(event)}}catch(error){logger.error(error)}}},PostmsgTransport=PostMessageTransport;function createChannel({page}){let transport=new PostmsgTransport({page});return new Channel({transport})}var{WebSocket}=scope,WebsocketTransport=class{constructor({url,onError}){this.buffer=[],this.isReady=!1,this.socket=new WebSocket(url),this.socket.onopen=()=>{this.isReady=!0,this.flush()},this.socket.onmessage=({data})=>{let event=typeof data=="string"&&isJSON(data)?parse(data):data;invariant2(this.handler,"WebsocketTransport handler should be set"),this.handler(event)},this.socket.onerror=e3=>{onError&&onError(e3)}}setHandler(handler){this.handler=handler}send(event){this.isReady?this.sendNow(event):this.sendLater(event)}sendLater(event){this.buffer.push(event)}sendNow(event){let data=stringify(event,{maxDepth:15,allowFunction:!0});this.socket.send(data)}flush(){let{buffer}=this;this.buffer=[],buffer.forEach(event=>this.send(event))}};function createChannel2({url,async=!1,onError=err=>logger.warn(err)}){let channelUrl=url;if(!channelUrl){let protocol=window.location.protocol==="http:"?"ws":"wss",{hostname,port}=window.location;channelUrl=`${protocol}://${hostname}:${port}/storybook-server-channel`}let transport=new WebsocketTransport({url:channelUrl,onError});return new Channel({transport,async})}var{CONFIG_TYPE}=scope,src_default2=Channel;function createBrowserChannel({page,extraTransports=[]}){let transports=[new PostMessageTransport({page}),...extraTransports];if(CONFIG_TYPE==="DEVELOPMENT"){let protocol=window.location.protocol==="http:"?"ws":"wss",{hostname,port}=window.location,channelUrl=`${protocol}://${hostname}:${port}/storybook-server-channel`;transports.push(new WebsocketTransport({url:channelUrl,onError:()=>{}}))}return new Channel({transports})}var __defProp3=Object.defineProperty,__export2=(target,all)=>{for(var name2 in all)__defProp3(target,name2,{get:all[name2],enumerable:!0})},createContext2=({api,state})=>(0,import_react2.createContext)({api,state}),store_setup_default=_2=>{_2.fn("set",function(key2,data){return _2.set(this._area,this._in(key2),stringify(data,{maxDepth:50}))}),_2.fn("get",function(key2,alt){let value2=_2.get(this._area,this._in(key2));return value2!==null?parse(value2):alt||value2})};store_setup_default(import_store2.default._);var STORAGE_KEY="@storybook/manager/store";function get2(storage){return storage.get(STORAGE_KEY)||{}}function set(storage,value2){return storage.set(STORAGE_KEY,value2)}function update(storage,patch){let previous=get2(storage);return set(storage,{...previous,...patch})}var Store=class{constructor({setState,getState:getState2}){this.upstreamSetState=setState,this.upstreamGetState=getState2}getInitialState(base){return{...base,...get2(import_store2.default.local),...get2(import_store2.default.session)}}getState(){return this.upstreamGetState()}async setState(inputPatch,cbOrOptions,inputOptions){let callback,options3;typeof cbOrOptions=="function"?(callback=cbOrOptions,options3=inputOptions):options3=cbOrOptions;let{persistence="none"}=options3||{},patch={},delta={};typeof inputPatch=="function"?patch=state=>(delta=inputPatch(state),delta):(patch=inputPatch,delta=patch);let newState=await new Promise(resolve=>{this.upstreamSetState(patch,resolve)});if(persistence!=="none"){let storage=persistence==="session"?import_store2.default.session:import_store2.default.local;await update(storage,delta)}return callback&&callback(newState),newState}},merge_default=(a2,b3)=>(0,import_mergeWith.default)({},a2,b3,(objValue,srcValue)=>{if(Array.isArray(srcValue)&&Array.isArray(objValue))return srcValue.forEach(s2=>{objValue.find(o2=>o2===s2||(0,import_isEqual.default)(o2,s2))||objValue.push(s2)}),objValue;if(Array.isArray(objValue))return logger.log(["the types mismatch, picking",objValue]),objValue}),main=(...additions)=>additions.reduce((acc,item)=>merge_default(acc,item),{}),initial_state_default=main,provider_exports={};__export2(provider_exports,{init:()=>init});var init=({provider,fullAPI})=>({api:provider.renderPreview?{renderPreview:provider.renderPreview}:{},state:{},init:()=>{provider.handleAPI(fullAPI)}}),addons_exports={};__export2(addons_exports,{ensurePanel:()=>ensurePanel,init:()=>init2});function ensurePanel(panels,selectedPanel,currentPanel){let keys2=Object.keys(panels);return keys2.indexOf(selectedPanel)>=0?selectedPanel:keys2.length?keys2[0]:currentPanel}var init2=({provider,store:store22,fullAPI})=>{let api={getElements:type=>provider.getElements(type),getPanels:()=>api.getElements(Addon_TypesEnum.PANEL),getStoryPanels:()=>{let allPanels=api.getElements(Addon_TypesEnum.PANEL),{storyId}=store22.getState(),story=fullAPI.getData(storyId);if(!allPanels||!story||story.type!=="story")return allPanels;let{parameters}=story,filteredPanels={};return Object.entries(allPanels).forEach(([id,panel])=>{let{paramKey}=panel;paramKey&¶meters&¶meters[paramKey]&¶meters[paramKey].disable||(filteredPanels[id]=panel)}),filteredPanels},getSelectedPanel:()=>{let{selectedPanel}=store22.getState();return ensurePanel(api.getElements(Addon_TypesEnum.PANEL),selectedPanel,selectedPanel)},setSelectedPanel:panelName=>{store22.setState({selectedPanel:panelName},{persistence:"session"})},setAddonState(addonId,newStateOrMerger,options3){let nextState,{addons:existing}=store22.getState();return typeof newStateOrMerger=="function"?nextState=newStateOrMerger(api.getAddonState(addonId)):nextState=newStateOrMerger,store22.setState({addons:{...existing,[addonId]:nextState}},options3).then(()=>api.getAddonState(addonId))},getAddonState:addonId=>store22.getState().addons[addonId]};return{api,state:{selectedPanel:ensurePanel(api.getElements(Addon_TypesEnum.PANEL),store22.getState().selectedPanel),addons:{}}}},channel_exports={};__export2(channel_exports,{init:()=>init3});var init3=({provider})=>{let api={getChannel:()=>provider.channel,on:(type,handler)=>(provider.channel.on(type,handler),()=>provider.channel.off(type,handler)),off:(type,handler)=>provider.channel.off(type,handler),once:(type,handler)=>provider.channel.once(type,handler),emit:(type,data,...args2)=>{data?.options?.target&&data.options.target!=="storybook-preview-iframe"&&!data.options.target.startsWith("storybook-ref-")&&(data.options.target=data.options.target!=="storybook_internal"?`storybook-ref-${data.options.target}`:"storybook-preview-iframe"),provider.channel.emit(type,data,...args2)},collapseAll:()=>{api.emit(STORIES_COLLAPSE_ALL,{})},expandAll:()=>{api.emit(STORIES_EXPAND_ALL)}};return{api,state:{}}},notifications_exports={};__export2(notifications_exports,{init:()=>init4});var init4=({store:store22})=>{let api={addNotification:notification=>{api.clearNotification(notification.id);let{notifications}=store22.getState();store22.setState({notifications:[...notifications,notification]})},clearNotification:id=>{let{notifications}=store22.getState();store22.setState({notifications:notifications.filter(n3=>n3.id!==id)});let notification=notifications.find(n3=>n3.id===id);notification&¬ification.onClear&¬ification.onClear({dismissed:!1})}};return{api,state:{notifications:[]}}},settings_exports={};__export2(settings_exports,{init:()=>init5});var init5=({store:store22,navigate,fullAPI})=>{let isSettingsScreenActive=()=>{let{path}=fullAPI.getUrlState();return!!(path||"").match(/^\/settings/)};return{state:{settings:{lastTrackedStoryId:null}},api:{closeSettings:()=>{let{settings:{lastTrackedStoryId}}=store22.getState();lastTrackedStoryId?fullAPI.selectStory(lastTrackedStoryId):fullAPI.selectFirstStory()},changeSettingsTab:path=>{navigate(`/settings/${path}`)},isSettingsScreenActive,navigateToSettingsPage:async path=>{if(!isSettingsScreenActive()){let{settings,storyId}=store22.getState();await store22.setState({settings:{...settings,lastTrackedStoryId:storyId}})}navigate(path)},retrieveSelection(){let{settings}=store22.getState();return settings.lastTrackedStoryId},storeSelection:async()=>{let{storyId,settings}=store22.getState();await store22.setState({settings:{...settings,lastTrackedStoryId:storyId}})}}}},stories_exports={};__export2(stories_exports,{init:()=>init7});var refs_exports={};__export2(refs_exports,{defaultStoryMapper:()=>defaultStoryMapper,getSourceType:()=>getSourceType,init:()=>init6});var TITLE_PATH_SEPARATOR=/\s*\/\s*/,denormalizeStoryParameters=({globalParameters,kindParameters,stories})=>(0,import_mapValues.default)(stories,storyData=>({...storyData,parameters:combineParameters(globalParameters,kindParameters[storyData.kind],storyData.parameters)})),transformSetStoriesStoryDataToStoriesHash=(data,options3)=>transformStoryIndexToStoriesHash(transformSetStoriesStoryDataToPreparedStoryIndex(data),options3),transformSetStoriesStoryDataToPreparedStoryIndex=stories=>({v:4,entries:Object.entries(stories).reduce((acc,[id,story])=>{if(!story)return acc;let{docsOnly,fileName,...parameters}=story.parameters,base={title:story.kind,id,name:story.name,importPath:fileName};if(docsOnly)acc[id]={type:"docs",tags:["stories-mdx"],storiesImports:[],...base};else{let{argTypes,args:args2,initialArgs}=story;acc[id]={type:"story",...base,parameters,argTypes,args:args2,initialArgs}}return acc},{})}),transformStoryIndexV2toV3=index2=>({v:3,stories:Object.values(index2.stories).reduce((acc,entry)=>(acc[entry.id]={...entry,title:entry.kind,name:entry.name||entry.story,importPath:entry.parameters.fileName||""},acc),{})}),transformStoryIndexV3toV4=index2=>{let countByTitle=(0,import_countBy.default)(Object.values(index2.stories),"title");return{v:4,entries:Object.values(index2.stories).reduce((acc,entry)=>{let type="story";return(entry.parameters?.docsOnly||entry.name==="Page"&&countByTitle[entry.title]===1)&&(type="docs"),acc[entry.id]={type,...type==="docs"&&{tags:["stories-mdx"],storiesImports:[]},...entry},delete acc[entry.id].story,delete acc[entry.id].kind,acc},{})}},transformStoryIndexToStoriesHash=(input,{provider,docsOptions,filters,status})=>{if(!input.v)throw new Error("Composition: Missing stories.json version");let index2=input;index2=index2.v===2?transformStoryIndexV2toV3(index2):index2,index2=index2.v===3?transformStoryIndexV3toV4(index2):index2,index2=index2;let entryValues=Object.values(index2.entries).filter(entry=>{let result2=!0;return Object.values(filters).forEach(filter=>{result2!==!1&&(result2=filter({...entry,status:status[entry.id]}))}),result2}),{sidebar={}}=provider.getConfig(),{showRoots,collapsedRoots=[],renderLabel}=sidebar,setShowRoots=typeof showRoots<"u",storiesHashOutOfOrder=entryValues.reduce((acc,item)=>{if(docsOptions.docsMode&&item.type!=="docs")return acc;let{title}=item,groups=title.trim().split(TITLE_PATH_SEPARATOR),root4=(!setShowRoots||showRoots)&&groups.length>1?[groups.shift()]:[],names=[...root4,...groups],paths=names.reduce((list,name2,idx)=>{let parent=idx>0&&list[idx-1],id=L(parent?`${parent}-${name2}`:name2);if(parent===id)throw new Error(dedent2`
|
|
39
|
+
`)),string+=indentedValue+strings[i3+1]}),string}var import_memoizerific3=__toESM(require_memoizerific(),1),import_countBy=__toESM(require_countBy(),1),import_mapValues=__toESM(require_mapValues(),1),import_pick=__toESM(require_pick(),1);var has2=Object.prototype.hasOwnProperty;function find2(iter,tar,key2){for(key2 of iter.keys())if(dequal2(key2,tar))return key2}function dequal2(foo,bar){var ctor,len,tmp;if(foo===bar)return!0;if(foo&&bar&&(ctor=foo.constructor)===bar.constructor){if(ctor===Date)return foo.getTime()===bar.getTime();if(ctor===RegExp)return foo.toString()===bar.toString();if(ctor===Array){if((len=foo.length)===bar.length)for(;len--&&dequal2(foo[len],bar[len]););return len===-1}if(ctor===Set){if(foo.size!==bar.size)return!1;for(len of foo)if(tmp=len,tmp&&typeof tmp=="object"&&(tmp=find2(bar,tmp),!tmp)||!bar.has(tmp))return!1;return!0}if(ctor===Map){if(foo.size!==bar.size)return!1;for(len of foo)if(tmp=len[0],tmp&&typeof tmp=="object"&&(tmp=find2(bar,tmp),!tmp)||!dequal2(len[1],bar.get(tmp)))return!1;return!0}if(ctor===ArrayBuffer)foo=new Uint8Array(foo),bar=new Uint8Array(bar);else if(ctor===DataView){if((len=foo.byteLength)===bar.byteLength)for(;len--&&foo.getInt8(len)===bar.getInt8(len););return len===-1}if(ArrayBuffer.isView(foo)){if((len=foo.byteLength)===bar.byteLength)for(;len--&&foo[len]===bar[len];);return len===-1}if(!ctor||typeof foo=="object"){len=0;for(ctor in foo)if(has2.call(foo,ctor)&&++len&&!has2.call(bar,ctor)||!(ctor in bar)||!dequal2(foo[ctor],bar[ctor]))return!1;return Object.keys(bar).length===len}}return foo!==foo&&bar!==bar}var import_semver=__toESM(require_semver2(),1);var dist_exports3={};__export(dist_exports3,{Channel:()=>Channel,PostMessageTransport:()=>PostMessageTransport,WebsocketTransport:()=>WebsocketTransport,createBrowserChannel:()=>createBrowserChannel,createPostMessageChannel:()=>createChannel,createWebSocketChannel:()=>createChannel2,default:()=>src_default2});var isMulti=args2=>args2.transports!==void 0,generateRandomId=()=>Math.random().toString(16).slice(2),Channel=class{constructor(input={}){this.sender=generateRandomId(),this.events={},this.data={},this.transports=[],this.isAsync=input.async||!1,isMulti(input)?(this.transports=input.transports||[],this.transports.forEach(t3=>{t3.setHandler(event=>this.handleEvent(event))})):this.transports=input.transport?[input.transport]:[],this.transports.forEach(t3=>{t3.setHandler(event=>this.handleEvent(event))})}get hasTransport(){return this.transports.length>0}addListener(eventName,listener){this.events[eventName]=this.events[eventName]||[],this.events[eventName].push(listener)}emit(eventName,...args2){let event={type:eventName,args:args2,from:this.sender},options3={};args2.length>=1&&args2[0]&&args2[0].options&&(options3=args2[0].options);let handler=()=>{this.transports.forEach(t3=>{t3.send(event,options3)}),this.handleEvent(event)};this.isAsync?setImmediate(handler):handler()}last(eventName){return this.data[eventName]}eventNames(){return Object.keys(this.events)}listenerCount(eventName){let listeners=this.listeners(eventName);return listeners?listeners.length:0}listeners(eventName){return this.events[eventName]||void 0}once(eventName,listener){let onceListener=this.onceListener(eventName,listener);this.addListener(eventName,onceListener)}removeAllListeners(eventName){eventName?this.events[eventName]&&delete this.events[eventName]:this.events={}}removeListener(eventName,listener){let listeners=this.listeners(eventName);listeners&&(this.events[eventName]=listeners.filter(l2=>l2!==listener))}on(eventName,listener){this.addListener(eventName,listener)}off(eventName,listener){this.removeListener(eventName,listener)}handleEvent(event){let listeners=this.listeners(event.type);listeners&&listeners.length&&listeners.forEach(fn=>{fn.apply(event,event.args)}),this.data[event.type]=event.args}onceListener(eventName,listener){let onceListener=(...args2)=>(this.removeListener(eventName,onceListener),listener(...args2));return onceListener}};var import_qs2=__toESM(require_lib(),1);var isProduction=!1,prefix="Invariant failed";function invariant2(condition,message){if(!condition){if(isProduction)throw new Error(prefix);var provided=typeof message=="function"?message():message,value2=provided?"".concat(prefix,": ").concat(provided):prefix;throw new Error(value2)}}var getEventSourceUrl=event=>{let frames=Array.from(document.querySelectorAll("iframe[data-is-storybook]")),[frame,...remainder]=frames.filter(element=>{try{return element.contentWindow===event.source}catch{}let src2=element.getAttribute("src"),origin;try{if(!src2)return!1;({origin}=new URL(src2,document.location.toString()))}catch{return!1}return origin===event.origin}),src=frame?.getAttribute("src");if(src&&remainder.length===0){let{protocol,host,pathname}=new URL(src,document.location.toString());return`${protocol}//${host}${pathname}`}return remainder.length>0&&logger.error("found multiple candidates for event source"),null},{document:document22,location}=scope,KEY="storybook-channel",defaultEventOptions={allowFunction:!0,maxDepth:25},PostMessageTransport=class{constructor(config){if(this.config=config,this.connected=!1,this.buffer=[],typeof scope?.addEventListener=="function"&&scope.addEventListener("message",this.handleEvent.bind(this),!1),config.page!=="manager"&&config.page!=="preview")throw new Error(`postmsg-channel: "config.page" cannot be "${config.page}"`)}setHandler(handler){this.handler=(...args2)=>{handler.apply(this,args2),!this.connected&&this.getLocalFrame().length&&(this.flush(),this.connected=!0)}}send(event,options3){let{target,allowRegExp,allowFunction,allowSymbol,allowDate,allowError,allowUndefined,allowClass,maxDepth,space,lazyEval}=options3||{},eventOptions=Object.fromEntries(Object.entries({allowRegExp,allowFunction,allowSymbol,allowDate,allowError,allowUndefined,allowClass,maxDepth,space,lazyEval}).filter(([k2,v2])=>typeof v2<"u")),stringifyOptions={...defaultEventOptions,...scope.CHANNEL_OPTIONS||{},...eventOptions},frames=this.getFrames(target),query=import_qs2.default.parse(location.search,{ignoreQueryPrefix:!0}),data=stringify({key:KEY,event,refId:query.refId},stringifyOptions);return frames.length?(this.buffer.length&&this.flush(),frames.forEach(f3=>{try{f3.postMessage(data,"*")}catch{logger.error("sending over postmessage fail")}}),Promise.resolve(null)):new Promise((resolve,reject)=>{this.buffer.push({event,resolve,reject})})}flush(){let{buffer}=this;this.buffer=[],buffer.forEach(item=>{this.send(item.event).then(item.resolve).catch(item.reject)})}getFrames(target){if(this.config.page==="manager"){let list=Array.from(document22.querySelectorAll("iframe[data-is-storybook][data-is-loaded]")).flatMap(e3=>{try{return e3.contentWindow&&e3.dataset.isStorybook!==void 0&&e3.id===target?[e3.contentWindow]:[]}catch{return[]}});return list?.length?list:this.getCurrentFrames()}return scope&&scope.parent&&scope.parent!==scope.self?[scope.parent]:[]}getCurrentFrames(){return this.config.page==="manager"?Array.from(document22.querySelectorAll('[data-is-storybook="true"]')).flatMap(e3=>e3.contentWindow?[e3.contentWindow]:[]):scope&&scope.parent?[scope.parent]:[]}getLocalFrame(){return this.config.page==="manager"?Array.from(document22.querySelectorAll("#storybook-preview-iframe")).flatMap(e3=>e3.contentWindow?[e3.contentWindow]:[]):scope&&scope.parent?[scope.parent]:[]}handleEvent(rawEvent){try{let{data}=rawEvent,{key:key2,event,refId}=typeof data=="string"&&isJSON(data)?parse(data,scope.CHANNEL_OPTIONS||{}):data;if(key2===KEY){let pageString=this.config.page==="manager"?'<span style="color: #37D5D3; background: black"> manager </span>':'<span style="color: #1EA7FD; background: black"> preview </span>',eventString=Object.values(dist_exports2).includes(event.type)?`<span style="color: #FF4785">${event.type}</span>`:`<span style="color: #FFAE00">${event.type}</span>`;if(refId&&(event.refId=refId),event.source=this.config.page==="preview"?rawEvent.origin:getEventSourceUrl(rawEvent),!event.source){pretty.error(`${pageString} received ${eventString} but was unable to determine the source of the event`);return}let message=`${pageString} received ${eventString} (${data.length})`;pretty.debug(location.origin!==event.source?message:`${message} <span style="color: gray">(on ${location.origin} from ${event.source})</span>`,...event.args),invariant2(this.handler,"ChannelHandler should be set"),this.handler(event)}}catch(error){logger.error(error)}}},PostmsgTransport=PostMessageTransport;function createChannel({page}){let transport=new PostmsgTransport({page});return new Channel({transport})}var{WebSocket}=scope,WebsocketTransport=class{constructor({url,onError}){this.buffer=[],this.isReady=!1,this.socket=new WebSocket(url),this.socket.onopen=()=>{this.isReady=!0,this.flush()},this.socket.onmessage=({data})=>{let event=typeof data=="string"&&isJSON(data)?parse(data):data;invariant2(this.handler,"WebsocketTransport handler should be set"),this.handler(event)},this.socket.onerror=e3=>{onError&&onError(e3)}}setHandler(handler){this.handler=handler}send(event){this.isReady?this.sendNow(event):this.sendLater(event)}sendLater(event){this.buffer.push(event)}sendNow(event){let data=stringify(event,{maxDepth:15,allowFunction:!0});this.socket.send(data)}flush(){let{buffer}=this;this.buffer=[],buffer.forEach(event=>this.send(event))}};function createChannel2({url,async=!1,onError=err=>logger.warn(err)}){let channelUrl=url;if(!channelUrl){let protocol=window.location.protocol==="http:"?"ws":"wss",{hostname,port}=window.location;channelUrl=`${protocol}://${hostname}:${port}/storybook-server-channel`}let transport=new WebsocketTransport({url:channelUrl,onError});return new Channel({transport,async})}var{CONFIG_TYPE}=scope,src_default2=Channel;function createBrowserChannel({page,extraTransports=[]}){let transports=[new PostMessageTransport({page}),...extraTransports];if(CONFIG_TYPE==="DEVELOPMENT"){let protocol=window.location.protocol==="http:"?"ws":"wss",{hostname,port}=window.location,channelUrl=`${protocol}://${hostname}:${port}/storybook-server-channel`;transports.push(new WebsocketTransport({url:channelUrl,onError:()=>{}}))}return new Channel({transports})}var __defProp3=Object.defineProperty,__export2=(target,all)=>{for(var name2 in all)__defProp3(target,name2,{get:all[name2],enumerable:!0})},createContext2=({api,state})=>(0,import_react2.createContext)({api,state}),store_setup_default=_2=>{_2.fn("set",function(key2,data){return _2.set(this._area,this._in(key2),stringify(data,{maxDepth:50}))}),_2.fn("get",function(key2,alt){let value2=_2.get(this._area,this._in(key2));return value2!==null?parse(value2):alt||value2})};store_setup_default(import_store2.default._);var STORAGE_KEY="@storybook/manager/store";function get2(storage){return storage.get(STORAGE_KEY)||{}}function set(storage,value2){return storage.set(STORAGE_KEY,value2)}function update(storage,patch){let previous=get2(storage);return set(storage,{...previous,...patch})}var Store=class{constructor({setState,getState:getState2}){this.upstreamSetState=setState,this.upstreamGetState=getState2}getInitialState(base){return{...base,...get2(import_store2.default.local),...get2(import_store2.default.session)}}getState(){return this.upstreamGetState()}async setState(inputPatch,cbOrOptions,inputOptions){let callback,options3;typeof cbOrOptions=="function"?(callback=cbOrOptions,options3=inputOptions):options3=cbOrOptions;let{persistence="none"}=options3||{},patch={},delta={};typeof inputPatch=="function"?patch=state=>(delta=inputPatch(state),delta):(patch=inputPatch,delta=patch);let newState=await new Promise(resolve=>{this.upstreamSetState(patch,resolve)});if(persistence!=="none"){let storage=persistence==="session"?import_store2.default.session:import_store2.default.local;await update(storage,delta)}return callback&&callback(newState),newState}},merge_default=(a2,b3)=>(0,import_mergeWith.default)({},a2,b3,(objValue,srcValue)=>{if(Array.isArray(srcValue)&&Array.isArray(objValue))return srcValue.forEach(s2=>{objValue.find(o2=>o2===s2||(0,import_isEqual.default)(o2,s2))||objValue.push(s2)}),objValue;if(Array.isArray(objValue))return logger.log(["the types mismatch, picking",objValue]),objValue}),main=(...additions)=>additions.reduce((acc,item)=>merge_default(acc,item),{}),initial_state_default=main,provider_exports={};__export2(provider_exports,{init:()=>init});var init=({provider,fullAPI})=>({api:provider.renderPreview?{renderPreview:provider.renderPreview}:{},state:{},init:()=>{provider.handleAPI(fullAPI)}}),addons_exports={};__export2(addons_exports,{ensurePanel:()=>ensurePanel,init:()=>init2});function ensurePanel(panels,selectedPanel,currentPanel){let keys2=Object.keys(panels);return keys2.indexOf(selectedPanel)>=0?selectedPanel:keys2.length?keys2[0]:currentPanel}var init2=({provider,store:store22,fullAPI})=>{let api={getElements:type=>provider.getElements(type),getPanels:()=>api.getElements(Addon_TypesEnum.PANEL),getStoryPanels:()=>{let allPanels=api.getElements(Addon_TypesEnum.PANEL),{storyId}=store22.getState(),story=fullAPI.getData(storyId);if(!allPanels||!story||story.type!=="story")return allPanels;let{parameters}=story,filteredPanels={};return Object.entries(allPanels).forEach(([id,panel])=>{let{paramKey}=panel;paramKey&¶meters&¶meters[paramKey]&¶meters[paramKey].disable||(filteredPanels[id]=panel)}),filteredPanels},getSelectedPanel:()=>{let{selectedPanel}=store22.getState();return ensurePanel(api.getElements(Addon_TypesEnum.PANEL),selectedPanel,selectedPanel)},setSelectedPanel:panelName=>{store22.setState({selectedPanel:panelName},{persistence:"session"})},setAddonState(addonId,newStateOrMerger,options3){let nextState,{addons:existing}=store22.getState();return typeof newStateOrMerger=="function"?nextState=newStateOrMerger(api.getAddonState(addonId)):nextState=newStateOrMerger,store22.setState({addons:{...existing,[addonId]:nextState}},options3).then(()=>api.getAddonState(addonId))},getAddonState:addonId=>store22.getState().addons[addonId]||globalThis?.STORYBOOK_ADDON_STATE[addonId]};return{api,state:{selectedPanel:ensurePanel(api.getElements(Addon_TypesEnum.PANEL),store22.getState().selectedPanel),addons:{}}}},channel_exports={};__export2(channel_exports,{init:()=>init3});var init3=({provider})=>{let api={getChannel:()=>provider.channel,on:(type,handler)=>(provider.channel.on(type,handler),()=>provider.channel.off(type,handler)),off:(type,handler)=>provider.channel.off(type,handler),once:(type,handler)=>provider.channel.once(type,handler),emit:(type,data,...args2)=>{data?.options?.target&&data.options.target!=="storybook-preview-iframe"&&!data.options.target.startsWith("storybook-ref-")&&(data.options.target=data.options.target!=="storybook_internal"?`storybook-ref-${data.options.target}`:"storybook-preview-iframe"),provider.channel.emit(type,data,...args2)},collapseAll:()=>{api.emit(STORIES_COLLAPSE_ALL,{})},expandAll:()=>{api.emit(STORIES_EXPAND_ALL)}};return{api,state:{}}},notifications_exports={};__export2(notifications_exports,{init:()=>init4});var init4=({store:store22})=>{let api={addNotification:notification=>{api.clearNotification(notification.id);let{notifications}=store22.getState();store22.setState({notifications:[...notifications,notification]})},clearNotification:id=>{let{notifications}=store22.getState();store22.setState({notifications:notifications.filter(n3=>n3.id!==id)});let notification=notifications.find(n3=>n3.id===id);notification&¬ification.onClear&¬ification.onClear({dismissed:!1})}};return{api,state:{notifications:[]}}},settings_exports={};__export2(settings_exports,{init:()=>init5});var init5=({store:store22,navigate,fullAPI})=>{let isSettingsScreenActive=()=>{let{path}=fullAPI.getUrlState();return!!(path||"").match(/^\/settings/)};return{state:{settings:{lastTrackedStoryId:null}},api:{closeSettings:()=>{let{settings:{lastTrackedStoryId}}=store22.getState();lastTrackedStoryId?fullAPI.selectStory(lastTrackedStoryId):fullAPI.selectFirstStory()},changeSettingsTab:path=>{navigate(`/settings/${path}`)},isSettingsScreenActive,navigateToSettingsPage:async path=>{if(!isSettingsScreenActive()){let{settings,storyId}=store22.getState();await store22.setState({settings:{...settings,lastTrackedStoryId:storyId}})}navigate(path)},retrieveSelection(){let{settings}=store22.getState();return settings.lastTrackedStoryId},storeSelection:async()=>{let{storyId,settings}=store22.getState();await store22.setState({settings:{...settings,lastTrackedStoryId:storyId}})}}}},stories_exports={};__export2(stories_exports,{init:()=>init7});var refs_exports={};__export2(refs_exports,{defaultStoryMapper:()=>defaultStoryMapper,getSourceType:()=>getSourceType,init:()=>init6});var TITLE_PATH_SEPARATOR=/\s*\/\s*/,denormalizeStoryParameters=({globalParameters,kindParameters,stories})=>(0,import_mapValues.default)(stories,storyData=>({...storyData,parameters:combineParameters(globalParameters,kindParameters[storyData.kind],storyData.parameters)})),transformSetStoriesStoryDataToStoriesHash=(data,options3)=>transformStoryIndexToStoriesHash(transformSetStoriesStoryDataToPreparedStoryIndex(data),options3),transformSetStoriesStoryDataToPreparedStoryIndex=stories=>({v:4,entries:Object.entries(stories).reduce((acc,[id,story])=>{if(!story)return acc;let{docsOnly,fileName,...parameters}=story.parameters,base={title:story.kind,id,name:story.name,importPath:fileName};if(docsOnly)acc[id]={type:"docs",tags:["stories-mdx"],storiesImports:[],...base};else{let{argTypes,args:args2,initialArgs}=story;acc[id]={type:"story",...base,parameters,argTypes,args:args2,initialArgs}}return acc},{})}),transformStoryIndexV2toV3=index2=>({v:3,stories:Object.values(index2.stories).reduce((acc,entry)=>(acc[entry.id]={...entry,title:entry.kind,name:entry.name||entry.story,importPath:entry.parameters.fileName||""},acc),{})}),transformStoryIndexV3toV4=index2=>{let countByTitle=(0,import_countBy.default)(Object.values(index2.stories),"title");return{v:4,entries:Object.values(index2.stories).reduce((acc,entry)=>{let type="story";return(entry.parameters?.docsOnly||entry.name==="Page"&&countByTitle[entry.title]===1)&&(type="docs"),acc[entry.id]={type,...type==="docs"&&{tags:["stories-mdx"],storiesImports:[]},...entry},delete acc[entry.id].story,delete acc[entry.id].kind,acc},{})}},transformStoryIndexToStoriesHash=(input,{provider,docsOptions,filters,status})=>{if(!input.v)throw new Error("Composition: Missing stories.json version");let index2=input;index2=index2.v===2?transformStoryIndexV2toV3(index2):index2,index2=index2.v===3?transformStoryIndexV3toV4(index2):index2,index2=index2;let entryValues=Object.values(index2.entries).filter(entry=>{let result2=!0;return Object.values(filters).forEach(filter=>{result2!==!1&&(result2=filter({...entry,status:status[entry.id]}))}),result2}),{sidebar={}}=provider.getConfig(),{showRoots,collapsedRoots=[],renderLabel}=sidebar,setShowRoots=typeof showRoots<"u",storiesHashOutOfOrder=entryValues.reduce((acc,item)=>{if(docsOptions.docsMode&&item.type!=="docs")return acc;let{title}=item,groups=title.trim().split(TITLE_PATH_SEPARATOR),root4=(!setShowRoots||showRoots)&&groups.length>1?[groups.shift()]:[],names=[...root4,...groups],paths=names.reduce((list,name2,idx)=>{let parent=idx>0&&list[idx-1],id=L(parent?`${parent}-${name2}`:name2);if(parent===id)throw new Error(dedent2`
|
|
40
40
|
Invalid part '${name2}', leading to id === parentId ('${id}'), inside title '${title}'
|
|
41
41
|
|
|
42
42
|
Did you create a path that uses the separator char accidentally, such as 'Vue <docs/>' where '/' is a separator char? See https://github.com/storybookjs/storybook/issues/6128
|
|
@@ -50,7 +50,7 @@ Output:
|
|
|
50
50
|
it's possible a CORS error happened.
|
|
51
51
|
|
|
52
52
|
Please check your dev-tools network tab.
|
|
53
|
-
`});let versions=ref.versions&&Object.keys(ref.versions).length?ref.versions:loadedData.versions;await api.setRef(id,{id,url:urlParseResult.url,...loadedData,...versions?{versions}:{},type:loadedData.storyIndex?"lazy":"auto-inject"})},getRefs:()=>{let{refs:refs22={}}=store22.getState();return refs22},setRef:(id,{storyIndex,setStoriesData,...rest},ready=!1)=>{if(singleStory)return;let{storyMapper=defaultStoryMapper}=provider.getConfig(),ref=api.getRefs()[id],index2;setStoriesData?index2=transformSetStoriesStoryDataToStoriesHash(map(setStoriesData,ref,{storyMapper}),{provider,docsOptions,filters:{},status:{}}):storyIndex&&(index2=transformStoryIndexToStoriesHash(storyIndex,{provider,docsOptions,filters:{},status:{}})),index2&&(index2=addRefIds(index2,ref)),api.updateRef(id,{index:index2,...rest})},updateRef:(id,data)=>{let{[id]:ref,...updated}=api.getRefs();updated[id]={...ref,...data};let ordered=Object.keys(initialState).reduce((obj,key2)=>(obj[key2]=updated[key2],obj),{});store22.setState({refs:ordered})}},refs2=!singleStory&&scope.REFS||{},initialState=refs2;return runCheck&&Object.entries(refs2).forEach(([id,ref])=>{api.checkRef({...ref,stories:{}})}),{api,state:{refs:initialState}}},getEventMetadata=(context,fullAPI)=>{let{source:source2,refId,type}=context,[sourceType,sourceLocation]=getSourceType(source2,refId),ref=refId&&fullAPI.getRefs()[refId]?fullAPI.getRefs()[refId]:fullAPI.findRef(sourceLocation),meta={source:source2,sourceType,sourceLocation,refId,ref,type};switch(!0){case typeof refId=="string":case sourceType==="local":case sourceType==="external":return meta;default:return logger.warn(`Received a ${type} frame that was not configured as a ref`),null}},{FEATURES,fetch:fetch2}=scope,STORY_INDEX_PATH="./index.json",removedOptions=["enableShortcuts","theme","showRoots"];function removeRemovedOptions(options3){if(!options3||typeof options3=="string")return options3;let result2={...options3};return removedOptions.forEach(option=>{option in result2&&delete result2[option]}),result2}var init7=({fullAPI,store:store22,navigate,provider,storyId:initialStoryId,viewMode:initialViewMode,docsOptions={}})=>{let api={storyId:N,getData:(storyId,refId)=>{let result2=api.resolveStory(storyId,refId);if(result2?.type==="story"||result2?.type==="docs")return result2},isPrepared:(storyId,refId)=>{let data=api.getData(storyId,refId);return data.type==="story"?data.prepared:!0},resolveStory:(storyId,refId)=>{let{refs:refs2,index:index2}=store22.getState();return refId&&!refs2[refId]?null:refId?refs2[refId].index?refs2[refId].index[storyId]:void 0:index2?index2[storyId]:void 0},getCurrentStoryData:()=>{let{storyId,refId}=store22.getState();return api.getData(storyId,refId)},getParameters:(storyIdOrCombo,parameterName)=>{let{storyId,refId}=typeof storyIdOrCombo=="string"?{storyId:storyIdOrCombo,refId:void 0}:storyIdOrCombo,data=api.getData(storyId,refId);if(["story","docs"].includes(data?.type)){let{parameters}=data;if(parameters)return parameterName?parameters[parameterName]:parameters}return null},getCurrentParameter:parameterName=>{let{storyId,refId}=store22.getState();return api.getParameters({storyId,refId},parameterName)||void 0},jumpToComponent:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState();if(!api.getData(storyId,refId))return;let hash=refId?refs2[refId].index||{}:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!0);result2&&api.selectStory(result2,void 0,{ref:refId})},jumpToStory:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState(),story=api.getData(storyId,refId);if(!story)return;let hash=story.refId?refs2[story.refId].index:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!1);result2&&api.selectStory(result2,void 0,{ref:refId})},selectFirstStory:()=>{let{index:index2}=store22.getState(),firstStory=Object.keys(index2).find(id=>index2[id].type==="story");if(firstStory){api.selectStory(firstStory);return}navigate("/")},selectStory:(titleOrId=void 0,name2=void 0,options3={})=>{let{ref}=options3,{storyId,index:index2,refs:refs2}=store22.getState(),hash=ref?refs2[ref].index:index2,kindSlug=storyId?.split("--",2)[0];if(name2)if(titleOrId){let id=ref?`${ref}_${N(titleOrId,name2)}`:N(titleOrId,name2);if(hash[id])api.selectStory(id,void 0,options3);else{let entry=hash[L(titleOrId)];if(entry?.type==="component"){let foundId=entry.children.find(childId=>hash[childId].name===name2);foundId&&api.selectStory(foundId,void 0,options3)}}}else{let id=N(kindSlug,name2);api.selectStory(id,void 0,options3)}else{let entry=titleOrId?hash[titleOrId]||hash[L(titleOrId)]:hash[kindSlug];if(!entry)throw new Error(`Unknown id or title: '${titleOrId}'`);let leafEntry=api.findLeafEntry(hash,entry.id),fullId=leafEntry.refId?`${leafEntry.refId}_${leafEntry.id}`:leafEntry.id;navigate(`/${leafEntry.type}/${fullId}`)}},findLeafEntry(index2,storyId){let entry=index2[storyId];if(entry.type==="docs"||entry.type==="story")return entry;let childStoryId=entry.children[0];return api.findLeafEntry(index2,childStoryId)},findLeafStoryId(index2,storyId){return api.findLeafEntry(index2,storyId)?.id},findSiblingStoryId(storyId,index2,direction,toSiblingGroup){if(toSiblingGroup){let lookupList2=getComponentLookupList(index2),position2=lookupList2.findIndex(i3=>i3.includes(storyId));return position2===lookupList2.length-1&&direction>0||position2===0&&direction<0?void 0:lookupList2[position2+direction]?lookupList2[position2+direction][0]:void 0}let lookupList=getStoriesLookupList(index2),position=lookupList.indexOf(storyId);if(!(position===lookupList.length-1&&direction>0)&&!(position===0&&direction<0))return lookupList[position+direction]},updateStoryArgs:(story,updatedArgs)=>{let{id:storyId,refId}=story;provider.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs,options:{target:refId}})},resetStoryArgs:(story,argNames)=>{let{id:storyId,refId}=story;provider.channel.emit(RESET_STORY_ARGS,{storyId,argNames,options:{target:refId}})},fetchIndex:async()=>{try{let result2=await fetch2(STORY_INDEX_PATH);if(result2.status!==200)throw new Error(await result2.text());let storyIndex=await result2.json();if(storyIndex.v<3){logger.warn(`Skipping story index with version v${storyIndex.v}, awaiting SET_STORIES.`);return}await api.setIndex(storyIndex)}catch(err){await store22.setState({indexError:err})}},setIndex:async input=>{let{index:oldHash,status,filters}=store22.getState(),newHash=transformStoryIndexToStoriesHash(input,{provider,docsOptions,status,filters}),output=addPreparedStories(newHash,oldHash);await store22.setState({internal_index:input,index:output,indexError:void 0})},updateStory:async(storyId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[storyId]={...index2[storyId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[storyId]={...index2[storyId],...update2},await store22.setState({index:index2})}},updateDocs:async(docsId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[docsId]={...index2[docsId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[docsId]={...index2[docsId],...update2},await store22.setState({index:index2})}},setPreviewInitialized:async ref=>{ref?fullAPI.updateRef(ref.id,{previewInitialized:!0}):store22.setState({previewInitialized:!0})},experimental_updateStatus:async(id,input)=>{let{status,internal_index:index2}=store22.getState(),newStatus={...status},update2=typeof input=="function"?input(status):input;Object.keys(update2).length!==0&&(Object.entries(update2).forEach(([storyId,value2])=>{newStatus[storyId]={...newStatus[storyId]||{}},value2===null?delete newStatus[storyId][id]:newStatus[storyId][id]=value2,Object.keys(newStatus[storyId]).length===0&&delete newStatus[storyId]}),await store22.setState({status:newStatus},{persistence:"session"}),await api.setIndex(index2))},experimental_setFilter:async(id,filterFunction)=>{let{internal_index:index2}=store22.getState();await store22.setState({filters:{...store22.getState().filters,[id]:filterFunction}}),await api.setIndex(index2)}};provider.channel.on(STORY_SPECIFIED,function({storyId,viewMode}){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let state=store22.getState(),isCanvasRoute=state.path==="/"||state.viewMode==="story"||state.viewMode==="docs",stateHasSelection=state.viewMode&&state.storyId,stateSelectionDifferent=state.viewMode!==viewMode||state.storyId!==storyId;isCanvasRoute&&(stateHasSelection&&stateSelectionDifferent?provider.channel.emit(SET_CURRENT_STORY,{storyId:state.storyId,viewMode:state.viewMode}):stateSelectionDifferent&&navigate(`/${viewMode}/${storyId}`))}}),provider.channel.on(CURRENT_STORY_WAS_SET,function(){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_CHANGED,function(){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let options3=api.getCurrentParameter("options");options3&&fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(STORY_PREPARED,function({id,...update2}){let{ref,sourceType}=getEventMetadata(this,fullAPI);if(api.updateStory(id,{...update2,prepared:!0},ref),!ref&&!store22.getState().hasCalledSetOptions){let{options:options3}=update2.parameters;fullAPI.setOptions(removeRemovedOptions(options3)),store22.setState({hasCalledSetOptions:!0})}if(sourceType==="local"){let{storyId,index:index2,refId}=store22.getState(),toBePreloaded=Array.from(new Set([api.findSiblingStoryId(storyId,index2,1,!0),api.findSiblingStoryId(storyId,index2,-1,!0)])).filter(Boolean);provider.channel.emit(PRELOAD_ENTRIES,{ids:toBePreloaded,options:{target:refId}})}}),provider.channel.on(DOCS_PREPARED,function({id,...update2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(id,{...update2,prepared:!0},ref)}),provider.channel.on(SET_INDEX,function(index2){let{ref}=getEventMetadata(this,fullAPI);if(ref)fullAPI.setRef(ref.id,{...ref,storyIndex:index2},!0);else{api.setIndex(index2);let options3=api.getCurrentParameter("options");fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(SET_STORIES,function(data){let{ref}=getEventMetadata(this,fullAPI),setStoriesData=data.v?denormalizeStoryParameters(data):data.stories;if(ref)fullAPI.setRef(ref.id,{...ref,setStoriesData},!0);else throw new Error("Cannot call SET_STORIES for local frame")}),provider.channel.on(SELECT_STORY,function({kind,title=kind,story,name:name2=story,storyId,...rest}){let{ref}=getEventMetadata(this,fullAPI);ref?fullAPI.selectStory(storyId||title,name2,{...rest,ref:ref.id}):fullAPI.selectStory(storyId||title,name2,rest)}),provider.channel.on(STORY_ARGS_UPDATED,function({storyId,args:args2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(storyId,{args:args2},ref)}),provider.channel.on(CONFIG_ERROR,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_MISSING,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(SET_CONFIG,()=>{let config2=provider.getConfig();config2?.sidebar?.filters&&store22.setState({filters:{...store22.getState().filters,...config2?.sidebar?.filters}})});let config=provider.getConfig();return{api,state:{storyId:initialStoryId,viewMode:initialViewMode,hasCalledSetOptions:!1,previewInitialized:!1,status:{},filters:config?.sidebar?.filters||{}},init:async()=>{FEATURES?.storyStoreV7&&(provider.channel.on(STORY_INDEX_INVALIDATED,()=>api.fetchIndex()),await api.fetchIndex())}}},layout_exports={};__export2(layout_exports,{ActiveTabs:()=>ActiveTabs,focusableUIElements:()=>focusableUIElements,init:()=>init8});var{document:document3}=scope,ActiveTabs={SIDEBAR:"sidebar",CANVAS:"canvas",ADDONS:"addons"},defaultState={ui:{enableShortcuts:!0},layout:{initialActive:ActiveTabs.CANVAS,showToolbar:!0,isFullscreen:!1,showPanel:!0,showNav:!0,panelPosition:"bottom",showTabs:!0},selectedPanel:void 0,theme:create()},focusableUIElements={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},init8=({store:store22,provider,singleStory,fullAPI})=>{let api={toggleFullscreen(toggled){return store22.setState(state=>{let{showNav}=state.layout,value2=typeof toggled=="boolean"?toggled:!state.layout.isFullscreen,shouldShowNav=showNav===!1&&value2===!1;return{layout:{...state.layout,isFullscreen:value2,showNav:!singleStory&&shouldShowNav?!0:showNav}}},{persistence:"session"})},togglePanel(toggled){return store22.setState(state=>{let{showNav,isFullscreen}=state.layout,value2=typeof toggled<"u"?toggled:!state.layout.showPanel,shouldToggleFullScreen=showNav===!1&&value2===!1;return{layout:{...state.layout,showPanel:value2,isFullscreen:shouldToggleFullScreen?!0:isFullscreen}}},{persistence:"session"})},togglePanelPosition(position){return typeof position<"u"?store22.setState(state=>({layout:{...state.layout,panelPosition:position}}),{persistence:"permanent"}):store22.setState(state=>({layout:{...state.layout,panelPosition:state.layout.panelPosition==="right"?"bottom":"right"}}),{persistence:"permanent"})},toggleNav(toggled){return store22.setState(state=>{if(singleStory)return{layout:state.layout};let{showPanel,isFullscreen}=state.layout,showNav=typeof toggled<"u"?toggled:!state.layout.showNav,shouldToggleFullScreen=showPanel===!1&&showNav===!1;return{layout:{...state.layout,showNav,isFullscreen:shouldToggleFullScreen?!0:!showNav&&isFullscreen}}},{persistence:"session"})},toggleToolbar(toggled){return store22.setState(state=>{let value2=typeof toggled<"u"?toggled:!state.layout.showToolbar;return{layout:{...state.layout,showToolbar:value2}}},{persistence:"session"})},resetLayout(){return store22.setState(state=>({layout:{...state.layout,showNav:!1,showPanel:!1,isFullscreen:!1}}),{persistence:"session"})},focusOnUIElement(elementId,select){if(!elementId)return;let element=document3.getElementById(elementId);element&&(element.focus(),select&&element.select())},getInitialOptions(){let{theme,selectedPanel,...options3}=provider.getConfig();return{...defaultState,layout:{...defaultState.layout,...(0,import_pick.default)(options3,Object.keys(defaultState.layout)),...singleStory&&{showNav:!1}},ui:{...defaultState.ui,...(0,import_pick.default)(options3,Object.keys(defaultState.ui))},selectedPanel:selectedPanel||defaultState.selectedPanel,theme:theme||defaultState.theme}},setOptions:options3=>{let{layout,ui,selectedPanel,theme}=store22.getState();if(options3){let updatedLayout={...layout,...options3.layout,...(0,import_pick.default)(options3,Object.keys(layout)),...singleStory&&{showNav:!1}},updatedUi={...ui,...options3.ui,...(0,import_pick.default)(options3,Object.keys(ui))},updatedTheme={...theme,...options3.theme},modification={};dequal2(ui,updatedUi)||(modification.ui=updatedUi),dequal2(layout,updatedLayout)||(modification.layout=updatedLayout),options3.selectedPanel&&!dequal2(selectedPanel,options3.selectedPanel)&&(modification.selectedPanel=options3.selectedPanel),Object.keys(modification).length&&store22.setState(modification,{persistence:"permanent"}),dequal2(theme,updatedTheme)||store22.setState({theme:updatedTheme})}}},persisted=(0,import_pick.default)(store22.getState(),"layout","selectedPanel");return{api,state:merge_default(api.getInitialOptions(),persisted),init:()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted)),provider.channel.on(SET_CONFIG,()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted))})}}},shortcuts_exports={};__export2(shortcuts_exports,{controlOrMetaKey:()=>controlOrMetaKey2,defaultShortcuts:()=>defaultShortcuts,init:()=>init9,isMacLike:()=>isMacLike2,keys:()=>keys});var{navigator:navigator2}=scope,isMacLike=()=>navigator2&&navigator2.platform?!!navigator2.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaSymbol=()=>isMacLike()?"\u2318":"ctrl",controlOrMetaKey=()=>isMacLike()?"meta":"control",optionOrAltSymbol=()=>isMacLike()?"\u2325":"alt",isShortcutTaken=(arr1,arr2)=>JSON.stringify(arr1)===JSON.stringify(arr2),eventToShortcut=e3=>{if(["Meta","Alt","Control","Shift"].includes(e3.key))return null;let keys2=[];if(e3.altKey&&keys2.push("alt"),e3.ctrlKey&&keys2.push("control"),e3.metaKey&&keys2.push("meta"),e3.shiftKey&&keys2.push("shift"),e3.key&&e3.key.length===1&&e3.key!==" "){let key2=e3.key.toUpperCase(),code=e3.code?.toUpperCase().replace("KEY","").replace("DIGIT","");code&&code.length===1&&code!==key2?keys2.push([key2,code]):keys2.push(key2)}return e3.key===" "&&keys2.push("space"),e3.key==="Escape"&&keys2.push("escape"),e3.key==="ArrowRight"&&keys2.push("ArrowRight"),e3.key==="ArrowDown"&&keys2.push("ArrowDown"),e3.key==="ArrowUp"&&keys2.push("ArrowUp"),e3.key==="ArrowLeft"&&keys2.push("ArrowLeft"),keys2.length>0?keys2:null},shortcutMatchesShortcut=(inputShortcut,shortcut)=>!inputShortcut||!shortcut||(inputShortcut.join("").startsWith("shift/")&&inputShortcut.shift(),inputShortcut.length!==shortcut.length)?!1:!inputShortcut.find((input,i3)=>Array.isArray(input)?!input.includes(shortcut[i3]):input!==shortcut[i3]),eventMatchesShortcut=(e3,shortcut)=>shortcutMatchesShortcut(eventToShortcut(e3),shortcut),keyToSymbol=key2=>key2==="alt"?optionOrAltSymbol():key2==="control"?"\u2303":key2==="meta"?"\u2318":key2==="shift"?"\u21E7\u200B":key2==="Enter"||key2==="Backspace"||key2==="Esc"||key2==="escape"?"":key2===" "?"SPACE":key2==="ArrowUp"?"\u2191":key2==="ArrowDown"?"\u2193":key2==="ArrowLeft"?"\u2190":key2==="ArrowRight"?"\u2192":key2.toUpperCase(),shortcutToHumanString=shortcut=>shortcut.map(keyToSymbol).join(" "),{navigator:navigator22,document:document23}=scope,isMacLike2=()=>navigator22&&navigator22.platform?!!navigator22.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaKey2=()=>isMacLike2()?"meta":"control";function keys(o2){return Object.keys(o2)}var defaultShortcuts=Object.freeze({fullScreen:["F"],togglePanel:["A"],panelPosition:["D"],toggleNav:["S"],toolbar:["T"],search:["/"],focusNav:["1"],focusIframe:["2"],focusPanel:["3"],prevComponent:["alt","ArrowUp"],nextComponent:["alt","ArrowDown"],prevStory:["alt","ArrowLeft"],nextStory:["alt","ArrowRight"],shortcutsPage:[controlOrMetaKey2(),"shift",","],aboutPage:[","],escape:["escape"],collapseAll:[controlOrMetaKey2(),"shift","ArrowUp"],expandAll:[controlOrMetaKey2(),"shift","ArrowDown"],remount:["alt","R"]}),addonsShortcuts={};function focusInInput(event){let target=event.target;return/input|textarea/i.test(target.tagName)||target.getAttribute("contenteditable")!==null}var init9=({store:store22,fullAPI,provider})=>{let api={getShortcutKeys(){return store22.getState().shortcuts},getDefaultShortcuts(){return{...defaultShortcuts,...api.getAddonsShortcutDefaults()}},getAddonsShortcuts(){return addonsShortcuts},getAddonsShortcutLabels(){let labels={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{label}])=>{labels[actionName]=label}),labels},getAddonsShortcutDefaults(){let defaults={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{defaultShortcut}])=>{defaults[actionName]=defaultShortcut}),defaults},async setShortcuts(shortcuts){return await store22.setState({shortcuts},{persistence:"permanent"}),shortcuts},async restoreAllDefaultShortcuts(){return api.setShortcuts(api.getDefaultShortcuts())},async setShortcut(action,value2){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[action]:value2}),value2},async setAddonShortcut(addon,shortcut){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[`${addon}-${shortcut.actionName}`]:shortcut.defaultShortcut}),addonsShortcuts[`${addon}-${shortcut.actionName}`]=shortcut,shortcut},async restoreDefaultShortcut(action){let defaultShortcut=api.getDefaultShortcuts()[action];return api.setShortcut(action,defaultShortcut)},handleKeydownEvent(event){let shortcut=eventToShortcut(event),shortcuts=api.getShortcutKeys(),matchedFeature=keys(shortcuts).find(feature=>shortcutMatchesShortcut(shortcut,shortcuts[feature]));matchedFeature&&api.handleShortcutFeature(matchedFeature,event)},handleShortcutFeature(feature,event){let{layout:{isFullscreen,showNav,showPanel},ui:{enableShortcuts},storyId}=store22.getState();if(enableShortcuts)switch(event?.preventDefault&&event.preventDefault(),feature){case"escape":{isFullscreen?fullAPI.toggleFullscreen():showNav||fullAPI.toggleNav();break}case"focusNav":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),fullAPI.focusOnUIElement(focusableUIElements.storyListMenu);break}case"search":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),setTimeout(()=>{fullAPI.focusOnUIElement(focusableUIElements.storySearchField,!0)},0);break}case"focusIframe":{let element=document23.getElementById("storybook-preview-iframe");if(element)try{element.contentWindow.focus()}catch{}break}case"focusPanel":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.focusOnUIElement(focusableUIElements.storyPanelRoot);break}case"nextStory":{fullAPI.jumpToStory(1);break}case"prevStory":{fullAPI.jumpToStory(-1);break}case"nextComponent":{fullAPI.jumpToComponent(1);break}case"prevComponent":{fullAPI.jumpToComponent(-1);break}case"fullScreen":{fullAPI.toggleFullscreen();break}case"togglePanel":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.togglePanel();break}case"toggleNav":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.toggleNav();break}case"toolbar":{fullAPI.toggleToolbar();break}case"panelPosition":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.togglePanelPosition();break}case"aboutPage":{fullAPI.navigate("/settings/about");break}case"shortcutsPage":{fullAPI.navigate("/settings/shortcuts");break}case"collapseAll":{fullAPI.collapseAll();break}case"expandAll":{fullAPI.expandAll();break}case"remount":{fullAPI.emit(FORCE_REMOUNT,{storyId});break}default:addonsShortcuts[feature].action();break}}},{shortcuts:persistedShortcuts=defaultShortcuts}=store22.getState(),state={shortcuts:keys(defaultShortcuts).reduce((acc,key2)=>({...acc,[key2]:persistedShortcuts[key2]||defaultShortcuts[key2]}),defaultShortcuts)};return{api,state,init:()=>{document23.addEventListener("keydown",event=>{focusInInput(event)||api.handleKeydownEvent(event)}),provider.channel.on(PREVIEW_KEYDOWN,data=>{api.handleKeydownEvent(data.event)})}}},url_exports={};__export2(url_exports,{init:()=>init10});var{window:globalWindow}=scope,parseBoolean=value2=>{if(value2==="true"||value2==="1")return!0;if(value2==="false"||value2==="0")return!1},prevParams,initialUrlSupport=({state:{location:location22,path,viewMode,storyId:storyIdFromUrl},singleStory})=>{let{full,panel,nav,shortcuts,addonPanel,tabs,path:queryPath,...otherParams}=queryFromLocation(location22),layout={isFullscreen:parseBoolean(full),showNav:!singleStory&&parseBoolean(nav),showPanel:parseBoolean(panel),panelPosition:["right","bottom"].includes(panel)?panel:void 0,showTabs:parseBoolean(tabs)},ui={enableShortcuts:parseBoolean(shortcuts)},selectedPanel=addonPanel||void 0,storyId=storyIdFromUrl,customQueryParams=dequal2(prevParams,otherParams)?prevParams:otherParams;return prevParams=customQueryParams,{viewMode,layout,ui,selectedPanel,location:location22,path,customQueryParams,storyId}},init10=moduleArgs=>{let{store:store22,navigate,provider,fullAPI}=moduleArgs,navigateTo=(path,queryParams={},options3={})=>{let params=Object.entries(queryParams).filter(([,v2])=>v2).sort(([a2],[b3])=>a2<b3?-1:1).map(([k2,v2])=>`${k2}=${v2}`),to=[path,...params].join("&");return navigate(to,options3)},api={getQueryParam(key2){let{customQueryParams}=store22.getState();return customQueryParams?customQueryParams[key2]:void 0},getUrlState(){let{path,customQueryParams,storyId,url,viewMode}=store22.getState();return{path,queryParams:customQueryParams,storyId,url,viewMode}},setQueryParams(input){let{customQueryParams}=store22.getState(),queryParams={},update2={...customQueryParams,...Object.entries(input).reduce((acc,[key2,value2])=>(value2!==null&&(acc[key2]=value2),acc),queryParams)};dequal2(customQueryParams,update2)||(store22.setState({customQueryParams:update2}),provider.channel.emit(UPDATE_QUERY_PARAMS,update2))},navigateUrl(url,options3){navigate(url,{plain:!0,...options3})}},updateArgsParam=()=>{let{path,queryParams,viewMode}=api.getUrlState();if(viewMode!=="story")return;let currentStory=fullAPI.getCurrentStoryData();if(currentStory?.type!=="story")return;let{args:args2,initialArgs}=currentStory,argsString=buildArgsParam(initialArgs,args2);navigateTo(path,{...queryParams,args:argsString},{replace:!0}),api.setQueryParams({args:argsString})};provider.channel.on(SET_CURRENT_STORY,()=>updateArgsParam());let handleOrId;return provider.channel.on(STORY_ARGS_UPDATED,()=>{"requestIdleCallback"in globalWindow?(handleOrId&&globalWindow.cancelIdleCallback(handleOrId),handleOrId=globalWindow.requestIdleCallback(updateArgsParam,{timeout:1e3})):(handleOrId&&clearTimeout(handleOrId),setTimeout(updateArgsParam,100))}),provider.channel.on(GLOBALS_UPDATED,({globals,initialGlobals})=>{let{path,queryParams}=api.getUrlState(),globalsString=buildArgsParam(initialGlobals,globals);navigateTo(path,{...queryParams,globals:globalsString},{replace:!0}),api.setQueryParams({globals:globalsString})}),provider.channel.on(NAVIGATE_URL,(url,options3)=>{api.navigateUrl(url,options3)}),{api,state:initialUrlSupport(moduleArgs)}},versions_exports={};__export2(versions_exports,{init:()=>init11});var version="0.0.0-pr-24225-sha-4257f39c",{VERSIONCHECK}=scope,getVersionCheckData=(0,import_memoizerific3.default)(1)(()=>{try{return{...JSON.parse(VERSIONCHECK).data||{}}}catch{return{}}}),init11=({store:store22})=>{let{dismissedVersionNotification}=store22.getState(),state={versions:{current:{version},...getVersionCheckData()},dismissedVersionNotification},api={getCurrentVersion:()=>{let{versions:{current}}=store22.getState();return current},getLatestVersion:()=>{let{versions:{latest,next,current}}=store22.getState();return current&&import_semver.default.prerelease(current.version)&&next?latest&&import_semver.default.gt(latest.version,next.version)?latest:next:latest},versionUpdateAvailable:()=>{let latest=api.getLatestVersion(),current=api.getCurrentVersion();if(latest){if(!latest.version||!current.version)return!0;let actualCurrent=import_semver.default.prerelease(current.version)?`${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}.${import_semver.default.patch(current.version)}`:current.version,diff=import_semver.default.diff(actualCurrent,latest.version);return import_semver.default.gt(latest.version,actualCurrent)&&diff!=="patch"&&!diff.includes("pre")}return!1}};return{init:async()=>{let{versions={}}=store22.getState(),{latest,next}=getVersionCheckData();await store22.setState({versions:{...versions,latest,next}})},state,api}},whatsnew_exports={};__export2(whatsnew_exports,{init:()=>init12});var WHATS_NEW_NOTIFICATION_ID="whats-new",init12=({fullAPI,store:store22,provider})=>{let state={whatsNewData:void 0};function setWhatsNewState(newState){store22.setState({whatsNewData:newState}),state.whatsNewData=newState}let api={isWhatsNewUnread(){return state.whatsNewData?.status==="SUCCESS"&&!state.whatsNewData.postIsRead},whatsNewHasBeenRead(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewCache({lastReadPost:state.whatsNewData.url}),setWhatsNewState({...state.whatsNewData,postIsRead:!0}),fullAPI.clearNotification(WHATS_NEW_NOTIFICATION_ID))},toggleWhatsNewNotifications(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewState({...state.whatsNewData,disableWhatsNewNotifications:!state.whatsNewData.disableWhatsNewNotifications}),provider.channel.emit(TOGGLE_WHATS_NEW_NOTIFICATIONS,{disableWhatsNewNotifications:state.whatsNewData.disableWhatsNewNotifications}))}};function getLatestWhatsNewPost(){return provider.channel.emit(REQUEST_WHATS_NEW_DATA),new Promise(resolve=>provider.channel.once(RESULT_WHATS_NEW_DATA,({data})=>resolve(data)))}function setWhatsNewCache(cache){provider.channel.emit(SET_WHATS_NEW_CACHE,cache)}return{init:async()=>{if(scope.CONFIG_TYPE!=="DEVELOPMENT")return;let whatsNewData=await getLatestWhatsNewPost();setWhatsNewState(whatsNewData);let urlState=fullAPI.getUrlState();!(urlState?.path==="/onboarding"||urlState.queryParams?.onboarding==="true")&&whatsNewData.status==="SUCCESS"&&!whatsNewData.disableWhatsNewNotifications&&whatsNewData.showNotification&&fullAPI.addNotification({id:WHATS_NEW_NOTIFICATION_ID,link:"/settings/whats-new",content:{headline:whatsNewData.excerpt,subHeadline:"Click to learn what's new in Storybook"},icon:{name:"hearthollow"},onClear({dismissed}){dismissed&&setWhatsNewCache({lastDismissedPost:whatsNewData.url})}})},state,api}},globals_exports={};__export2(globals_exports,{init:()=>init13});var init13=({store:store22,fullAPI,provider})=>{let api={getGlobals(){return store22.getState().globals},getGlobalTypes(){return store22.getState().globalTypes},updateGlobals(newGlobals){provider.channel.emit(UPDATE_GLOBALS,{globals:newGlobals,options:{target:"storybook-preview-iframe"}})}},state={globals:{},globalTypes:{}},updateGlobals=globals=>{let currentGlobals=store22.getState()?.globals;dequal2(globals,currentGlobals)||store22.setState({globals})};return provider.channel.on(GLOBALS_UPDATED,function({globals}){let{ref}=getEventMetadata(this,fullAPI);ref?logger.warn("received a GLOBALS_UPDATED from a non-local ref. This is not currently supported."):updateGlobals(globals)}),provider.channel.on(SET_GLOBALS,function({globals,globalTypes}){let{ref}=getEventMetadata(this,fullAPI),currentGlobals=store22.getState()?.globals;ref?Object.keys(globals).length>0&&logger.warn("received globals from a non-local ref. This is not currently supported."):store22.setState({globals,globalTypes}),currentGlobals&&Object.keys(currentGlobals).length!==0&&!dequal2(globals,currentGlobals)&&api.updateGlobals(currentGlobals)}),{api,state}};function mockChannel(){let transport={setHandler:()=>{},send:()=>{}};return new Channel({transport})}var AddonStore=class{constructor(){this.loaders={},this.elements={},this.config={},this.getChannel=()=>(this.channel||this.setChannel(mockChannel()),this.channel),this.getServerChannel=()=>{if(!this.serverChannel)throw new Error("Accessing non-existent serverChannel");return this.serverChannel},this.ready=()=>this.promise,this.hasChannel=()=>!!this.channel,this.hasServerChannel=()=>!!this.serverChannel,this.setChannel=channel=>{this.channel=channel,this.resolve()},this.setServerChannel=channel=>{this.serverChannel=channel},this.addPanel=(id,options3)=>{this.add(id,{type:Addon_TypesEnum.PANEL,...options3})},this.setConfig=value2=>{Object.assign(this.config,value2),this.hasChannel()?this.getChannel().emit(SET_CONFIG,this.config):this.ready().then(channel=>{channel.emit(SET_CONFIG,this.config)})},this.getConfig=()=>this.config,this.register=(id,callback)=>{this.loaders[id]&&logger.warn(`${id} was loaded twice, this could have bad side-effects`),this.loaders[id]=callback},this.loadAddons=api=>{Object.values(this.loaders).forEach(value2=>value2(api))},this.promise=new Promise(res=>{this.resolve=()=>res(this.getChannel())})}getElements(type){return this.elements[type]||(this.elements[type]={}),this.elements[type]}add(id,addon){let{type}=addon,collection=this.getElements(type);collection[id]={id,...addon}}},KEY2="__STORYBOOK_ADDONS_MANAGER";function getAddonsStore(){return scope[KEY2]||(scope[KEY2]=new AddonStore),scope[KEY2]}var addons=getAddonsStore(),{ActiveTabs:ActiveTabs2}=layout_exports,ManagerContext=createContext2({api:void 0,state:initial_state_default({})}),combineParameters=(...parameterSets)=>(0,import_mergeWith.default)({},...parameterSets,(objValue,srcValue)=>{if(Array.isArray(srcValue))return srcValue}),ManagerProvider=class extends import_react2.Component{constructor(props){super(props),this.api={},this.initModules=()=>{this.modules.forEach(module=>{"init"in module&&module.init()})};let{location:location22,path,refId,viewMode=props.docsOptions.docsMode?"docs":props.viewMode,singleStory,storyId,docsOptions,navigate}=props,store22=new Store({getState:()=>this.state,setState:(stateChange,callback)=>this.setState(stateChange,callback)}),routeData={location:location22,path,viewMode,singleStory,storyId,refId},optionsData={docsOptions};this.state=store22.getInitialState(initial_state_default({...routeData,...optionsData}));let apiData={navigate,store:store22,provider:props.provider};this.modules=[provider_exports,channel_exports,addons_exports,layout_exports,notifications_exports,settings_exports,shortcuts_exports,stories_exports,refs_exports,globals_exports,url_exports,versions_exports,whatsnew_exports].map(m3=>m3.init({...routeData,...optionsData,...apiData,state:this.state,fullAPI:this.api}));let state=initial_state_default(this.state,...this.modules.map(m3=>m3.state)),api=Object.assign(this.api,{navigate},...this.modules.map(m3=>m3.api));this.state=state,this.api=api}static getDerivedStateFromProps(props,state){return state.path!==props.path?{...state,location:props.location,path:props.path,refId:props.refId,viewMode:props.viewMode,storyId:props.storyId}:null}shouldComponentUpdate(nextProps,nextState){let prevState=this.state,prevProps=this.props;return prevState!==nextState||prevProps.path!==nextProps.path}render(){let{children}=this.props,value2={state:this.state,api:this.api};return import_react2.default.createElement(EffectOnMount,{effect:this.initModules},import_react2.default.createElement(ManagerContext.Provider,{value:value2},import_react2.default.createElement(ManagerConsumer,null,children)))}};ManagerProvider.displayName="Manager";var EffectOnMount=({children,effect})=>(import_react2.default.useEffect(effect,[]),children),defaultFilter=c3=>c3;function ManagerConsumer({filter=defaultFilter,children}){let c3=(0,import_react2.useContext)(ManagerContext),renderer=(0,import_react2.useRef)(children),filterer=(0,import_react2.useRef)(filter);if(typeof renderer.current!="function")return import_react2.default.createElement(import_react2.Fragment,null,renderer.current);let data=filterer.current(c3),l2=(0,import_react2.useMemo)(()=>[...Object.entries(data).reduce((acc,keyval)=>acc.concat(keyval),[])],[c3.state]);return(0,import_react2.useMemo)(()=>{let Child=renderer.current;return import_react2.default.createElement(Child,{...data})},l2)}function useStorybookState(){let{state}=(0,import_react2.useContext)(ManagerContext);return{...state,get storiesHash(){return deprecate("state.storiesHash is deprecated, please use state.index"),this.index||{}},get storiesConfigured(){return deprecate("state.storiesConfigured is deprecated, please use state.previewInitialized"),this.previewInitialized},get storiesFailed(){return deprecate("state.storiesFailed is deprecated, please use state.indexError"),this.indexError}}}function useStorybookApi(){let{api}=(0,import_react2.useContext)(ManagerContext);return api}function orDefault(fromStore,defaultState2){return typeof fromStore>"u"?defaultState2:fromStore}var useChannel=(eventMap,deps=[])=>{let api=useStorybookApi();return(0,import_react2.useEffect)(()=>(Object.entries(eventMap).forEach(([type,listener])=>api.on(type,listener)),()=>{Object.entries(eventMap).forEach(([type,listener])=>api.off(type,listener))}),deps),api.emit};function useStoryPrepared(storyId){return useStorybookApi().isPrepared(storyId)}function useParameter(parameterKey,defaultValue){let result2=useStorybookApi().getCurrentParameter(parameterKey);return orDefault(result2,defaultValue)}var addonStateCache={};function useSharedState(stateId,defaultState2){let api=useStorybookApi(),existingState=api.getAddonState(stateId)||addonStateCache[stateId],state=orDefault(existingState,addonStateCache[stateId]?addonStateCache[stateId]:defaultState2);(0,import_react2.useEffect)(()=>{api.getAddonState(stateId)===void 0&&api.getAddonState(stateId)!==state&&api.setAddonState(stateId,state).then(s2=>{addonStateCache[stateId]=s2})},[api]);let setState=(s2,options3)=>{let result2=api.setAddonState(stateId,s2,options3);return addonStateCache[stateId]=result2,result2},allListeners=(0,import_react2.useMemo)(()=>{let stateChangeHandlers={[`${SHARED_STATE_CHANGED}-client-${stateId}`]:setState,[`${SHARED_STATE_SET}-client-${stateId}`]:setState},stateInitializationHandlers={[SET_STORIES]:async()=>{let currentState=api.getAddonState(stateId);currentState?(addonStateCache[stateId]=currentState,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)):addonStateCache[stateId]?(await setState(addonStateCache[stateId]),api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,addonStateCache[stateId])):defaultState2!==void 0&&(await setState(defaultState2),addonStateCache[stateId]=defaultState2,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,defaultState2))},[STORY_CHANGED]:()=>{let currentState=api.getAddonState(stateId);currentState!==void 0&&api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)}};return{...stateChangeHandlers,...stateInitializationHandlers}},[stateId]),emit=useChannel(allListeners);return[state,async(newStateOrMerger,options3)=>{let result2=await setState(newStateOrMerger,options3);emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`,result2)}]}function useAddonState(addonId,defaultState2){return useSharedState(addonId,defaultState2)}function useArgs(){let{getCurrentStoryData,updateStoryArgs,resetStoryArgs}=useStorybookApi(),data=getCurrentStoryData(),args2=data?.type==="story"?data.args:{},updateArgs=(0,import_react2.useCallback)(newArgs=>updateStoryArgs(data,newArgs),[data,updateStoryArgs]),resetArgs=(0,import_react2.useCallback)(argNames=>resetStoryArgs(data,argNames),[data,resetStoryArgs]);return[args2,updateArgs,resetArgs]}function useGlobals(){let api=useStorybookApi();return[api.getGlobals(),api.updateGlobals]}function useGlobalTypes(){return useStorybookApi().getGlobalTypes()}function useCurrentStory(){let{getCurrentStoryData}=useStorybookApi();return getCurrentStoryData()}function useArgTypes(){let current=useCurrentStory();return current?.type==="story"&¤t.argTypes||{}}var StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0}get name(){let paddedCode=String(this.code).padStart(4,"0");return`SB_${this.category}_${paddedCode}`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.name}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
|
|
53
|
+
`});let versions=ref.versions&&Object.keys(ref.versions).length?ref.versions:loadedData.versions;await api.setRef(id,{id,url:urlParseResult.url,...loadedData,...versions?{versions}:{},type:loadedData.storyIndex?"lazy":"auto-inject"})},getRefs:()=>{let{refs:refs22={}}=store22.getState();return refs22},setRef:(id,{storyIndex,setStoriesData,...rest},ready=!1)=>{if(singleStory)return;let{storyMapper=defaultStoryMapper}=provider.getConfig(),ref=api.getRefs()[id],index2;setStoriesData?index2=transformSetStoriesStoryDataToStoriesHash(map(setStoriesData,ref,{storyMapper}),{provider,docsOptions,filters:{},status:{}}):storyIndex&&(index2=transformStoryIndexToStoriesHash(storyIndex,{provider,docsOptions,filters:{},status:{}})),index2&&(index2=addRefIds(index2,ref)),api.updateRef(id,{index:index2,...rest})},updateRef:(id,data)=>{let{[id]:ref,...updated}=api.getRefs();updated[id]={...ref,...data};let ordered=Object.keys(initialState).reduce((obj,key2)=>(obj[key2]=updated[key2],obj),{});store22.setState({refs:ordered})}},refs2=!singleStory&&scope.REFS||{},initialState=refs2;return runCheck&&Object.entries(refs2).forEach(([id,ref])=>{api.checkRef({...ref,stories:{}})}),{api,state:{refs:initialState}}},getEventMetadata=(context,fullAPI)=>{let{source:source2,refId,type}=context,[sourceType,sourceLocation]=getSourceType(source2,refId),ref=refId&&fullAPI.getRefs()[refId]?fullAPI.getRefs()[refId]:fullAPI.findRef(sourceLocation),meta={source:source2,sourceType,sourceLocation,refId,ref,type};switch(!0){case typeof refId=="string":case sourceType==="local":case sourceType==="external":return meta;default:return logger.warn(`Received a ${type} frame that was not configured as a ref`),null}},{FEATURES,fetch:fetch2}=scope,STORY_INDEX_PATH="./index.json",removedOptions=["enableShortcuts","theme","showRoots"];function removeRemovedOptions(options3){if(!options3||typeof options3=="string")return options3;let result2={...options3};return removedOptions.forEach(option=>{option in result2&&delete result2[option]}),result2}var init7=({fullAPI,store:store22,navigate,provider,storyId:initialStoryId,viewMode:initialViewMode,docsOptions={}})=>{let api={storyId:N,getData:(storyId,refId)=>{let result2=api.resolveStory(storyId,refId);if(result2?.type==="story"||result2?.type==="docs")return result2},isPrepared:(storyId,refId)=>{let data=api.getData(storyId,refId);return data.type==="story"?data.prepared:!0},resolveStory:(storyId,refId)=>{let{refs:refs2,index:index2}=store22.getState();return refId&&!refs2[refId]?null:refId?refs2[refId].index?refs2[refId].index[storyId]:void 0:index2?index2[storyId]:void 0},getCurrentStoryData:()=>{let{storyId,refId}=store22.getState();return api.getData(storyId,refId)},getParameters:(storyIdOrCombo,parameterName)=>{let{storyId,refId}=typeof storyIdOrCombo=="string"?{storyId:storyIdOrCombo,refId:void 0}:storyIdOrCombo,data=api.getData(storyId,refId);if(["story","docs"].includes(data?.type)){let{parameters}=data;if(parameters)return parameterName?parameters[parameterName]:parameters}return null},getCurrentParameter:parameterName=>{let{storyId,refId}=store22.getState();return api.getParameters({storyId,refId},parameterName)||void 0},jumpToComponent:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState();if(!api.getData(storyId,refId))return;let hash=refId?refs2[refId].index||{}:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!0);result2&&api.selectStory(result2,void 0,{ref:refId})},jumpToStory:direction=>{let{index:index2,storyId,refs:refs2,refId}=store22.getState(),story=api.getData(storyId,refId);if(!story)return;let hash=story.refId?refs2[story.refId].index:index2,result2=api.findSiblingStoryId(storyId,hash,direction,!1);result2&&api.selectStory(result2,void 0,{ref:refId})},selectFirstStory:()=>{let{index:index2}=store22.getState(),firstStory=Object.keys(index2).find(id=>index2[id].type==="story");if(firstStory){api.selectStory(firstStory);return}navigate("/")},selectStory:(titleOrId=void 0,name2=void 0,options3={})=>{let{ref}=options3,{storyId,index:index2,refs:refs2}=store22.getState(),hash=ref?refs2[ref].index:index2,kindSlug=storyId?.split("--",2)[0];if(name2)if(titleOrId){let id=ref?`${ref}_${N(titleOrId,name2)}`:N(titleOrId,name2);if(hash[id])api.selectStory(id,void 0,options3);else{let entry=hash[L(titleOrId)];if(entry?.type==="component"){let foundId=entry.children.find(childId=>hash[childId].name===name2);foundId&&api.selectStory(foundId,void 0,options3)}}}else{let id=N(kindSlug,name2);api.selectStory(id,void 0,options3)}else{let entry=titleOrId?hash[titleOrId]||hash[L(titleOrId)]:hash[kindSlug];if(!entry)throw new Error(`Unknown id or title: '${titleOrId}'`);let leafEntry=api.findLeafEntry(hash,entry.id),fullId=leafEntry.refId?`${leafEntry.refId}_${leafEntry.id}`:leafEntry.id;navigate(`/${leafEntry.type}/${fullId}`)}},findLeafEntry(index2,storyId){let entry=index2[storyId];if(entry.type==="docs"||entry.type==="story")return entry;let childStoryId=entry.children[0];return api.findLeafEntry(index2,childStoryId)},findLeafStoryId(index2,storyId){return api.findLeafEntry(index2,storyId)?.id},findSiblingStoryId(storyId,index2,direction,toSiblingGroup){if(toSiblingGroup){let lookupList2=getComponentLookupList(index2),position2=lookupList2.findIndex(i3=>i3.includes(storyId));return position2===lookupList2.length-1&&direction>0||position2===0&&direction<0?void 0:lookupList2[position2+direction]?lookupList2[position2+direction][0]:void 0}let lookupList=getStoriesLookupList(index2),position=lookupList.indexOf(storyId);if(!(position===lookupList.length-1&&direction>0)&&!(position===0&&direction<0))return lookupList[position+direction]},updateStoryArgs:(story,updatedArgs)=>{let{id:storyId,refId}=story;provider.channel.emit(UPDATE_STORY_ARGS,{storyId,updatedArgs,options:{target:refId}})},resetStoryArgs:(story,argNames)=>{let{id:storyId,refId}=story;provider.channel.emit(RESET_STORY_ARGS,{storyId,argNames,options:{target:refId}})},fetchIndex:async()=>{try{let result2=await fetch2(STORY_INDEX_PATH);if(result2.status!==200)throw new Error(await result2.text());let storyIndex=await result2.json();if(storyIndex.v<3){logger.warn(`Skipping story index with version v${storyIndex.v}, awaiting SET_STORIES.`);return}await api.setIndex(storyIndex)}catch(err){await store22.setState({indexError:err})}},setIndex:async input=>{let{index:oldHash,status,filters}=store22.getState(),newHash=transformStoryIndexToStoriesHash(input,{provider,docsOptions,status,filters}),output=addPreparedStories(newHash,oldHash);await store22.setState({internal_index:input,index:output,indexError:void 0})},updateStory:async(storyId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[storyId]={...index2[storyId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[storyId]={...index2[storyId],...update2},await store22.setState({index:index2})}},updateDocs:async(docsId,update2,ref)=>{if(ref){let{id:refId,index:index2}=ref;index2[docsId]={...index2[docsId],...update2},await fullAPI.updateRef(refId,{index:index2})}else{let{index:index2}=store22.getState();index2[docsId]={...index2[docsId],...update2},await store22.setState({index:index2})}},setPreviewInitialized:async ref=>{ref?fullAPI.updateRef(ref.id,{previewInitialized:!0}):store22.setState({previewInitialized:!0})},experimental_updateStatus:async(id,input)=>{let{status,internal_index:index2}=store22.getState(),newStatus={...status},update2=typeof input=="function"?input(status):input;Object.keys(update2).length!==0&&(Object.entries(update2).forEach(([storyId,value2])=>{newStatus[storyId]={...newStatus[storyId]||{}},value2===null?delete newStatus[storyId][id]:newStatus[storyId][id]=value2,Object.keys(newStatus[storyId]).length===0&&delete newStatus[storyId]}),await store22.setState({status:newStatus},{persistence:"session"}),await api.setIndex(index2))},experimental_setFilter:async(id,filterFunction)=>{let{internal_index:index2}=store22.getState();await store22.setState({filters:{...store22.getState().filters,[id]:filterFunction}}),await api.setIndex(index2)}};provider.channel.on(STORY_SPECIFIED,function({storyId,viewMode}){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let state=store22.getState(),isCanvasRoute=state.path==="/"||state.viewMode==="story"||state.viewMode==="docs",stateHasSelection=state.viewMode&&state.storyId,stateSelectionDifferent=state.viewMode!==viewMode||state.storyId!==storyId;isCanvasRoute&&(stateHasSelection&&stateSelectionDifferent?provider.channel.emit(SET_CURRENT_STORY,{storyId:state.storyId,viewMode:state.viewMode}):stateSelectionDifferent&&navigate(`/${viewMode}/${storyId}`))}}),provider.channel.on(CURRENT_STORY_WAS_SET,function(){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_CHANGED,function(){let{sourceType}=getEventMetadata(this,fullAPI);if(sourceType==="local"){let options3=api.getCurrentParameter("options");options3&&fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(STORY_PREPARED,function({id,...update2}){let{ref,sourceType}=getEventMetadata(this,fullAPI);if(api.updateStory(id,{...update2,prepared:!0},ref),!ref&&!store22.getState().hasCalledSetOptions){let{options:options3}=update2.parameters;fullAPI.setOptions(removeRemovedOptions(options3)),store22.setState({hasCalledSetOptions:!0})}if(sourceType==="local"){let{storyId,index:index2,refId}=store22.getState(),toBePreloaded=Array.from(new Set([api.findSiblingStoryId(storyId,index2,1,!0),api.findSiblingStoryId(storyId,index2,-1,!0)])).filter(Boolean);provider.channel.emit(PRELOAD_ENTRIES,{ids:toBePreloaded,options:{target:refId}})}}),provider.channel.on(DOCS_PREPARED,function({id,...update2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(id,{...update2,prepared:!0},ref)}),provider.channel.on(SET_INDEX,function(index2){let{ref}=getEventMetadata(this,fullAPI);if(ref)fullAPI.setRef(ref.id,{...ref,storyIndex:index2},!0);else{api.setIndex(index2);let options3=api.getCurrentParameter("options");fullAPI.setOptions(removeRemovedOptions(options3))}}),provider.channel.on(SET_STORIES,function(data){let{ref}=getEventMetadata(this,fullAPI),setStoriesData=data.v?denormalizeStoryParameters(data):data.stories;if(ref)fullAPI.setRef(ref.id,{...ref,setStoriesData},!0);else throw new Error("Cannot call SET_STORIES for local frame")}),provider.channel.on(SELECT_STORY,function({kind,title=kind,story,name:name2=story,storyId,...rest}){let{ref}=getEventMetadata(this,fullAPI);ref?fullAPI.selectStory(storyId||title,name2,{...rest,ref:ref.id}):fullAPI.selectStory(storyId||title,name2,rest)}),provider.channel.on(STORY_ARGS_UPDATED,function({storyId,args:args2}){let{ref}=getEventMetadata(this,fullAPI);api.updateStory(storyId,{args:args2},ref)}),provider.channel.on(CONFIG_ERROR,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(STORY_MISSING,function(err){let{ref}=getEventMetadata(this,fullAPI);api.setPreviewInitialized(ref)}),provider.channel.on(SET_CONFIG,()=>{let config2=provider.getConfig();config2?.sidebar?.filters&&store22.setState({filters:{...store22.getState().filters,...config2?.sidebar?.filters}})});let config=provider.getConfig();return{api,state:{storyId:initialStoryId,viewMode:initialViewMode,hasCalledSetOptions:!1,previewInitialized:!1,status:{},filters:config?.sidebar?.filters||{}},init:async()=>{FEATURES?.storyStoreV7&&(provider.channel.on(STORY_INDEX_INVALIDATED,()=>api.fetchIndex()),await api.fetchIndex())}}},layout_exports={};__export2(layout_exports,{ActiveTabs:()=>ActiveTabs,focusableUIElements:()=>focusableUIElements,init:()=>init8});var{document:document3}=scope,ActiveTabs={SIDEBAR:"sidebar",CANVAS:"canvas",ADDONS:"addons"},defaultState={ui:{enableShortcuts:!0},layout:{initialActive:ActiveTabs.CANVAS,showToolbar:!0,isFullscreen:!1,showPanel:!0,showNav:!0,panelPosition:"bottom",showTabs:!0},selectedPanel:void 0,theme:create()},focusableUIElements={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},init8=({store:store22,provider,singleStory,fullAPI})=>{let api={toggleFullscreen(toggled){return store22.setState(state=>{let{showNav}=state.layout,value2=typeof toggled=="boolean"?toggled:!state.layout.isFullscreen,shouldShowNav=showNav===!1&&value2===!1;return{layout:{...state.layout,isFullscreen:value2,showNav:!singleStory&&shouldShowNav?!0:showNav}}},{persistence:"session"})},togglePanel(toggled){return store22.setState(state=>{let{showNav,isFullscreen}=state.layout,value2=typeof toggled<"u"?toggled:!state.layout.showPanel,shouldToggleFullScreen=showNav===!1&&value2===!1;return{layout:{...state.layout,showPanel:value2,isFullscreen:shouldToggleFullScreen?!0:isFullscreen}}},{persistence:"session"})},togglePanelPosition(position){return typeof position<"u"?store22.setState(state=>({layout:{...state.layout,panelPosition:position}}),{persistence:"permanent"}):store22.setState(state=>({layout:{...state.layout,panelPosition:state.layout.panelPosition==="right"?"bottom":"right"}}),{persistence:"permanent"})},toggleNav(toggled){return store22.setState(state=>{if(singleStory)return{layout:state.layout};let{showPanel,isFullscreen}=state.layout,showNav=typeof toggled<"u"?toggled:!state.layout.showNav,shouldToggleFullScreen=showPanel===!1&&showNav===!1;return{layout:{...state.layout,showNav,isFullscreen:shouldToggleFullScreen?!0:!showNav&&isFullscreen}}},{persistence:"session"})},toggleToolbar(toggled){return store22.setState(state=>{let value2=typeof toggled<"u"?toggled:!state.layout.showToolbar;return{layout:{...state.layout,showToolbar:value2}}},{persistence:"session"})},resetLayout(){return store22.setState(state=>({layout:{...state.layout,showNav:!1,showPanel:!1,isFullscreen:!1}}),{persistence:"session"})},focusOnUIElement(elementId,select){if(!elementId)return;let element=document3.getElementById(elementId);element&&(element.focus(),select&&element.select())},getInitialOptions(){let{theme,selectedPanel,...options3}=provider.getConfig();return{...defaultState,layout:{...defaultState.layout,...(0,import_pick.default)(options3,Object.keys(defaultState.layout)),...singleStory&&{showNav:!1}},ui:{...defaultState.ui,...(0,import_pick.default)(options3,Object.keys(defaultState.ui))},selectedPanel:selectedPanel||defaultState.selectedPanel,theme:theme||defaultState.theme}},setOptions:options3=>{let{layout,ui,selectedPanel,theme}=store22.getState();if(options3){let updatedLayout={...layout,...options3.layout,...(0,import_pick.default)(options3,Object.keys(layout)),...singleStory&&{showNav:!1}},updatedUi={...ui,...options3.ui,...(0,import_pick.default)(options3,Object.keys(ui))},updatedTheme={...theme,...options3.theme},modification={};dequal2(ui,updatedUi)||(modification.ui=updatedUi),dequal2(layout,updatedLayout)||(modification.layout=updatedLayout),options3.selectedPanel&&!dequal2(selectedPanel,options3.selectedPanel)&&(modification.selectedPanel=options3.selectedPanel),Object.keys(modification).length&&store22.setState(modification,{persistence:"permanent"}),dequal2(theme,updatedTheme)||store22.setState({theme:updatedTheme})}}},persisted=(0,import_pick.default)(store22.getState(),"layout","selectedPanel");return{api,state:merge_default(api.getInitialOptions(),persisted),init:()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted)),provider.channel.on(SET_CONFIG,()=>{api.setOptions(merge_default(api.getInitialOptions(),persisted))})}}},shortcuts_exports={};__export2(shortcuts_exports,{controlOrMetaKey:()=>controlOrMetaKey2,defaultShortcuts:()=>defaultShortcuts,init:()=>init9,isMacLike:()=>isMacLike2,keys:()=>keys});var{navigator:navigator2}=scope,isMacLike=()=>navigator2&&navigator2.platform?!!navigator2.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaSymbol=()=>isMacLike()?"\u2318":"ctrl",controlOrMetaKey=()=>isMacLike()?"meta":"control",optionOrAltSymbol=()=>isMacLike()?"\u2325":"alt",isShortcutTaken=(arr1,arr2)=>JSON.stringify(arr1)===JSON.stringify(arr2),eventToShortcut=e3=>{if(["Meta","Alt","Control","Shift"].includes(e3.key))return null;let keys2=[];if(e3.altKey&&keys2.push("alt"),e3.ctrlKey&&keys2.push("control"),e3.metaKey&&keys2.push("meta"),e3.shiftKey&&keys2.push("shift"),e3.key&&e3.key.length===1&&e3.key!==" "){let key2=e3.key.toUpperCase(),code=e3.code?.toUpperCase().replace("KEY","").replace("DIGIT","");code&&code.length===1&&code!==key2?keys2.push([key2,code]):keys2.push(key2)}return e3.key===" "&&keys2.push("space"),e3.key==="Escape"&&keys2.push("escape"),e3.key==="ArrowRight"&&keys2.push("ArrowRight"),e3.key==="ArrowDown"&&keys2.push("ArrowDown"),e3.key==="ArrowUp"&&keys2.push("ArrowUp"),e3.key==="ArrowLeft"&&keys2.push("ArrowLeft"),keys2.length>0?keys2:null},shortcutMatchesShortcut=(inputShortcut,shortcut)=>!inputShortcut||!shortcut||(inputShortcut.join("").startsWith("shift/")&&inputShortcut.shift(),inputShortcut.length!==shortcut.length)?!1:!inputShortcut.find((input,i3)=>Array.isArray(input)?!input.includes(shortcut[i3]):input!==shortcut[i3]),eventMatchesShortcut=(e3,shortcut)=>shortcutMatchesShortcut(eventToShortcut(e3),shortcut),keyToSymbol=key2=>key2==="alt"?optionOrAltSymbol():key2==="control"?"\u2303":key2==="meta"?"\u2318":key2==="shift"?"\u21E7\u200B":key2==="Enter"||key2==="Backspace"||key2==="Esc"||key2==="escape"?"":key2===" "?"SPACE":key2==="ArrowUp"?"\u2191":key2==="ArrowDown"?"\u2193":key2==="ArrowLeft"?"\u2190":key2==="ArrowRight"?"\u2192":key2.toUpperCase(),shortcutToHumanString=shortcut=>shortcut.map(keyToSymbol).join(" "),{navigator:navigator22,document:document23}=scope,isMacLike2=()=>navigator22&&navigator22.platform?!!navigator22.platform.match(/(Mac|iPhone|iPod|iPad)/i):!1,controlOrMetaKey2=()=>isMacLike2()?"meta":"control";function keys(o2){return Object.keys(o2)}var defaultShortcuts=Object.freeze({fullScreen:["F"],togglePanel:["A"],panelPosition:["D"],toggleNav:["S"],toolbar:["T"],search:["/"],focusNav:["1"],focusIframe:["2"],focusPanel:["3"],prevComponent:["alt","ArrowUp"],nextComponent:["alt","ArrowDown"],prevStory:["alt","ArrowLeft"],nextStory:["alt","ArrowRight"],shortcutsPage:[controlOrMetaKey2(),"shift",","],aboutPage:[","],escape:["escape"],collapseAll:[controlOrMetaKey2(),"shift","ArrowUp"],expandAll:[controlOrMetaKey2(),"shift","ArrowDown"],remount:["alt","R"]}),addonsShortcuts={};function focusInInput(event){let target=event.target;return/input|textarea/i.test(target.tagName)||target.getAttribute("contenteditable")!==null}var init9=({store:store22,fullAPI,provider})=>{let api={getShortcutKeys(){return store22.getState().shortcuts},getDefaultShortcuts(){return{...defaultShortcuts,...api.getAddonsShortcutDefaults()}},getAddonsShortcuts(){return addonsShortcuts},getAddonsShortcutLabels(){let labels={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{label}])=>{labels[actionName]=label}),labels},getAddonsShortcutDefaults(){let defaults={};return Object.entries(api.getAddonsShortcuts()).forEach(([actionName,{defaultShortcut}])=>{defaults[actionName]=defaultShortcut}),defaults},async setShortcuts(shortcuts){return await store22.setState({shortcuts},{persistence:"permanent"}),shortcuts},async restoreAllDefaultShortcuts(){return api.setShortcuts(api.getDefaultShortcuts())},async setShortcut(action,value2){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[action]:value2}),value2},async setAddonShortcut(addon,shortcut){let shortcuts=api.getShortcutKeys();return await api.setShortcuts({...shortcuts,[`${addon}-${shortcut.actionName}`]:shortcut.defaultShortcut}),addonsShortcuts[`${addon}-${shortcut.actionName}`]=shortcut,shortcut},async restoreDefaultShortcut(action){let defaultShortcut=api.getDefaultShortcuts()[action];return api.setShortcut(action,defaultShortcut)},handleKeydownEvent(event){let shortcut=eventToShortcut(event),shortcuts=api.getShortcutKeys(),matchedFeature=keys(shortcuts).find(feature=>shortcutMatchesShortcut(shortcut,shortcuts[feature]));matchedFeature&&api.handleShortcutFeature(matchedFeature,event)},handleShortcutFeature(feature,event){let{layout:{isFullscreen,showNav,showPanel},ui:{enableShortcuts},storyId}=store22.getState();if(enableShortcuts)switch(event?.preventDefault&&event.preventDefault(),feature){case"escape":{isFullscreen?fullAPI.toggleFullscreen():showNav||fullAPI.toggleNav();break}case"focusNav":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),fullAPI.focusOnUIElement(focusableUIElements.storyListMenu);break}case"search":{isFullscreen&&fullAPI.toggleFullscreen(),showNav||fullAPI.toggleNav(),setTimeout(()=>{fullAPI.focusOnUIElement(focusableUIElements.storySearchField,!0)},0);break}case"focusIframe":{let element=document23.getElementById("storybook-preview-iframe");if(element)try{element.contentWindow.focus()}catch{}break}case"focusPanel":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.focusOnUIElement(focusableUIElements.storyPanelRoot);break}case"nextStory":{fullAPI.jumpToStory(1);break}case"prevStory":{fullAPI.jumpToStory(-1);break}case"nextComponent":{fullAPI.jumpToComponent(1);break}case"prevComponent":{fullAPI.jumpToComponent(-1);break}case"fullScreen":{fullAPI.toggleFullscreen();break}case"togglePanel":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.togglePanel();break}case"toggleNav":{isFullscreen&&(fullAPI.toggleFullscreen(),fullAPI.resetLayout()),fullAPI.toggleNav();break}case"toolbar":{fullAPI.toggleToolbar();break}case"panelPosition":{isFullscreen&&fullAPI.toggleFullscreen(),showPanel||fullAPI.togglePanel(),fullAPI.togglePanelPosition();break}case"aboutPage":{fullAPI.navigate("/settings/about");break}case"shortcutsPage":{fullAPI.navigate("/settings/shortcuts");break}case"collapseAll":{fullAPI.collapseAll();break}case"expandAll":{fullAPI.expandAll();break}case"remount":{fullAPI.emit(FORCE_REMOUNT,{storyId});break}default:addonsShortcuts[feature].action();break}}},{shortcuts:persistedShortcuts=defaultShortcuts}=store22.getState(),state={shortcuts:keys(defaultShortcuts).reduce((acc,key2)=>({...acc,[key2]:persistedShortcuts[key2]||defaultShortcuts[key2]}),defaultShortcuts)};return{api,state,init:()=>{document23.addEventListener("keydown",event=>{focusInInput(event)||api.handleKeydownEvent(event)}),provider.channel.on(PREVIEW_KEYDOWN,data=>{api.handleKeydownEvent(data.event)})}}},url_exports={};__export2(url_exports,{init:()=>init10});var{window:globalWindow}=scope,parseBoolean=value2=>{if(value2==="true"||value2==="1")return!0;if(value2==="false"||value2==="0")return!1},prevParams,initialUrlSupport=({state:{location:location22,path,viewMode,storyId:storyIdFromUrl},singleStory})=>{let{full,panel,nav,shortcuts,addonPanel,tabs,path:queryPath,...otherParams}=queryFromLocation(location22),layout={isFullscreen:parseBoolean(full),showNav:!singleStory&&parseBoolean(nav),showPanel:parseBoolean(panel),panelPosition:["right","bottom"].includes(panel)?panel:void 0,showTabs:parseBoolean(tabs)},ui={enableShortcuts:parseBoolean(shortcuts)},selectedPanel=addonPanel||void 0,storyId=storyIdFromUrl,customQueryParams=dequal2(prevParams,otherParams)?prevParams:otherParams;return prevParams=customQueryParams,{viewMode,layout,ui,selectedPanel,location:location22,path,customQueryParams,storyId}},init10=moduleArgs=>{let{store:store22,navigate,provider,fullAPI}=moduleArgs,navigateTo=(path,queryParams={},options3={})=>{let params=Object.entries(queryParams).filter(([,v2])=>v2).sort(([a2],[b3])=>a2<b3?-1:1).map(([k2,v2])=>`${k2}=${v2}`),to=[path,...params].join("&");return navigate(to,options3)},api={getQueryParam(key2){let{customQueryParams}=store22.getState();return customQueryParams?customQueryParams[key2]:void 0},getUrlState(){let{path,customQueryParams,storyId,url,viewMode}=store22.getState();return{path,queryParams:customQueryParams,storyId,url,viewMode}},setQueryParams(input){let{customQueryParams}=store22.getState(),queryParams={},update2={...customQueryParams,...Object.entries(input).reduce((acc,[key2,value2])=>(value2!==null&&(acc[key2]=value2),acc),queryParams)};dequal2(customQueryParams,update2)||(store22.setState({customQueryParams:update2}),provider.channel.emit(UPDATE_QUERY_PARAMS,update2))},navigateUrl(url,options3){navigate(url,{plain:!0,...options3})}},updateArgsParam=()=>{let{path,queryParams,viewMode}=api.getUrlState();if(viewMode!=="story")return;let currentStory=fullAPI.getCurrentStoryData();if(currentStory?.type!=="story")return;let{args:args2,initialArgs}=currentStory,argsString=buildArgsParam(initialArgs,args2);navigateTo(path,{...queryParams,args:argsString},{replace:!0}),api.setQueryParams({args:argsString})};provider.channel.on(SET_CURRENT_STORY,()=>updateArgsParam());let handleOrId;return provider.channel.on(STORY_ARGS_UPDATED,()=>{"requestIdleCallback"in globalWindow?(handleOrId&&globalWindow.cancelIdleCallback(handleOrId),handleOrId=globalWindow.requestIdleCallback(updateArgsParam,{timeout:1e3})):(handleOrId&&clearTimeout(handleOrId),setTimeout(updateArgsParam,100))}),provider.channel.on(GLOBALS_UPDATED,({globals,initialGlobals})=>{let{path,queryParams}=api.getUrlState(),globalsString=buildArgsParam(initialGlobals,globals);navigateTo(path,{...queryParams,globals:globalsString},{replace:!0}),api.setQueryParams({globals:globalsString})}),provider.channel.on(NAVIGATE_URL,(url,options3)=>{api.navigateUrl(url,options3)}),{api,state:initialUrlSupport(moduleArgs)}},versions_exports={};__export2(versions_exports,{init:()=>init11});var version="0.0.0-pr-24225-sha-97ddc35a",{VERSIONCHECK}=scope,getVersionCheckData=(0,import_memoizerific3.default)(1)(()=>{try{return{...JSON.parse(VERSIONCHECK).data||{}}}catch{return{}}}),init11=({store:store22})=>{let{dismissedVersionNotification}=store22.getState(),state={versions:{current:{version},...getVersionCheckData()},dismissedVersionNotification},api={getCurrentVersion:()=>{let{versions:{current}}=store22.getState();return current},getLatestVersion:()=>{let{versions:{latest,next,current}}=store22.getState();return current&&import_semver.default.prerelease(current.version)&&next?latest&&import_semver.default.gt(latest.version,next.version)?latest:next:latest},versionUpdateAvailable:()=>{let latest=api.getLatestVersion(),current=api.getCurrentVersion();if(latest){if(!latest.version||!current.version)return!0;let actualCurrent=import_semver.default.prerelease(current.version)?`${import_semver.default.major(current.version)}.${import_semver.default.minor(current.version)}.${import_semver.default.patch(current.version)}`:current.version,diff=import_semver.default.diff(actualCurrent,latest.version);return import_semver.default.gt(latest.version,actualCurrent)&&diff!=="patch"&&!diff.includes("pre")}return!1}};return{init:async()=>{let{versions={}}=store22.getState(),{latest,next}=getVersionCheckData();await store22.setState({versions:{...versions,latest,next}})},state,api}},whatsnew_exports={};__export2(whatsnew_exports,{init:()=>init12});var WHATS_NEW_NOTIFICATION_ID="whats-new",init12=({fullAPI,store:store22,provider})=>{let state={whatsNewData:void 0};function setWhatsNewState(newState){store22.setState({whatsNewData:newState}),state.whatsNewData=newState}let api={isWhatsNewUnread(){return state.whatsNewData?.status==="SUCCESS"&&!state.whatsNewData.postIsRead},whatsNewHasBeenRead(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewCache({lastReadPost:state.whatsNewData.url}),setWhatsNewState({...state.whatsNewData,postIsRead:!0}),fullAPI.clearNotification(WHATS_NEW_NOTIFICATION_ID))},toggleWhatsNewNotifications(){state.whatsNewData?.status==="SUCCESS"&&(setWhatsNewState({...state.whatsNewData,disableWhatsNewNotifications:!state.whatsNewData.disableWhatsNewNotifications}),provider.channel.emit(TOGGLE_WHATS_NEW_NOTIFICATIONS,{disableWhatsNewNotifications:state.whatsNewData.disableWhatsNewNotifications}))}};function getLatestWhatsNewPost(){return provider.channel.emit(REQUEST_WHATS_NEW_DATA),new Promise(resolve=>provider.channel.once(RESULT_WHATS_NEW_DATA,({data})=>resolve(data)))}function setWhatsNewCache(cache){provider.channel.emit(SET_WHATS_NEW_CACHE,cache)}return{init:async()=>{if(scope.CONFIG_TYPE!=="DEVELOPMENT")return;let whatsNewData=await getLatestWhatsNewPost();setWhatsNewState(whatsNewData);let urlState=fullAPI.getUrlState();!(urlState?.path==="/onboarding"||urlState.queryParams?.onboarding==="true")&&whatsNewData.status==="SUCCESS"&&!whatsNewData.disableWhatsNewNotifications&&whatsNewData.showNotification&&fullAPI.addNotification({id:WHATS_NEW_NOTIFICATION_ID,link:"/settings/whats-new",content:{headline:whatsNewData.excerpt,subHeadline:"Click to learn what's new in Storybook"},icon:{name:"hearthollow"},onClear({dismissed}){dismissed&&setWhatsNewCache({lastDismissedPost:whatsNewData.url})}})},state,api}},globals_exports={};__export2(globals_exports,{init:()=>init13});var init13=({store:store22,fullAPI,provider})=>{let api={getGlobals(){return store22.getState().globals},getGlobalTypes(){return store22.getState().globalTypes},updateGlobals(newGlobals){provider.channel.emit(UPDATE_GLOBALS,{globals:newGlobals,options:{target:"storybook-preview-iframe"}})}},state={globals:{},globalTypes:{}},updateGlobals=globals=>{let currentGlobals=store22.getState()?.globals;dequal2(globals,currentGlobals)||store22.setState({globals})};return provider.channel.on(GLOBALS_UPDATED,function({globals}){let{ref}=getEventMetadata(this,fullAPI);ref?logger.warn("received a GLOBALS_UPDATED from a non-local ref. This is not currently supported."):updateGlobals(globals)}),provider.channel.on(SET_GLOBALS,function({globals,globalTypes}){let{ref}=getEventMetadata(this,fullAPI),currentGlobals=store22.getState()?.globals;ref?Object.keys(globals).length>0&&logger.warn("received globals from a non-local ref. This is not currently supported."):store22.setState({globals,globalTypes}),currentGlobals&&Object.keys(currentGlobals).length!==0&&!dequal2(globals,currentGlobals)&&api.updateGlobals(currentGlobals)}),{api,state}};function mockChannel(){let transport={setHandler:()=>{},send:()=>{}};return new Channel({transport})}var AddonStore=class{constructor(){this.loaders={},this.elements={},this.config={},this.getChannel=()=>(this.channel||this.setChannel(mockChannel()),this.channel),this.getServerChannel=()=>{if(!this.serverChannel)throw new Error("Accessing non-existent serverChannel");return this.serverChannel},this.ready=()=>this.promise,this.hasChannel=()=>!!this.channel,this.hasServerChannel=()=>!!this.serverChannel,this.setChannel=channel=>{this.channel=channel,this.resolve()},this.setServerChannel=channel=>{this.serverChannel=channel},this.addPanel=(id,options3)=>{this.add(id,{type:Addon_TypesEnum.PANEL,...options3})},this.setConfig=value2=>{Object.assign(this.config,value2),this.hasChannel()?this.getChannel().emit(SET_CONFIG,this.config):this.ready().then(channel=>{channel.emit(SET_CONFIG,this.config)})},this.getConfig=()=>this.config,this.register=(id,callback)=>{this.loaders[id]&&logger.warn(`${id} was loaded twice, this could have bad side-effects`),this.loaders[id]=callback},this.loadAddons=api=>{Object.values(this.loaders).forEach(value2=>value2(api))},this.promise=new Promise(res=>{this.resolve=()=>res(this.getChannel())})}getElements(type){return this.elements[type]||(this.elements[type]={}),this.elements[type]}add(id,addon){let{type}=addon,collection=this.getElements(type);collection[id]={id,...addon}}},KEY2="__STORYBOOK_ADDONS_MANAGER";function getAddonsStore(){return scope[KEY2]||(scope[KEY2]=new AddonStore),scope[KEY2]}var addons=getAddonsStore(),{ActiveTabs:ActiveTabs2}=layout_exports,ManagerContext=createContext2({api:void 0,state:initial_state_default({})}),combineParameters=(...parameterSets)=>(0,import_mergeWith.default)({},...parameterSets,(objValue,srcValue)=>{if(Array.isArray(srcValue))return srcValue}),ManagerProvider=class extends import_react2.Component{constructor(props){super(props),this.api={},this.initModules=()=>{this.modules.forEach(module=>{"init"in module&&module.init()})};let{location:location22,path,refId,viewMode=props.docsOptions.docsMode?"docs":props.viewMode,singleStory,storyId,docsOptions,navigate}=props,store22=new Store({getState:()=>this.state,setState:(stateChange,callback)=>this.setState(stateChange,callback)}),routeData={location:location22,path,viewMode,singleStory,storyId,refId},optionsData={docsOptions};this.state=store22.getInitialState(initial_state_default({...routeData,...optionsData}));let apiData={navigate,store:store22,provider:props.provider};this.modules=[provider_exports,channel_exports,addons_exports,layout_exports,notifications_exports,settings_exports,shortcuts_exports,stories_exports,refs_exports,globals_exports,url_exports,versions_exports,whatsnew_exports].map(m3=>m3.init({...routeData,...optionsData,...apiData,state:this.state,fullAPI:this.api}));let state=initial_state_default(this.state,...this.modules.map(m3=>m3.state)),api=Object.assign(this.api,{navigate},...this.modules.map(m3=>m3.api));this.state=state,this.api=api}static getDerivedStateFromProps(props,state){return state.path!==props.path?{...state,location:props.location,path:props.path,refId:props.refId,viewMode:props.viewMode,storyId:props.storyId}:null}shouldComponentUpdate(nextProps,nextState){let prevState=this.state,prevProps=this.props;return prevState!==nextState||prevProps.path!==nextProps.path}render(){let{children}=this.props,value2={state:this.state,api:this.api};return import_react2.default.createElement(EffectOnMount,{effect:this.initModules},import_react2.default.createElement(ManagerContext.Provider,{value:value2},import_react2.default.createElement(ManagerConsumer,null,children)))}};ManagerProvider.displayName="Manager";var EffectOnMount=({children,effect})=>(import_react2.default.useEffect(effect,[]),children),defaultFilter=c3=>c3;function ManagerConsumer({filter=defaultFilter,children}){let c3=(0,import_react2.useContext)(ManagerContext),renderer=(0,import_react2.useRef)(children),filterer=(0,import_react2.useRef)(filter);if(typeof renderer.current!="function")return import_react2.default.createElement(import_react2.Fragment,null,renderer.current);let data=filterer.current(c3),l2=(0,import_react2.useMemo)(()=>[...Object.entries(data).reduce((acc,keyval)=>acc.concat(keyval),[])],[c3.state]);return(0,import_react2.useMemo)(()=>{let Child=renderer.current;return import_react2.default.createElement(Child,{...data})},l2)}function useStorybookState(){let{state}=(0,import_react2.useContext)(ManagerContext);return{...state,get storiesHash(){return deprecate("state.storiesHash is deprecated, please use state.index"),this.index||{}},get storiesConfigured(){return deprecate("state.storiesConfigured is deprecated, please use state.previewInitialized"),this.previewInitialized},get storiesFailed(){return deprecate("state.storiesFailed is deprecated, please use state.indexError"),this.indexError}}}function useStorybookApi(){let{api}=(0,import_react2.useContext)(ManagerContext);return api}function orDefault(fromStore,defaultState2){return typeof fromStore>"u"?defaultState2:fromStore}var useChannel=(eventMap,deps=[])=>{let api=useStorybookApi();return(0,import_react2.useEffect)(()=>(Object.entries(eventMap).forEach(([type,listener])=>api.on(type,listener)),()=>{Object.entries(eventMap).forEach(([type,listener])=>api.off(type,listener))}),deps),api.emit};function useStoryPrepared(storyId){return useStorybookApi().isPrepared(storyId)}function useParameter(parameterKey,defaultValue){let result2=useStorybookApi().getCurrentParameter(parameterKey);return orDefault(result2,defaultValue)}globalThis.STORYBOOK_ADDON_STATE={};var{STORYBOOK_ADDON_STATE}=globalThis;function useSharedState(stateId,defaultState2){let api=useStorybookApi(),existingState=api.getAddonState(stateId)||STORYBOOK_ADDON_STATE[stateId],state=orDefault(existingState,STORYBOOK_ADDON_STATE[stateId]?STORYBOOK_ADDON_STATE[stateId]:defaultState2),quicksync=!1;state===defaultState2&&defaultState2!==void 0&&(STORYBOOK_ADDON_STATE[stateId]=defaultState2,quicksync=!0),(0,import_react2.useEffect)(()=>{quicksync&&api.setAddonState(stateId,defaultState2)});let setState=(s2,options3)=>{let result2=api.setAddonState(stateId,s2,options3);return STORYBOOK_ADDON_STATE[stateId]=result2,result2},allListeners=(0,import_react2.useMemo)(()=>{let stateChangeHandlers={[`${SHARED_STATE_CHANGED}-client-${stateId}`]:setState,[`${SHARED_STATE_SET}-client-${stateId}`]:setState},stateInitializationHandlers={[SET_STORIES]:async()=>{let currentState=api.getAddonState(stateId);currentState?(STORYBOOK_ADDON_STATE[stateId]=currentState,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)):STORYBOOK_ADDON_STATE[stateId]?(await setState(STORYBOOK_ADDON_STATE[stateId]),api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,STORYBOOK_ADDON_STATE[stateId])):defaultState2!==void 0&&(await setState(defaultState2),STORYBOOK_ADDON_STATE[stateId]=defaultState2,api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,defaultState2))},[STORY_CHANGED]:()=>{let currentState=api.getAddonState(stateId);currentState!==void 0&&api.emit(`${SHARED_STATE_SET}-manager-${stateId}`,currentState)}};return{...stateChangeHandlers,...stateInitializationHandlers}},[stateId]),emit=useChannel(allListeners);return[state,async(newStateOrMerger,options3)=>{let result2=await setState(newStateOrMerger,options3);emit(`${SHARED_STATE_CHANGED}-manager-${stateId}`,result2)}]}function useAddonState(addonId,defaultState2){return useSharedState(addonId,defaultState2)}function useArgs(){let{getCurrentStoryData,updateStoryArgs,resetStoryArgs}=useStorybookApi(),data=getCurrentStoryData(),args2=data?.type==="story"?data.args:{},updateArgs=(0,import_react2.useCallback)(newArgs=>updateStoryArgs(data,newArgs),[data,updateStoryArgs]),resetArgs=(0,import_react2.useCallback)(argNames=>resetStoryArgs(data,argNames),[data,resetStoryArgs]);return[args2,updateArgs,resetArgs]}function useGlobals(){let api=useStorybookApi();return[api.getGlobals(),api.updateGlobals]}function useGlobalTypes(){return useStorybookApi().getGlobalTypes()}function useCurrentStory(){let{getCurrentStoryData}=useStorybookApi();return getCurrentStoryData()}function useArgTypes(){let current=useCurrentStory();return current?.type==="story"&¤t.argTypes||{}}var StorybookError=class extends Error{constructor(){super(...arguments),this.data={},this.documentation=!1,this.fromStorybook=!0}get name(){let paddedCode=String(this.code).padStart(4,"0");return`SB_${this.category}_${paddedCode}`}get message(){let page;return this.documentation===!0?page=`https://storybook.js.org/error/${this.name}`:typeof this.documentation=="string"?page=this.documentation:Array.isArray(this.documentation)&&(page=`
|
|
54
54
|
${this.documentation.map(doc=>` - ${doc}`).join(`
|
|
55
55
|
`)}`),this.template()+(page!=null?`
|
|
56
56
|
|
|
@@ -395,7 +395,7 @@ To pass a single animation please supply them in simple values, e.g. animation('
|
|
|
395
395
|
`,77:`remToPx expects a value in "rem" but you provided it in "%s".
|
|
396
396
|
|
|
397
397
|
`,78:`base must be set in "px" or "%" but you set it in "%s".
|
|
398
|
-
`};function format2(){for(var _len=arguments.length,args2=new Array(_len),_key=0;_key<_len;_key++)args2[_key]=arguments[_key];var a2=args2[0],b3=[],c3;for(c3=1;c3<args2.length;c3+=1)b3.push(args2[c3]);return b3.forEach(function(d2){a2=a2.replace(/%[a-z]/,d2)}),a2}var PolishedError2=function(_Error){_inheritsLoose2(PolishedError3,_Error);function PolishedError3(code){for(var _this,_len2=arguments.length,args2=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args2[_key2-1]=arguments[_key2];return _this=_Error.call(this,format2.apply(void 0,[ERRORS2[code]].concat(args2)))||this,_assertThisInitialized2(_this)}return PolishedError3}(_wrapNativeSuper2(Error));function colorToInt2(color2){return Math.round(color2*255)}function convertToInt2(red,green,blue){return colorToInt2(red)+","+colorToInt2(green)+","+colorToInt2(blue)}function hslToRgb2(hue,saturation,lightness,convert){if(convert===void 0&&(convert=convertToInt2),saturation===0)return convert(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2,finalRed=red+lightnessModification,finalGreen=green+lightnessModification,finalBlue=blue+lightnessModification;return convert(finalRed,finalGreen,finalBlue)}var namedColorMap2={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function nameToHex2(color2){if(typeof color2!="string")return color2;var normalizedColorName=color2.toLowerCase();return namedColorMap2[normalizedColorName]?"#"+namedColorMap2[normalizedColorName]:color2}var hexRegex2=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex2=/^#[a-fA-F0-9]{8}$/,reducedHexRegex2=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex2=/^#[a-fA-F0-9]{4}$/,rgbRegex2=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,rgbaRegex2=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,hslRegex2=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,hslaRegex2=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function parseToRgb2(color2){if(typeof color2!="string")throw new PolishedError2(3);var normalizedColor=nameToHex2(color2);if(normalizedColor.match(hexRegex2))return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex2)){var alpha=parseFloat((parseInt(""+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16),alpha}}if(normalizedColor.match(reducedHexRegex2))return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex2)){var _alpha=parseFloat((parseInt(""+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex2.exec(normalizedColor);if(rgbMatched)return{red:parseInt(""+rgbMatched[1],10),green:parseInt(""+rgbMatched[2],10),blue:parseInt(""+rgbMatched[3],10)};var rgbaMatched=rgbaRegex2.exec(normalizedColor.substring(0,50));if(rgbaMatched)return{red:parseInt(""+rgbaMatched[1],10),green:parseInt(""+rgbaMatched[2],10),blue:parseInt(""+rgbaMatched[3],10),alpha:parseFloat(""+rgbaMatched[4])>1?parseFloat(""+rgbaMatched[4])/100:parseFloat(""+rgbaMatched[4])};var hslMatched=hslRegex2.exec(normalizedColor);if(hslMatched){var hue=parseInt(""+hslMatched[1],10),saturation=parseInt(""+hslMatched[2],10)/100,lightness=parseInt(""+hslMatched[3],10)/100,rgbColorString="rgb("+hslToRgb2(hue,saturation,lightness)+")",hslRgbMatched=rgbRegex2.exec(rgbColorString);if(!hslRgbMatched)throw new PolishedError2(4,normalizedColor,rgbColorString);return{red:parseInt(""+hslRgbMatched[1],10),green:parseInt(""+hslRgbMatched[2],10),blue:parseInt(""+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex2.exec(normalizedColor.substring(0,50));if(hslaMatched){var _hue=parseInt(""+hslaMatched[1],10),_saturation=parseInt(""+hslaMatched[2],10)/100,_lightness=parseInt(""+hslaMatched[3],10)/100,_rgbColorString="rgb("+hslToRgb2(_hue,_saturation,_lightness)+")",_hslRgbMatched=rgbRegex2.exec(_rgbColorString);if(!_hslRgbMatched)throw new PolishedError2(4,normalizedColor,_rgbColorString);return{red:parseInt(""+_hslRgbMatched[1],10),green:parseInt(""+_hslRgbMatched[2],10),blue:parseInt(""+_hslRgbMatched[3],10),alpha:parseFloat(""+hslaMatched[4])>1?parseFloat(""+hslaMatched[4])/100:parseFloat(""+hslaMatched[4])}}throw new PolishedError2(5)}var reduceHexValue2=function(value2){return value2.length===7&&value2[1]===value2[2]&&value2[3]===value2[4]&&value2[5]===value2[6]?"#"+value2[1]+value2[3]+value2[5]:value2},reduceHexValue$12=reduceHexValue2;function numberToHex2(value2){var hex=value2.toString(16);return hex.length===1?"0"+hex:hex}function rgb2(value2,green,blue){if(typeof value2=="number"&&typeof green=="number"&&typeof blue=="number")return reduceHexValue$12("#"+numberToHex2(value2)+numberToHex2(green)+numberToHex2(blue));if(typeof value2=="object"&&green===void 0&&blue===void 0)return reduceHexValue$12("#"+numberToHex2(value2.red)+numberToHex2(value2.green)+numberToHex2(value2.blue));throw new PolishedError2(6)}function rgba2(firstValue,secondValue,thirdValue,fourthValue){if(typeof firstValue=="string"&&typeof secondValue=="number"){var rgbValue=parseToRgb2(firstValue);return"rgba("+rgbValue.red+","+rgbValue.green+","+rgbValue.blue+","+secondValue+")"}else{if(typeof firstValue=="number"&&typeof secondValue=="number"&&typeof thirdValue=="number"&&typeof fourthValue=="number")return fourthValue>=1?rgb2(firstValue,secondValue,thirdValue):"rgba("+firstValue+","+secondValue+","+thirdValue+","+fourthValue+")";if(typeof firstValue=="object"&&secondValue===void 0&&thirdValue===void 0&&fourthValue===void 0)return firstValue.alpha>=1?rgb2(firstValue.red,firstValue.green,firstValue.blue):"rgba("+firstValue.red+","+firstValue.green+","+firstValue.blue+","+firstValue.alpha+")"}throw new PolishedError2(7)}function curried2(f3,length,acc){return function(){var combined=acc.concat(Array.prototype.slice.call(arguments));return combined.length>=length?f3.apply(this,combined):curried2(f3,length,combined)}}function curry2(f3){return curried2(f3,f3.length,[])}function guard2(lowerBoundary,upperBoundary,value2){return Math.max(lowerBoundary,Math.min(upperBoundary,value2))}function transparentize2(amount,color2){if(color2==="transparent")return color2;var parsedColor=parseToRgb2(color2),alpha=typeof parsedColor.alpha=="number"?parsedColor.alpha:1,colorWithAlpha=_extends3({},parsedColor,{alpha:guard2(0,1,+(alpha*100-parseFloat(amount)*100).toFixed(2)/100)});return rgba2(colorWithAlpha)}var curriedTransparentize2=curry2(transparentize2),curriedTransparentize$12=curriedTransparentize2;var sharedStyles={height:10,width:10,marginLeft:-5,marginRight:-5,display:"block"},Icon=newStyled(Icons)(sharedStyles,({theme})=>({color:theme.color.secondary})),SidebarIconButton=newStyled(IconButton)(({highlighted,active,theme})=>({position:"relative",overflow:"visible",color:theme.textMutedColor,marginTop:0,zIndex:1,...highlighted&&{"&:before, &:after":{content:'""',position:"absolute",top:6,right:6,width:5,height:5,zIndex:2,borderRadius:"50%",background:theme.background.app,border:`1px solid ${theme.background.app}`,boxShadow:`0 0 0 2px ${theme.background.app}`},"&:after":{background:theme.color.positive,border:"1px solid rgba(0, 0, 0, 0.1)",boxShadow:`0 0 0 2px ${theme.background.app}`},"&:hover:after, &:focus-visible:after":{boxShadow:`0 0 0 2px ${curriedTransparentize$12(.88,theme.color.secondary)}`}},...active&&{color:theme.color.secondary}})),Img3=newStyled.img(sharedStyles),Placeholder2=newStyled.div(sharedStyles);var SidebarMenuList=({menu,onHide})=>{let links=(0,import_react11.useMemo)(()=>menu.map(({onClick,...rest})=>({...rest,onClick:(event,item)=>{onClick&&onClick(event,item),onHide()}})),[menu]);return import_react11.default.createElement(TooltipLinkList,{links})},SidebarMenu=({menu,isHighlighted})=>{let[isTooltipVisible,setIsTooltipVisible]=(0,import_react11.useState)(!1);return import_react11.default.createElement(WithTooltip,{placement:"top",closeOnOutsideClick:!0,tooltip:({onHide})=>import_react11.default.createElement(SidebarMenuList,{onHide,menu}),onVisibleChange:setIsTooltipVisible},import_react11.default.createElement(SidebarIconButton,{title:"Shortcuts","aria-label":"Shortcuts",highlighted:isHighlighted,active:isTooltipVisible},import_react11.default.createElement(Icons,{icon:"cog"})))};var BrandArea=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2,fontWeight:theme.typography.weight.bold,color:theme.color.defaultText,marginRight:20,display:"flex",width:"100%",alignItems:"center",minHeight:22,"& > * > *":{maxWidth:"100%"},"& > *":{maxWidth:"100%",height:"auto",display:"block",flex:"1 1 auto"}})),HeadingWrapper=newStyled.div({display:"flex",alignItems:"center",justifyContent:"space-between",position:"relative",minHeight:28}),SkipToCanvasLink=newStyled(Button)(({theme})=>({display:"none","@media (min-width: 600px)":{display:"block",position:"absolute",fontSize:theme.typography.size.s1,zIndex:3,border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",opacity:0,transition:"opacity 150ms ease-out","&:focus":{width:"100%",height:"inherit",padding:"10px 15px",margin:0,clip:"unset",overflow:"unset",opacity:1}}})),Heading=({menuHighlighted=!1,menu,skipLinkHref,extra,isLoading,...props})=>import_react12.default.createElement(HeadingWrapper,{...props},skipLinkHref&&import_react12.default.createElement(SkipToCanvasLink,{secondary:!0,isLink:!0,tabIndex:0,href:skipLinkHref},"Skip to canvas"),import_react12.default.createElement(BrandArea,null,import_react12.default.createElement(Brand,null)),isLoading?null:extra.map(({id,render:Render})=>import_react12.default.createElement(Render,{key:id})),import_react12.default.createElement(SidebarMenu,{menu,isHighlighted:menuHighlighted}));var import_react23=__toESM(require_react());var import_react20=__toESM(require_react());var import_react14=__toESM(require_react());var import_react13=__toESM(require_react());var LOADER_SEQUENCE=[0,0,1,1,2,3,3,3,1,1,1,2,2,2,3],Loadingitem=newStyled.div({cursor:"progress",fontSize:13,height:"16px",marginTop:4,marginBottom:4,alignItems:"center",overflow:"hidden"},({depth=0})=>({marginLeft:depth*15,maxWidth:85-depth*5}),({theme})=>theme.animation.inlineGlow,({theme})=>({background:theme.appBorderColor})),Contained=newStyled.div({display:"flex",flexDirection:"column",paddingLeft:20,paddingRight:20}),Loader2=({size})=>{let repeats=Math.ceil(size/LOADER_SEQUENCE.length),sequence=Array.from(Array(repeats)).fill(LOADER_SEQUENCE).flat().slice(0,size);return import_react13.default.createElement(import_react13.Fragment,null,sequence.map((depth,index2)=>import_react13.default.createElement(Loadingitem,{depth,key:index2})))};var{window:globalWindow2}=scope,TextStyle=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2-1,lineHeight:"20px",margin:0})),Text=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2-1,lineHeight:"20px",margin:0,code:{fontSize:theme.typography.size.s1},ul:{paddingLeft:20,marginTop:8,marginBottom:8}})),ErrorDisplay=newStyled.pre({width:420,boxSizing:"border-box",borderRadius:8,overflow:"auto",whiteSpace:"pre"},({theme})=>({color:theme.color.dark})),AuthBlock=({loginUrl,id})=>{let[isAuthAttempted,setAuthAttempted]=(0,import_react14.useState)(!1),refresh=(0,import_react14.useCallback)(()=>{globalWindow2.document.location.reload()},[]),open=(0,import_react14.useCallback)(e3=>{e3.preventDefault();let childWindow=globalWindow2.open(loginUrl,`storybook_auth_${id}`,"resizable,scrollbars"),timer=setInterval(()=>{childWindow?childWindow.closed&&(clearInterval(timer),setAuthAttempted(!0)):(logger.error("unable to access loginUrl window"),clearInterval(timer))},1e3)},[]);return import_react14.default.createElement(Contained,null,import_react14.default.createElement(Spaced,null,isAuthAttempted?import_react14.default.createElement(import_react14.Fragment,null,import_react14.default.createElement(Text,null,"Authentication on ",import_react14.default.createElement("strong",null,loginUrl)," concluded. Refresh the page to fetch this Storybook."),import_react14.default.createElement("div",null,import_react14.default.createElement(Button,{small:!0,gray:!0,onClick:refresh},import_react14.default.createElement(Icons,{icon:"sync"}),"Refresh now"))):import_react14.default.createElement(import_react14.Fragment,null,import_react14.default.createElement(Text,null,"Sign in to browse this Storybook."),import_react14.default.createElement("div",null,import_react14.default.createElement(Button,{small:!0,gray:!0,onClick:open},import_react14.default.createElement(Icons,{icon:"lock"}),"Sign in")))))},ErrorBlock=({error})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(Spaced,null,import_react14.default.createElement(TextStyle,null,"Oh no! Something went wrong loading this Storybook.",import_react14.default.createElement("br",null),import_react14.default.createElement(WithTooltip,{tooltip:import_react14.default.createElement(ErrorDisplay,null,import_react14.default.createElement(ErrorFormatter,{error}))},import_react14.default.createElement(Link22,{isButton:!0},"View error ",import_react14.default.createElement(Icons,{icon:"arrowdown"})))," ",import_react14.default.createElement(Link22,{withArrow:!0,href:"https://storybook.js.org/docs",cancel:!1,target:"_blank"},"View docs")))),FlexSpaced=newStyled(Spaced)({display:"flex"}),WideSpaced=newStyled(Spaced)({flex:1}),EmptyBlock=({isMain})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(FlexSpaced,{col:1},import_react14.default.createElement(WideSpaced,null,import_react14.default.createElement(Text,null,isMain?import_react14.default.createElement(import_react14.default.Fragment,null,"Oh no! Your Storybook is empty. Possible reasons why:",import_react14.default.createElement("ul",null,import_react14.default.createElement("li",null,"The glob specified in ",import_react14.default.createElement("code",null,"main.js")," isn't correct."),import_react14.default.createElement("li",null,"No stories are defined in your story files."),import_react14.default.createElement("li",null,"You're using filter-functions, and all stories are filtered away."))," "):import_react14.default.createElement(import_react14.default.Fragment,null,"Yikes! Something went wrong loading these stories."))))),LoaderBlock=({isMain})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(Loader2,{size:isMain?17:5}));var import_react15=__toESM(require_react());var{document:document4,window:globalWindow3}=scope,IndicatorPlacement=newStyled.aside(({theme})=>({height:16,display:"flex",alignItems:"center","& > * + *":{marginLeft:theme.layoutMargin}})),IndicatorClickTarget=newStyled.button(({theme})=>({height:20,width:20,padding:0,margin:0,display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",outline:"none",border:"1px solid transparent",borderRadius:"100%",cursor:"pointer",color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"&:hover":{color:theme.barSelectedColor},"&:focus":{color:theme.barSelectedColor,borderColor:theme.color.secondary},svg:{height:10,width:10,transition:"all 150ms ease-out",color:"inherit"}})),MessageTitle=newStyled.span(({theme})=>({fontWeight:theme.typography.weight.bold})),Message3=newStyled.a(({theme})=>({textDecoration:"none",lineHeight:"16px",padding:15,display:"flex",flexDirection:"row",alignItems:"flex-start",color:theme.color.defaultText,"&:not(:last-child)":{borderBottom:`1px solid ${theme.appBorderColor}`},"&:hover":{background:theme.background.hoverable,color:theme.color.darker},"&:link":{color:theme.color.darker},"&:active":{color:theme.color.darker},"&:focus":{color:theme.color.darker},"& > *":{flex:1},"& > svg":{marginTop:3,width:16,height:16,marginRight:10,flex:"unset"}})),MessageWrapper2=newStyled.div({width:280,boxSizing:"border-box",borderRadius:8,overflow:"hidden"}),BlueIcon=newStyled(Icons)(({theme})=>({color:theme.color.secondary})),YellowIcon=newStyled(Icons)(({theme})=>({color:theme.color.gold})),RedIcon=newStyled(Icons)(({theme})=>({color:theme.color.negative})),GreenIcon=newStyled(Icons)(({theme})=>({color:theme.color.green})),Version=newStyled.div(({theme})=>({display:"flex",alignItems:"center",fontSize:theme.typography.size.s1,fontWeight:theme.typography.weight.regular,color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"& > * + *":{marginLeft:4},svg:{height:10,width:10}})),CurrentVersion=({url,versions})=>{let currentVersionId=(0,import_react15.useMemo)(()=>{let c3=Object.entries(versions).find(([k2,v2])=>v2===url);return c3&&c3[0]?c3[0]:"current"},[url,versions]);return import_react15.default.createElement(Version,null,import_react15.default.createElement("span",null,currentVersionId),import_react15.default.createElement(Icons,{icon:"arrowdown"}))},RefIndicator=import_react15.default.memo((0,import_react15.forwardRef)(({state,...ref},forwardedRef)=>{let api=useStorybookApi(),list=(0,import_react15.useMemo)(()=>Object.values(ref.index||{}),[ref.index]),componentCount=(0,import_react15.useMemo)(()=>list.filter(v2=>v2.type==="component").length,[list]),leafCount=(0,import_react15.useMemo)(()=>list.filter(v2=>v2.type==="docs"||v2.type==="story").length,[list]);return import_react15.default.createElement(IndicatorPlacement,{ref:forwardedRef},import_react15.default.createElement(WithTooltip,{placement:"bottom-start",trigger:"click",closeOnOutsideClick:!0,tooltip:import_react15.default.createElement(MessageWrapper2,null,import_react15.default.createElement(Spaced,{row:0},state==="loading"&&import_react15.default.createElement(LoadingMessage,{url:ref.url}),(state==="error"||state==="empty")&&import_react15.default.createElement(ErrorOccurredMessage,{url:ref.url}),state==="ready"&&import_react15.default.createElement(ReadyMessage,{url:ref.url,componentCount,leafCount}),state==="auth"&&import_react15.default.createElement(LoginRequiredMessage,{...ref}),ref.type==="auto-inject"&&state!=="error"&&import_react15.default.createElement(PerformanceDegradedMessage,null),state!=="loading"&&import_react15.default.createElement(ReadDocsMessage,null)))},import_react15.default.createElement(IndicatorClickTarget,{"data-action":"toggle-indicator","aria-label":"toggle indicator"},import_react15.default.createElement(Icons,{icon:"globe"}))),ref.versions&&Object.keys(ref.versions).length?import_react15.default.createElement(WithTooltip,{placement:"bottom-start",trigger:"click",closeOnOutsideClick:!0,tooltip:tooltip=>import_react15.default.createElement(TooltipLinkList,{links:Object.entries(ref.versions).map(([id,href])=>({icon:href===ref.url?"check":void 0,id,title:id,href,onClick:(event,item)=>{event.preventDefault(),api.changeRefVersion(ref.id,item.href),tooltip.onHide()}}))})},import_react15.default.createElement(CurrentVersion,{url:ref.url,versions:ref.versions})):null)})),ReadyMessage=({url,componentCount,leafCount})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(BlueIcon,{icon:"globe"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"View external Storybook"),import_react15.default.createElement("div",null,"Explore ",componentCount," components and ",leafCount," stories in a new browser tab."))),LoginRequiredMessage=({loginUrl,id})=>{let open=(0,import_react15.useCallback)(e3=>{e3.preventDefault();let childWindow=globalWindow3.open(loginUrl,`storybook_auth_${id}`,"resizable,scrollbars"),timer=setInterval(()=>{childWindow?childWindow.closed&&(clearInterval(timer),document4.location.reload()):clearInterval(timer)},1e3)},[]);return import_react15.default.createElement(Message3,{onClick:open},import_react15.default.createElement(YellowIcon,{icon:"lock"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Log in required"),import_react15.default.createElement("div",null,"You need to authenticate to view this Storybook's components.")))},ReadDocsMessage=()=>import_react15.default.createElement(Message3,{href:"https://storybook.js.org/docs/react/sharing/storybook-composition",target:"_blank"},import_react15.default.createElement(GreenIcon,{icon:"document"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Read Composition docs"),import_react15.default.createElement("div",null,"Learn how to combine multiple Storybooks into one."))),ErrorOccurredMessage=({url})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(RedIcon,{icon:"alert"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Something went wrong"),import_react15.default.createElement("div",null,"This external Storybook didn't load. Debug it in a new tab now."))),LoadingMessage=({url})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(BlueIcon,{icon:"time"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Please wait"),import_react15.default.createElement("div",null,"This Storybook is loading."))),PerformanceDegradedMessage=()=>import_react15.default.createElement(Message3,{href:"https://storybook.js.org/docs/react/sharing/storybook-composition#improve-your-storybook-composition",target:"_blank"},import_react15.default.createElement(YellowIcon,{icon:"lightning"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Reduce lag"),import_react15.default.createElement("div",null,"Learn how to speed up Composition performance.")));var import_react19=__toESM(require_react());var import_react16=__toESM(require_react()),CollapseIcon2=newStyled.span(({theme,isExpanded})=>({display:"inline-block",width:0,height:0,marginLeft:8,marginRight:5,color:curriedTransparentize$12(.4,theme.textMutedColor),borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid",transform:isExpanded?"rotateZ(90deg)":"none",transition:"transform .1s ease-out"})),iconColors={light:{document:"#ff8300",docsModeDocument:"secondary",bookmarkhollow:"seafoam",component:"secondary",folder:"ultraviolet"},dark:{document:"gold",docsModeDocument:"secondary",bookmarkhollow:"seafoam",component:"secondary",folder:"primary"}},isColor=(theme,color2)=>color2 in theme.color,TypeIcon=newStyled(Icons)({width:12,height:12,marginRight:5,flex:"0 0 auto"},({theme,icon,symbol=icon,docsMode})=>{let color2=(theme.base==="dark"?iconColors.dark:iconColors.light)[docsMode&&symbol==="document"?"docsModeDocument":symbol];return{color:isColor(theme,color2)?theme.color[color2]:color2}}),BranchNode=newStyled.button(({theme,depth=0,isExpandable=!1})=>({width:"100%",border:"none",cursor:"pointer",display:"flex",alignItems:"start",textAlign:"left",padding:3,paddingLeft:`${(isExpandable?2:18)+depth*16}px`,color:"inherit",fontSize:`${theme.typography.size.s2-1}px`,background:"transparent","&:hover, &:focus":{background:theme.background.hoverable,outline:"none"}})),LeafNode=newStyled.a(({theme,depth=0})=>({cursor:"pointer",color:"inherit",display:"flex",flex:1,alignItems:"start",padding:3,paddingLeft:`${18+depth*16}px`,fontSize:`${theme.typography.size.s2-1}px`,textDecoration:"none"})),Path=newStyled.span(({theme})=>({display:"grid",justifyContent:"start",gridAutoColumns:"auto",gridAutoFlow:"column",color:theme.textMutedColor,fontSize:`${theme.typography.size.s1-1}px`,"& > span":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& > span + span":{position:"relative",marginLeft:4,paddingLeft:7,"&:before":{content:"'/'",position:"absolute",left:0}}})),RootNode=newStyled.div(({theme})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 20px",marginTop:16,marginBottom:4,fontSize:`${theme.typography.size.s1-1}px`,fontWeight:theme.typography.weight.bold,lineHeight:"16px",minHeight:20,letterSpacing:"0.35em",textTransform:"uppercase",color:theme.textMutedColor})),Wrapper3=newStyled.div({display:"flex",alignItems:"center"}),InvisibleText=newStyled.p({margin:0,width:0}),IconsWrapper=({children})=>import_react16.default.createElement(Wrapper3,null,import_react16.default.createElement(InvisibleText,null,"\xA0"),children),GroupNode=import_react16.default.memo(function({children,isExpanded=!1,isExpandable=!1,...props}){return import_react16.default.createElement(BranchNode,{isExpandable,tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,isExpandable?import_react16.default.createElement(CollapseIcon2,{isExpanded}):null,import_react16.default.createElement(TypeIcon,{icon:"folder",useSymbol:!0,color:"primary"})),children)}),ComponentNode=import_react16.default.memo(function({theme,children,isExpanded,isExpandable,isSelected,...props}){return import_react16.default.createElement(BranchNode,{isExpandable,tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,isExpandable&&import_react16.default.createElement(CollapseIcon2,{isExpanded}),import_react16.default.createElement(TypeIcon,{icon:"component",useSymbol:!0,color:"secondary"})),children)}),DocumentNode=import_react16.default.memo(function({theme,children,docsMode,...props}){return import_react16.default.createElement(LeafNode,{tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,import_react16.default.createElement(TypeIcon,{icon:"document",useSymbol:!0,docsMode})),children)}),StoryNode=import_react16.default.memo(function({theme,children,...props}){return import_react16.default.createElement(LeafNode,{tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,import_react16.default.createElement(TypeIcon,{icon:"bookmarkhollow",useSymbol:!0})),children)});var import_throttle=__toESM(require_throttle()),import_react17=__toESM(require_react());var codeToKeyMap={Space:" ",Slash:"/",ArrowLeft:"ArrowLeft",ArrowUp:"ArrowUp",ArrowRight:"ArrowRight",ArrowDown:"ArrowDown",Escape:"Escape",Enter:"Enter"},allFalse={alt:!1,ctrl:!1,meta:!1,shift:!1},matchesModifiers=(modifiers,event)=>{let{alt,ctrl,meta,shift}=modifiers===!1?allFalse:modifiers;return!(typeof alt=="boolean"&&alt!==event.altKey||typeof ctrl=="boolean"&&ctrl!==event.ctrlKey||typeof meta=="boolean"&&meta!==event.metaKey||typeof shift=="boolean"&&shift!==event.shiftKey)},matchesKeyCode=(code,event)=>event.code?event.code===code:event.key===codeToKeyMap[code];var import_memoizerific6=__toESM(require_memoizerific());var{document:document5,window:globalWindow4}=scope,createId=(itemId,refId)=>!refId||refId===DEFAULT_REF_ID?itemId:`${refId}_${itemId}`,getLink=(item,refId)=>`${document5.location.pathname}?path=/${item.type}/${createId(item.id,refId)}`;var get4=(0,import_memoizerific6.default)(1e3)((id,dataset)=>dataset[id]),getParent=(0,import_memoizerific6.default)(1e3)((id,dataset)=>{let item=get4(id,dataset);return item&&item.type!=="root"?get4(item.parent,dataset):void 0}),getParents=(0,import_memoizerific6.default)(1e3)((id,dataset)=>{let parent=getParent(id,dataset);return parent?[parent,...getParents(parent.id,dataset)]:[]}),getAncestorIds=(0,import_memoizerific6.default)(1e3)((data,id)=>getParents(id,data).map(item=>item.id)),getDescendantIds=(0,import_memoizerific6.default)(1e3)((data,id,skipLeafs)=>{let entry=data[id];return(entry.type==="story"||entry.type==="docs"?[]:entry.children).reduce((acc,childId)=>{let child=data[childId];return!child||skipLeafs&&(child.type==="story"||child.type==="docs")||acc.push(childId,...getDescendantIds(data,childId,skipLeafs)),acc},[])});function getPath(item,ref){let parent=item.type!=="root"&&item.parent?ref.index[item.parent]:null;return parent?[...getPath(parent,ref),parent.name]:ref.id===DEFAULT_REF_ID?[]:[ref.title||ref.id]}var searchItem=(item,ref)=>({...item,refId:ref.id,path:getPath(item,ref)});function cycle(array,index2,delta){let next=index2+delta%array.length;return next<0&&(next=array.length+next),next>=array.length&&(next-=array.length),next}var scrollIntoView=(element,center=!1)=>{if(!element)return;let{top,bottom}=element.getBoundingClientRect();top>=0&&bottom<=(globalWindow4.innerHeight||document5.documentElement.clientHeight)||element.scrollIntoView({block:center?"center":"nearest"})},getStateType=(isLoading,isAuthRequired,isError,isEmpty)=>{switch(!0){case isAuthRequired:return"auth";case isError:return"error";case isLoading:return"loading";case isEmpty:return"empty";default:return"ready"}},isAncestor=(element,maybeAncestor)=>!element||!maybeAncestor?!1:element===maybeAncestor?!0:isAncestor(element.parentElement,maybeAncestor),removeNoiseFromName=storyName=>storyName.replaceAll(/(\s|-|_)/gi,""),isStoryHoistable=(storyName,componentName)=>removeNoiseFromName(storyName)===removeNoiseFromName(componentName);var{document:document6}=scope,initializeExpanded=({refId,data,initialExpanded,highlightedRef,rootIds})=>{let highlightedAncestors=highlightedRef.current?.refId===refId?getAncestorIds(data,highlightedRef.current?.itemId):[];return[...rootIds,...highlightedAncestors].reduce((acc,id)=>Object.assign(acc,{[id]:id in initialExpanded?initialExpanded[id]:!0}),{})},noop2=()=>{},useExpanded=({containerRef,isBrowsing,refId,data,initialExpanded,rootIds,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId})=>{let api=useStorybookApi(),[expanded,setExpanded]=(0,import_react17.useReducer)((state,{ids,value:value2})=>ids.reduce((acc,id)=>Object.assign(acc,{[id]:value2}),{...state}),{refId,data,highlightedRef,rootIds,initialExpanded},initializeExpanded),getElementByDataItemId=(0,import_react17.useCallback)(id=>containerRef.current?.querySelector(`[data-item-id="${id}"]`),[containerRef]),highlightElement=(0,import_react17.useCallback)(element=>{setHighlightedItemId(element.getAttribute("data-item-id")),scrollIntoView(element)},[setHighlightedItemId]),updateExpanded=(0,import_react17.useCallback)(({ids,value:value2})=>{if(setExpanded({ids,value:value2}),ids.length===1){let element=containerRef.current?.querySelector(`[data-item-id="${ids[0]}"][data-ref-id="${refId}"]`);element&&highlightElement(element)}},[containerRef,highlightElement,refId]);(0,import_react17.useEffect)(()=>{setExpanded({ids:getAncestorIds(data,selectedStoryId),value:!0})},[data,selectedStoryId]);let collapseAll=(0,import_react17.useCallback)(()=>{let ids=Object.keys(data).filter(id=>!rootIds.includes(id));setExpanded({ids,value:!1})},[data,rootIds]),expandAll=(0,import_react17.useCallback)(()=>{setExpanded({ids:Object.keys(data),value:!0})},[data]);return(0,import_react17.useEffect)(()=>api?(api.on(STORIES_COLLAPSE_ALL,collapseAll),api.on(STORIES_EXPAND_ALL,expandAll),()=>{api.off(STORIES_COLLAPSE_ALL,collapseAll),api.off(STORIES_EXPAND_ALL,expandAll)}):noop2,[api,collapseAll,expandAll]),(0,import_react17.useEffect)(()=>{let menuElement=document6.getElementById("storybook-explorer-menu"),navigateTree=(0,import_throttle.default)(event=>{let highlightedItemId=highlightedRef.current?.refId===refId&&highlightedRef.current?.itemId;if(!isBrowsing||!containerRef.current||!highlightedItemId||event.repeat||!matchesModifiers(!1,event))return;let isEnter=matchesKeyCode("Enter",event),isSpace=matchesKeyCode("Space",event),isArrowLeft=matchesKeyCode("ArrowLeft",event),isArrowRight=matchesKeyCode("ArrowRight",event);if(!(isEnter||isSpace||isArrowLeft||isArrowRight))return;let highlightedElement=getElementByDataItemId(highlightedItemId);if(!highlightedElement||highlightedElement.getAttribute("data-ref-id")!==refId)return;let target=event.target;if(!isAncestor(menuElement,target)&&!isAncestor(target,menuElement))return;if(target.hasAttribute("data-action")){if(isEnter||isSpace)return;target.blur()}let type=highlightedElement.getAttribute("data-nodetype");(isEnter||isSpace)&&["component","story","document"].includes(type)&&onSelectStoryId(highlightedItemId);let isExpanded=highlightedElement.getAttribute("aria-expanded");if(isArrowLeft){if(isExpanded==="true"){setExpanded({ids:[highlightedItemId],value:!1});return}let parentId=highlightedElement.getAttribute("data-parent-id"),parentElement=parentId&&getElementByDataItemId(parentId);if(parentElement&&parentElement.getAttribute("data-highlightable")==="true"){highlightElement(parentElement);return}setExpanded({ids:getDescendantIds(data,highlightedItemId,!0),value:!1});return}isArrowRight&&(isExpanded==="false"?updateExpanded({ids:[highlightedItemId],value:!0}):isExpanded==="true"&&updateExpanded({ids:getDescendantIds(data,highlightedItemId,!0),value:!0}))},60);return document6.addEventListener("keydown",navigateTree),()=>document6.removeEventListener("keydown",navigateTree)},[containerRef,isBrowsing,refId,data,highlightedRef,setHighlightedItemId,onSelectStoryId]),[expanded,updateExpanded]};var import_react18=__toESM(require_react());var SmallIcons=newStyled(Icons)({"&&&":{width:6,height:6}}),LoadingIcons=newStyled(SmallIcons)(({theme:{animation,color:color2,base}})=>({animation:`${animation.glow} 1.5s ease-in-out infinite`,color:base==="light"?color2.mediumdark:color2.darker})),statusPriority=["unknown","pending","success","warn","error"],statusMapping={unknown:[null,null],pending:[import_react18.default.createElement(LoadingIcons,{key:"icon",icon:"circle"}),"currentColor"],success:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"green"}}),"currentColor"],warn:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"orange"}}),"#A15C20"],error:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"red"}}),"brown"]},getHighestStatus=statuses=>statusPriority.reduce((acc,status)=>statuses.includes(status)?status:acc,"unknown");function getGroupStatus(collapsedData,status){return Object.values(collapsedData).reduce((acc,item)=>{if(item.type==="group"||item.type==="component"){let leafs=getDescendantIds(collapsedData,item.id,!1).map(id=>collapsedData[id]).filter(i3=>i3.type==="story"),combinedStatus=getHighestStatus(leafs.flatMap(story=>Object.values(status?.[story.id]||{})).map(s2=>s2.status));combinedStatus&&(acc[item.id]=combinedStatus)}return acc},{})}var Action2=newStyled.button(({theme,height,width})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:width||20,height:height||20,boxSizing:"border-box",margin:0,marginLeft:"auto",padding:0,outline:0,lineHeight:"normal",background:"none",border:"1px solid transparent",borderRadius:"100%",cursor:"pointer",transition:"all 150ms ease-out",color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"&:hover":{color:theme.color.secondary},"&:focus":{color:theme.color.secondary,borderColor:theme.color.secondary,"&:not(:focus-visible)":{borderColor:"transparent"}},svg:{width:10,height:10}})),CollapseButton=newStyled.button(({theme})=>({background:"transparent",border:"none",outline:"none",boxSizing:"content-box",cursor:"pointer",position:"relative",textAlign:"left",lineHeight:"normal",font:"inherit",color:"inherit",letterSpacing:"inherit",textTransform:"inherit",display:"flex",flex:"0 1 auto",padding:"3px 10px 1px 1px",margin:0,marginLeft:-19,overflow:"hidden",borderRadius:26,transition:"color 150ms, box-shadow 150ms","span:first-of-type":{marginTop:4,marginRight:7},"&:focus":{boxShadow:`0 0 0 1px ${theme.color.secondary}`,color:theme.color.secondary,"span:first-of-type":{color:theme.color.secondary},"&:not(:focus-visible)":{boxShadow:"none"}}})),LeafNodeStyleWrapper=newStyled.div(({theme})=>({position:"relative",display:"flex",justifyContent:"space-between",alignItems:"center",paddingRight:20,color:theme.color.defaultText,background:"transparent","&:hover, &:focus":{outline:"none",background:theme.background.hoverable},'&[data-selected="true"]':{color:theme.color.lightest,background:theme.color.secondary,fontWeight:theme.typography.weight.bold,"&:hover, &:focus":{background:theme.color.secondary},svg:{color:theme.color.lightest}},a:{color:"currentColor"}})),SkipToContentLink=newStyled(Button)(({theme})=>({display:"none","@media (min-width: 600px)":{display:"block",fontSize:"10px",overflow:"hidden",width:1,height:"20px",boxSizing:"border-box",opacity:0,padding:0,"&:focus":{opacity:1,padding:"5px 10px",background:"white",color:theme.color.secondary,width:"auto"}}})),Node=import_react19.default.memo(function({item,status,refId,docsMode,isOrphan,isDisplayed,isSelected,isFullyExpanded,color:color2,setFullyExpanded,isExpanded,setExpanded,onSelectStoryId,api}){if(!isDisplayed)return null;let id=createId(item.id,refId);if(item.type==="story"||item.type==="docs"){let LeafNode2=item.type==="docs"?DocumentNode:StoryNode,statusValue=getHighestStatus(Object.values(status||{}).map(s2=>s2.status)),[icon,textColor]=statusMapping[statusValue];return import_react19.default.createElement(LeafNodeStyleWrapper,{"data-selected":isSelected,"data-ref-id":refId,"data-item-id":item.id,"data-parent-id":item.parent,"data-nodetype":item.type==="docs"?"document":"story","data-highlightable":isDisplayed,className:"sidebar-item"},import_react19.default.createElement(LeafNode2,{style:isSelected?{}:{color:textColor},key:id,href:getLink(item,refId),id,depth:isOrphan?item.depth:item.depth-1,onClick:event=>{event.preventDefault(),onSelectStoryId(item.id)},...item.type==="docs"&&{docsMode}},item.renderLabel?.(item)||item.name),isSelected&&import_react19.default.createElement(SkipToContentLink,{secondary:!0,outline:!0,isLink:!0,href:"#storybook-preview-wrapper"},"Skip to canvas"),icon?import_react19.default.createElement(WithTooltip,{placement:"top",style:{display:"flex"},tooltip:()=>import_react19.default.createElement(TooltipLinkList,{links:Object.entries(status||{}).map(([k2,v2])=>({id:k2,title:v2.title,description:v2.description,right:statusMapping[v2.status][0]}))}),closeOnOutsideClick:!0},import_react19.default.createElement(Action2,{type:"button",height:22},icon)):null)}if(item.type==="root")return import_react19.default.createElement(RootNode,{key:id,id,className:"sidebar-subheading","data-ref-id":refId,"data-item-id":item.id,"data-nodetype":"root"},import_react19.default.createElement(CollapseButton,{type:"button","data-action":"collapse-root",onClick:event=>{event.preventDefault(),setExpanded({ids:[item.id],value:!isExpanded})},"aria-expanded":isExpanded},import_react19.default.createElement(CollapseIcon2,{isExpanded}),item.renderLabel?.(item)||item.name),isExpanded&&import_react19.default.createElement(Action2,{type:"button",className:"sidebar-subheading-action","aria-label":"expand","data-action":"expand-all","data-expanded":isFullyExpanded,onClick:event=>{event.preventDefault(),setFullyExpanded()}},import_react19.default.createElement(Icons,{icon:isFullyExpanded?"collapse":"expandalt"})));if(item.type==="component"||item.type==="group"){let BranchNode2=item.type==="component"?ComponentNode:GroupNode;return import_react19.default.createElement(BranchNode2,{key:id,id,style:color2?{color:color2}:{},className:"sidebar-item","data-ref-id":refId,"data-item-id":item.id,"data-parent-id":item.parent,"data-nodetype":item.type==="component"?"component":"group","data-highlightable":isDisplayed,"aria-controls":item.children&&item.children[0],"aria-expanded":isExpanded,depth:isOrphan?item.depth:item.depth-1,isComponent:item.type==="component",isExpandable:item.children&&item.children.length>0,isExpanded,onClick:event=>{event.preventDefault(),setExpanded({ids:[item.id],value:!isExpanded}),item.type==="component"&&!isExpanded&&onSelectStoryId(item.id)},onMouseEnter:()=>{item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.children[0]],options:{target:refId}})}},item.renderLabel?.(item)||item.name)}return null}),Root2=import_react19.default.memo(function({setExpanded,isFullyExpanded,expandableDescendants,...props}){let setFullyExpanded=(0,import_react19.useCallback)(()=>setExpanded({ids:expandableDescendants,value:!isFullyExpanded}),[setExpanded,isFullyExpanded,expandableDescendants]);return import_react19.default.createElement(Node,{...props,setExpanded,isFullyExpanded,setFullyExpanded})}),Container2=newStyled.div(props=>({marginTop:props.hasOrphans?20:0,marginBottom:20})),Tree=import_react19.default.memo(function({isBrowsing,isMain,refId,data,status,docsMode,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId}){let containerRef=(0,import_react19.useRef)(null),api=useStorybookApi(),[rootIds,orphanIds,initialExpanded]=(0,import_react19.useMemo)(()=>Object.keys(data).reduce((acc,id)=>{let item=data[id];return item.type==="root"?acc[0].push(id):item.parent||acc[1].push(id),item.type==="root"&&item.startCollapsed&&(acc[2][id]=!1),acc},[[],[],{}]),[data]),{expandableDescendants}=(0,import_react19.useMemo)(()=>[...orphanIds,...rootIds].reduce((acc,nodeId)=>(acc.expandableDescendants[nodeId]=getDescendantIds(data,nodeId,!1).filter(d2=>!["story","docs"].includes(data[d2].type)),acc),{orphansFirst:[],expandableDescendants:{}}),[data,rootIds,orphanIds]),singleStoryComponentIds=(0,import_react19.useMemo)(()=>Object.keys(data).filter(id=>{let entry=data[id];if(entry.type!=="component")return!1;let{children=[],name:name2}=entry;if(children.length!==1)return!1;let onlyChild=data[children[0]];return onlyChild.type==="docs"?!0:onlyChild.type==="story"?isStoryHoistable(onlyChild.name,name2):!1}),[data]),collapsedItems=(0,import_react19.useMemo)(()=>Object.keys(data).filter(id=>!singleStoryComponentIds.includes(id)),[singleStoryComponentIds]),collapsedData=(0,import_react19.useMemo)(()=>singleStoryComponentIds.reduce((acc,id)=>{let{children,parent,name:name2}=data[id],[childId]=children;if(parent){let siblings=[...data[parent].children];siblings[siblings.indexOf(id)]=childId,acc[parent]={...data[parent],children:siblings}}return acc[childId]={...data[childId],name:name2,parent,depth:data[childId].depth-1},acc},{...data}),[data]),ancestry=(0,import_react19.useMemo)(()=>collapsedItems.reduce((acc,id)=>Object.assign(acc,{[id]:getAncestorIds(collapsedData,id)}),{}),[collapsedItems,collapsedData]),[expanded,setExpanded]=useExpanded({containerRef,isBrowsing,refId,data:collapsedData,initialExpanded,rootIds,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId}),groupStatus=(0,import_react19.useMemo)(()=>getGroupStatus(collapsedData,status),[collapsedData,status]);return import_react19.default.createElement(Container2,{ref:containerRef,hasOrphans:isMain&&orphanIds.length>0},collapsedItems.map(itemId=>{let item=collapsedData[itemId],id=createId(itemId,refId);if(item.type==="root"){let descendants=expandableDescendants[item.id],isFullyExpanded=descendants.every(d2=>expanded[d2]);return import_react19.default.createElement(Root2,{key:id,item,refId,isOrphan:!1,isDisplayed:!0,isSelected:selectedStoryId===itemId,isExpanded:!!expanded[itemId],setExpanded,isFullyExpanded,expandableDescendants:descendants,onSelectStoryId})}let isDisplayed=!item.parent||ancestry[itemId].every(a2=>expanded[a2]),color2=groupStatus[itemId]?statusMapping[groupStatus[itemId]][1]:null;return import_react19.default.createElement(Node,{api,key:id,item,status:status?.[itemId],refId,color:color2,docsMode,isOrphan:orphanIds.some(oid=>itemId===oid||itemId.startsWith(`${oid}-`)),isDisplayed,isSelected:selectedStoryId===itemId,isExpanded:!!expanded[itemId],setExpanded,onSelectStoryId})}))});var Wrapper4=newStyled.div(({isMain})=>({position:"relative",marginLeft:-20,marginRight:-20,marginTop:isMain?void 0:0})),RefHead=newStyled.div(({theme})=>({fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s2-1,textDecoration:"none",lineHeight:"16px",display:"flex",alignItems:"center",justifyContent:"space-between",background:"transparent",width:"100%",marginTop:20,paddingTop:16,borderTop:`1px solid ${theme.appBorderColor}`,color:theme.base==="light"?theme.color.defaultText:curriedTransparentize$12(.2,theme.color.defaultText)})),RefTitle=newStyled.span(({theme})=>({display:"block",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,overflow:"hidden",marginLeft:2})),CollapseButton2=newStyled.button(({theme})=>({background:"transparent",border:"1px solid transparent",borderRadius:26,outline:"none",boxSizing:"content-box",cursor:"pointer",position:"relative",textAlign:"left",lineHeight:"normal",font:"inherit",color:"inherit",display:"flex",padding:3,paddingLeft:1,paddingRight:12,margin:0,marginLeft:-20,overflow:"hidden","span:first-of-type":{marginTop:5},"&:focus":{borderColor:theme.color.secondary,"span:first-of-type":{borderLeftColor:theme.color.secondary}}})),Ref=import_react20.default.memo(function(props){let{docsOptions}=useStorybookState(),api=useStorybookApi(),{index:index2,id:refId,title=refId,isLoading:isLoadingMain,isBrowsing,selectedStoryId,highlightedRef,setHighlighted,loginUrl,type,expanded=!0,indexError,previewInitialized}=props,length=(0,import_react20.useMemo)(()=>index2?Object.keys(index2).length:0,[index2]),indicatorRef=(0,import_react20.useRef)(null),isMain=refId===DEFAULT_REF_ID,isLoading=isLoadingMain||(type==="auto-inject"&&!previewInitialized||type==="server-checked")||type==="unknown",state=getStateType(isLoading,!!loginUrl&&length===0,!!indexError,!isLoading&&length===0),[isExpanded,setExpanded]=(0,import_react20.useState)(expanded),handleClick=(0,import_react20.useCallback)(()=>setExpanded(value2=>!value2),[setExpanded]),setHighlightedItemId=(0,import_react20.useCallback)(itemId=>setHighlighted({itemId,refId}),[setHighlighted]),onSelectStoryId=(0,import_react20.useCallback)(storyId=>api&&api.selectStory(storyId,void 0,{ref:!isMain&&refId}),[api,isMain,refId]);return import_react20.default.createElement(import_react20.default.Fragment,null,isMain||import_react20.default.createElement(RefHead,{"aria-label":`${isExpanded?"Hide":"Show"} ${title} stories`,"aria-expanded":isExpanded},import_react20.default.createElement(CollapseButton2,{"data-action":"collapse-ref",onClick:handleClick},import_react20.default.createElement(CollapseIcon2,{isExpanded}),import_react20.default.createElement(RefTitle,{title},title)),import_react20.default.createElement(RefIndicator,{...props,state,ref:indicatorRef})),isExpanded&&import_react20.default.createElement(Wrapper4,{"data-title":title,isMain},state==="auth"&&import_react20.default.createElement(AuthBlock,{id:refId,loginUrl}),state==="error"&&import_react20.default.createElement(ErrorBlock,{error:indexError}),state==="loading"&&import_react20.default.createElement(LoaderBlock,{isMain}),state==="empty"&&import_react20.default.createElement(EmptyBlock,{isMain}),state==="ready"&&import_react20.default.createElement(Tree,{status:props.status,isBrowsing,isMain,refId,data:index2,docsMode:docsOptions.docsMode,selectedStoryId,onSelectStoryId,highlightedRef,setHighlightedItemId})))});var import_react21=__toESM(require_react());var{document:document7,window:globalWindow5}=scope,fromSelection=selection=>selection?{itemId:selection.storyId,refId:selection.refId}:null,useHighlighted=({containerRef,isLoading,isBrowsing,dataset,selected})=>{let initialHighlight=fromSelection(selected),highlightedRef=(0,import_react21.useRef)(initialHighlight),[highlighted,setHighlighted]=(0,import_react21.useState)(initialHighlight),api=useStorybookApi(),updateHighlighted=(0,import_react21.useCallback)(highlight=>{highlightedRef.current=highlight,setHighlighted(highlight)},[highlightedRef]),highlightElement=(0,import_react21.useCallback)((element,center=!1)=>{let itemId=element.getAttribute("data-item-id"),refId=element.getAttribute("data-ref-id");!itemId||!refId||(updateHighlighted({itemId,refId}),scrollIntoView(element,center))},[updateHighlighted]);return(0,import_react21.useEffect)(()=>{let highlight=fromSelection(selected);if(updateHighlighted(highlight),highlight){let{itemId,refId}=highlight;setTimeout(()=>{scrollIntoView(containerRef.current?.querySelector(`[data-item-id="${itemId}"][data-ref-id="${refId}"]`),!0)},0)}},[dataset,highlightedRef,containerRef,selected]),(0,import_react21.useEffect)(()=>{let menuElement=document7.getElementById("storybook-explorer-menu"),lastRequestId,navigateTree=event=>{if(isLoading||!isBrowsing||!containerRef.current||!matchesModifiers(!1,event))return;let isArrowUp=matchesKeyCode("ArrowUp",event),isArrowDown=matchesKeyCode("ArrowDown",event);if(!(isArrowUp||isArrowDown))return;let requestId=globalWindow5.requestAnimationFrame(()=>{globalWindow5.cancelAnimationFrame(lastRequestId),lastRequestId=requestId;let target=event.target;if(!isAncestor(menuElement,target)&&!isAncestor(target,menuElement))return;target.hasAttribute("data-action")&&target.blur();let highlightable=Array.from(containerRef.current.querySelectorAll("[data-highlightable=true]")),currentIndex=highlightable.findIndex(el=>el.getAttribute("data-item-id")===highlightedRef.current?.itemId&&el.getAttribute("data-ref-id")===highlightedRef.current?.refId),nextIndex=cycle(highlightable,currentIndex,isArrowUp?-1:1),didRunAround=isArrowUp?nextIndex===highlightable.length-1:nextIndex===0;if(highlightElement(highlightable[nextIndex],didRunAround),highlightable[nextIndex].getAttribute("data-nodetype")==="component"){let{itemId,refId}=highlightedRef.current,item=api.getData(itemId,refId==="storybook_internal"?void 0:refId);item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]],options:{target:refId}})}})};return document7.addEventListener("keydown",navigateTree),()=>document7.removeEventListener("keydown",navigateTree)},[isLoading,isBrowsing,highlightedRef,highlightElement]),[highlighted,updateHighlighted,highlightedRef]};var import_react22=__toESM(require_react());var HighlightStyles=({refId,itemId})=>import_react22.default.createElement(Global,{styles:({color:color2})=>{let background=curriedTransparentize$12(.85,color2.secondary);return{[`[data-ref-id="${refId}"][data-item-id="${itemId}"]:not([data-selected="true"])`]:{'&[data-nodetype="component"], &[data-nodetype="group"]':{background,"&:hover, &:focus":{background}},'&[data-nodetype="story"], &[data-nodetype="document"]':{color:color2.defaultText,background,"&:hover, &:focus":{background}}}}}});var Explorer=import_react23.default.memo(function({isLoading,isBrowsing,dataset,selected}){let containerRef=(0,import_react23.useRef)(null),[highlighted,setHighlighted,highlightedRef]=useHighlighted({containerRef,isLoading,isBrowsing,dataset,selected});return import_react23.default.createElement("div",{ref:containerRef,id:"storybook-explorer-tree","data-highlighted-ref-id":highlighted?.refId,"data-highlighted-item-id":highlighted?.itemId},highlighted&&import_react23.default.createElement(HighlightStyles,{...highlighted}),dataset.entries.map(([refId,ref])=>import_react23.default.createElement(Ref,{...ref,key:refId,isLoading,isBrowsing,selectedStoryId:selected?.refId===ref.id?selected.storyId:null,highlightedRef,setHighlighted})))});var import_prop_types2=__toESM(require_prop_types()),import_react24=__toESM(require_react()),import_react_is=__toESM(require_react_is2());function t2(t3){return typeof t3=="object"&&t3!=null&&t3.nodeType===1}function e2(t3,e3){return(!e3||t3!=="hidden")&&t3!=="visible"&&t3!=="clip"}function n2(t3,n3){if(t3.clientHeight<t3.scrollHeight||t3.clientWidth<t3.scrollWidth){var r4=getComputedStyle(t3,null);return e2(r4.overflowY,n3)||e2(r4.overflowX,n3)||function(t4){var e3=function(t5){if(!t5.ownerDocument||!t5.ownerDocument.defaultView)return null;try{return t5.ownerDocument.defaultView.frameElement}catch{return null}}(t4);return!!e3&&(e3.clientHeight<t4.scrollHeight||e3.clientWidth<t4.scrollWidth)}(t3)}return!1}function r3(t3,e3,n3,r4,i3,o2,l2,d2){return o2<t3&&l2>e3||o2>t3&&l2<e3?0:o2<=t3&&d2<=n3||l2>=e3&&d2>=n3?o2-t3-r4:l2>e3&&d2<n3||o2<t3&&d2>n3?l2-e3+i3:0}var i2=function(e3,i3){var o2=window,l2=i3.scrollMode,d2=i3.block,f3=i3.inline,h3=i3.boundary,u2=i3.skipOverflowHiddenElements,s2=typeof h3=="function"?h3:function(t3){return t3!==h3};if(!t2(e3))throw new TypeError("Invalid target");for(var a2,c3,g2=document.scrollingElement||document.documentElement,p2=[],m3=e3;t2(m3)&&s2(m3);){if((m3=(c3=(a2=m3).parentElement)==null?a2.getRootNode().host||null:c3)===g2){p2.push(m3);break}m3!=null&&m3===document.body&&n2(m3)&&!n2(document.documentElement)||m3!=null&&n2(m3,u2)&&p2.push(m3)}for(var w3=o2.visualViewport?o2.visualViewport.width:innerWidth,v2=o2.visualViewport?o2.visualViewport.height:innerHeight,W2=window.scrollX||pageXOffset,H7=window.scrollY||pageYOffset,b3=e3.getBoundingClientRect(),y2=b3.height,E3=b3.width,M2=b3.top,V=b3.right,x3=b3.bottom,I3=b3.left,C3=d2==="start"||d2==="nearest"?M2:d2==="end"?x3:M2+y2/2,R3=f3==="center"?I3+E3/2:f3==="end"?V:I3,T2=[],k2=0;k2<p2.length;k2++){var B3=p2[k2],D2=B3.getBoundingClientRect(),O2=D2.height,X=D2.width,Y2=D2.top,L3=D2.right,S2=D2.bottom,j2=D2.left;if(l2==="if-needed"&&M2>=0&&I3>=0&&x3<=v2&&V<=w3&&M2>=Y2&&x3<=S2&&I3>=j2&&V<=L3)return T2;var N3=getComputedStyle(B3),q2=parseInt(N3.borderLeftWidth,10),z2=parseInt(N3.borderTopWidth,10),A3=parseInt(N3.borderRightWidth,10),F2=parseInt(N3.borderBottomWidth,10),G2=0,J=0,K2="offsetWidth"in B3?B3.offsetWidth-B3.clientWidth-q2-A3:0,P4="offsetHeight"in B3?B3.offsetHeight-B3.clientHeight-z2-F2:0,Q="offsetWidth"in B3?B3.offsetWidth===0?0:X/B3.offsetWidth:0,U2="offsetHeight"in B3?B3.offsetHeight===0?0:O2/B3.offsetHeight:0;if(g2===B3)G2=d2==="start"?C3:d2==="end"?C3-v2:d2==="nearest"?r3(H7,H7+v2,v2,z2,F2,H7+C3,H7+C3+y2,y2):C3-v2/2,J=f3==="start"?R3:f3==="center"?R3-w3/2:f3==="end"?R3-w3:r3(W2,W2+w3,w3,q2,A3,W2+R3,W2+R3+E3,E3),G2=Math.max(0,G2+H7),J=Math.max(0,J+W2);else{G2=d2==="start"?C3-Y2-z2:d2==="end"?C3-S2+F2+P4:d2==="nearest"?r3(Y2,S2,O2,z2,F2+P4,C3,C3+y2,y2):C3-(Y2+O2/2)+P4/2,J=f3==="start"?R3-j2-q2:f3==="center"?R3-(j2+X/2)+K2/2:f3==="end"?R3-L3+A3+K2:r3(j2,L3,X,q2,A3+K2,R3,R3+E3,E3);var Z=B3.scrollLeft,$=B3.scrollTop;C3+=$-(G2=Math.max(0,Math.min($+G2/U2,B3.scrollHeight-O2/U2+P4))),R3+=Z-(J=Math.max(0,Math.min(Z+J/Q,B3.scrollWidth-X/Q+K2)))}T2.push({el:B3,top:G2,left:J})}return T2};var __assign2=function(){return __assign2=Object.assign||function(t3){for(var s2,i3=1,n3=arguments.length;i3<n3;i3++){s2=arguments[i3];for(var p2 in s2)Object.prototype.hasOwnProperty.call(s2,p2)&&(t3[p2]=s2[p2])}return t3},__assign2.apply(this,arguments)};var idCounter=0;function cbToCb(cb){return typeof cb=="function"?cb:noop3}function noop3(){}function scrollIntoView2(node,menuNode){if(!node)return;i2(node,{boundary:menuNode,block:"nearest",scrollMode:"if-needed"}).forEach(_ref=>{let{el,top,left}=_ref;el.scrollTop=top,el.scrollLeft=left})}function isOrContainsNode(parent,child,environment){return parent===child||child instanceof environment.Node&&parent.contains&&parent.contains(child)}function debounce3(fn,time){let timeoutId;function cancel(){timeoutId&&clearTimeout(timeoutId)}function wrapper(){for(var _len=arguments.length,args2=new Array(_len),_key=0;_key<_len;_key++)args2[_key]=arguments[_key];cancel(),timeoutId=setTimeout(()=>{timeoutId=null,fn(...args2)},time)}return wrapper.cancel=cancel,wrapper}function callAllEventHandlers(){for(var _len2=arguments.length,fns=new Array(_len2),_key2=0;_key2<_len2;_key2++)fns[_key2]=arguments[_key2];return function(event){for(var _len3=arguments.length,args2=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args2[_key3-1]=arguments[_key3];return fns.some(fn=>(fn&&fn(event,...args2),event.preventDownshiftDefault||event.hasOwnProperty("nativeEvent")&&event.nativeEvent.preventDownshiftDefault))}}function handleRefs(){for(var _len4=arguments.length,refs2=new Array(_len4),_key4=0;_key4<_len4;_key4++)refs2[_key4]=arguments[_key4];return node=>{refs2.forEach(ref=>{typeof ref=="function"?ref(node):ref&&(ref.current=node)})}}function generateId(){return String(idCounter++)}function getA11yStatusMessage$1(_ref2){let{isOpen,resultCount,previousResultCount}=_ref2;return isOpen?resultCount?resultCount!==previousResultCount?`${resultCount} result${resultCount===1?" is":"s are"} available, use up and down arrow keys to navigate. Press Enter key to select.`:"":"No results are available.":""}function unwrapArray(arg,defaultValue){return arg=Array.isArray(arg)?arg[0]:arg,!arg&&defaultValue?defaultValue:arg}function isDOMElement2(element){return typeof element.type=="string"}function getElementProps(element){return element.props}function requiredProp(fnName,propName){console.error(`The property "${propName}" is required in "${fnName}"`)}var stateKeys=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function pickState(state){state===void 0&&(state={});let result2={};return stateKeys.forEach(k2=>{state.hasOwnProperty(k2)&&(result2[k2]=state[k2])}),result2}function getState(state,props){return Object.keys(state).reduce((prevState,key2)=>(prevState[key2]=isControlledProp(props,key2)?props[key2]:state[key2],prevState),{})}function isControlledProp(props,key2){return props[key2]!==void 0}function normalizeArrowKey(event){let{key:key2,keyCode}=event;return keyCode>=37&&keyCode<=40&&key2.indexOf("Arrow")!==0?`Arrow${key2}`:key2}function isPlainObject(obj){return Object.prototype.toString.call(obj)==="[object Object]"}function getNextWrappingIndex(moveAmount,baseIndex,itemCount,getItemNodeFromIndex,circular){if(circular===void 0&&(circular=!0),itemCount===0)return-1;let itemsLastIndex=itemCount-1;(typeof baseIndex!="number"||baseIndex<0||baseIndex>=itemCount)&&(baseIndex=moveAmount>0?-1:itemsLastIndex+1);let newIndex=baseIndex+moveAmount;newIndex<0?newIndex=circular?itemsLastIndex:0:newIndex>itemsLastIndex&&(newIndex=circular?0:itemsLastIndex);let nonDisabledNewIndex=getNextNonDisabledIndex(moveAmount,newIndex,itemCount,getItemNodeFromIndex,circular);return nonDisabledNewIndex===-1?baseIndex>=itemCount?-1:baseIndex:nonDisabledNewIndex}function getNextNonDisabledIndex(moveAmount,baseIndex,itemCount,getItemNodeFromIndex,circular){let currentElementNode=getItemNodeFromIndex(baseIndex);if(!currentElementNode||!currentElementNode.hasAttribute("disabled"))return baseIndex;if(moveAmount>0){for(let index2=baseIndex+1;index2<itemCount;index2++)if(!getItemNodeFromIndex(index2).hasAttribute("disabled"))return index2}else for(let index2=baseIndex-1;index2>=0;index2--)if(!getItemNodeFromIndex(index2).hasAttribute("disabled"))return index2;return circular?moveAmount>0?getNextNonDisabledIndex(1,0,itemCount,getItemNodeFromIndex,!1):getNextNonDisabledIndex(-1,itemCount-1,itemCount,getItemNodeFromIndex,!1):-1}function targetWithinDownshift(target,downshiftElements,environment,checkActiveElement){return checkActiveElement===void 0&&(checkActiveElement=!0),downshiftElements.some(contextNode=>contextNode&&(isOrContainsNode(contextNode,target,environment)||checkActiveElement&&isOrContainsNode(contextNode,environment.document.activeElement,environment)))}var validateControlledUnchanged=noop3;validateControlledUnchanged=(state,prevProps,nextProps)=>{let warningDescription="This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props";Object.keys(state).forEach(propKey=>{prevProps[propKey]!==void 0&&nextProps[propKey]===void 0?console.error(`downshift: A component has changed the controlled prop "${propKey}" to be uncontrolled. ${warningDescription}`):prevProps[propKey]===void 0&&nextProps[propKey]!==void 0&&console.error(`downshift: A component has changed the uncontrolled prop "${propKey}" to be controlled. ${warningDescription}`)})};var cleanupStatus=debounce3(documentProp=>{getStatusDiv(documentProp).textContent=""},500);function setStatus(status,documentProp){let div=getStatusDiv(documentProp);status&&(div.textContent=status,cleanupStatus(documentProp))}function getStatusDiv(documentProp){documentProp===void 0&&(documentProp=document);let statusDiv=documentProp.getElementById("a11y-status-message");return statusDiv||(statusDiv=documentProp.createElement("div"),statusDiv.setAttribute("id","a11y-status-message"),statusDiv.setAttribute("role","status"),statusDiv.setAttribute("aria-live","polite"),statusDiv.setAttribute("aria-relevant","additions text"),Object.assign(statusDiv.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),documentProp.body.appendChild(statusDiv),statusDiv)}var unknown="__autocomplete_unknown__",mouseUp="__autocomplete_mouseup__",itemMouseEnter="__autocomplete_item_mouseenter__",keyDownArrowUp="__autocomplete_keydown_arrow_up__",keyDownArrowDown="__autocomplete_keydown_arrow_down__",keyDownEscape="__autocomplete_keydown_escape__",keyDownEnter="__autocomplete_keydown_enter__",keyDownHome="__autocomplete_keydown_home__",keyDownEnd="__autocomplete_keydown_end__",clickItem="__autocomplete_click_item__",blurInput="__autocomplete_blur_input__",changeInput="__autocomplete_change_input__",keyDownSpaceButton="__autocomplete_keydown_space_button__",clickButton="__autocomplete_click_button__",blurButton="__autocomplete_blur_button__",controlledPropUpdatedSelectedItem="__autocomplete_controlled_prop_updated_selected_item__",touchEnd="__autocomplete_touchend__",stateChangeTypes$3=Object.freeze({__proto__:null,unknown,mouseUp,itemMouseEnter,keyDownArrowUp,keyDownArrowDown,keyDownEscape,keyDownEnter,keyDownHome,keyDownEnd,clickItem,blurInput,changeInput,keyDownSpaceButton,clickButton,blurButton,controlledPropUpdatedSelectedItem,touchEnd}),Downshift=(()=>{class Downshift2 extends import_react24.Component{constructor(_props){var _this;super(_props),_this=this,this.id=this.props.id||`downshift-${generateId()}`,this.menuId=this.props.menuId||`${this.id}-menu`,this.labelId=this.props.labelId||`${this.id}-label`,this.inputId=this.props.inputId||`${this.id}-input`,this.getItemId=this.props.getItemId||(index2=>`${this.id}-item-${index2}`),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(fn,time)=>{let id=setTimeout(()=>{this.timeoutIds=this.timeoutIds.filter(i3=>i3!==id),fn()},time);this.timeoutIds.push(id)},this.setItemCount=count=>{this.itemCount=count},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(highlightedIndex,otherStateToSet){highlightedIndex===void 0&&(highlightedIndex=_this.props.defaultHighlightedIndex),otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState({highlightedIndex,...otherStateToSet})},this.clearSelection=cb=>{this.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},cb)},this.selectItem=(item,otherStateToSet,cb)=>{otherStateToSet=pickState(otherStateToSet),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:item,inputValue:this.props.itemToString(item),...otherStateToSet},cb)},this.selectItemAtIndex=(itemIndex,otherStateToSet,cb)=>{let item=this.items[itemIndex];item!=null&&this.selectItem(item,otherStateToSet,cb)},this.selectHighlightedItem=(otherStateToSet,cb)=>this.selectItemAtIndex(this.getState().highlightedIndex,otherStateToSet,cb),this.internalSetState=(stateToSet,cb)=>{let isItemSelected,onChangeArg,onStateChangeArg={},isStateToSetFunction=typeof stateToSet=="function";return!isStateToSetFunction&&stateToSet.hasOwnProperty("inputValue")&&this.props.onInputValueChange(stateToSet.inputValue,{...this.getStateAndHelpers(),...stateToSet}),this.setState(state=>{state=this.getState(state);let newStateToSet=isStateToSetFunction?stateToSet(state):stateToSet;newStateToSet=this.props.stateReducer(state,newStateToSet),isItemSelected=newStateToSet.hasOwnProperty("selectedItem");let nextState={};return isItemSelected&&newStateToSet.selectedItem!==state.selectedItem&&(onChangeArg=newStateToSet.selectedItem),newStateToSet.type=newStateToSet.type||unknown,Object.keys(newStateToSet).forEach(key2=>{state[key2]!==newStateToSet[key2]&&(onStateChangeArg[key2]=newStateToSet[key2]),key2!=="type"&&(newStateToSet[key2],isControlledProp(this.props,key2)||(nextState[key2]=newStateToSet[key2]))}),isStateToSetFunction&&newStateToSet.hasOwnProperty("inputValue")&&this.props.onInputValueChange(newStateToSet.inputValue,{...this.getStateAndHelpers(),...newStateToSet}),nextState},()=>{cbToCb(cb)(),Object.keys(onStateChangeArg).length>1&&this.props.onStateChange(onStateChangeArg,this.getStateAndHelpers()),isItemSelected&&this.props.onSelect(stateToSet.selectedItem,this.getStateAndHelpers()),onChangeArg!==void 0&&this.props.onChange(onChangeArg,this.getStateAndHelpers()),this.props.onUserAction(onStateChangeArg,this.getStateAndHelpers())})},this.rootRef=node=>this._rootNode=node,this.getRootProps=function(_temp,_temp2){let{refKey="ref",ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2;_this.getRootProps.called=!0,_this.getRootProps.refKey=refKey,_this.getRootProps.suppressRefError=suppressRefError;let{isOpen}=_this.getState();return{[refKey]:handleRefs(ref,_this.rootRef),role:"combobox","aria-expanded":isOpen,"aria-haspopup":"listbox","aria-owns":isOpen?_this.menuId:null,"aria-labelledby":_this.labelId,...rest}},this.keyDownHandlers={ArrowDown(event){if(event.preventDefault(),this.getState().isOpen){let amount=event.shiftKey?5:1;this.moveHighlightedIndex(amount,{type:keyDownArrowDown})}else this.internalSetState({isOpen:!0,type:keyDownArrowDown},()=>{let itemCount=this.getItemCount();if(itemCount>0){let{highlightedIndex}=this.getState(),nextHighlightedIndex=getNextWrappingIndex(1,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,{type:keyDownArrowDown})}})},ArrowUp(event){if(event.preventDefault(),this.getState().isOpen){let amount=event.shiftKey?-5:-1;this.moveHighlightedIndex(amount,{type:keyDownArrowUp})}else this.internalSetState({isOpen:!0,type:keyDownArrowUp},()=>{let itemCount=this.getItemCount();if(itemCount>0){let{highlightedIndex}=this.getState(),nextHighlightedIndex=getNextWrappingIndex(-1,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,{type:keyDownArrowUp})}})},Enter(event){if(event.which===229)return;let{isOpen,highlightedIndex}=this.getState();if(isOpen&&highlightedIndex!=null){event.preventDefault();let item=this.items[highlightedIndex],itemNode=this.getItemNodeFromIndex(highlightedIndex);if(item==null||itemNode&&itemNode.hasAttribute("disabled"))return;this.selectHighlightedItem({type:keyDownEnter})}},Escape(event){event.preventDefault(),this.reset({type:keyDownEscape,...!this.state.isOpen&&{selectedItem:null,inputValue:""}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers," "(event){event.preventDefault(),this.toggleMenu({type:keyDownSpaceButton})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(event){let{isOpen}=this.getState();if(!isOpen)return;event.preventDefault();let itemCount=this.getItemCount();if(itemCount<=0||!isOpen)return;let newHighlightedIndex=getNextNonDisabledIndex(1,0,itemCount,index2=>this.getItemNodeFromIndex(index2),!1);this.setHighlightedIndex(newHighlightedIndex,{type:keyDownHome})},End(event){let{isOpen}=this.getState();if(!isOpen)return;event.preventDefault();let itemCount=this.getItemCount();if(itemCount<=0||!isOpen)return;let newHighlightedIndex=getNextNonDisabledIndex(-1,itemCount-1,itemCount,index2=>this.getItemNodeFromIndex(index2),!1);this.setHighlightedIndex(newHighlightedIndex,{type:keyDownEnd})}},this.getToggleButtonProps=function(_temp3){let{onClick,onPress,onKeyDown,onKeyUp,onBlur,...rest}=_temp3===void 0?{}:_temp3,{isOpen}=_this.getState(),enabledEventHandlers={onClick:callAllEventHandlers(onClick,_this.buttonHandleClick),onKeyDown:callAllEventHandlers(onKeyDown,_this.buttonHandleKeyDown),onKeyUp:callAllEventHandlers(onKeyUp,_this.buttonHandleKeyUp),onBlur:callAllEventHandlers(onBlur,_this.buttonHandleBlur)},eventHandlers=rest.disabled?{}:enabledEventHandlers;return{type:"button",role:"button","aria-label":isOpen?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0,...eventHandlers,...rest}},this.buttonHandleKeyUp=event=>{event.preventDefault()},this.buttonHandleKeyDown=event=>{let key2=normalizeArrowKey(event);this.buttonKeyDownHandlers[key2]&&this.buttonKeyDownHandlers[key2].call(this,event)},this.buttonHandleClick=event=>{event.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&event.target.focus(),this.internalSetTimeout(()=>this.toggleMenu({type:clickButton}))},this.buttonHandleBlur=event=>{let blurTarget=event.target;this.internalSetTimeout(()=>{!this.isMouseDown&&(this.props.environment.document.activeElement==null||this.props.environment.document.activeElement.id!==this.inputId)&&this.props.environment.document.activeElement!==blurTarget&&this.reset({type:blurButton})})},this.getLabelProps=props=>({htmlFor:this.inputId,id:this.labelId,...props}),this.getInputProps=function(_temp4){let{onKeyDown,onBlur,onChange,onInput,onChangeText,...rest}=_temp4===void 0?{}:_temp4,onChangeKey,eventHandlers={};onChangeKey="onChange";let{inputValue,isOpen,highlightedIndex}=_this.getState();return rest.disabled||(eventHandlers={[onChangeKey]:callAllEventHandlers(onChange,onInput,_this.inputHandleChange),onKeyDown:callAllEventHandlers(onKeyDown,_this.inputHandleKeyDown),onBlur:callAllEventHandlers(onBlur,_this.inputHandleBlur)}),{"aria-autocomplete":"list","aria-activedescendant":isOpen&&typeof highlightedIndex=="number"&&highlightedIndex>=0?_this.getItemId(highlightedIndex):null,"aria-controls":isOpen?_this.menuId:null,"aria-labelledby":_this.labelId,autoComplete:"off",value:inputValue,id:_this.inputId,...eventHandlers,...rest}},this.inputHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&this.inputKeyDownHandlers[key2]&&this.inputKeyDownHandlers[key2].call(this,event)},this.inputHandleChange=event=>{this.internalSetState({type:changeInput,isOpen:!0,inputValue:event.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout(()=>{let downshiftButtonIsActive=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);!this.isMouseDown&&!downshiftButtonIsActive&&this.reset({type:blurInput})})},this.menuRef=node=>{this._menuNode=node},this.getMenuProps=function(_temp5,_temp6){let{refKey="ref",ref,...props}=_temp5===void 0?{}:_temp5,{suppressRefError=!1}=_temp6===void 0?{}:_temp6;return _this.getMenuProps.called=!0,_this.getMenuProps.refKey=refKey,_this.getMenuProps.suppressRefError=suppressRefError,{[refKey]:handleRefs(ref,_this.menuRef),role:"listbox","aria-labelledby":props&&props["aria-label"]?null:_this.labelId,id:_this.menuId,...props}},this.getItemProps=function(_temp7){let{onMouseMove,onMouseDown,onClick,onPress,index:index2,item=requiredProp("getItemProps","item"),...rest}=_temp7===void 0?{}:_temp7;index2===void 0?(_this.items.push(item),index2=_this.items.indexOf(item)):_this.items[index2]=item;let onSelectKey="onClick",customClickHandler=onClick,enabledEventHandlers={onMouseMove:callAllEventHandlers(onMouseMove,()=>{index2!==_this.getState().highlightedIndex&&(_this.setHighlightedIndex(index2,{type:itemMouseEnter}),_this.avoidScrolling=!0,_this.internalSetTimeout(()=>_this.avoidScrolling=!1,250))}),onMouseDown:callAllEventHandlers(onMouseDown,event=>{event.preventDefault()}),[onSelectKey]:callAllEventHandlers(customClickHandler,()=>{_this.selectItemAtIndex(index2,{type:clickItem})})},eventHandlers=rest.disabled?{onMouseDown:enabledEventHandlers.onMouseDown}:enabledEventHandlers;return{id:_this.getItemId(index2),role:"option","aria-selected":_this.getState().highlightedIndex===index2,...eventHandlers,...rest}},this.clearItems=()=>{this.items=[]},this.reset=function(otherStateToSet,cb){otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState(_ref=>{let{selectedItem}=_ref;return{isOpen:_this.props.defaultIsOpen,highlightedIndex:_this.props.defaultHighlightedIndex,inputValue:_this.props.itemToString(selectedItem),...otherStateToSet}},cb)},this.toggleMenu=function(otherStateToSet,cb){otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState(_ref2=>{let{isOpen}=_ref2;return{isOpen:!isOpen,...isOpen&&{highlightedIndex:_this.props.defaultHighlightedIndex},...otherStateToSet}},()=>{let{isOpen,highlightedIndex}=_this.getState();isOpen&&_this.getItemCount()>0&&typeof highlightedIndex=="number"&&_this.setHighlightedIndex(highlightedIndex,otherStateToSet),cbToCb(cb)()})},this.openMenu=cb=>{this.internalSetState({isOpen:!0},cb)},this.closeMenu=cb=>{this.internalSetState({isOpen:!1},cb)},this.updateStatus=debounce3(()=>{let state=this.getState(),item=this.items[state.highlightedIndex],resultCount=this.getItemCount(),status=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount,highlightedItem:item,...state});this.previousResultCount=resultCount,setStatus(status,this.props.environment.document)},200);let{defaultHighlightedIndex,initialHighlightedIndex:_highlightedIndex=defaultHighlightedIndex,defaultIsOpen,initialIsOpen:_isOpen=defaultIsOpen,initialInputValue:_inputValue="",initialSelectedItem:_selectedItem=null}=this.props,_state=this.getState({highlightedIndex:_highlightedIndex,isOpen:_isOpen,inputValue:_inputValue,selectedItem:_selectedItem});_state.selectedItem!=null&&this.props.initialInputValue===void 0&&(_state.inputValue=this.props.itemToString(_state.selectedItem)),this.state=_state}internalClearTimeouts(){this.timeoutIds.forEach(id=>{clearTimeout(id)}),this.timeoutIds=[]}getState(stateToMerge){return stateToMerge===void 0&&(stateToMerge=this.state),getState(stateToMerge,this.props)}getItemCount(){let itemCount=this.items.length;return this.itemCount!=null?itemCount=this.itemCount:this.props.itemCount!==void 0&&(itemCount=this.props.itemCount),itemCount}getItemNodeFromIndex(index2){return this.props.environment.document.getElementById(this.getItemId(index2))}scrollHighlightedItemIntoView(){{let node=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(node,this._menuNode)}}moveHighlightedIndex(amount,otherStateToSet){let itemCount=this.getItemCount(),{highlightedIndex}=this.getState();if(itemCount>0){let nextHighlightedIndex=getNextWrappingIndex(amount,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,otherStateToSet)}}getStateAndHelpers(){let{highlightedIndex,inputValue,selectedItem,isOpen}=this.getState(),{itemToString:itemToString2}=this.props,{id}=this,{getRootProps,getToggleButtonProps,getLabelProps,getMenuProps,getInputProps,getItemProps:getItemProps2,openMenu,closeMenu,toggleMenu,selectItem,selectItemAtIndex,selectHighlightedItem,setHighlightedIndex,clearSelection,clearItems,reset,setItemCount,unsetItemCount,internalSetState:setState}=this;return{getRootProps,getToggleButtonProps,getLabelProps,getMenuProps,getInputProps,getItemProps:getItemProps2,reset,openMenu,closeMenu,toggleMenu,selectItem,selectItemAtIndex,selectHighlightedItem,setHighlightedIndex,clearSelection,clearItems,setItemCount,unsetItemCount,setState,itemToString:itemToString2,id,highlightedIndex,inputValue,isOpen,selectedItem}}componentDidMount(){this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps);{let onMouseDown=()=>{this.isMouseDown=!0},onMouseUp=event=>{this.isMouseDown=!1,!targetWithinDownshift(event.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:mouseUp},()=>this.props.onOuterClick(this.getStateAndHelpers()))},onTouchStart=()=>{this.isTouchMove=!1},onTouchMove=()=>{this.isTouchMove=!0},onTouchEnd=event=>{let contextWithinDownshift=targetWithinDownshift(event.target,[this._rootNode,this._menuNode],this.props.environment,!1);!this.isTouchMove&&!contextWithinDownshift&&this.getState().isOpen&&this.reset({type:touchEnd},()=>this.props.onOuterClick(this.getStateAndHelpers()))},{environment}=this.props;environment.addEventListener("mousedown",onMouseDown),environment.addEventListener("mouseup",onMouseUp),environment.addEventListener("touchstart",onTouchStart),environment.addEventListener("touchmove",onTouchMove),environment.addEventListener("touchend",onTouchEnd),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),environment.removeEventListener("mousedown",onMouseDown),environment.removeEventListener("mouseup",onMouseUp),environment.removeEventListener("touchstart",onTouchStart),environment.removeEventListener("touchmove",onTouchMove),environment.removeEventListener("touchend",onTouchEnd)}}}shouldScroll(prevState,prevProps){let{highlightedIndex:currentHighlightedIndex}=this.props.highlightedIndex===void 0?this.getState():this.props,{highlightedIndex:prevHighlightedIndex}=prevProps.highlightedIndex===void 0?prevState:prevProps;return currentHighlightedIndex&&this.getState().isOpen&&!prevState.isOpen||currentHighlightedIndex!==prevHighlightedIndex}componentDidUpdate(prevProps,prevState){validateControlledUnchanged(this.state,prevProps,this.props),this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps),isControlledProp(this.props,"selectedItem")&&this.props.selectedItemChanged(prevProps.selectedItem,this.props.selectedItem)&&this.internalSetState({type:controlledPropUpdatedSelectedItem,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(prevState,prevProps)&&this.scrollHighlightedItemIntoView(),this.updateStatus()}componentWillUnmount(){this.cleanup()}render(){let children=unwrapArray(this.props.children,noop3);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;let element=unwrapArray(children(this.getStateAndHelpers()));if(!element)return null;if(this.getRootProps.called||this.props.suppressRefError)return!this.getRootProps.suppressRefError&&!this.props.suppressRefError&&validateGetRootPropsCalledCorrectly(element,this.getRootProps),element;if(isDOMElement2(element))return(0,import_react24.cloneElement)(element,this.getRootProps(getElementProps(element)));throw new Error("downshift: If you return a non-DOM element, you must apply the getRootProps function")}}return Downshift2.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:getA11yStatusMessage$1,itemToString:i3=>i3==null?"":(isPlainObject(i3)&&!i3.hasOwnProperty("toString")&&console.warn("downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.","The object that was passed:",i3),String(i3)),onStateChange:noop3,onInputValueChange:noop3,onUserAction:noop3,onChange:noop3,onSelect:noop3,onOuterClick:noop3,selectedItemChanged:(prevItem,item)=>prevItem!==item,environment:typeof window>"u"?{}:window,stateReducer:(state,stateToSet)=>stateToSet,suppressRefError:!1,scrollIntoView:scrollIntoView2},Downshift2.stateChangeTypes=stateChangeTypes$3,Downshift2})();Downshift.propTypes={children:import_prop_types2.default.func,defaultHighlightedIndex:import_prop_types2.default.number,defaultIsOpen:import_prop_types2.default.bool,initialHighlightedIndex:import_prop_types2.default.number,initialSelectedItem:import_prop_types2.default.any,initialInputValue:import_prop_types2.default.string,initialIsOpen:import_prop_types2.default.bool,getA11yStatusMessage:import_prop_types2.default.func,itemToString:import_prop_types2.default.func,onChange:import_prop_types2.default.func,onSelect:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onInputValueChange:import_prop_types2.default.func,onUserAction:import_prop_types2.default.func,onOuterClick:import_prop_types2.default.func,selectedItemChanged:import_prop_types2.default.func,stateReducer:import_prop_types2.default.func,itemCount:import_prop_types2.default.number,id:import_prop_types2.default.string,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})}),suppressRefError:import_prop_types2.default.bool,scrollIntoView:import_prop_types2.default.func,selectedItem:import_prop_types2.default.any,isOpen:import_prop_types2.default.bool,inputValue:import_prop_types2.default.string,highlightedIndex:import_prop_types2.default.number,labelId:import_prop_types2.default.string,inputId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func};var Downshift$1=Downshift;function validateGetMenuPropsCalledCorrectly(node,_ref3){let{refKey}=_ref3;node||console.error(`downshift: The ref prop "${refKey}" from getMenuProps was not applied correctly on your menu element.`)}function validateGetRootPropsCalledCorrectly(element,_ref4){let{refKey}=_ref4,refKeySpecified=refKey!=="ref",isComposite=!isDOMElement2(element);isComposite&&!refKeySpecified&&!(0,import_react_is.isForwardRef)(element)?console.error("downshift: You returned a non-DOM element. You must specify a refKey in getRootProps"):!isComposite&&refKeySpecified&&console.error(`downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified "${refKey}"`),!(0,import_react_is.isForwardRef)(element)&&!getElementProps(element)[refKey]&&console.error(`downshift: You must apply the ref prop "${refKey}" from getRootProps onto your root element.`)}var dropdownDefaultStateValues={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function callOnChangeProps(action,state,newState){let{props,type}=action,changes={};Object.keys(state).forEach(key2=>{invokeOnChangeHandler(key2,action,state,newState),newState[key2]!==state[key2]&&(changes[key2]=newState[key2])}),props.onStateChange&&Object.keys(changes).length&&props.onStateChange({type,...changes})}function invokeOnChangeHandler(key2,action,state,newState){let{props,type}=action,handler=`on${capitalizeString(key2)}Change`;props[handler]&&newState[key2]!==void 0&&newState[key2]!==state[key2]&&props[handler]({type,...newState})}function stateReducer(s2,a2){return a2.changes}function getA11ySelectionMessage(selectionParameters){let{selectedItem,itemToString:itemToStringLocal}=selectionParameters;return selectedItem?`${itemToStringLocal(selectedItem)} has been selected.`:""}var updateA11yStatus=debounce3((getA11yMessage,document12)=>{setStatus(getA11yMessage(),document12)},200),useIsomorphicLayoutEffect=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?import_react24.useLayoutEffect:import_react24.useEffect;function useElementIds(_ref){let{id=`downshift-${generateId()}`,labelId,menuId,getItemId,toggleButtonId,inputId}=_ref;return(0,import_react24.useRef)({labelId:labelId||`${id}-label`,menuId:menuId||`${id}-menu`,getItemId:getItemId||(index2=>`${id}-item-${index2}`),toggleButtonId:toggleButtonId||`${id}-toggle-button`,inputId:inputId||`${id}-input`}).current}function getItemIndex(index2,item,items){return index2!==void 0?index2:items.length===0?-1:items.indexOf(item)}function itemToString(item){return item?String(item):""}function isAcceptedCharacterKey(key2){return/^\S{1}$/.test(key2)}function capitalizeString(string){return`${string.slice(0,1).toUpperCase()}${string.slice(1)}`}function useLatestRef(val){let ref=(0,import_react24.useRef)(val);return ref.current=val,ref}function useEnhancedReducer(reducer,initialState,props){let prevStateRef=(0,import_react24.useRef)(),actionRef=(0,import_react24.useRef)(),enhancedReducer=(0,import_react24.useCallback)((state2,action2)=>{actionRef.current=action2,state2=getState(state2,action2.props);let changes=reducer(state2,action2);return action2.props.stateReducer(state2,{...action2,changes})},[reducer]),[state,dispatch]=(0,import_react24.useReducer)(enhancedReducer,initialState),propsRef=useLatestRef(props),dispatchWithProps=(0,import_react24.useCallback)(action2=>dispatch({props:propsRef.current,...action2}),[propsRef]),action=actionRef.current;return(0,import_react24.useEffect)(()=>{action&&prevStateRef.current&&prevStateRef.current!==state&&callOnChangeProps(action,getState(prevStateRef.current,action.props),state),prevStateRef.current=state},[state,props,action]),[state,dispatchWithProps]}function useControlledReducer$1(reducer,initialState,props){let[state,dispatch]=useEnhancedReducer(reducer,initialState,props);return[getState(state,props),dispatch]}var defaultProps$3={itemToString,stateReducer,getA11ySelectionMessage,scrollIntoView:scrollIntoView2,circularNavigation:!1,environment:typeof window>"u"?{}:window};function getDefaultValue$1(props,propKey,defaultStateValues2){defaultStateValues2===void 0&&(defaultStateValues2=dropdownDefaultStateValues);let defaultValue=props[`default${capitalizeString(propKey)}`];return defaultValue!==void 0?defaultValue:defaultStateValues2[propKey]}function getInitialValue$1(props,propKey,defaultStateValues2){defaultStateValues2===void 0&&(defaultStateValues2=dropdownDefaultStateValues);let value2=props[propKey];if(value2!==void 0)return value2;let initialValue=props[`initial${capitalizeString(propKey)}`];return initialValue!==void 0?initialValue:getDefaultValue$1(props,propKey,defaultStateValues2)}function getInitialState$2(props){let selectedItem=getInitialValue$1(props,"selectedItem"),isOpen=getInitialValue$1(props,"isOpen"),highlightedIndex=getInitialValue$1(props,"highlightedIndex"),inputValue=getInitialValue$1(props,"inputValue");return{highlightedIndex:highlightedIndex<0&&selectedItem&&isOpen?props.items.indexOf(selectedItem):highlightedIndex,isOpen,selectedItem,inputValue}}function getHighlightedIndexOnOpen(props,state,offset,getItemNodeFromIndex){let{items,initialHighlightedIndex,defaultHighlightedIndex}=props,{selectedItem,highlightedIndex}=state;return items.length===0?-1:initialHighlightedIndex!==void 0&&highlightedIndex===initialHighlightedIndex?initialHighlightedIndex:defaultHighlightedIndex!==void 0?defaultHighlightedIndex:selectedItem?offset===0?items.indexOf(selectedItem):getNextWrappingIndex(offset,items.indexOf(selectedItem),items.length,getItemNodeFromIndex,!1):offset===0?-1:offset<0?items.length-1:0}function useMouseAndTouchTracker(isOpen,downshiftElementRefs,environment,handleBlur){let mouseAndTouchTrackersRef=(0,import_react24.useRef)({isMouseDown:!1,isTouchMove:!1});return(0,import_react24.useEffect)(()=>{let onMouseDown=()=>{mouseAndTouchTrackersRef.current.isMouseDown=!0},onMouseUp=event=>{mouseAndTouchTrackersRef.current.isMouseDown=!1,isOpen&&!targetWithinDownshift(event.target,downshiftElementRefs.map(ref=>ref.current),environment)&&handleBlur()},onTouchStart=()=>{mouseAndTouchTrackersRef.current.isTouchMove=!1},onTouchMove=()=>{mouseAndTouchTrackersRef.current.isTouchMove=!0},onTouchEnd=event=>{isOpen&&!mouseAndTouchTrackersRef.current.isTouchMove&&!targetWithinDownshift(event.target,downshiftElementRefs.map(ref=>ref.current),environment,!1)&&handleBlur()};return environment.addEventListener("mousedown",onMouseDown),environment.addEventListener("mouseup",onMouseUp),environment.addEventListener("touchstart",onTouchStart),environment.addEventListener("touchmove",onTouchMove),environment.addEventListener("touchend",onTouchEnd),function(){environment.removeEventListener("mousedown",onMouseDown),environment.removeEventListener("mouseup",onMouseUp),environment.removeEventListener("touchstart",onTouchStart),environment.removeEventListener("touchmove",onTouchMove),environment.removeEventListener("touchend",onTouchEnd)}},[isOpen,environment]),mouseAndTouchTrackersRef}var useGetterPropsCalledChecker=()=>noop3;useGetterPropsCalledChecker=function(){let isInitialMountRef=(0,import_react24.useRef)(!0);for(var _len=arguments.length,propKeys=new Array(_len),_key=0;_key<_len;_key++)propKeys[_key]=arguments[_key];let getterPropsCalledRef=(0,import_react24.useRef)(propKeys.reduce((acc,propKey)=>(acc[propKey]={},acc),{}));return(0,import_react24.useEffect)(()=>{Object.keys(getterPropsCalledRef.current).forEach(propKey=>{let propCallInfo=getterPropsCalledRef.current[propKey];if(isInitialMountRef.current&&!Object.keys(propCallInfo).length){console.error(`downshift: You forgot to call the ${propKey} getter function on your component / element.`);return}let{suppressRefError,refKey,elementRef}=propCallInfo;(!elementRef||!elementRef.current)&&!suppressRefError&&console.error(`downshift: The ref prop "${refKey}" from ${propKey} was not applied correctly on your element.`)}),isInitialMountRef.current=!1}),(0,import_react24.useCallback)((propKey,suppressRefError,refKey,elementRef)=>{getterPropsCalledRef.current[propKey]={suppressRefError,refKey,elementRef}},[])};function useA11yMessageSetter(getA11yMessage,dependencyArray,_ref2){let{isInitialMount,highlightedIndex,items,environment,...rest}=_ref2;(0,import_react24.useEffect)(()=>{isInitialMount||updateA11yStatus(()=>getA11yMessage({highlightedIndex,highlightedItem:items[highlightedIndex],resultCount:items.length,...rest}),environment.document)},dependencyArray)}function useScrollIntoView(_ref3){let{highlightedIndex,isOpen,itemRefs,getItemNodeFromIndex,menuElement,scrollIntoView:scrollIntoViewProp}=_ref3,shouldScrollRef=(0,import_react24.useRef)(!0);return useIsomorphicLayoutEffect(()=>{highlightedIndex<0||!isOpen||!Object.keys(itemRefs.current).length||(shouldScrollRef.current===!1?shouldScrollRef.current=!0:scrollIntoViewProp(getItemNodeFromIndex(highlightedIndex),menuElement))},[highlightedIndex]),shouldScrollRef}var useControlPropsValidator=noop3;useControlPropsValidator=_ref4=>{let{isInitialMount,props,state}=_ref4,prevPropsRef=(0,import_react24.useRef)(props);(0,import_react24.useEffect)(()=>{isInitialMount||(validateControlledUnchanged(state,prevPropsRef.current,props),prevPropsRef.current=props)},[state,props,isInitialMount])};function downshiftCommonReducer(state,action,stateChangeTypes2){let{type,props}=action,changes;switch(type){case stateChangeTypes2.ItemMouseMove:changes={highlightedIndex:action.disabled?-1:action.index};break;case stateChangeTypes2.MenuMouseLeave:changes={highlightedIndex:-1};break;case stateChangeTypes2.ToggleButtonClick:case stateChangeTypes2.FunctionToggleMenu:changes={isOpen:!state.isOpen,highlightedIndex:state.isOpen?-1:getHighlightedIndexOnOpen(props,state,0)};break;case stateChangeTypes2.FunctionOpenMenu:changes={isOpen:!0,highlightedIndex:getHighlightedIndexOnOpen(props,state,0)};break;case stateChangeTypes2.FunctionCloseMenu:changes={isOpen:!1};break;case stateChangeTypes2.FunctionSetHighlightedIndex:changes={highlightedIndex:action.highlightedIndex};break;case stateChangeTypes2.FunctionSetInputValue:changes={inputValue:action.inputValue};break;case stateChangeTypes2.FunctionReset:changes={highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),isOpen:getDefaultValue$1(props,"isOpen"),selectedItem:getDefaultValue$1(props,"selectedItem"),inputValue:getDefaultValue$1(props,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return{...state,...changes}}function getItemIndexByCharacterKey(_a){for(var keysSoFar=_a.keysSoFar,highlightedIndex=_a.highlightedIndex,items=_a.items,itemToString2=_a.itemToString,getItemNodeFromIndex=_a.getItemNodeFromIndex,lowerCasedKeysSoFar=keysSoFar.toLowerCase(),index2=0;index2<items.length;index2++){var offsetIndex=(index2+highlightedIndex+1)%items.length,item=items[offsetIndex];if(item!==void 0&&itemToString2(item).toLowerCase().startsWith(lowerCasedKeysSoFar)){var element=getItemNodeFromIndex(offsetIndex);if(!element?.hasAttribute("disabled"))return offsetIndex}}return highlightedIndex}var propTypes$2={items:import_prop_types2.default.array.isRequired,itemToString:import_prop_types2.default.func,getA11yStatusMessage:import_prop_types2.default.func,getA11ySelectionMessage:import_prop_types2.default.func,circularNavigation:import_prop_types2.default.bool,highlightedIndex:import_prop_types2.default.number,defaultHighlightedIndex:import_prop_types2.default.number,initialHighlightedIndex:import_prop_types2.default.number,isOpen:import_prop_types2.default.bool,defaultIsOpen:import_prop_types2.default.bool,initialIsOpen:import_prop_types2.default.bool,selectedItem:import_prop_types2.default.any,initialSelectedItem:import_prop_types2.default.any,defaultSelectedItem:import_prop_types2.default.any,id:import_prop_types2.default.string,labelId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func,toggleButtonId:import_prop_types2.default.string,stateReducer:import_prop_types2.default.func,onSelectedItemChange:import_prop_types2.default.func,onHighlightedIndexChange:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onIsOpenChange:import_prop_types2.default.func,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})};function getA11yStatusMessage(_a){var isOpen=_a.isOpen,resultCount=_a.resultCount,previousResultCount=_a.previousResultCount;return isOpen?resultCount?resultCount!==previousResultCount?"".concat(resultCount," result").concat(resultCount===1?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}var defaultProps$2=__assign2(__assign2({},defaultProps$3),{getA11yStatusMessage}),validatePropTypes$2=noop3;validatePropTypes$2=function(options3,caller){import_prop_types2.default.checkPropTypes(propTypes$2,options3,"prop",caller.name)};var MenuKeyDownArrowDown="__menu_keydown_arrow_down__",MenuKeyDownArrowUp="__menu_keydown_arrow_up__",MenuKeyDownEscape="__menu_keydown_escape__",MenuKeyDownHome="__menu_keydown_home__",MenuKeyDownEnd="__menu_keydown_end__",MenuKeyDownEnter="__menu_keydown_enter__",MenuKeyDownSpaceButton="__menu_keydown_space_button__",MenuKeyDownCharacter="__menu_keydown_character__",MenuBlur="__menu_blur__",MenuMouseLeave$1="__menu_mouse_leave__",ItemMouseMove$1="__item_mouse_move__",ItemClick$1="__item_click__",ToggleButtonClick$1="__togglebutton_click__",ToggleButtonKeyDownArrowDown="__togglebutton_keydown_arrow_down__",ToggleButtonKeyDownArrowUp="__togglebutton_keydown_arrow_up__",ToggleButtonKeyDownCharacter="__togglebutton_keydown_character__",FunctionToggleMenu$1="__function_toggle_menu__",FunctionOpenMenu$1="__function_open_menu__",FunctionCloseMenu$1="__function_close_menu__",FunctionSetHighlightedIndex$1="__function_set_highlighted_index__",FunctionSelectItem$1="__function_select_item__",FunctionSetInputValue$1="__function_set_input_value__",FunctionReset$2="__function_reset__",stateChangeTypes$2=Object.freeze({__proto__:null,MenuKeyDownArrowDown,MenuKeyDownArrowUp,MenuKeyDownEscape,MenuKeyDownHome,MenuKeyDownEnd,MenuKeyDownEnter,MenuKeyDownSpaceButton,MenuKeyDownCharacter,MenuBlur,MenuMouseLeave:MenuMouseLeave$1,ItemMouseMove:ItemMouseMove$1,ItemClick:ItemClick$1,ToggleButtonClick:ToggleButtonClick$1,ToggleButtonKeyDownArrowDown,ToggleButtonKeyDownArrowUp,ToggleButtonKeyDownCharacter,FunctionToggleMenu:FunctionToggleMenu$1,FunctionOpenMenu:FunctionOpenMenu$1,FunctionCloseMenu:FunctionCloseMenu$1,FunctionSetHighlightedIndex:FunctionSetHighlightedIndex$1,FunctionSelectItem:FunctionSelectItem$1,FunctionSetInputValue:FunctionSetInputValue$1,FunctionReset:FunctionReset$2});function downshiftSelectReducer(state,action){let{type,props,shiftKey}=action,changes;switch(type){case ItemClick$1:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),selectedItem:props.items[action.index]};break;case ToggleButtonKeyDownCharacter:{let lowercasedKey=action.key,inputValue=`${state.inputValue}${lowercasedKey}`,itemIndex=getItemIndexByCharacterKey({keysSoFar:inputValue,highlightedIndex:state.selectedItem?props.items.indexOf(state.selectedItem):-1,items:props.items,itemToString:props.itemToString,getItemNodeFromIndex:action.getItemNodeFromIndex});changes={inputValue,...itemIndex>=0&&{selectedItem:props.items[itemIndex]}}}break;case ToggleButtonKeyDownArrowDown:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,1,action.getItemNodeFromIndex),isOpen:!0};break;case ToggleButtonKeyDownArrowUp:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,-1,action.getItemNodeFromIndex),isOpen:!0};break;case MenuKeyDownEnter:case MenuKeyDownSpaceButton:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),...state.highlightedIndex>=0&&{selectedItem:props.items[state.highlightedIndex]}};break;case MenuKeyDownHome:changes={highlightedIndex:getNextNonDisabledIndex(1,0,props.items.length,action.getItemNodeFromIndex,!1)};break;case MenuKeyDownEnd:changes={highlightedIndex:getNextNonDisabledIndex(-1,props.items.length-1,props.items.length,action.getItemNodeFromIndex,!1)};break;case MenuKeyDownEscape:changes={isOpen:!1,highlightedIndex:-1};break;case MenuBlur:changes={isOpen:!1,highlightedIndex:-1};break;case MenuKeyDownCharacter:{let lowercasedKey=action.key,inputValue=`${state.inputValue}${lowercasedKey}`,highlightedIndex=getItemIndexByCharacterKey({keysSoFar:inputValue,highlightedIndex:state.highlightedIndex,items:props.items,itemToString:props.itemToString,getItemNodeFromIndex:action.getItemNodeFromIndex});changes={inputValue,...highlightedIndex>=0&&{highlightedIndex}}}break;case MenuKeyDownArrowDown:changes={highlightedIndex:getNextWrappingIndex(shiftKey?5:1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)};break;case MenuKeyDownArrowUp:changes={highlightedIndex:getNextWrappingIndex(shiftKey?-5:-1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)};break;case FunctionSelectItem$1:changes={selectedItem:action.selectedItem};break;default:return downshiftCommonReducer(state,action,stateChangeTypes$2)}return{...state,...changes}}useSelect.stateChangeTypes=stateChangeTypes$2;function useSelect(userProps){userProps===void 0&&(userProps={}),validatePropTypes$2(userProps,useSelect);let props={...defaultProps$2,...userProps},{items,scrollIntoView:scrollIntoView3,environment,initialIsOpen,defaultIsOpen,itemToString:itemToString2,getA11ySelectionMessage:getA11ySelectionMessage2,getA11yStatusMessage:getA11yStatusMessage2}=props,initialState=getInitialState$2(props),[state,dispatch]=useControlledReducer$1(downshiftSelectReducer,initialState,props),{isOpen,highlightedIndex,selectedItem,inputValue}=state,toggleButtonRef=(0,import_react24.useRef)(null),menuRef=(0,import_react24.useRef)(null),itemRefs=(0,import_react24.useRef)({}),shouldBlurRef=(0,import_react24.useRef)(!0),clearTimeoutRef=(0,import_react24.useRef)(null),elementIds=useElementIds(props),previousResultCountRef=(0,import_react24.useRef)(),isInitialMountRef=(0,import_react24.useRef)(!0),latest=useLatestRef({state,props}),getItemNodeFromIndex=(0,import_react24.useCallback)(index2=>itemRefs.current[elementIds.getItemId(index2)],[elementIds]);useA11yMessageSetter(getA11yStatusMessage2,[isOpen,highlightedIndex,inputValue,items],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state}),useA11yMessageSetter(getA11ySelectionMessage2,[selectedItem],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state});let shouldScrollRef=useScrollIntoView({menuElement:menuRef.current,highlightedIndex,isOpen,itemRefs,scrollIntoView:scrollIntoView3,getItemNodeFromIndex});(0,import_react24.useEffect)(()=>(clearTimeoutRef.current=debounce3(outerDispatch=>{outerDispatch({type:FunctionSetInputValue$1,inputValue:""})},500),()=>{clearTimeoutRef.current.cancel()}),[]),(0,import_react24.useEffect)(()=>{inputValue&&clearTimeoutRef.current(dispatch)},[dispatch,inputValue]),useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state}),(0,import_react24.useEffect)(()=>{if(isInitialMountRef.current){(initialIsOpen||defaultIsOpen||isOpen)&&menuRef.current&&menuRef.current.focus();return}if(isOpen){menuRef.current&&menuRef.current.focus();return}environment.document.activeElement===menuRef.current&&toggleButtonRef.current&&(shouldBlurRef.current=!1,toggleButtonRef.current.focus())},[isOpen]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(previousResultCountRef.current=items.length)});let mouseAndTouchTrackersRef=useMouseAndTouchTracker(isOpen,[menuRef,toggleButtonRef],environment,()=>{dispatch({type:MenuBlur})}),setGetterPropCallInfo=useGetterPropsCalledChecker("getMenuProps","getToggleButtonProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]),(0,import_react24.useEffect)(()=>{isOpen||(itemRefs.current={})},[isOpen]);let toggleButtonKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:ToggleButtonKeyDownArrowDown,getItemNodeFromIndex,shiftKey:event.shiftKey})},ArrowUp(event){event.preventDefault(),dispatch({type:ToggleButtonKeyDownArrowUp,getItemNodeFromIndex,shiftKey:event.shiftKey})}}),[dispatch,getItemNodeFromIndex]),menuKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:MenuKeyDownArrowDown,getItemNodeFromIndex,shiftKey:event.shiftKey})},ArrowUp(event){event.preventDefault(),dispatch({type:MenuKeyDownArrowUp,getItemNodeFromIndex,shiftKey:event.shiftKey})},Home(event){event.preventDefault(),dispatch({type:MenuKeyDownHome,getItemNodeFromIndex})},End(event){event.preventDefault(),dispatch({type:MenuKeyDownEnd,getItemNodeFromIndex})},Escape(){dispatch({type:MenuKeyDownEscape})},Enter(event){event.preventDefault(),dispatch({type:MenuKeyDownEnter})}," "(event){event.preventDefault(),dispatch({type:MenuKeyDownSpaceButton})}}),[dispatch,getItemNodeFromIndex]),toggleMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionToggleMenu$1})},[dispatch]),closeMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionCloseMenu$1})},[dispatch]),openMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionOpenMenu$1})},[dispatch]),setHighlightedIndex=(0,import_react24.useCallback)(newHighlightedIndex=>{dispatch({type:FunctionSetHighlightedIndex$1,highlightedIndex:newHighlightedIndex})},[dispatch]),selectItem=(0,import_react24.useCallback)(newSelectedItem=>{dispatch({type:FunctionSelectItem$1,selectedItem:newSelectedItem})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset$2})},[dispatch]),setInputValue=(0,import_react24.useCallback)(newInputValue=>{dispatch({type:FunctionSetInputValue$1,inputValue:newInputValue})},[dispatch]),getLabelProps=(0,import_react24.useCallback)(labelProps=>({id:elementIds.labelId,htmlFor:elementIds.toggleButtonId,...labelProps}),[elementIds]),getMenuProps=(0,import_react24.useCallback)(function(_temp,_temp2){let{onMouseLeave,refKey="ref",onKeyDown,onBlur,ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2,latestState=latest.current.state,menuHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&menuKeyDownHandlers[key2]?menuKeyDownHandlers[key2](event):isAcceptedCharacterKey(key2)&&dispatch({type:MenuKeyDownCharacter,key:key2,getItemNodeFromIndex})},menuHandleBlur=()=>{if(shouldBlurRef.current===!1){shouldBlurRef.current=!0;return}!mouseAndTouchTrackersRef.current.isMouseDown&&dispatch({type:MenuBlur})},menuHandleMouseLeave=()=>{dispatch({type:MenuMouseLeave$1})};return setGetterPropCallInfo("getMenuProps",suppressRefError,refKey,menuRef),{[refKey]:handleRefs(ref,menuNode=>{menuRef.current=menuNode}),id:elementIds.menuId,role:"listbox","aria-labelledby":elementIds.labelId,tabIndex:-1,...latestState.isOpen&&latestState.highlightedIndex>-1&&{"aria-activedescendant":elementIds.getItemId(latestState.highlightedIndex)},onMouseLeave:callAllEventHandlers(onMouseLeave,menuHandleMouseLeave),onKeyDown:callAllEventHandlers(onKeyDown,menuHandleKeyDown),onBlur:callAllEventHandlers(onBlur,menuHandleBlur),...rest}},[dispatch,latest,menuKeyDownHandlers,mouseAndTouchTrackersRef,setGetterPropCallInfo,elementIds,getItemNodeFromIndex]),getToggleButtonProps=(0,import_react24.useCallback)(function(_temp3,_temp4){let{onClick,onKeyDown,refKey="ref",ref,...rest}=_temp3===void 0?{}:_temp3,{suppressRefError=!1}=_temp4===void 0?{}:_temp4,toggleButtonHandleClick=()=>{dispatch({type:ToggleButtonClick$1})},toggleButtonHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&toggleButtonKeyDownHandlers[key2]?toggleButtonKeyDownHandlers[key2](event):isAcceptedCharacterKey(key2)&&dispatch({type:ToggleButtonKeyDownCharacter,key:key2,getItemNodeFromIndex})},toggleProps={[refKey]:handleRefs(ref,toggleButtonNode=>{toggleButtonRef.current=toggleButtonNode}),id:elementIds.toggleButtonId,"aria-haspopup":"listbox","aria-expanded":latest.current.state.isOpen,"aria-labelledby":`${elementIds.labelId} ${elementIds.toggleButtonId}`,...rest};return rest.disabled||(toggleProps.onClick=callAllEventHandlers(onClick,toggleButtonHandleClick),toggleProps.onKeyDown=callAllEventHandlers(onKeyDown,toggleButtonHandleKeyDown)),setGetterPropCallInfo("getToggleButtonProps",suppressRefError,refKey,toggleButtonRef),toggleProps},[dispatch,latest,toggleButtonKeyDownHandlers,setGetterPropCallInfo,elementIds,getItemNodeFromIndex]),getItemProps2=(0,import_react24.useCallback)(function(_temp5){let{item,index:index2,onMouseMove,onClick,refKey="ref",ref,disabled,...rest}=_temp5===void 0?{}:_temp5,{state:latestState,props:latestProps}=latest.current,itemHandleMouseMove=()=>{index2!==latestState.highlightedIndex&&(shouldScrollRef.current=!1,dispatch({type:ItemMouseMove$1,index:index2,disabled}))},itemHandleClick=()=>{dispatch({type:ItemClick$1,index:index2})},itemIndex=getItemIndex(index2,item,latestProps.items);if(itemIndex<0)throw new Error("Pass either item or item index in getItemProps!");let itemProps={disabled,role:"option","aria-selected":`${itemIndex===latestState.highlightedIndex}`,id:elementIds.getItemId(itemIndex),[refKey]:handleRefs(ref,itemNode=>{itemNode&&(itemRefs.current[elementIds.getItemId(itemIndex)]=itemNode)}),...rest};return disabled||(itemProps.onClick=callAllEventHandlers(onClick,itemHandleClick)),itemProps.onMouseMove=callAllEventHandlers(onMouseMove,itemHandleMouseMove),itemProps},[dispatch,latest,shouldScrollRef,elementIds]);return{getToggleButtonProps,getLabelProps,getMenuProps,getItemProps:getItemProps2,toggleMenu,openMenu,closeMenu,setHighlightedIndex,selectItem,reset,setInputValue,highlightedIndex,isOpen,selectedItem,inputValue}}var InputKeyDownArrowDown="__input_keydown_arrow_down__",InputKeyDownArrowUp="__input_keydown_arrow_up__",InputKeyDownEscape="__input_keydown_escape__",InputKeyDownHome="__input_keydown_home__",InputKeyDownEnd="__input_keydown_end__",InputKeyDownEnter="__input_keydown_enter__",InputChange="__input_change__",InputBlur="__input_blur__",MenuMouseLeave="__menu_mouse_leave__",ItemMouseMove="__item_mouse_move__",ItemClick="__item_click__",ToggleButtonClick="__togglebutton_click__",FunctionToggleMenu="__function_toggle_menu__",FunctionOpenMenu="__function_open_menu__",FunctionCloseMenu="__function_close_menu__",FunctionSetHighlightedIndex="__function_set_highlighted_index__",FunctionSelectItem="__function_select_item__",FunctionSetInputValue="__function_set_input_value__",FunctionReset$1="__function_reset__",ControlledPropUpdatedSelectedItem="__controlled_prop_updated_selected_item__",stateChangeTypes$1=Object.freeze({__proto__:null,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownEscape,InputKeyDownHome,InputKeyDownEnd,InputKeyDownEnter,InputChange,InputBlur,MenuMouseLeave,ItemMouseMove,ItemClick,ToggleButtonClick,FunctionToggleMenu,FunctionOpenMenu,FunctionCloseMenu,FunctionSetHighlightedIndex,FunctionSelectItem,FunctionSetInputValue,FunctionReset:FunctionReset$1,ControlledPropUpdatedSelectedItem});function getInitialState$1(props){let initialState=getInitialState$2(props),{selectedItem}=initialState,{inputValue}=initialState;return inputValue===""&&selectedItem&&props.defaultInputValue===void 0&&props.initialInputValue===void 0&&props.inputValue===void 0&&(inputValue=props.itemToString(selectedItem)),{...initialState,inputValue}}var propTypes$1={items:import_prop_types2.default.array.isRequired,itemToString:import_prop_types2.default.func,getA11yStatusMessage:import_prop_types2.default.func,getA11ySelectionMessage:import_prop_types2.default.func,circularNavigation:import_prop_types2.default.bool,highlightedIndex:import_prop_types2.default.number,defaultHighlightedIndex:import_prop_types2.default.number,initialHighlightedIndex:import_prop_types2.default.number,isOpen:import_prop_types2.default.bool,defaultIsOpen:import_prop_types2.default.bool,initialIsOpen:import_prop_types2.default.bool,selectedItem:import_prop_types2.default.any,initialSelectedItem:import_prop_types2.default.any,defaultSelectedItem:import_prop_types2.default.any,inputValue:import_prop_types2.default.string,defaultInputValue:import_prop_types2.default.string,initialInputValue:import_prop_types2.default.string,id:import_prop_types2.default.string,labelId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func,inputId:import_prop_types2.default.string,toggleButtonId:import_prop_types2.default.string,stateReducer:import_prop_types2.default.func,onSelectedItemChange:import_prop_types2.default.func,onHighlightedIndexChange:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onIsOpenChange:import_prop_types2.default.func,onInputValueChange:import_prop_types2.default.func,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})};function useControlledReducer(reducer,initialState,props){let previousSelectedItemRef=(0,import_react24.useRef)(),[state,dispatch]=useEnhancedReducer(reducer,initialState,props);return(0,import_react24.useEffect)(()=>{isControlledProp(props,"selectedItem")&&(previousSelectedItemRef.current!==props.selectedItem&&dispatch({type:ControlledPropUpdatedSelectedItem,inputValue:props.itemToString(props.selectedItem)}),previousSelectedItemRef.current=state.selectedItem===previousSelectedItemRef.current?props.selectedItem:state.selectedItem)}),[getState(state,props),dispatch]}var validatePropTypes$1=noop3;validatePropTypes$1=(options3,caller)=>{import_prop_types2.default.checkPropTypes(propTypes$1,options3,"prop",caller.name)};var defaultProps$1={...defaultProps$3,getA11yStatusMessage:getA11yStatusMessage$1,circularNavigation:!0};function downshiftUseComboboxReducer(state,action){let{type,props,shiftKey}=action,changes;switch(type){case ItemClick:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),selectedItem:props.items[action.index],inputValue:props.itemToString(props.items[action.index])};break;case InputKeyDownArrowDown:state.isOpen?changes={highlightedIndex:getNextWrappingIndex(shiftKey?5:1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)}:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,1,action.getItemNodeFromIndex),isOpen:props.items.length>=0};break;case InputKeyDownArrowUp:state.isOpen?changes={highlightedIndex:getNextWrappingIndex(shiftKey?-5:-1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)}:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,-1,action.getItemNodeFromIndex),isOpen:props.items.length>=0};break;case InputKeyDownEnter:changes={...state.isOpen&&state.highlightedIndex>=0&&{selectedItem:props.items[state.highlightedIndex],isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),inputValue:props.itemToString(props.items[state.highlightedIndex])}};break;case InputKeyDownEscape:changes={isOpen:!1,highlightedIndex:-1,...!state.isOpen&&{selectedItem:null,inputValue:""}};break;case InputKeyDownHome:changes={highlightedIndex:getNextNonDisabledIndex(1,0,props.items.length,action.getItemNodeFromIndex,!1)};break;case InputKeyDownEnd:changes={highlightedIndex:getNextNonDisabledIndex(-1,props.items.length-1,props.items.length,action.getItemNodeFromIndex,!1)};break;case InputBlur:changes={isOpen:!1,highlightedIndex:-1,...state.highlightedIndex>=0&&action.selectItem&&{selectedItem:props.items[state.highlightedIndex],inputValue:props.itemToString(props.items[state.highlightedIndex])}};break;case InputChange:changes={isOpen:!0,highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),inputValue:action.inputValue};break;case FunctionSelectItem:changes={selectedItem:action.selectedItem,inputValue:props.itemToString(action.selectedItem)};break;case ControlledPropUpdatedSelectedItem:changes={inputValue:action.inputValue};break;default:return downshiftCommonReducer(state,action,stateChangeTypes$1)}return{...state,...changes}}useCombobox.stateChangeTypes=stateChangeTypes$1;function useCombobox(userProps){userProps===void 0&&(userProps={}),validatePropTypes$1(userProps,useCombobox);let props={...defaultProps$1,...userProps},{initialIsOpen,defaultIsOpen,items,scrollIntoView:scrollIntoView3,environment,getA11yStatusMessage:getA11yStatusMessage2,getA11ySelectionMessage:getA11ySelectionMessage2,itemToString:itemToString2}=props,initialState=getInitialState$1(props),[state,dispatch]=useControlledReducer(downshiftUseComboboxReducer,initialState,props),{isOpen,highlightedIndex,selectedItem,inputValue}=state,menuRef=(0,import_react24.useRef)(null),itemRefs=(0,import_react24.useRef)({}),inputRef=(0,import_react24.useRef)(null),toggleButtonRef=(0,import_react24.useRef)(null),comboboxRef=(0,import_react24.useRef)(null),isInitialMountRef=(0,import_react24.useRef)(!0),elementIds=useElementIds(props),previousResultCountRef=(0,import_react24.useRef)(),latest=useLatestRef({state,props}),getItemNodeFromIndex=(0,import_react24.useCallback)(index2=>itemRefs.current[elementIds.getItemId(index2)],[elementIds]);useA11yMessageSetter(getA11yStatusMessage2,[isOpen,highlightedIndex,inputValue,items],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state}),useA11yMessageSetter(getA11ySelectionMessage2,[selectedItem],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state});let shouldScrollRef=useScrollIntoView({menuElement:menuRef.current,highlightedIndex,isOpen,itemRefs,scrollIntoView:scrollIntoView3,getItemNodeFromIndex});useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state}),(0,import_react24.useEffect)(()=>{(initialIsOpen||defaultIsOpen||isOpen)&&inputRef.current&&inputRef.current.focus()},[]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(previousResultCountRef.current=items.length)});let mouseAndTouchTrackersRef=useMouseAndTouchTracker(isOpen,[comboboxRef,menuRef,toggleButtonRef],environment,()=>{dispatch({type:InputBlur,selectItem:!1})}),setGetterPropCallInfo=useGetterPropsCalledChecker("getInputProps","getComboboxProps","getMenuProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]),(0,import_react24.useEffect)(()=>{isOpen||(itemRefs.current={})},[isOpen]);let inputKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:InputKeyDownArrowDown,shiftKey:event.shiftKey,getItemNodeFromIndex})},ArrowUp(event){event.preventDefault(),dispatch({type:InputKeyDownArrowUp,shiftKey:event.shiftKey,getItemNodeFromIndex})},Home(event){latest.current.state.isOpen&&(event.preventDefault(),dispatch({type:InputKeyDownHome,getItemNodeFromIndex}))},End(event){latest.current.state.isOpen&&(event.preventDefault(),dispatch({type:InputKeyDownEnd,getItemNodeFromIndex}))},Escape(event){let latestState=latest.current.state;(latestState.isOpen||latestState.inputValue||latestState.selectedItem||latestState.highlightedIndex>-1)&&(event.preventDefault(),dispatch({type:InputKeyDownEscape}))},Enter(event){let latestState=latest.current.state;!latestState.isOpen||latestState.highlightedIndex<0||event.which===229||(event.preventDefault(),dispatch({type:InputKeyDownEnter,getItemNodeFromIndex}))}}),[dispatch,latest,getItemNodeFromIndex]),getLabelProps=(0,import_react24.useCallback)(labelProps=>({id:elementIds.labelId,htmlFor:elementIds.inputId,...labelProps}),[elementIds]),getMenuProps=(0,import_react24.useCallback)(function(_temp,_temp2){let{onMouseLeave,refKey="ref",ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2;return setGetterPropCallInfo("getMenuProps",suppressRefError,refKey,menuRef),{[refKey]:handleRefs(ref,menuNode=>{menuRef.current=menuNode}),id:elementIds.menuId,role:"listbox","aria-labelledby":elementIds.labelId,onMouseLeave:callAllEventHandlers(onMouseLeave,()=>{dispatch({type:MenuMouseLeave})}),...rest}},[dispatch,setGetterPropCallInfo,elementIds]),getItemProps2=(0,import_react24.useCallback)(function(_temp3){let{item,index:index2,refKey="ref",ref,onMouseMove,onMouseDown,onClick,onPress,disabled,...rest}=_temp3===void 0?{}:_temp3,{props:latestProps,state:latestState}=latest.current,itemIndex=getItemIndex(index2,item,latestProps.items);if(itemIndex<0)throw new Error("Pass either item or item index in getItemProps!");let onSelectKey="onClick",customClickHandler=onClick,itemHandleMouseMove=()=>{index2!==latestState.highlightedIndex&&(shouldScrollRef.current=!1,dispatch({type:ItemMouseMove,index:index2,disabled}))},itemHandleClick=()=>{dispatch({type:ItemClick,index:index2})},itemHandleMouseDown=e3=>e3.preventDefault();return{[refKey]:handleRefs(ref,itemNode=>{itemNode&&(itemRefs.current[elementIds.getItemId(itemIndex)]=itemNode)}),disabled,role:"option","aria-selected":`${itemIndex===latestState.highlightedIndex}`,id:elementIds.getItemId(itemIndex),...!disabled&&{[onSelectKey]:callAllEventHandlers(customClickHandler,itemHandleClick)},onMouseMove:callAllEventHandlers(onMouseMove,itemHandleMouseMove),onMouseDown:callAllEventHandlers(onMouseDown,itemHandleMouseDown),...rest}},[dispatch,latest,shouldScrollRef,elementIds]),getToggleButtonProps=(0,import_react24.useCallback)(function(_temp4){let{onClick,onPress,refKey="ref",ref,...rest}=_temp4===void 0?{}:_temp4,toggleButtonHandleClick=()=>{dispatch({type:ToggleButtonClick}),!latest.current.state.isOpen&&inputRef.current&&inputRef.current.focus()};return{[refKey]:handleRefs(ref,toggleButtonNode=>{toggleButtonRef.current=toggleButtonNode}),id:elementIds.toggleButtonId,tabIndex:-1,...!rest.disabled&&{onClick:callAllEventHandlers(onClick,toggleButtonHandleClick)},...rest}},[dispatch,latest,elementIds]),getInputProps=(0,import_react24.useCallback)(function(_temp5,_temp6){let{onKeyDown,onChange,onInput,onBlur,onChangeText,refKey="ref",ref,...rest}=_temp5===void 0?{}:_temp5,{suppressRefError=!1}=_temp6===void 0?{}:_temp6;setGetterPropCallInfo("getInputProps",suppressRefError,refKey,inputRef);let latestState=latest.current.state,inputHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&inputKeyDownHandlers[key2]&&inputKeyDownHandlers[key2](event)},inputHandleChange=event=>{dispatch({type:InputChange,inputValue:event.target.value})},inputHandleBlur=()=>{latestState.isOpen&&!mouseAndTouchTrackersRef.current.isMouseDown&&dispatch({type:InputBlur,selectItem:!0})},onChangeKey="onChange",eventHandlers={};return rest.disabled||(eventHandlers={[onChangeKey]:callAllEventHandlers(onChange,onInput,inputHandleChange),onKeyDown:callAllEventHandlers(onKeyDown,inputHandleKeyDown),onBlur:callAllEventHandlers(onBlur,inputHandleBlur)}),{[refKey]:handleRefs(ref,inputNode=>{inputRef.current=inputNode}),id:elementIds.inputId,"aria-autocomplete":"list","aria-controls":elementIds.menuId,...latestState.isOpen&&latestState.highlightedIndex>-1&&{"aria-activedescendant":elementIds.getItemId(latestState.highlightedIndex)},"aria-labelledby":elementIds.labelId,autoComplete:"off",value:latestState.inputValue,...eventHandlers,...rest}},[dispatch,inputKeyDownHandlers,latest,mouseAndTouchTrackersRef,setGetterPropCallInfo,elementIds]),getComboboxProps=(0,import_react24.useCallback)(function(_temp7,_temp8){let{refKey="ref",ref,...rest}=_temp7===void 0?{}:_temp7,{suppressRefError=!1}=_temp8===void 0?{}:_temp8;return setGetterPropCallInfo("getComboboxProps",suppressRefError,refKey,comboboxRef),{[refKey]:handleRefs(ref,comboboxNode=>{comboboxRef.current=comboboxNode}),role:"combobox","aria-haspopup":"listbox","aria-owns":elementIds.menuId,"aria-expanded":latest.current.state.isOpen,...rest}},[latest,setGetterPropCallInfo,elementIds]),toggleMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionToggleMenu})},[dispatch]),closeMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionCloseMenu})},[dispatch]),openMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionOpenMenu})},[dispatch]),setHighlightedIndex=(0,import_react24.useCallback)(newHighlightedIndex=>{dispatch({type:FunctionSetHighlightedIndex,highlightedIndex:newHighlightedIndex})},[dispatch]),selectItem=(0,import_react24.useCallback)(newSelectedItem=>{dispatch({type:FunctionSelectItem,selectedItem:newSelectedItem})},[dispatch]),setInputValue=(0,import_react24.useCallback)(newInputValue=>{dispatch({type:FunctionSetInputValue,inputValue:newInputValue})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset$1})},[dispatch]);return{getItemProps:getItemProps2,getLabelProps,getMenuProps,getInputProps,getComboboxProps,getToggleButtonProps,toggleMenu,openMenu,closeMenu,setHighlightedIndex,setInputValue,selectItem,reset,highlightedIndex,isOpen,selectedItem,inputValue}}var defaultStateValues={activeIndex:-1,selectedItems:[]};function getInitialValue(props,propKey){return getInitialValue$1(props,propKey,defaultStateValues)}function getDefaultValue(props,propKey){return getDefaultValue$1(props,propKey,defaultStateValues)}function getInitialState(props){let activeIndex=getInitialValue(props,"activeIndex"),selectedItems=getInitialValue(props,"selectedItems");return{activeIndex,selectedItems}}function isKeyDownOperationPermitted(event){if(event.shiftKey||event.metaKey||event.ctrlKey||event.altKey)return!1;let element=event.target;return!(element instanceof HTMLInputElement&&element.value!==""&&(element.selectionStart!==0||element.selectionEnd!==0))}function getA11yRemovalMessage(selectionParameters){let{removedSelectedItem,itemToString:itemToStringLocal}=selectionParameters;return`${itemToStringLocal(removedSelectedItem)} has been removed.`}var propTypes={selectedItems:import_prop_types2.default.array,initialSelectedItems:import_prop_types2.default.array,defaultSelectedItems:import_prop_types2.default.array,itemToString:import_prop_types2.default.func,getA11yRemovalMessage:import_prop_types2.default.func,stateReducer:import_prop_types2.default.func,activeIndex:import_prop_types2.default.number,initialActiveIndex:import_prop_types2.default.number,defaultActiveIndex:import_prop_types2.default.number,onActiveIndexChange:import_prop_types2.default.func,onSelectedItemsChange:import_prop_types2.default.func,keyNavigationNext:import_prop_types2.default.string,keyNavigationPrevious:import_prop_types2.default.string,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})},defaultProps={itemToString:defaultProps$3.itemToString,stateReducer:defaultProps$3.stateReducer,environment:defaultProps$3.environment,getA11yRemovalMessage,keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},validatePropTypes=noop3;validatePropTypes=(options3,caller)=>{import_prop_types2.default.checkPropTypes(propTypes,options3,"prop",caller.name)};var SelectedItemClick="__selected_item_click__",SelectedItemKeyDownDelete="__selected_item_keydown_delete__",SelectedItemKeyDownBackspace="__selected_item_keydown_backspace__",SelectedItemKeyDownNavigationNext="__selected_item_keydown_navigation_next__",SelectedItemKeyDownNavigationPrevious="__selected_item_keydown_navigation_previous__",DropdownKeyDownNavigationPrevious="__dropdown_keydown_navigation_previous__",DropdownKeyDownBackspace="__dropdown_keydown_backspace__",DropdownClick="__dropdown_click__",FunctionAddSelectedItem="__function_add_selected_item__",FunctionRemoveSelectedItem="__function_remove_selected_item__",FunctionSetSelectedItems="__function_set_selected_items__",FunctionSetActiveIndex="__function_set_active_index__",FunctionReset="__function_reset__",stateChangeTypes=Object.freeze({__proto__:null,SelectedItemClick,SelectedItemKeyDownDelete,SelectedItemKeyDownBackspace,SelectedItemKeyDownNavigationNext,SelectedItemKeyDownNavigationPrevious,DropdownKeyDownNavigationPrevious,DropdownKeyDownBackspace,DropdownClick,FunctionAddSelectedItem,FunctionRemoveSelectedItem,FunctionSetSelectedItems,FunctionSetActiveIndex,FunctionReset});function downshiftMultipleSelectionReducer(state,action){let{type,index:index2,props,selectedItem}=action,{activeIndex,selectedItems}=state,changes;switch(type){case SelectedItemClick:changes={activeIndex:index2};break;case SelectedItemKeyDownNavigationPrevious:changes={activeIndex:activeIndex-1<0?0:activeIndex-1};break;case SelectedItemKeyDownNavigationNext:changes={activeIndex:activeIndex+1>=selectedItems.length?-1:activeIndex+1};break;case SelectedItemKeyDownBackspace:case SelectedItemKeyDownDelete:{let newActiveIndex=activeIndex;selectedItems.length===1?newActiveIndex=-1:activeIndex===selectedItems.length-1&&(newActiveIndex=selectedItems.length-2),changes={selectedItems:[...selectedItems.slice(0,activeIndex),...selectedItems.slice(activeIndex+1)],activeIndex:newActiveIndex};break}case DropdownKeyDownNavigationPrevious:changes={activeIndex:selectedItems.length-1};break;case DropdownKeyDownBackspace:changes={selectedItems:selectedItems.slice(0,selectedItems.length-1)};break;case FunctionAddSelectedItem:changes={selectedItems:[...selectedItems,selectedItem]};break;case DropdownClick:changes={activeIndex:-1};break;case FunctionRemoveSelectedItem:{let newActiveIndex=activeIndex,selectedItemIndex=selectedItems.indexOf(selectedItem);selectedItemIndex>=0&&(selectedItems.length===1?newActiveIndex=-1:selectedItemIndex===selectedItems.length-1&&(newActiveIndex=selectedItems.length-2),changes={selectedItems:[...selectedItems.slice(0,selectedItemIndex),...selectedItems.slice(selectedItemIndex+1)],activeIndex:newActiveIndex});break}case FunctionSetSelectedItems:{let{selectedItems:newSelectedItems}=action;changes={selectedItems:newSelectedItems};break}case FunctionSetActiveIndex:{let{activeIndex:newActiveIndex}=action;changes={activeIndex:newActiveIndex};break}case FunctionReset:changes={activeIndex:getDefaultValue(props,"activeIndex"),selectedItems:getDefaultValue(props,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return{...state,...changes}}useMultipleSelection.stateChangeTypes=stateChangeTypes;function useMultipleSelection(userProps){userProps===void 0&&(userProps={}),validatePropTypes(userProps,useMultipleSelection);let props={...defaultProps,...userProps},{getA11yRemovalMessage:getA11yRemovalMessage2,itemToString:itemToString2,environment,keyNavigationNext,keyNavigationPrevious}=props,[state,dispatch]=useControlledReducer$1(downshiftMultipleSelectionReducer,getInitialState(props),props),{activeIndex,selectedItems}=state,isInitialMountRef=(0,import_react24.useRef)(!0),dropdownRef=(0,import_react24.useRef)(null),previousSelectedItemsRef=(0,import_react24.useRef)(selectedItems),selectedItemRefs=(0,import_react24.useRef)();selectedItemRefs.current=[];let latest=useLatestRef({state,props});(0,import_react24.useEffect)(()=>{if(!isInitialMountRef.current){if(selectedItems.length<previousSelectedItemsRef.current.length){let removedSelectedItem=previousSelectedItemsRef.current.find(item=>selectedItems.indexOf(item)<0);setStatus(getA11yRemovalMessage2({itemToString:itemToString2,resultCount:selectedItems.length,removedSelectedItem,activeIndex,activeSelectedItem:selectedItems[activeIndex]}),environment.document)}previousSelectedItemsRef.current=selectedItems}},[selectedItems.length]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(activeIndex===-1&&dropdownRef.current?dropdownRef.current.focus():selectedItemRefs.current[activeIndex]&&selectedItemRefs.current[activeIndex].focus())},[activeIndex]),useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state});let setGetterPropCallInfo=useGetterPropsCalledChecker("getDropdownProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]);let selectedItemKeyDownHandlers=(0,import_react24.useMemo)(()=>({[keyNavigationPrevious](){dispatch({type:SelectedItemKeyDownNavigationPrevious})},[keyNavigationNext](){dispatch({type:SelectedItemKeyDownNavigationNext})},Delete(){dispatch({type:SelectedItemKeyDownDelete})},Backspace(){dispatch({type:SelectedItemKeyDownBackspace})}}),[dispatch,keyNavigationNext,keyNavigationPrevious]),dropdownKeyDownHandlers=(0,import_react24.useMemo)(()=>({[keyNavigationPrevious](event){isKeyDownOperationPermitted(event)&&dispatch({type:DropdownKeyDownNavigationPrevious})},Backspace(event){isKeyDownOperationPermitted(event)&&dispatch({type:DropdownKeyDownBackspace})}}),[dispatch,keyNavigationPrevious]),getSelectedItemProps=(0,import_react24.useCallback)(function(_temp){let{refKey="ref",ref,onClick,onKeyDown,selectedItem,index:index2,...rest}=_temp===void 0?{}:_temp,{state:latestState}=latest.current;if(getItemIndex(index2,selectedItem,latestState.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");let selectedItemHandleClick=()=>{dispatch({type:SelectedItemClick,index:index2})},selectedItemHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&selectedItemKeyDownHandlers[key2]&&selectedItemKeyDownHandlers[key2](event)};return{[refKey]:handleRefs(ref,selectedItemNode=>{selectedItemNode&&selectedItemRefs.current.push(selectedItemNode)}),tabIndex:index2===latestState.activeIndex?0:-1,onClick:callAllEventHandlers(onClick,selectedItemHandleClick),onKeyDown:callAllEventHandlers(onKeyDown,selectedItemHandleKeyDown),...rest}},[dispatch,latest,selectedItemKeyDownHandlers]),getDropdownProps=(0,import_react24.useCallback)(function(_temp2,_temp3){let{refKey="ref",ref,onKeyDown,onClick,preventKeyAction=!1,...rest}=_temp2===void 0?{}:_temp2,{suppressRefError=!1}=_temp3===void 0?{}:_temp3;setGetterPropCallInfo("getDropdownProps",suppressRefError,refKey,dropdownRef);let dropdownHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&dropdownKeyDownHandlers[key2]&&dropdownKeyDownHandlers[key2](event)},dropdownHandleClick=()=>{dispatch({type:DropdownClick})};return{[refKey]:handleRefs(ref,dropdownNode=>{dropdownNode&&(dropdownRef.current=dropdownNode)}),...!preventKeyAction&&{onKeyDown:callAllEventHandlers(onKeyDown,dropdownHandleKeyDown),onClick:callAllEventHandlers(onClick,dropdownHandleClick)},...rest}},[dispatch,dropdownKeyDownHandlers,setGetterPropCallInfo]),addSelectedItem=(0,import_react24.useCallback)(selectedItem=>{dispatch({type:FunctionAddSelectedItem,selectedItem})},[dispatch]),removeSelectedItem=(0,import_react24.useCallback)(selectedItem=>{dispatch({type:FunctionRemoveSelectedItem,selectedItem})},[dispatch]),setSelectedItems=(0,import_react24.useCallback)(newSelectedItems=>{dispatch({type:FunctionSetSelectedItems,selectedItems:newSelectedItems})},[dispatch]),setActiveIndex=(0,import_react24.useCallback)(newActiveIndex=>{dispatch({type:FunctionSetActiveIndex,activeIndex:newActiveIndex})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset})},[dispatch]);return{getSelectedItemProps,getDropdownProps,addSelectedItem,removeSelectedItem,setSelectedItems,setActiveIndex,reset,selectedItems,activeIndex}}var import_fuse=__toESM(require_fuse());var import_react25=__toESM(require_react());function isCloseType(x3){return!!(x3&&x3.closeMenu)}function isClearType(x3){return!!(x3&&x3.clearLastViewed)}function isExpandType(x3){return!!(x3&&x3.showAll)}function isSearchResult(x3){return!!(x3&&x3.item)}var{document:document8}=scope,DEFAULT_MAX_SEARCH_RESULTS=50,options2={shouldSort:!0,tokenize:!0,findAllMatches:!0,includeScore:!0,includeMatches:!0,threshold:.2,location:0,distance:100,maxPatternLength:32,minMatchCharLength:1,keys:[{name:"name",weight:.7},{name:"path",weight:.3}]},ScreenReaderLabel=newStyled.label({position:"absolute",left:-1e4,top:"auto",width:1,height:1,overflow:"hidden"}),SearchIcon=newStyled(Icons)(({theme})=>({width:12,height:12,position:"absolute",top:10,left:12,zIndex:1,pointerEvents:"none",color:theme.textMutedColor})),SearchField=newStyled.div(({theme})=>({display:"flex",flexDirection:"column",position:"relative","&:focus-within svg":{color:theme.color.defaultText}})),Input2=newStyled.input(({theme})=>({appearance:"none",height:32,paddingLeft:30,paddingRight:32,border:`1px solid ${theme.appBorderColor}`,background:"transparent",borderRadius:32,fontSize:`${theme.typography.size.s1+1}px`,fontFamily:"inherit",transition:"all 150ms",color:theme.color.defaultText,"&:focus, &:active":{outline:0,borderColor:theme.color.secondary,background:theme.background.app},"&::placeholder":{color:theme.textMutedColor,opacity:1},"&:valid ~ code, &:focus ~ code":{display:"none"},"&:invalid ~ svg":{display:"none"},"&:valid ~ svg":{display:"block"},"&::-ms-clear":{display:"none"},"&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}})),FocusKey=newStyled.code(({theme})=>({position:"absolute",top:8,right:16,minWidth:16,height:16,zIndex:1,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:3,userSelect:"none",pointerEvents:"none"})),ClearIcon=newStyled(Icons)(({theme})=>({width:16,height:16,padding:4,position:"absolute",top:8,right:16,zIndex:1,background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.1)",borderRadius:16,color:theme.base==="light"?theme.color.dark:theme.textMutedColor,cursor:"pointer"})),FocusContainer=newStyled.div({outline:0}),Search=import_react25.default.memo(function({children,dataset,isLoading=!1,enableShortcuts=!0,getLastViewed,clearLastViewed,initialQuery=""}){let api=useStorybookApi(),inputRef=(0,import_react25.useRef)(null),[inputPlaceholder,setPlaceholder]=(0,import_react25.useState)("Find components"),[allComponents,showAllComponents]=(0,import_react25.useState)(!1),searchShortcut=api?shortcutToHumanString(api.getShortcutKeys().search):"/",selectStory=(0,import_react25.useCallback)((id,refId)=>{api&&api.selectStory(id,void 0,{ref:refId!==DEFAULT_REF_ID&&refId}),inputRef.current.blur(),showAllComponents(!1)},[api,inputRef,showAllComponents,DEFAULT_REF_ID]),list=(0,import_react25.useMemo)(()=>dataset.entries.reduce((acc,[refId,{index:index2,status}])=>{let groupStatus=getGroupStatus(index2||{},status);return index2&&acc.push(...Object.values(index2).map(item=>{let statusValue=status&&status[item.id]?getHighestStatus(Object.values(status[item.id]||{}).map(s2=>s2.status)):null;return{...searchItem(item,dataset.hash[refId]),status:statusValue||groupStatus[item.id]||null}})),acc},[]),[dataset]),fuse=(0,import_react25.useMemo)(()=>new import_fuse.default(list,options2),[list]),getResults=(0,import_react25.useCallback)(input=>{if(!input)return[];let results=[],resultIds=new Set,distinctResults=fuse.search(input).filter(({item})=>!(item.type==="component"||item.type==="docs"||item.type==="story")||resultIds.has(item.parent)?!1:(resultIds.add(item.id),!0));return distinctResults.length&&(results=distinctResults.slice(0,allComponents?1e3:DEFAULT_MAX_SEARCH_RESULTS),distinctResults.length>DEFAULT_MAX_SEARCH_RESULTS&&!allComponents&&results.push({showAll:()=>showAllComponents(!0),totalCount:distinctResults.length,moreCount:distinctResults.length-DEFAULT_MAX_SEARCH_RESULTS})),results},[allComponents,fuse]),stateReducer2=(0,import_react25.useCallback)((state,changes)=>{switch(changes.type){case Downshift$1.stateChangeTypes.blurInput:return{...changes,inputValue:state.inputValue,isOpen:state.inputValue&&!state.selectedItem,selectedItem:null};case Downshift$1.stateChangeTypes.mouseUp:return{};case Downshift$1.stateChangeTypes.keyDownEscape:return state.inputValue?{...changes,inputValue:"",isOpen:!0,selectedItem:null}:(inputRef.current.blur(),{...changes,isOpen:!1,selectedItem:null});case Downshift$1.stateChangeTypes.clickItem:case Downshift$1.stateChangeTypes.keyDownEnter:{if(isSearchResult(changes.selectedItem)){let{id,refId}=changes.selectedItem.item;return selectStory(id,refId),{...changes,inputValue:state.inputValue,isOpen:!1}}return isExpandType(changes.selectedItem)?(changes.selectedItem.showAll(),{}):isClearType(changes.selectedItem)?(changes.selectedItem.clearLastViewed(),inputRef.current.blur(),{isOpen:!1}):isCloseType(changes.selectedItem)?(inputRef.current.blur(),{isOpen:!1}):changes}case Downshift$1.stateChangeTypes.changeInput:return showAllComponents(!1),changes;default:return changes}},[inputRef,selectStory,showAllComponents]);return import_react25.default.createElement(Downshift$1,{initialInputValue:initialQuery,stateReducer:stateReducer2,itemToString:result2=>result2?.item?.name||"",scrollIntoView:e3=>scrollIntoView(e3)},({isOpen,openMenu,closeMenu,inputValue,clearSelection,getInputProps,getItemProps:getItemProps2,getLabelProps,getMenuProps,getRootProps,highlightedIndex})=>{let input=inputValue?inputValue.trim():"",results=input?getResults(input):[],lastViewed=!input&&getLastViewed();lastViewed&&lastViewed.length&&(results=lastViewed.reduce((acc,{storyId,refId})=>{let data=dataset.hash[refId];if(data&&data.index&&data.index[storyId]){let story=data.index[storyId],item=story.type==="story"?data.index[story.parent]:story;acc.some(res=>res.item.refId===refId&&res.item.id===item.id)||acc.push({item:searchItem(item,dataset.hash[refId]),matches:[],score:0})}return acc},[]),results.push({closeMenu}),results.length>0&&results.push({clearLastViewed}));let inputId="storybook-explorer-searchfield",inputProps=getInputProps({id:inputId,ref:inputRef,required:!0,type:"search",placeholder:inputPlaceholder,onFocus:()=>{openMenu(),setPlaceholder("Type to find...")},onBlur:()=>setPlaceholder("Find components")}),labelProps=getLabelProps({htmlFor:inputId});return import_react25.default.createElement(import_react25.default.Fragment,null,import_react25.default.createElement(ScreenReaderLabel,{...labelProps},"Search for components"),import_react25.default.createElement(SearchField,{...getRootProps({refKey:""},{suppressRefError:!0}),className:"search-field"},import_react25.default.createElement(SearchIcon,{icon:"search"}),import_react25.default.createElement(Input2,{...inputProps}),enableShortcuts&&import_react25.default.createElement(FocusKey,null,searchShortcut),import_react25.default.createElement(ClearIcon,{icon:"cross",onClick:()=>clearSelection()})),import_react25.default.createElement(FocusContainer,{tabIndex:0,id:"storybook-explorer-menu"},children({query:input,results,isBrowsing:!isOpen&&document8.activeElement!==inputRef.current,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex})))})});var import_react26=__toESM(require_react());var{document:document9}=scope,ResultsList=newStyled.ol({listStyle:"none",margin:0,marginLeft:-20,marginRight:-20,padding:0}),ResultRow=newStyled.li(({theme,isHighlighted})=>({display:"flex",alignItems:"center",justifyContent:"space-between",margin:0,padding:0,paddingRight:20,background:isHighlighted?theme.background.hoverable:"transparent",cursor:"pointer","a:hover, button:hover":{background:"transparent"},gap:10})),NoResults=newStyled.div(({theme})=>({marginTop:20,textAlign:"center",fontSize:`${theme.typography.size.s2-1}px`,lineHeight:"18px",color:theme.color.defaultText,small:{color:theme.barTextColor,fontSize:`${theme.typography.size.s1}px`}})),Mark=newStyled.mark(({theme})=>({background:"transparent",color:theme.color.secondary})),ActionRow=newStyled(ResultRow)({display:"flex",padding:"6px 19px",alignItems:"center"}),BackActionRow=newStyled(ActionRow)({marginTop:8}),ActionLabel=newStyled.span(({theme})=>({flexGrow:1,color:theme.textMutedColor,fontSize:`${theme.typography.size.s1}px`})),ActionIcon=newStyled(Icons)(({theme})=>({display:"inline-block",width:10,height:10,marginRight:6,color:theme.textMutedColor})),ActionKey=newStyled.code(({theme})=>({minWidth:16,height:16,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:2,userSelect:"none",pointerEvents:"none"})),Highlight=import_react26.default.memo(function({children,match}){if(!match)return import_react26.default.createElement(import_react26.default.Fragment,null,children);let{value:value2,indices}=match,{nodes:result2}=indices.reduce(({cursor,nodes},[start,end],index2,{length})=>(nodes.push(import_react26.default.createElement("span",{key:`${index2}-0`},value2.slice(cursor,start))),nodes.push(import_react26.default.createElement(Mark,{key:`${index2}-1`},value2.slice(start,end+1))),index2===length-1&&nodes.push(import_react26.default.createElement("span",{key:`${index2}-2`},value2.slice(end+1))),{cursor:end+1,nodes}),{cursor:0,nodes:[]});return import_react26.default.createElement(import_react26.default.Fragment,null,result2)}),Result=import_react26.default.memo(function({item,matches,icon,onClick,...props}){let click=(0,import_react26.useCallback)(event=>{event.preventDefault(),onClick(event)},[onClick]),api=useStorybookApi();(0,import_react26.useEffect)(()=>{api&&props.isHighlighted&&item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]]},{options:{target:item.refId}})},[props.isHighlighted,item]);let nameMatch=matches.find(match=>match.key==="name"),pathMatches=matches.filter(match=>match.key==="path"),label=import_react26.default.createElement("div",{className:"search-result-item--label"},import_react26.default.createElement("strong",null,import_react26.default.createElement(Highlight,{match:nameMatch},item.name)),import_react26.default.createElement(Path,null,item.path.map((group,index2)=>import_react26.default.createElement("span",{key:index2},import_react26.default.createElement(Highlight,{match:pathMatches.find(match=>match.arrayIndex===index2)},group))))),title=`${item.path.join(" / ")} / ${item.name}`,nodeProps={depth:0,onClick:click,title,children:label},node;item.type==="component"?node=import_react26.default.createElement(ComponentNode,{isExpanded:!1,...nodeProps}):item.type==="story"?node=import_react26.default.createElement(StoryNode,{href:getLink(item,item.refId),...nodeProps}):node=import_react26.default.createElement(DocumentNode,{href:getLink(item,item.refId),...nodeProps});let[i3]=item.status?statusMapping[item.status]:[];return import_react26.default.createElement(ResultRow,{...props},node,item.status?i3:null)}),SearchResults=import_react26.default.memo(function({query,results,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex,isLoading=!1,enableShortcuts=!0}){let api=useStorybookApi();(0,import_react26.useEffect)(()=>{let handleEscape=event=>{if(!(!enableShortcuts||isLoading||event.repeat)&&matchesModifiers(!1,event)&&matchesKeyCode("Escape",event)){if(event.target?.id==="storybook-explorer-searchfield")return;event.preventDefault(),closeMenu()}};return document9.addEventListener("keydown",handleEscape),()=>document9.removeEventListener("keydown",handleEscape)},[closeMenu,enableShortcuts,isLoading]);let mouseOverHandler=(0,import_react26.useCallback)(event=>{if(!api)return;let currentTarget=event.currentTarget,storyId=currentTarget.getAttribute("data-id"),refId=currentTarget.getAttribute("data-refid"),item=api.getData(storyId,refId==="storybook_internal"?void 0:refId);item?.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]],options:{target:refId}})},[]);return import_react26.default.createElement(ResultsList,{...getMenuProps()},results.length>0&&!query&&import_react26.default.createElement("li",null,import_react26.default.createElement(RootNode,{className:"search-result-recentlyOpened"},"Recently opened")),results.length===0&&query&&import_react26.default.createElement("li",null,import_react26.default.createElement(NoResults,null,import_react26.default.createElement("strong",null,"No components found"),import_react26.default.createElement("br",null),import_react26.default.createElement("small",null,"Find components by name or path."))),results.map((result2,index2)=>{if(isCloseType(result2))return import_react26.default.createElement(BackActionRow,{key:"search-result-back",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-back"},import_react26.default.createElement(ActionIcon,{icon:"arrowleft"}),import_react26.default.createElement(ActionLabel,null,"Back to components"),import_react26.default.createElement(ActionKey,null,"ESC"));if(isClearType(result2))return import_react26.default.createElement(ActionRow,{key:"search-result-clearHistory",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-clearHistory"},import_react26.default.createElement(ActionIcon,{icon:"trash"}),import_react26.default.createElement(ActionLabel,null,"Clear history"));if(isExpandType(result2))return import_react26.default.createElement(ActionRow,{key:"search-result-more",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-more"},import_react26.default.createElement(ActionIcon,{icon:"plus"}),import_react26.default.createElement(ActionLabel,null,"Show ",result2.moreCount," more results"));let{item}=result2,key2=`${item.refId}::${item.id}`;return import_react26.default.createElement(Result,{key:item.id,...result2,...getItemProps2({key:key2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,"data-id":result2.item.id,"data-refid":result2.item.refId,onMouseOver:mouseOverHandler,className:"search-result-item"})}))});var import_debounce2=__toESM(require_debounce()),import_react27=__toESM(require_react()),import_store23=__toESM(require_store2()),save=(0,import_debounce2.default)(value2=>import_store23.default.set("lastViewedStoryIds",value2),1e3),useLastViewed=selection=>{let initialLastViewedStoryIds=(0,import_react27.useMemo)(()=>{let items=import_store23.default.get("lastViewedStoryIds");return!items||!Array.isArray(items)?[]:items.some(item=>typeof item=="object"&&item.storyId&&item.refId)?items:[]},[import_store23.default]),lastViewedRef=(0,import_react27.useRef)(initialLastViewedStoryIds),updateLastViewed=(0,import_react27.useCallback)(story=>{let items=lastViewedRef.current,index2=items.findIndex(({storyId,refId})=>storyId===story.storyId&&refId===story.refId);index2!==0&&(index2===-1?lastViewedRef.current=[story,...items]:lastViewedRef.current=[story,...items.slice(0,index2),...items.slice(index2+1)],save(lastViewedRef.current))},[lastViewedRef]);return(0,import_react27.useEffect)(()=>{selection&&updateLastViewed(selection)},[selection]),{getLastViewed:(0,import_react27.useCallback)(()=>lastViewedRef.current,[lastViewedRef]),clearLastViewed:(0,import_react27.useCallback)(()=>{lastViewedRef.current=lastViewedRef.current.slice(0,1),save(lastViewedRef.current)},[lastViewedRef])}};var DEFAULT_REF_ID="storybook_internal",Container3=newStyled.nav({position:"absolute",zIndex:1,left:0,top:0,bottom:0,right:0,width:"100%",height:"100%",display:"flex",flexDirection:"column"}),Top=newStyled(Spaced)({padding:20,flex:1}),Bottom=newStyled.div(({theme})=>({borderTop:`1px solid ${theme.appBorderColor}`,padding:theme.layoutMargin/2,display:"flex",flexWrap:"wrap",gap:theme.layoutMargin/2,backgroundColor:theme.barBg,"&:empty":{display:"none"}})),CustomScrollArea=newStyled(ScrollArea)({"&&&&& .os-scrollbar-handle:before":{left:-12},"&&&&& .os-scrollbar-vertical":{right:5}}),Swap=import_react28.default.memo(function({children,condition}){let[a2,b3]=import_react28.default.Children.toArray(children);return import_react28.default.createElement(import_react28.default.Fragment,null,import_react28.default.createElement("div",{style:{display:condition?"block":"none"}},a2),import_react28.default.createElement("div",{style:{display:condition?"none":"block"}},b3))}),useCombination=(defaultRefData,refs2)=>{let hash=(0,import_react28.useMemo)(()=>({[DEFAULT_REF_ID]:{...defaultRefData,title:null,id:DEFAULT_REF_ID,url:"iframe.html"},...refs2}),[refs2,defaultRefData]);return(0,import_react28.useMemo)(()=>({hash,entries:Object.entries(hash)}),[hash])},Sidebar2=import_react28.default.memo(function({storyId=null,refId=DEFAULT_REF_ID,index:index2,indexError,status,previewInitialized,menu,extra,bottom=[],menuHighlighted=!1,enableShortcuts=!0,refs:refs2={}}){let selected=(0,import_react28.useMemo)(()=>storyId&&{storyId,refId},[storyId,refId]),dataset=useCombination({index:index2,indexError,previewInitialized,status},refs2),isLoading=!index2&&!indexError,lastViewedProps=useLastViewed(selected);return import_react28.default.createElement(Container3,{className:"container sidebar-container"},import_react28.default.createElement(CustomScrollArea,{vertical:!0},import_react28.default.createElement(Top,{row:1.6},import_react28.default.createElement(Heading,{className:"sidebar-header",menuHighlighted,menu,extra,skipLinkHref:"#storybook-preview-wrapper",isLoading}),import_react28.default.createElement(Search,{dataset,isLoading,enableShortcuts,...lastViewedProps},({query,results,isBrowsing,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex})=>import_react28.default.createElement(Swap,{condition:isBrowsing},import_react28.default.createElement(Explorer,{dataset,selected,isLoading,isBrowsing}),import_react28.default.createElement(SearchResults,{query,results,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex,enableShortcuts,isLoading}))))),isLoading?null:import_react28.default.createElement(Bottom,null,bottom.map(({id,render:Render})=>import_react28.default.createElement(Render,{key:id}))))});var import_react29=__toESM(require_react());var focusableUIElements2={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},Key=newStyled.span(({theme})=>({display:"inline-block",height:16,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:2,userSelect:"none",pointerEvents:"none",padding:"0 6px"})),KeyChild=newStyled.code(({theme})=>`
|
|
398
|
+
`};function format2(){for(var _len=arguments.length,args2=new Array(_len),_key=0;_key<_len;_key++)args2[_key]=arguments[_key];var a2=args2[0],b3=[],c3;for(c3=1;c3<args2.length;c3+=1)b3.push(args2[c3]);return b3.forEach(function(d2){a2=a2.replace(/%[a-z]/,d2)}),a2}var PolishedError2=function(_Error){_inheritsLoose2(PolishedError3,_Error);function PolishedError3(code){for(var _this,_len2=arguments.length,args2=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args2[_key2-1]=arguments[_key2];return _this=_Error.call(this,format2.apply(void 0,[ERRORS2[code]].concat(args2)))||this,_assertThisInitialized2(_this)}return PolishedError3}(_wrapNativeSuper2(Error));function colorToInt2(color2){return Math.round(color2*255)}function convertToInt2(red,green,blue){return colorToInt2(red)+","+colorToInt2(green)+","+colorToInt2(blue)}function hslToRgb2(hue,saturation,lightness,convert){if(convert===void 0&&(convert=convertToInt2),saturation===0)return convert(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2,finalRed=red+lightnessModification,finalGreen=green+lightnessModification,finalBlue=blue+lightnessModification;return convert(finalRed,finalGreen,finalBlue)}var namedColorMap2={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};function nameToHex2(color2){if(typeof color2!="string")return color2;var normalizedColorName=color2.toLowerCase();return namedColorMap2[normalizedColorName]?"#"+namedColorMap2[normalizedColorName]:color2}var hexRegex2=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex2=/^#[a-fA-F0-9]{8}$/,reducedHexRegex2=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex2=/^#[a-fA-F0-9]{4}$/,rgbRegex2=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,rgbaRegex2=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,hslRegex2=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,hslaRegex2=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function parseToRgb2(color2){if(typeof color2!="string")throw new PolishedError2(3);var normalizedColor=nameToHex2(color2);if(normalizedColor.match(hexRegex2))return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex2)){var alpha=parseFloat((parseInt(""+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16),alpha}}if(normalizedColor.match(reducedHexRegex2))return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex2)){var _alpha=parseFloat((parseInt(""+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex2.exec(normalizedColor);if(rgbMatched)return{red:parseInt(""+rgbMatched[1],10),green:parseInt(""+rgbMatched[2],10),blue:parseInt(""+rgbMatched[3],10)};var rgbaMatched=rgbaRegex2.exec(normalizedColor.substring(0,50));if(rgbaMatched)return{red:parseInt(""+rgbaMatched[1],10),green:parseInt(""+rgbaMatched[2],10),blue:parseInt(""+rgbaMatched[3],10),alpha:parseFloat(""+rgbaMatched[4])>1?parseFloat(""+rgbaMatched[4])/100:parseFloat(""+rgbaMatched[4])};var hslMatched=hslRegex2.exec(normalizedColor);if(hslMatched){var hue=parseInt(""+hslMatched[1],10),saturation=parseInt(""+hslMatched[2],10)/100,lightness=parseInt(""+hslMatched[3],10)/100,rgbColorString="rgb("+hslToRgb2(hue,saturation,lightness)+")",hslRgbMatched=rgbRegex2.exec(rgbColorString);if(!hslRgbMatched)throw new PolishedError2(4,normalizedColor,rgbColorString);return{red:parseInt(""+hslRgbMatched[1],10),green:parseInt(""+hslRgbMatched[2],10),blue:parseInt(""+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex2.exec(normalizedColor.substring(0,50));if(hslaMatched){var _hue=parseInt(""+hslaMatched[1],10),_saturation=parseInt(""+hslaMatched[2],10)/100,_lightness=parseInt(""+hslaMatched[3],10)/100,_rgbColorString="rgb("+hslToRgb2(_hue,_saturation,_lightness)+")",_hslRgbMatched=rgbRegex2.exec(_rgbColorString);if(!_hslRgbMatched)throw new PolishedError2(4,normalizedColor,_rgbColorString);return{red:parseInt(""+_hslRgbMatched[1],10),green:parseInt(""+_hslRgbMatched[2],10),blue:parseInt(""+_hslRgbMatched[3],10),alpha:parseFloat(""+hslaMatched[4])>1?parseFloat(""+hslaMatched[4])/100:parseFloat(""+hslaMatched[4])}}throw new PolishedError2(5)}var reduceHexValue2=function(value2){return value2.length===7&&value2[1]===value2[2]&&value2[3]===value2[4]&&value2[5]===value2[6]?"#"+value2[1]+value2[3]+value2[5]:value2},reduceHexValue$12=reduceHexValue2;function numberToHex2(value2){var hex=value2.toString(16);return hex.length===1?"0"+hex:hex}function rgb2(value2,green,blue){if(typeof value2=="number"&&typeof green=="number"&&typeof blue=="number")return reduceHexValue$12("#"+numberToHex2(value2)+numberToHex2(green)+numberToHex2(blue));if(typeof value2=="object"&&green===void 0&&blue===void 0)return reduceHexValue$12("#"+numberToHex2(value2.red)+numberToHex2(value2.green)+numberToHex2(value2.blue));throw new PolishedError2(6)}function rgba2(firstValue,secondValue,thirdValue,fourthValue){if(typeof firstValue=="string"&&typeof secondValue=="number"){var rgbValue=parseToRgb2(firstValue);return"rgba("+rgbValue.red+","+rgbValue.green+","+rgbValue.blue+","+secondValue+")"}else{if(typeof firstValue=="number"&&typeof secondValue=="number"&&typeof thirdValue=="number"&&typeof fourthValue=="number")return fourthValue>=1?rgb2(firstValue,secondValue,thirdValue):"rgba("+firstValue+","+secondValue+","+thirdValue+","+fourthValue+")";if(typeof firstValue=="object"&&secondValue===void 0&&thirdValue===void 0&&fourthValue===void 0)return firstValue.alpha>=1?rgb2(firstValue.red,firstValue.green,firstValue.blue):"rgba("+firstValue.red+","+firstValue.green+","+firstValue.blue+","+firstValue.alpha+")"}throw new PolishedError2(7)}function curried2(f3,length,acc){return function(){var combined=acc.concat(Array.prototype.slice.call(arguments));return combined.length>=length?f3.apply(this,combined):curried2(f3,length,combined)}}function curry2(f3){return curried2(f3,f3.length,[])}function guard2(lowerBoundary,upperBoundary,value2){return Math.max(lowerBoundary,Math.min(upperBoundary,value2))}function transparentize2(amount,color2){if(color2==="transparent")return color2;var parsedColor=parseToRgb2(color2),alpha=typeof parsedColor.alpha=="number"?parsedColor.alpha:1,colorWithAlpha=_extends3({},parsedColor,{alpha:guard2(0,1,+(alpha*100-parseFloat(amount)*100).toFixed(2)/100)});return rgba2(colorWithAlpha)}var curriedTransparentize2=curry2(transparentize2),curriedTransparentize$12=curriedTransparentize2;var sharedStyles={height:10,width:10,marginLeft:-5,marginRight:-5,display:"block"},Icon=newStyled(Icons)(sharedStyles,({theme})=>({color:theme.color.secondary})),SidebarIconButton=newStyled(IconButton)(({highlighted,active,theme})=>({position:"relative",overflow:"visible",color:theme.textMutedColor,marginTop:0,zIndex:1,...highlighted&&{"&:before, &:after":{content:'""',position:"absolute",top:6,right:6,width:5,height:5,zIndex:2,borderRadius:"50%",background:theme.background.app,border:`1px solid ${theme.background.app}`,boxShadow:`0 0 0 2px ${theme.background.app}`},"&:after":{background:theme.color.positive,border:"1px solid rgba(0, 0, 0, 0.1)",boxShadow:`0 0 0 2px ${theme.background.app}`},"&:hover:after, &:focus-visible:after":{boxShadow:`0 0 0 2px ${curriedTransparentize$12(.88,theme.color.secondary)}`}},...active&&{color:theme.color.secondary}})),Img3=newStyled.img(sharedStyles),Placeholder2=newStyled.div(sharedStyles);var SidebarMenuList=({menu,onHide})=>{let links=(0,import_react11.useMemo)(()=>menu.map(({onClick,...rest})=>({...rest,onClick:(event,item)=>{onClick&&onClick(event,item),onHide()}})),[menu]);return import_react11.default.createElement(TooltipLinkList,{links})},SidebarMenu=({menu,isHighlighted})=>{let[isTooltipVisible,setIsTooltipVisible]=(0,import_react11.useState)(!1);return import_react11.default.createElement(WithTooltip,{placement:"top",closeOnOutsideClick:!0,tooltip:({onHide})=>import_react11.default.createElement(SidebarMenuList,{onHide,menu}),onVisibleChange:setIsTooltipVisible},import_react11.default.createElement(SidebarIconButton,{title:"Shortcuts","aria-label":"Shortcuts",highlighted:isHighlighted,active:isTooltipVisible},import_react11.default.createElement(Icons,{icon:"cog"})))};var BrandArea=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2,fontWeight:theme.typography.weight.bold,color:theme.color.defaultText,marginRight:20,display:"flex",width:"100%",alignItems:"center",minHeight:22,"& > * > *":{maxWidth:"100%"},"& > *":{maxWidth:"100%",height:"auto",display:"block",flex:"1 1 auto"}})),HeadingWrapper=newStyled.div({display:"flex",alignItems:"center",justifyContent:"space-between",position:"relative",minHeight:28}),SkipToCanvasLink=newStyled(Button)(({theme})=>({display:"none","@media (min-width: 600px)":{display:"block",position:"absolute",fontSize:theme.typography.size.s1,zIndex:3,border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",opacity:0,transition:"opacity 150ms ease-out","&:focus":{width:"100%",height:"inherit",padding:"10px 15px",margin:0,clip:"unset",overflow:"unset",opacity:1}}})),Heading=({menuHighlighted=!1,menu,skipLinkHref,extra,isLoading,...props})=>import_react12.default.createElement(HeadingWrapper,{...props},skipLinkHref&&import_react12.default.createElement(SkipToCanvasLink,{secondary:!0,isLink:!0,tabIndex:0,href:skipLinkHref},"Skip to canvas"),import_react12.default.createElement(BrandArea,null,import_react12.default.createElement(Brand,null)),isLoading?null:extra.map(({id,render:Render})=>import_react12.default.createElement(Render,{key:id})),import_react12.default.createElement(SidebarMenu,{menu,isHighlighted:menuHighlighted}));var import_react23=__toESM(require_react());var import_react20=__toESM(require_react());var import_react14=__toESM(require_react());var import_react13=__toESM(require_react());var LOADER_SEQUENCE=[0,0,1,1,2,3,3,3,1,1,1,2,2,2,3],Loadingitem=newStyled.div({cursor:"progress",fontSize:13,height:"16px",marginTop:4,marginBottom:4,alignItems:"center",overflow:"hidden"},({depth=0})=>({marginLeft:depth*15,maxWidth:85-depth*5}),({theme})=>theme.animation.inlineGlow,({theme})=>({background:theme.appBorderColor})),Contained=newStyled.div({display:"flex",flexDirection:"column",paddingLeft:20,paddingRight:20}),Loader2=({size})=>{let repeats=Math.ceil(size/LOADER_SEQUENCE.length),sequence=Array.from(Array(repeats)).fill(LOADER_SEQUENCE).flat().slice(0,size);return import_react13.default.createElement(import_react13.Fragment,null,sequence.map((depth,index2)=>import_react13.default.createElement(Loadingitem,{depth,key:index2})))};var{window:globalWindow2}=scope,TextStyle=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2-1,lineHeight:"20px",margin:0})),Text=newStyled.div(({theme})=>({fontSize:theme.typography.size.s2-1,lineHeight:"20px",margin:0,code:{fontSize:theme.typography.size.s1},ul:{paddingLeft:20,marginTop:8,marginBottom:8}})),ErrorDisplay=newStyled.pre({width:420,boxSizing:"border-box",borderRadius:8,overflow:"auto",whiteSpace:"pre"},({theme})=>({color:theme.color.dark})),AuthBlock=({loginUrl,id})=>{let[isAuthAttempted,setAuthAttempted]=(0,import_react14.useState)(!1),refresh=(0,import_react14.useCallback)(()=>{globalWindow2.document.location.reload()},[]),open=(0,import_react14.useCallback)(e3=>{e3.preventDefault();let childWindow=globalWindow2.open(loginUrl,`storybook_auth_${id}`,"resizable,scrollbars"),timer=setInterval(()=>{childWindow?childWindow.closed&&(clearInterval(timer),setAuthAttempted(!0)):(logger.error("unable to access loginUrl window"),clearInterval(timer))},1e3)},[]);return import_react14.default.createElement(Contained,null,import_react14.default.createElement(Spaced,null,isAuthAttempted?import_react14.default.createElement(import_react14.Fragment,null,import_react14.default.createElement(Text,null,"Authentication on ",import_react14.default.createElement("strong",null,loginUrl)," concluded. Refresh the page to fetch this Storybook."),import_react14.default.createElement("div",null,import_react14.default.createElement(Button,{small:!0,gray:!0,onClick:refresh},import_react14.default.createElement(Icons,{icon:"sync"}),"Refresh now"))):import_react14.default.createElement(import_react14.Fragment,null,import_react14.default.createElement(Text,null,"Sign in to browse this Storybook."),import_react14.default.createElement("div",null,import_react14.default.createElement(Button,{small:!0,gray:!0,onClick:open},import_react14.default.createElement(Icons,{icon:"lock"}),"Sign in")))))},ErrorBlock=({error})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(Spaced,null,import_react14.default.createElement(TextStyle,null,"Oh no! Something went wrong loading this Storybook.",import_react14.default.createElement("br",null),import_react14.default.createElement(WithTooltip,{tooltip:import_react14.default.createElement(ErrorDisplay,null,import_react14.default.createElement(ErrorFormatter,{error}))},import_react14.default.createElement(Link22,{isButton:!0},"View error ",import_react14.default.createElement(Icons,{icon:"arrowdown"})))," ",import_react14.default.createElement(Link22,{withArrow:!0,href:"https://storybook.js.org/docs",cancel:!1,target:"_blank"},"View docs")))),FlexSpaced=newStyled(Spaced)({display:"flex"}),WideSpaced=newStyled(Spaced)({flex:1}),EmptyBlock=({isMain})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(FlexSpaced,{col:1},import_react14.default.createElement(WideSpaced,null,import_react14.default.createElement(Text,null,isMain?import_react14.default.createElement(import_react14.default.Fragment,null,"Oh no! Your Storybook is empty. Possible reasons why:",import_react14.default.createElement("ul",null,import_react14.default.createElement("li",null,"The glob specified in ",import_react14.default.createElement("code",null,"main.js")," isn't correct."),import_react14.default.createElement("li",null,"No stories are defined in your story files."),import_react14.default.createElement("li",null,"You're using filter-functions, and all stories are filtered away."))," "):import_react14.default.createElement(import_react14.default.Fragment,null,"Yikes! Something went wrong loading these stories."))))),LoaderBlock=({isMain})=>import_react14.default.createElement(Contained,null,import_react14.default.createElement(Loader2,{size:isMain?17:5}));var import_react15=__toESM(require_react());var{document:document4,window:globalWindow3}=scope,IndicatorPlacement=newStyled.aside(({theme})=>({height:16,display:"flex",alignItems:"center","& > * + *":{marginLeft:theme.layoutMargin}})),IndicatorClickTarget=newStyled.button(({theme})=>({height:20,width:20,padding:0,margin:0,display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",outline:"none",border:"1px solid transparent",borderRadius:"100%",cursor:"pointer",color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"&:hover":{color:theme.barSelectedColor},"&:focus":{color:theme.barSelectedColor,borderColor:theme.color.secondary},svg:{height:10,width:10,transition:"all 150ms ease-out",color:"inherit"}})),MessageTitle=newStyled.span(({theme})=>({fontWeight:theme.typography.weight.bold})),Message3=newStyled.a(({theme})=>({textDecoration:"none",lineHeight:"16px",padding:15,display:"flex",flexDirection:"row",alignItems:"flex-start",color:theme.color.defaultText,"&:not(:last-child)":{borderBottom:`1px solid ${theme.appBorderColor}`},"&:hover":{background:theme.background.hoverable,color:theme.color.darker},"&:link":{color:theme.color.darker},"&:active":{color:theme.color.darker},"&:focus":{color:theme.color.darker},"& > *":{flex:1},"& > svg":{marginTop:3,width:16,height:16,marginRight:10,flex:"unset"}})),MessageWrapper2=newStyled.div({width:280,boxSizing:"border-box",borderRadius:8,overflow:"hidden"}),BlueIcon=newStyled(Icons)(({theme})=>({color:theme.color.secondary})),YellowIcon=newStyled(Icons)(({theme})=>({color:theme.color.gold})),RedIcon=newStyled(Icons)(({theme})=>({color:theme.color.negative})),GreenIcon=newStyled(Icons)(({theme})=>({color:theme.color.green})),Version=newStyled.div(({theme})=>({display:"flex",alignItems:"center",fontSize:theme.typography.size.s1,fontWeight:theme.typography.weight.regular,color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"& > * + *":{marginLeft:4},svg:{height:10,width:10}})),CurrentVersion=({url,versions})=>{let currentVersionId=(0,import_react15.useMemo)(()=>{let c3=Object.entries(versions).find(([k2,v2])=>v2===url);return c3&&c3[0]?c3[0]:"current"},[url,versions]);return import_react15.default.createElement(Version,null,import_react15.default.createElement("span",null,currentVersionId),import_react15.default.createElement(Icons,{icon:"arrowdown"}))},RefIndicator=import_react15.default.memo((0,import_react15.forwardRef)(({state,...ref},forwardedRef)=>{let api=useStorybookApi(),list=(0,import_react15.useMemo)(()=>Object.values(ref.index||{}),[ref.index]),componentCount=(0,import_react15.useMemo)(()=>list.filter(v2=>v2.type==="component").length,[list]),leafCount=(0,import_react15.useMemo)(()=>list.filter(v2=>v2.type==="docs"||v2.type==="story").length,[list]);return import_react15.default.createElement(IndicatorPlacement,{ref:forwardedRef},import_react15.default.createElement(WithTooltip,{placement:"bottom-start",trigger:"click",closeOnOutsideClick:!0,tooltip:import_react15.default.createElement(MessageWrapper2,null,import_react15.default.createElement(Spaced,{row:0},state==="loading"&&import_react15.default.createElement(LoadingMessage,{url:ref.url}),(state==="error"||state==="empty")&&import_react15.default.createElement(ErrorOccurredMessage,{url:ref.url}),state==="ready"&&import_react15.default.createElement(ReadyMessage,{url:ref.url,componentCount,leafCount}),state==="auth"&&import_react15.default.createElement(LoginRequiredMessage,{...ref}),ref.type==="auto-inject"&&state!=="error"&&import_react15.default.createElement(PerformanceDegradedMessage,null),state!=="loading"&&import_react15.default.createElement(ReadDocsMessage,null)))},import_react15.default.createElement(IndicatorClickTarget,{"data-action":"toggle-indicator","aria-label":"toggle indicator"},import_react15.default.createElement(Icons,{icon:"globe"}))),ref.versions&&Object.keys(ref.versions).length?import_react15.default.createElement(WithTooltip,{placement:"bottom-start",trigger:"click",closeOnOutsideClick:!0,tooltip:tooltip=>import_react15.default.createElement(TooltipLinkList,{links:Object.entries(ref.versions).map(([id,href])=>({icon:href===ref.url?"check":void 0,id,title:id,href,onClick:(event,item)=>{event.preventDefault(),api.changeRefVersion(ref.id,item.href),tooltip.onHide()}}))})},import_react15.default.createElement(CurrentVersion,{url:ref.url,versions:ref.versions})):null)})),ReadyMessage=({url,componentCount,leafCount})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(BlueIcon,{icon:"globe"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"View external Storybook"),import_react15.default.createElement("div",null,"Explore ",componentCount," components and ",leafCount," stories in a new browser tab."))),LoginRequiredMessage=({loginUrl,id})=>{let open=(0,import_react15.useCallback)(e3=>{e3.preventDefault();let childWindow=globalWindow3.open(loginUrl,`storybook_auth_${id}`,"resizable,scrollbars"),timer=setInterval(()=>{childWindow?childWindow.closed&&(clearInterval(timer),document4.location.reload()):clearInterval(timer)},1e3)},[]);return import_react15.default.createElement(Message3,{onClick:open},import_react15.default.createElement(YellowIcon,{icon:"lock"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Log in required"),import_react15.default.createElement("div",null,"You need to authenticate to view this Storybook's components.")))},ReadDocsMessage=()=>import_react15.default.createElement(Message3,{href:"https://storybook.js.org/docs/react/sharing/storybook-composition",target:"_blank"},import_react15.default.createElement(GreenIcon,{icon:"document"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Read Composition docs"),import_react15.default.createElement("div",null,"Learn how to combine multiple Storybooks into one."))),ErrorOccurredMessage=({url})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(RedIcon,{icon:"alert"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Something went wrong"),import_react15.default.createElement("div",null,"This external Storybook didn't load. Debug it in a new tab now."))),LoadingMessage=({url})=>import_react15.default.createElement(Message3,{href:url.replace(/\/?$/,"/index.html"),target:"_blank"},import_react15.default.createElement(BlueIcon,{icon:"time"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Please wait"),import_react15.default.createElement("div",null,"This Storybook is loading."))),PerformanceDegradedMessage=()=>import_react15.default.createElement(Message3,{href:"https://storybook.js.org/docs/react/sharing/storybook-composition#improve-your-storybook-composition",target:"_blank"},import_react15.default.createElement(YellowIcon,{icon:"lightning"}),import_react15.default.createElement("div",null,import_react15.default.createElement(MessageTitle,null,"Reduce lag"),import_react15.default.createElement("div",null,"Learn how to speed up Composition performance.")));var import_react19=__toESM(require_react());var import_react16=__toESM(require_react()),CollapseIcon2=newStyled.span(({theme,isExpanded})=>({display:"inline-block",width:0,height:0,marginLeft:8,marginRight:5,color:curriedTransparentize$12(.4,theme.textMutedColor),borderTop:"3px solid transparent",borderBottom:"3px solid transparent",borderLeft:"3px solid",transform:isExpanded?"rotateZ(90deg)":"none",transition:"transform .1s ease-out"})),iconColors={light:{document:"#ff8300",docsModeDocument:"secondary",bookmarkhollow:"seafoam",component:"secondary",folder:"ultraviolet"},dark:{document:"gold",docsModeDocument:"secondary",bookmarkhollow:"seafoam",component:"secondary",folder:"primary"}},isColor=(theme,color2)=>color2 in theme.color,TypeIcon=newStyled(Icons)({width:12,height:12,marginRight:5,flex:"0 0 auto"},({theme,icon,symbol=icon,docsMode})=>{let color2=(theme.base==="dark"?iconColors.dark:iconColors.light)[docsMode&&symbol==="document"?"docsModeDocument":symbol];return{color:isColor(theme,color2)?theme.color[color2]:color2}}),BranchNode=newStyled.button(({theme,depth=0,isExpandable=!1})=>({width:"100%",border:"none",cursor:"pointer",display:"flex",alignItems:"start",textAlign:"left",padding:3,paddingLeft:`${(isExpandable?2:18)+depth*16}px`,color:"inherit",fontSize:`${theme.typography.size.s2-1}px`,background:"transparent","&:hover, &:focus":{background:curriedTransparentize$12(.93,theme.color.secondary),outline:"none"}})),LeafNode=newStyled.a(({theme,depth=0})=>({cursor:"pointer",color:"inherit",display:"flex",flex:1,alignItems:"start",padding:3,paddingLeft:`${18+depth*16}px`,fontSize:`${theme.typography.size.s2-1}px`,textDecoration:"none"})),Path=newStyled.span(({theme})=>({display:"grid",justifyContent:"start",gridAutoColumns:"auto",gridAutoFlow:"column",color:theme.textMutedColor,fontSize:`${theme.typography.size.s1-1}px`,"& > span":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& > span + span":{position:"relative",marginLeft:4,paddingLeft:7,"&:before":{content:"'/'",position:"absolute",left:0}}})),RootNode=newStyled.div(({theme})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 20px",marginTop:16,marginBottom:4,fontSize:`${theme.typography.size.s1-1}px`,fontWeight:theme.typography.weight.bold,lineHeight:"16px",minHeight:20,letterSpacing:"0.35em",textTransform:"uppercase",color:theme.textMutedColor})),Wrapper3=newStyled.div({display:"flex",alignItems:"center"}),InvisibleText=newStyled.p({margin:0,width:0}),IconsWrapper=({children})=>import_react16.default.createElement(Wrapper3,null,import_react16.default.createElement(InvisibleText,null,"\xA0"),children),GroupNode=import_react16.default.memo(function({children,isExpanded=!1,isExpandable=!1,...props}){return import_react16.default.createElement(BranchNode,{isExpandable,tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,isExpandable?import_react16.default.createElement(CollapseIcon2,{isExpanded}):null,import_react16.default.createElement(TypeIcon,{icon:"folder",useSymbol:!0,color:"primary"})),children)}),ComponentNode=import_react16.default.memo(function({theme,children,isExpanded,isExpandable,isSelected,...props}){return import_react16.default.createElement(BranchNode,{isExpandable,tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,isExpandable&&import_react16.default.createElement(CollapseIcon2,{isExpanded}),import_react16.default.createElement(TypeIcon,{icon:"component",useSymbol:!0,color:"secondary"})),children)}),DocumentNode=import_react16.default.memo(function({theme,children,docsMode,...props}){return import_react16.default.createElement(LeafNode,{tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,import_react16.default.createElement(TypeIcon,{icon:"document",useSymbol:!0,docsMode})),children)}),StoryNode=import_react16.default.memo(function({theme,children,...props}){return import_react16.default.createElement(LeafNode,{tabIndex:-1,...props},import_react16.default.createElement(IconsWrapper,null,import_react16.default.createElement(TypeIcon,{icon:"bookmarkhollow",useSymbol:!0})),children)});var import_throttle=__toESM(require_throttle()),import_react17=__toESM(require_react());var codeToKeyMap={Space:" ",Slash:"/",ArrowLeft:"ArrowLeft",ArrowUp:"ArrowUp",ArrowRight:"ArrowRight",ArrowDown:"ArrowDown",Escape:"Escape",Enter:"Enter"},allFalse={alt:!1,ctrl:!1,meta:!1,shift:!1},matchesModifiers=(modifiers,event)=>{let{alt,ctrl,meta,shift}=modifiers===!1?allFalse:modifiers;return!(typeof alt=="boolean"&&alt!==event.altKey||typeof ctrl=="boolean"&&ctrl!==event.ctrlKey||typeof meta=="boolean"&&meta!==event.metaKey||typeof shift=="boolean"&&shift!==event.shiftKey)},matchesKeyCode=(code,event)=>event.code?event.code===code:event.key===codeToKeyMap[code];var import_memoizerific6=__toESM(require_memoizerific());var{document:document5,window:globalWindow4}=scope,createId=(itemId,refId)=>!refId||refId===DEFAULT_REF_ID?itemId:`${refId}_${itemId}`,getLink=(item,refId)=>`${document5.location.pathname}?path=/${item.type}/${createId(item.id,refId)}`;var get4=(0,import_memoizerific6.default)(1e3)((id,dataset)=>dataset[id]),getParent=(0,import_memoizerific6.default)(1e3)((id,dataset)=>{let item=get4(id,dataset);return item&&item.type!=="root"?get4(item.parent,dataset):void 0}),getParents=(0,import_memoizerific6.default)(1e3)((id,dataset)=>{let parent=getParent(id,dataset);return parent?[parent,...getParents(parent.id,dataset)]:[]}),getAncestorIds=(0,import_memoizerific6.default)(1e3)((data,id)=>getParents(id,data).map(item=>item.id)),getDescendantIds=(0,import_memoizerific6.default)(1e3)((data,id,skipLeafs)=>{let entry=data[id];return(entry.type==="story"||entry.type==="docs"?[]:entry.children).reduce((acc,childId)=>{let child=data[childId];return!child||skipLeafs&&(child.type==="story"||child.type==="docs")||acc.push(childId,...getDescendantIds(data,childId,skipLeafs)),acc},[])});function getPath(item,ref){let parent=item.type!=="root"&&item.parent?ref.index[item.parent]:null;return parent?[...getPath(parent,ref),parent.name]:ref.id===DEFAULT_REF_ID?[]:[ref.title||ref.id]}var searchItem=(item,ref)=>({...item,refId:ref.id,path:getPath(item,ref)});function cycle(array,index2,delta){let next=index2+delta%array.length;return next<0&&(next=array.length+next),next>=array.length&&(next-=array.length),next}var scrollIntoView=(element,center=!1)=>{if(!element)return;let{top,bottom}=element.getBoundingClientRect();top>=0&&bottom<=(globalWindow4.innerHeight||document5.documentElement.clientHeight)||element.scrollIntoView({block:center?"center":"nearest"})},getStateType=(isLoading,isAuthRequired,isError,isEmpty)=>{switch(!0){case isAuthRequired:return"auth";case isError:return"error";case isLoading:return"loading";case isEmpty:return"empty";default:return"ready"}},isAncestor=(element,maybeAncestor)=>!element||!maybeAncestor?!1:element===maybeAncestor?!0:isAncestor(element.parentElement,maybeAncestor),removeNoiseFromName=storyName=>storyName.replaceAll(/(\s|-|_)/gi,""),isStoryHoistable=(storyName,componentName)=>removeNoiseFromName(storyName)===removeNoiseFromName(componentName);var{document:document6}=scope,initializeExpanded=({refId,data,initialExpanded,highlightedRef,rootIds})=>{let highlightedAncestors=highlightedRef.current?.refId===refId?getAncestorIds(data,highlightedRef.current?.itemId):[];return[...rootIds,...highlightedAncestors].reduce((acc,id)=>Object.assign(acc,{[id]:id in initialExpanded?initialExpanded[id]:!0}),{})},noop2=()=>{},useExpanded=({containerRef,isBrowsing,refId,data,initialExpanded,rootIds,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId})=>{let api=useStorybookApi(),[expanded,setExpanded]=(0,import_react17.useReducer)((state,{ids,value:value2})=>ids.reduce((acc,id)=>Object.assign(acc,{[id]:value2}),{...state}),{refId,data,highlightedRef,rootIds,initialExpanded},initializeExpanded),getElementByDataItemId=(0,import_react17.useCallback)(id=>containerRef.current?.querySelector(`[data-item-id="${id}"]`),[containerRef]),highlightElement=(0,import_react17.useCallback)(element=>{setHighlightedItemId(element.getAttribute("data-item-id")),scrollIntoView(element)},[setHighlightedItemId]),updateExpanded=(0,import_react17.useCallback)(({ids,value:value2})=>{if(setExpanded({ids,value:value2}),ids.length===1){let element=containerRef.current?.querySelector(`[data-item-id="${ids[0]}"][data-ref-id="${refId}"]`);element&&highlightElement(element)}},[containerRef,highlightElement,refId]);(0,import_react17.useEffect)(()=>{setExpanded({ids:getAncestorIds(data,selectedStoryId),value:!0})},[data,selectedStoryId]);let collapseAll=(0,import_react17.useCallback)(()=>{let ids=Object.keys(data).filter(id=>!rootIds.includes(id));setExpanded({ids,value:!1})},[data,rootIds]),expandAll=(0,import_react17.useCallback)(()=>{setExpanded({ids:Object.keys(data),value:!0})},[data]);return(0,import_react17.useEffect)(()=>api?(api.on(STORIES_COLLAPSE_ALL,collapseAll),api.on(STORIES_EXPAND_ALL,expandAll),()=>{api.off(STORIES_COLLAPSE_ALL,collapseAll),api.off(STORIES_EXPAND_ALL,expandAll)}):noop2,[api,collapseAll,expandAll]),(0,import_react17.useEffect)(()=>{let menuElement=document6.getElementById("storybook-explorer-menu"),navigateTree=(0,import_throttle.default)(event=>{let highlightedItemId=highlightedRef.current?.refId===refId&&highlightedRef.current?.itemId;if(!isBrowsing||!containerRef.current||!highlightedItemId||event.repeat||!matchesModifiers(!1,event))return;let isEnter=matchesKeyCode("Enter",event),isSpace=matchesKeyCode("Space",event),isArrowLeft=matchesKeyCode("ArrowLeft",event),isArrowRight=matchesKeyCode("ArrowRight",event);if(!(isEnter||isSpace||isArrowLeft||isArrowRight))return;let highlightedElement=getElementByDataItemId(highlightedItemId);if(!highlightedElement||highlightedElement.getAttribute("data-ref-id")!==refId)return;let target=event.target;if(!isAncestor(menuElement,target)&&!isAncestor(target,menuElement))return;if(target.hasAttribute("data-action")){if(isEnter||isSpace)return;target.blur()}let type=highlightedElement.getAttribute("data-nodetype");(isEnter||isSpace)&&["component","story","document"].includes(type)&&onSelectStoryId(highlightedItemId);let isExpanded=highlightedElement.getAttribute("aria-expanded");if(isArrowLeft){if(isExpanded==="true"){setExpanded({ids:[highlightedItemId],value:!1});return}let parentId=highlightedElement.getAttribute("data-parent-id"),parentElement=parentId&&getElementByDataItemId(parentId);if(parentElement&&parentElement.getAttribute("data-highlightable")==="true"){highlightElement(parentElement);return}setExpanded({ids:getDescendantIds(data,highlightedItemId,!0),value:!1});return}isArrowRight&&(isExpanded==="false"?updateExpanded({ids:[highlightedItemId],value:!0}):isExpanded==="true"&&updateExpanded({ids:getDescendantIds(data,highlightedItemId,!0),value:!0}))},60);return document6.addEventListener("keydown",navigateTree),()=>document6.removeEventListener("keydown",navigateTree)},[containerRef,isBrowsing,refId,data,highlightedRef,setHighlightedItemId,onSelectStoryId]),[expanded,updateExpanded]};var import_react18=__toESM(require_react());var SmallIcons=newStyled(Icons)({"&&&":{width:6,height:6}}),LoadingIcons=newStyled(SmallIcons)(({theme:{animation,color:color2,base}})=>({animation:`${animation.glow} 1.5s ease-in-out infinite`,color:base==="light"?color2.mediumdark:color2.darker})),statusPriority=["unknown","pending","success","warn","error"],statusMapping={unknown:[null,null],pending:[import_react18.default.createElement(LoadingIcons,{key:"icon",icon:"circle"}),"currentColor"],success:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"green"}}),"currentColor"],warn:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"orange"}}),"#A15C20"],error:[import_react18.default.createElement(SmallIcons,{key:"icon",icon:"circle",style:{color:"red"}}),"brown"]},getHighestStatus=statuses=>statusPriority.reduce((acc,status)=>statuses.includes(status)?status:acc,"unknown");function getGroupStatus(collapsedData,status){return Object.values(collapsedData).reduce((acc,item)=>{if(item.type==="group"||item.type==="component"){let leafs=getDescendantIds(collapsedData,item.id,!1).map(id=>collapsedData[id]).filter(i3=>i3.type==="story"),combinedStatus=getHighestStatus(leafs.flatMap(story=>Object.values(status?.[story.id]||{})).map(s2=>s2.status));combinedStatus&&(acc[item.id]=combinedStatus)}return acc},{})}var Action2=newStyled.button(({theme,height,width})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",width:width||20,height:height||20,boxSizing:"border-box",margin:0,marginLeft:"auto",padding:0,outline:0,lineHeight:"normal",background:"none",border:"1px solid transparent",borderRadius:"100%",cursor:"pointer",transition:"all 150ms ease-out",color:theme.base==="light"?curriedTransparentize$12(.3,theme.color.defaultText):curriedTransparentize$12(.6,theme.color.defaultText),"&:hover":{color:theme.color.secondary},"&:focus":{color:theme.color.secondary,borderColor:theme.color.secondary,"&:not(:focus-visible)":{borderColor:"transparent"}},svg:{width:10,height:10}})),CollapseButton=newStyled.button(({theme})=>({background:"transparent",border:"none",outline:"none",boxSizing:"content-box",cursor:"pointer",position:"relative",textAlign:"left",lineHeight:"normal",font:"inherit",color:"inherit",letterSpacing:"inherit",textTransform:"inherit",display:"flex",flex:"0 1 auto",padding:"3px 10px 1px 1px",margin:0,marginLeft:-19,overflow:"hidden",borderRadius:26,transition:"color 150ms, box-shadow 150ms","span:first-of-type":{marginTop:4,marginRight:7},"&:focus":{boxShadow:`0 0 0 1px ${theme.color.secondary}`,color:theme.color.secondary,"span:first-of-type":{color:theme.color.secondary},"&:not(:focus-visible)":{boxShadow:"none"}}})),LeafNodeStyleWrapper=newStyled.div(({theme})=>({position:"relative",display:"flex",justifyContent:"space-between",alignItems:"center",paddingRight:20,color:theme.color.defaultText,background:"transparent","&:hover, &:focus":{outline:"none",background:curriedTransparentize$12(.93,theme.color.secondary)},'&[data-selected="true"]':{color:theme.color.lightest,background:theme.color.secondary,fontWeight:theme.typography.weight.bold,"&:hover, &:focus":{background:theme.color.secondary},svg:{color:theme.color.lightest}},a:{color:"currentColor"}})),SkipToContentLink=newStyled(Button)(({theme})=>({display:"none","@media (min-width: 600px)":{display:"block",fontSize:"10px",overflow:"hidden",width:1,height:"20px",boxSizing:"border-box",opacity:0,padding:0,"&:focus":{opacity:1,padding:"5px 10px",background:"white",color:theme.color.secondary,width:"auto"}}})),Node=import_react19.default.memo(function({item,status,refId,docsMode,isOrphan,isDisplayed,isSelected,isFullyExpanded,color:color2,setFullyExpanded,isExpanded,setExpanded,onSelectStoryId,api}){if(!isDisplayed)return null;let id=createId(item.id,refId);if(item.type==="story"||item.type==="docs"){let LeafNode2=item.type==="docs"?DocumentNode:StoryNode,statusValue=getHighestStatus(Object.values(status||{}).map(s2=>s2.status)),[icon,textColor]=statusMapping[statusValue];return import_react19.default.createElement(LeafNodeStyleWrapper,{"data-selected":isSelected,"data-ref-id":refId,"data-item-id":item.id,"data-parent-id":item.parent,"data-nodetype":item.type==="docs"?"document":"story","data-highlightable":isDisplayed,className:"sidebar-item"},import_react19.default.createElement(LeafNode2,{style:isSelected?{}:{color:textColor},key:id,href:getLink(item,refId),id,depth:isOrphan?item.depth:item.depth-1,onClick:event=>{event.preventDefault(),onSelectStoryId(item.id)},...item.type==="docs"&&{docsMode}},item.renderLabel?.(item)||item.name),isSelected&&import_react19.default.createElement(SkipToContentLink,{secondary:!0,outline:!0,isLink:!0,href:"#storybook-preview-wrapper"},"Skip to canvas"),icon?import_react19.default.createElement(WithTooltip,{placement:"top",style:{display:"flex"},tooltip:()=>import_react19.default.createElement(TooltipLinkList,{links:Object.entries(status||{}).map(([k2,v2])=>({id:k2,title:v2.title,description:v2.description,right:statusMapping[v2.status][0]}))}),closeOnOutsideClick:!0},import_react19.default.createElement(Action2,{type:"button",height:22},icon)):null)}if(item.type==="root")return import_react19.default.createElement(RootNode,{key:id,id,className:"sidebar-subheading","data-ref-id":refId,"data-item-id":item.id,"data-nodetype":"root"},import_react19.default.createElement(CollapseButton,{type:"button","data-action":"collapse-root",onClick:event=>{event.preventDefault(),setExpanded({ids:[item.id],value:!isExpanded})},"aria-expanded":isExpanded},import_react19.default.createElement(CollapseIcon2,{isExpanded}),item.renderLabel?.(item)||item.name),isExpanded&&import_react19.default.createElement(Action2,{type:"button",className:"sidebar-subheading-action","aria-label":"expand","data-action":"expand-all","data-expanded":isFullyExpanded,onClick:event=>{event.preventDefault(),setFullyExpanded()}},import_react19.default.createElement(Icons,{icon:isFullyExpanded?"collapse":"expandalt"})));if(item.type==="component"||item.type==="group"){let BranchNode2=item.type==="component"?ComponentNode:GroupNode;return import_react19.default.createElement(BranchNode2,{key:id,id,style:color2?{color:color2}:{},className:"sidebar-item","data-ref-id":refId,"data-item-id":item.id,"data-parent-id":item.parent,"data-nodetype":item.type==="component"?"component":"group","data-highlightable":isDisplayed,"aria-controls":item.children&&item.children[0],"aria-expanded":isExpanded,depth:isOrphan?item.depth:item.depth-1,isComponent:item.type==="component",isExpandable:item.children&&item.children.length>0,isExpanded,onClick:event=>{event.preventDefault(),setExpanded({ids:[item.id],value:!isExpanded}),item.type==="component"&&!isExpanded&&onSelectStoryId(item.id)},onMouseEnter:()=>{item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.children[0]],options:{target:refId}})}},item.renderLabel?.(item)||item.name)}return null}),Root2=import_react19.default.memo(function({setExpanded,isFullyExpanded,expandableDescendants,...props}){let setFullyExpanded=(0,import_react19.useCallback)(()=>setExpanded({ids:expandableDescendants,value:!isFullyExpanded}),[setExpanded,isFullyExpanded,expandableDescendants]);return import_react19.default.createElement(Node,{...props,setExpanded,isFullyExpanded,setFullyExpanded})}),Container2=newStyled.div(props=>({marginTop:props.hasOrphans?20:0,marginBottom:20})),Tree=import_react19.default.memo(function({isBrowsing,isMain,refId,data,status,docsMode,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId}){let containerRef=(0,import_react19.useRef)(null),api=useStorybookApi(),[rootIds,orphanIds,initialExpanded]=(0,import_react19.useMemo)(()=>Object.keys(data).reduce((acc,id)=>{let item=data[id];return item.type==="root"?acc[0].push(id):item.parent||acc[1].push(id),item.type==="root"&&item.startCollapsed&&(acc[2][id]=!1),acc},[[],[],{}]),[data]),{expandableDescendants}=(0,import_react19.useMemo)(()=>[...orphanIds,...rootIds].reduce((acc,nodeId)=>(acc.expandableDescendants[nodeId]=getDescendantIds(data,nodeId,!1).filter(d2=>!["story","docs"].includes(data[d2].type)),acc),{orphansFirst:[],expandableDescendants:{}}),[data,rootIds,orphanIds]),singleStoryComponentIds=(0,import_react19.useMemo)(()=>Object.keys(data).filter(id=>{let entry=data[id];if(entry.type!=="component")return!1;let{children=[],name:name2}=entry;if(children.length!==1)return!1;let onlyChild=data[children[0]];return onlyChild.type==="docs"?!0:onlyChild.type==="story"?isStoryHoistable(onlyChild.name,name2):!1}),[data]),collapsedItems=(0,import_react19.useMemo)(()=>Object.keys(data).filter(id=>!singleStoryComponentIds.includes(id)),[singleStoryComponentIds]),collapsedData=(0,import_react19.useMemo)(()=>singleStoryComponentIds.reduce((acc,id)=>{let{children,parent,name:name2}=data[id],[childId]=children;if(parent){let siblings=[...data[parent].children];siblings[siblings.indexOf(id)]=childId,acc[parent]={...data[parent],children:siblings}}return acc[childId]={...data[childId],name:name2,parent,depth:data[childId].depth-1},acc},{...data}),[data]),ancestry=(0,import_react19.useMemo)(()=>collapsedItems.reduce((acc,id)=>Object.assign(acc,{[id]:getAncestorIds(collapsedData,id)}),{}),[collapsedItems,collapsedData]),[expanded,setExpanded]=useExpanded({containerRef,isBrowsing,refId,data:collapsedData,initialExpanded,rootIds,highlightedRef,setHighlightedItemId,selectedStoryId,onSelectStoryId}),groupStatus=(0,import_react19.useMemo)(()=>getGroupStatus(collapsedData,status),[collapsedData,status]);return import_react19.default.createElement(Container2,{ref:containerRef,hasOrphans:isMain&&orphanIds.length>0},collapsedItems.map(itemId=>{let item=collapsedData[itemId],id=createId(itemId,refId);if(item.type==="root"){let descendants=expandableDescendants[item.id],isFullyExpanded=descendants.every(d2=>expanded[d2]);return import_react19.default.createElement(Root2,{key:id,item,refId,isOrphan:!1,isDisplayed:!0,isSelected:selectedStoryId===itemId,isExpanded:!!expanded[itemId],setExpanded,isFullyExpanded,expandableDescendants:descendants,onSelectStoryId})}let isDisplayed=!item.parent||ancestry[itemId].every(a2=>expanded[a2]),color2=groupStatus[itemId]?statusMapping[groupStatus[itemId]][1]:null;return import_react19.default.createElement(Node,{api,key:id,item,status:status?.[itemId],refId,color:color2,docsMode,isOrphan:orphanIds.some(oid=>itemId===oid||itemId.startsWith(`${oid}-`)),isDisplayed,isSelected:selectedStoryId===itemId,isExpanded:!!expanded[itemId],setExpanded,onSelectStoryId})}))});var Wrapper4=newStyled.div(({isMain})=>({position:"relative",marginLeft:-20,marginRight:-20,marginTop:isMain?void 0:0})),RefHead=newStyled.div(({theme})=>({fontWeight:theme.typography.weight.bold,fontSize:theme.typography.size.s2-1,textDecoration:"none",lineHeight:"16px",display:"flex",alignItems:"center",justifyContent:"space-between",background:"transparent",width:"100%",marginTop:20,paddingTop:16,borderTop:`1px solid ${theme.appBorderColor}`,color:theme.base==="light"?theme.color.defaultText:curriedTransparentize$12(.2,theme.color.defaultText)})),RefTitle=newStyled.span(({theme})=>({display:"block",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,overflow:"hidden",marginLeft:2})),CollapseButton2=newStyled.button(({theme})=>({background:"transparent",border:"1px solid transparent",borderRadius:26,outline:"none",boxSizing:"content-box",cursor:"pointer",position:"relative",textAlign:"left",lineHeight:"normal",font:"inherit",color:"inherit",display:"flex",padding:3,paddingLeft:1,paddingRight:12,margin:0,marginLeft:-20,overflow:"hidden","span:first-of-type":{marginTop:5},"&:focus":{borderColor:theme.color.secondary,"span:first-of-type":{borderLeftColor:theme.color.secondary}}})),Ref=import_react20.default.memo(function(props){let{docsOptions}=useStorybookState(),api=useStorybookApi(),{index:index2,id:refId,title=refId,isLoading:isLoadingMain,isBrowsing,selectedStoryId,highlightedRef,setHighlighted,loginUrl,type,expanded=!0,indexError,previewInitialized}=props,length=(0,import_react20.useMemo)(()=>index2?Object.keys(index2).length:0,[index2]),indicatorRef=(0,import_react20.useRef)(null),isMain=refId===DEFAULT_REF_ID,isLoading=isLoadingMain||(type==="auto-inject"&&!previewInitialized||type==="server-checked")||type==="unknown",state=getStateType(isLoading,!!loginUrl&&length===0,!!indexError,!isLoading&&length===0),[isExpanded,setExpanded]=(0,import_react20.useState)(expanded);(0,import_react20.useEffect)(()=>{index2&&selectedStoryId&&index2[selectedStoryId]&&setExpanded(!0)},[setExpanded,index2,selectedStoryId]);let handleClick=(0,import_react20.useCallback)(()=>setExpanded(value2=>!value2),[setExpanded]),setHighlightedItemId=(0,import_react20.useCallback)(itemId=>setHighlighted({itemId,refId}),[setHighlighted]),onSelectStoryId=(0,import_react20.useCallback)(storyId=>api&&api.selectStory(storyId,void 0,{ref:!isMain&&refId}),[api,isMain,refId]);return import_react20.default.createElement(import_react20.default.Fragment,null,isMain||import_react20.default.createElement(RefHead,{"aria-label":`${isExpanded?"Hide":"Show"} ${title} stories`,"aria-expanded":isExpanded},import_react20.default.createElement(CollapseButton2,{"data-action":"collapse-ref",onClick:handleClick},import_react20.default.createElement(CollapseIcon2,{isExpanded}),import_react20.default.createElement(RefTitle,{title},title)),import_react20.default.createElement(RefIndicator,{...props,state,ref:indicatorRef})),isExpanded&&import_react20.default.createElement(Wrapper4,{"data-title":title,isMain},state==="auth"&&import_react20.default.createElement(AuthBlock,{id:refId,loginUrl}),state==="error"&&import_react20.default.createElement(ErrorBlock,{error:indexError}),state==="loading"&&import_react20.default.createElement(LoaderBlock,{isMain}),state==="empty"&&import_react20.default.createElement(EmptyBlock,{isMain}),state==="ready"&&import_react20.default.createElement(Tree,{status:props.status,isBrowsing,isMain,refId,data:index2,docsMode:docsOptions.docsMode,selectedStoryId,onSelectStoryId,highlightedRef,setHighlightedItemId})))});var import_react21=__toESM(require_react());var{document:document7,window:globalWindow5}=scope,fromSelection=selection=>selection?{itemId:selection.storyId,refId:selection.refId}:null,useHighlighted=({containerRef,isLoading,isBrowsing,dataset,selected})=>{let initialHighlight=fromSelection(selected),highlightedRef=(0,import_react21.useRef)(initialHighlight),[highlighted,setHighlighted]=(0,import_react21.useState)(initialHighlight),api=useStorybookApi(),updateHighlighted=(0,import_react21.useCallback)(highlight=>{highlightedRef.current=highlight,setHighlighted(highlight)},[highlightedRef]),highlightElement=(0,import_react21.useCallback)((element,center=!1)=>{let itemId=element.getAttribute("data-item-id"),refId=element.getAttribute("data-ref-id");!itemId||!refId||(updateHighlighted({itemId,refId}),scrollIntoView(element,center))},[updateHighlighted]);return(0,import_react21.useEffect)(()=>{let highlight=fromSelection(selected);if(updateHighlighted(highlight),highlight){let{itemId,refId}=highlight;setTimeout(()=>{scrollIntoView(containerRef.current?.querySelector(`[data-item-id="${itemId}"][data-ref-id="${refId}"]`),!0)},0)}},[dataset,highlightedRef,containerRef,selected]),(0,import_react21.useEffect)(()=>{let menuElement=document7.getElementById("storybook-explorer-menu"),lastRequestId,navigateTree=event=>{if(isLoading||!isBrowsing||!containerRef.current||!matchesModifiers(!1,event))return;let isArrowUp=matchesKeyCode("ArrowUp",event),isArrowDown=matchesKeyCode("ArrowDown",event);if(!(isArrowUp||isArrowDown))return;let requestId=globalWindow5.requestAnimationFrame(()=>{globalWindow5.cancelAnimationFrame(lastRequestId),lastRequestId=requestId;let target=event.target;if(!isAncestor(menuElement,target)&&!isAncestor(target,menuElement))return;target.hasAttribute("data-action")&&target.blur();let highlightable=Array.from(containerRef.current.querySelectorAll("[data-highlightable=true]")),currentIndex=highlightable.findIndex(el=>el.getAttribute("data-item-id")===highlightedRef.current?.itemId&&el.getAttribute("data-ref-id")===highlightedRef.current?.refId),nextIndex=cycle(highlightable,currentIndex,isArrowUp?-1:1),didRunAround=isArrowUp?nextIndex===highlightable.length-1:nextIndex===0;if(highlightElement(highlightable[nextIndex],didRunAround),highlightable[nextIndex].getAttribute("data-nodetype")==="component"){let{itemId,refId}=highlightedRef.current,item=api.getData(itemId,refId==="storybook_internal"?void 0:refId);item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]],options:{target:refId}})}})};return document7.addEventListener("keydown",navigateTree),()=>document7.removeEventListener("keydown",navigateTree)},[isLoading,isBrowsing,highlightedRef,highlightElement]),[highlighted,updateHighlighted,highlightedRef]};var import_react22=__toESM(require_react());var HighlightStyles=({refId,itemId})=>import_react22.default.createElement(Global,{styles:({color:color2})=>{let background=curriedTransparentize$12(.85,color2.secondary);return{[`[data-ref-id="${refId}"][data-item-id="${itemId}"]:not([data-selected="true"])`]:{'&[data-nodetype="component"], &[data-nodetype="group"]':{background,"&:hover, &:focus":{background}},'&[data-nodetype="story"], &[data-nodetype="document"]':{color:color2.defaultText,background,"&:hover, &:focus":{background}}}}}});var Explorer=import_react23.default.memo(function({isLoading,isBrowsing,dataset,selected}){let containerRef=(0,import_react23.useRef)(null),[highlighted,setHighlighted,highlightedRef]=useHighlighted({containerRef,isLoading,isBrowsing,dataset,selected});return import_react23.default.createElement("div",{ref:containerRef,id:"storybook-explorer-tree","data-highlighted-ref-id":highlighted?.refId,"data-highlighted-item-id":highlighted?.itemId},highlighted&&import_react23.default.createElement(HighlightStyles,{...highlighted}),dataset.entries.map(([refId,ref])=>import_react23.default.createElement(Ref,{...ref,key:refId,isLoading,isBrowsing,selectedStoryId:selected?.refId===ref.id?selected.storyId:null,highlightedRef,setHighlighted})))});var import_prop_types2=__toESM(require_prop_types()),import_react24=__toESM(require_react()),import_react_is=__toESM(require_react_is2());function t2(t3){return typeof t3=="object"&&t3!=null&&t3.nodeType===1}function e2(t3,e3){return(!e3||t3!=="hidden")&&t3!=="visible"&&t3!=="clip"}function n2(t3,n3){if(t3.clientHeight<t3.scrollHeight||t3.clientWidth<t3.scrollWidth){var r4=getComputedStyle(t3,null);return e2(r4.overflowY,n3)||e2(r4.overflowX,n3)||function(t4){var e3=function(t5){if(!t5.ownerDocument||!t5.ownerDocument.defaultView)return null;try{return t5.ownerDocument.defaultView.frameElement}catch{return null}}(t4);return!!e3&&(e3.clientHeight<t4.scrollHeight||e3.clientWidth<t4.scrollWidth)}(t3)}return!1}function r3(t3,e3,n3,r4,i3,o2,l2,d2){return o2<t3&&l2>e3||o2>t3&&l2<e3?0:o2<=t3&&d2<=n3||l2>=e3&&d2>=n3?o2-t3-r4:l2>e3&&d2<n3||o2<t3&&d2>n3?l2-e3+i3:0}var i2=function(e3,i3){var o2=window,l2=i3.scrollMode,d2=i3.block,f3=i3.inline,h3=i3.boundary,u2=i3.skipOverflowHiddenElements,s2=typeof h3=="function"?h3:function(t3){return t3!==h3};if(!t2(e3))throw new TypeError("Invalid target");for(var a2,c3,g2=document.scrollingElement||document.documentElement,p2=[],m3=e3;t2(m3)&&s2(m3);){if((m3=(c3=(a2=m3).parentElement)==null?a2.getRootNode().host||null:c3)===g2){p2.push(m3);break}m3!=null&&m3===document.body&&n2(m3)&&!n2(document.documentElement)||m3!=null&&n2(m3,u2)&&p2.push(m3)}for(var w3=o2.visualViewport?o2.visualViewport.width:innerWidth,v2=o2.visualViewport?o2.visualViewport.height:innerHeight,W2=window.scrollX||pageXOffset,H7=window.scrollY||pageYOffset,b3=e3.getBoundingClientRect(),y2=b3.height,E3=b3.width,M2=b3.top,V=b3.right,x3=b3.bottom,I3=b3.left,C3=d2==="start"||d2==="nearest"?M2:d2==="end"?x3:M2+y2/2,R3=f3==="center"?I3+E3/2:f3==="end"?V:I3,T2=[],k2=0;k2<p2.length;k2++){var B3=p2[k2],D2=B3.getBoundingClientRect(),O2=D2.height,X=D2.width,Y2=D2.top,L3=D2.right,S2=D2.bottom,j2=D2.left;if(l2==="if-needed"&&M2>=0&&I3>=0&&x3<=v2&&V<=w3&&M2>=Y2&&x3<=S2&&I3>=j2&&V<=L3)return T2;var N3=getComputedStyle(B3),q2=parseInt(N3.borderLeftWidth,10),z2=parseInt(N3.borderTopWidth,10),A3=parseInt(N3.borderRightWidth,10),F2=parseInt(N3.borderBottomWidth,10),G2=0,J=0,K2="offsetWidth"in B3?B3.offsetWidth-B3.clientWidth-q2-A3:0,P4="offsetHeight"in B3?B3.offsetHeight-B3.clientHeight-z2-F2:0,Q="offsetWidth"in B3?B3.offsetWidth===0?0:X/B3.offsetWidth:0,U2="offsetHeight"in B3?B3.offsetHeight===0?0:O2/B3.offsetHeight:0;if(g2===B3)G2=d2==="start"?C3:d2==="end"?C3-v2:d2==="nearest"?r3(H7,H7+v2,v2,z2,F2,H7+C3,H7+C3+y2,y2):C3-v2/2,J=f3==="start"?R3:f3==="center"?R3-w3/2:f3==="end"?R3-w3:r3(W2,W2+w3,w3,q2,A3,W2+R3,W2+R3+E3,E3),G2=Math.max(0,G2+H7),J=Math.max(0,J+W2);else{G2=d2==="start"?C3-Y2-z2:d2==="end"?C3-S2+F2+P4:d2==="nearest"?r3(Y2,S2,O2,z2,F2+P4,C3,C3+y2,y2):C3-(Y2+O2/2)+P4/2,J=f3==="start"?R3-j2-q2:f3==="center"?R3-(j2+X/2)+K2/2:f3==="end"?R3-L3+A3+K2:r3(j2,L3,X,q2,A3+K2,R3,R3+E3,E3);var Z=B3.scrollLeft,$=B3.scrollTop;C3+=$-(G2=Math.max(0,Math.min($+G2/U2,B3.scrollHeight-O2/U2+P4))),R3+=Z-(J=Math.max(0,Math.min(Z+J/Q,B3.scrollWidth-X/Q+K2)))}T2.push({el:B3,top:G2,left:J})}return T2};var __assign2=function(){return __assign2=Object.assign||function(t3){for(var s2,i3=1,n3=arguments.length;i3<n3;i3++){s2=arguments[i3];for(var p2 in s2)Object.prototype.hasOwnProperty.call(s2,p2)&&(t3[p2]=s2[p2])}return t3},__assign2.apply(this,arguments)};var idCounter=0;function cbToCb(cb){return typeof cb=="function"?cb:noop3}function noop3(){}function scrollIntoView2(node,menuNode){if(!node)return;i2(node,{boundary:menuNode,block:"nearest",scrollMode:"if-needed"}).forEach(_ref=>{let{el,top,left}=_ref;el.scrollTop=top,el.scrollLeft=left})}function isOrContainsNode(parent,child,environment){return parent===child||child instanceof environment.Node&&parent.contains&&parent.contains(child)}function debounce3(fn,time){let timeoutId;function cancel(){timeoutId&&clearTimeout(timeoutId)}function wrapper(){for(var _len=arguments.length,args2=new Array(_len),_key=0;_key<_len;_key++)args2[_key]=arguments[_key];cancel(),timeoutId=setTimeout(()=>{timeoutId=null,fn(...args2)},time)}return wrapper.cancel=cancel,wrapper}function callAllEventHandlers(){for(var _len2=arguments.length,fns=new Array(_len2),_key2=0;_key2<_len2;_key2++)fns[_key2]=arguments[_key2];return function(event){for(var _len3=arguments.length,args2=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)args2[_key3-1]=arguments[_key3];return fns.some(fn=>(fn&&fn(event,...args2),event.preventDownshiftDefault||event.hasOwnProperty("nativeEvent")&&event.nativeEvent.preventDownshiftDefault))}}function handleRefs(){for(var _len4=arguments.length,refs2=new Array(_len4),_key4=0;_key4<_len4;_key4++)refs2[_key4]=arguments[_key4];return node=>{refs2.forEach(ref=>{typeof ref=="function"?ref(node):ref&&(ref.current=node)})}}function generateId(){return String(idCounter++)}function getA11yStatusMessage$1(_ref2){let{isOpen,resultCount,previousResultCount}=_ref2;return isOpen?resultCount?resultCount!==previousResultCount?`${resultCount} result${resultCount===1?" is":"s are"} available, use up and down arrow keys to navigate. Press Enter key to select.`:"":"No results are available.":""}function unwrapArray(arg,defaultValue){return arg=Array.isArray(arg)?arg[0]:arg,!arg&&defaultValue?defaultValue:arg}function isDOMElement2(element){return typeof element.type=="string"}function getElementProps(element){return element.props}function requiredProp(fnName,propName){console.error(`The property "${propName}" is required in "${fnName}"`)}var stateKeys=["highlightedIndex","inputValue","isOpen","selectedItem","type"];function pickState(state){state===void 0&&(state={});let result2={};return stateKeys.forEach(k2=>{state.hasOwnProperty(k2)&&(result2[k2]=state[k2])}),result2}function getState(state,props){return Object.keys(state).reduce((prevState,key2)=>(prevState[key2]=isControlledProp(props,key2)?props[key2]:state[key2],prevState),{})}function isControlledProp(props,key2){return props[key2]!==void 0}function normalizeArrowKey(event){let{key:key2,keyCode}=event;return keyCode>=37&&keyCode<=40&&key2.indexOf("Arrow")!==0?`Arrow${key2}`:key2}function isPlainObject(obj){return Object.prototype.toString.call(obj)==="[object Object]"}function getNextWrappingIndex(moveAmount,baseIndex,itemCount,getItemNodeFromIndex,circular){if(circular===void 0&&(circular=!0),itemCount===0)return-1;let itemsLastIndex=itemCount-1;(typeof baseIndex!="number"||baseIndex<0||baseIndex>=itemCount)&&(baseIndex=moveAmount>0?-1:itemsLastIndex+1);let newIndex=baseIndex+moveAmount;newIndex<0?newIndex=circular?itemsLastIndex:0:newIndex>itemsLastIndex&&(newIndex=circular?0:itemsLastIndex);let nonDisabledNewIndex=getNextNonDisabledIndex(moveAmount,newIndex,itemCount,getItemNodeFromIndex,circular);return nonDisabledNewIndex===-1?baseIndex>=itemCount?-1:baseIndex:nonDisabledNewIndex}function getNextNonDisabledIndex(moveAmount,baseIndex,itemCount,getItemNodeFromIndex,circular){let currentElementNode=getItemNodeFromIndex(baseIndex);if(!currentElementNode||!currentElementNode.hasAttribute("disabled"))return baseIndex;if(moveAmount>0){for(let index2=baseIndex+1;index2<itemCount;index2++)if(!getItemNodeFromIndex(index2).hasAttribute("disabled"))return index2}else for(let index2=baseIndex-1;index2>=0;index2--)if(!getItemNodeFromIndex(index2).hasAttribute("disabled"))return index2;return circular?moveAmount>0?getNextNonDisabledIndex(1,0,itemCount,getItemNodeFromIndex,!1):getNextNonDisabledIndex(-1,itemCount-1,itemCount,getItemNodeFromIndex,!1):-1}function targetWithinDownshift(target,downshiftElements,environment,checkActiveElement){return checkActiveElement===void 0&&(checkActiveElement=!0),downshiftElements.some(contextNode=>contextNode&&(isOrContainsNode(contextNode,target,environment)||checkActiveElement&&isOrContainsNode(contextNode,environment.document.activeElement,environment)))}var validateControlledUnchanged=noop3;validateControlledUnchanged=(state,prevProps,nextProps)=>{let warningDescription="This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props";Object.keys(state).forEach(propKey=>{prevProps[propKey]!==void 0&&nextProps[propKey]===void 0?console.error(`downshift: A component has changed the controlled prop "${propKey}" to be uncontrolled. ${warningDescription}`):prevProps[propKey]===void 0&&nextProps[propKey]!==void 0&&console.error(`downshift: A component has changed the uncontrolled prop "${propKey}" to be controlled. ${warningDescription}`)})};var cleanupStatus=debounce3(documentProp=>{getStatusDiv(documentProp).textContent=""},500);function setStatus(status,documentProp){let div=getStatusDiv(documentProp);status&&(div.textContent=status,cleanupStatus(documentProp))}function getStatusDiv(documentProp){documentProp===void 0&&(documentProp=document);let statusDiv=documentProp.getElementById("a11y-status-message");return statusDiv||(statusDiv=documentProp.createElement("div"),statusDiv.setAttribute("id","a11y-status-message"),statusDiv.setAttribute("role","status"),statusDiv.setAttribute("aria-live","polite"),statusDiv.setAttribute("aria-relevant","additions text"),Object.assign(statusDiv.style,{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",width:"1px"}),documentProp.body.appendChild(statusDiv),statusDiv)}var unknown="__autocomplete_unknown__",mouseUp="__autocomplete_mouseup__",itemMouseEnter="__autocomplete_item_mouseenter__",keyDownArrowUp="__autocomplete_keydown_arrow_up__",keyDownArrowDown="__autocomplete_keydown_arrow_down__",keyDownEscape="__autocomplete_keydown_escape__",keyDownEnter="__autocomplete_keydown_enter__",keyDownHome="__autocomplete_keydown_home__",keyDownEnd="__autocomplete_keydown_end__",clickItem="__autocomplete_click_item__",blurInput="__autocomplete_blur_input__",changeInput="__autocomplete_change_input__",keyDownSpaceButton="__autocomplete_keydown_space_button__",clickButton="__autocomplete_click_button__",blurButton="__autocomplete_blur_button__",controlledPropUpdatedSelectedItem="__autocomplete_controlled_prop_updated_selected_item__",touchEnd="__autocomplete_touchend__",stateChangeTypes$3=Object.freeze({__proto__:null,unknown,mouseUp,itemMouseEnter,keyDownArrowUp,keyDownArrowDown,keyDownEscape,keyDownEnter,keyDownHome,keyDownEnd,clickItem,blurInput,changeInput,keyDownSpaceButton,clickButton,blurButton,controlledPropUpdatedSelectedItem,touchEnd}),Downshift=(()=>{class Downshift2 extends import_react24.Component{constructor(_props){var _this;super(_props),_this=this,this.id=this.props.id||`downshift-${generateId()}`,this.menuId=this.props.menuId||`${this.id}-menu`,this.labelId=this.props.labelId||`${this.id}-label`,this.inputId=this.props.inputId||`${this.id}-input`,this.getItemId=this.props.getItemId||(index2=>`${this.id}-item-${index2}`),this.input=null,this.items=[],this.itemCount=null,this.previousResultCount=0,this.timeoutIds=[],this.internalSetTimeout=(fn,time)=>{let id=setTimeout(()=>{this.timeoutIds=this.timeoutIds.filter(i3=>i3!==id),fn()},time);this.timeoutIds.push(id)},this.setItemCount=count=>{this.itemCount=count},this.unsetItemCount=()=>{this.itemCount=null},this.setHighlightedIndex=function(highlightedIndex,otherStateToSet){highlightedIndex===void 0&&(highlightedIndex=_this.props.defaultHighlightedIndex),otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState({highlightedIndex,...otherStateToSet})},this.clearSelection=cb=>{this.internalSetState({selectedItem:null,inputValue:"",highlightedIndex:this.props.defaultHighlightedIndex,isOpen:this.props.defaultIsOpen},cb)},this.selectItem=(item,otherStateToSet,cb)=>{otherStateToSet=pickState(otherStateToSet),this.internalSetState({isOpen:this.props.defaultIsOpen,highlightedIndex:this.props.defaultHighlightedIndex,selectedItem:item,inputValue:this.props.itemToString(item),...otherStateToSet},cb)},this.selectItemAtIndex=(itemIndex,otherStateToSet,cb)=>{let item=this.items[itemIndex];item!=null&&this.selectItem(item,otherStateToSet,cb)},this.selectHighlightedItem=(otherStateToSet,cb)=>this.selectItemAtIndex(this.getState().highlightedIndex,otherStateToSet,cb),this.internalSetState=(stateToSet,cb)=>{let isItemSelected,onChangeArg,onStateChangeArg={},isStateToSetFunction=typeof stateToSet=="function";return!isStateToSetFunction&&stateToSet.hasOwnProperty("inputValue")&&this.props.onInputValueChange(stateToSet.inputValue,{...this.getStateAndHelpers(),...stateToSet}),this.setState(state=>{state=this.getState(state);let newStateToSet=isStateToSetFunction?stateToSet(state):stateToSet;newStateToSet=this.props.stateReducer(state,newStateToSet),isItemSelected=newStateToSet.hasOwnProperty("selectedItem");let nextState={};return isItemSelected&&newStateToSet.selectedItem!==state.selectedItem&&(onChangeArg=newStateToSet.selectedItem),newStateToSet.type=newStateToSet.type||unknown,Object.keys(newStateToSet).forEach(key2=>{state[key2]!==newStateToSet[key2]&&(onStateChangeArg[key2]=newStateToSet[key2]),key2!=="type"&&(newStateToSet[key2],isControlledProp(this.props,key2)||(nextState[key2]=newStateToSet[key2]))}),isStateToSetFunction&&newStateToSet.hasOwnProperty("inputValue")&&this.props.onInputValueChange(newStateToSet.inputValue,{...this.getStateAndHelpers(),...newStateToSet}),nextState},()=>{cbToCb(cb)(),Object.keys(onStateChangeArg).length>1&&this.props.onStateChange(onStateChangeArg,this.getStateAndHelpers()),isItemSelected&&this.props.onSelect(stateToSet.selectedItem,this.getStateAndHelpers()),onChangeArg!==void 0&&this.props.onChange(onChangeArg,this.getStateAndHelpers()),this.props.onUserAction(onStateChangeArg,this.getStateAndHelpers())})},this.rootRef=node=>this._rootNode=node,this.getRootProps=function(_temp,_temp2){let{refKey="ref",ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2;_this.getRootProps.called=!0,_this.getRootProps.refKey=refKey,_this.getRootProps.suppressRefError=suppressRefError;let{isOpen}=_this.getState();return{[refKey]:handleRefs(ref,_this.rootRef),role:"combobox","aria-expanded":isOpen,"aria-haspopup":"listbox","aria-owns":isOpen?_this.menuId:null,"aria-labelledby":_this.labelId,...rest}},this.keyDownHandlers={ArrowDown(event){if(event.preventDefault(),this.getState().isOpen){let amount=event.shiftKey?5:1;this.moveHighlightedIndex(amount,{type:keyDownArrowDown})}else this.internalSetState({isOpen:!0,type:keyDownArrowDown},()=>{let itemCount=this.getItemCount();if(itemCount>0){let{highlightedIndex}=this.getState(),nextHighlightedIndex=getNextWrappingIndex(1,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,{type:keyDownArrowDown})}})},ArrowUp(event){if(event.preventDefault(),this.getState().isOpen){let amount=event.shiftKey?-5:-1;this.moveHighlightedIndex(amount,{type:keyDownArrowUp})}else this.internalSetState({isOpen:!0,type:keyDownArrowUp},()=>{let itemCount=this.getItemCount();if(itemCount>0){let{highlightedIndex}=this.getState(),nextHighlightedIndex=getNextWrappingIndex(-1,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,{type:keyDownArrowUp})}})},Enter(event){if(event.which===229)return;let{isOpen,highlightedIndex}=this.getState();if(isOpen&&highlightedIndex!=null){event.preventDefault();let item=this.items[highlightedIndex],itemNode=this.getItemNodeFromIndex(highlightedIndex);if(item==null||itemNode&&itemNode.hasAttribute("disabled"))return;this.selectHighlightedItem({type:keyDownEnter})}},Escape(event){event.preventDefault(),this.reset({type:keyDownEscape,...!this.state.isOpen&&{selectedItem:null,inputValue:""}})}},this.buttonKeyDownHandlers={...this.keyDownHandlers," "(event){event.preventDefault(),this.toggleMenu({type:keyDownSpaceButton})}},this.inputKeyDownHandlers={...this.keyDownHandlers,Home(event){let{isOpen}=this.getState();if(!isOpen)return;event.preventDefault();let itemCount=this.getItemCount();if(itemCount<=0||!isOpen)return;let newHighlightedIndex=getNextNonDisabledIndex(1,0,itemCount,index2=>this.getItemNodeFromIndex(index2),!1);this.setHighlightedIndex(newHighlightedIndex,{type:keyDownHome})},End(event){let{isOpen}=this.getState();if(!isOpen)return;event.preventDefault();let itemCount=this.getItemCount();if(itemCount<=0||!isOpen)return;let newHighlightedIndex=getNextNonDisabledIndex(-1,itemCount-1,itemCount,index2=>this.getItemNodeFromIndex(index2),!1);this.setHighlightedIndex(newHighlightedIndex,{type:keyDownEnd})}},this.getToggleButtonProps=function(_temp3){let{onClick,onPress,onKeyDown,onKeyUp,onBlur,...rest}=_temp3===void 0?{}:_temp3,{isOpen}=_this.getState(),enabledEventHandlers={onClick:callAllEventHandlers(onClick,_this.buttonHandleClick),onKeyDown:callAllEventHandlers(onKeyDown,_this.buttonHandleKeyDown),onKeyUp:callAllEventHandlers(onKeyUp,_this.buttonHandleKeyUp),onBlur:callAllEventHandlers(onBlur,_this.buttonHandleBlur)},eventHandlers=rest.disabled?{}:enabledEventHandlers;return{type:"button",role:"button","aria-label":isOpen?"close menu":"open menu","aria-haspopup":!0,"data-toggle":!0,...eventHandlers,...rest}},this.buttonHandleKeyUp=event=>{event.preventDefault()},this.buttonHandleKeyDown=event=>{let key2=normalizeArrowKey(event);this.buttonKeyDownHandlers[key2]&&this.buttonKeyDownHandlers[key2].call(this,event)},this.buttonHandleClick=event=>{event.preventDefault(),this.props.environment.document.activeElement===this.props.environment.document.body&&event.target.focus(),this.internalSetTimeout(()=>this.toggleMenu({type:clickButton}))},this.buttonHandleBlur=event=>{let blurTarget=event.target;this.internalSetTimeout(()=>{!this.isMouseDown&&(this.props.environment.document.activeElement==null||this.props.environment.document.activeElement.id!==this.inputId)&&this.props.environment.document.activeElement!==blurTarget&&this.reset({type:blurButton})})},this.getLabelProps=props=>({htmlFor:this.inputId,id:this.labelId,...props}),this.getInputProps=function(_temp4){let{onKeyDown,onBlur,onChange,onInput,onChangeText,...rest}=_temp4===void 0?{}:_temp4,onChangeKey,eventHandlers={};onChangeKey="onChange";let{inputValue,isOpen,highlightedIndex}=_this.getState();return rest.disabled||(eventHandlers={[onChangeKey]:callAllEventHandlers(onChange,onInput,_this.inputHandleChange),onKeyDown:callAllEventHandlers(onKeyDown,_this.inputHandleKeyDown),onBlur:callAllEventHandlers(onBlur,_this.inputHandleBlur)}),{"aria-autocomplete":"list","aria-activedescendant":isOpen&&typeof highlightedIndex=="number"&&highlightedIndex>=0?_this.getItemId(highlightedIndex):null,"aria-controls":isOpen?_this.menuId:null,"aria-labelledby":_this.labelId,autoComplete:"off",value:inputValue,id:_this.inputId,...eventHandlers,...rest}},this.inputHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&this.inputKeyDownHandlers[key2]&&this.inputKeyDownHandlers[key2].call(this,event)},this.inputHandleChange=event=>{this.internalSetState({type:changeInput,isOpen:!0,inputValue:event.target.value,highlightedIndex:this.props.defaultHighlightedIndex})},this.inputHandleBlur=()=>{this.internalSetTimeout(()=>{let downshiftButtonIsActive=this.props.environment.document&&!!this.props.environment.document.activeElement&&!!this.props.environment.document.activeElement.dataset&&this.props.environment.document.activeElement.dataset.toggle&&this._rootNode&&this._rootNode.contains(this.props.environment.document.activeElement);!this.isMouseDown&&!downshiftButtonIsActive&&this.reset({type:blurInput})})},this.menuRef=node=>{this._menuNode=node},this.getMenuProps=function(_temp5,_temp6){let{refKey="ref",ref,...props}=_temp5===void 0?{}:_temp5,{suppressRefError=!1}=_temp6===void 0?{}:_temp6;return _this.getMenuProps.called=!0,_this.getMenuProps.refKey=refKey,_this.getMenuProps.suppressRefError=suppressRefError,{[refKey]:handleRefs(ref,_this.menuRef),role:"listbox","aria-labelledby":props&&props["aria-label"]?null:_this.labelId,id:_this.menuId,...props}},this.getItemProps=function(_temp7){let{onMouseMove,onMouseDown,onClick,onPress,index:index2,item=requiredProp("getItemProps","item"),...rest}=_temp7===void 0?{}:_temp7;index2===void 0?(_this.items.push(item),index2=_this.items.indexOf(item)):_this.items[index2]=item;let onSelectKey="onClick",customClickHandler=onClick,enabledEventHandlers={onMouseMove:callAllEventHandlers(onMouseMove,()=>{index2!==_this.getState().highlightedIndex&&(_this.setHighlightedIndex(index2,{type:itemMouseEnter}),_this.avoidScrolling=!0,_this.internalSetTimeout(()=>_this.avoidScrolling=!1,250))}),onMouseDown:callAllEventHandlers(onMouseDown,event=>{event.preventDefault()}),[onSelectKey]:callAllEventHandlers(customClickHandler,()=>{_this.selectItemAtIndex(index2,{type:clickItem})})},eventHandlers=rest.disabled?{onMouseDown:enabledEventHandlers.onMouseDown}:enabledEventHandlers;return{id:_this.getItemId(index2),role:"option","aria-selected":_this.getState().highlightedIndex===index2,...eventHandlers,...rest}},this.clearItems=()=>{this.items=[]},this.reset=function(otherStateToSet,cb){otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState(_ref=>{let{selectedItem}=_ref;return{isOpen:_this.props.defaultIsOpen,highlightedIndex:_this.props.defaultHighlightedIndex,inputValue:_this.props.itemToString(selectedItem),...otherStateToSet}},cb)},this.toggleMenu=function(otherStateToSet,cb){otherStateToSet===void 0&&(otherStateToSet={}),otherStateToSet=pickState(otherStateToSet),_this.internalSetState(_ref2=>{let{isOpen}=_ref2;return{isOpen:!isOpen,...isOpen&&{highlightedIndex:_this.props.defaultHighlightedIndex},...otherStateToSet}},()=>{let{isOpen,highlightedIndex}=_this.getState();isOpen&&_this.getItemCount()>0&&typeof highlightedIndex=="number"&&_this.setHighlightedIndex(highlightedIndex,otherStateToSet),cbToCb(cb)()})},this.openMenu=cb=>{this.internalSetState({isOpen:!0},cb)},this.closeMenu=cb=>{this.internalSetState({isOpen:!1},cb)},this.updateStatus=debounce3(()=>{let state=this.getState(),item=this.items[state.highlightedIndex],resultCount=this.getItemCount(),status=this.props.getA11yStatusMessage({itemToString:this.props.itemToString,previousResultCount:this.previousResultCount,resultCount,highlightedItem:item,...state});this.previousResultCount=resultCount,setStatus(status,this.props.environment.document)},200);let{defaultHighlightedIndex,initialHighlightedIndex:_highlightedIndex=defaultHighlightedIndex,defaultIsOpen,initialIsOpen:_isOpen=defaultIsOpen,initialInputValue:_inputValue="",initialSelectedItem:_selectedItem=null}=this.props,_state=this.getState({highlightedIndex:_highlightedIndex,isOpen:_isOpen,inputValue:_inputValue,selectedItem:_selectedItem});_state.selectedItem!=null&&this.props.initialInputValue===void 0&&(_state.inputValue=this.props.itemToString(_state.selectedItem)),this.state=_state}internalClearTimeouts(){this.timeoutIds.forEach(id=>{clearTimeout(id)}),this.timeoutIds=[]}getState(stateToMerge){return stateToMerge===void 0&&(stateToMerge=this.state),getState(stateToMerge,this.props)}getItemCount(){let itemCount=this.items.length;return this.itemCount!=null?itemCount=this.itemCount:this.props.itemCount!==void 0&&(itemCount=this.props.itemCount),itemCount}getItemNodeFromIndex(index2){return this.props.environment.document.getElementById(this.getItemId(index2))}scrollHighlightedItemIntoView(){{let node=this.getItemNodeFromIndex(this.getState().highlightedIndex);this.props.scrollIntoView(node,this._menuNode)}}moveHighlightedIndex(amount,otherStateToSet){let itemCount=this.getItemCount(),{highlightedIndex}=this.getState();if(itemCount>0){let nextHighlightedIndex=getNextWrappingIndex(amount,highlightedIndex,itemCount,index2=>this.getItemNodeFromIndex(index2));this.setHighlightedIndex(nextHighlightedIndex,otherStateToSet)}}getStateAndHelpers(){let{highlightedIndex,inputValue,selectedItem,isOpen}=this.getState(),{itemToString:itemToString2}=this.props,{id}=this,{getRootProps,getToggleButtonProps,getLabelProps,getMenuProps,getInputProps,getItemProps:getItemProps2,openMenu,closeMenu,toggleMenu,selectItem,selectItemAtIndex,selectHighlightedItem,setHighlightedIndex,clearSelection,clearItems,reset,setItemCount,unsetItemCount,internalSetState:setState}=this;return{getRootProps,getToggleButtonProps,getLabelProps,getMenuProps,getInputProps,getItemProps:getItemProps2,reset,openMenu,closeMenu,toggleMenu,selectItem,selectItemAtIndex,selectHighlightedItem,setHighlightedIndex,clearSelection,clearItems,setItemCount,unsetItemCount,setState,itemToString:itemToString2,id,highlightedIndex,inputValue,isOpen,selectedItem}}componentDidMount(){this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps);{let onMouseDown=()=>{this.isMouseDown=!0},onMouseUp=event=>{this.isMouseDown=!1,!targetWithinDownshift(event.target,[this._rootNode,this._menuNode],this.props.environment)&&this.getState().isOpen&&this.reset({type:mouseUp},()=>this.props.onOuterClick(this.getStateAndHelpers()))},onTouchStart=()=>{this.isTouchMove=!1},onTouchMove=()=>{this.isTouchMove=!0},onTouchEnd=event=>{let contextWithinDownshift=targetWithinDownshift(event.target,[this._rootNode,this._menuNode],this.props.environment,!1);!this.isTouchMove&&!contextWithinDownshift&&this.getState().isOpen&&this.reset({type:touchEnd},()=>this.props.onOuterClick(this.getStateAndHelpers()))},{environment}=this.props;environment.addEventListener("mousedown",onMouseDown),environment.addEventListener("mouseup",onMouseUp),environment.addEventListener("touchstart",onTouchStart),environment.addEventListener("touchmove",onTouchMove),environment.addEventListener("touchend",onTouchEnd),this.cleanup=()=>{this.internalClearTimeouts(),this.updateStatus.cancel(),environment.removeEventListener("mousedown",onMouseDown),environment.removeEventListener("mouseup",onMouseUp),environment.removeEventListener("touchstart",onTouchStart),environment.removeEventListener("touchmove",onTouchMove),environment.removeEventListener("touchend",onTouchEnd)}}}shouldScroll(prevState,prevProps){let{highlightedIndex:currentHighlightedIndex}=this.props.highlightedIndex===void 0?this.getState():this.props,{highlightedIndex:prevHighlightedIndex}=prevProps.highlightedIndex===void 0?prevState:prevProps;return currentHighlightedIndex&&this.getState().isOpen&&!prevState.isOpen||currentHighlightedIndex!==prevHighlightedIndex}componentDidUpdate(prevProps,prevState){validateControlledUnchanged(this.state,prevProps,this.props),this.getMenuProps.called&&!this.getMenuProps.suppressRefError&&validateGetMenuPropsCalledCorrectly(this._menuNode,this.getMenuProps),isControlledProp(this.props,"selectedItem")&&this.props.selectedItemChanged(prevProps.selectedItem,this.props.selectedItem)&&this.internalSetState({type:controlledPropUpdatedSelectedItem,inputValue:this.props.itemToString(this.props.selectedItem)}),!this.avoidScrolling&&this.shouldScroll(prevState,prevProps)&&this.scrollHighlightedItemIntoView(),this.updateStatus()}componentWillUnmount(){this.cleanup()}render(){let children=unwrapArray(this.props.children,noop3);this.clearItems(),this.getRootProps.called=!1,this.getRootProps.refKey=void 0,this.getRootProps.suppressRefError=void 0,this.getMenuProps.called=!1,this.getMenuProps.refKey=void 0,this.getMenuProps.suppressRefError=void 0,this.getLabelProps.called=!1,this.getInputProps.called=!1;let element=unwrapArray(children(this.getStateAndHelpers()));if(!element)return null;if(this.getRootProps.called||this.props.suppressRefError)return!this.getRootProps.suppressRefError&&!this.props.suppressRefError&&validateGetRootPropsCalledCorrectly(element,this.getRootProps),element;if(isDOMElement2(element))return(0,import_react24.cloneElement)(element,this.getRootProps(getElementProps(element)));throw new Error("downshift: If you return a non-DOM element, you must apply the getRootProps function")}}return Downshift2.defaultProps={defaultHighlightedIndex:null,defaultIsOpen:!1,getA11yStatusMessage:getA11yStatusMessage$1,itemToString:i3=>i3==null?"":(isPlainObject(i3)&&!i3.hasOwnProperty("toString")&&console.warn("downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.","The object that was passed:",i3),String(i3)),onStateChange:noop3,onInputValueChange:noop3,onUserAction:noop3,onChange:noop3,onSelect:noop3,onOuterClick:noop3,selectedItemChanged:(prevItem,item)=>prevItem!==item,environment:typeof window>"u"?{}:window,stateReducer:(state,stateToSet)=>stateToSet,suppressRefError:!1,scrollIntoView:scrollIntoView2},Downshift2.stateChangeTypes=stateChangeTypes$3,Downshift2})();Downshift.propTypes={children:import_prop_types2.default.func,defaultHighlightedIndex:import_prop_types2.default.number,defaultIsOpen:import_prop_types2.default.bool,initialHighlightedIndex:import_prop_types2.default.number,initialSelectedItem:import_prop_types2.default.any,initialInputValue:import_prop_types2.default.string,initialIsOpen:import_prop_types2.default.bool,getA11yStatusMessage:import_prop_types2.default.func,itemToString:import_prop_types2.default.func,onChange:import_prop_types2.default.func,onSelect:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onInputValueChange:import_prop_types2.default.func,onUserAction:import_prop_types2.default.func,onOuterClick:import_prop_types2.default.func,selectedItemChanged:import_prop_types2.default.func,stateReducer:import_prop_types2.default.func,itemCount:import_prop_types2.default.number,id:import_prop_types2.default.string,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})}),suppressRefError:import_prop_types2.default.bool,scrollIntoView:import_prop_types2.default.func,selectedItem:import_prop_types2.default.any,isOpen:import_prop_types2.default.bool,inputValue:import_prop_types2.default.string,highlightedIndex:import_prop_types2.default.number,labelId:import_prop_types2.default.string,inputId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func};var Downshift$1=Downshift;function validateGetMenuPropsCalledCorrectly(node,_ref3){let{refKey}=_ref3;node||console.error(`downshift: The ref prop "${refKey}" from getMenuProps was not applied correctly on your menu element.`)}function validateGetRootPropsCalledCorrectly(element,_ref4){let{refKey}=_ref4,refKeySpecified=refKey!=="ref",isComposite=!isDOMElement2(element);isComposite&&!refKeySpecified&&!(0,import_react_is.isForwardRef)(element)?console.error("downshift: You returned a non-DOM element. You must specify a refKey in getRootProps"):!isComposite&&refKeySpecified&&console.error(`downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified "${refKey}"`),!(0,import_react_is.isForwardRef)(element)&&!getElementProps(element)[refKey]&&console.error(`downshift: You must apply the ref prop "${refKey}" from getRootProps onto your root element.`)}var dropdownDefaultStateValues={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:""};function callOnChangeProps(action,state,newState){let{props,type}=action,changes={};Object.keys(state).forEach(key2=>{invokeOnChangeHandler(key2,action,state,newState),newState[key2]!==state[key2]&&(changes[key2]=newState[key2])}),props.onStateChange&&Object.keys(changes).length&&props.onStateChange({type,...changes})}function invokeOnChangeHandler(key2,action,state,newState){let{props,type}=action,handler=`on${capitalizeString(key2)}Change`;props[handler]&&newState[key2]!==void 0&&newState[key2]!==state[key2]&&props[handler]({type,...newState})}function stateReducer(s2,a2){return a2.changes}function getA11ySelectionMessage(selectionParameters){let{selectedItem,itemToString:itemToStringLocal}=selectionParameters;return selectedItem?`${itemToStringLocal(selectedItem)} has been selected.`:""}var updateA11yStatus=debounce3((getA11yMessage,document12)=>{setStatus(getA11yMessage(),document12)},200),useIsomorphicLayoutEffect=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?import_react24.useLayoutEffect:import_react24.useEffect;function useElementIds(_ref){let{id=`downshift-${generateId()}`,labelId,menuId,getItemId,toggleButtonId,inputId}=_ref;return(0,import_react24.useRef)({labelId:labelId||`${id}-label`,menuId:menuId||`${id}-menu`,getItemId:getItemId||(index2=>`${id}-item-${index2}`),toggleButtonId:toggleButtonId||`${id}-toggle-button`,inputId:inputId||`${id}-input`}).current}function getItemIndex(index2,item,items){return index2!==void 0?index2:items.length===0?-1:items.indexOf(item)}function itemToString(item){return item?String(item):""}function isAcceptedCharacterKey(key2){return/^\S{1}$/.test(key2)}function capitalizeString(string){return`${string.slice(0,1).toUpperCase()}${string.slice(1)}`}function useLatestRef(val){let ref=(0,import_react24.useRef)(val);return ref.current=val,ref}function useEnhancedReducer(reducer,initialState,props){let prevStateRef=(0,import_react24.useRef)(),actionRef=(0,import_react24.useRef)(),enhancedReducer=(0,import_react24.useCallback)((state2,action2)=>{actionRef.current=action2,state2=getState(state2,action2.props);let changes=reducer(state2,action2);return action2.props.stateReducer(state2,{...action2,changes})},[reducer]),[state,dispatch]=(0,import_react24.useReducer)(enhancedReducer,initialState),propsRef=useLatestRef(props),dispatchWithProps=(0,import_react24.useCallback)(action2=>dispatch({props:propsRef.current,...action2}),[propsRef]),action=actionRef.current;return(0,import_react24.useEffect)(()=>{action&&prevStateRef.current&&prevStateRef.current!==state&&callOnChangeProps(action,getState(prevStateRef.current,action.props),state),prevStateRef.current=state},[state,props,action]),[state,dispatchWithProps]}function useControlledReducer$1(reducer,initialState,props){let[state,dispatch]=useEnhancedReducer(reducer,initialState,props);return[getState(state,props),dispatch]}var defaultProps$3={itemToString,stateReducer,getA11ySelectionMessage,scrollIntoView:scrollIntoView2,circularNavigation:!1,environment:typeof window>"u"?{}:window};function getDefaultValue$1(props,propKey,defaultStateValues2){defaultStateValues2===void 0&&(defaultStateValues2=dropdownDefaultStateValues);let defaultValue=props[`default${capitalizeString(propKey)}`];return defaultValue!==void 0?defaultValue:defaultStateValues2[propKey]}function getInitialValue$1(props,propKey,defaultStateValues2){defaultStateValues2===void 0&&(defaultStateValues2=dropdownDefaultStateValues);let value2=props[propKey];if(value2!==void 0)return value2;let initialValue=props[`initial${capitalizeString(propKey)}`];return initialValue!==void 0?initialValue:getDefaultValue$1(props,propKey,defaultStateValues2)}function getInitialState$2(props){let selectedItem=getInitialValue$1(props,"selectedItem"),isOpen=getInitialValue$1(props,"isOpen"),highlightedIndex=getInitialValue$1(props,"highlightedIndex"),inputValue=getInitialValue$1(props,"inputValue");return{highlightedIndex:highlightedIndex<0&&selectedItem&&isOpen?props.items.indexOf(selectedItem):highlightedIndex,isOpen,selectedItem,inputValue}}function getHighlightedIndexOnOpen(props,state,offset,getItemNodeFromIndex){let{items,initialHighlightedIndex,defaultHighlightedIndex}=props,{selectedItem,highlightedIndex}=state;return items.length===0?-1:initialHighlightedIndex!==void 0&&highlightedIndex===initialHighlightedIndex?initialHighlightedIndex:defaultHighlightedIndex!==void 0?defaultHighlightedIndex:selectedItem?offset===0?items.indexOf(selectedItem):getNextWrappingIndex(offset,items.indexOf(selectedItem),items.length,getItemNodeFromIndex,!1):offset===0?-1:offset<0?items.length-1:0}function useMouseAndTouchTracker(isOpen,downshiftElementRefs,environment,handleBlur){let mouseAndTouchTrackersRef=(0,import_react24.useRef)({isMouseDown:!1,isTouchMove:!1});return(0,import_react24.useEffect)(()=>{let onMouseDown=()=>{mouseAndTouchTrackersRef.current.isMouseDown=!0},onMouseUp=event=>{mouseAndTouchTrackersRef.current.isMouseDown=!1,isOpen&&!targetWithinDownshift(event.target,downshiftElementRefs.map(ref=>ref.current),environment)&&handleBlur()},onTouchStart=()=>{mouseAndTouchTrackersRef.current.isTouchMove=!1},onTouchMove=()=>{mouseAndTouchTrackersRef.current.isTouchMove=!0},onTouchEnd=event=>{isOpen&&!mouseAndTouchTrackersRef.current.isTouchMove&&!targetWithinDownshift(event.target,downshiftElementRefs.map(ref=>ref.current),environment,!1)&&handleBlur()};return environment.addEventListener("mousedown",onMouseDown),environment.addEventListener("mouseup",onMouseUp),environment.addEventListener("touchstart",onTouchStart),environment.addEventListener("touchmove",onTouchMove),environment.addEventListener("touchend",onTouchEnd),function(){environment.removeEventListener("mousedown",onMouseDown),environment.removeEventListener("mouseup",onMouseUp),environment.removeEventListener("touchstart",onTouchStart),environment.removeEventListener("touchmove",onTouchMove),environment.removeEventListener("touchend",onTouchEnd)}},[isOpen,environment]),mouseAndTouchTrackersRef}var useGetterPropsCalledChecker=()=>noop3;useGetterPropsCalledChecker=function(){let isInitialMountRef=(0,import_react24.useRef)(!0);for(var _len=arguments.length,propKeys=new Array(_len),_key=0;_key<_len;_key++)propKeys[_key]=arguments[_key];let getterPropsCalledRef=(0,import_react24.useRef)(propKeys.reduce((acc,propKey)=>(acc[propKey]={},acc),{}));return(0,import_react24.useEffect)(()=>{Object.keys(getterPropsCalledRef.current).forEach(propKey=>{let propCallInfo=getterPropsCalledRef.current[propKey];if(isInitialMountRef.current&&!Object.keys(propCallInfo).length){console.error(`downshift: You forgot to call the ${propKey} getter function on your component / element.`);return}let{suppressRefError,refKey,elementRef}=propCallInfo;(!elementRef||!elementRef.current)&&!suppressRefError&&console.error(`downshift: The ref prop "${refKey}" from ${propKey} was not applied correctly on your element.`)}),isInitialMountRef.current=!1}),(0,import_react24.useCallback)((propKey,suppressRefError,refKey,elementRef)=>{getterPropsCalledRef.current[propKey]={suppressRefError,refKey,elementRef}},[])};function useA11yMessageSetter(getA11yMessage,dependencyArray,_ref2){let{isInitialMount,highlightedIndex,items,environment,...rest}=_ref2;(0,import_react24.useEffect)(()=>{isInitialMount||updateA11yStatus(()=>getA11yMessage({highlightedIndex,highlightedItem:items[highlightedIndex],resultCount:items.length,...rest}),environment.document)},dependencyArray)}function useScrollIntoView(_ref3){let{highlightedIndex,isOpen,itemRefs,getItemNodeFromIndex,menuElement,scrollIntoView:scrollIntoViewProp}=_ref3,shouldScrollRef=(0,import_react24.useRef)(!0);return useIsomorphicLayoutEffect(()=>{highlightedIndex<0||!isOpen||!Object.keys(itemRefs.current).length||(shouldScrollRef.current===!1?shouldScrollRef.current=!0:scrollIntoViewProp(getItemNodeFromIndex(highlightedIndex),menuElement))},[highlightedIndex]),shouldScrollRef}var useControlPropsValidator=noop3;useControlPropsValidator=_ref4=>{let{isInitialMount,props,state}=_ref4,prevPropsRef=(0,import_react24.useRef)(props);(0,import_react24.useEffect)(()=>{isInitialMount||(validateControlledUnchanged(state,prevPropsRef.current,props),prevPropsRef.current=props)},[state,props,isInitialMount])};function downshiftCommonReducer(state,action,stateChangeTypes2){let{type,props}=action,changes;switch(type){case stateChangeTypes2.ItemMouseMove:changes={highlightedIndex:action.disabled?-1:action.index};break;case stateChangeTypes2.MenuMouseLeave:changes={highlightedIndex:-1};break;case stateChangeTypes2.ToggleButtonClick:case stateChangeTypes2.FunctionToggleMenu:changes={isOpen:!state.isOpen,highlightedIndex:state.isOpen?-1:getHighlightedIndexOnOpen(props,state,0)};break;case stateChangeTypes2.FunctionOpenMenu:changes={isOpen:!0,highlightedIndex:getHighlightedIndexOnOpen(props,state,0)};break;case stateChangeTypes2.FunctionCloseMenu:changes={isOpen:!1};break;case stateChangeTypes2.FunctionSetHighlightedIndex:changes={highlightedIndex:action.highlightedIndex};break;case stateChangeTypes2.FunctionSetInputValue:changes={inputValue:action.inputValue};break;case stateChangeTypes2.FunctionReset:changes={highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),isOpen:getDefaultValue$1(props,"isOpen"),selectedItem:getDefaultValue$1(props,"selectedItem"),inputValue:getDefaultValue$1(props,"inputValue")};break;default:throw new Error("Reducer called without proper action type.")}return{...state,...changes}}function getItemIndexByCharacterKey(_a){for(var keysSoFar=_a.keysSoFar,highlightedIndex=_a.highlightedIndex,items=_a.items,itemToString2=_a.itemToString,getItemNodeFromIndex=_a.getItemNodeFromIndex,lowerCasedKeysSoFar=keysSoFar.toLowerCase(),index2=0;index2<items.length;index2++){var offsetIndex=(index2+highlightedIndex+1)%items.length,item=items[offsetIndex];if(item!==void 0&&itemToString2(item).toLowerCase().startsWith(lowerCasedKeysSoFar)){var element=getItemNodeFromIndex(offsetIndex);if(!element?.hasAttribute("disabled"))return offsetIndex}}return highlightedIndex}var propTypes$2={items:import_prop_types2.default.array.isRequired,itemToString:import_prop_types2.default.func,getA11yStatusMessage:import_prop_types2.default.func,getA11ySelectionMessage:import_prop_types2.default.func,circularNavigation:import_prop_types2.default.bool,highlightedIndex:import_prop_types2.default.number,defaultHighlightedIndex:import_prop_types2.default.number,initialHighlightedIndex:import_prop_types2.default.number,isOpen:import_prop_types2.default.bool,defaultIsOpen:import_prop_types2.default.bool,initialIsOpen:import_prop_types2.default.bool,selectedItem:import_prop_types2.default.any,initialSelectedItem:import_prop_types2.default.any,defaultSelectedItem:import_prop_types2.default.any,id:import_prop_types2.default.string,labelId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func,toggleButtonId:import_prop_types2.default.string,stateReducer:import_prop_types2.default.func,onSelectedItemChange:import_prop_types2.default.func,onHighlightedIndexChange:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onIsOpenChange:import_prop_types2.default.func,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})};function getA11yStatusMessage(_a){var isOpen=_a.isOpen,resultCount=_a.resultCount,previousResultCount=_a.previousResultCount;return isOpen?resultCount?resultCount!==previousResultCount?"".concat(resultCount," result").concat(resultCount===1?" is":"s are"," available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select."):"":"No results are available.":""}var defaultProps$2=__assign2(__assign2({},defaultProps$3),{getA11yStatusMessage}),validatePropTypes$2=noop3;validatePropTypes$2=function(options3,caller){import_prop_types2.default.checkPropTypes(propTypes$2,options3,"prop",caller.name)};var MenuKeyDownArrowDown="__menu_keydown_arrow_down__",MenuKeyDownArrowUp="__menu_keydown_arrow_up__",MenuKeyDownEscape="__menu_keydown_escape__",MenuKeyDownHome="__menu_keydown_home__",MenuKeyDownEnd="__menu_keydown_end__",MenuKeyDownEnter="__menu_keydown_enter__",MenuKeyDownSpaceButton="__menu_keydown_space_button__",MenuKeyDownCharacter="__menu_keydown_character__",MenuBlur="__menu_blur__",MenuMouseLeave$1="__menu_mouse_leave__",ItemMouseMove$1="__item_mouse_move__",ItemClick$1="__item_click__",ToggleButtonClick$1="__togglebutton_click__",ToggleButtonKeyDownArrowDown="__togglebutton_keydown_arrow_down__",ToggleButtonKeyDownArrowUp="__togglebutton_keydown_arrow_up__",ToggleButtonKeyDownCharacter="__togglebutton_keydown_character__",FunctionToggleMenu$1="__function_toggle_menu__",FunctionOpenMenu$1="__function_open_menu__",FunctionCloseMenu$1="__function_close_menu__",FunctionSetHighlightedIndex$1="__function_set_highlighted_index__",FunctionSelectItem$1="__function_select_item__",FunctionSetInputValue$1="__function_set_input_value__",FunctionReset$2="__function_reset__",stateChangeTypes$2=Object.freeze({__proto__:null,MenuKeyDownArrowDown,MenuKeyDownArrowUp,MenuKeyDownEscape,MenuKeyDownHome,MenuKeyDownEnd,MenuKeyDownEnter,MenuKeyDownSpaceButton,MenuKeyDownCharacter,MenuBlur,MenuMouseLeave:MenuMouseLeave$1,ItemMouseMove:ItemMouseMove$1,ItemClick:ItemClick$1,ToggleButtonClick:ToggleButtonClick$1,ToggleButtonKeyDownArrowDown,ToggleButtonKeyDownArrowUp,ToggleButtonKeyDownCharacter,FunctionToggleMenu:FunctionToggleMenu$1,FunctionOpenMenu:FunctionOpenMenu$1,FunctionCloseMenu:FunctionCloseMenu$1,FunctionSetHighlightedIndex:FunctionSetHighlightedIndex$1,FunctionSelectItem:FunctionSelectItem$1,FunctionSetInputValue:FunctionSetInputValue$1,FunctionReset:FunctionReset$2});function downshiftSelectReducer(state,action){let{type,props,shiftKey}=action,changes;switch(type){case ItemClick$1:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),selectedItem:props.items[action.index]};break;case ToggleButtonKeyDownCharacter:{let lowercasedKey=action.key,inputValue=`${state.inputValue}${lowercasedKey}`,itemIndex=getItemIndexByCharacterKey({keysSoFar:inputValue,highlightedIndex:state.selectedItem?props.items.indexOf(state.selectedItem):-1,items:props.items,itemToString:props.itemToString,getItemNodeFromIndex:action.getItemNodeFromIndex});changes={inputValue,...itemIndex>=0&&{selectedItem:props.items[itemIndex]}}}break;case ToggleButtonKeyDownArrowDown:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,1,action.getItemNodeFromIndex),isOpen:!0};break;case ToggleButtonKeyDownArrowUp:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,-1,action.getItemNodeFromIndex),isOpen:!0};break;case MenuKeyDownEnter:case MenuKeyDownSpaceButton:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),...state.highlightedIndex>=0&&{selectedItem:props.items[state.highlightedIndex]}};break;case MenuKeyDownHome:changes={highlightedIndex:getNextNonDisabledIndex(1,0,props.items.length,action.getItemNodeFromIndex,!1)};break;case MenuKeyDownEnd:changes={highlightedIndex:getNextNonDisabledIndex(-1,props.items.length-1,props.items.length,action.getItemNodeFromIndex,!1)};break;case MenuKeyDownEscape:changes={isOpen:!1,highlightedIndex:-1};break;case MenuBlur:changes={isOpen:!1,highlightedIndex:-1};break;case MenuKeyDownCharacter:{let lowercasedKey=action.key,inputValue=`${state.inputValue}${lowercasedKey}`,highlightedIndex=getItemIndexByCharacterKey({keysSoFar:inputValue,highlightedIndex:state.highlightedIndex,items:props.items,itemToString:props.itemToString,getItemNodeFromIndex:action.getItemNodeFromIndex});changes={inputValue,...highlightedIndex>=0&&{highlightedIndex}}}break;case MenuKeyDownArrowDown:changes={highlightedIndex:getNextWrappingIndex(shiftKey?5:1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)};break;case MenuKeyDownArrowUp:changes={highlightedIndex:getNextWrappingIndex(shiftKey?-5:-1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)};break;case FunctionSelectItem$1:changes={selectedItem:action.selectedItem};break;default:return downshiftCommonReducer(state,action,stateChangeTypes$2)}return{...state,...changes}}useSelect.stateChangeTypes=stateChangeTypes$2;function useSelect(userProps){userProps===void 0&&(userProps={}),validatePropTypes$2(userProps,useSelect);let props={...defaultProps$2,...userProps},{items,scrollIntoView:scrollIntoView3,environment,initialIsOpen,defaultIsOpen,itemToString:itemToString2,getA11ySelectionMessage:getA11ySelectionMessage2,getA11yStatusMessage:getA11yStatusMessage2}=props,initialState=getInitialState$2(props),[state,dispatch]=useControlledReducer$1(downshiftSelectReducer,initialState,props),{isOpen,highlightedIndex,selectedItem,inputValue}=state,toggleButtonRef=(0,import_react24.useRef)(null),menuRef=(0,import_react24.useRef)(null),itemRefs=(0,import_react24.useRef)({}),shouldBlurRef=(0,import_react24.useRef)(!0),clearTimeoutRef=(0,import_react24.useRef)(null),elementIds=useElementIds(props),previousResultCountRef=(0,import_react24.useRef)(),isInitialMountRef=(0,import_react24.useRef)(!0),latest=useLatestRef({state,props}),getItemNodeFromIndex=(0,import_react24.useCallback)(index2=>itemRefs.current[elementIds.getItemId(index2)],[elementIds]);useA11yMessageSetter(getA11yStatusMessage2,[isOpen,highlightedIndex,inputValue,items],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state}),useA11yMessageSetter(getA11ySelectionMessage2,[selectedItem],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state});let shouldScrollRef=useScrollIntoView({menuElement:menuRef.current,highlightedIndex,isOpen,itemRefs,scrollIntoView:scrollIntoView3,getItemNodeFromIndex});(0,import_react24.useEffect)(()=>(clearTimeoutRef.current=debounce3(outerDispatch=>{outerDispatch({type:FunctionSetInputValue$1,inputValue:""})},500),()=>{clearTimeoutRef.current.cancel()}),[]),(0,import_react24.useEffect)(()=>{inputValue&&clearTimeoutRef.current(dispatch)},[dispatch,inputValue]),useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state}),(0,import_react24.useEffect)(()=>{if(isInitialMountRef.current){(initialIsOpen||defaultIsOpen||isOpen)&&menuRef.current&&menuRef.current.focus();return}if(isOpen){menuRef.current&&menuRef.current.focus();return}environment.document.activeElement===menuRef.current&&toggleButtonRef.current&&(shouldBlurRef.current=!1,toggleButtonRef.current.focus())},[isOpen]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(previousResultCountRef.current=items.length)});let mouseAndTouchTrackersRef=useMouseAndTouchTracker(isOpen,[menuRef,toggleButtonRef],environment,()=>{dispatch({type:MenuBlur})}),setGetterPropCallInfo=useGetterPropsCalledChecker("getMenuProps","getToggleButtonProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]),(0,import_react24.useEffect)(()=>{isOpen||(itemRefs.current={})},[isOpen]);let toggleButtonKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:ToggleButtonKeyDownArrowDown,getItemNodeFromIndex,shiftKey:event.shiftKey})},ArrowUp(event){event.preventDefault(),dispatch({type:ToggleButtonKeyDownArrowUp,getItemNodeFromIndex,shiftKey:event.shiftKey})}}),[dispatch,getItemNodeFromIndex]),menuKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:MenuKeyDownArrowDown,getItemNodeFromIndex,shiftKey:event.shiftKey})},ArrowUp(event){event.preventDefault(),dispatch({type:MenuKeyDownArrowUp,getItemNodeFromIndex,shiftKey:event.shiftKey})},Home(event){event.preventDefault(),dispatch({type:MenuKeyDownHome,getItemNodeFromIndex})},End(event){event.preventDefault(),dispatch({type:MenuKeyDownEnd,getItemNodeFromIndex})},Escape(){dispatch({type:MenuKeyDownEscape})},Enter(event){event.preventDefault(),dispatch({type:MenuKeyDownEnter})}," "(event){event.preventDefault(),dispatch({type:MenuKeyDownSpaceButton})}}),[dispatch,getItemNodeFromIndex]),toggleMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionToggleMenu$1})},[dispatch]),closeMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionCloseMenu$1})},[dispatch]),openMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionOpenMenu$1})},[dispatch]),setHighlightedIndex=(0,import_react24.useCallback)(newHighlightedIndex=>{dispatch({type:FunctionSetHighlightedIndex$1,highlightedIndex:newHighlightedIndex})},[dispatch]),selectItem=(0,import_react24.useCallback)(newSelectedItem=>{dispatch({type:FunctionSelectItem$1,selectedItem:newSelectedItem})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset$2})},[dispatch]),setInputValue=(0,import_react24.useCallback)(newInputValue=>{dispatch({type:FunctionSetInputValue$1,inputValue:newInputValue})},[dispatch]),getLabelProps=(0,import_react24.useCallback)(labelProps=>({id:elementIds.labelId,htmlFor:elementIds.toggleButtonId,...labelProps}),[elementIds]),getMenuProps=(0,import_react24.useCallback)(function(_temp,_temp2){let{onMouseLeave,refKey="ref",onKeyDown,onBlur,ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2,latestState=latest.current.state,menuHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&menuKeyDownHandlers[key2]?menuKeyDownHandlers[key2](event):isAcceptedCharacterKey(key2)&&dispatch({type:MenuKeyDownCharacter,key:key2,getItemNodeFromIndex})},menuHandleBlur=()=>{if(shouldBlurRef.current===!1){shouldBlurRef.current=!0;return}!mouseAndTouchTrackersRef.current.isMouseDown&&dispatch({type:MenuBlur})},menuHandleMouseLeave=()=>{dispatch({type:MenuMouseLeave$1})};return setGetterPropCallInfo("getMenuProps",suppressRefError,refKey,menuRef),{[refKey]:handleRefs(ref,menuNode=>{menuRef.current=menuNode}),id:elementIds.menuId,role:"listbox","aria-labelledby":elementIds.labelId,tabIndex:-1,...latestState.isOpen&&latestState.highlightedIndex>-1&&{"aria-activedescendant":elementIds.getItemId(latestState.highlightedIndex)},onMouseLeave:callAllEventHandlers(onMouseLeave,menuHandleMouseLeave),onKeyDown:callAllEventHandlers(onKeyDown,menuHandleKeyDown),onBlur:callAllEventHandlers(onBlur,menuHandleBlur),...rest}},[dispatch,latest,menuKeyDownHandlers,mouseAndTouchTrackersRef,setGetterPropCallInfo,elementIds,getItemNodeFromIndex]),getToggleButtonProps=(0,import_react24.useCallback)(function(_temp3,_temp4){let{onClick,onKeyDown,refKey="ref",ref,...rest}=_temp3===void 0?{}:_temp3,{suppressRefError=!1}=_temp4===void 0?{}:_temp4,toggleButtonHandleClick=()=>{dispatch({type:ToggleButtonClick$1})},toggleButtonHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&toggleButtonKeyDownHandlers[key2]?toggleButtonKeyDownHandlers[key2](event):isAcceptedCharacterKey(key2)&&dispatch({type:ToggleButtonKeyDownCharacter,key:key2,getItemNodeFromIndex})},toggleProps={[refKey]:handleRefs(ref,toggleButtonNode=>{toggleButtonRef.current=toggleButtonNode}),id:elementIds.toggleButtonId,"aria-haspopup":"listbox","aria-expanded":latest.current.state.isOpen,"aria-labelledby":`${elementIds.labelId} ${elementIds.toggleButtonId}`,...rest};return rest.disabled||(toggleProps.onClick=callAllEventHandlers(onClick,toggleButtonHandleClick),toggleProps.onKeyDown=callAllEventHandlers(onKeyDown,toggleButtonHandleKeyDown)),setGetterPropCallInfo("getToggleButtonProps",suppressRefError,refKey,toggleButtonRef),toggleProps},[dispatch,latest,toggleButtonKeyDownHandlers,setGetterPropCallInfo,elementIds,getItemNodeFromIndex]),getItemProps2=(0,import_react24.useCallback)(function(_temp5){let{item,index:index2,onMouseMove,onClick,refKey="ref",ref,disabled,...rest}=_temp5===void 0?{}:_temp5,{state:latestState,props:latestProps}=latest.current,itemHandleMouseMove=()=>{index2!==latestState.highlightedIndex&&(shouldScrollRef.current=!1,dispatch({type:ItemMouseMove$1,index:index2,disabled}))},itemHandleClick=()=>{dispatch({type:ItemClick$1,index:index2})},itemIndex=getItemIndex(index2,item,latestProps.items);if(itemIndex<0)throw new Error("Pass either item or item index in getItemProps!");let itemProps={disabled,role:"option","aria-selected":`${itemIndex===latestState.highlightedIndex}`,id:elementIds.getItemId(itemIndex),[refKey]:handleRefs(ref,itemNode=>{itemNode&&(itemRefs.current[elementIds.getItemId(itemIndex)]=itemNode)}),...rest};return disabled||(itemProps.onClick=callAllEventHandlers(onClick,itemHandleClick)),itemProps.onMouseMove=callAllEventHandlers(onMouseMove,itemHandleMouseMove),itemProps},[dispatch,latest,shouldScrollRef,elementIds]);return{getToggleButtonProps,getLabelProps,getMenuProps,getItemProps:getItemProps2,toggleMenu,openMenu,closeMenu,setHighlightedIndex,selectItem,reset,setInputValue,highlightedIndex,isOpen,selectedItem,inputValue}}var InputKeyDownArrowDown="__input_keydown_arrow_down__",InputKeyDownArrowUp="__input_keydown_arrow_up__",InputKeyDownEscape="__input_keydown_escape__",InputKeyDownHome="__input_keydown_home__",InputKeyDownEnd="__input_keydown_end__",InputKeyDownEnter="__input_keydown_enter__",InputChange="__input_change__",InputBlur="__input_blur__",MenuMouseLeave="__menu_mouse_leave__",ItemMouseMove="__item_mouse_move__",ItemClick="__item_click__",ToggleButtonClick="__togglebutton_click__",FunctionToggleMenu="__function_toggle_menu__",FunctionOpenMenu="__function_open_menu__",FunctionCloseMenu="__function_close_menu__",FunctionSetHighlightedIndex="__function_set_highlighted_index__",FunctionSelectItem="__function_select_item__",FunctionSetInputValue="__function_set_input_value__",FunctionReset$1="__function_reset__",ControlledPropUpdatedSelectedItem="__controlled_prop_updated_selected_item__",stateChangeTypes$1=Object.freeze({__proto__:null,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownEscape,InputKeyDownHome,InputKeyDownEnd,InputKeyDownEnter,InputChange,InputBlur,MenuMouseLeave,ItemMouseMove,ItemClick,ToggleButtonClick,FunctionToggleMenu,FunctionOpenMenu,FunctionCloseMenu,FunctionSetHighlightedIndex,FunctionSelectItem,FunctionSetInputValue,FunctionReset:FunctionReset$1,ControlledPropUpdatedSelectedItem});function getInitialState$1(props){let initialState=getInitialState$2(props),{selectedItem}=initialState,{inputValue}=initialState;return inputValue===""&&selectedItem&&props.defaultInputValue===void 0&&props.initialInputValue===void 0&&props.inputValue===void 0&&(inputValue=props.itemToString(selectedItem)),{...initialState,inputValue}}var propTypes$1={items:import_prop_types2.default.array.isRequired,itemToString:import_prop_types2.default.func,getA11yStatusMessage:import_prop_types2.default.func,getA11ySelectionMessage:import_prop_types2.default.func,circularNavigation:import_prop_types2.default.bool,highlightedIndex:import_prop_types2.default.number,defaultHighlightedIndex:import_prop_types2.default.number,initialHighlightedIndex:import_prop_types2.default.number,isOpen:import_prop_types2.default.bool,defaultIsOpen:import_prop_types2.default.bool,initialIsOpen:import_prop_types2.default.bool,selectedItem:import_prop_types2.default.any,initialSelectedItem:import_prop_types2.default.any,defaultSelectedItem:import_prop_types2.default.any,inputValue:import_prop_types2.default.string,defaultInputValue:import_prop_types2.default.string,initialInputValue:import_prop_types2.default.string,id:import_prop_types2.default.string,labelId:import_prop_types2.default.string,menuId:import_prop_types2.default.string,getItemId:import_prop_types2.default.func,inputId:import_prop_types2.default.string,toggleButtonId:import_prop_types2.default.string,stateReducer:import_prop_types2.default.func,onSelectedItemChange:import_prop_types2.default.func,onHighlightedIndexChange:import_prop_types2.default.func,onStateChange:import_prop_types2.default.func,onIsOpenChange:import_prop_types2.default.func,onInputValueChange:import_prop_types2.default.func,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})};function useControlledReducer(reducer,initialState,props){let previousSelectedItemRef=(0,import_react24.useRef)(),[state,dispatch]=useEnhancedReducer(reducer,initialState,props);return(0,import_react24.useEffect)(()=>{isControlledProp(props,"selectedItem")&&(previousSelectedItemRef.current!==props.selectedItem&&dispatch({type:ControlledPropUpdatedSelectedItem,inputValue:props.itemToString(props.selectedItem)}),previousSelectedItemRef.current=state.selectedItem===previousSelectedItemRef.current?props.selectedItem:state.selectedItem)}),[getState(state,props),dispatch]}var validatePropTypes$1=noop3;validatePropTypes$1=(options3,caller)=>{import_prop_types2.default.checkPropTypes(propTypes$1,options3,"prop",caller.name)};var defaultProps$1={...defaultProps$3,getA11yStatusMessage:getA11yStatusMessage$1,circularNavigation:!0};function downshiftUseComboboxReducer(state,action){let{type,props,shiftKey}=action,changes;switch(type){case ItemClick:changes={isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),selectedItem:props.items[action.index],inputValue:props.itemToString(props.items[action.index])};break;case InputKeyDownArrowDown:state.isOpen?changes={highlightedIndex:getNextWrappingIndex(shiftKey?5:1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)}:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,1,action.getItemNodeFromIndex),isOpen:props.items.length>=0};break;case InputKeyDownArrowUp:state.isOpen?changes={highlightedIndex:getNextWrappingIndex(shiftKey?-5:-1,state.highlightedIndex,props.items.length,action.getItemNodeFromIndex,props.circularNavigation)}:changes={highlightedIndex:getHighlightedIndexOnOpen(props,state,-1,action.getItemNodeFromIndex),isOpen:props.items.length>=0};break;case InputKeyDownEnter:changes={...state.isOpen&&state.highlightedIndex>=0&&{selectedItem:props.items[state.highlightedIndex],isOpen:getDefaultValue$1(props,"isOpen"),highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),inputValue:props.itemToString(props.items[state.highlightedIndex])}};break;case InputKeyDownEscape:changes={isOpen:!1,highlightedIndex:-1,...!state.isOpen&&{selectedItem:null,inputValue:""}};break;case InputKeyDownHome:changes={highlightedIndex:getNextNonDisabledIndex(1,0,props.items.length,action.getItemNodeFromIndex,!1)};break;case InputKeyDownEnd:changes={highlightedIndex:getNextNonDisabledIndex(-1,props.items.length-1,props.items.length,action.getItemNodeFromIndex,!1)};break;case InputBlur:changes={isOpen:!1,highlightedIndex:-1,...state.highlightedIndex>=0&&action.selectItem&&{selectedItem:props.items[state.highlightedIndex],inputValue:props.itemToString(props.items[state.highlightedIndex])}};break;case InputChange:changes={isOpen:!0,highlightedIndex:getDefaultValue$1(props,"highlightedIndex"),inputValue:action.inputValue};break;case FunctionSelectItem:changes={selectedItem:action.selectedItem,inputValue:props.itemToString(action.selectedItem)};break;case ControlledPropUpdatedSelectedItem:changes={inputValue:action.inputValue};break;default:return downshiftCommonReducer(state,action,stateChangeTypes$1)}return{...state,...changes}}useCombobox.stateChangeTypes=stateChangeTypes$1;function useCombobox(userProps){userProps===void 0&&(userProps={}),validatePropTypes$1(userProps,useCombobox);let props={...defaultProps$1,...userProps},{initialIsOpen,defaultIsOpen,items,scrollIntoView:scrollIntoView3,environment,getA11yStatusMessage:getA11yStatusMessage2,getA11ySelectionMessage:getA11ySelectionMessage2,itemToString:itemToString2}=props,initialState=getInitialState$1(props),[state,dispatch]=useControlledReducer(downshiftUseComboboxReducer,initialState,props),{isOpen,highlightedIndex,selectedItem,inputValue}=state,menuRef=(0,import_react24.useRef)(null),itemRefs=(0,import_react24.useRef)({}),inputRef=(0,import_react24.useRef)(null),toggleButtonRef=(0,import_react24.useRef)(null),comboboxRef=(0,import_react24.useRef)(null),isInitialMountRef=(0,import_react24.useRef)(!0),elementIds=useElementIds(props),previousResultCountRef=(0,import_react24.useRef)(),latest=useLatestRef({state,props}),getItemNodeFromIndex=(0,import_react24.useCallback)(index2=>itemRefs.current[elementIds.getItemId(index2)],[elementIds]);useA11yMessageSetter(getA11yStatusMessage2,[isOpen,highlightedIndex,inputValue,items],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state}),useA11yMessageSetter(getA11ySelectionMessage2,[selectedItem],{isInitialMount:isInitialMountRef.current,previousResultCount:previousResultCountRef.current,items,environment,itemToString:itemToString2,...state});let shouldScrollRef=useScrollIntoView({menuElement:menuRef.current,highlightedIndex,isOpen,itemRefs,scrollIntoView:scrollIntoView3,getItemNodeFromIndex});useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state}),(0,import_react24.useEffect)(()=>{(initialIsOpen||defaultIsOpen||isOpen)&&inputRef.current&&inputRef.current.focus()},[]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(previousResultCountRef.current=items.length)});let mouseAndTouchTrackersRef=useMouseAndTouchTracker(isOpen,[comboboxRef,menuRef,toggleButtonRef],environment,()=>{dispatch({type:InputBlur,selectItem:!1})}),setGetterPropCallInfo=useGetterPropsCalledChecker("getInputProps","getComboboxProps","getMenuProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]),(0,import_react24.useEffect)(()=>{isOpen||(itemRefs.current={})},[isOpen]);let inputKeyDownHandlers=(0,import_react24.useMemo)(()=>({ArrowDown(event){event.preventDefault(),dispatch({type:InputKeyDownArrowDown,shiftKey:event.shiftKey,getItemNodeFromIndex})},ArrowUp(event){event.preventDefault(),dispatch({type:InputKeyDownArrowUp,shiftKey:event.shiftKey,getItemNodeFromIndex})},Home(event){latest.current.state.isOpen&&(event.preventDefault(),dispatch({type:InputKeyDownHome,getItemNodeFromIndex}))},End(event){latest.current.state.isOpen&&(event.preventDefault(),dispatch({type:InputKeyDownEnd,getItemNodeFromIndex}))},Escape(event){let latestState=latest.current.state;(latestState.isOpen||latestState.inputValue||latestState.selectedItem||latestState.highlightedIndex>-1)&&(event.preventDefault(),dispatch({type:InputKeyDownEscape}))},Enter(event){let latestState=latest.current.state;!latestState.isOpen||latestState.highlightedIndex<0||event.which===229||(event.preventDefault(),dispatch({type:InputKeyDownEnter,getItemNodeFromIndex}))}}),[dispatch,latest,getItemNodeFromIndex]),getLabelProps=(0,import_react24.useCallback)(labelProps=>({id:elementIds.labelId,htmlFor:elementIds.inputId,...labelProps}),[elementIds]),getMenuProps=(0,import_react24.useCallback)(function(_temp,_temp2){let{onMouseLeave,refKey="ref",ref,...rest}=_temp===void 0?{}:_temp,{suppressRefError=!1}=_temp2===void 0?{}:_temp2;return setGetterPropCallInfo("getMenuProps",suppressRefError,refKey,menuRef),{[refKey]:handleRefs(ref,menuNode=>{menuRef.current=menuNode}),id:elementIds.menuId,role:"listbox","aria-labelledby":elementIds.labelId,onMouseLeave:callAllEventHandlers(onMouseLeave,()=>{dispatch({type:MenuMouseLeave})}),...rest}},[dispatch,setGetterPropCallInfo,elementIds]),getItemProps2=(0,import_react24.useCallback)(function(_temp3){let{item,index:index2,refKey="ref",ref,onMouseMove,onMouseDown,onClick,onPress,disabled,...rest}=_temp3===void 0?{}:_temp3,{props:latestProps,state:latestState}=latest.current,itemIndex=getItemIndex(index2,item,latestProps.items);if(itemIndex<0)throw new Error("Pass either item or item index in getItemProps!");let onSelectKey="onClick",customClickHandler=onClick,itemHandleMouseMove=()=>{index2!==latestState.highlightedIndex&&(shouldScrollRef.current=!1,dispatch({type:ItemMouseMove,index:index2,disabled}))},itemHandleClick=()=>{dispatch({type:ItemClick,index:index2})},itemHandleMouseDown=e3=>e3.preventDefault();return{[refKey]:handleRefs(ref,itemNode=>{itemNode&&(itemRefs.current[elementIds.getItemId(itemIndex)]=itemNode)}),disabled,role:"option","aria-selected":`${itemIndex===latestState.highlightedIndex}`,id:elementIds.getItemId(itemIndex),...!disabled&&{[onSelectKey]:callAllEventHandlers(customClickHandler,itemHandleClick)},onMouseMove:callAllEventHandlers(onMouseMove,itemHandleMouseMove),onMouseDown:callAllEventHandlers(onMouseDown,itemHandleMouseDown),...rest}},[dispatch,latest,shouldScrollRef,elementIds]),getToggleButtonProps=(0,import_react24.useCallback)(function(_temp4){let{onClick,onPress,refKey="ref",ref,...rest}=_temp4===void 0?{}:_temp4,toggleButtonHandleClick=()=>{dispatch({type:ToggleButtonClick}),!latest.current.state.isOpen&&inputRef.current&&inputRef.current.focus()};return{[refKey]:handleRefs(ref,toggleButtonNode=>{toggleButtonRef.current=toggleButtonNode}),id:elementIds.toggleButtonId,tabIndex:-1,...!rest.disabled&&{onClick:callAllEventHandlers(onClick,toggleButtonHandleClick)},...rest}},[dispatch,latest,elementIds]),getInputProps=(0,import_react24.useCallback)(function(_temp5,_temp6){let{onKeyDown,onChange,onInput,onBlur,onChangeText,refKey="ref",ref,...rest}=_temp5===void 0?{}:_temp5,{suppressRefError=!1}=_temp6===void 0?{}:_temp6;setGetterPropCallInfo("getInputProps",suppressRefError,refKey,inputRef);let latestState=latest.current.state,inputHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&inputKeyDownHandlers[key2]&&inputKeyDownHandlers[key2](event)},inputHandleChange=event=>{dispatch({type:InputChange,inputValue:event.target.value})},inputHandleBlur=()=>{latestState.isOpen&&!mouseAndTouchTrackersRef.current.isMouseDown&&dispatch({type:InputBlur,selectItem:!0})},onChangeKey="onChange",eventHandlers={};return rest.disabled||(eventHandlers={[onChangeKey]:callAllEventHandlers(onChange,onInput,inputHandleChange),onKeyDown:callAllEventHandlers(onKeyDown,inputHandleKeyDown),onBlur:callAllEventHandlers(onBlur,inputHandleBlur)}),{[refKey]:handleRefs(ref,inputNode=>{inputRef.current=inputNode}),id:elementIds.inputId,"aria-autocomplete":"list","aria-controls":elementIds.menuId,...latestState.isOpen&&latestState.highlightedIndex>-1&&{"aria-activedescendant":elementIds.getItemId(latestState.highlightedIndex)},"aria-labelledby":elementIds.labelId,autoComplete:"off",value:latestState.inputValue,...eventHandlers,...rest}},[dispatch,inputKeyDownHandlers,latest,mouseAndTouchTrackersRef,setGetterPropCallInfo,elementIds]),getComboboxProps=(0,import_react24.useCallback)(function(_temp7,_temp8){let{refKey="ref",ref,...rest}=_temp7===void 0?{}:_temp7,{suppressRefError=!1}=_temp8===void 0?{}:_temp8;return setGetterPropCallInfo("getComboboxProps",suppressRefError,refKey,comboboxRef),{[refKey]:handleRefs(ref,comboboxNode=>{comboboxRef.current=comboboxNode}),role:"combobox","aria-haspopup":"listbox","aria-owns":elementIds.menuId,"aria-expanded":latest.current.state.isOpen,...rest}},[latest,setGetterPropCallInfo,elementIds]),toggleMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionToggleMenu})},[dispatch]),closeMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionCloseMenu})},[dispatch]),openMenu=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionOpenMenu})},[dispatch]),setHighlightedIndex=(0,import_react24.useCallback)(newHighlightedIndex=>{dispatch({type:FunctionSetHighlightedIndex,highlightedIndex:newHighlightedIndex})},[dispatch]),selectItem=(0,import_react24.useCallback)(newSelectedItem=>{dispatch({type:FunctionSelectItem,selectedItem:newSelectedItem})},[dispatch]),setInputValue=(0,import_react24.useCallback)(newInputValue=>{dispatch({type:FunctionSetInputValue,inputValue:newInputValue})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset$1})},[dispatch]);return{getItemProps:getItemProps2,getLabelProps,getMenuProps,getInputProps,getComboboxProps,getToggleButtonProps,toggleMenu,openMenu,closeMenu,setHighlightedIndex,setInputValue,selectItem,reset,highlightedIndex,isOpen,selectedItem,inputValue}}var defaultStateValues={activeIndex:-1,selectedItems:[]};function getInitialValue(props,propKey){return getInitialValue$1(props,propKey,defaultStateValues)}function getDefaultValue(props,propKey){return getDefaultValue$1(props,propKey,defaultStateValues)}function getInitialState(props){let activeIndex=getInitialValue(props,"activeIndex"),selectedItems=getInitialValue(props,"selectedItems");return{activeIndex,selectedItems}}function isKeyDownOperationPermitted(event){if(event.shiftKey||event.metaKey||event.ctrlKey||event.altKey)return!1;let element=event.target;return!(element instanceof HTMLInputElement&&element.value!==""&&(element.selectionStart!==0||element.selectionEnd!==0))}function getA11yRemovalMessage(selectionParameters){let{removedSelectedItem,itemToString:itemToStringLocal}=selectionParameters;return`${itemToStringLocal(removedSelectedItem)} has been removed.`}var propTypes={selectedItems:import_prop_types2.default.array,initialSelectedItems:import_prop_types2.default.array,defaultSelectedItems:import_prop_types2.default.array,itemToString:import_prop_types2.default.func,getA11yRemovalMessage:import_prop_types2.default.func,stateReducer:import_prop_types2.default.func,activeIndex:import_prop_types2.default.number,initialActiveIndex:import_prop_types2.default.number,defaultActiveIndex:import_prop_types2.default.number,onActiveIndexChange:import_prop_types2.default.func,onSelectedItemsChange:import_prop_types2.default.func,keyNavigationNext:import_prop_types2.default.string,keyNavigationPrevious:import_prop_types2.default.string,environment:import_prop_types2.default.shape({addEventListener:import_prop_types2.default.func,removeEventListener:import_prop_types2.default.func,document:import_prop_types2.default.shape({getElementById:import_prop_types2.default.func,activeElement:import_prop_types2.default.any,body:import_prop_types2.default.any})})},defaultProps={itemToString:defaultProps$3.itemToString,stateReducer:defaultProps$3.stateReducer,environment:defaultProps$3.environment,getA11yRemovalMessage,keyNavigationNext:"ArrowRight",keyNavigationPrevious:"ArrowLeft"},validatePropTypes=noop3;validatePropTypes=(options3,caller)=>{import_prop_types2.default.checkPropTypes(propTypes,options3,"prop",caller.name)};var SelectedItemClick="__selected_item_click__",SelectedItemKeyDownDelete="__selected_item_keydown_delete__",SelectedItemKeyDownBackspace="__selected_item_keydown_backspace__",SelectedItemKeyDownNavigationNext="__selected_item_keydown_navigation_next__",SelectedItemKeyDownNavigationPrevious="__selected_item_keydown_navigation_previous__",DropdownKeyDownNavigationPrevious="__dropdown_keydown_navigation_previous__",DropdownKeyDownBackspace="__dropdown_keydown_backspace__",DropdownClick="__dropdown_click__",FunctionAddSelectedItem="__function_add_selected_item__",FunctionRemoveSelectedItem="__function_remove_selected_item__",FunctionSetSelectedItems="__function_set_selected_items__",FunctionSetActiveIndex="__function_set_active_index__",FunctionReset="__function_reset__",stateChangeTypes=Object.freeze({__proto__:null,SelectedItemClick,SelectedItemKeyDownDelete,SelectedItemKeyDownBackspace,SelectedItemKeyDownNavigationNext,SelectedItemKeyDownNavigationPrevious,DropdownKeyDownNavigationPrevious,DropdownKeyDownBackspace,DropdownClick,FunctionAddSelectedItem,FunctionRemoveSelectedItem,FunctionSetSelectedItems,FunctionSetActiveIndex,FunctionReset});function downshiftMultipleSelectionReducer(state,action){let{type,index:index2,props,selectedItem}=action,{activeIndex,selectedItems}=state,changes;switch(type){case SelectedItemClick:changes={activeIndex:index2};break;case SelectedItemKeyDownNavigationPrevious:changes={activeIndex:activeIndex-1<0?0:activeIndex-1};break;case SelectedItemKeyDownNavigationNext:changes={activeIndex:activeIndex+1>=selectedItems.length?-1:activeIndex+1};break;case SelectedItemKeyDownBackspace:case SelectedItemKeyDownDelete:{let newActiveIndex=activeIndex;selectedItems.length===1?newActiveIndex=-1:activeIndex===selectedItems.length-1&&(newActiveIndex=selectedItems.length-2),changes={selectedItems:[...selectedItems.slice(0,activeIndex),...selectedItems.slice(activeIndex+1)],activeIndex:newActiveIndex};break}case DropdownKeyDownNavigationPrevious:changes={activeIndex:selectedItems.length-1};break;case DropdownKeyDownBackspace:changes={selectedItems:selectedItems.slice(0,selectedItems.length-1)};break;case FunctionAddSelectedItem:changes={selectedItems:[...selectedItems,selectedItem]};break;case DropdownClick:changes={activeIndex:-1};break;case FunctionRemoveSelectedItem:{let newActiveIndex=activeIndex,selectedItemIndex=selectedItems.indexOf(selectedItem);selectedItemIndex>=0&&(selectedItems.length===1?newActiveIndex=-1:selectedItemIndex===selectedItems.length-1&&(newActiveIndex=selectedItems.length-2),changes={selectedItems:[...selectedItems.slice(0,selectedItemIndex),...selectedItems.slice(selectedItemIndex+1)],activeIndex:newActiveIndex});break}case FunctionSetSelectedItems:{let{selectedItems:newSelectedItems}=action;changes={selectedItems:newSelectedItems};break}case FunctionSetActiveIndex:{let{activeIndex:newActiveIndex}=action;changes={activeIndex:newActiveIndex};break}case FunctionReset:changes={activeIndex:getDefaultValue(props,"activeIndex"),selectedItems:getDefaultValue(props,"selectedItems")};break;default:throw new Error("Reducer called without proper action type.")}return{...state,...changes}}useMultipleSelection.stateChangeTypes=stateChangeTypes;function useMultipleSelection(userProps){userProps===void 0&&(userProps={}),validatePropTypes(userProps,useMultipleSelection);let props={...defaultProps,...userProps},{getA11yRemovalMessage:getA11yRemovalMessage2,itemToString:itemToString2,environment,keyNavigationNext,keyNavigationPrevious}=props,[state,dispatch]=useControlledReducer$1(downshiftMultipleSelectionReducer,getInitialState(props),props),{activeIndex,selectedItems}=state,isInitialMountRef=(0,import_react24.useRef)(!0),dropdownRef=(0,import_react24.useRef)(null),previousSelectedItemsRef=(0,import_react24.useRef)(selectedItems),selectedItemRefs=(0,import_react24.useRef)();selectedItemRefs.current=[];let latest=useLatestRef({state,props});(0,import_react24.useEffect)(()=>{if(!isInitialMountRef.current){if(selectedItems.length<previousSelectedItemsRef.current.length){let removedSelectedItem=previousSelectedItemsRef.current.find(item=>selectedItems.indexOf(item)<0);setStatus(getA11yRemovalMessage2({itemToString:itemToString2,resultCount:selectedItems.length,removedSelectedItem,activeIndex,activeSelectedItem:selectedItems[activeIndex]}),environment.document)}previousSelectedItemsRef.current=selectedItems}},[selectedItems.length]),(0,import_react24.useEffect)(()=>{isInitialMountRef.current||(activeIndex===-1&&dropdownRef.current?dropdownRef.current.focus():selectedItemRefs.current[activeIndex]&&selectedItemRefs.current[activeIndex].focus())},[activeIndex]),useControlPropsValidator({isInitialMount:isInitialMountRef.current,props,state});let setGetterPropCallInfo=useGetterPropsCalledChecker("getDropdownProps");(0,import_react24.useEffect)(()=>{isInitialMountRef.current=!1},[]);let selectedItemKeyDownHandlers=(0,import_react24.useMemo)(()=>({[keyNavigationPrevious](){dispatch({type:SelectedItemKeyDownNavigationPrevious})},[keyNavigationNext](){dispatch({type:SelectedItemKeyDownNavigationNext})},Delete(){dispatch({type:SelectedItemKeyDownDelete})},Backspace(){dispatch({type:SelectedItemKeyDownBackspace})}}),[dispatch,keyNavigationNext,keyNavigationPrevious]),dropdownKeyDownHandlers=(0,import_react24.useMemo)(()=>({[keyNavigationPrevious](event){isKeyDownOperationPermitted(event)&&dispatch({type:DropdownKeyDownNavigationPrevious})},Backspace(event){isKeyDownOperationPermitted(event)&&dispatch({type:DropdownKeyDownBackspace})}}),[dispatch,keyNavigationPrevious]),getSelectedItemProps=(0,import_react24.useCallback)(function(_temp){let{refKey="ref",ref,onClick,onKeyDown,selectedItem,index:index2,...rest}=_temp===void 0?{}:_temp,{state:latestState}=latest.current;if(getItemIndex(index2,selectedItem,latestState.selectedItems)<0)throw new Error("Pass either selectedItem or index in getSelectedItemProps!");let selectedItemHandleClick=()=>{dispatch({type:SelectedItemClick,index:index2})},selectedItemHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&selectedItemKeyDownHandlers[key2]&&selectedItemKeyDownHandlers[key2](event)};return{[refKey]:handleRefs(ref,selectedItemNode=>{selectedItemNode&&selectedItemRefs.current.push(selectedItemNode)}),tabIndex:index2===latestState.activeIndex?0:-1,onClick:callAllEventHandlers(onClick,selectedItemHandleClick),onKeyDown:callAllEventHandlers(onKeyDown,selectedItemHandleKeyDown),...rest}},[dispatch,latest,selectedItemKeyDownHandlers]),getDropdownProps=(0,import_react24.useCallback)(function(_temp2,_temp3){let{refKey="ref",ref,onKeyDown,onClick,preventKeyAction=!1,...rest}=_temp2===void 0?{}:_temp2,{suppressRefError=!1}=_temp3===void 0?{}:_temp3;setGetterPropCallInfo("getDropdownProps",suppressRefError,refKey,dropdownRef);let dropdownHandleKeyDown=event=>{let key2=normalizeArrowKey(event);key2&&dropdownKeyDownHandlers[key2]&&dropdownKeyDownHandlers[key2](event)},dropdownHandleClick=()=>{dispatch({type:DropdownClick})};return{[refKey]:handleRefs(ref,dropdownNode=>{dropdownNode&&(dropdownRef.current=dropdownNode)}),...!preventKeyAction&&{onKeyDown:callAllEventHandlers(onKeyDown,dropdownHandleKeyDown),onClick:callAllEventHandlers(onClick,dropdownHandleClick)},...rest}},[dispatch,dropdownKeyDownHandlers,setGetterPropCallInfo]),addSelectedItem=(0,import_react24.useCallback)(selectedItem=>{dispatch({type:FunctionAddSelectedItem,selectedItem})},[dispatch]),removeSelectedItem=(0,import_react24.useCallback)(selectedItem=>{dispatch({type:FunctionRemoveSelectedItem,selectedItem})},[dispatch]),setSelectedItems=(0,import_react24.useCallback)(newSelectedItems=>{dispatch({type:FunctionSetSelectedItems,selectedItems:newSelectedItems})},[dispatch]),setActiveIndex=(0,import_react24.useCallback)(newActiveIndex=>{dispatch({type:FunctionSetActiveIndex,activeIndex:newActiveIndex})},[dispatch]),reset=(0,import_react24.useCallback)(()=>{dispatch({type:FunctionReset})},[dispatch]);return{getSelectedItemProps,getDropdownProps,addSelectedItem,removeSelectedItem,setSelectedItems,setActiveIndex,reset,selectedItems,activeIndex}}var import_fuse=__toESM(require_fuse());var import_react25=__toESM(require_react());function isCloseType(x3){return!!(x3&&x3.closeMenu)}function isClearType(x3){return!!(x3&&x3.clearLastViewed)}function isExpandType(x3){return!!(x3&&x3.showAll)}function isSearchResult(x3){return!!(x3&&x3.item)}var{document:document8}=scope,DEFAULT_MAX_SEARCH_RESULTS=50,options2={shouldSort:!0,tokenize:!0,findAllMatches:!0,includeScore:!0,includeMatches:!0,threshold:.2,location:0,distance:100,maxPatternLength:32,minMatchCharLength:1,keys:[{name:"name",weight:.7},{name:"path",weight:.3}]},ScreenReaderLabel=newStyled.label({position:"absolute",left:-1e4,top:"auto",width:1,height:1,overflow:"hidden"}),SearchIcon=newStyled(Icons)(({theme})=>({width:12,height:12,position:"absolute",top:10,left:12,zIndex:1,pointerEvents:"none",color:theme.textMutedColor})),SearchField=newStyled.div(({theme})=>({display:"flex",flexDirection:"column",position:"relative","&:focus-within svg":{color:theme.color.defaultText}})),Input2=newStyled.input(({theme})=>({appearance:"none",height:32,paddingLeft:30,paddingRight:32,border:`1px solid ${theme.appBorderColor}`,background:"transparent",borderRadius:32,fontSize:`${theme.typography.size.s1+1}px`,fontFamily:"inherit",transition:"all 150ms",color:theme.color.defaultText,"&:focus, &:active":{outline:0,borderColor:theme.color.secondary,background:theme.background.app},"&::placeholder":{color:theme.textMutedColor,opacity:1},"&:valid ~ code, &:focus ~ code":{display:"none"},"&:invalid ~ svg":{display:"none"},"&:valid ~ svg":{display:"block"},"&::-ms-clear":{display:"none"},"&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}})),FocusKey=newStyled.code(({theme})=>({position:"absolute",top:8,right:16,minWidth:16,height:16,zIndex:1,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:3,userSelect:"none",pointerEvents:"none"})),ClearIcon=newStyled(Icons)(({theme})=>({width:16,height:16,padding:4,position:"absolute",top:8,right:16,zIndex:1,background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.1)",borderRadius:16,color:theme.base==="light"?theme.color.dark:theme.textMutedColor,cursor:"pointer"})),FocusContainer=newStyled.div({outline:0}),Search=import_react25.default.memo(function({children,dataset,isLoading=!1,enableShortcuts=!0,getLastViewed,clearLastViewed,initialQuery=""}){let api=useStorybookApi(),inputRef=(0,import_react25.useRef)(null),[inputPlaceholder,setPlaceholder]=(0,import_react25.useState)("Find components"),[allComponents,showAllComponents]=(0,import_react25.useState)(!1),searchShortcut=api?shortcutToHumanString(api.getShortcutKeys().search):"/",selectStory=(0,import_react25.useCallback)((id,refId)=>{api&&api.selectStory(id,void 0,{ref:refId!==DEFAULT_REF_ID&&refId}),inputRef.current.blur(),showAllComponents(!1)},[api,inputRef,showAllComponents,DEFAULT_REF_ID]),list=(0,import_react25.useMemo)(()=>dataset.entries.reduce((acc,[refId,{index:index2,status}])=>{let groupStatus=getGroupStatus(index2||{},status);return index2&&acc.push(...Object.values(index2).map(item=>{let statusValue=status&&status[item.id]?getHighestStatus(Object.values(status[item.id]||{}).map(s2=>s2.status)):null;return{...searchItem(item,dataset.hash[refId]),status:statusValue||groupStatus[item.id]||null}})),acc},[]),[dataset]),fuse=(0,import_react25.useMemo)(()=>new import_fuse.default(list,options2),[list]),getResults=(0,import_react25.useCallback)(input=>{if(!input)return[];let results=[],resultIds=new Set,distinctResults=fuse.search(input).filter(({item})=>!(item.type==="component"||item.type==="docs"||item.type==="story")||resultIds.has(item.parent)?!1:(resultIds.add(item.id),!0));return distinctResults.length&&(results=distinctResults.slice(0,allComponents?1e3:DEFAULT_MAX_SEARCH_RESULTS),distinctResults.length>DEFAULT_MAX_SEARCH_RESULTS&&!allComponents&&results.push({showAll:()=>showAllComponents(!0),totalCount:distinctResults.length,moreCount:distinctResults.length-DEFAULT_MAX_SEARCH_RESULTS})),results},[allComponents,fuse]),stateReducer2=(0,import_react25.useCallback)((state,changes)=>{switch(changes.type){case Downshift$1.stateChangeTypes.blurInput:return{...changes,inputValue:state.inputValue,isOpen:state.inputValue&&!state.selectedItem,selectedItem:null};case Downshift$1.stateChangeTypes.mouseUp:return{};case Downshift$1.stateChangeTypes.keyDownEscape:return state.inputValue?{...changes,inputValue:"",isOpen:!0,selectedItem:null}:(inputRef.current.blur(),{...changes,isOpen:!1,selectedItem:null});case Downshift$1.stateChangeTypes.clickItem:case Downshift$1.stateChangeTypes.keyDownEnter:{if(isSearchResult(changes.selectedItem)){let{id,refId}=changes.selectedItem.item;return selectStory(id,refId),{...changes,inputValue:state.inputValue,isOpen:!1}}return isExpandType(changes.selectedItem)?(changes.selectedItem.showAll(),{}):isClearType(changes.selectedItem)?(changes.selectedItem.clearLastViewed(),inputRef.current.blur(),{isOpen:!1}):isCloseType(changes.selectedItem)?(inputRef.current.blur(),{isOpen:!1}):changes}case Downshift$1.stateChangeTypes.changeInput:return showAllComponents(!1),changes;default:return changes}},[inputRef,selectStory,showAllComponents]);return import_react25.default.createElement(Downshift$1,{initialInputValue:initialQuery,stateReducer:stateReducer2,itemToString:result2=>result2?.item?.name||"",scrollIntoView:e3=>scrollIntoView(e3)},({isOpen,openMenu,closeMenu,inputValue,clearSelection,getInputProps,getItemProps:getItemProps2,getLabelProps,getMenuProps,getRootProps,highlightedIndex})=>{let input=inputValue?inputValue.trim():"",results=input?getResults(input):[],lastViewed=!input&&getLastViewed();lastViewed&&lastViewed.length&&(results=lastViewed.reduce((acc,{storyId,refId})=>{let data=dataset.hash[refId];if(data&&data.index&&data.index[storyId]){let story=data.index[storyId],item=story.type==="story"?data.index[story.parent]:story;acc.some(res=>res.item.refId===refId&&res.item.id===item.id)||acc.push({item:searchItem(item,dataset.hash[refId]),matches:[],score:0})}return acc},[]),results.push({closeMenu}),results.length>0&&results.push({clearLastViewed}));let inputId="storybook-explorer-searchfield",inputProps=getInputProps({id:inputId,ref:inputRef,required:!0,type:"search",placeholder:inputPlaceholder,onFocus:()=>{openMenu(),setPlaceholder("Type to find...")},onBlur:()=>setPlaceholder("Find components")}),labelProps=getLabelProps({htmlFor:inputId});return import_react25.default.createElement(import_react25.default.Fragment,null,import_react25.default.createElement(ScreenReaderLabel,{...labelProps},"Search for components"),import_react25.default.createElement(SearchField,{...getRootProps({refKey:""},{suppressRefError:!0}),className:"search-field"},import_react25.default.createElement(SearchIcon,{icon:"search"}),import_react25.default.createElement(Input2,{...inputProps}),enableShortcuts&&import_react25.default.createElement(FocusKey,null,searchShortcut),import_react25.default.createElement(ClearIcon,{icon:"cross",onClick:()=>clearSelection()})),import_react25.default.createElement(FocusContainer,{tabIndex:0,id:"storybook-explorer-menu"},children({query:input,results,isBrowsing:!isOpen&&document8.activeElement!==inputRef.current,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex})))})});var import_react26=__toESM(require_react());var{document:document9}=scope,ResultsList=newStyled.ol({listStyle:"none",margin:0,marginLeft:-20,marginRight:-20,padding:0}),ResultRow=newStyled.li(({theme,isHighlighted})=>({display:"flex",alignItems:"center",justifyContent:"space-between",margin:0,padding:0,paddingRight:20,background:isHighlighted?theme.background.hoverable:"transparent",cursor:"pointer","a:hover, button:hover":{background:"transparent"},gap:10})),NoResults=newStyled.div(({theme})=>({marginTop:20,textAlign:"center",fontSize:`${theme.typography.size.s2-1}px`,lineHeight:"18px",color:theme.color.defaultText,small:{color:theme.barTextColor,fontSize:`${theme.typography.size.s1}px`}})),Mark=newStyled.mark(({theme})=>({background:"transparent",color:theme.color.secondary})),ActionRow=newStyled(ResultRow)({display:"flex",padding:"6px 19px",alignItems:"center"}),BackActionRow=newStyled(ActionRow)({marginTop:8}),ActionLabel=newStyled.span(({theme})=>({flexGrow:1,color:theme.textMutedColor,fontSize:`${theme.typography.size.s1}px`})),ActionIcon=newStyled(Icons)(({theme})=>({display:"inline-block",width:10,height:10,marginRight:6,color:theme.textMutedColor})),ActionKey=newStyled.code(({theme})=>({minWidth:16,height:16,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:2,userSelect:"none",pointerEvents:"none"})),Highlight=import_react26.default.memo(function({children,match}){if(!match)return import_react26.default.createElement(import_react26.default.Fragment,null,children);let{value:value2,indices}=match,{nodes:result2}=indices.reduce(({cursor,nodes},[start,end],index2,{length})=>(nodes.push(import_react26.default.createElement("span",{key:`${index2}-0`},value2.slice(cursor,start))),nodes.push(import_react26.default.createElement(Mark,{key:`${index2}-1`},value2.slice(start,end+1))),index2===length-1&&nodes.push(import_react26.default.createElement("span",{key:`${index2}-2`},value2.slice(end+1))),{cursor:end+1,nodes}),{cursor:0,nodes:[]});return import_react26.default.createElement(import_react26.default.Fragment,null,result2)}),Result=import_react26.default.memo(function({item,matches,icon,onClick,...props}){let click=(0,import_react26.useCallback)(event=>{event.preventDefault(),onClick(event)},[onClick]),api=useStorybookApi();(0,import_react26.useEffect)(()=>{api&&props.isHighlighted&&item.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]]},{options:{target:item.refId}})},[props.isHighlighted,item]);let nameMatch=matches.find(match=>match.key==="name"),pathMatches=matches.filter(match=>match.key==="path"),label=import_react26.default.createElement("div",{className:"search-result-item--label"},import_react26.default.createElement("strong",null,import_react26.default.createElement(Highlight,{match:nameMatch},item.name)),import_react26.default.createElement(Path,null,item.path.map((group,index2)=>import_react26.default.createElement("span",{key:index2},import_react26.default.createElement(Highlight,{match:pathMatches.find(match=>match.arrayIndex===index2)},group))))),title=`${item.path.join(" / ")} / ${item.name}`,nodeProps={depth:0,onClick:click,title,children:label},node;item.type==="component"?node=import_react26.default.createElement(ComponentNode,{isExpanded:!1,...nodeProps}):item.type==="story"?node=import_react26.default.createElement(StoryNode,{href:getLink(item,item.refId),...nodeProps}):node=import_react26.default.createElement(DocumentNode,{href:getLink(item,item.refId),...nodeProps});let[i3]=item.status?statusMapping[item.status]:[];return import_react26.default.createElement(ResultRow,{...props},node,item.status?i3:null)}),SearchResults=import_react26.default.memo(function({query,results,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex,isLoading=!1,enableShortcuts=!0}){let api=useStorybookApi();(0,import_react26.useEffect)(()=>{let handleEscape=event=>{if(!(!enableShortcuts||isLoading||event.repeat)&&matchesModifiers(!1,event)&&matchesKeyCode("Escape",event)){if(event.target?.id==="storybook-explorer-searchfield")return;event.preventDefault(),closeMenu()}};return document9.addEventListener("keydown",handleEscape),()=>document9.removeEventListener("keydown",handleEscape)},[closeMenu,enableShortcuts,isLoading]);let mouseOverHandler=(0,import_react26.useCallback)(event=>{if(!api)return;let currentTarget=event.currentTarget,storyId=currentTarget.getAttribute("data-id"),refId=currentTarget.getAttribute("data-refid"),item=api.getData(storyId,refId==="storybook_internal"?void 0:refId);item?.isComponent&&api.emit(PRELOAD_ENTRIES,{ids:[item.isLeaf?item.id:item.children[0]],options:{target:refId}})},[]);return import_react26.default.createElement(ResultsList,{...getMenuProps()},results.length>0&&!query&&import_react26.default.createElement("li",null,import_react26.default.createElement(RootNode,{className:"search-result-recentlyOpened"},"Recently opened")),results.length===0&&query&&import_react26.default.createElement("li",null,import_react26.default.createElement(NoResults,null,import_react26.default.createElement("strong",null,"No components found"),import_react26.default.createElement("br",null),import_react26.default.createElement("small",null,"Find components by name or path."))),results.map((result2,index2)=>{if(isCloseType(result2))return import_react26.default.createElement(BackActionRow,{key:"search-result-back",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-back"},import_react26.default.createElement(ActionIcon,{icon:"arrowleft"}),import_react26.default.createElement(ActionLabel,null,"Back to components"),import_react26.default.createElement(ActionKey,null,"ESC"));if(isClearType(result2))return import_react26.default.createElement(ActionRow,{key:"search-result-clearHistory",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-clearHistory"},import_react26.default.createElement(ActionIcon,{icon:"trash"}),import_react26.default.createElement(ActionLabel,null,"Clear history"));if(isExpandType(result2))return import_react26.default.createElement(ActionRow,{key:"search-result-more",...result2,...getItemProps2({key:index2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,className:"search-result-more"},import_react26.default.createElement(ActionIcon,{icon:"plus"}),import_react26.default.createElement(ActionLabel,null,"Show ",result2.moreCount," more results"));let{item}=result2,key2=`${item.refId}::${item.id}`;return import_react26.default.createElement(Result,{key:item.id,...result2,...getItemProps2({key:key2,index:index2,item:result2}),isHighlighted:highlightedIndex===index2,"data-id":result2.item.id,"data-refid":result2.item.refId,onMouseOver:mouseOverHandler,className:"search-result-item"})}))});var import_debounce2=__toESM(require_debounce()),import_react27=__toESM(require_react()),import_store23=__toESM(require_store2()),save=(0,import_debounce2.default)(value2=>import_store23.default.set("lastViewedStoryIds",value2),1e3),useLastViewed=selection=>{let initialLastViewedStoryIds=(0,import_react27.useMemo)(()=>{let items=import_store23.default.get("lastViewedStoryIds");return!items||!Array.isArray(items)?[]:items.some(item=>typeof item=="object"&&item.storyId&&item.refId)?items:[]},[import_store23.default]),lastViewedRef=(0,import_react27.useRef)(initialLastViewedStoryIds),updateLastViewed=(0,import_react27.useCallback)(story=>{let items=lastViewedRef.current,index2=items.findIndex(({storyId,refId})=>storyId===story.storyId&&refId===story.refId);index2!==0&&(index2===-1?lastViewedRef.current=[story,...items]:lastViewedRef.current=[story,...items.slice(0,index2),...items.slice(index2+1)],save(lastViewedRef.current))},[lastViewedRef]);return(0,import_react27.useEffect)(()=>{selection&&updateLastViewed(selection)},[selection]),{getLastViewed:(0,import_react27.useCallback)(()=>lastViewedRef.current,[lastViewedRef]),clearLastViewed:(0,import_react27.useCallback)(()=>{lastViewedRef.current=lastViewedRef.current.slice(0,1),save(lastViewedRef.current)},[lastViewedRef])}};var DEFAULT_REF_ID="storybook_internal",Container3=newStyled.nav({position:"absolute",zIndex:1,left:0,top:0,bottom:0,right:0,width:"100%",height:"100%",display:"flex",flexDirection:"column"}),Top=newStyled(Spaced)({padding:20,flex:1}),Bottom=newStyled.div(({theme})=>({borderTop:`1px solid ${theme.appBorderColor}`,padding:theme.layoutMargin/2,display:"flex",flexWrap:"wrap",gap:theme.layoutMargin/2,backgroundColor:theme.barBg,"&:empty":{display:"none"}})),CustomScrollArea=newStyled(ScrollArea)({"&&&&& .os-scrollbar-handle:before":{left:-12},"&&&&& .os-scrollbar-vertical":{right:5}}),Swap=import_react28.default.memo(function({children,condition}){let[a2,b3]=import_react28.default.Children.toArray(children);return import_react28.default.createElement(import_react28.default.Fragment,null,import_react28.default.createElement("div",{style:{display:condition?"block":"none"}},a2),import_react28.default.createElement("div",{style:{display:condition?"none":"block"}},b3))}),useCombination=(defaultRefData,refs2)=>{let hash=(0,import_react28.useMemo)(()=>({[DEFAULT_REF_ID]:{...defaultRefData,title:null,id:DEFAULT_REF_ID,url:"iframe.html"},...refs2}),[refs2,defaultRefData]);return(0,import_react28.useMemo)(()=>({hash,entries:Object.entries(hash)}),[hash])},Sidebar2=import_react28.default.memo(function({storyId=null,refId=DEFAULT_REF_ID,index:index2,indexError,status,previewInitialized,menu,extra,bottom=[],menuHighlighted=!1,enableShortcuts=!0,refs:refs2={}}){let selected=(0,import_react28.useMemo)(()=>storyId&&{storyId,refId},[storyId,refId]),dataset=useCombination({index:index2,indexError,previewInitialized,status},refs2),isLoading=!index2&&!indexError,lastViewedProps=useLastViewed(selected);return import_react28.default.createElement(Container3,{className:"container sidebar-container"},import_react28.default.createElement(CustomScrollArea,{vertical:!0},import_react28.default.createElement(Top,{row:1.6},import_react28.default.createElement(Heading,{className:"sidebar-header",menuHighlighted,menu,extra,skipLinkHref:"#storybook-preview-wrapper",isLoading}),import_react28.default.createElement(Search,{dataset,isLoading,enableShortcuts,...lastViewedProps},({query,results,isBrowsing,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex})=>import_react28.default.createElement(Swap,{condition:isBrowsing},import_react28.default.createElement(Explorer,{dataset,selected,isLoading,isBrowsing}),import_react28.default.createElement(SearchResults,{query,results,closeMenu,getMenuProps,getItemProps:getItemProps2,highlightedIndex,enableShortcuts,isLoading}))))),isLoading?null:import_react28.default.createElement(Bottom,null,bottom.map(({id,render:Render})=>import_react28.default.createElement(Render,{key:id}))))});var import_react29=__toESM(require_react());var focusableUIElements2={storySearchField:"storybook-explorer-searchfield",storyListMenu:"storybook-explorer-menu",storyPanelRoot:"storybook-panel-root"},Key=newStyled.span(({theme})=>({display:"inline-block",height:16,lineHeight:"16px",textAlign:"center",fontSize:"11px",background:theme.base==="light"?"rgba(0,0,0,0.05)":"rgba(255,255,255,0.05)",color:theme.base==="light"?theme.color.dark:theme.textMutedColor,borderRadius:2,userSelect:"none",pointerEvents:"none",padding:"0 6px"})),KeyChild=newStyled.code(({theme})=>`
|
|
399
399
|
padding: 0;
|
|
400
400
|
vertical-align: middle;
|
|
401
401
|
|