{"version":3,"sources":["../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","../node_modules/@reach/utils/dev-utils/dist/reach-utils-dev-utils.esm.js","../node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","../node_modules/@reach/portal/dist/reach-portal.esm.js","../node_modules/@reach/tooltip/dist/reach-tooltip.esm.js","../node_modules/@reach/utils/get-document-dimensions/dist/reach-utils-get-document-dimensions.esm.js","../node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","../node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","../node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","../../src/index.ts","../node_modules/@reach/rect/dist/reach-rect.esm.js","../node_modules/semantic-ui-react/dist/es/elements/Divider/Divider.js"],"names":["_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","useIsomorphicLayoutEffect","canUseDOM","useLayoutEffect","useEffect","useCheckStyles","packageName","composeEventHandlers","theirHandler","ourHandler","event","defaultPrevented","Portal","_ref","children","_ref$type","type","containerRef","mountNode","useRef","portalNode","forceUpdate","useForceUpdate","current","ownerDocument","body","createElement","appendChild","removeChild","createPortal","ref","_extends","Object","assign","target","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_on","_on2","_on3","_on4","_on5","_states","TooltipStates","TooltipEvents","_excluded","_excluded2","_excluded3","_excluded4","restTimeout","leavingVisibleTimer","chart","initial","Idle","states","enter","clearContextId","on","MouseEnter","Focused","Focus","Visible","window","clearTimeout","setTimeout","send","Rest","leave","MouseMove","MouseLeave","MouseDown","Dismissed","Blur","LeavingVisible","SelectWithKeyboard","GlobalMouseMove","TimeComplete","state","context","id","subscriptions","useTooltip","_temp","idProp","onPointerEnter","onPointerMove","onPointerLeave","onPointerDown","onMouseEnter","onMouseMove","onMouseLeave","onMouseDown","onFocus","onBlur","onKeyDown","disabled","forwardedRef","DEBUG_STYLE","String","useId","_React$useState","useState","isTooltipVisible","isVisible","setIsVisible","ownRef","useComposedRefs","triggerRect","useRect","observe","wrapMouseEvent","wrapPointerEventHandler","handler","pointerType","handleMouseEnter","handleMouseMove","handleMouseLeave","handleMouseDown","fn","push","splice","getOwnerDocument","listener","addEventListener","removeEventListener","_ref5","Element","closest","useDisabledTriggerOnSafari","makeId","undefined","__REACH_DISABLE_TOOLTIPS","Tooltip","forwardRef","_ref2","label","DEPRECATED_ariaLabel","ariaLabel","props","child","Children","only","_useTooltip","trigger","tooltip","Fragment","cloneElement","TooltipPopup","_ref3","TooltipContent","_ref4","realAriaLabel","_ref4$as","as","Comp","_ref4$position","position","positionTooltip","style","hasAriaLabel","tooltipRect","role","getStyles","VisuallyHidden","visibility","offset","_getDocumentDimension","element","_ownerDocument$docume","_ownerDocument$docume2","ownerWindow","defaultView","width","documentElement","clientWidth","innerWidth","height","clientHeight","innerHeight","getDocumentDimensions","windowWidth","windowHeight","collisions","top","right","left","bottom","directionUp","pageXOffset","pageYOffset","_transition","currentState","stateDef","nextState","changed","payload","nextStateValue","nextDef","transition","forEach","_len","args","_key","filter","val","join","serverHandoffComplete","genId","idFromProps","initialId","setId","dispatch","create","useCallback","observedNodes","run","changedStates","a","newRect","node","b","cb","rafId","wasEmpty","rect","hasRectChanged","callbacks","unobserve","index","cancelAnimationFrame","nodeRef","observeOrOptions","deprecated_onChange","onChange","_observeOrOptions$obs","isBoolean","isFunction","setElement","initialRectIsSet","initialRefIsSet","_React$useState2","setRect","onChangeRef","getBoundingClientRect","elem","observer","observeRect","Divider","className","clearing","content","fitted","hidden","horizontal","inverted","section","vertical","classes","cx","useKeyOnly","rest","getUnhandledProps","ElementType","getElementType","React","childrenUtils","isNil","handledProps","propTypes"],"mappings":"iHAAA,+CACe,SAASA,EAA2BC,EAAGC,GACpD,IAAIC,EAEJ,GAAsB,qBAAXC,QAAgD,MAAtBH,EAAEG,OAAOC,UAAmB,CAC/D,GAAIC,MAAMC,QAAQN,KAAOE,EAAK,YAA2BF,KAAOC,GAAkBD,GAAyB,kBAAbA,EAAEO,OAAqB,CAC/GL,IAAIF,EAAIE,GACZ,IAAIM,EAAI,EAEJC,EAAI,aAER,MAAO,CACLC,EAAGD,EACHE,EAAG,WACD,OAAIH,GAAKR,EAAEO,OAAe,CACxBK,MAAM,GAED,CACLA,MAAM,EACNC,MAAOb,EAAEQ,OAGbM,EAAG,SAAWC,GACZ,MAAMA,GAERC,EAAGP,GAIP,MAAM,IAAIQ,UAAU,yIAGtB,IAEIC,EAFAC,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLV,EAAG,WACDR,EAAKF,EAAEG,OAAOC,aAEhBO,EAAG,WACD,IAAIU,EAAOnB,EAAGoB,OAEd,OADAH,EAAmBE,EAAKT,KACjBS,GAETP,EAAG,SAAWS,GACZH,GAAS,EACTF,EAAMK,GAERP,EAAG,WACD,IACOG,GAAoC,MAAhBjB,EAAW,QAAWA,EAAW,SAC1D,QACA,GAAIkB,EAAQ,MAAMF,O,kCCpD1B,sDA4BIM,EAAyCC,cAAcC,kBAAkBC,a,kCC5B7E,uCA+DA,SAASC,EAAeC,M,kCCvDxB,SAASC,EAAqBC,EAAcC,GAC1C,OAAO,SAAUC,GAGf,GAFAF,GAAgBA,EAAaE,IAExBA,EAAMC,iBACT,OAAOF,EAAWC,IAbxB,mC,kCCAA,yEAwBIE,EAAS,SAAgBC,GAC3B,IAAIC,EAAWD,EAAKC,SAChBC,EAAYF,EAAKG,KACjBA,OAAqB,IAAdD,EAAuB,eAAiBA,EAC/CE,EAAeJ,EAAKI,aACpBC,EAAYC,iBAAO,MACnBC,EAAaD,iBAAO,MACpBE,EAAcC,cA4BlB,OAhBArB,aAA0B,WAExB,GAAKiB,EAAUK,QAAf,CAGA,IAAIC,EAAgBN,EAAUK,QAAQC,cAClCC,GAAwB,MAAhBR,OAAuB,EAASA,EAAaM,UAAYC,EAAcC,KAInF,OAHAL,EAAWG,QAA2B,MAAjBC,OAAwB,EAASA,EAAcE,cAAcV,GAClFS,EAAKE,YAAYP,EAAWG,SAC5BF,IACO,WACDD,EAAWG,SAAWE,GACxBA,EAAKG,YAAYR,EAAWG,aAG/B,CAACP,EAAMK,EAAaJ,IAChBG,EAAWG,QAAuBM,uBAAaf,EAAUM,EAAWG,SAAwBG,wBAAc,OAAQ,CACvHI,IAAKZ,M,oJC9CT,SAASa,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIjD,EAAI,EAAGA,EAAIkD,UAAUnD,OAAQC,IAAK,CACzC,IAAImD,EAASD,UAAUlD,GAEvB,IAAK,IAAIoD,KAAOD,EACVJ,OAAOM,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CH,EAAOG,GAAOD,EAAOC,IAK3B,OAAOH,IAGOO,MAAMC,KAAMP,WAG9B,SAASQ,EAA8BP,EAAQQ,GAC7C,GAAc,MAAVR,EAAgB,MAAO,GAC3B,IAEIC,EAAKpD,EAFLiD,EAAS,GACTW,EAAab,OAAOc,KAAKV,GAG7B,IAAKnD,EAAI,EAAGA,EAAI4D,EAAW7D,OAAQC,IACjCoD,EAAMQ,EAAW5D,GACb2D,EAASG,QAAQV,IAAQ,IAC7BH,EAAOG,GAAOD,EAAOC,IAGvB,OAAOH,EAGT,IAKIc,EAAKC,EAAMC,EAAMC,EAAMC,EAAMC,EAK7BC,EAWAC,EArBAC,EAAY,CAAC,WAAY,QAAS,YAAa,KAAM,eACrDC,EAAa,CAAC,QAAS,YAAa,YAAa,MACjDC,EAAa,CAAC,YAAa,aAAc,KAAM,KAAM,YAAa,QAAS,WAAY,QAAS,eAChGC,EAAa,CAAC,SAUlB,SAAWL,GACTA,EAAa,KAAW,OACxBA,EAAa,QAAc,UAC3BA,EAAa,QAAc,UAC3BA,EAAa,eAAqB,kBAClCA,EAAa,UAAgB,YAL/B,CAMGA,IAAkBA,EAAgB,KAIrC,SAAWC,GACTA,EAAa,KAAW,OACxBA,EAAa,MAAY,QACzBA,EAAa,gBAAsB,oBACnCA,EAAa,UAAgB,aAC7BA,EAAa,WAAiB,cAC9BA,EAAa,WAAiB,cAC9BA,EAAa,UAAgB,aAC7BA,EAAa,KAAW,OACxBA,EAAa,mBAAyB,uBACtCA,EAAa,aAAmB,gBAVlC,CAWGA,IAAkBA,EAAgB,KAErC,IAgEIK,EAgBAC,EAhFAC,EAAQ,CACVC,QAAST,EAAcU,KACvBC,QAASZ,EAAU,GAAIA,EAAQC,EAAcU,MAAQ,CACnDE,MAAOC,EACPC,IAAKpB,EAAM,GAAIA,EAAIO,EAAcc,YAAcf,EAAcgB,QAAStB,EAAIO,EAAcgB,OAASjB,EAAckB,QAASxB,IACvHK,EAAQC,EAAcgB,SAAW,CAClCJ,MA4DJ,WACEO,OAAOC,aAAad,GACpBA,EAAca,OAAOE,YAAW,WAC9BC,EAAK,CACH5D,KAAMuC,EAAcsB,SApGD,MAqCrBC,MAoEJ,WACEL,OAAOC,aAAad,IApElBQ,IAAKnB,EAAO,GAAIA,EAAKM,EAAcwB,WAAazB,EAAcgB,QAASrB,EAAKM,EAAcyB,YAAc1B,EAAcU,KAAMf,EAAKM,EAAc0B,WAAa3B,EAAc4B,UAAWjC,EAAKM,EAAc4B,MAAQ7B,EAAcU,KAAMf,EAAKM,EAAcsB,MAAQvB,EAAckB,QAASvB,IACrRI,EAAQC,EAAckB,SAAW,CAClCJ,IAAKlB,EAAO,GAAIA,EAAKK,EAAcgB,OAASjB,EAAcgB,QAASpB,EAAKK,EAAcc,YAAcf,EAAcgB,QAASpB,EAAKK,EAAcyB,YAAc1B,EAAc8B,eAAgBlC,EAAKK,EAAc4B,MAAQ7B,EAAc8B,eAAgBlC,EAAKK,EAAc0B,WAAa3B,EAAc4B,UAAWhC,EAAKK,EAAc8B,oBAAsB/B,EAAc4B,UAAWhC,EAAKK,EAAc+B,iBAAmBhC,EAAc8B,eAAgBlC,IACjbG,EAAQC,EAAc8B,gBAAkB,CACzClB,MAsEJ,WACEO,OAAOC,aAAab,GACpBA,EAAsBY,OAAOE,YAAW,WACtC,OAAOC,EAAK,CACV5D,KAAMuC,EAAcgC,iBAnHN,MA0ChBT,MAAO,WA+ETL,OAAOC,aAAab,GA7EhBM,KAEFC,IAAKjB,EAAO,GAAIA,EAAKI,EAAcc,YAAcf,EAAckB,QAASrB,EAAKI,EAAcgB,OAASjB,EAAckB,QAASrB,EAAKI,EAAcgC,cAAgBjC,EAAcU,KAAMb,IACjLE,EAAQC,EAAc4B,WAAa,CACpCJ,MAAO,WACLX,KAEFC,IAAKhB,EAAO,GAAIA,EAAKG,EAAcyB,YAAc1B,EAAcU,KAAMZ,EAAKG,EAAc4B,MAAQ7B,EAAcU,KAAMZ,IACnHC,IAODmC,EAAQ,CACVlG,MAAOwE,EAAMC,QACb0B,QAAS,CACPC,GAAI,OAYJC,EAAgB,GAoDpB,SAASxB,IACPqB,EAAMC,QAAQC,GAAK,KAUrB,SAASE,EAAWC,GAClB,IAAIhF,OAAiB,IAAVgF,EAAmB,GAAKA,EAC/BC,EAASjF,EAAK6E,GACdK,EAAiBlF,EAAKkF,eACtBC,EAAgBnF,EAAKmF,cACrBC,EAAiBpF,EAAKoF,eACtBC,EAAgBrF,EAAKqF,cACrBC,EAAetF,EAAKsF,aACpBC,EAAcvF,EAAKuF,YACnBC,EAAexF,EAAKwF,aACpBC,EAAczF,EAAKyF,YACnBC,EAAU1F,EAAK0F,QACfC,EAAS3F,EAAK2F,OACdC,EAAY5F,EAAK4F,UACjBC,EAAW7F,EAAK6F,SAChBC,EAAe9F,EAAKiB,IACpB8E,EAAc/F,EAAK+F,YAEnBlB,EAAKmB,OAAOC,YAAMhB,IAElBiB,EAAkBC,qBAASJ,GAAqBK,EAAiBvB,GAAI,IACrEwB,EAAYH,EAAgB,GAC5BI,EAAeJ,EAAgB,GAG/BK,EAASjG,iBAAO,MAChBW,EAAMuF,YAAgBV,EAAcS,GACpCE,EAAcC,YAAQH,EAAQ,CAChCI,QAASN,IA8BX,SAASO,EAAejH,EAAcC,GAEpC,MAAsB,qBAAXgE,QAA0B,iBAAkBA,OAC9CjE,EAGFD,YAAqBC,EAAcC,GAG5C,SAASiH,EAAwBC,GAC/B,OAAO,SAAwBjH,GAEH,UAAtBA,EAAMkH,aAIVD,EAAQjH,IAIZ,SAASmH,IACPjD,EAAK,CACH5D,KAAMuC,EAAcc,WACpBqB,GAAIA,IAIR,SAASoC,IACPlD,EAAK,CACH5D,KAAMuC,EAAcwB,UACpBW,GAAIA,IAIR,SAASqC,IACPnD,EAAK,CACH5D,KAAMuC,EAAcyB,aAIxB,SAASgD,IAEHxC,EAAMC,QAAQC,KAAOA,GACvBd,EAAK,CACH5D,KAAMuC,EAAc0B,YA2D1B,OAnIA7E,qBAAU,WACR,OA5Fe6H,EA4FE,WACfd,EAAaF,EAAiBvB,KA5FlCC,EAAcuC,KAAKD,GACZ,WACLtC,EAAcwC,OAAOxC,EAAc5C,QAAQkF,GAAK,IAHpD,IAAmBA,IA+Fd,CAACvC,IACJrF,YAAe,WACfD,qBAAU,WACR,IAAIoB,EAAgB4G,YAAiBhB,EAAO7F,SAE5C,SAAS8G,EAAS3H,GACG,WAAdA,EAAM2B,KAAkC,QAAd3B,EAAM2B,KAAkBmD,EAAMlG,QAAUgE,EAAckB,SACnFI,EAAK,CACH5D,KAAMuC,EAAc8B,qBAM1B,OADA7D,EAAc8G,iBAAiB,UAAWD,GACnC,WACL,OAAO7G,EAAc+G,oBAAoB,UAAWF,MAErD,IAuTL,SAAoCG,GAClC,IAAI9B,EAAW8B,EAAM9B,SACjBQ,EAAYsB,EAAMtB,UAClBpF,EAAM0G,EAAM1G,IAChB1B,qBAAU,WACR,GAAwB,qBAAXqE,QAA0B,iBAAkBA,QAAYiC,GAAaQ,EAAlF,CAIA,IAAI1F,EAAgB4G,YAAiBtG,EAAIP,SAiBzC,OADAC,EAAc8G,iBAAiB,YAAaR,GACrC,WACLtG,EAAc+G,oBAAoB,YAAaT,IAhBjD,SAASA,EAAgBpH,GAClBwG,IAIDxG,EAAMwB,kBAAkBuG,SAAW/H,EAAMwB,OAAOwG,QAAQ,+DAI5D9D,EAAK,CACH5D,KAAMuC,EAAc+B,sBAQvB,CAACoB,EAAUQ,EAAWpF,IAnVzB6G,CAA2B,CACzBjC,SAAUA,EACVQ,UAAWA,EACXpF,IAAKsF,IA0GA,CAzBO,CAIZ,mBAAoBF,EAAY0B,YAAO,UAAWlD,QAAMmD,EACxD,aAAc3B,EAAY,kBAAoB,iBAC9C,6BAA8B,GAC9BpF,IAAKA,EACLiE,eAAgBxF,YAAqBwF,EAAgB2B,EAAwBG,IAC7E7B,cAAezF,YAAqByF,EAAe0B,EAAwBI,IAC3E7B,eAAgB1F,YAAqB0F,EAAgByB,EAAwBK,IAC7E7B,cAAe3F,YAAqB2F,EAAewB,EAAwBM,IAC3E7B,aAAcsB,EAAetB,EAAc0B,GAC3CzB,YAAaqB,EAAerB,EAAa0B,GACzCzB,aAAcoB,EAAepB,EAAc0B,GAC3CzB,YAAamB,EAAenB,EAAa0B,GACzCzB,QAAShG,YAAqBgG,GA7ChC,WAEM9B,OAAOqE,0BAIXlE,EAAK,CACH5D,KAAMuC,EAAcgB,MACpBmB,GAAIA,OAsCNc,OAAQjG,YAAqBiG,GAlC/B,WAEMhB,EAAMC,QAAQC,KAAOA,GACvBd,EAAK,CACH5D,KAAMuC,EAAc4B,UA+BxBsB,UAAWlG,YAAqBkG,GA1BlC,SAAuB/F,GACH,UAAdA,EAAM2B,KAAiC,MAAd3B,EAAM2B,KACjCuC,EAAK,CACH5D,KAAMuC,EAAc8B,yBAyBZ,CACZK,GAAIA,EACJ4B,YAAaA,EACbJ,UAAWA,GAEaA,GAU5B,IAAI6B,EAAuBC,sBAAW,SAAUC,EAAOtC,GACrD,IAAI7F,EAAWmI,EAAMnI,SACjBoI,EAAQD,EAAMC,MACdC,EAAuBF,EAAMG,UAC7B1D,EAAKuD,EAAMvD,GACXkB,EAAcqC,EAAMrC,YACpByC,EAAQ1G,EAA8BsG,EAAOzF,GAE7C8F,EAAQC,WAASC,KAAK1I,GAItB2I,EAAc7D,EAAW,CAC3BF,GAAIA,EACJK,eAAgBuD,EAAMD,MAAMtD,eAC5BC,cAAesD,EAAMD,MAAMrD,cAC3BC,eAAgBqD,EAAMD,MAAMpD,eAC5BC,cAAeoD,EAAMD,MAAMnD,cAC3BC,aAAcmD,EAAMD,MAAMlD,aAC1BC,YAAakD,EAAMD,MAAMjD,YACzBC,aAAciD,EAAMD,MAAMhD,aAC1BC,YAAagD,EAAMD,MAAM/C,YACzBC,QAAS+C,EAAMD,MAAM9C,QACrBC,OAAQ8C,EAAMD,MAAM7C,OACpBC,UAAW6C,EAAMD,MAAM5C,UACvBC,SAAU4C,EAAMD,MAAM3C,SACtB5E,IAAKwH,EAAMxH,IACX8E,YAAaA,IAEX8C,EAAUD,EAAY,GACtBE,EAAUF,EAAY,GAE1B,OAAoB/H,wBAAckI,WAAU,KAAmBC,uBAAaP,EAAOI,GAAuBhI,wBAAcoI,EAAc/H,EAAS,CAC7ID,IAAK6E,EACLuC,MAAOA,EACP,aAAcC,GACbQ,EAASN,QAmBd,IAAIS,EAA4Bd,sBAAW,SAAsBe,EAAOf,GACtE,IAAIE,EAAQa,EAAMb,MACdC,EAAuBY,EAAMX,UAC7BlC,EAAY6C,EAAM7C,UAClBxB,EAAKqE,EAAMrE,GACX2D,EAAQ1G,EAA8BoH,EAAOtG,GAEjD,OAAOyD,EAAyBxF,wBAAcd,IAAQ,KAAmBc,wBAAcsI,EAAgBjI,EAAS,CAC9GD,IAAKkH,EACLE,MAAOA,EACP,aAAcC,EACdjC,UAAWA,GACVmC,EAAO,CACR3D,GAAIkD,YAAO,UAAW/B,OAAOnB,QACxB,QAoBT,IAAIsE,EAA8BhB,sBAAW,SAAwBiB,EAAOtD,GAC1E,IAAIyC,EAAYa,EAAMb,UAClBc,EAAgBD,EAAM,cACtBE,EAAWF,EAAMG,GACjBC,OAAoB,IAAbF,EAAsB,MAAQA,EACrCzE,EAAKuE,EAAMvE,GACXwB,EAAY+C,EAAM/C,UAClBgC,EAAQe,EAAMf,MACdoB,EAAiBL,EAAMM,SACvBA,OAA8B,IAAnBD,EAA4BE,EAAkBF,EACzDG,EAAQR,EAAMQ,MACdnD,EAAc2C,EAAM3C,YACpB+B,EAAQ1G,EAA8BsH,EAAOvG,GAS7CgH,EAA+C,OAA/BR,GAAiBd,GACjChC,EAASjG,iBAAO,MAChBW,EAAMuF,YAAgBV,EAAcS,GACpCuD,EAAcpD,YAAQH,EAAQ,CAChCI,QAASN,IAEX,OAAoBxF,wBAAckI,WAAU,KAAmBlI,wBAAc2I,EAAMtI,EAAS,CAC1F6I,KAAMF,OAAe7B,EAAY,WAChCQ,EAAO,CACRvH,IAAKA,EACL,qBAAsB,GACtB4D,GAAIgF,OAAe7B,EAAYnD,EAC/B+E,MAAO1I,EAAS,GAAI0I,EAAOI,EAAUN,EAAUjD,EAAaqD,MAC1DzB,GAAQwB,GAA6BhJ,wBAAcoJ,IAAgB,CACrEF,KAAM,UACNlF,GAAIA,GACHwE,GAAiBd,OAStB,SAASyB,EAAUN,EAAUjD,EAAaqD,GAGxC,OAFgCA,EAGvB,CACLI,WAAY,UAITR,EAASjD,EAAaqD,GAM/B,IACIH,EAAkB,SAAyBlD,EAAaqD,EAAaK,QACxD,IAAXA,IACFA,EAHiB,GAMnB,IAAIC,EC7fN,SAA+BC,GAC7B,IAAIC,EAAuBC,EAEvB5J,EAAgB4G,YAAiB8C,GACjCG,EAAc7J,EAAc8J,aAAe7G,OAE/C,OAAKjD,EAOE,CACL+J,MAA8E,OAAtEJ,EAAwB3J,EAAcgK,gBAAgBC,aAAuBN,EAAwBE,EAAYK,WACzHC,OAAiF,OAAxEP,EAAyB5J,EAAcgK,gBAAgBI,cAAwBR,EAAyBC,EAAYQ,aARtH,CACLN,MAAO,EACPI,OAAQ,GDofgBG,GACxBC,EAAcd,EAAsBM,MACpCS,EAAef,EAAsBU,OAEzC,IAAKrE,IAAgBqD,EACnB,MAAO,GAGT,IAAIsB,EAAa,CACfC,IAAK5E,EAAY4E,IAAMvB,EAAYgB,OAAS,EAC5CQ,MAAOJ,EAAczE,EAAY8E,KAAOzB,EAAYY,MACpDc,OAAQL,EAAe1E,EAAY+E,OAAS1B,EAAYgB,OAASX,EACjEoB,KAAM9E,EAAY8E,KAAOzB,EAAYY,MAAQ,GAG3Ce,EAAcL,EAAWI,SAAWJ,EAAWC,IACnD,MAAO,CACLE,KAHmBH,EAAWE,QAAUF,EAAWG,KAG5B9E,EAAY6E,MAAQxB,EAAYY,MAAQ9G,OAAO8H,YAAc,KAAOjF,EAAY8E,KAAO3H,OAAO8H,YAAc,KACnIL,IAAKI,EAAchF,EAAY4E,IAAMlB,EAASL,EAAYgB,OAASlH,OAAO+H,YAAc,KAAOlF,EAAY4E,IAAMlB,EAAS1D,EAAYqE,OAASlH,OAAO+H,YAAc,OA6DxK,SAAS5H,EAAKlE,GACZ,IAAI+L,EAcN,SAAoBC,EAAchM,GAChC,IAAIiM,EAAW7I,EAAMG,OAAOyI,EAAapN,OACrCsN,EAAYD,GAAYA,EAASvI,IAAMuI,EAASvI,GAAG1D,EAAMM,MAI7D,IAAK4L,EACH,OAAO7K,EAAS,GAAI2K,EAAc,CAChCG,SAAS,IAITF,GAAYA,EAAS7H,OACvB6H,EAAS7H,MAAM4H,EAAajH,QAAS/E,GAGvCA,EAAMM,KACF,IAAI8L,EAAUnK,EAA8BjC,EAAOiD,GAGnD8B,EAAU1D,EAAS,GAAIyD,EAAMC,QAASqH,GAEtCC,EAAsC,kBAAdH,EAAyBA,EAAYA,EAAU1K,OACvE8K,EAAUlJ,EAAMG,OAAO8I,GAEvBC,GAAWA,EAAQ9I,OACrB8I,EAAQ9I,MAAMwI,EAAajH,QAAS/E,GAGtC,MAAO,CACLpB,MAAOyN,EACPtH,QAASA,EACToH,SAAS,GA9COI,CAAWzH,EAAO9E,GAChCpB,EAAQmN,EAAYnN,MACpBmG,EAAUgH,EAAYhH,QACZgH,EAAYI,UAGxBrH,EAAQ,CACNlG,MAAOA,EACPmG,QAASA,GApdbE,EAAcuH,SAAQ,SAAUjF,GAC9B,OAAOA,EAAGzC,OA6fd,SAASyB,EAAiBvB,EAAI3B,GAC5B,OAAOyB,EAAMC,QAAQC,KAAOA,IAAO3B,EAAUyB,EAAMlG,QAAUgE,EAAckB,QAAUgB,EAAMlG,QAAUgE,EAAckB,SAAWgB,EAAMlG,QAAUgE,EAAc8B,gBAG/I2D,O,kCEvoBf,SAASH,IACP,IAAK,IAAIuE,EAAOhL,UAAUnD,OAAQoO,EAAO,IAAItO,MAAMqO,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,GAAQlL,UAAUkL,GAGzB,OAAOD,EAAKE,QAAO,SAAUC,GAC3B,OAAc,MAAPA,KACNC,KAAK,MAZV,mC,kCCAA,uDA0DIC,GAAwB,EACxB/H,EAAK,EAELgI,EAAQ,WACV,QAAShI,GAeX,SAASoB,EAAM6G,GAKb,IAAIC,EAAYD,IAAgBF,EAAwBC,IAAU,MAE9D3G,EAAkBC,mBAAS4G,GAC3BlI,EAAKqB,EAAgB,GACrB8G,EAAQ9G,EAAgB,GAwB5B,OAtBA9G,aAA0B,WACb,OAAPyF,GAOFmI,EAAMH,OAGP,IACHtN,qBAAU,YACsB,IAA1BqN,IAMFA,GAAwB,KAEzB,IACU,MAAN/H,EAAamB,OAAOnB,QAAMmD,I,kCC9GnC,6CAMA,SAASvH,IACP,IACIwM,EADY9G,mBAAShF,OAAO+L,OAAO,OACd,GAEzB,OAAOC,uBAAY,WACjBF,EAAS9L,OAAO+L,OAAO,SACtB,M,wECCL,E,OAbI1E,G,KAA2B,CAAC,SAAD,8BAA/B,UAYI4E,EAAgB,IAApB,IAGIC,EAAM,SAANA,IACH,IAAMC,EAAN,GACAF,WAAsB,cACrB,IATiBG,EAAD,EASZC,EAAUC,EAAd,wBATiBF,EAUDC,EAVA,EAUS7I,EAAzB,UAVgB,IAAC4I,MAAD,aAA6BG,MAA7B,IACjBlF,EAAA,MAAW,mBAAU+E,OAAYG,EAAtB,QAUT/I,SACA2I,cAIFA,WAAsB,YACrB3I,qBAAwB,mBAAQgJ,EAAGhJ,EAAX,YAGzBiJ,EAAQhK,6BAARgK,I,eAIAH,EACAE,GAEA,MAAO,CACNhH,QADM,WAEL,IAAIkH,EAAJ,IAAeT,OACXA,MAAJ,GACCA,2BAEAA,QAAwB,CACvBU,UADuB,EAEvBC,gBAFuB,EAGvBC,UAAW,CAACL,KAGd,GAAcN,KAGfY,UAfM,WAgBL,IAAItJ,EAAQyI,MAAZ,GACA,KAAW,CAEV,IAAMc,EAAQvJ,oBAAd,GACIuJ,GAAJ,GAAgBvJ,qBAHN,GAMLA,YAAL,QAA6ByI,EAAa,OANhC,GASLA,EAAL,MAAyBe,4B,mBCF7B,SAASzH,EAAQ0H,EAASC,EAAkBC,GAC1C,IAAI3H,EACA4H,EAKEC,EAHFC,YAAUJ,GACZ1H,EAAU0H,GAIV1H,EAAoG,OAAzF6H,EAA4C,MAApBH,OAA2B,EAASA,EAAiB1H,UAAmB6H,EAC3GD,EAA+B,MAApBF,OAA2B,EAASA,EAAiBE,UAG9DG,YAAWJ,KACbC,EAAWD,GAcb,IAAIpI,EAAkBC,mBAASiI,EAAQ1N,SACnC2J,EAAUnE,EAAgB,GAC1ByI,EAAazI,EAAgB,GAE7B0I,EAAmBtO,kBAAO,GAC1BuO,EAAkBvO,kBAAO,GAEzBwO,EAAmB3I,mBAAS,MAC5B2H,EAAOgB,EAAiB,GACxBC,EAAUD,EAAiB,GAE3BE,EAAc1O,iBAAOiO,GA+CzB,OA7CAnP,aAA0B,WACxB4P,EAAYtO,QAAU6N,EAElBH,EAAQ1N,UAAY2J,GACtBsE,EAAWP,EAAQ1N,YAGvBtB,aAA0B,WACpBiL,IAAYuE,EAAiBlO,UAC/BkO,EAAiBlO,SAAU,EAC3BqO,EAAQ1E,EAAQ4E,4BAEjB,CAAC5E,IACJjL,aAA0B,WACxB,GAAKuH,EAAL,CAIA,IAAIuI,EAAO7E,EAUX,GALKwE,EAAgBnO,UACnBmO,EAAgBnO,SAAU,EAC1BwO,EAAOd,EAAQ1N,SAGZwO,EAAL,CAQA,IAAIC,EAAWC,EAAYF,GAAM,SAAUpB,GAClB,MAAvBkB,EAAYtO,SAA2BsO,EAAYtO,QAAQoN,GAC3DiB,EAAQjB,MAGV,OADAqB,EAASxI,UACF,WACLwI,EAASlB,iBAEV,CAACtH,EAAS0D,EAAS+D,IACfN,I,kCClJT,0EASA,SAASuB,EAAQ7G,GACf,IAAIvI,EAAWuI,EAAMvI,SACjBqP,EAAY9G,EAAM8G,UAClBC,EAAW/G,EAAM+G,SACjBC,EAAUhH,EAAMgH,QAChBC,EAASjH,EAAMiH,OACfC,EAASlH,EAAMkH,OACfC,EAAanH,EAAMmH,WACnBC,EAAWpH,EAAMoH,SACjBC,EAAUrH,EAAMqH,QAChBC,EAAWtH,EAAMsH,SACjBC,EAAUC,YAAG,KAAMC,YAAWV,EAAU,YAAaU,YAAWR,EAAQ,UAAWQ,YAAWP,EAAQ,UAAWO,YAAWN,EAAY,cAAeM,YAAWL,EAAU,YAAaK,YAAWJ,EAAS,WAAYI,YAAWH,EAAU,YAAa,UAAWR,GACtQY,EAAOC,YAAkBd,EAAS7G,GAClC4H,EAAcC,YAAehB,EAAS7G,GAC1C,OAAoB8H,IAAMzP,cAAcuP,EAAalP,YAAS,GAAIgP,EAAM,CACtEZ,UAAWS,IACTQ,IAAcC,MAAMvQ,GAAYuP,EAAUvP,GAGhDoP,EAAQoB,aAAe,CAAC,KAAM,WAAY,YAAa,WAAY,UAAW,SAAU,SAAU,aAAc,WAAY,UAAW,YACvIpB,EAAQqB,UAiCJ,GACWrB","file":"static/js/1.fb83a8a6.chunk.js","sourcesContent":["import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { useRef, useEffect } from 'react';\n\n/* eslint-disable react-hooks/rules-of-hooks */\nvar checkedPkgs = {};\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nfunction useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n var debugRef = useRef(DEBUG);\n useEffect(function () {\n debugRef.current = DEBUG;\n }, [DEBUG]);\n useEffect(function () {\n if (debugRef.current) {\n console.group(\"State Updated\");\n console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n console.groupEnd();\n }\n }, [state]);\n }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nfunction checkStyles(packageName) {\n if (process.env.NODE_ENV !== \"production\") {\n // In CJS files, process.env.NODE_ENV is stripped from our build, but we\n // need it to prevent style checks from clogging up user logs while testing.\n // This is a workaround until we can tweak the build a bit to accommodate.\n var _ref = typeof process !== \"undefined\" ? process.env : {\n NODE_ENV: \"development\"\n },\n environment = _ref.NODE_ENV; // only check once per package\n\n\n if (checkedPkgs[packageName]) return;\n checkedPkgs[packageName] = true;\n\n if (environment === \"development\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n \\n import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n \\n Otherwise you'll need to include them some other way:\\n \\n \\n \\n For more information visit https://ui.reach.tech/styling.\\n \");\n }\n }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example useCheckStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nfunction useCheckStyles(packageName) {\n if (process.env.NODE_ENV !== \"production\") {\n var name = useRef(packageName);\n useEffect(function () {\n return void (name.current = packageName);\n }, [packageName]);\n useEffect(function () {\n return checkStyles(name.current);\n }, []);\n }\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nfunction useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n if (process.env.NODE_ENV !== \"production\") {\n var controlledRef = useRef(controlledValue != null);\n var nameCache = useRef({\n componentName: componentName,\n controlledPropName: controlledPropName\n });\n useEffect(function () {\n nameCache.current = {\n componentName: componentName,\n controlledPropName: controlledPropName\n };\n }, [componentName, controlledPropName]);\n useEffect(function () {\n var wasControlled = controlledRef.current;\n var _nameCache$current = nameCache.current,\n componentName = _nameCache$current.componentName,\n controlledPropName = _nameCache$current.controlledPropName;\n var isControlled = controlledValue != null;\n\n if (wasControlled !== isControlled) {\n console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\n More info: https://fb.me/react-controlled-components\");\n }\n }, [controlledValue]);\n }\n}\n\nexport { checkStyles, useCheckStyles, useControlledSwitchWarning, useStateLogger };\n","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import { useRef, useEffect, createElement } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { createPortal } from 'react-dom';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"reach-portal\" : _ref$type,\n containerRef = _ref.containerRef;\n var mountNode = useRef(null);\n var portalNode = useRef(null);\n var forceUpdate = useForceUpdate();\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n if (containerRef != null) {\n process.env.NODE_ENV !== \"production\" ? warning(typeof containerRef === \"object\" && \"current\" in containerRef, \"@reach/portal: Invalid value passed to the `containerRef` of a \" + \"`Portal`. The portal will be appended to the document body, but if \" + \"you want to attach it to another DOM node you must pass a valid \" + \"React ref object to `containerRef`.\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(containerRef ? containerRef.current != null : true, \"@reach/portal: A ref was passed to the `containerRef` prop of a \" + \"`Portal`, but no DOM node was attached to it. Be sure to pass the \" + \"ref to a DOM component.\\n\\nIf you are forwarding the ref from \" + \"another component, be sure to use the React.forwardRef API. \" + \"See https://reactjs.org/docs/forwarding-refs.html.\") : void 0;\n }\n }, [containerRef]);\n }\n\n useIsomorphicLayoutEffect(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It's possible that the content of the portal has, itself, been portaled.\n // In that case, it's important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n var body = (containerRef == null ? void 0 : containerRef.current) || ownerDocument.body;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && body) {\n body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate, containerRef]);\n return portalNode.current ? /*#__PURE__*/createPortal(children, portalNode.current) : /*#__PURE__*/createElement(\"span\", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Portal;\nexport { Portal };\n","import { useState, useRef, useEffect, forwardRef, Children, createElement, Fragment, cloneElement } from 'react';\nimport { useId } from '@reach/auto-id';\nimport { getDocumentDimensions } from '@reach/utils/get-document-dimensions';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\nimport { makeId } from '@reach/utils/make-id';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { Portal } from '@reach/portal';\nimport { VisuallyHidden } from '@reach/visually-hidden';\nimport { useRect } from '@reach/rect';\nimport warning from 'tiny-warning';\nimport PropTypes from 'prop-types';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"children\", \"label\", \"ariaLabel\", \"id\", \"DEBUG_STYLE\"],\n _excluded2 = [\"label\", \"ariaLabel\", \"isVisible\", \"id\"],\n _excluded3 = [\"ariaLabel\", \"aria-label\", \"as\", \"id\", \"isVisible\", \"label\", \"position\", \"style\", \"triggerRect\"],\n _excluded4 = [\"type\"];\n\nvar _on, _on2, _on3, _on4, _on5, _states;\nvar MOUSE_REST_TIMEOUT = 100;\nvar LEAVE_TIMEOUT = 500; ////////////////////////////////////////////////////////////////////////////////\n// States\n\nvar TooltipStates; ////////////////////////////////////////////////////////////////////////////////\n// Events\n\n(function (TooltipStates) {\n TooltipStates[\"Idle\"] = \"IDLE\";\n TooltipStates[\"Focused\"] = \"FOCUSED\";\n TooltipStates[\"Visible\"] = \"VISIBLE\";\n TooltipStates[\"LeavingVisible\"] = \"LEAVING_VISIBLE\";\n TooltipStates[\"Dismissed\"] = \"DISMISSED\";\n})(TooltipStates || (TooltipStates = {}));\n\nvar TooltipEvents;\n\n(function (TooltipEvents) {\n TooltipEvents[\"Blur\"] = \"BLUR\";\n TooltipEvents[\"Focus\"] = \"FOCUS\";\n TooltipEvents[\"GlobalMouseMove\"] = \"GLOBAL_MOUSE_MOVE\";\n TooltipEvents[\"MouseDown\"] = \"MOUSE_DOWN\";\n TooltipEvents[\"MouseEnter\"] = \"MOUSE_ENTER\";\n TooltipEvents[\"MouseLeave\"] = \"MOUSE_LEAVE\";\n TooltipEvents[\"MouseMove\"] = \"MOUSE_MOVE\";\n TooltipEvents[\"Rest\"] = \"REST\";\n TooltipEvents[\"SelectWithKeyboard\"] = \"SELECT_WITH_KEYBOARD\";\n TooltipEvents[\"TimeComplete\"] = \"TIME_COMPLETE\";\n})(TooltipEvents || (TooltipEvents = {}));\n\nvar chart = {\n initial: TooltipStates.Idle,\n states: (_states = {}, _states[TooltipStates.Idle] = {\n enter: clearContextId,\n on: (_on = {}, _on[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on[TooltipEvents.Focus] = TooltipStates.Visible, _on)\n }, _states[TooltipStates.Focused] = {\n enter: startRestTimer,\n leave: clearRestTimer,\n on: (_on2 = {}, _on2[TooltipEvents.MouseMove] = TooltipStates.Focused, _on2[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on2[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on2[TooltipEvents.Blur] = TooltipStates.Idle, _on2[TooltipEvents.Rest] = TooltipStates.Visible, _on2)\n }, _states[TooltipStates.Visible] = {\n on: (_on3 = {}, _on3[TooltipEvents.Focus] = TooltipStates.Focused, _on3[TooltipEvents.MouseEnter] = TooltipStates.Focused, _on3[TooltipEvents.MouseLeave] = TooltipStates.LeavingVisible, _on3[TooltipEvents.Blur] = TooltipStates.LeavingVisible, _on3[TooltipEvents.MouseDown] = TooltipStates.Dismissed, _on3[TooltipEvents.SelectWithKeyboard] = TooltipStates.Dismissed, _on3[TooltipEvents.GlobalMouseMove] = TooltipStates.LeavingVisible, _on3)\n }, _states[TooltipStates.LeavingVisible] = {\n enter: startLeavingVisibleTimer,\n leave: function leave() {\n clearLeavingVisibleTimer();\n clearContextId();\n },\n on: (_on4 = {}, _on4[TooltipEvents.MouseEnter] = TooltipStates.Visible, _on4[TooltipEvents.Focus] = TooltipStates.Visible, _on4[TooltipEvents.TimeComplete] = TooltipStates.Idle, _on4)\n }, _states[TooltipStates.Dismissed] = {\n leave: function leave() {\n clearContextId();\n },\n on: (_on5 = {}, _on5[TooltipEvents.MouseLeave] = TooltipStates.Idle, _on5[TooltipEvents.Blur] = TooltipStates.Idle, _on5)\n }, _states)\n};\n/*\n * Chart context allows us to persist some data around, in Tooltip all we use\n * is the id of the current tooltip being interacted with.\n */\n\nvar state = {\n value: chart.initial,\n context: {\n id: null\n }\n}; ////////////////////////////////////////////////////////////////////////////////\n// Subscriptions:\n//\n// We could require apps to render a around the app and use\n// React context to notify Tooltips of changes to our state machine, instead\n// we manage subscriptions ourselves and simplify the Tooltip API.\n//\n// Maybe if default context could take a hook (instead of just a static value)\n// that was rendered at the root for us, that'd be cool! But it doesn't.\n\nvar subscriptions = [];\n\nfunction subscribe(fn) {\n subscriptions.push(fn);\n return function () {\n subscriptions.splice(subscriptions.indexOf(fn), 1);\n };\n}\n\nfunction notify() {\n subscriptions.forEach(function (fn) {\n return fn(state);\n });\n} ////////////////////////////////////////////////////////////////////////////////\n// Timeouts:\n// Manages when the user \"rests\" on an element. Keeps the interface from being\n// flashing tooltips all the time as the user moves the mouse around the screen.\n\n\nvar restTimeout;\n\nfunction startRestTimer() {\n window.clearTimeout(restTimeout);\n restTimeout = window.setTimeout(function () {\n send({\n type: TooltipEvents.Rest\n });\n }, MOUSE_REST_TIMEOUT);\n}\n\nfunction clearRestTimer() {\n window.clearTimeout(restTimeout);\n} // Manages the delay to hide the tooltip after rest leaves.\n\n\nvar leavingVisibleTimer;\n\nfunction startLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n leavingVisibleTimer = window.setTimeout(function () {\n return send({\n type: TooltipEvents.TimeComplete\n });\n }, LEAVE_TIMEOUT);\n}\n\nfunction clearLeavingVisibleTimer() {\n window.clearTimeout(leavingVisibleTimer);\n} // allows us to come on back later w/o entering something else first after the\n// user leaves or dismisses\n\n\nfunction clearContextId() {\n state.context.id = null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * useTooltip\n *\n * @param params\n */\n\n\nfunction useTooltip(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n idProp = _ref.id,\n onPointerEnter = _ref.onPointerEnter,\n onPointerMove = _ref.onPointerMove,\n onPointerLeave = _ref.onPointerLeave,\n onPointerDown = _ref.onPointerDown,\n onMouseEnter = _ref.onMouseEnter,\n onMouseMove = _ref.onMouseMove,\n onMouseLeave = _ref.onMouseLeave,\n onMouseDown = _ref.onMouseDown,\n onFocus = _ref.onFocus,\n onBlur = _ref.onBlur,\n onKeyDown = _ref.onKeyDown,\n disabled = _ref.disabled,\n forwardedRef = _ref.ref,\n DEBUG_STYLE = _ref.DEBUG_STYLE;\n\n var id = String(useId(idProp));\n\n var _React$useState = useState(DEBUG_STYLE ? true : isTooltipVisible(id, true)),\n isVisible = _React$useState[0],\n setIsVisible = _React$useState[1]; // hopefully they always pass a ref if they ever pass one\n\n\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var triggerRect = useRect(ownRef, {\n observe: isVisible\n });\n useEffect(function () {\n return subscribe(function () {\n setIsVisible(isTooltipVisible(id));\n });\n }, [id]);\n useCheckStyles(\"tooltip\");\n useEffect(function () {\n var ownerDocument = getOwnerDocument(ownRef.current);\n\n function listener(event) {\n if ((event.key === \"Escape\" || event.key === \"Esc\") && state.value === TooltipStates.Visible) {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n ownerDocument.addEventListener(\"keydown\", listener);\n return function () {\n return ownerDocument.removeEventListener(\"keydown\", listener);\n };\n }, []);\n useDisabledTriggerOnSafari({\n disabled: disabled,\n isVisible: isVisible,\n ref: ownRef\n });\n\n function wrapMouseEvent(theirHandler, ourHandler) {\n // Use internal MouseEvent handler only if PointerEvent is not supported\n if (typeof window !== \"undefined\" && \"PointerEvent\" in window) {\n return theirHandler;\n }\n\n return composeEventHandlers(theirHandler, ourHandler);\n }\n\n function wrapPointerEventHandler(handler) {\n return function onPointerEvent(event) {\n // Handle pointer events only from mouse device\n if (event.pointerType !== \"mouse\") {\n return;\n }\n\n handler(event);\n };\n }\n\n function handleMouseEnter() {\n send({\n type: TooltipEvents.MouseEnter,\n id: id\n });\n }\n\n function handleMouseMove() {\n send({\n type: TooltipEvents.MouseMove,\n id: id\n });\n }\n\n function handleMouseLeave() {\n send({\n type: TooltipEvents.MouseLeave\n });\n }\n\n function handleMouseDown() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.MouseDown\n });\n }\n }\n\n function handleFocus() {\n // @ts-ignore\n if (window.__REACH_DISABLE_TOOLTIPS) {\n return;\n }\n\n send({\n type: TooltipEvents.Focus,\n id: id\n });\n }\n\n function handleBlur() {\n // Allow quick click from one tool to another\n if (state.context.id === id) {\n send({\n type: TooltipEvents.Blur\n });\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n send({\n type: TooltipEvents.SelectWithKeyboard\n });\n }\n }\n\n var trigger = {\n // The element that triggers the tooltip references the tooltip element with\n // `aria-describedby`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip\n \"aria-describedby\": isVisible ? makeId(\"tooltip\", id) : undefined,\n \"data-state\": isVisible ? \"tooltip-visible\" : \"tooltip-hidden\",\n \"data-reach-tooltip-trigger\": \"\",\n ref: ref,\n onPointerEnter: composeEventHandlers(onPointerEnter, wrapPointerEventHandler(handleMouseEnter)),\n onPointerMove: composeEventHandlers(onPointerMove, wrapPointerEventHandler(handleMouseMove)),\n onPointerLeave: composeEventHandlers(onPointerLeave, wrapPointerEventHandler(handleMouseLeave)),\n onPointerDown: composeEventHandlers(onPointerDown, wrapPointerEventHandler(handleMouseDown)),\n onMouseEnter: wrapMouseEvent(onMouseEnter, handleMouseEnter),\n onMouseMove: wrapMouseEvent(onMouseMove, handleMouseMove),\n onMouseLeave: wrapMouseEvent(onMouseLeave, handleMouseLeave),\n onMouseDown: wrapMouseEvent(onMouseDown, handleMouseDown),\n onFocus: composeEventHandlers(onFocus, handleFocus),\n onBlur: composeEventHandlers(onBlur, handleBlur),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown)\n };\n var tooltip = {\n id: id,\n triggerRect: triggerRect,\n isVisible: isVisible\n };\n return [trigger, tooltip, isVisible];\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tooltip\n *\n * @see Docs https://reach.tech/tooltip#tooltip\n */\n\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref2, forwardedRef) {\n var children = _ref2.children,\n label = _ref2.label,\n DEPRECATED_ariaLabel = _ref2.ariaLabel,\n id = _ref2.id,\n DEBUG_STYLE = _ref2.DEBUG_STYLE,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var child = Children.only(children);\n process.env.NODE_ENV !== \"production\" ? warning(!DEPRECATED_ariaLabel, \"The `ariaLabel prop is deprecated and will be removed from @reach/tooltip in a future version of Reach UI. Please use `aria-label` instead.\") : void 0; // We need to pass some properties from the child into useTooltip\n // to make sure users can maintain control over the trigger's ref and events\n\n var _useTooltip = useTooltip({\n id: id,\n onPointerEnter: child.props.onPointerEnter,\n onPointerMove: child.props.onPointerMove,\n onPointerLeave: child.props.onPointerLeave,\n onPointerDown: child.props.onPointerDown,\n onMouseEnter: child.props.onMouseEnter,\n onMouseMove: child.props.onMouseMove,\n onMouseLeave: child.props.onMouseLeave,\n onMouseDown: child.props.onMouseDown,\n onFocus: child.props.onFocus,\n onBlur: child.props.onBlur,\n onKeyDown: child.props.onKeyDown,\n disabled: child.props.disabled,\n ref: child.ref,\n DEBUG_STYLE: DEBUG_STYLE\n }),\n trigger = _useTooltip[0],\n tooltip = _useTooltip[1];\n\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/cloneElement(child, trigger), /*#__PURE__*/createElement(TooltipPopup, _extends({\n ref: forwardedRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel\n }, tooltip, props)));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Tooltip.displayName = \"Tooltip\";\n Tooltip.propTypes = {\n children: PropTypes.node.isRequired,\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TooltipPopup\n *\n * @see Docs https://reach.tech/tooltip#tooltippopup\n */\n\n\nvar TooltipPopup = /*#__PURE__*/forwardRef(function TooltipPopup(_ref3, forwardRef) {\n var label = _ref3.label,\n DEPRECATED_ariaLabel = _ref3.ariaLabel,\n isVisible = _ref3.isVisible,\n id = _ref3.id,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded2);\n\n return isVisible ? /*#__PURE__*/createElement(Portal, null, /*#__PURE__*/createElement(TooltipContent, _extends({\n ref: forwardRef,\n label: label,\n \"aria-label\": DEPRECATED_ariaLabel,\n isVisible: isVisible\n }, props, {\n id: makeId(\"tooltip\", String(id))\n }))) : null;\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipPopup.displayName = \"TooltipPopup\";\n TooltipPopup.propTypes = {\n label: PropTypes.node.isRequired,\n ariaLabel: PropTypes.string,\n position: PropTypes.func\n };\n}\n/**\n * TooltipContent\n *\n * We need a separate component so that useRect works inside the portal.\n *\n * @see Docs https://reach.tech/tooltip#tooltipcontent\n */\n\n\nvar TooltipContent = /*#__PURE__*/forwardRef(function TooltipContent(_ref4, forwardedRef) {\n var ariaLabel = _ref4.ariaLabel,\n realAriaLabel = _ref4[\"aria-label\"],\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n id = _ref4.id,\n isVisible = _ref4.isVisible,\n label = _ref4.label,\n _ref4$position = _ref4.position,\n position = _ref4$position === void 0 ? positionTooltip : _ref4$position,\n style = _ref4.style,\n triggerRect = _ref4.triggerRect,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded3);\n\n // The element that serves as the tooltip container has role tooltip.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tooltip When an app passes\n // an `aria-label`, we actually want to implement `role=\"tooltip\"` on a\n // visually hidden element inside of the trigger. In these cases we want the\n // screen reader user to know both the content in the tooltip, but also the\n // content in the badge. For screen reader users, the only content announced\n // to them is whatever is in the tooltip.\n var hasAriaLabel = (realAriaLabel || ariaLabel) != null;\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var tooltipRect = useRect(ownRef, {\n observe: isVisible\n });\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Comp, _extends({\n role: hasAriaLabel ? undefined : \"tooltip\"\n }, props, {\n ref: ref,\n \"data-reach-tooltip\": \"\",\n id: hasAriaLabel ? undefined : id,\n style: _extends({}, style, getStyles(position, triggerRect, tooltipRect))\n }), label), hasAriaLabel && /*#__PURE__*/createElement(VisuallyHidden, {\n role: \"tooltip\",\n id: id\n }, realAriaLabel || ariaLabel));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TooltipContent.displayName = \"TooltipContent\";\n TooltipContent.propTypes = {};\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction getStyles(position, triggerRect, tooltipRect) {\n var haventMeasuredTooltipYet = !tooltipRect;\n\n if (haventMeasuredTooltipYet) {\n return {\n visibility: \"hidden\"\n };\n }\n\n return position(triggerRect, tooltipRect);\n} // Default offset from the trigger (e.g., if the tooltip is positioned above,\n// there will be 8px between the bottom of the tooltip and the top of the trigger).\n// It feels awkward when it's perfectly aligned w/ the trigger\n\n\nvar OFFSET_DEFAULT = 8;\nvar positionTooltip = function positionTooltip(triggerRect, tooltipRect, offset) {\n if (offset === void 0) {\n offset = OFFSET_DEFAULT;\n }\n\n var _getDocumentDimension = getDocumentDimensions(),\n windowWidth = _getDocumentDimension.width,\n windowHeight = _getDocumentDimension.height;\n\n if (!triggerRect || !tooltipRect) {\n return {};\n }\n\n var collisions = {\n top: triggerRect.top - tooltipRect.height < 0,\n right: windowWidth < triggerRect.left + tooltipRect.width,\n bottom: windowHeight < triggerRect.bottom + tooltipRect.height + offset,\n left: triggerRect.left - tooltipRect.width < 0\n };\n var directionRight = collisions.right && !collisions.left;\n var directionUp = collisions.bottom && !collisions.top;\n return {\n left: directionRight ? triggerRect.right - tooltipRect.width + window.pageXOffset + \"px\" : triggerRect.left + window.pageXOffset + \"px\",\n top: directionUp ? triggerRect.top - offset - tooltipRect.height + window.pageYOffset + \"px\" : triggerRect.top + offset + triggerRect.height + window.pageYOffset + \"px\"\n };\n};\n/**\n * This is a workaround for using tooltips with disabled controls in Safari.\n * Safari fires `pointerenter` but does not fire `pointerleave`, and\n * `onPointerEventLeave` added to the trigger element will not work.\n *\n * TODO: We may remove or modiify this behavior in a future version. Direction\n * from WAI-ARIA needed for guidance on handling disabled triggers. Tooltips\n * must be accessible by keyboard, and disabled form controls are generally\n * excluded from the tab sequence.\n *\n * @see https://github.com/reach/reach-ui/issues/564\n * @see https://github.com/w3c/aria-practices/issues/128#issuecomment-588625727\n */\n\nfunction useDisabledTriggerOnSafari(_ref5) {\n var disabled = _ref5.disabled,\n isVisible = _ref5.isVisible,\n ref = _ref5.ref;\n useEffect(function () {\n if (!(typeof window !== \"undefined\" && \"PointerEvent\" in window) || !disabled || !isVisible) {\n return;\n }\n\n var ownerDocument = getOwnerDocument(ref.current);\n\n function handleMouseMove(event) {\n if (!isVisible) {\n return;\n }\n\n if (event.target instanceof Element && event.target.closest(\"[data-reach-tooltip-trigger][data-state='tooltip-visible']\")) {\n return;\n }\n\n send({\n type: TooltipEvents.GlobalMouseMove\n });\n }\n\n ownerDocument.addEventListener(\"mousemove\", handleMouseMove);\n return function () {\n ownerDocument.removeEventListener(\"mousemove\", handleMouseMove);\n };\n }, [disabled, isVisible, ref]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Send an event to our state machine to find the next state from the current\n * state + action.\n *\n * It also manages lifecycles of the machine, (enter/leave hooks on the state\n * chart)\n *\n * @param event\n * @param payload\n */\n\n\nfunction send(event) {\n var _transition = transition(state, event),\n value = _transition.value,\n context = _transition.context,\n changed = _transition.changed;\n\n if (changed) {\n state = {\n value: value,\n context: context\n };\n notify();\n }\n}\n\nfunction transition(currentState, event) {\n var stateDef = chart.states[currentState.value];\n var nextState = stateDef && stateDef.on && stateDef.on[event.type]; // Really useful for debugging\n // console.log({ event, state, nextState, contextId: context.id });\n // !nextState && console.log(\"no transition taken\");\n\n if (!nextState) {\n return _extends({}, currentState, {\n changed: false\n });\n }\n\n if (stateDef && stateDef.leave) {\n stateDef.leave(currentState.context, event);\n }\n\n event.type;\n var payload = _objectWithoutPropertiesLoose(event, _excluded4); // TODO: Use actions instead of directly setting context\n\n\n var context = _extends({}, state.context, payload);\n\n var nextStateValue = typeof nextState === \"string\" ? nextState : nextState.target;\n var nextDef = chart.states[nextStateValue];\n\n if (nextDef && nextDef.enter) {\n nextDef.enter(currentState.context, event);\n }\n\n return {\n value: nextStateValue,\n context: context,\n changed: true\n };\n}\n\nfunction isTooltipVisible(id, initial) {\n return state.context.id === id && (initial ? state.value === TooltipStates.Visible : state.value === TooltipStates.Visible || state.value === TooltipStates.LeavingVisible);\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport default Tooltip;\nexport { LEAVE_TIMEOUT, MOUSE_REST_TIMEOUT, Tooltip, TooltipPopup, positionTooltip, useTooltip };\n","import { getOwnerDocument } from '../../owner-document/dist/reach-utils-owner-document.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get the size of the working document minus the scrollbar offset.\n *\n * @param element\n */\n\nfunction getDocumentDimensions(element) {\n var _ownerDocument$docume, _ownerDocument$docume2;\n\n var ownerDocument = getOwnerDocument(element);\n var ownerWindow = ownerDocument.defaultView || window;\n\n if (!ownerDocument) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: (_ownerDocument$docume = ownerDocument.documentElement.clientWidth) != null ? _ownerDocument$docume : ownerWindow.innerWidth,\n height: (_ownerDocument$docume2 = ownerDocument.documentElement.clientHeight) != null ? _ownerDocument$docume2 : ownerWindow.innerHeight\n };\n}\n\nexport { getDocumentDimensions };\n","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n\nexport { makeId };\n","import { useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibility APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn't part of the initial render, we don't have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it'll make the first render slower (unlikely\n * to matter, but you're welcome to measure your app and let us know if\n * it's a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\nexport { useId };\n","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };\n","let props: (keyof DOMRect)[] = [\n\t\"bottom\",\n\t\"height\",\n\t\"left\",\n\t\"right\",\n\t\"top\",\n\t\"width\",\n];\n\nlet rectChanged = (a: DOMRect = {} as DOMRect, b: DOMRect = {} as DOMRect) =>\n\tprops.some((prop) => a[prop] !== b[prop]);\n\nlet observedNodes = new Map();\nlet rafId: number;\n\nlet run = () => {\n\tconst changedStates: RectProps[] = [];\n\tobservedNodes.forEach((state, node) => {\n\t\tlet newRect = node.getBoundingClientRect();\n\t\tif (rectChanged(newRect, state.rect)) {\n\t\t\tstate.rect = newRect;\n\t\t\tchangedStates.push(state);\n\t\t}\n\t});\n\n\tchangedStates.forEach((state) => {\n\t\tstate.callbacks.forEach((cb) => cb(state.rect));\n\t});\n\n\trafId = window.requestAnimationFrame(run);\n};\n\nexport default function observeRect(\n\tnode: Element,\n\tcb: (rect: DOMRect) => void\n) {\n\treturn {\n\t\tobserve() {\n\t\t\tlet wasEmpty = observedNodes.size === 0;\n\t\t\tif (observedNodes.has(node)) {\n\t\t\t\tobservedNodes.get(node)!.callbacks.push(cb);\n\t\t\t} else {\n\t\t\t\tobservedNodes.set(node, {\n\t\t\t\t\trect: undefined,\n\t\t\t\t\thasRectChanged: false,\n\t\t\t\t\tcallbacks: [cb],\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (wasEmpty) run();\n\t\t},\n\n\t\tunobserve() {\n\t\t\tlet state = observedNodes.get(node);\n\t\t\tif (state) {\n\t\t\t\t// Remove the callback\n\t\t\t\tconst index = state.callbacks.indexOf(cb);\n\t\t\t\tif (index >= 0) state.callbacks.splice(index, 1);\n\n\t\t\t\t// Remove the node reference\n\t\t\t\tif (!state.callbacks.length) observedNodes.delete(node);\n\n\t\t\t\t// Stop the loop\n\t\t\t\tif (!observedNodes.size) cancelAnimationFrame(rafId);\n\t\t\t}\n\t\t},\n\t};\n}\n\nexport type PartialRect = Partial;\n\nexport type RectProps = {\n\trect: DOMRect | undefined;\n\thasRectChanged: boolean;\n\tcallbacks: Function[];\n};\n","import { useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport observeRect from '@reach/observe-rect';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { isBoolean, isFunction } from '@reach/utils/type-check';\nimport warning from 'tiny-warning';\n\n/**\n * Welcome to @reach/rect!\n *\n * Measures DOM elements (aka. bounding client rect).\n *\n * @see getBoundingClientRect https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect\n * @see Docs https://reach.tech/rect\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/rect\n */\n\n/**\n * Rect\n *\n * @param props\n */\n\nvar Rect = function Rect(_ref) {\n var onChange = _ref.onChange,\n _ref$observe = _ref.observe,\n observe = _ref$observe === void 0 ? true : _ref$observe,\n children = _ref.children;\n var ref = useRef(null);\n var rect = useRect(ref, {\n observe: observe,\n onChange: onChange\n });\n return children({\n ref: ref,\n rect: rect\n });\n};\n/**\n * @see Docs https://reach.tech/rect#rect-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Rect.displayName = \"Rect\";\n Rect.propTypes = {\n children: PropTypes.func.isRequired,\n observe: PropTypes.bool,\n onChange: PropTypes.func\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\n/**\n * useRect\n *\n * @param nodeRef\n * @param observe\n * @param onChange\n */\nfunction useRect(nodeRef, observeOrOptions, deprecated_onChange) {\n var observe;\n var onChange;\n\n if (isBoolean(observeOrOptions)) {\n observe = observeOrOptions;\n } else {\n var _observeOrOptions$obs;\n\n observe = (_observeOrOptions$obs = observeOrOptions == null ? void 0 : observeOrOptions.observe) != null ? _observeOrOptions$obs : true;\n onChange = observeOrOptions == null ? void 0 : observeOrOptions.onChange;\n }\n\n if (isFunction(deprecated_onChange)) {\n onChange = deprecated_onChange;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isBoolean(observeOrOptions), \"Passing `observe` as the second argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `observe` property as the second argument (`useRect(ref, { observe })`).\\n\" + \"See https://reach.tech/rect#userect-observe\") : void 0;\n }, [observeOrOptions]); // eslint-disable-next-line react-hooks/rules-of-hooks\n\n useEffect(function () {\n process.env.NODE_ENV !== \"production\" ? warning(!isFunction(deprecated_onChange), \"Passing `onChange` as the third argument to `useRect` is deprecated and will be removed in a future version of Reach UI. Instead, you can pass an object of options with an `onChange` property as the second argument (`useRect(ref, { onChange })`).\\n\" + \"See https://reach.tech/rect#userect-onchange\") : void 0;\n }, [deprecated_onChange]);\n }\n\n var _React$useState = useState(nodeRef.current),\n element = _React$useState[0],\n setElement = _React$useState[1];\n\n var initialRectIsSet = useRef(false);\n var initialRefIsSet = useRef(false);\n\n var _React$useState2 = useState(null),\n rect = _React$useState2[0],\n setRect = _React$useState2[1];\n\n var onChangeRef = useRef(onChange); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n useIsomorphicLayoutEffect(function () {\n onChangeRef.current = onChange;\n\n if (nodeRef.current !== element) {\n setElement(nodeRef.current);\n }\n });\n useIsomorphicLayoutEffect(function () {\n if (element && !initialRectIsSet.current) {\n initialRectIsSet.current = true;\n setRect(element.getBoundingClientRect());\n }\n }, [element]);\n useIsomorphicLayoutEffect(function () {\n if (!observe) {\n return;\n }\n\n var elem = element; // State initializes before refs are placed, meaning the element state will\n // be undefined on the first render. We still want the rect on the first\n // render, so initially we'll use the nodeRef that was passed instead of\n // state for our measurements.\n\n if (!initialRefIsSet.current) {\n initialRefIsSet.current = true;\n elem = nodeRef.current;\n }\n\n if (!elem) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"You need to place the ref\");\n }\n\n return;\n }\n\n var observer = observeRect(elem, function (rect) {\n onChangeRef.current == null ? void 0 : onChangeRef.current(rect);\n setRect(rect);\n });\n observer.observe();\n return function () {\n observer.unobserve();\n };\n }, [observe, element, nodeRef]);\n return rect;\n}\n\nexport default Rect;\nexport { Rect, useRect };\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A divider visually segments content into groups.\n */\n\nfunction Divider(props) {\n var children = props.children,\n className = props.className,\n clearing = props.clearing,\n content = props.content,\n fitted = props.fitted,\n hidden = props.hidden,\n horizontal = props.horizontal,\n inverted = props.inverted,\n section = props.section,\n vertical = props.vertical;\n var classes = cx('ui', useKeyOnly(clearing, 'clearing'), useKeyOnly(fitted, 'fitted'), useKeyOnly(hidden, 'hidden'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(section, 'section'), useKeyOnly(vertical, 'vertical'), 'divider', className);\n var rest = getUnhandledProps(Divider, props);\n var ElementType = getElementType(Divider, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDivider.handledProps = [\"as\", \"children\", \"className\", \"clearing\", \"content\", \"fitted\", \"hidden\", \"horizontal\", \"inverted\", \"section\", \"vertical\"];\nDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Divider can clear the content above it. */\n clearing: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Divider can be fitted without any space above or below it. */\n fitted: PropTypes.bool,\n\n /** Divider can divide content without creating a dividing line. */\n hidden: PropTypes.bool,\n\n /** Divider can segment content horizontally. */\n horizontal: PropTypes.bool,\n\n /** Divider can have its colours inverted. */\n inverted: PropTypes.bool,\n\n /** Divider can provide greater margins to divide sections of content. */\n section: PropTypes.bool,\n\n /** Divider can segment content vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Divider;"],"sourceRoot":""}