{"version":3,"mappings":"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","names":["_extends","n","t","reservedModifierKeywords","mappedKeys","mapKey","key","isHotkeyModifier","parseKeysHookInput","keys","splitKey","parseHotkey","hotkey","combinationKey","description","k","modifiers","singleCharKeys","e","pushToCurrentlyPressedKeys","removeFromCurrentlyPressedKeys","currentlyPressedKeys","isReadonlyArray","value","isHotkeyPressed","hotkeyArray","maybePreventDefault","preventDefault","isHotkeyEnabled","enabled","isKeyboardEventTriggeredByInput","ev","isHotkeyEnabledOnTag","event","enabledOnTags","target","composed","targetTagName","isCustomElement","tag","_targetTagName","element","isScopeActive","activeScopes","scopes","scope","isHotkeyMatchingKeyboardEvent","ignoreModifiers","alt","meta","mod","shift","ctrl","pressedKeyUppercase","code","ctrlKey","metaKey","shiftKey","altKey","keyCode","pressedKey","BoundHotkeysProxyProvider","createContext","useBoundHotkeysProxy","useContext","deepEqual","x","y","isEqual","HotkeysContext","useHotkeysContext","useDeepEqualMemo","ref","useRef","stopPropagation","useSafeLayoutEffect","useLayoutEffect","useEffect","useHotkeys","callback","options","dependencies","_useState","useState","setRef","hasTriggeredRef","_options","_keys","_deps","memoisedCB","useCallback","cbRef","memoisedOptions","_useHotkeysContext","enabledScopes","proxy","listener","isKeyUp","_e$target","rootNode","_hotkey$keys","handleKeyDown","handleKeyUp","domNode","root","factory","module","this","global","Toastify","version","divElement","property","avatarElement","closeElement","width","self","getAxisOffsetAValue","xOffset","yOffset","rootElement","elementToInsert","toastElement","topLeftOffsetSize","topRightOffsetSize","offsetSize","allToasts","classUsed","i","containsClass","height","offset","axis","elem","yourClass","window","_showToast","showToast","props","text","onClick","delay","rest","toast","className","destination","gravity","position","setTimeout","useInterval","fn","deps","immediate","savedCallback","current","id","setInterval","tick","clearInterval","openCompose","opts","url","URL","parse","location","screenWidth","screenHeight","screen","left","Math","max","top","min","winUID","uid","random","newWin","open","__COMPOSE__","alert","_i18n","_","isSafari","test","navigator","userAgent","openOSK","fauxEl","document","createElement","style","opacity","body","appendChild","focus","removeChild","ICONS","__vitePreload","heart","bookmark","check-circle","x-circle","transfer","rocket","rtl","arrow-up","arrow-down","earth","lock","unlock","eye-close","eye-open","message","comment","comment2","home","notification","follow","follow-add","poll","pencil","quill","at","attachment","upload","gear","more","more2","external","popout","popin","rotate","plus","chevron-down","reply","flip","thread","group","bot","menu","list","search","hashtag","info","shortcut","user","following","pin","unpin","bus","link","history","share","sparkles","sparkles2","exit","translate","play","trash","mute","unmute","block","unblock","flag","time","refresh","emoji2","filter","filters","chart","react","layout4","layout5","announce","round","arrow-up-circle","arrow-down-circle","clipboard","account-edit","account-warning","keyboard","cloud","month","media","speak","building","history2","copy","quote","settings","heart-break","user-x","minimize","celebrate","SIZES","s","m","l","xl","xxl","ICONDATA","SVGICon","moize","_jsx","viewBox","dangerouslySetInnerHTML","__html","transform","isShallowEqual","maxSize","Object","length","matchesArg","cacheKeyArg","keyArg","icon","Icon","size","title","class","iconSize","iconBlock","warn","Array","iconData","setIconData","currentIcon","iconB","useCloseWatcher","watcher","CloseWatcher","addEventListener","destroy","useCloseWatcher$1","$modalContainer","getElementById","getBackdropThemeColor","getComputedStyle","documentElement","getPropertyValue","Modal","children","onClose","minimized","modalRef","timer","focusElement","querySelector","clearTimeout","supportsCloseWatcher","escRef","keydown","keyup","$deckContainers","querySelectorAll","page","tabIndex","forEach","$deckContainer","setAttribute","removeAttribute","$meta","metaColor","store","local","get","backdropColor","console","colorScheme","log","content","Modal2","_a","node","_b","createPortal","isMenuOpen","state","batchedUpdates","unstable_batchedUpdates","getTransition","transition","name","safeCall","arg","internalKey","getName","component","mergeProps","source","targetProp","sourceProp","parsePadding","paddingStr","padding","right","getScrollAncestor","overflow","overflowX","overflowY","commonProps","isDisabled","isHovering","indexOfNode","nodeList","useBEM","useMemo","blockElement","classString","expandedClassName","menuContainerClass","menuClass","menuArrowClass","menuItemClass","menuDividerClass","menuHeaderClass","menuGroupClass","subMenuClass","HoverItemContext","MenuListItemContext","MenuListContext","EventHandlersContext","RadioGroupContext","SettingsContext","Keys","HoverActionTypes","CloseReason","FocusPositions","MenuStateMap","positionAbsolute","roleNone","roleMenuitem","noScrollFocus","MenuContainer","containerRef","containerProps","isOpen","theming","itemTransition","jsx","createSubmenuCtx","count","closeDelay","pending","settled","useItems","menuRef","hoverItem","setHoverItem","mutableState","updateItems","item","isMounted","items","index","dispatch","actionType","nextIndex","hoverIndex","sortItems","orderedNodes","a","b","newItem","prevItem","getNativeDimension","transformed","untransformed","getNormalizedClientRect","rect","getPositionHelpers","menuScroll","boundingBoxPadding","menuRect","containerRect","boundingRect","getLeftOverflow","getRightOverflow","getTopOverflow","getBottomOverflow","leftOverflow","rightOverflow","topOverflow","bottomOverflow","placeArrowVertical","arrowRef","menuY","anchorRect","placeLeftorRight","placeLeftorRightY","placeLeftX","placeRightX","confineHorizontally","confineVertically","arrow","direction","computedDirection","placeArrowHorizontal","menuX","placeToporBottom","placeToporBottomX","placeTopY","placeBottomY","positionMenu","align","gap","positionHelpers","isHorizontal","horizontalOffset","verticalOffset","arrowElt","useIsomorphicLayoutEffect","instance","useCombinedRef","refA","refB","offScreen","MenuList","ariaLabel","menuClassName","menuStyle","arrowProps","anchorPoint","anchorRef","externalRef","parentScrollingRef","setDownOverflow","repositionFlag","captureFocus","endTransition","menuItemFocus","_1","restProps","menuPosition","setMenuPosition","arrowPosition","setArrowPosition","overflowData","setOverflowData","expandedDirection","setExpandedDirection","submenuCtx","reposSubmenu","forceReposSubmenu","useReducer","c","boundingBoxRef","rootMenuRef","rootAnchorRef","scrollNodesRef","reposition","viewScroll","submenuCloseDelay","parentSubmenuCtx","reposFlag","prevOpen","openTransition","closeTransition","scrollNodes","onKeyDown","onAnimationEnd","onPointerMove","onPointerLeave","handlePosition","noOverflowCheck","arrowX","arrowY","menuHeight","overflowAmt","anchorScroll","scroll","handleScroll","scrollObservers","o","hasOverflow","parentScroll","targetList","resizeObserver","entries","flushSync","resizeObserverOptions","anchor","alwaysUpdate","setItemFocus","menuElt","itemContext","maxHeight","listContext","overflowStyle","arrowModifiers","_arrowClassName","ControlledMenu","forwardRef","initialMounted","unmountOnClose","transitionTimeout","submenuOpenDelay","portal","onItemClick","eventHandlers","isCheckorRadio","keepOpen","menuList","PRE_ENTER","ENTERING","ENTERED","PRE_EXIT","EXITING","EXITED","UNMOUNTED","STATUS","getState","status","startOrEnd","unmounted","getEndStatus","unmountOnExit","getTimeout","timeout","nextTick","transitState","updateState","setState","latestState","timeoutId","onChange","useTransitionState","enter","preEnter","preExit","initialEntered","mountOnEnter","enterTimeout","exitTimeout","toggle","toEnter","enterStage","useMenuState","initialOpen","onMenuChange","toggleMenu","isEnter","isResolved","useMenuStateAndFocus","menuProps","setMenuItemFocus","openMenu","useClick","onToggle","skipOpen","isLegacyReact","Menu","menuButton","instanceRef","stateProps","buttonRef","anchorProps","handleClose","button","buttonProps","renderButton","cloneElement","useImperativeHandle","jsxs","Fragment","withHovering","WrappedComponent","Component","memo","WithHovering","itemRef","useItemEffect","SubMenu","disabled","label","openTrigger","_2","itemProps","parentMenuRef","parentDir","parentOverflow","isParentOpen","isPortal","_openMenu","timerId","stopTimer","args","setHover","delayOpen","onKeyDownOfRoot","handled","externalItemRef","itemClassName","restItemProps","mergedItemProps","getMenuList","container","useItemState","focusRef","unsetHover","onBlur","keepHover","MenuItem","href","type","checked","restStateProps","radioGroup","isRadio","isCheckBox","isAnchor","isChecked","handleClick","mergedProps","menuItemProps","FocusableItem","renderChildren","MenuDivider","MenuHeader","MenuGroup","takeOverflow","setOverflowStyle","xxxl","alphaCache","canvas","OffscreenCanvas","ctx","getContext","willReadFrequently","imageSmoothingEnabled","MISSING_IMAGE_PATH_REGEX","Avatar","squircle","avatarRef","isMissing","src","loading","decoding","fetchPriority","crossOrigin","undefined","onError","onLoad","dataset","loaded","drawImage","allPixels","getImageData","hasAlpha","data","pixel","classList","add","clearRect","mem","Link","routerLocation","useLocation","hash","replace","trim","to","includes","parsedHash","origin","searchParams","searchParamsStr","from","map","encodeURIComponent","join","pathname","isActive","decodeURIComponent","currentTarget","parentNode","closest","prevLocation","IS_RTL","observer","MutationObserver","mutations","mutation","dir","isRTL","observe","defaultBoundingBoxPadding","safeAreaInsets","getSafeAreaInsets","safeAreaInsetTop","safeAreaInsetRight","safeAreaInsetBottom","safeAreaInsetLeft","parseInt","requestAnimationFrame","safeBoundingBoxPadding","paddings","v","CSS","supports","passive","useWindowSize","setSize","handleResize","innerWidth","innerHeight","removeEventListener","Menu2","_instanceRef","rtlAlign","closeMenu","SubMenu2","pointerType","MenuConfirm","subMenu","confirm","confirmLabel","menuItemClassName","menuFooter","menuExtras","_jsxs","MenuLink","detail","CustomEmoji","staticUrl","srcset","shortcodesRegexp","shortcodes","RegExp","EmojiText","emojis","indexOf","regex","shortcode","elements","split","word","emoji","find","nameCollator","locale","sensitivity","Intl","Collator","ACCT_REGEX","SHORTCODES_REGEX","SPACES_REGEX","NON_ALPHA_NUMERIC_REGEX","NameText","account","showAvatar","showAcct","short","i18n","useLingui","acct","avatar","avatarStatic","displayName","username","acct1","acct2","match","api","trimmedUsername","toLowerCase","trimmedDisplayName","shortenedDisplayName","shortenedAlphaNumericDisplayName","hideUsername","compare","which","internalURL","states","showAccount","_Fragment","codeMappings","zh_HANT","IntlDN","DisplayNames","_localeCode2Text","fallback","of","anotherText","localeCode2Text","isValidDate","Date","isNaN","getTime","date","resolvedLocale","DateTimeFormat","resolvedOptions","DTF","regionlessLocale","lang","localeMatch","RTF","RelativeTimeFormat","minute","hour","day","rtfFromNow","rtf","seconds","now","absSeconds","abs","format","floor","twitterFromNow","values","0","RelativeTime","datetime","renderCount","rerender","dateStr","dt","str","getFullYear","year","dateStyle","toISOString","toLocaleString","raf","rafRerender","scheduleRerender","cancelAnimationFrame","locales","languages","localeTargetLanguages","translationTargetLanguages","getTranslateTargetLanguage","fromSettings","contentTranslationTargetLanguage","BYTES_UNITS","prettyBytes","bytes","unitIndex","log2","number","unit","unitDisplay","maximumFractionDigits","semver","validateAndParse","isWildcard","tryParse","forceType","compareStrings","ap","bp","compareSegments","compareVersions","v1","v2","n1","n2","p1","p2","r","operator","assertValidOperator","res","operatorResMap","allowedOperators","op","satisfies","range","v3","vp","r1","r2","r3","rp","nonZero","containPixelfed","notContainPixelfed","containPleroma","containAkkoma","platformFeatures","supportsCache","feature","domain","getCurrentInstance","softwareName","getCurrentNodeInfo","software","features","doesSoftwareMatch","includePrerelease","loose","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","error","array","result","mapDomain","parts","labels","encoded","ucs2decode","string","output","counter","extra","ucs2encode","codePoints","basicToDigit","codePoint","digitToBasic","digit","adapt","delta","numPoints","firstTime","decode","input","inputLength","bias","basic","j","oldi","w","baseMinusT","out","encode","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","toUnicode","toASCII","punycode","emojifyText","fauxDiv","whitelistLinkClasses","HTML_CHARS_REGEX","escapeHTML","html","LINK_REGEX","HTTP_LINK_REGEX","MENTION_REGEX","HASHTAG_REGEX","CODE_BLOCK_REGEX","CODE_BLOCK_START_REGEX","CODE_BLOCK_END_REGEX","INLINE_CODE_REGEX","TWITTER_DOMAIN_REGEX","TWITTER_MENTION_REGEX","TWITTER_MENTION_CAPTURE_REGEX","CODE_INLINE_CAPTURE_REGEX","createDOM","isDocumentFragment","tpl","innerHTML","_enhanceContent","returnDOM","postEnhanceDOM","enhancedContent","dom","hasLink","hasCodeBlock","noTargetBlankLinks","links","remove","textContent","shortenLink","usernames","innerText","hasChildren","some","u","d","push","slice","textNodes","extractTextNodes","nodeValue","replaceWith","childNodes","blocks","p","pre","br","codeBlocks","nextParagraphs","currentBlock","nextElementSibling","next","tagName","codeText","replaceAll","rejectFilter","prevIndex","hashtagStuffedParagraphs","hashtagCount","nodeType","Node","TEXT_NODE","linkText","startsWith","imgs","img","getAttribute","naturalWidth","naturalHeight","setProperty","span","replaceChild","queueMicrotask","enhanceContent","defaultRejectFilter","defaultRejectFilterMap","fromEntries","nodeName","URL_PREFIX_REGEX","URL_DISPLAY_LENGTH","prefix","displayURL","suffix","cutoff","rejectFilterMap","assign","reduce","acc","cur","walk","createTreeWalker","NodeFilter","SHOW_TEXT","acceptNode","FILTER_REJECT","FILTER_ACCEPT","nextNode","div","getHTMLText","preProcess","el","append","handleContentLinks","mentions","previewMode","statusURL","prevText","previousSibling","textBeforeLinkIsAt","endsWith","textStartsWithAt","contains","targetText","mention","textBeforeLinkIsHash","hashURL","i18nDuration","duration","defaultLocale","_DateTimeFormat","dateYear","hideTime","formatOpts","forceOpts","loc","currentYear","niceDateTime","dtfOpts","shortenNumber","num","notation","roundingMode","TOAST_DURATION","showCompose","composerState","AccountBlock","skeleton","avatarSize","useAvatarStatic","internal","showActivity","showStats","accountInstance","hideDisplayName","relationship","excludeRelationshipAttrs","_useLingui","statusesCount","lastStatusAt","fields","note","followersCount","createdAt","locked","verifiedField","f","verifiedAt","excludedRelationship","hasRelationship","followedBy","requested","_t","_Trans","components","RetryOperation","timeouts","retry_operation","err","currentTime","timeoutOps","counts","mainError","mainErrorCount","require$$0","exports","attempt","obj","methods","method","original","retry","objectToString","isError","errorMessages","isNetworkError","AbortError","decorateErrorWithCounts","attemptNumber","retriesLeft","pRetry","resolve","reject","operation","abortHandler","cleanUp","finalError","__defProp","__defNormalProp","__publicField","observerMap","RootIds","rootId","unsupportedValue","getRootId","optionsToId","createObserver","thresholds","entry","inView","threshold","fallbackInView","bounds","callbacks","isPlainChildren","InView","React.Component","prevProps","rootMargin","trackVisibility","as","triggerOnce","skip","initialInView","React.createElement","useInView","React2.useState","React2.useRef","React2.useEffect","unobserve","entryTarget","previousEntryTarget","TOP","shazamIDs","LazyShazam","hasID","visible","setVisible","visibleStart","setVisibleStart","getBoundingClientRect","bottom","hidden","PHANPY_LINGVA_INSTANCES","import","LINGVA_INSTANCES","throttle","pThrottle","limit","interval","currentLingvaInstance","_lingvaTranslate","fetchCall","fetch","ok","provider","translation","detectedSourceLanguage","detectedSource","retries","onFailedAttempt","TRANSLATED_MAX_AGE","lingvaTranslate","pmem","forceTranslate","sourceLanguage","onTranslate","mini","autoDetected","uiState","setUIState","targetLang","setTranslatedContent","pronunciationContent","detailsRef","translatedContent","sourceLangText","targetLangText","apiSourceLang","detectedLangText","setDetectedLang","pronunciation","query","setPronunciationContent","detectedLang","sourceLanguages","common","showCommon","native","abrupt","TranslationBlock$1","TranslationBlock","promisifyRequest","request","createStore","dbName","storeName","dbp","txMode","db","defaultGetStoreFunc","defaultGetStore","customStore","set","getMany","del","delMany","clear","eachCursor","cursor","initDB","val","drafts","catchup","fetchRelationships","accounts","relationshipsMap","masto","currentAccount","getCurrentAccountID","uniqueAccountIds","relationships","LiteYTEmbed","shadowDom","nonce","oldVal","newVal","isIntersectionObserver","autoplay","wantsNoCookie","embedTarget","iframeHTML","posterUrlWebp","posterUrlJpeg","kind","linkElem","context","digitLookup","decode83","start","end","pow","PI","PI2","sRGBToLinear","linearTosRGB","signSqr","fastCos","cos","getBlurHashAverageColor","blurHash","decodeBlurHash","punch","sizeFlag","numX","numY","g","basis","basisY","colorIndex","pixelIndex","maximumValue","colors","averageColor","cosinesY","cosinesX","bytesPerRow","pixels","addIndentation_1","splittedHtml","char","level","opened","indented","elTag","newIndented","removeEmptyLines","nonFormattedString","toLines","markup","splittedMarkup","mergedLines","currentElement","line","addIndentation","mergeAttributesWithElements","require$$1","splitted","A","z","U","X","Y","R","G","J","M","C","L","P","I","T","E","h","B","D","Poll","readOnly","votePoll","expired","expiresAt","multiple","ownVotes","voted","votersCount","votesCount","expiresAtDate","pollVotesCount","roundPrecision","showResults","setShowResults","optionsHaveVoteCounts","every","option","optionVotesCount","ratio","percentage","isLeading","onSubmit","form","formData","FormData","choices","1","FilterContext","_isFiltered","filtered","filterContext","appliedFilters","hasContext","filterAction","action","filterTitles","titles","titlesStr","isFiltered","filteredItem","currentAccountID","filterState","filteredItems","htmlContentLength","supportsTTS","speechSynthesis","speaking","cancel","utterance","SpeechSynthesisUtterance","statusPeek","spoilerText","mediaAttachments","image","gifv","video","audio","unknown","F","useResolvedElement","subscriber","refOrElement","lastReportRef","refOrElementRef","cbElementRef","evaluateSubscription","cbElement","extractSize","boxProp","sizeType","useResizeObserver","onResize","onResizeRef","resizeObserverRef","didUnmount","previous","refCallback","reportedWidth","reportedHeight","newWidth","newHeight","newSize","useTruncated","useThrottledCallback","scrollHeight","truncated","_height","computedHeight","box","visibilityIconsMap","public","unlisted","private","direct","styleRoot","styleChild","styles","isSsr","isTouch","make3dTransformValue","scale","getOffsetBounds","containerDimension","childDimension","centerContained","diff","classnames","other","sqrt","isMac","isDragInteraction","isZoomInteraction","isZoomGesture","wheelEvent","cancelEvent","getDistance","calculateScale","startTouches","endTouches","startDistance","endDistance","isCloseTo","expected","swing","getPointByPageCoordinates","touch","getPageCoordinatesByTouches","touches","sum","getVectorAvg","vectors","clamp","shouldInterceptWheel","getElementSize","offsetWidth","offsetHeight","calculateVelocity","startPoint","endPoint","comparePoints","noup","zeroPoint","PinchZoom","_super","__extends","_this","__assign","createRef","clickEvent","touchEndEvent","touchStartEvent","touchMoveEvent","pageX","pageY","deltaY","deltaMode","scaleDelta","likeTouchEvent","center","dScale","inertiaFriction","inertia","renderFrame","prevOffset","currentCoordinates","prevPoint","newScale","touchCenter","needZoomOut","zoomFactor","startZoomFactor","updateProgress","progress","elWidth","elHeight","minOffsetX","maxOffsetX","_c","minOffsetY","maxOffsetY","__x","__y","animated","startOffset","containerCenter","diffZoomFactor","diffOffset","updateFrame","originalZoomFactor","lastCenter","sanitizedOffset","targetOffset","scaleFactor","offsetLeft","offsetTop","_document","_html","_body","scrollTop","scrollLeft","posTop","posLeft","frameFn","startTime","timeFn","frameTime","xZoomFactor","yZoomFactor","eventName","_i","newInteraction","interaction","fingers","mouseEvent","isEnd","isStart","child","Children","React","any","object","func","bool","formatDuration","hours","minutes","toString","padStart","dataAltLabel","AltBadge","showMediaAlt","MEDIA_CAPTION_LIMIT","MEDIA_CAPTION_LIMIT_LONGER","isMediaCaptionLong","caption","Media","showOriginal","autoAnimate","showCaption","allowLongerCaption","altIndex","checkAspectRatio","blurhash","previewRemoteUrl","previewUrl","remoteUrl","small","mediaURL","remoteMediaURL","hasDimensions","orientation","rgbAverageColor","videoRef","focalPosition","toFixed","mediaRef","onUpdate","removeProperty","touchAction","pinchZoomEnabled","setPinchZoomEnabled","quickPinchZoomProps","draggableUnZoomed","tapZoomFactor","doubleTapToggleZoom","Parent","remoteMediaURLObj","getURLObj","isVideoMaybe","isAudioMaybe","isImage","parentRef","imageSmallerThanParent","setImageSmallerThanParent","smaller","maxAspectHeight","averageColorStyle","mediaStyles","aspectRatio","longDesc","showInlineDesc","Figure","hasNaturalAspectRatio","setHasNaturalAspectRatio","display","mode","backgroundImage","backgroundSize","QuickPinchZoom","objectPosition","$media","clientWidth","clientHeight","minDimension","hasSmallDimension","displayNaturalHeight","hasDuration","shortDuration","isGIF","loopable","formattedDuration","hoverAnimate","autoGIFAnimate","showProgress","gifHTML","videoHTML","pause","onMouseEnter","onMouseLeave","onFocus","poster","preload","playsinline","loop","muted","onTimeUpdate","disablePictureInPicture","onLoadedMetadata","controls","autoPlay","oldProps","newProps","oldMedia","newMedia","SHOW_COMMENT_COUNT_LIMIT","INLINE_TRANSLATE_LIMIT","fetchAccount","$select","memFetchAccount","visibilityText","isIOS","ontouchstart","REACTIONS_LIMIT","getPollText","getPostText","forgivingQSA","selectors","selector","isTranslateble","getHTMLTextForDetectLang","HTTP_REGEX","PostContent","post","language","divRef","replaceChildren","cloneNode","SIZE_CLASS","detectLang","detectAll","accuracy","readMoreText","DIFFERENT_LANG_CHECK","checkDifferentLanguage","contentTranslationHideLanguages","targetLanguage","different","Status","statusID","propInstance","contentTextWeight","enableCommentHint","withinContext","enableTranslate","_forceTranslate","onMediaClick","quoted","onStatusLinkClick","showFollowedTags","allowContextMenu","showActionsBar","showReplyParent","mediaFirst","authenticated","currentInstance","sameInstance","sKey","statusKey","snapStates","useSnapshot","statuses","accountId","accountURL","accountEmojis","repliesCount","reblogged","reblogsCount","favourited","favouritesCount","bookmarked","sensitive","visibility","_language","editedAt","card","inReplyToId","inReplyToAccountId","reblog","uri","tags","pinned","_deleted","_pinned","emojiReactions","languageAutoDetected","setLanguageAutoDetected","detected","hasMediaAttachments","isSelf","filterInfo","debugHover","FilteredStatus","createdAtDate","editedAtDate","inReplyToAccountRef","setInReplyToAccount","inReplyToAccount","account2","catch","mentionSelf","readingExpandSpoilers","showSpoiler","readingExpandMedia","showSpoilerMedia","FollowedTagsParent","setForceTranslate","StatusParent","contentTranslation","inlineTranslate","contentTranslationAutoInline","isSizeLarge","showEdited","setShowEdited","showEmbed","setShowEmbed","contentLength","statusRef","unauthInteractionErrorMessage","createdDateText","editedDateText","canBoost","textWeight","mediaNoDesc","replyToStatus","statusMonthsAgo","confirmBoostStatus","newStatus","saveStatus","favouriteStatusNotify","favouriteStatus","done","bookmarkStatus","bookmarkStatusNotify","2","differentLanguage","setDifferentLanguage","reblogIterator","favouriteIterator","firstLoad","favouriteResults","reblogResults","_types","isPublic","isPinnable","StatusMenuItems","replyStatus","draftStatus","4","fetchBoostedLikedByAccounts","heading","fetchAccounts","showReactions","postText","nicePostURL","maxWidth","cachedStatus","getStatus","isContextMenuOpen","setIsContextMenuOpen","contextMenuProps","setContextMenuProps","bindLongPressContext","useLongPress","showContextMenu","clientX","clientY","hotkeysEnabled","fRef","dRef","captureEvent","bRef","rRef","xRef","activeStatus","spoilerButton","spoilerMediaButton","showMultipleMediaCaptions","displayedMediaAttachments","attachments","indices","showCommentHint","isThread","showCommentCount","StatusCompact","containsQuestion","nodeRef","selection","anchorNode","contextMenuRef","actionsRef","StatusButton","spoilerContentRef","spoilersMedia","postID","contentRef","QuoteStatuses","inert","pollResponse","newPoll","polls","then","MultipleMediaFigure","mediaContainerRef","captionChildren","_d","selfReferential","selfAuthor","emojiReaction","me","url2","isShortCode","EditedAtModal","carouselRef","moreThanOne","setCurrentIndex","currentIndex","getDomain","isCardPost","Byline","authors","author","providerName","providerUrl","authorName","authorUrl","imageDescription","embedUrl","publishedAt","hasText","isLandscape","cardStatusURL","isMastodonLinkMaybe","unfurlMastodonLink","setCardStatusURL","unfurledLinks","hasIframeHTML","blurhashImage","setBlurhashImage","blob","isPost","putImageData","convertToBlob","videoID","nocookie","editHistory","setEditHistory","_t2","Loader","generateHTMLCode","id2","contentHTML","sourceMediaURL","previewMediaURL","mediaHTML","prettify","htmlCode","EmbedModal","_t3","download","otherProps","buttonTitle","setButtonTitle","setIconAlt","host","iconAlt","path","urlObj","statusReply","restPath","srKey","statusPeekText","filterTitleStr","_t4","isReblog","showPeek","setShowPeek","isFollowedTags","detect","bindLongPressPeek","cancelOnMovement","ssKey","actualStatusID","statusPeekRef","quotes","uniqueQuotes","arr","q2","statusQuotes","IDX","HEX","len","isArray","getTag","INFINITY","baseToString","isString","isNumber","isBoolean","isObjectLike","isObject","isDefined","isBlank","INCORRECT_INDEX_TYPE","LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY","PATTERN_LENGTH_TOO_LARGE","MISSING_KEY_PROPERTY","INVALID_KEY_WEIGHT_VALUE","hasOwn","KeyStore","totalWeight","createKey","keyId","weight","getFn","createKeyPath","createKeyId","deepGet","MatchOptions","BasicOptions","FuzzyOptions","AdvancedOptions","Config","SPACE","norm","mantissa","cache","numTokens","FuseIndex","fieldNormWeight","docs","records","idx","doc","docIndex","record","keyIndex","subRecords","stack","nestedArrIndex","subRecord","createIndex","myIndex","parseIndex","computeScore$1","pattern","currentLocation","expectedLocation","distance","ignoreLocation","proximity","convertMaskToIndices","matchmask","minMatchCharLength","MAX_BITS","patternAlphabet","findAllMatches","includeMatches","patternLen","textLen","currentThreshold","bestLocation","computeMatches","matchMask","score","lastBitArr","finalScore","binMax","mask","binMin","binMid","finish","bitArr","charMatch","createPatternAlphabet","BitapSearch","isCaseSensitive","addChunk","startIndex","remainder","allIndices","totalScore","hasMatches","alphabet","isMatch","BaseMatch","getMatch","exp","matches","ExactMatch","InverseExactMatch","PrefixExactMatch","InversePrefixExactMatch","SuffixExactMatch","InverseSuffixExactMatch","FuzzyMatch","IncludeMatch","searchers","searchersLen","SPACE_RE","OR_TOKEN","parseQuery","results","queryItem","found","searcher","token","MultiMatchSet","ExtendedSearch","numMatches","qLen","pLen","registeredSearchers","register","createSearcher","searcherClass","LogicalOperator","KeyType","isExpression","isPath","isLeaf","convertToExplicit","auto","isQueryPath","computeScore","ignoreFieldNorm","transformMatches","transformScore","includeScore","transformers","transformer","Fuse","predicate","shouldSort","sortFn","expression","evaluate","resultMap","expResults"],"ignoreList":[0,1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,58,59,60,61,63,73,74,75,76,77,78,81,84,85,86,87,88,89,96,97,100,101,102,103,107,108],"sources":["../../node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.js","../../node_modules/toastify-js/src/toastify.js","../../src/utils/show-toast.js","../../src/utils/useInterval.js","../../src/utils/open-compose.js","../../src/utils/open-osk.js","../../src/components/ICONS.jsx","../../src/components/icon.jsx","../../src/utils/useCloseWatcher.js","../../src/components/modal.jsx","../../node_modules/@szhsin/react-menu/dist/es/utils/utils.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useBEM.js","../../node_modules/@szhsin/react-menu/dist/es/utils/constants.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuContainer.js","../../node_modules/@szhsin/react-menu/dist/es/utils/submenuCtx.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useItems.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/getNormalizedClientRect.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/getPositionHelpers.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/placeArrowVertical.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/placeLeftorRight.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/placeArrowHorizontal.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/placeToporBottom.js","../../node_modules/@szhsin/react-menu/dist/es/positionUtils/positionMenu.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useIsomorphicLayoutEffect.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useCombinedRef.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuList.js","../../node_modules/@szhsin/react-menu/dist/es/components/ControlledMenu.js","../../node_modules/react-transition-state/dist/es/hooks/utils.js","../../node_modules/react-transition-state/dist/es/hooks/useTransitionState.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useMenuState.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useMenuStateAndFocus.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useClick.js","../../node_modules/@szhsin/react-menu/dist/es/components/Menu.js","../../node_modules/@szhsin/react-menu/dist/es/utils/withHovering.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useItemEffect.js","../../node_modules/@szhsin/react-menu/dist/es/components/SubMenu.js","../../node_modules/@szhsin/react-menu/dist/es/hooks/useItemState.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuItem.js","../../node_modules/@szhsin/react-menu/dist/es/components/FocusableItem.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuDivider.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuHeader.js","../../node_modules/@szhsin/react-menu/dist/es/components/MenuGroup.js","../../src/components/avatar.jsx","../../src/components/link.jsx","../../src/utils/is-rtl.js","../../src/utils/safe-bounding-box-padding.js","../../src/utils/useWindowSize.js","../../src/components/menu2.jsx","../../src/components/submenu2.jsx","../../src/components/menu-confirm.jsx","../../src/components/menu-link.jsx","../../src/components/custom-emoji.jsx","../../src/components/emoji-text.jsx","../../src/components/name-text.jsx","../../src/utils/localeCode2Text.js","../../src/components/relative-time.jsx","../../src/utils/get-translate-target-language.js","../../src/utils/pretty-bytes.js","../../node_modules/compare-versions/lib/esm/utils.js","../../node_modules/compare-versions/lib/esm/compareVersions.js","../../node_modules/compare-versions/lib/esm/compare.js","../../node_modules/compare-versions/lib/esm/satisfies.js","../../src/utils/supports.js","../../node_modules/punycode/punycode.es6.js","../../src/utils/emojify-text.js","../../src/utils/enhance-content.js","../../src/utils/getHTMLText.js","../../src/utils/handle-content-links.js","../../src/utils/i18n-duration.js","../../src/utils/nice-date-time.js","../../src/utils/shorten-number.js","../../src/utils/show-compose.js","../../src/components/account-block.jsx","../../node_modules/retry/lib/retry_operation.js","../../node_modules/retry/lib/retry.js","../../node_modules/retry/index.js","../../node_modules/is-network-error/index.js","../../node_modules/p-retry/index.js","../../node_modules/react-intersection-observer/dist/index.mjs","../../src/components/lazy-shazam.jsx","../../src/components/translation-block.jsx","../../node_modules/idb-keyval/dist/index.js","../../src/utils/db.js","../../src/utils/relationships.js","../../node_modules/@justinribeiro/lite-youtube/lite-youtube.js","../../node_modules/fast-blurhash/index.js","../../node_modules/html-prettify/src/utils/addIndentation.js","../../node_modules/html-prettify/src/utils/toLines.js","../../node_modules/html-prettify/src/index.js","../../node_modules/use-long-press/index.mjs","../../src/components/poll.jsx","../../src/utils/filter-context.js","../../src/utils/filters.js","../../src/utils/html-content-length.js","../../src/utils/speech.js","../../src/utils/status-peek.js","../../node_modules/use-debounce/dist/index.module.js","../../node_modules/use-resize-observer/dist/bundle.esm.js","../../src/utils/useTruncated.js","../../src/utils/visibility-icons-map.js","../../node_modules/react-quick-pinch-zoom/esm/PinchZoom/styles.css.js","../../node_modules/react-quick-pinch-zoom/esm/utils.js","../../node_modules/react-quick-pinch-zoom/esm/PinchZoom/getOffsetBounds.js","../../node_modules/react-quick-pinch-zoom/esm/PinchZoom/component.js","../../src/utils/format-duration.js","../../src/components/media.jsx","../../src/components/status.jsx","../../node_modules/uid/single/index.mjs","../../node_modules/fuse.js/dist/fuse.mjs"],"sourcesContent":["import { useContext, createContext, useState, useCallback, useRef, useLayoutEffect, useEffect } from 'react';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\n\nvar reservedModifierKeywords = ['shift', 'alt', 'meta', 'mod', 'ctrl'];\nvar mappedKeys = {\n esc: 'escape',\n \"return\": 'enter',\n '.': 'period',\n ',': 'comma',\n '-': 'slash',\n ' ': 'space',\n '`': 'backquote',\n '#': 'backslash',\n '+': 'bracketright',\n ShiftLeft: 'shift',\n ShiftRight: 'shift',\n AltLeft: 'alt',\n AltRight: 'alt',\n MetaLeft: 'meta',\n MetaRight: 'meta',\n OSLeft: 'meta',\n OSRight: 'meta',\n ControlLeft: 'ctrl',\n ControlRight: 'ctrl'\n};\nfunction mapKey(key) {\n return (key && mappedKeys[key] || key || '').trim().toLowerCase().replace(/key|digit|numpad|arrow/, '');\n}\nfunction isHotkeyModifier(key) {\n return reservedModifierKeywords.includes(key);\n}\nfunction parseKeysHookInput(keys, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n return keys.split(splitKey);\n}\nfunction parseHotkey(hotkey, combinationKey, description) {\n if (combinationKey === void 0) {\n combinationKey = '+';\n }\n var keys = hotkey.toLocaleLowerCase().split(combinationKey).map(function (k) {\n return mapKey(k);\n });\n var modifiers = {\n alt: keys.includes('alt'),\n ctrl: keys.includes('ctrl') || keys.includes('control'),\n shift: keys.includes('shift'),\n meta: keys.includes('meta'),\n mod: keys.includes('mod')\n };\n var singleCharKeys = keys.filter(function (k) {\n return !reservedModifierKeywords.includes(k);\n });\n return _extends({}, modifiers, {\n keys: singleCharKeys,\n description: description,\n hotkey: hotkey\n });\n}\n\n(function () {\n if (typeof document !== 'undefined') {\n document.addEventListener('keydown', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n document.addEventListener('keyup', function (e) {\n if (e.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys([mapKey(e.key), mapKey(e.code)]);\n });\n }\n if (typeof window !== 'undefined') {\n window.addEventListener('blur', function () {\n currentlyPressedKeys.clear();\n });\n }\n})();\nvar currentlyPressedKeys = /*#__PURE__*/new Set();\n// https://github.com/microsoft/TypeScript/issues/17002\nfunction isReadonlyArray(value) {\n return Array.isArray(value);\n}\nfunction isHotkeyPressed(key, splitKey) {\n if (splitKey === void 0) {\n splitKey = ',';\n }\n var hotkeyArray = isReadonlyArray(key) ? key : key.split(splitKey);\n return hotkeyArray.every(function (hotkey) {\n return currentlyPressedKeys.has(hotkey.trim().toLowerCase());\n });\n}\nfunction pushToCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (currentlyPressedKeys.has('meta')) {\n currentlyPressedKeys.forEach(function (key) {\n return !isHotkeyModifier(key) && currentlyPressedKeys[\"delete\"](key.toLowerCase());\n });\n }\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys.add(hotkey.toLowerCase());\n });\n}\nfunction removeFromCurrentlyPressedKeys(key) {\n var hotkeyArray = Array.isArray(key) ? key : [key];\n /*\r\n Due to a weird behavior on macOS we need to clear the set if the user pressed down the meta key and presses another key.\r\n https://stackoverflow.com/questions/11818637/why-does-javascript-drop-keyup-events-when-the-metakey-is-pressed-on-mac-browser\r\n Otherwise the set will hold all ever pressed keys while the meta key is down which leads to wrong results.\r\n */\n if (key === 'meta') {\n currentlyPressedKeys.clear();\n } else {\n hotkeyArray.forEach(function (hotkey) {\n return currentlyPressedKeys[\"delete\"](hotkey.toLowerCase());\n });\n }\n}\n\nfunction maybePreventDefault(e, hotkey, preventDefault) {\n if (typeof preventDefault === 'function' && preventDefault(e, hotkey) || preventDefault === true) {\n e.preventDefault();\n }\n}\nfunction isHotkeyEnabled(e, hotkey, enabled) {\n if (typeof enabled === 'function') {\n return enabled(e, hotkey);\n }\n return enabled === true || enabled === undefined;\n}\nfunction isKeyboardEventTriggeredByInput(ev) {\n return isHotkeyEnabledOnTag(ev, ['input', 'textarea', 'select']);\n}\nfunction isHotkeyEnabledOnTag(event, enabledOnTags) {\n if (enabledOnTags === void 0) {\n enabledOnTags = false;\n }\n var target = event.target,\n composed = event.composed;\n var targetTagName = null;\n if (isCustomElement(target) && composed) {\n targetTagName = event.composedPath()[0] && event.composedPath()[0].tagName;\n } else {\n targetTagName = target && target.tagName;\n }\n if (isReadonlyArray(enabledOnTags)) {\n return Boolean(targetTagName && enabledOnTags && enabledOnTags.some(function (tag) {\n var _targetTagName;\n return tag.toLowerCase() === ((_targetTagName = targetTagName) == null ? void 0 : _targetTagName.toLowerCase());\n }));\n }\n return Boolean(targetTagName && enabledOnTags && enabledOnTags);\n}\nfunction isCustomElement(element) {\n // We just do a basic check w/o any complex RegEx or validation against the list of legacy names containing a hyphen,\n // as none of them is likely to be an event target, and it won't hurt anyway if we miss.\n // see: https://html.spec.whatwg.org/multipage/custom-elements.html#prod-potentialcustomelementname\n return !!element.tagName && !element.tagName.startsWith(\"-\") && element.tagName.includes(\"-\");\n}\nfunction isScopeActive(activeScopes, scopes) {\n if (activeScopes.length === 0 && scopes) {\n console.warn('A hotkey has the \"scopes\" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a ');\n return true;\n }\n if (!scopes) {\n return true;\n }\n return activeScopes.some(function (scope) {\n return scopes.includes(scope);\n }) || activeScopes.includes('*');\n}\nvar isHotkeyMatchingKeyboardEvent = function isHotkeyMatchingKeyboardEvent(e, hotkey, ignoreModifiers) {\n if (ignoreModifiers === void 0) {\n ignoreModifiers = false;\n }\n var alt = hotkey.alt,\n meta = hotkey.meta,\n mod = hotkey.mod,\n shift = hotkey.shift,\n ctrl = hotkey.ctrl,\n keys = hotkey.keys;\n var pressedKeyUppercase = e.key,\n code = e.code,\n ctrlKey = e.ctrlKey,\n metaKey = e.metaKey,\n shiftKey = e.shiftKey,\n altKey = e.altKey;\n var keyCode = mapKey(code);\n var pressedKey = pressedKeyUppercase.toLowerCase();\n if (!(keys != null && keys.includes(keyCode)) && !(keys != null && keys.includes(pressedKey)) && !['ctrl', 'control', 'unknown', 'meta', 'alt', 'shift', 'os'].includes(keyCode)) {\n return false;\n }\n if (!ignoreModifiers) {\n // We check the pressed keys for compatibility with the keyup event. In keyup events the modifier flags are not set.\n if (alt === !altKey && pressedKey !== 'alt') {\n return false;\n }\n if (shift === !shiftKey && pressedKey !== 'shift') {\n return false;\n }\n // Mod is a special key name that is checking for meta on macOS and ctrl on other platforms\n if (mod) {\n if (!metaKey && !ctrlKey) {\n return false;\n }\n } else {\n if (meta === !metaKey && pressedKey !== 'meta' && pressedKey !== 'os') {\n return false;\n }\n if (ctrl === !ctrlKey && pressedKey !== 'ctrl' && pressedKey !== 'control') {\n return false;\n }\n }\n }\n // All modifiers are correct, now check the key\n // If the key is set, we check for the key\n if (keys && keys.length === 1 && (keys.includes(pressedKey) || keys.includes(keyCode))) {\n return true;\n } else if (keys) {\n // Check if all keys are present in pressedDownKeys set\n return isHotkeyPressed(keys);\n } else if (!keys) {\n // If the key is not set, we only listen for modifiers, that check went alright, so we return true\n return true;\n }\n // There is nothing that matches.\n return false;\n};\n\nvar BoundHotkeysProxyProvider = /*#__PURE__*/createContext(undefined);\nvar useBoundHotkeysProxy = function useBoundHotkeysProxy() {\n return useContext(BoundHotkeysProxyProvider);\n};\nfunction BoundHotkeysProxyProviderProvider(_ref) {\n var addHotkey = _ref.addHotkey,\n removeHotkey = _ref.removeHotkey,\n children = _ref.children;\n return /*#__PURE__*/jsx(BoundHotkeysProxyProvider.Provider, {\n value: {\n addHotkey: addHotkey,\n removeHotkey: removeHotkey\n },\n children: children\n });\n}\n\nfunction deepEqual(x, y) {\n //@ts-ignore\n return x && y && typeof x === 'object' && typeof y === 'object' ? Object.keys(x).length === Object.keys(y).length &&\n //@ts-ignore\n Object.keys(x).reduce(function (isEqual, key) {\n return isEqual && deepEqual(x[key], y[key]);\n }, true) : x === y;\n}\n\nvar HotkeysContext = /*#__PURE__*/createContext({\n hotkeys: [],\n enabledScopes: [],\n toggleScope: function toggleScope() {},\n enableScope: function enableScope() {},\n disableScope: function disableScope() {}\n});\nvar useHotkeysContext = function useHotkeysContext() {\n return useContext(HotkeysContext);\n};\nvar HotkeysProvider = function HotkeysProvider(_ref) {\n var _ref$initiallyActiveS = _ref.initiallyActiveScopes,\n initiallyActiveScopes = _ref$initiallyActiveS === void 0 ? ['*'] : _ref$initiallyActiveS,\n children = _ref.children;\n var _useState = useState((initiallyActiveScopes == null ? void 0 : initiallyActiveScopes.length) > 0 ? initiallyActiveScopes : ['*']),\n internalActiveScopes = _useState[0],\n setInternalActiveScopes = _useState[1];\n var _useState2 = useState([]),\n boundHotkeys = _useState2[0],\n setBoundHotkeys = _useState2[1];\n var enableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n });\n }, []);\n var disableScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n });\n }, []);\n var toggleScope = useCallback(function (scope) {\n setInternalActiveScopes(function (prev) {\n if (prev.includes(scope)) {\n if (prev.filter(function (s) {\n return s !== scope;\n }).length === 0) {\n return ['*'];\n } else {\n return prev.filter(function (s) {\n return s !== scope;\n });\n }\n } else {\n if (prev.includes('*')) {\n return [scope];\n }\n return Array.from(new Set([].concat(prev, [scope])));\n }\n });\n }, []);\n var addBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return [].concat(prev, [hotkey]);\n });\n }, []);\n var removeBoundHotkey = useCallback(function (hotkey) {\n setBoundHotkeys(function (prev) {\n return prev.filter(function (h) {\n return !deepEqual(h, hotkey);\n });\n });\n }, []);\n return /*#__PURE__*/jsx(HotkeysContext.Provider, {\n value: {\n enabledScopes: internalActiveScopes,\n hotkeys: boundHotkeys,\n enableScope: enableScope,\n disableScope: disableScope,\n toggleScope: toggleScope\n },\n children: /*#__PURE__*/jsx(BoundHotkeysProxyProviderProvider, {\n addHotkey: addBoundHotkey,\n removeHotkey: removeBoundHotkey,\n children: children\n })\n });\n};\n\nfunction useDeepEqualMemo(value) {\n var ref = useRef(undefined);\n if (!deepEqual(ref.current, value)) {\n ref.current = value;\n }\n return ref.current;\n}\n\nvar stopPropagation = function stopPropagation(e) {\n e.stopPropagation();\n e.preventDefault();\n e.stopImmediatePropagation();\n};\nvar useSafeLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\nfunction useHotkeys(keys, callback, options, dependencies) {\n var _useState = useState(null),\n ref = _useState[0],\n setRef = _useState[1];\n var hasTriggeredRef = useRef(false);\n var _options = !(options instanceof Array) ? options : !(dependencies instanceof Array) ? dependencies : undefined;\n var _keys = isReadonlyArray(keys) ? keys.join(_options == null ? void 0 : _options.splitKey) : keys;\n var _deps = options instanceof Array ? options : dependencies instanceof Array ? dependencies : undefined;\n var memoisedCB = useCallback(callback, _deps != null ? _deps : []);\n var cbRef = useRef(memoisedCB);\n if (_deps) {\n cbRef.current = memoisedCB;\n } else {\n cbRef.current = callback;\n }\n var memoisedOptions = useDeepEqualMemo(_options);\n var _useHotkeysContext = useHotkeysContext(),\n enabledScopes = _useHotkeysContext.enabledScopes;\n var proxy = useBoundHotkeysProxy();\n useSafeLayoutEffect(function () {\n if ((memoisedOptions == null ? void 0 : memoisedOptions.enabled) === false || !isScopeActive(enabledScopes, memoisedOptions == null ? void 0 : memoisedOptions.scopes)) {\n return;\n }\n var listener = function listener(e, isKeyUp) {\n var _e$target;\n if (isKeyUp === void 0) {\n isKeyUp = false;\n }\n if (isKeyboardEventTriggeredByInput(e) && !isHotkeyEnabledOnTag(e, memoisedOptions == null ? void 0 : memoisedOptions.enableOnFormTags)) {\n return;\n }\n // TODO: SINCE THE EVENT IS NOW ATTACHED TO THE REF, THE ACTIVE ELEMENT CAN NEVER BE INSIDE THE REF. THE HOTKEY ONLY TRIGGERS IF THE\n // REF IS THE ACTIVE ELEMENT. THIS IS A PROBLEM SINCE FOCUSED SUB COMPONENTS WON'T TRIGGER THE HOTKEY.\n if (ref !== null) {\n var rootNode = ref.getRootNode();\n if ((rootNode instanceof Document || rootNode instanceof ShadowRoot) && rootNode.activeElement !== ref && !ref.contains(rootNode.activeElement)) {\n stopPropagation(e);\n return;\n }\n }\n if ((_e$target = e.target) != null && _e$target.isContentEditable && !(memoisedOptions != null && memoisedOptions.enableOnContentEditable)) {\n return;\n }\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n var _hotkey$keys;\n var hotkey = parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey);\n if (isHotkeyMatchingKeyboardEvent(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.ignoreModifiers) || (_hotkey$keys = hotkey.keys) != null && _hotkey$keys.includes('*')) {\n if (memoisedOptions != null && memoisedOptions.ignoreEventWhen != null && memoisedOptions.ignoreEventWhen(e)) {\n return;\n }\n if (isKeyUp && hasTriggeredRef.current) {\n return;\n }\n maybePreventDefault(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.preventDefault);\n if (!isHotkeyEnabled(e, hotkey, memoisedOptions == null ? void 0 : memoisedOptions.enabled)) {\n stopPropagation(e);\n return;\n }\n // Execute the user callback for that hotkey\n cbRef.current(e, hotkey);\n if (!isKeyUp) {\n hasTriggeredRef.current = true;\n }\n }\n });\n };\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n pushToCurrentlyPressedKeys(mapKey(event.code));\n if ((memoisedOptions == null ? void 0 : memoisedOptions.keydown) === undefined && (memoisedOptions == null ? void 0 : memoisedOptions.keyup) !== true || memoisedOptions != null && memoisedOptions.keydown) {\n listener(event);\n }\n };\n var handleKeyUp = function handleKeyUp(event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n removeFromCurrentlyPressedKeys(mapKey(event.code));\n hasTriggeredRef.current = false;\n if (memoisedOptions != null && memoisedOptions.keyup) {\n listener(event, true);\n }\n };\n var domNode = ref || (_options == null ? void 0 : _options.document) || document;\n // @ts-ignore\n domNode.addEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.addEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.addHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n return function () {\n // @ts-ignore\n domNode.removeEventListener('keyup', handleKeyUp);\n // @ts-ignore\n domNode.removeEventListener('keydown', handleKeyDown);\n if (proxy) {\n parseKeysHookInput(_keys, memoisedOptions == null ? void 0 : memoisedOptions.splitKey).forEach(function (key) {\n return proxy.removeHotkey(parseHotkey(key, memoisedOptions == null ? void 0 : memoisedOptions.combinationKey, memoisedOptions == null ? void 0 : memoisedOptions.description));\n });\n }\n };\n }, [ref, _keys, memoisedOptions, enabledScopes]);\n return setRef;\n}\n\nfunction useRecordHotkeys() {\n var _useState = useState(new Set()),\n keys = _useState[0],\n setKeys = _useState[1];\n var _useState2 = useState(false),\n isRecording = _useState2[0],\n setIsRecording = _useState2[1];\n var handler = useCallback(function (event) {\n if (event.key === undefined) {\n // Synthetic event (e.g., Chrome autofill). Ignore.\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n setKeys(function (prev) {\n var newKeys = new Set(prev);\n newKeys.add(mapKey(event.code));\n return newKeys;\n });\n }, []);\n var stop = useCallback(function () {\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', handler);\n setIsRecording(false);\n }\n }, [handler]);\n var start = useCallback(function () {\n setKeys(new Set());\n if (typeof document !== 'undefined') {\n stop();\n document.addEventListener('keydown', handler);\n setIsRecording(true);\n }\n }, [handler, stop]);\n var resetKeys = useCallback(function () {\n setKeys(new Set());\n }, []);\n return [keys, {\n start: start,\n stop: stop,\n resetKeys: resetKeys,\n isRecording: isRecording\n }];\n}\n\nexport { HotkeysProvider, isHotkeyPressed, useHotkeys, useHotkeysContext, useRecordHotkeys };\n//# sourceMappingURL=react-hotkeys-hook.esm.js.map\n","/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.12.0\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n ariaLive: 'polite',\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Announce the toast to screen readers\n if (this.options.ariaLive) {\n divElement.setAttribute('aria-live', this.options.ariaLive)\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","import Toastify from 'toastify-js';\n\nwindow._showToast = showToast;\n\nfunction showToast(props) {\n if (typeof props === 'string') {\n props = { text: props };\n }\n const { onClick, delay, ...rest } = props;\n const toast = Toastify({\n className: `${onClick || props.destination ? 'shiny-pill' : ''}`,\n gravity: 'bottom',\n position: 'center',\n ...rest,\n onClick: () => {\n onClick?.(toast); // Pass in the object itself!\n },\n });\n if (delay) {\n setTimeout(() => {\n toast.showToast();\n }, delay);\n } else {\n toast.showToast();\n }\n return toast;\n}\n\nexport default showToast;\n","import { useEffect, useRef } from 'preact/hooks';\n\nfunction useInterval(fn, delay, deps, immediate) {\n const savedCallback = useRef(fn);\n useEffect(() => {\n savedCallback.current = fn;\n }, [fn, deps]);\n\n useEffect(() => {\n if (!immediate || delay === null || delay === false) return;\n savedCallback.current();\n }, [immediate]);\n\n useEffect(() => {\n if (delay === null || delay === false) return;\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n\nexport default useInterval;\n","import { t } from '@lingui/core/macro';\n\nexport default function openCompose(opts) {\n const url = URL.parse('/compose/', window.location);\n const { width: screenWidth, height: screenHeight } = window.screen;\n const left = Math.max(0, (screenWidth - 600) / 2);\n const top = Math.max(0, (screenHeight - 450) / 2);\n const width = Math.min(screenWidth, 600);\n const height = Math.min(screenHeight, 450);\n const winUID = opts?.uid || Math.random();\n const newWin = window.open(\n url,\n 'compose' + winUID,\n `width=${width},height=${height},left=${left},top=${top}`,\n );\n\n if (newWin) {\n // if (masto) {\n // newWin.masto = masto;\n // }\n\n newWin.__COMPOSE__ = opts;\n } else {\n alert(t`Looks like your browser is blocking popups.`);\n }\n\n return newWin;\n}\n","const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); // https://stackoverflow.com/a/23522755\n\nexport default function openOSK() {\n if (isSafari) {\n const fauxEl = document.createElement('input');\n fauxEl.style.position = 'absolute';\n fauxEl.style.top = '0';\n fauxEl.style.left = '0';\n fauxEl.style.opacity = '0';\n document.body.appendChild(fauxEl);\n fauxEl.focus();\n setTimeout(() => {\n document.body.removeChild(fauxEl);\n }, 500);\n }\n}\n","export const ICONS = {\n x: () => import('@iconify-icons/mingcute/close-line'),\n heart: () => import('@iconify-icons/mingcute/heart-line'),\n bookmark: () => import('@iconify-icons/mingcute/bookmark-line'),\n 'check-circle': () => import('@iconify-icons/mingcute/check-circle-line'),\n 'x-circle': () => import('@iconify-icons/mingcute/close-circle-line'),\n transfer: () => import('@iconify-icons/mingcute/transfer-4-line'),\n rocket: () => import('@iconify-icons/mingcute/rocket-line'),\n 'arrow-left': {\n module: () => import('@iconify-icons/mingcute/arrow-left-line'),\n rtl: true,\n },\n 'arrow-right': {\n module: () => import('@iconify-icons/mingcute/arrow-right-line'),\n rtl: true,\n },\n 'arrow-up': () => import('@iconify-icons/mingcute/arrow-up-line'),\n 'arrow-down': () => import('@iconify-icons/mingcute/arrow-down-line'),\n earth: () => import('@iconify-icons/mingcute/earth-line'),\n lock: () => import('@iconify-icons/mingcute/lock-line'),\n unlock: () => import('@iconify-icons/mingcute/unlock-line'),\n 'eye-close': () => import('@iconify-icons/mingcute/eye-close-line'),\n 'eye-open': () => import('@iconify-icons/mingcute/eye-2-line'),\n message: () => import('@iconify-icons/mingcute/mail-line'),\n comment: {\n module: () => import('@iconify-icons/mingcute/chat-3-line'),\n rtl: true,\n },\n comment2: {\n module: () => import('@iconify-icons/mingcute/comment-2-line'),\n rtl: true,\n },\n home: () => import('@iconify-icons/mingcute/home-3-line'),\n notification: () => import('@iconify-icons/mingcute/notification-line'),\n follow: () => import('@iconify-icons/mingcute/user-follow-line'),\n 'follow-add': () => import('@iconify-icons/mingcute/user-add-line'),\n poll: [() => import('@iconify-icons/mingcute/chart-bar-line'), '90deg'],\n pencil: () => import('@iconify-icons/mingcute/pencil-line'),\n quill: () => import('@iconify-icons/mingcute/quill-pen-line'),\n at: () => import('@iconify-icons/mingcute/at-line'),\n attachment: () => import('@iconify-icons/mingcute/attachment-line'),\n upload: () => import('@iconify-icons/mingcute/upload-3-line'),\n gear: () => import('@iconify-icons/mingcute/settings-3-line'),\n more: () => import('@iconify-icons/mingcute/more-3-line'),\n more2: () => import('@iconify-icons/mingcute/more-1-fill'),\n external: {\n module: () => import('@iconify-icons/mingcute/external-link-line'),\n rtl: true,\n },\n popout: {\n module: () => import('@iconify-icons/mingcute/external-link-line'),\n rtl: true,\n },\n popin: {\n module: () => import('@iconify-icons/mingcute/external-link-line'),\n rotate: '180deg',\n rtl: true,\n },\n plus: () => import('@iconify-icons/mingcute/add-circle-line'),\n 'chevron-left': {\n module: () => import('@iconify-icons/mingcute/left-line'),\n rtl: true,\n },\n 'chevron-right': {\n module: () => import('@iconify-icons/mingcute/right-line'),\n rtl: true,\n },\n 'chevron-down': () => import('@iconify-icons/mingcute/down-line'),\n reply: {\n module: () => import('@iconify-icons/mingcute/share-forward-line'),\n rotate: '180deg',\n flip: 'horizontal',\n rtl: true,\n },\n thread: () => import('@iconify-icons/mingcute/route-line'),\n group: {\n module: () => import('@iconify-icons/mingcute/group-line'),\n rtl: true,\n },\n bot: () => import('@iconify-icons/mingcute/android-2-line'),\n menu: () => import('@iconify-icons/mingcute/rows-4-line'),\n list: {\n module: () => import('@iconify-icons/mingcute/list-check-line'),\n rtl: true,\n },\n search: () => import('@iconify-icons/mingcute/search-2-line'),\n hashtag: () => import('@iconify-icons/mingcute/hashtag-line'),\n info: () => import('@iconify-icons/mingcute/information-line'),\n shortcut: () => import('@iconify-icons/mingcute/lightning-line'),\n user: () => import('@iconify-icons/mingcute/user-4-line'),\n following: () => import('@iconify-icons/mingcute/walk-line'),\n pin: () => import('@iconify-icons/mingcute/pin-line'),\n unpin: [() => import('@iconify-icons/mingcute/pin-line'), '180deg'],\n bus: () => import('@iconify-icons/mingcute/bus-2-line'),\n link: () => import('@iconify-icons/mingcute/link-2-line'),\n history: () => import('@iconify-icons/mingcute/history-line'),\n share: () => import('@iconify-icons/mingcute/share-2-line'),\n sparkles: () => import('@iconify-icons/mingcute/sparkles-line'),\n sparkles2: () => import('@iconify-icons/mingcute/sparkles-2-line'),\n exit: {\n module: () => import('@iconify-icons/mingcute/exit-line'),\n rtl: true,\n },\n translate: () => import('@iconify-icons/mingcute/translate-line'),\n play: () => import('@iconify-icons/mingcute/play-fill'),\n trash: () => import('@iconify-icons/mingcute/delete-2-line'),\n mute: {\n module: () => import('@iconify-icons/mingcute/volume-mute-line'),\n rtl: true,\n },\n unmute: {\n module: () => import('@iconify-icons/mingcute/volume-line'),\n rtl: true,\n },\n block: () => import('@iconify-icons/mingcute/forbid-circle-line'),\n unblock: [\n () => import('@iconify-icons/mingcute/forbid-circle-line'),\n '180deg',\n ],\n flag: () => import('@iconify-icons/mingcute/flag-1-line'),\n time: () => import('@iconify-icons/mingcute/time-line'),\n refresh: () => import('@iconify-icons/mingcute/refresh-2-line'),\n emoji2: () => import('@iconify-icons/mingcute/emoji-2-line'),\n filter: () => import('@iconify-icons/mingcute/filter-2-line'),\n filters: () => import('@iconify-icons/mingcute/filter-line'),\n chart: () => import('@iconify-icons/mingcute/chart-line-line'),\n react: () => import('@iconify-icons/mingcute/react-line'),\n layout4: {\n module: () => import('@iconify-icons/mingcute/layout-4-line'),\n rtl: true,\n },\n layout5: () => import('@iconify-icons/mingcute/layout-5-line'),\n announce: {\n module: () => import('@iconify-icons/mingcute/announcement-line'),\n rtl: true,\n },\n alert: () => import('@iconify-icons/mingcute/alert-line'),\n round: () => import('@iconify-icons/mingcute/round-fill'),\n 'arrow-up-circle': () =>\n import('@iconify-icons/mingcute/arrow-up-circle-line'),\n 'arrow-down-circle': () =>\n import('@iconify-icons/mingcute/arrow-down-circle-line'),\n clipboard: {\n module: () => import('@iconify-icons/mingcute/clipboard-line'),\n rtl: true,\n },\n 'account-edit': () => import('@iconify-icons/mingcute/user-edit-line'),\n 'account-warning': () => import('@iconify-icons/mingcute/user-warning-line'),\n keyboard: () => import('@iconify-icons/mingcute/keyboard-line'),\n cloud: () => import('@iconify-icons/mingcute/cloud-line'),\n month: {\n module: () => import('@iconify-icons/mingcute/calendar-month-line'),\n rtl: true,\n },\n media: () => import('@iconify-icons/mingcute/photo-album-line'),\n speak: () => import('@iconify-icons/mingcute/radar-line'),\n building: () => import('@iconify-icons/mingcute/building-5-line'),\n history2: {\n module: () => import('@iconify-icons/mingcute/history-2-line'),\n rtl: true,\n },\n document: () => import('@iconify-icons/mingcute/document-line'),\n 'arrows-right': {\n module: () => import('@iconify-icons/mingcute/arrows-right-line'),\n rtl: true,\n },\n code: () => import('@iconify-icons/mingcute/code-line'),\n copy: () => import('@iconify-icons/mingcute/copy-2-line'),\n quote: {\n module: () => import('@iconify-icons/mingcute/quote-left-line'),\n rtl: true,\n },\n settings: () => import('@iconify-icons/mingcute/settings-6-line'),\n 'heart-break': () => import('@iconify-icons/mingcute/heart-crack-line'),\n 'user-x': () => import('@iconify-icons/mingcute/user-x-line'),\n minimize: () => import('@iconify-icons/mingcute/arrows-down-line'),\n celebrate: () => import('@iconify-icons/mingcute/celebrate-line'),\n};\n","import moize from 'moize';\nimport { useEffect, useRef, useState } from 'preact/hooks';\n\nimport { ICONS } from './ICONS';\n\nconst SIZES = {\n s: 12,\n m: 16,\n l: 20,\n xl: 24,\n xxl: 32,\n};\n\nconst ICONDATA = {};\n\n// Memoize the dangerouslySetInnerHTML of the SVGs\nconst SVGICon = moize(\n function ({ width, height, body, rotate, flip }) {\n return (\n \n );\n },\n {\n isShallowEqual: true,\n maxSize: Object.keys(ICONS).length,\n matchesArg: (cacheKeyArg, keyArg) =>\n cacheKeyArg.icon === keyArg.icon && cacheKeyArg.body === keyArg.body,\n },\n);\n\nfunction Icon({\n icon,\n size = 'm',\n alt,\n title,\n class: className = '',\n style = {},\n}) {\n if (!icon) return null;\n\n const iconSize = SIZES[size];\n let iconBlock = ICONS[icon];\n if (!iconBlock) {\n console.warn(`Icon ${icon} not found`);\n return null;\n }\n\n let rotate,\n flip,\n rtl = false;\n if (Array.isArray(iconBlock)) {\n [iconBlock, rotate, flip] = iconBlock;\n } else if (typeof iconBlock === 'object') {\n ({ rotate, flip, rtl } = iconBlock);\n iconBlock = iconBlock.module;\n }\n\n const [iconData, setIconData] = useState(ICONDATA[icon]);\n const currentIcon = useRef(icon);\n useEffect(() => {\n if (iconData && currentIcon.current === icon) return;\n (async () => {\n const iconB = await iconBlock();\n setIconData(iconB.default);\n ICONDATA[icon] = iconB.default;\n })();\n currentIcon.current = icon;\n }, [icon]);\n\n return (\n \n {iconData && (\n // \n \n )}\n \n );\n}\n\nexport default Icon;\n","import { useEffect } from 'preact/hooks';\n\nfunction useCloseWatcher(fn, deps = []) {\n if (!fn || typeof fn !== 'function') return;\n useEffect(() => {\n const watcher = new CloseWatcher();\n watcher.addEventListener('close', fn);\n return () => {\n watcher.destroy();\n };\n }, deps);\n}\n\nexport default window.CloseWatcher ? useCloseWatcher : () => {};\n","import './modal.css';\n\nimport { createPortal } from 'preact/compat';\nimport { useEffect, useLayoutEffect, useRef } from 'preact/hooks';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport store from '../utils/store';\nimport useCloseWatcher from '../utils/useCloseWatcher';\n\nconst $modalContainer = document.getElementById('modal-container');\n\nfunction getBackdropThemeColor() {\n return getComputedStyle(document.documentElement).getPropertyValue(\n '--backdrop-theme-color',\n );\n}\n\nfunction Modal({ children, onClose, onClick, class: className, minimized }) {\n if (!children) return null;\n\n const modalRef = useRef();\n useEffect(() => {\n let timer = setTimeout(() => {\n const focusElement = modalRef.current?.querySelector('[tabindex=\"-1\"]');\n if (focusElement) {\n focusElement.focus();\n }\n }, 100);\n return () => clearTimeout(timer);\n }, []);\n\n const supportsCloseWatcher = window.CloseWatcher;\n const escRef = useHotkeys(\n 'esc',\n () => {\n setTimeout(() => {\n onClose?.();\n }, 0);\n },\n {\n enabled: !supportsCloseWatcher && !!onClose,\n // Using keyup and setTimeout above\n // This will run \"later\" to prevent clash with esc handlers from other components\n keydown: false,\n keyup: true,\n },\n [onClose],\n );\n useCloseWatcher(onClose, [onClose]);\n\n useEffect(() => {\n const $deckContainers = document.querySelectorAll('.deck-container');\n if (minimized) {\n // Similar to focusDeck in focus-deck.jsx\n // Focus last deck\n const page = $deckContainers[$deckContainers.length - 1]; // last one\n if (page && page.tabIndex === -1) {\n page.focus();\n }\n } else {\n if (children) {\n $deckContainers.forEach(($deckContainer) => {\n $deckContainer.setAttribute('inert', '');\n });\n } else {\n $deckContainers.forEach(($deckContainer) => {\n $deckContainer.removeAttribute('inert');\n });\n }\n }\n return () => {\n $deckContainers.forEach(($deckContainer) => {\n $deckContainer.removeAttribute('inert');\n });\n };\n }, [children, minimized]);\n\n const $meta = useRef();\n const metaColor = useRef();\n useLayoutEffect(() => {\n if (children && !minimized) {\n const theme = store.local.get('theme');\n if (theme) {\n const backdropColor = getBackdropThemeColor();\n console.log({ backdropColor });\n $meta.current = document.querySelector(\n `meta[name=\"theme-color\"][data-theme-setting=\"manual\"]`,\n );\n if ($meta.current) {\n metaColor.current = $meta.current.content;\n $meta.current.content = backdropColor;\n }\n } else {\n const colorScheme = window.matchMedia('(prefers-color-scheme: dark)')\n .matches\n ? 'dark'\n : 'light';\n const backdropColor = getBackdropThemeColor();\n console.log({ backdropColor });\n $meta.current = document.querySelector(\n `meta[name=\"theme-color\"][media*=\"${colorScheme}\"]`,\n );\n if ($meta.current) {\n metaColor.current = $meta.current.content;\n $meta.current.content = backdropColor;\n }\n }\n } else {\n // Reset meta color\n if ($meta.current && metaColor.current) {\n $meta.current.content = metaColor.current;\n }\n }\n return () => {\n // Reset meta color\n if ($meta.current && metaColor.current) {\n $meta.current.content = metaColor.current;\n }\n };\n }, [children, minimized]);\n\n const Modal = (\n {\n modalRef.current = node;\n escRef(node?.querySelector?.('[tabindex=\"-1\"]') || node);\n }}\n className={className}\n onClick={(e) => {\n onClick?.(e);\n if (e.target === e.currentTarget) {\n onClose?.(e);\n }\n }}\n tabIndex={minimized ? 0 : '-1'}\n inert={minimized}\n onFocus={(e) => {\n try {\n if (e.target === e.currentTarget) {\n const focusElement =\n modalRef.current?.querySelector('[tabindex=\"-1\"]');\n const isFocusable =\n !!focusElement &&\n getComputedStyle(focusElement)?.pointerEvents !== 'none';\n if (focusElement && isFocusable) {\n focusElement.focus();\n }\n }\n } catch (err) {\n console.error(err);\n }\n }}\n >\n {children}\n \n );\n\n return createPortal(Modal, $modalContainer);\n\n // return createPortal(children, $modalContainer);\n}\n\nexport default Modal;\n","import { unstable_batchedUpdates } from 'react-dom';\n\nconst isMenuOpen = state => !!state && state[0] === 'o';\nconst batchedUpdates = unstable_batchedUpdates;\nconst getTransition = (transition, name) => transition === true || !!(transition && transition[name]);\nconst safeCall = (fn, arg) => typeof fn === 'function' ? fn(arg) : fn;\nconst internalKey = '_szhsinMenu';\nconst getName = component => component[internalKey];\nconst defineName = (name, component) => Object.defineProperty(component, internalKey, {\n value: name\n});\nconst mergeProps = (target, source) => {\n source && Object.keys(source).forEach(key => {\n const targetProp = target[key];\n const sourceProp = source[key];\n if (typeof sourceProp === 'function' && targetProp) {\n target[key] = (...arg) => {\n sourceProp(...arg);\n targetProp(...arg);\n };\n } else {\n target[key] = sourceProp;\n }\n });\n return target;\n};\nconst parsePadding = paddingStr => {\n if (typeof paddingStr !== 'string') return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n const padding = paddingStr.trim().split(/\\s+/, 4).map(parseFloat);\n const top = !isNaN(padding[0]) ? padding[0] : 0;\n const right = !isNaN(padding[1]) ? padding[1] : top;\n return {\n top,\n right,\n bottom: !isNaN(padding[2]) ? padding[2] : top,\n left: !isNaN(padding[3]) ? padding[3] : right\n };\n};\nconst getScrollAncestor = node => {\n while (node) {\n node = node.parentNode;\n if (!node || node === document.body || !node.parentNode) return;\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle(node);\n if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) return node;\n }\n};\nfunction commonProps(isDisabled, isHovering) {\n return {\n 'aria-disabled': isDisabled || undefined,\n tabIndex: isHovering ? 0 : -1\n };\n}\nfunction indexOfNode(nodeList, node) {\n for (let i = 0; i < nodeList.length; i++) {\n if (nodeList[i] === node) return i;\n }\n return -1;\n}\n\nexport { batchedUpdates, commonProps, defineName, getName, getScrollAncestor, getTransition, indexOfNode, isMenuOpen, mergeProps, parsePadding, safeCall };\n","import { useMemo } from 'react';\n\nconst useBEM = ({\n block,\n element,\n modifiers,\n className\n}) => useMemo(() => {\n const blockElement = element ? `${block}__${element}` : block;\n let classString = blockElement;\n modifiers && Object.keys(modifiers).forEach(name => {\n const value = modifiers[name];\n if (value) classString += ` ${blockElement}--${value === true ? name : `${name}-${value}`}`;\n });\n let expandedClassName = typeof className === 'function' ? className(modifiers) : className;\n if (typeof expandedClassName === 'string') {\n expandedClassName = expandedClassName.trim();\n if (expandedClassName) classString += ` ${expandedClassName}`;\n }\n return classString;\n}, [block, element, modifiers, className]);\n\nexport { useBEM };\n","import { createContext } from 'react';\n\nconst menuContainerClass = 'szh-menu-container';\nconst menuClass = 'szh-menu';\nconst menuButtonClass = 'szh-menu-button';\nconst menuArrowClass = 'arrow';\nconst menuItemClass = 'item';\nconst menuDividerClass = 'divider';\nconst menuHeaderClass = 'header';\nconst menuGroupClass = 'group';\nconst subMenuClass = 'submenu';\nconst radioGroupClass = 'radio-group';\nconst HoverItemContext = /*#__PURE__*/createContext();\nconst MenuListItemContext = /*#__PURE__*/createContext({});\nconst MenuListContext = /*#__PURE__*/createContext({});\nconst EventHandlersContext = /*#__PURE__*/createContext({});\nconst RadioGroupContext = /*#__PURE__*/createContext({});\nconst SettingsContext = /*#__PURE__*/createContext({});\nconst Keys = /*#__PURE__*/Object.freeze({\n ENTER: 'Enter',\n ESC: 'Escape',\n SPACE: ' ',\n HOME: 'Home',\n END: 'End',\n LEFT: 'ArrowLeft',\n RIGHT: 'ArrowRight',\n UP: 'ArrowUp',\n DOWN: 'ArrowDown'\n});\nconst HoverActionTypes = /*#__PURE__*/Object.freeze({\n RESET: 0,\n SET: 1,\n UNSET: 2,\n INCREASE: 3,\n DECREASE: 4,\n FIRST: 5,\n LAST: 6,\n SET_INDEX: 7\n});\nconst CloseReason = /*#__PURE__*/Object.freeze({\n CLICK: 'click',\n CANCEL: 'cancel',\n BLUR: 'blur',\n SCROLL: 'scroll'\n});\nconst FocusPositions = /*#__PURE__*/Object.freeze({\n FIRST: 'first',\n LAST: 'last'\n});\nconst MenuStateMap = /*#__PURE__*/Object.freeze({\n entering: 'opening',\n entered: 'open',\n exiting: 'closing',\n exited: 'closed'\n});\nconst positionAbsolute = 'absolute';\nconst roleNone = 'none';\nconst roleMenuitem = 'menuitem';\nconst noScrollFocus = {\n preventScroll: true\n};\n\nexport { CloseReason, EventHandlersContext, FocusPositions, HoverActionTypes, HoverItemContext, Keys, MenuListContext, MenuListItemContext, MenuStateMap, RadioGroupContext, SettingsContext, menuArrowClass, menuButtonClass, menuClass, menuContainerClass, menuDividerClass, menuGroupClass, menuHeaderClass, menuItemClass, noScrollFocus, positionAbsolute, radioGroupClass, roleMenuitem, roleNone, subMenuClass };\n","import { useMemo } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps, getTransition, safeCall } from '../utils/utils.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { menuContainerClass, Keys, CloseReason } from '../utils/constants.js';\n\nconst MenuContainer = ({\n className,\n containerRef,\n containerProps,\n children,\n isOpen,\n theming,\n transition,\n onClose\n}) => {\n const itemTransition = getTransition(transition, 'item');\n const onKeyDown = ({\n key\n }) => {\n switch (key) {\n case Keys.ESC:\n safeCall(onClose, {\n key,\n reason: CloseReason.CANCEL\n });\n break;\n }\n };\n const onBlur = e => {\n if (isOpen && !e.currentTarget.contains(e.relatedTarget)) {\n safeCall(onClose, {\n reason: CloseReason.BLUR\n });\n }\n };\n return /*#__PURE__*/jsx(\"div\", {\n ...mergeProps({\n onKeyDown,\n onBlur\n }, containerProps),\n className: useBEM({\n block: menuContainerClass,\n modifiers: useMemo(() => ({\n theme: theming,\n itemTransition\n }), [theming, itemTransition]),\n className\n }),\n style: {\n position: 'absolute',\n ...containerProps?.style\n },\n ref: containerRef,\n children: children\n });\n};\n\nexport { MenuContainer };\n","const createSubmenuCtx = () => {\n let timer,\n count = 0;\n return {\n toggle: isOpen => {\n isOpen ? count++ : count--;\n count = Math.max(count, 0);\n },\n on: (closeDelay, pending, settled) => {\n if (count) {\n if (!timer) timer = setTimeout(() => {\n timer = 0;\n pending();\n }, closeDelay);\n } else {\n settled?.();\n }\n },\n off: () => {\n if (timer) {\n clearTimeout(timer);\n timer = 0;\n }\n }\n };\n};\n\nexport { createSubmenuCtx };\n","import { useState, useRef, useCallback } from 'react';\nimport { noScrollFocus, HoverActionTypes } from '../utils/constants.js';\nimport { indexOfNode } from '../utils/utils.js';\n\nconst useItems = menuRef => {\n const [hoverItem, setHoverItem] = useState();\n const stateRef = useRef({\n items: [],\n hoverIndex: -1,\n sorted: false\n });\n const mutableState = stateRef.current;\n const updateItems = useCallback((item, isMounted) => {\n const {\n items\n } = mutableState;\n if (!item) {\n mutableState.items = [];\n } else if (isMounted) {\n items.push(item);\n } else {\n const index = items.indexOf(item);\n if (index > -1) {\n items.splice(index, 1);\n if (item.contains(document.activeElement)) {\n menuRef.current.focus(noScrollFocus);\n setHoverItem();\n }\n }\n }\n mutableState.hoverIndex = -1;\n mutableState.sorted = false;\n }, [mutableState, menuRef]);\n const dispatch = useCallback((actionType, item, nextIndex) => {\n const {\n items,\n hoverIndex\n } = mutableState;\n const sortItems = () => {\n if (mutableState.sorted) return;\n const orderedNodes = menuRef.current.querySelectorAll('.szh-menu__item');\n items.sort((a, b) => indexOfNode(orderedNodes, a) - indexOfNode(orderedNodes, b));\n mutableState.sorted = true;\n };\n let index = -1,\n newItem = undefined;\n switch (actionType) {\n case HoverActionTypes.RESET:\n break;\n case HoverActionTypes.SET:\n newItem = item;\n break;\n case HoverActionTypes.UNSET:\n newItem = prevItem => prevItem === item ? undefined : prevItem;\n break;\n case HoverActionTypes.FIRST:\n sortItems();\n index = 0;\n newItem = items[index];\n break;\n case HoverActionTypes.LAST:\n sortItems();\n index = items.length - 1;\n newItem = items[index];\n break;\n case HoverActionTypes.SET_INDEX:\n sortItems();\n index = nextIndex;\n newItem = items[index];\n break;\n case HoverActionTypes.INCREASE:\n sortItems();\n index = hoverIndex;\n if (index < 0) index = items.indexOf(item);\n index++;\n if (index >= items.length) index = 0;\n newItem = items[index];\n break;\n case HoverActionTypes.DECREASE:\n sortItems();\n index = hoverIndex;\n if (index < 0) index = items.indexOf(item);\n index--;\n if (index < 0) index = items.length - 1;\n newItem = items[index];\n break;\n default:\n if (process.env.NODE_ENV !== 'production') throw new Error(`[React-Menu] Unknown hover action type: ${actionType}`);\n }\n if (!newItem) index = -1;\n setHoverItem(newItem);\n mutableState.hoverIndex = index;\n }, [menuRef, mutableState]);\n return {\n hoverItem,\n dispatch,\n updateItems\n };\n};\n\nexport { useItems };\n","const getNativeDimension = (transformed, untransformed) => Math.round(transformed) === untransformed ? transformed : untransformed;\nconst getNormalizedClientRect = element => {\n const rect = element.getBoundingClientRect();\n rect.width = getNativeDimension(rect.width, element.offsetWidth);\n rect.height = getNativeDimension(rect.height, element.offsetHeight);\n return rect;\n};\n\nexport { getNormalizedClientRect };\n","import { getNormalizedClientRect } from './getNormalizedClientRect.js';\nimport { parsePadding } from '../utils/utils.js';\n\nconst getPositionHelpers = (containerRef, menuRef, menuScroll, boundingBoxPadding) => {\n const menuRect = getNormalizedClientRect(menuRef.current);\n const containerRect = containerRef.current.getBoundingClientRect();\n const boundingRect = menuScroll === window ? {\n left: 0,\n top: 0,\n right: document.documentElement.clientWidth,\n bottom: window.innerHeight\n } : menuScroll.getBoundingClientRect();\n const padding = parsePadding(boundingBoxPadding);\n const getLeftOverflow = x => x + containerRect.left - boundingRect.left - padding.left;\n const getRightOverflow = x => x + containerRect.left + menuRect.width - boundingRect.right + padding.right;\n const getTopOverflow = y => y + containerRect.top - boundingRect.top - padding.top;\n const getBottomOverflow = y => y + containerRect.top + menuRect.height - boundingRect.bottom + padding.bottom;\n const confineHorizontally = x => {\n let leftOverflow = getLeftOverflow(x);\n if (leftOverflow < 0) {\n x -= leftOverflow;\n } else {\n const rightOverflow = getRightOverflow(x);\n if (rightOverflow > 0) {\n x -= rightOverflow;\n leftOverflow = getLeftOverflow(x);\n if (leftOverflow < 0) x -= leftOverflow;\n }\n }\n return x;\n };\n const confineVertically = y => {\n let topOverflow = getTopOverflow(y);\n if (topOverflow < 0) {\n y -= topOverflow;\n } else {\n const bottomOverflow = getBottomOverflow(y);\n if (bottomOverflow > 0) {\n y -= bottomOverflow;\n topOverflow = getTopOverflow(y);\n if (topOverflow < 0) y -= topOverflow;\n }\n }\n return y;\n };\n return {\n menuRect,\n containerRect,\n getLeftOverflow,\n getRightOverflow,\n getTopOverflow,\n getBottomOverflow,\n confineHorizontally,\n confineVertically\n };\n};\n\nexport { getPositionHelpers };\n","const placeArrowVertical = ({\n arrowRef,\n menuY,\n anchorRect,\n containerRect,\n menuRect\n}) => {\n let y = anchorRect.top - containerRect.top - menuY + anchorRect.height / 2;\n const offset = arrowRef.current.offsetHeight * 1.25;\n y = Math.max(offset, y);\n y = Math.min(y, menuRect.height - offset);\n return y;\n};\n\nexport { placeArrowVertical };\n","import { placeArrowVertical } from './placeArrowVertical.js';\n\nconst placeLeftorRight = ({\n anchorRect,\n containerRect,\n menuRect,\n placeLeftorRightY,\n placeLeftX,\n placeRightX,\n getLeftOverflow,\n getRightOverflow,\n confineHorizontally,\n confineVertically,\n arrowRef,\n arrow,\n direction,\n position\n}) => {\n let computedDirection = direction;\n let y = placeLeftorRightY;\n if (position !== 'initial') {\n y = confineVertically(y);\n if (position === 'anchor') {\n y = Math.min(y, anchorRect.bottom - containerRect.top);\n y = Math.max(y, anchorRect.top - containerRect.top - menuRect.height);\n }\n }\n let x, leftOverflow, rightOverflow;\n if (computedDirection === 'left') {\n x = placeLeftX;\n if (position !== 'initial') {\n leftOverflow = getLeftOverflow(x);\n if (leftOverflow < 0) {\n rightOverflow = getRightOverflow(placeRightX);\n if (rightOverflow <= 0 || -leftOverflow > rightOverflow) {\n x = placeRightX;\n computedDirection = 'right';\n }\n }\n }\n } else {\n x = placeRightX;\n if (position !== 'initial') {\n rightOverflow = getRightOverflow(x);\n if (rightOverflow > 0) {\n leftOverflow = getLeftOverflow(placeLeftX);\n if (leftOverflow >= 0 || -leftOverflow < rightOverflow) {\n x = placeLeftX;\n computedDirection = 'left';\n }\n }\n }\n }\n if (position === 'auto') x = confineHorizontally(x);\n const arrowY = arrow ? placeArrowVertical({\n menuY: y,\n arrowRef,\n anchorRect,\n containerRect,\n menuRect\n }) : undefined;\n return {\n arrowY,\n x,\n y,\n computedDirection\n };\n};\n\nexport { placeLeftorRight };\n","const placeArrowHorizontal = ({\n arrowRef,\n menuX,\n anchorRect,\n containerRect,\n menuRect\n}) => {\n let x = anchorRect.left - containerRect.left - menuX + anchorRect.width / 2;\n const offset = arrowRef.current.offsetWidth * 1.25;\n x = Math.max(offset, x);\n x = Math.min(x, menuRect.width - offset);\n return x;\n};\n\nexport { placeArrowHorizontal };\n","import { placeArrowHorizontal } from './placeArrowHorizontal.js';\n\nconst placeToporBottom = ({\n anchorRect,\n containerRect,\n menuRect,\n placeToporBottomX,\n placeTopY,\n placeBottomY,\n getTopOverflow,\n getBottomOverflow,\n confineHorizontally,\n confineVertically,\n arrowRef,\n arrow,\n direction,\n position\n}) => {\n let computedDirection = direction === 'top' ? 'top' : 'bottom';\n let x = placeToporBottomX;\n if (position !== 'initial') {\n x = confineHorizontally(x);\n if (position === 'anchor') {\n x = Math.min(x, anchorRect.right - containerRect.left);\n x = Math.max(x, anchorRect.left - containerRect.left - menuRect.width);\n }\n }\n let y, topOverflow, bottomOverflow;\n if (computedDirection === 'top') {\n y = placeTopY;\n if (position !== 'initial') {\n topOverflow = getTopOverflow(y);\n if (topOverflow < 0) {\n bottomOverflow = getBottomOverflow(placeBottomY);\n if (bottomOverflow <= 0 || -topOverflow > bottomOverflow) {\n y = placeBottomY;\n computedDirection = 'bottom';\n }\n }\n }\n } else {\n y = placeBottomY;\n if (position !== 'initial') {\n bottomOverflow = getBottomOverflow(y);\n if (bottomOverflow > 0) {\n topOverflow = getTopOverflow(placeTopY);\n if (topOverflow >= 0 || -topOverflow < bottomOverflow) {\n y = placeTopY;\n computedDirection = 'top';\n }\n }\n }\n }\n if (position === 'auto') y = confineVertically(y);\n const arrowX = arrow ? placeArrowHorizontal({\n menuX: x,\n arrowRef,\n anchorRect,\n containerRect,\n menuRect\n }) : undefined;\n return {\n arrowX,\n x,\n y,\n computedDirection\n };\n};\n\nexport { placeToporBottom };\n","import { placeLeftorRight } from './placeLeftorRight.js';\nimport { placeToporBottom } from './placeToporBottom.js';\n\nconst positionMenu = ({\n arrow,\n align,\n direction,\n gap,\n shift,\n position,\n anchorRect,\n arrowRef,\n positionHelpers\n}) => {\n const {\n menuRect,\n containerRect\n } = positionHelpers;\n const isHorizontal = direction === 'left' || direction === 'right';\n let horizontalOffset = isHorizontal ? gap : shift;\n let verticalOffset = isHorizontal ? shift : gap;\n if (arrow) {\n const arrowElt = arrowRef.current;\n if (isHorizontal) {\n horizontalOffset += arrowElt.offsetWidth;\n } else {\n verticalOffset += arrowElt.offsetHeight;\n }\n }\n const placeLeftX = anchorRect.left - containerRect.left - menuRect.width - horizontalOffset;\n const placeRightX = anchorRect.right - containerRect.left + horizontalOffset;\n const placeTopY = anchorRect.top - containerRect.top - menuRect.height - verticalOffset;\n const placeBottomY = anchorRect.bottom - containerRect.top + verticalOffset;\n let placeToporBottomX, placeLeftorRightY;\n if (align === 'end') {\n placeToporBottomX = anchorRect.right - containerRect.left - menuRect.width;\n placeLeftorRightY = anchorRect.bottom - containerRect.top - menuRect.height;\n } else if (align === 'center') {\n placeToporBottomX = anchorRect.left - containerRect.left - (menuRect.width - anchorRect.width) / 2;\n placeLeftorRightY = anchorRect.top - containerRect.top - (menuRect.height - anchorRect.height) / 2;\n } else {\n placeToporBottomX = anchorRect.left - containerRect.left;\n placeLeftorRightY = anchorRect.top - containerRect.top;\n }\n placeToporBottomX += horizontalOffset;\n placeLeftorRightY += verticalOffset;\n const options = {\n ...positionHelpers,\n anchorRect,\n placeLeftX,\n placeRightX,\n placeLeftorRightY,\n placeTopY,\n placeBottomY,\n placeToporBottomX,\n arrowRef,\n arrow,\n direction,\n position\n };\n switch (direction) {\n case 'left':\n case 'right':\n return placeLeftorRight(options);\n case 'top':\n case 'bottom':\n default:\n return placeToporBottom(options);\n }\n};\n\nexport { positionMenu };\n","import { useLayoutEffect, useEffect } from 'react';\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect as useLayoutEffect };\n","import { useMemo } from 'react';\n\nfunction setRef(ref, instance) {\n typeof ref === 'function' ? ref(instance) : ref.current = instance;\n}\nconst useCombinedRef = (refA, refB) => useMemo(() => {\n if (!refA) return refB;\n if (!refB) return refA;\n return instance => {\n setRef(refA, instance);\n setRef(refB, instance);\n };\n}, [refA, refB]);\n\nexport { useCombinedRef };\n","import { useState, useReducer, useContext, useRef, useCallback, useEffect, useMemo } from 'react';\nimport { flushSync } from 'react-dom';\nimport { MenuContainer } from './MenuContainer.js';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { createSubmenuCtx } from '../utils/submenuCtx.js';\nimport { SettingsContext, MenuListContext, HoverActionTypes, noScrollFocus, menuClass, menuArrowClass, positionAbsolute, MenuListItemContext, HoverItemContext, Keys, CloseReason, FocusPositions } from '../utils/constants.js';\nimport { useItems } from '../hooks/useItems.js';\nimport { getScrollAncestor, commonProps, mergeProps, safeCall, isMenuOpen, getTransition, batchedUpdates } from '../utils/utils.js';\nimport { getPositionHelpers } from '../positionUtils/getPositionHelpers.js';\nimport { positionMenu } from '../positionUtils/positionMenu.js';\nimport { useLayoutEffect as useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\n\nconst offScreen = -9999;\nconst MenuList = ({\n ariaLabel,\n menuClassName,\n menuStyle,\n arrow,\n arrowProps = {},\n anchorPoint,\n anchorRef,\n containerRef,\n containerProps,\n externalRef,\n parentScrollingRef,\n align = 'start',\n direction = 'bottom',\n position = 'auto',\n overflow = 'visible',\n setDownOverflow,\n repositionFlag,\n captureFocus = true,\n state,\n endTransition,\n isDisabled,\n menuItemFocus,\n gap = 0,\n shift = 0,\n children,\n onClose,\n focusProps: _1,\n ...restProps\n}) => {\n const [menuPosition, setMenuPosition] = useState({\n x: offScreen,\n y: offScreen\n });\n const [arrowPosition, setArrowPosition] = useState({});\n const [overflowData, setOverflowData] = useState();\n const [expandedDirection, setExpandedDirection] = useState(direction);\n const [submenuCtx] = useState(createSubmenuCtx);\n const [reposSubmenu, forceReposSubmenu] = useReducer(c => c + 1, 1);\n const {\n transition,\n boundingBoxRef,\n boundingBoxPadding,\n rootMenuRef,\n rootAnchorRef,\n scrollNodesRef,\n reposition,\n viewScroll,\n submenuCloseDelay\n } = useContext(SettingsContext);\n const {\n submenuCtx: parentSubmenuCtx,\n reposSubmenu: reposFlag = repositionFlag\n } = useContext(MenuListContext);\n const menuRef = useRef();\n const arrowRef = useRef();\n const prevOpen = useRef(false);\n const {\n hoverItem,\n dispatch,\n updateItems\n } = useItems(menuRef);\n const isOpen = isMenuOpen(state);\n const openTransition = getTransition(transition, 'open');\n const closeTransition = getTransition(transition, 'close');\n const scrollNodes = scrollNodesRef.current;\n const onKeyDown = e => {\n switch (e.key) {\n case Keys.HOME:\n dispatch(HoverActionTypes.FIRST);\n break;\n case Keys.END:\n dispatch(HoverActionTypes.LAST);\n break;\n case Keys.UP:\n dispatch(HoverActionTypes.DECREASE, hoverItem);\n break;\n case Keys.DOWN:\n dispatch(HoverActionTypes.INCREASE, hoverItem);\n break;\n case Keys.SPACE:\n if (e.target && e.target.className.indexOf(menuClass) !== -1) {\n e.preventDefault();\n }\n return;\n default:\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n };\n const onAnimationEnd = () => {\n if (state === 'closing') {\n setOverflowData();\n }\n safeCall(endTransition);\n };\n const onPointerMove = e => {\n e.stopPropagation();\n submenuCtx.on(submenuCloseDelay, () => {\n dispatch(HoverActionTypes.RESET);\n menuRef.current.focus(noScrollFocus);\n });\n };\n const onPointerLeave = e => {\n if (e.target === e.currentTarget) submenuCtx.off();\n };\n const handlePosition = useCallback(noOverflowCheck => {\n const anchorRect = anchorRef ? anchorRef.current?.getBoundingClientRect() : anchorPoint ? {\n left: anchorPoint.x,\n right: anchorPoint.x,\n top: anchorPoint.y,\n bottom: anchorPoint.y,\n width: 0,\n height: 0\n } : null;\n if (!anchorRect) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[React-Menu] Menu might not be positioned properly as one of the anchorRef or anchorPoint prop should be provided. If `anchorRef` is provided, the anchor must be mounted before menu is open.');\n }\n return;\n }\n if (!scrollNodes.menu) {\n scrollNodes.menu = (boundingBoxRef ? boundingBoxRef.current : getScrollAncestor(rootMenuRef.current)) || window;\n }\n const positionHelpers = getPositionHelpers(containerRef, menuRef, scrollNodes.menu, boundingBoxPadding);\n let {\n arrowX,\n arrowY,\n x,\n y,\n computedDirection\n } = positionMenu({\n arrow,\n align,\n direction,\n gap,\n shift,\n position,\n anchorRect,\n arrowRef,\n positionHelpers\n });\n const {\n menuRect\n } = positionHelpers;\n const menuHeight = menuRect.height;\n if (!noOverflowCheck && overflow !== 'visible') {\n const {\n getTopOverflow,\n getBottomOverflow\n } = positionHelpers;\n let height, overflowAmt;\n const bottomOverflow = getBottomOverflow(y);\n if (bottomOverflow > 0) {\n height = menuHeight - bottomOverflow;\n overflowAmt = bottomOverflow;\n } else {\n const topOverflow = getTopOverflow(y);\n if (topOverflow < 0) {\n height = menuHeight + topOverflow;\n overflowAmt = 0 - topOverflow;\n if (height >= 0) y -= topOverflow;\n }\n }\n if (height >= 0) {\n setOverflowData({\n height,\n overflowAmt\n });\n }\n }\n if (arrow) setArrowPosition({\n x: arrowX,\n y: arrowY\n });\n setMenuPosition({\n x,\n y\n });\n setExpandedDirection(computedDirection);\n }, [arrow, align, boundingBoxPadding, direction, gap, shift, position, overflow, anchorPoint, anchorRef, containerRef, boundingBoxRef, rootMenuRef, scrollNodes]);\n useIsomorphicLayoutEffect(() => {\n if (isOpen) {\n handlePosition();\n if (prevOpen.current) forceReposSubmenu();\n }\n prevOpen.current = isOpen;\n }, [isOpen, handlePosition, reposFlag]);\n useIsomorphicLayoutEffect(() => {\n if (overflowData && !setDownOverflow) menuRef.current.scrollTop = 0;\n }, [overflowData, setDownOverflow]);\n useIsomorphicLayoutEffect(() => updateItems, [updateItems]);\n useEffect(() => {\n let {\n menu: menuScroll\n } = scrollNodes;\n if (!isOpen || !menuScroll) return;\n menuScroll = menuScroll.addEventListener ? menuScroll : window;\n if (!scrollNodes.anchors) {\n scrollNodes.anchors = [];\n let anchorScroll = getScrollAncestor(rootAnchorRef && rootAnchorRef.current);\n while (anchorScroll && anchorScroll !== menuScroll) {\n scrollNodes.anchors.push(anchorScroll);\n anchorScroll = getScrollAncestor(anchorScroll);\n }\n }\n let scroll = viewScroll;\n if (scrollNodes.anchors.length && scroll === 'initial') scroll = 'auto';\n if (scroll === 'initial') return;\n const handleScroll = () => {\n if (scroll === 'auto') {\n batchedUpdates(() => handlePosition(true));\n } else {\n safeCall(onClose, {\n reason: CloseReason.SCROLL\n });\n }\n };\n const scrollObservers = scrollNodes.anchors.concat(viewScroll !== 'initial' ? menuScroll : []);\n scrollObservers.forEach(o => o.addEventListener('scroll', handleScroll));\n return () => scrollObservers.forEach(o => o.removeEventListener('scroll', handleScroll));\n }, [rootAnchorRef, scrollNodes, isOpen, onClose, viewScroll, handlePosition]);\n const hasOverflow = !!overflowData && overflowData.overflowAmt > 0;\n useEffect(() => {\n if (hasOverflow || !isOpen || !parentScrollingRef) return;\n const handleScroll = () => batchedUpdates(handlePosition);\n const parentScroll = parentScrollingRef.current;\n parentScroll.addEventListener('scroll', handleScroll);\n return () => parentScroll.removeEventListener('scroll', handleScroll);\n }, [isOpen, hasOverflow, parentScrollingRef, handlePosition]);\n useEffect(() => {\n if (!isOpen || typeof ResizeObserver !== 'function' || reposition === 'initial') return;\n const targetList = [];\n const resizeObserver = new ResizeObserver(entries => entries.forEach(({\n target\n }) => {\n if (targetList.indexOf(target) < 0) {\n targetList.push(target);\n } else {\n flushSync(() => {\n handlePosition();\n forceReposSubmenu();\n });\n }\n }));\n const resizeObserverOptions = {\n box: 'border-box'\n };\n resizeObserver.observe(menuRef.current, resizeObserverOptions);\n const anchor = anchorRef?.current;\n anchor && resizeObserver.observe(anchor, resizeObserverOptions);\n return () => resizeObserver.disconnect();\n }, [isOpen, reposition, anchorRef, handlePosition]);\n useEffect(() => {\n if (!isOpen) {\n dispatch(HoverActionTypes.RESET);\n if (!closeTransition) setOverflowData();\n return;\n }\n const {\n position,\n alwaysUpdate\n } = menuItemFocus || {};\n const setItemFocus = () => {\n if (position === FocusPositions.FIRST) {\n dispatch(HoverActionTypes.FIRST);\n } else if (position === FocusPositions.LAST) {\n dispatch(HoverActionTypes.LAST);\n } else if (position >= -1) {\n dispatch(HoverActionTypes.SET_INDEX, undefined, position);\n }\n };\n if (alwaysUpdate) {\n setItemFocus();\n } else if (captureFocus) {\n const id = setTimeout(() => {\n const menuElt = menuRef.current;\n if (menuElt && !menuElt.contains(document.activeElement)) {\n menuElt.focus(noScrollFocus);\n setItemFocus();\n }\n }, openTransition ? 170 : 100);\n return () => clearTimeout(id);\n }\n }, [isOpen, openTransition, closeTransition, captureFocus, menuItemFocus, dispatch]);\n const itemContext = useMemo(() => ({\n isParentOpen: isOpen,\n submenuCtx,\n dispatch,\n updateItems\n }), [isOpen, submenuCtx, dispatch, updateItems]);\n let maxHeight, overflowAmt;\n if (overflowData) {\n setDownOverflow ? overflowAmt = overflowData.overflowAmt : maxHeight = overflowData.height;\n }\n const listContext = useMemo(() => ({\n reposSubmenu,\n submenuCtx,\n overflow,\n overflowAmt,\n parentMenuRef: menuRef,\n parentDir: expandedDirection\n }), [reposSubmenu, submenuCtx, overflow, overflowAmt, expandedDirection]);\n const overflowStyle = maxHeight >= 0 ? {\n maxHeight,\n overflow\n } : undefined;\n const modifiers = useMemo(() => ({\n state,\n align,\n dir: expandedDirection\n }), [state, align, expandedDirection]);\n const arrowModifiers = useMemo(() => ({\n dir: expandedDirection\n }), [expandedDirection]);\n const _arrowClassName = useBEM({\n block: menuClass,\n element: menuArrowClass,\n modifiers: arrowModifiers,\n className: arrowProps.className\n });\n const menu = /*#__PURE__*/jsxs(\"ul\", {\n role: \"menu\",\n \"aria-label\": ariaLabel,\n ...commonProps(isDisabled),\n ...mergeProps({\n onPointerEnter: parentSubmenuCtx?.off,\n onPointerMove,\n onPointerLeave,\n onKeyDown,\n onAnimationEnd\n }, restProps),\n ref: useCombinedRef(externalRef, menuRef),\n className: useBEM({\n block: menuClass,\n modifiers,\n className: menuClassName\n }),\n style: {\n ...menuStyle,\n ...overflowStyle,\n margin: 0,\n display: state === 'closed' ? 'none' : undefined,\n position: positionAbsolute,\n left: menuPosition.x,\n top: menuPosition.y\n },\n children: [arrow && /*#__PURE__*/jsx(\"li\", {\n \"aria-hidden\": true,\n ...arrowProps,\n className: _arrowClassName,\n style: {\n display: 'block',\n position: positionAbsolute,\n left: arrowPosition.x,\n top: arrowPosition.y,\n ...arrowProps.style\n },\n ref: arrowRef\n }), /*#__PURE__*/jsx(MenuListContext.Provider, {\n value: listContext,\n children: /*#__PURE__*/jsx(MenuListItemContext.Provider, {\n value: itemContext,\n children: /*#__PURE__*/jsx(HoverItemContext.Provider, {\n value: hoverItem,\n children: safeCall(children, modifiers)\n })\n })\n })]\n });\n return containerProps ? /*#__PURE__*/jsx(MenuContainer, {\n ...containerProps,\n isOpen: isOpen,\n children: menu\n }) : menu;\n};\n\nexport { MenuList };\n","import { forwardRef, useRef, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { MenuList } from './MenuList.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { Keys, CloseReason, SettingsContext, EventHandlersContext } from '../utils/constants.js';\nimport { safeCall } from '../utils/utils.js';\n\nconst ControlledMenu = /*#__PURE__*/forwardRef(function ControlledMenu({\n 'aria-label': ariaLabel,\n className,\n containerProps,\n initialMounted,\n unmountOnClose,\n transition,\n transitionTimeout,\n boundingBoxRef,\n boundingBoxPadding,\n reposition = 'auto',\n submenuOpenDelay = 300,\n submenuCloseDelay = 150,\n viewScroll = 'initial',\n portal,\n theming,\n onItemClick,\n ...restProps\n}, externalRef) {\n const containerRef = useRef(null);\n const scrollNodesRef = useRef({});\n const {\n anchorRef,\n state,\n onClose\n } = restProps;\n const settings = useMemo(() => ({\n initialMounted,\n unmountOnClose,\n transition,\n transitionTimeout,\n boundingBoxRef,\n boundingBoxPadding,\n rootMenuRef: containerRef,\n rootAnchorRef: anchorRef,\n scrollNodesRef,\n reposition,\n viewScroll,\n submenuOpenDelay,\n submenuCloseDelay\n }), [initialMounted, unmountOnClose, transition, transitionTimeout, anchorRef, boundingBoxRef, boundingBoxPadding, reposition, viewScroll, submenuOpenDelay, submenuCloseDelay]);\n const eventHandlers = useMemo(() => ({\n handleClick(event, isCheckorRadio) {\n if (!event.stopPropagation) safeCall(onItemClick, event);\n let keepOpen = event.keepOpen;\n if (keepOpen === undefined) {\n keepOpen = isCheckorRadio && event.key === Keys.SPACE;\n }\n if (!keepOpen) {\n safeCall(onClose, {\n value: event.value,\n key: event.key,\n reason: CloseReason.CLICK\n });\n }\n },\n handleClose(key) {\n safeCall(onClose, {\n key,\n reason: CloseReason.CLICK\n });\n }\n }), [onItemClick, onClose]);\n if (!state) return null;\n const menuList = /*#__PURE__*/jsx(SettingsContext.Provider, {\n value: settings,\n children: /*#__PURE__*/jsx(EventHandlersContext.Provider, {\n value: eventHandlers,\n children: /*#__PURE__*/jsx(MenuList, {\n ...restProps,\n ariaLabel: ariaLabel || 'Menu',\n externalRef: externalRef,\n containerRef: containerRef,\n containerProps: {\n className,\n containerRef,\n containerProps,\n theming,\n transition,\n onClose\n }\n })\n })\n });\n if (portal === true && typeof document !== 'undefined') {\n return /*#__PURE__*/createPortal(menuList, document.body);\n } else if (portal) {\n return portal.target ? /*#__PURE__*/createPortal(menuList, portal.target) : portal.stablePosition ? null : menuList;\n }\n return menuList;\n});\n\nexport { ControlledMenu };\n","const PRE_ENTER = 0;\nconst ENTERING = 1;\nconst ENTERED = 2;\nconst PRE_EXIT = 3;\nconst EXITING = 4;\nconst EXITED = 5;\nconst UNMOUNTED = 6;\nconst STATUS = ['preEnter', 'entering', 'entered', 'preExit', 'exiting', 'exited', 'unmounted'];\nconst getState = status => ({\n _s: status,\n status: STATUS[status],\n isEnter: status < PRE_EXIT,\n isMounted: status !== UNMOUNTED,\n isResolved: status === ENTERED || status > EXITING\n});\nconst startOrEnd = unmounted => unmounted ? UNMOUNTED : EXITED;\nconst getEndStatus = (status, unmountOnExit) => {\n switch (status) {\n case ENTERING:\n case PRE_ENTER:\n return ENTERED;\n case EXITING:\n case PRE_EXIT:\n return startOrEnd(unmountOnExit);\n }\n};\nconst getTimeout = timeout => typeof timeout === 'object' ? [timeout.enter, timeout.exit] : [timeout, timeout];\nconst nextTick = (transitState, status) => setTimeout(() => {\n // Reading document.body.offsetTop can force browser to repaint before transition to the next state\n isNaN(document.body.offsetTop) || transitState(status + 1);\n}, 0);\n\nexport { ENTERED, ENTERING, EXITED, EXITING, PRE_ENTER, PRE_EXIT, STATUS, UNMOUNTED, getEndStatus, getState, getTimeout, nextTick, startOrEnd };\n","import { useState, useRef, useCallback, useEffect } from 'react';\nimport { getState, ENTERED, startOrEnd, getTimeout, getEndStatus, PRE_EXIT, nextTick, PRE_ENTER, EXITING, ENTERING } from './utils.js';\n\nconst updateState = (status, setState, latestState, timeoutId, onChange) => {\n clearTimeout(timeoutId.current);\n const state = getState(status);\n setState(state);\n latestState.current = state;\n onChange && onChange({\n current: state\n });\n};\nconst useTransitionState = ({\n enter = true,\n exit = true,\n preEnter,\n preExit,\n timeout,\n initialEntered,\n mountOnEnter,\n unmountOnExit,\n onStateChange: onChange\n} = {}) => {\n const [state, setState] = useState(() => getState(initialEntered ? ENTERED : startOrEnd(mountOnEnter)));\n const latestState = useRef(state);\n const timeoutId = useRef();\n const [enterTimeout, exitTimeout] = getTimeout(timeout);\n const endTransition = useCallback(() => {\n const status = getEndStatus(latestState.current._s, unmountOnExit);\n status && updateState(status, setState, latestState, timeoutId, onChange);\n }, [onChange, unmountOnExit]);\n const toggle = useCallback(toEnter => {\n const transitState = status => {\n updateState(status, setState, latestState, timeoutId, onChange);\n switch (status) {\n case ENTERING:\n if (enterTimeout >= 0) timeoutId.current = setTimeout(endTransition, enterTimeout);\n break;\n case EXITING:\n if (exitTimeout >= 0) timeoutId.current = setTimeout(endTransition, exitTimeout);\n break;\n case PRE_ENTER:\n case PRE_EXIT:\n timeoutId.current = nextTick(transitState, status);\n break;\n }\n };\n const enterStage = latestState.current.isEnter;\n if (typeof toEnter !== 'boolean') toEnter = !enterStage;\n if (toEnter) {\n !enterStage && transitState(enter ? preEnter ? PRE_ENTER : ENTERING : ENTERED);\n } else {\n enterStage && transitState(exit ? preExit ? PRE_EXIT : EXITING : startOrEnd(unmountOnExit));\n }\n }, [endTransition, onChange, enter, exit, preEnter, preExit, enterTimeout, exitTimeout, unmountOnExit]);\n useEffect(() => () => clearTimeout(timeoutId.current), []);\n return [state, toggle, endTransition];\n};\n\nexport { useTransitionState };\n","import { useCallback } from 'react';\nimport { useTransitionState } from 'react-transition-state';\nimport { MenuStateMap } from '../utils/constants.js';\nimport { getTransition } from '../utils/utils.js';\n\nconst useMenuState = ({\n initialOpen,\n initialMounted,\n unmountOnClose,\n transition,\n transitionTimeout = 500,\n onMenuChange\n} = {}) => {\n const enter = getTransition(transition, 'open');\n const exit = getTransition(transition, 'close');\n const [{\n status\n }, toggleMenu, endTransition] = useTransitionState({\n initialEntered: initialOpen,\n mountOnEnter: !initialMounted,\n unmountOnExit: unmountOnClose,\n timeout: transitionTimeout,\n enter,\n exit,\n onStateChange: useCallback(({\n current: {\n isEnter,\n isResolved\n }\n }) => {\n if (!onMenuChange || isEnter && enter && isResolved || !isEnter && exit && isResolved) {\n return;\n }\n onMenuChange({\n open: isEnter\n });\n }, [onMenuChange, enter, exit])\n });\n return [{\n state: MenuStateMap[status],\n endTransition\n }, toggleMenu];\n};\n\nexport { useMenuState };\n","import { useState } from 'react';\nimport { useMenuState } from './useMenuState.js';\n\nconst useMenuStateAndFocus = options => {\n const [menuProps, toggleMenu] = useMenuState(options);\n const [menuItemFocus, setMenuItemFocus] = useState();\n const openMenu = (position, alwaysUpdate) => {\n setMenuItemFocus({\n position,\n alwaysUpdate\n });\n toggleMenu(true);\n };\n return [{\n menuItemFocus,\n ...menuProps\n }, toggleMenu, openMenu];\n};\n\nexport { useMenuStateAndFocus };\n","import { useState } from 'react';\n\nconst useClick = (state, onToggle) => {\n if (process.env.NODE_ENV !== 'production' && typeof onToggle !== 'function') {\n throw new Error('[React-Menu] useClick/useHover requires a function in the second parameter.');\n }\n const [skipOpen] = useState({});\n return {\n onMouseDown: () => {\n skipOpen.v = state && state !== 'closed';\n },\n onClick: e => skipOpen.v ? skipOpen.v = false : onToggle(true, e)\n };\n};\n\nexport { useClick };\n","import { forwardRef, useRef, useCallback, useImperativeHandle, Fragment, cloneElement, version } from 'react';\nimport { ControlledMenu } from './ControlledMenu.js';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { useMenuStateAndFocus } from '../hooks/useMenuStateAndFocus.js';\nimport { useClick } from '../hooks/useClick.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\nimport { safeCall, mergeProps, getName, isMenuOpen } from '../utils/utils.js';\nimport { FocusPositions, Keys } from '../utils/constants.js';\n\nconst isLegacyReact = parseInt(version) < 19;\nconst Menu = /*#__PURE__*/forwardRef(function Menu({\n 'aria-label': ariaLabel,\n captureFocus: _,\n initialOpen: _1,\n menuButton,\n instanceRef,\n onMenuChange,\n ...restProps\n}, externalRef) {\n const [stateProps, toggleMenu, openMenu] = useMenuStateAndFocus({\n ...restProps,\n onMenuChange\n });\n const {\n state\n } = stateProps;\n const isOpen = isMenuOpen(state);\n const buttonRef = useRef(null);\n const anchorProps = useClick(state, (_, e) => openMenu(!e.detail ? FocusPositions.FIRST : undefined));\n const handleClose = useCallback(e => {\n toggleMenu(false);\n if (e.key) buttonRef.current.focus();\n }, [toggleMenu]);\n const onKeyDown = e => {\n switch (e.key) {\n case Keys.UP:\n openMenu(FocusPositions.LAST);\n break;\n case Keys.DOWN:\n openMenu(FocusPositions.FIRST);\n break;\n default:\n return;\n }\n e.preventDefault();\n };\n const button = safeCall(menuButton, {\n open: isOpen\n });\n if (!button || !button.type) throw new Error('Menu requires a menuButton prop.');\n const buttonProps = {\n ...mergeProps({\n onKeyDown,\n ...anchorProps\n }, button.props),\n ref: useCombinedRef(isLegacyReact ? button.ref : button.props.ref, buttonRef)\n };\n if (getName(button.type) === 'MenuButton') {\n buttonProps.isOpen = isOpen;\n }\n const renderButton = /*#__PURE__*/cloneElement(button, buttonProps);\n useImperativeHandle(instanceRef, () => ({\n openMenu,\n closeMenu: () => toggleMenu(false)\n }));\n return /*#__PURE__*/jsxs(Fragment, {\n children: [renderButton, /*#__PURE__*/jsx(ControlledMenu, {\n ...restProps,\n ...stateProps,\n \"aria-label\": ariaLabel || (typeof button.props.children === 'string' ? button.props.children : 'Menu'),\n anchorRef: buttonRef,\n ref: externalRef,\n onClose: handleClose\n })]\n });\n});\n\nexport { Menu };\n","import { forwardRef, useRef, useContext, memo } from 'react';\nimport { HoverItemContext } from './constants.js';\nimport { jsx } from 'react/jsx-runtime';\n\nconst withHovering = (name, WrappedComponent) => {\n const Component = /*#__PURE__*/memo(WrappedComponent);\n const WithHovering = /*#__PURE__*/forwardRef((props, ref) => {\n const itemRef = useRef(null);\n return /*#__PURE__*/jsx(Component, {\n ...props,\n itemRef: itemRef,\n externalRef: ref,\n isHovering: useContext(HoverItemContext) === itemRef.current\n });\n });\n WithHovering.displayName = `WithHovering(${name})`;\n return WithHovering;\n};\n\nexport { withHovering };\n","import { useLayoutEffect as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';\n\nconst useItemEffect = (isDisabled, itemRef, updateItems) => {\n useIsomorphicLayoutEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !updateItems) {\n throw new Error(`[React-Menu] This menu item or submenu should be rendered under a menu: ${itemRef.current.outerHTML}`);\n }\n if (isDisabled) return;\n const item = itemRef.current;\n updateItems(item, true);\n return () => {\n updateItems(item);\n };\n }, [isDisabled, itemRef, updateItems]);\n};\n\nexport { useItemEffect };\n","import { useContext, useRef, useState, useEffect, useImperativeHandle, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { MenuList } from './MenuList.js';\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { withHovering } from '../utils/withHovering.js';\nimport { useMenuStateAndFocus } from '../hooks/useMenuStateAndFocus.js';\nimport { useItemEffect } from '../hooks/useItemEffect.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { SettingsContext, MenuListContext, MenuListItemContext, menuClass, subMenuClass, roleNone, roleMenuitem, menuItemClass, HoverActionTypes, Keys, FocusPositions } from '../utils/constants.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\nimport { mergeProps, commonProps, safeCall, isMenuOpen, batchedUpdates } from '../utils/utils.js';\n\nconst SubMenu = /*#__PURE__*/withHovering('SubMenu', function SubMenu({\n 'aria-label': ariaLabel,\n className,\n disabled,\n direction,\n label,\n openTrigger,\n onMenuChange,\n isHovering,\n instanceRef,\n itemRef,\n captureFocus: _1,\n repositionFlag: _2,\n itemProps = {},\n ...restProps\n}) {\n const settings = useContext(SettingsContext);\n const {\n rootMenuRef,\n submenuOpenDelay,\n submenuCloseDelay\n } = settings;\n const {\n parentMenuRef,\n parentDir,\n overflow: parentOverflow\n } = useContext(MenuListContext);\n const {\n isParentOpen,\n submenuCtx,\n dispatch,\n updateItems\n } = useContext(MenuListItemContext);\n const isPortal = parentOverflow !== 'visible';\n const [stateProps, toggleMenu, _openMenu] = useMenuStateAndFocus({\n ...settings,\n onMenuChange\n });\n const {\n state\n } = stateProps;\n const isDisabled = !!disabled;\n const isOpen = isMenuOpen(state);\n const containerRef = useRef(null);\n const [timerId] = useState({\n v: 0\n });\n const stopTimer = () => {\n submenuCtx.off();\n if (timerId.v) {\n clearTimeout(timerId.v);\n timerId.v = 0;\n }\n };\n const openMenu = (...args) => {\n stopTimer();\n setHover();\n !isDisabled && _openMenu(...args);\n };\n const setHover = () => !isHovering && !isDisabled && dispatch(HoverActionTypes.SET, itemRef.current);\n const delayOpen = delay => {\n setHover();\n if (!openTrigger) timerId.v = setTimeout(() => batchedUpdates(openMenu), Math.max(delay, 0));\n };\n const onPointerMove = e => {\n if (isDisabled) return;\n e.stopPropagation();\n if (timerId.v || isOpen) return;\n submenuCtx.on(submenuCloseDelay, () => delayOpen(submenuOpenDelay - submenuCloseDelay), () => delayOpen(submenuOpenDelay));\n };\n const onPointerLeave = () => {\n stopTimer();\n if (!isOpen) dispatch(HoverActionTypes.UNSET, itemRef.current);\n };\n const onKeyDown = e => {\n if (!isHovering) return;\n switch (e.key) {\n case Keys.ENTER:\n e.preventDefault();\n case Keys.SPACE:\n case Keys.RIGHT:\n openTrigger !== 'none' && openMenu(FocusPositions.FIRST);\n }\n };\n const onKeyDownOfRoot = e => {\n let handled = false;\n switch (e.key) {\n case Keys.LEFT:\n if (isOpen) {\n itemRef.current.focus();\n toggleMenu(false);\n handled = true;\n }\n break;\n case Keys.RIGHT:\n if (!isOpen) handled = true;\n break;\n }\n if (handled) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n useItemEffect(isDisabled, itemRef, updateItems);\n useEffect(() => submenuCtx.toggle(isOpen), [submenuCtx, isOpen]);\n useEffect(() => () => clearTimeout(timerId.v), [timerId]);\n useEffect(() => {\n if (isHovering && isParentOpen) {\n itemRef.current.focus();\n } else {\n toggleMenu(false);\n }\n }, [isHovering, isParentOpen, toggleMenu, itemRef]);\n useImperativeHandle(instanceRef, () => ({\n openMenu: (...args) => {\n isParentOpen && openMenu(...args);\n },\n closeMenu: () => {\n if (isOpen) {\n itemRef.current.focus();\n toggleMenu(false);\n }\n }\n }));\n const modifiers = useMemo(() => ({\n open: isOpen,\n hover: isHovering,\n disabled: isDisabled,\n submenu: true\n }), [isOpen, isHovering, isDisabled]);\n const {\n ref: externalItemRef,\n className: itemClassName,\n ...restItemProps\n } = itemProps;\n const mergedItemProps = mergeProps({\n onPointerEnter: submenuCtx.off,\n onPointerMove,\n onPointerLeave,\n onKeyDown,\n onClick: () => openTrigger !== 'none' && openMenu()\n }, restItemProps);\n const getMenuList = () => {\n const menuList = /*#__PURE__*/jsx(MenuList, {\n ...restProps,\n ...stateProps,\n ariaLabel: ariaLabel || (typeof label === 'string' ? label : 'Submenu'),\n anchorRef: itemRef,\n containerRef: isPortal ? rootMenuRef : containerRef,\n direction: direction || (parentDir === 'right' || parentDir === 'left' ? parentDir : 'right'),\n parentScrollingRef: isPortal && parentMenuRef,\n isDisabled: isDisabled\n });\n const container = rootMenuRef.current;\n return isPortal && container ? /*#__PURE__*/createPortal(menuList, container) : menuList;\n };\n return /*#__PURE__*/jsxs(\"li\", {\n className: useBEM({\n block: menuClass,\n element: subMenuClass,\n className\n }),\n style: {\n position: 'relative'\n },\n role: roleNone,\n ref: containerRef,\n onKeyDown: onKeyDownOfRoot,\n children: [/*#__PURE__*/jsx(\"div\", {\n role: roleMenuitem,\n \"aria-haspopup\": true,\n \"aria-expanded\": isOpen,\n ...commonProps(isDisabled, isHovering),\n ...mergedItemProps,\n ref: useCombinedRef(externalItemRef, itemRef),\n className: useBEM({\n block: menuClass,\n element: menuItemClass,\n modifiers,\n className: itemClassName\n }),\n children: useMemo(() => safeCall(label, modifiers), [label, modifiers])\n }), state && getMenuList()]\n });\n});\n\nexport { SubMenu };\n","import { useContext, useEffect } from 'react';\nimport { useItemEffect } from './useItemEffect.js';\nimport { SettingsContext, MenuListItemContext, HoverActionTypes } from '../utils/constants.js';\n\nconst useItemState = (itemRef, focusRef, isHovering, isDisabled) => {\n const {\n submenuCloseDelay\n } = useContext(SettingsContext);\n const {\n isParentOpen,\n submenuCtx,\n dispatch,\n updateItems\n } = useContext(MenuListItemContext);\n const setHover = () => {\n !isHovering && !isDisabled && dispatch(HoverActionTypes.SET, itemRef.current);\n };\n const unsetHover = () => {\n !isDisabled && dispatch(HoverActionTypes.UNSET, itemRef.current);\n };\n const onBlur = e => {\n if (isHovering && !e.currentTarget.contains(e.relatedTarget)) unsetHover();\n };\n const onPointerMove = e => {\n if (!isDisabled) {\n e.stopPropagation();\n submenuCtx.on(submenuCloseDelay, setHover, setHover);\n }\n };\n const onPointerLeave = (_, keepHover) => {\n submenuCtx.off();\n !keepHover && unsetHover();\n };\n useItemEffect(isDisabled, itemRef, updateItems);\n useEffect(() => {\n if (isHovering && isParentOpen) {\n focusRef.current && focusRef.current.focus();\n }\n }, [focusRef, isHovering, isParentOpen]);\n return {\n setHover,\n onBlur,\n onPointerMove,\n onPointerLeave\n };\n};\n\nexport { useItemState };\n","import { useContext, useMemo } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { useItemState } from '../hooks/useItemState.js';\nimport { EventHandlersContext, RadioGroupContext, roleMenuitem, menuClass, menuItemClass, roleNone, Keys } from '../utils/constants.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { withHovering } from '../utils/withHovering.js';\nimport { mergeProps, commonProps, safeCall } from '../utils/utils.js';\n\nconst MenuItem = /*#__PURE__*/withHovering('MenuItem', function MenuItem({\n className,\n value,\n href,\n type,\n checked,\n disabled,\n children,\n onClick,\n isHovering,\n itemRef,\n externalRef,\n ...restProps\n}) {\n const isDisabled = !!disabled;\n const {\n setHover,\n ...restStateProps\n } = useItemState(itemRef, itemRef, isHovering, isDisabled);\n const eventHandlers = useContext(EventHandlersContext);\n const radioGroup = useContext(RadioGroupContext);\n const isRadio = type === 'radio';\n const isCheckBox = type === 'checkbox';\n const isAnchor = !!href && !isDisabled && !isRadio && !isCheckBox;\n const isChecked = isRadio ? radioGroup.value === value : isCheckBox ? !!checked : false;\n const handleClick = e => {\n if (isDisabled) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n const event = {\n value,\n syntheticEvent: e\n };\n if (e.key !== undefined) event.key = e.key;\n if (isCheckBox) event.checked = !isChecked;\n if (isRadio) event.name = radioGroup.name;\n safeCall(onClick, event);\n if (isRadio) safeCall(radioGroup.onRadioChange, event);\n eventHandlers.handleClick(event, isCheckBox || isRadio);\n };\n const handleKeyDown = e => {\n if (!isHovering) return;\n switch (e.key) {\n case Keys.ENTER:\n e.preventDefault();\n case Keys.SPACE:\n isAnchor ? itemRef.current.click() : handleClick(e);\n }\n };\n const modifiers = useMemo(() => ({\n type,\n disabled: isDisabled,\n hover: isHovering,\n checked: isChecked,\n anchor: isAnchor\n }), [type, isDisabled, isHovering, isChecked, isAnchor]);\n const mergedProps = mergeProps({\n ...restStateProps,\n onPointerDown: setHover,\n onKeyDown: handleKeyDown,\n onClick: handleClick\n }, restProps);\n const menuItemProps = {\n role: isRadio ? 'menuitemradio' : isCheckBox ? 'menuitemcheckbox' : roleMenuitem,\n 'aria-checked': isRadio || isCheckBox ? isChecked : undefined,\n ...commonProps(isDisabled, isHovering),\n ...mergedProps,\n ref: useCombinedRef(externalRef, itemRef),\n className: useBEM({\n block: menuClass,\n element: menuItemClass,\n modifiers,\n className\n }),\n children: useMemo(() => safeCall(children, modifiers), [children, modifiers])\n };\n return isAnchor ? /*#__PURE__*/jsx(\"li\", {\n role: roleNone,\n children: /*#__PURE__*/jsx(\"a\", {\n href: href,\n ...menuItemProps\n })\n }) : /*#__PURE__*/jsx(\"li\", {\n ...menuItemProps\n });\n});\n\nexport { MenuItem };\n","import { useRef, useContext, useMemo } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { useItemState } from '../hooks/useItemState.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { withHovering } from '../utils/withHovering.js';\nimport { EventHandlersContext, roleMenuitem, menuClass, menuItemClass } from '../utils/constants.js';\nimport { safeCall, mergeProps, commonProps } from '../utils/utils.js';\n\nconst FocusableItem = /*#__PURE__*/withHovering('FocusableItem', function FocusableItem({\n className,\n disabled,\n children,\n isHovering,\n itemRef,\n externalRef,\n ...restProps\n}) {\n const isDisabled = !!disabled;\n const ref = useRef(null);\n const {\n setHover,\n onPointerLeave,\n ...restStateProps\n } = useItemState(itemRef, ref, isHovering, isDisabled);\n const {\n handleClose\n } = useContext(EventHandlersContext);\n const modifiers = useMemo(() => ({\n disabled: isDisabled,\n hover: isHovering,\n focusable: true\n }), [isDisabled, isHovering]);\n const renderChildren = useMemo(() => safeCall(children, {\n ...modifiers,\n ref,\n closeMenu: handleClose\n }), [children, modifiers, handleClose]);\n const mergedProps = mergeProps({\n ...restStateProps,\n onPointerLeave: e => onPointerLeave(e, true),\n onFocus: setHover\n }, restProps);\n return /*#__PURE__*/jsx(\"li\", {\n role: roleMenuitem,\n ...commonProps(isDisabled),\n ...mergedProps,\n ref: useCombinedRef(externalRef, itemRef),\n className: useBEM({\n block: menuClass,\n element: menuItemClass,\n modifiers,\n className\n }),\n children: renderChildren\n });\n});\n\nexport { FocusableItem };\n","import { memo, forwardRef } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { menuClass, menuDividerClass } from '../utils/constants.js';\n\nconst MenuDivider = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MenuDivider({\n className,\n ...restProps\n}, externalRef) {\n return /*#__PURE__*/jsx(\"li\", {\n role: \"separator\",\n ...restProps,\n ref: externalRef,\n className: useBEM({\n block: menuClass,\n element: menuDividerClass,\n className\n })\n });\n}));\n\nexport { MenuDivider };\n","import { memo, forwardRef } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { roleNone, menuClass, menuHeaderClass } from '../utils/constants.js';\n\nconst MenuHeader = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function MenuHeader({\n className,\n ...restProps\n}, externalRef) {\n return /*#__PURE__*/jsx(\"li\", {\n role: roleNone,\n ...restProps,\n ref: externalRef,\n className: useBEM({\n block: menuClass,\n element: menuHeaderClass,\n className\n })\n });\n}));\n\nexport { MenuHeader };\n","import { forwardRef, useRef, useState, useContext } from 'react';\nimport { jsx } from 'react/jsx-runtime';\nimport { useLayoutEffect as useIsomorphicLayoutEffect } from '../hooks/useIsomorphicLayoutEffect.js';\nimport { getNormalizedClientRect } from '../positionUtils/getNormalizedClientRect.js';\nimport { useCombinedRef } from '../hooks/useCombinedRef.js';\nimport { useBEM } from '../hooks/useBEM.js';\nimport { MenuListContext, menuClass, menuGroupClass } from '../utils/constants.js';\n\nconst MenuGroup = /*#__PURE__*/forwardRef(function MenuGroup({\n className,\n style,\n takeOverflow,\n ...restProps\n}, externalRef) {\n const ref = useRef(null);\n const [overflowStyle, setOverflowStyle] = useState();\n const {\n overflow,\n overflowAmt\n } = useContext(MenuListContext);\n useIsomorphicLayoutEffect(() => {\n let maxHeight;\n if (takeOverflow && overflowAmt >= 0) {\n maxHeight = getNormalizedClientRect(ref.current).height - overflowAmt;\n if (maxHeight < 0) maxHeight = 0;\n }\n setOverflowStyle(maxHeight >= 0 ? {\n maxHeight,\n overflow\n } : undefined);\n }, [takeOverflow, overflow, overflowAmt]);\n useIsomorphicLayoutEffect(() => {\n if (overflowStyle) ref.current.scrollTop = 0;\n }, [overflowStyle]);\n return /*#__PURE__*/jsx(\"div\", {\n ...restProps,\n ref: useCombinedRef(externalRef, ref),\n className: useBEM({\n block: menuClass,\n element: menuGroupClass,\n className\n }),\n style: {\n ...style,\n ...overflowStyle\n }\n });\n});\n\nexport { MenuGroup };\n","import './avatar.css';\n\nimport { useRef } from 'preact/hooks';\n\nimport mem from '../utils/mem';\n\nconst SIZES = {\n s: 16,\n m: 20,\n l: 24,\n xl: 32,\n xxl: 50,\n xxxl: 64,\n};\n\nconst alphaCache = {};\n\nconst canvas = window.OffscreenCanvas\n ? new OffscreenCanvas(1, 1)\n : document.createElement('canvas');\nconst ctx = canvas.getContext('2d', {\n willReadFrequently: true,\n});\nctx.imageSmoothingEnabled = false;\n\nconst MISSING_IMAGE_PATH_REGEX = /missing\\.png$/;\n\nfunction Avatar({ url, size, alt = '', squircle, ...props }) {\n size = SIZES[size] || size || SIZES.m;\n const avatarRef = useRef();\n const isMissing = MISSING_IMAGE_PATH_REGEX.test(url);\n return (\n \n {!!url && (\n {\n if (e.target.crossOrigin) {\n e.target.crossOrigin = null;\n e.target.src = url;\n }\n }}\n onLoad={(e) => {\n if (avatarRef.current) avatarRef.current.dataset.loaded = true;\n if (alphaCache[url] !== undefined) return;\n if (isMissing) return;\n setTimeout(() => {\n try {\n // Check if image has alpha channel\n const { width, height } = e.target;\n if (canvas.width !== width) canvas.width = width;\n if (canvas.height !== height) canvas.height = height;\n ctx.drawImage(e.target, 0, 0);\n const allPixels = ctx.getImageData(0, 0, width, height);\n // At least 10% of pixels have alpha <= 128\n const hasAlpha =\n allPixels.data.filter(\n (pixel, i) => i % 4 === 3 && pixel <= 128,\n ).length /\n (allPixels.data.length / 4) >\n 0.1;\n if (hasAlpha) {\n // console.log('hasAlpha', hasAlpha, allPixels.data);\n avatarRef.current.classList.add('has-alpha');\n }\n alphaCache[url] = hasAlpha;\n ctx.clearRect(0, 0, width, height);\n } catch (e) {\n // Silent fail\n alphaCache[url] = false;\n }\n }, 1);\n }}\n />\n )}\n \n );\n}\n\nexport default mem(Avatar);\n","import { forwardRef } from 'preact/compat';\nimport { useLocation } from 'react-router-dom';\n\nimport states from '../utils/states';\n\n/* NOTES\n =====\n Initially this uses from react-router-dom, but it doesn't work:\n 1. It interferes with nested inside and it's difficult to preventDefault/stopPropagation from the nested \n 2. isActive doesn't work properly with the weird routes that's set up in this app, due to the faux \"location\" to make the modals work and prevent unmounting\n 3. Not using because it modifies history.state that *persists* across page reloads. I don't need that, so using valtio's states instead.\n*/\n\nconst Link = forwardRef((props, ref) => {\n let routerLocation;\n try {\n routerLocation = useLocation();\n } catch (e) {}\n let hash = (location.hash || '').replace(/^#/, '').trim();\n if (hash === '') hash = '/';\n const { to, ...restProps } = props;\n\n // Handle encodeURIComponent of searchParams values\n if (!!hash && hash !== '/' && hash.includes('?')) {\n const parsedHash = URL.parse(hash, location.origin); // Fake base URL\n if (parsedHash?.searchParams?.size) {\n const searchParamsStr = Array.from(parsedHash.searchParams.entries())\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n hash = parsedHash.pathname + '?' + searchParamsStr;\n }\n }\n\n const isActive = hash === to || decodeURIComponent(hash) === to;\n return (\n {\n if (e.currentTarget?.parentNode?.closest('a')) {\n // If this is nested inside another \n e.stopPropagation();\n }\n if (routerLocation) states.prevLocation = routerLocation;\n props.onClick?.(e);\n }}\n />\n );\n});\n\nexport default Link;\n","let IS_RTL = false;\n\n// Use MutationObserver to detect RTL\nconst observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes') {\n const { dir } = mutation.target;\n if (dir === 'rtl') {\n IS_RTL = true;\n } else {\n IS_RTL = false;\n }\n console.log({ IS_RTL });\n // Fire custom event 'dirchange' on document\n // document.dispatchEvent(new Event('dirchange'));\n }\n });\n});\nobserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir'],\n});\n\nexport default function isRTL() {\n return IS_RTL;\n // return document.documentElement.dir === 'rtl';\n}\n","const root = document.documentElement;\nconst style = getComputedStyle(root);\nconst defaultBoundingBoxPadding = 8;\n\nlet safeAreaInsets = [0, 0, 0, 0];\nfunction getSafeAreaInsets() {\n // Get safe area inset variables from root\n const safeAreaInsetTop = style.getPropertyValue('--sai-top');\n const safeAreaInsetRight = style.getPropertyValue('--sai-right');\n const safeAreaInsetBottom = style.getPropertyValue('--sai-bottom');\n const safeAreaInsetLeft = style.getPropertyValue('--sai-left');\n safeAreaInsets = [\n // top, right, bottom, left (clockwise)\n Math.max(0, parseInt(safeAreaInsetTop, 10)),\n Math.max(0, parseInt(safeAreaInsetRight, 10)),\n Math.max(0, parseInt(safeAreaInsetBottom, 10)),\n Math.max(0, parseInt(safeAreaInsetLeft, 10)),\n ];\n}\nrequestAnimationFrame(getSafeAreaInsets);\n\nfunction safeBoundingBoxPadding(paddings = []) {\n const str = safeAreaInsets\n .map((v, i) => (v || defaultBoundingBoxPadding) + (paddings[i] || 0))\n .join(' ');\n // console.log(str);\n return str;\n}\n\n// Update safe area insets when orientation or resize\nif (CSS.supports('top: env(safe-area-inset-top)')) {\n window.addEventListener('resize', getSafeAreaInsets, { passive: true });\n}\n\nexport default safeBoundingBoxPadding;\n","import { useLayoutEffect, useState } from 'preact/hooks';\n\nexport default function useWindowSize() {\n const [size, setSize] = useState({\n width: null,\n height: null,\n });\n\n useLayoutEffect(() => {\n const handleResize = () => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n };\n\n handleResize();\n window.addEventListener('resize', handleResize, {\n passive: true,\n });\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return size;\n}\n","import { Menu } from '@szhsin/react-menu';\nimport { useRef } from 'preact/hooks';\n\nimport isRTL from '../utils/is-rtl';\nimport safeBoundingBoxPadding from '../utils/safe-bounding-box-padding';\nimport useWindowSize from '../utils/useWindowSize';\n\n// It's like Menu but with sensible defaults, bug fixes and improvements.\nfunction Menu2(props) {\n const { containerProps, instanceRef: _instanceRef, align } = props;\n const size = useWindowSize();\n const instanceRef = _instanceRef?.current ? _instanceRef : useRef();\n\n // Values: start, end, center\n // Note: don't mess with 'center'\n const rtlAlign = isRTL()\n ? align === 'end'\n ? 'start'\n : align === 'start'\n ? 'end'\n : align\n : align;\n\n return (\n {\n if (e.target === e.currentTarget) {\n instanceRef.current?.closeMenu?.();\n }\n containerProps?.onClick?.(e);\n },\n ...containerProps,\n }}\n />\n );\n}\n\nexport default Menu2;\n","import { SubMenu } from '@szhsin/react-menu';\nimport { useRef } from 'preact/hooks';\n\nexport default function SubMenu2(props) {\n const menuRef = useRef();\n return (\n {\n if (e.pointerType === 'touch') {\n menuRef.current?.openMenu?.();\n }\n },\n onPointerLeave: (e) => {\n if (e.pointerType === 'touch') {\n menuRef.current?.openMenu?.();\n }\n },\n ...props.itemProps,\n }}\n />\n );\n}\n","import { MenuItem } from '@szhsin/react-menu';\nimport { cloneElement } from 'preact';\n\nimport Menu2 from './menu2';\nimport SubMenu2 from './submenu2';\n\nfunction MenuConfirm({\n subMenu = false,\n confirm = true,\n confirmLabel,\n menuItemClassName,\n menuFooter,\n menuExtras,\n ...props\n}) {\n const { children, onClick, ...restProps } = props;\n if (!confirm) {\n if (subMenu) return ;\n if (onClick) {\n return cloneElement(children, {\n onClick,\n });\n }\n return children;\n }\n const Parent = subMenu ? SubMenu2 : Menu2;\n return (\n \n \n {confirmLabel}\n \n {menuExtras}\n {menuFooter}\n \n );\n}\n\nexport default MenuConfirm;\n","import { FocusableItem } from '@szhsin/react-menu';\n\nimport Link from './link';\n\nfunction MenuLink(props) {\n const { className, disabled, ...restProps } = props;\n return (\n \n {({ ref, closeMenu }) => (\n \n closeMenu(detail === 0 ? 'Enter' : undefined)\n }\n />\n )}\n \n );\n}\n\nexport default MenuLink;\n","export default function CustomEmoji({ staticUrl, alt, url }) {\n return (\n \n {staticUrl && (\n \n )}\n \n \n );\n}\n","import { memo } from 'preact/compat';\n\nimport mem from '../utils/mem';\n\nimport CustomEmoji from './custom-emoji';\n\nconst shortcodesRegexp = mem((shortcodes) => {\n return new RegExp(`:(${shortcodes.join('|')}):`, 'g');\n});\n\nfunction EmojiText({ text, emojis }) {\n if (!text) return '';\n if (!emojis?.length) return text;\n if (text.indexOf(':') === -1) return text;\n // const regex = new RegExp(\n // `:(${emojis.map((e) => e.shortcode).join('|')}):`,\n // 'g',\n // );\n const regex = shortcodesRegexp(emojis.map((e) => e.shortcode));\n const elements = text.split(regex).map((word, i) => {\n const emoji = emojis.find((e) => e.shortcode === word);\n if (emoji) {\n const { url, staticUrl } = emoji;\n return (\n = 2 same shortcodes\n />\n );\n }\n return word;\n });\n return elements;\n}\n\nexport default mem(EmojiText);\n\n// export default memo(\n// EmojiText,\n// (oldProps, newProps) =>\n// oldProps.text === newProps.text &&\n// oldProps.emojis?.length === newProps.emojis?.length,\n// );\n","import './name-text.css';\n\nimport { useLingui } from '@lingui/react';\nimport { memo } from 'preact/compat';\n\nimport { api } from '../utils/api';\nimport mem from '../utils/mem';\nimport states from '../utils/states';\n\nimport Avatar from './avatar';\nimport EmojiText from './emoji-text';\n\nconst nameCollator = mem((locale) => {\n const options = {\n sensitivity: 'base',\n };\n try {\n return new Intl.Collator(locale || undefined, options);\n } catch (e) {\n return new Intl.Collator(undefined, options);\n }\n});\n\nconst ACCT_REGEX = /([^@]+)(@.+)/i;\nconst SHORTCODES_REGEX = /(\\:(\\w|\\+|\\-)+\\:)(?=|[\\!\\.\\?]|$)/g;\nconst SPACES_REGEX = /\\s+/g;\nconst NON_ALPHA_NUMERIC_REGEX = /[^a-z0-9@\\.]/gi;\n\nfunction NameText({\n account,\n instance,\n showAvatar,\n showAcct,\n short,\n external,\n onClick,\n}) {\n const { i18n } = useLingui();\n const {\n acct,\n avatar,\n avatarStatic,\n id,\n url,\n displayName,\n emojis,\n bot,\n username,\n } = account;\n const [_, acct1, acct2] = acct.match(ACCT_REGEX) || [, acct];\n\n if (!instance) instance = api().instance;\n\n const trimmedUsername = username.toLowerCase().trim();\n const trimmedDisplayName = (displayName || '').toLowerCase().trim();\n const shortenedDisplayName = trimmedDisplayName\n .replace(SHORTCODES_REGEX, '') // Remove shortcodes, regex from https://regex101.com/r/iE9uV0/1\n .replace(SPACES_REGEX, ''); // E.g. \"My name\" === \"myname\"\n const shortenedAlphaNumericDisplayName = shortenedDisplayName.replace(\n NON_ALPHA_NUMERIC_REGEX,\n '',\n ); // Remove non-alphanumeric characters\n\n const hideUsername =\n (!short &&\n (trimmedUsername === trimmedDisplayName ||\n trimmedUsername === shortenedDisplayName ||\n trimmedUsername === shortenedAlphaNumericDisplayName ||\n nameCollator(i18n.locale).compare(\n trimmedUsername,\n shortenedDisplayName,\n ) === 0)) ||\n shortenedAlphaNumericDisplayName === acct.toLowerCase();\n\n return (\n {\n if (external) return;\n if (e.shiftKey) return; // Save link? πŸ€·β€β™‚οΈ\n e.preventDefault();\n e.stopPropagation();\n if (onClick) return onClick(e);\n if (e.metaKey || e.ctrlKey || e.shiftKey || e.which === 2) {\n const internalURL = `#/${instance}/a/${id}`;\n window.open(internalURL, '_blank');\n return;\n }\n states.showAccount = {\n account,\n instance,\n };\n }}\n >\n {showAvatar && (\n <>\n {' '}\n \n )}\n {displayName && !short ? (\n <>\n \n \n \n {!showAcct && !hideUsername && (\n <>\n {' '}\n @{username}\n \n )}\n \n ) : short ? (\n {username}\n ) : (\n {username}\n )}\n {showAcct && (\n <>\n
\n \n {acct2 ? '' : '@'}\n {acct1}\n {!!acct2 && {acct2}}\n \n \n )}\n
\n );\n}\n\nexport default mem(NameText);\n\n// export default memo(NameText, (oldProps, newProps) => {\n// // Only care about account.id, the other props usually don't change\n// const { account } = oldProps;\n// const { account: newAccount } = newProps;\n// return account?.acct === newAccount?.acct;\n// });\n","import { i18n } from '@lingui/core';\n\nimport mem from './mem';\n\n// Some codes are not supported by Intl.DisplayNames\n// These are mapped to other codes as fallback\nconst codeMappings = {\n 'zh-YUE': 'YUE',\n zh_HANT: 'zh-Hant',\n};\n\nconst IntlDN = mem(\n (locale) =>\n new Intl.DisplayNames(locale || undefined, {\n type: 'language',\n }),\n);\n\nfunction _localeCode2Text(code) {\n let locale;\n let fallback;\n if (typeof code === 'object') {\n ({ code, locale, fallback } = code);\n }\n try {\n const text = IntlDN(locale || i18n.locale).of(code);\n if (text !== code) return text;\n if (!fallback) {\n const anotherText = IntlDN(code).of(code);\n if (anotherText !== code) return anotherText;\n }\n return fallback || '';\n } catch (e) {\n if (codeMappings[code]) {\n try {\n const text = IntlDN(codeMappings[locale] || locale || i18n.locale).of(\n codeMappings[code],\n );\n if (text !== codeMappings[code]) return text;\n return fallback || '';\n } catch (e2) {\n console.warn(code, e2);\n }\n }\n return fallback || '';\n }\n}\n\nexport default mem(_localeCode2Text);\n","import { i18n } from '@lingui/core';\nimport { t } from '@lingui/core/macro';\nimport { useEffect, useMemo, useReducer } from 'preact/hooks';\n\nimport localeMatch from '../utils/locale-match';\nimport mem from '../utils/mem';\n\nfunction isValidDate(value) {\n if (value instanceof Date) {\n return !isNaN(value.getTime());\n } else {\n const date = new Date(value);\n return !isNaN(date.getTime());\n }\n}\n\nconst resolvedLocale = mem(\n () => new Intl.DateTimeFormat().resolvedOptions().locale,\n);\nconst DTF = mem((locale, opts = {}) => {\n const regionlessLocale = locale.replace(/-[a-z]+$/i, '');\n const lang = localeMatch([regionlessLocale], [resolvedLocale()], locale);\n try {\n return new Intl.DateTimeFormat(lang, opts);\n } catch (e) {}\n try {\n return new Intl.DateTimeFormat(locale, opts);\n } catch (e) {}\n return new Intl.DateTimeFormat(undefined, opts);\n});\nconst RTF = mem((locale) => new Intl.RelativeTimeFormat(locale || undefined));\n\nconst minute = 60;\nconst hour = 60 * minute;\nconst day = 24 * hour;\n\nconst rtfFromNow = (date) => {\n // date = Date object\n const rtf = RTF(i18n.locale);\n const seconds = (date.getTime() - Date.now()) / 1000;\n const absSeconds = Math.abs(seconds);\n if (absSeconds < minute) {\n return rtf.format(seconds, 'second');\n } else if (absSeconds < hour) {\n return rtf.format(Math.floor(seconds / minute), 'minute');\n } else if (absSeconds < day) {\n return rtf.format(Math.floor(seconds / hour), 'hour');\n } else {\n return rtf.format(Math.floor(seconds / day), 'day');\n }\n};\n\nconst twitterFromNow = (date) => {\n // date = Date object\n const seconds = (Date.now() - date.getTime()) / 1000;\n if (seconds < minute) {\n return t({\n comment: 'Relative time in seconds, as short as possible',\n message: `${seconds < 1 ? 1 : Math.floor(seconds)}s`,\n });\n } else if (seconds < hour) {\n return t({\n comment: 'Relative time in minutes, as short as possible',\n message: `${Math.floor(seconds / minute)}m`,\n });\n } else {\n return t({\n comment: 'Relative time in hours, as short as possible',\n message: `${Math.floor(seconds / hour)}h`,\n });\n }\n};\n\nexport default function RelativeTime({ datetime, format }) {\n if (!datetime) return null;\n const [renderCount, rerender] = useReducer((x) => x + 1, 0);\n const date = useMemo(() => new Date(datetime), [datetime]);\n const [dateStr, dt, title] = useMemo(() => {\n if (!isValidDate(date)) return ['' + datetime, '', ''];\n let str;\n if (format === 'micro') {\n // If date <= 1 day ago or day is within this year\n const now = new Date();\n const dayDiff = (now.getTime() - date.getTime()) / 1000 / day;\n if (dayDiff <= 1) {\n str = twitterFromNow(date);\n } else {\n const sameYear = now.getFullYear() === date.getFullYear();\n if (sameYear) {\n str = DTF(i18n.locale, {\n year: undefined,\n month: 'short',\n day: 'numeric',\n }).format(date);\n } else {\n str = DTF(i18n.locale, {\n dateStyle: 'short',\n }).format(date);\n }\n }\n }\n if (!str) str = rtfFromNow(date);\n return [str, date.toISOString(), date.toLocaleString()];\n }, [date, format, renderCount]);\n\n useEffect(() => {\n if (!isValidDate(date)) return;\n let timeout;\n let raf;\n function rafRerender() {\n raf = requestAnimationFrame(() => {\n rerender();\n scheduleRerender();\n });\n }\n function scheduleRerender() {\n // If less than 1 minute, rerender every 10s\n // If less than 1 hour rerender every 1m\n // Else, don't need to rerender\n const seconds = (Date.now() - date.getTime()) / 1000;\n if (seconds < minute) {\n timeout = setTimeout(rafRerender, 10_000);\n } else if (seconds < hour) {\n timeout = setTimeout(rafRerender, 60_000);\n }\n }\n scheduleRerender();\n return () => {\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n };\n }, []);\n\n return (\n \n );\n}\n","import translationTargetLanguages from '../data/lingva-target-languages';\n\nimport localeMatch from './locale-match';\nimport mem from './mem';\nimport states from './states';\n\nconst locales = mem(() => [\n new Intl.DateTimeFormat().resolvedOptions().locale,\n ...navigator.languages,\n]);\n\nconst localeTargetLanguages = () =>\n localeMatch(\n locales(),\n translationTargetLanguages.map((l) => l.code.replace('_', '-')), // The underscore will fail Intl.Locale inside `match`\n 'en',\n );\n\nfunction getTranslateTargetLanguage(fromSettings = false) {\n if (fromSettings) {\n const { contentTranslationTargetLanguage } = states.settings;\n if (contentTranslationTargetLanguage) {\n return contentTranslationTargetLanguage;\n }\n }\n return localeTargetLanguages();\n}\n\nexport default getTranslateTargetLanguage;\n","import { i18n } from '@lingui/core';\n\n// https://tc39.es/ecma402/#table-sanctioned-single-unit-identifiers\nconst BYTES_UNITS = [\n 'byte',\n 'kilobyte',\n 'megabyte',\n 'gigabyte',\n 'terabyte',\n 'petabyte',\n];\nexport default function prettyBytes(bytes) {\n const unitIndex = Math.min(\n Math.floor(Math.log2(bytes) / 10),\n BYTES_UNITS.length - 1,\n );\n const value = bytes / 1024 ** unitIndex;\n return i18n.number(value, {\n style: 'unit',\n unit: BYTES_UNITS[unitIndex],\n unitDisplay: 'narrow',\n maximumFractionDigits: 0,\n });\n}\n","export const semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nexport const validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nexport const compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\n//# sourceMappingURL=utils.js.map","import { compareSegments, validateAndParse } from './utils.js';\n/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n//# sourceMappingURL=compareVersions.js.map","import { compareVersions } from './compareVersions.js';\n/**\n * Compare [semver](https://semver.org/) version strings using the specified operator.\n *\n * @param v1 First version to compare\n * @param v2 Second version to compare\n * @param operator Allowed arithmetic operator to use\n * @returns `true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise.\n *\n * @example\n * ```\n * compare('10.1.8', '10.0.4', '>'); // return true\n * compare('10.0.1', '10.0.1', '='); // return true\n * compare('10.1.1', '10.2.2', '<'); // return true\n * compare('10.1.1', '10.2.2', '<='); // return true\n * compare('10.1.1', '10.2.2', '>='); // return false\n * ```\n */\nexport const compare = (v1, v2, operator) => {\n // validate input operator\n assertValidOperator(operator);\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1],\n '!=': [-1, 1],\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = (op) => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n//# sourceMappingURL=compare.js.map","import { compare } from './compare.js';\nimport { compareSegments, validateAndParse } from './utils.js';\n/**\n * Match [npm semver](https://docs.npmjs.com/cli/v6/using-npm/semver) version range.\n *\n * @param version Version number to match\n * @param range Range pattern for version\n * @returns `true` if the version number is within the range, `false` otherwise.\n *\n * @example\n * ```\n * satisfies('1.1.0', '^1.0.0'); // return true\n * satisfies('1.1.0', '~1.0.0'); // return false\n * ```\n */\nexport const satisfies = (version, range) => {\n // clean input\n range = range.replace(/([><=]+)\\s+/g, '$1');\n // handle multiple comparators\n if (range.includes('||')) {\n return range.split('||').some((r) => satisfies(version, r));\n }\n else if (range.includes(' - ')) {\n const [a, b] = range.split(' - ', 2);\n return satisfies(version, `>=${a} <=${b}`);\n }\n else if (range.includes(' ')) {\n return range\n .trim()\n .replace(/\\s{2,}/g, ' ')\n .split(' ')\n .every((r) => satisfies(version, r));\n }\n // if no range operator then \"=\"\n const m = range.match(/^([<>=~^]+)/);\n const op = m ? m[1] : '=';\n // if gt/lt/eq then operator compare\n if (op !== '^' && op !== '~')\n return compare(version, range, op);\n // else range of either \"~\" or \"^\" is assumed\n const [v1, v2, v3, , vp] = validateAndParse(version);\n const [r1, r2, r3, , rp] = validateAndParse(range);\n const v = [v1, v2, v3];\n const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x'];\n // validate pre-release\n if (rp) {\n if (!vp)\n return false;\n if (compareSegments(v, r) !== 0)\n return false;\n if (compareSegments(vp.split('.'), rp.split('.')) === -1)\n return false;\n }\n // first non-zero number\n const nonZero = r.findIndex((v) => v !== '0') + 1;\n // pointer to where segments can be >=\n const i = op === '~' ? 2 : nonZero > 1 ? nonZero : 1;\n // before pointer must be equal\n if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0)\n return false;\n // after pointer must be >=\n if (compareSegments(v.slice(i), r.slice(i)) === -1)\n return false;\n return true;\n};\n//# sourceMappingURL=satisfies.js.map","import { satisfies } from 'compare-versions';\n\nimport features from '../data/features.json';\n\nimport { getCurrentInstance, getCurrentNodeInfo } from './store-utils';\n\n// Non-semver(?) UA string detection\nconst containPixelfed = /pixelfed/i;\nconst notContainPixelfed = /^(?!.*pixelfed).*$/i;\nconst containPleroma = /pleroma/i;\nconst containAkkoma = /akkoma/i;\nconst containGTS = /gotosocial/i;\nconst platformFeatures = {\n '@mastodon/lists': notContainPixelfed,\n '@mastodon/filters': notContainPixelfed,\n '@mastodon/mentions': notContainPixelfed,\n '@mastodon/trending-hashtags': notContainPixelfed,\n '@mastodon/trending-links': notContainPixelfed,\n '@mastodon/post-bookmark': notContainPixelfed,\n '@mastodon/post-edit': notContainPixelfed,\n '@mastodon/profile-edit': notContainPixelfed,\n '@mastodon/profile-private-note': notContainPixelfed,\n '@pixelfed/trending': containPixelfed,\n '@pixelfed/home-include-reblogs': containPixelfed,\n '@pixelfed/global-feed': containPixelfed,\n '@pleroma/local-visibility-post': containPleroma,\n '@akkoma/local-visibility-post': containAkkoma,\n};\n\nconst supportsCache = {};\n\nfunction supports(feature) {\n try {\n let { version, domain } = getCurrentInstance();\n let softwareName = getCurrentNodeInfo()?.software?.name || 'mastodon';\n\n if (softwareName === 'hometown') {\n // Hometown is a Mastodon fork and inherits its features\n softwareName = 'mastodon';\n }\n\n const key = `${domain}-${feature}`;\n if (supportsCache[key]) return supportsCache[key];\n\n if (platformFeatures[feature]) {\n return (supportsCache[key] = platformFeatures[feature].test(version));\n }\n\n const range = features[feature];\n if (!range) return false;\n\n // '@mastodon/blah' => 'mastodon'\n const featureSoftware = feature.match(/^@([a-z]+)\\//)[1];\n\n const doesSoftwareMatch = featureSoftware === softwareName.toLowerCase();\n return (supportsCache[key] =\n doesSoftwareMatch &&\n satisfies(version, range, {\n includePrerelease: true,\n loose: true,\n }));\n } catch (e) {\n return false;\n }\n}\n\nexport default supports;\n","'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7F]/; // Note: U+007F DEL is excluded too.\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, callback) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = callback(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, callback) {\n\tconst parts = domain.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tdomain = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tdomain = domain.replace(regexSeparators, '\\x2E');\n\tconst labels = domain.split('.');\n\tconst encoded = map(labels, callback).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see \n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = codePoints => String.fromCodePoint(...codePoints);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint >= 0x30 && codePoint < 0x3A) {\n\t\treturn 26 + (codePoint - 0x30);\n\t}\n\tif (codePoint >= 0x41 && codePoint < 0x5B) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint >= 0x61 && codePoint < 0x7B) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tconst oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\t\t\tif (digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tconst inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tconst basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue === n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.3.1',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see \n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode };\nexport default punycode;\n","function emojifyText(text, emojis = []) {\n if (!text) return '';\n if (!emojis.length) return text;\n if (text.indexOf(':') === -1) return text;\n // Replace shortcodes in text with emoji\n // emojis = [{ shortcode: 'smile', url: 'https://example.com/emoji.png' }]\n emojis.forEach((emoji) => {\n const { shortcode, staticUrl, url } = emoji;\n text = text.replace(\n new RegExp(`:${shortcode}:`, 'g'),\n `\":${shortcode}:\"`,\n );\n });\n // console.log(text, emojis);\n return text;\n}\n\nexport default emojifyText;\n","import emojifyText from './emojify-text';\nimport mem from './mem';\n\nconst fauxDiv = document.createElement('div');\nconst whitelistLinkClasses = ['u-url', 'mention', 'hashtag'];\n\nconst HTML_CHARS_REGEX = /[&<>]/g;\nfunction escapeHTML(html) {\n return html.replace(\n HTML_CHARS_REGEX,\n (c) =>\n ({\n '&': '&',\n '<': '<',\n '>': '>',\n })[c],\n );\n}\n\nconst LINK_REGEX = / {} } = opts;\n let enhancedContent = content;\n // const dom = document.createElement('div');\n // dom.innerHTML = enhancedContent;\n const dom = createDOM(enhancedContent, returnDOM);\n const hasLink = LINK_REGEX.test(enhancedContent);\n const hasCodeBlock = enhancedContent.includes('```');\n\n if (hasLink) {\n // Add target=\"_blank\" to all links with no target=\"_blank\"\n // E.g. `note` in `account`\n const noTargetBlankLinks = dom.querySelectorAll('a:not([target=\"_blank\"])');\n for (const link of noTargetBlankLinks) {\n link.setAttribute('target', '_blank');\n }\n\n // Remove all classes except `u-url`, `mention`, `hashtag`\n const links = dom.querySelectorAll('a[class]');\n for (const link of links) {\n for (const c of link.classList) {\n if (!whitelistLinkClasses.includes(c)) {\n link.classList.remove(c);\n }\n }\n }\n }\n\n // Add 'has-url-text' to all links that contains a url\n if (hasLink) {\n const links = dom.querySelectorAll('a[href]');\n for (const link of links) {\n if (HTTP_LINK_REGEX.test(link.textContent.trim())) {\n link.classList.add('has-url-text');\n shortenLink(link);\n }\n }\n }\n\n // Spanify un-spanned mentions\n if (hasLink) {\n const links = dom.querySelectorAll('a[href]');\n const usernames = [];\n for (const link of links) {\n const text = link.innerText.trim();\n const hasChildren = link.querySelector('*');\n // If text looks like @username@domain, then it's a mention\n if (MENTION_REGEX.test(text)) {\n // Only show @username\n const [_, username, domain] = text.split('@');\n if (!hasChildren) {\n if (\n !usernames.some(([u]) => u === username) ||\n usernames.some(([u, d]) => u === username && d === domain)\n ) {\n link.innerHTML = `@${username}`;\n usernames.push([username, domain]);\n } else {\n link.innerHTML = `@${username}@${domain}`;\n }\n }\n link.classList.add('mention');\n }\n // If text looks like #hashtag, then it's a hashtag\n if (HASHTAG_REGEX.test(text)) {\n if (!hasChildren) link.innerHTML = `#${text.slice(1)}`;\n link.classList.add('mention', 'hashtag');\n }\n }\n }\n\n // EMOJIS\n // ======\n // Convert :shortcode: to \n let textNodes;\n if (enhancedContent.includes(':') && emojis?.length) {\n textNodes = extractTextNodes(dom);\n for (const node of textNodes) {\n let html = escapeHTML(node.nodeValue);\n html = emojifyText(html, emojis);\n fauxDiv.innerHTML = html;\n node.replaceWith(...fauxDiv.childNodes);\n }\n }\n\n // CODE BLOCKS\n // ===========\n // Convert ```code``` to
code
\n if (hasCodeBlock) {\n const blocks = [...dom.querySelectorAll('p')].filter((p) =>\n CODE_BLOCK_REGEX.test(p.innerText.trim()),\n );\n for (const block of blocks) {\n const pre = document.createElement('pre');\n // Replace
with newlines\n for (const br of block.querySelectorAll('br')) {\n br.replaceWith('\\n');\n }\n pre.innerHTML = `${block.innerHTML.trim()}`;\n block.replaceWith(pre);\n }\n }\n\n // Convert multi-paragraph code blocks to
code
\n if (hasCodeBlock) {\n const paragraphs = [...dom.querySelectorAll('p')];\n // Filter out paragraphs with ``` in beginning only\n const codeBlocks = paragraphs.filter((p) =>\n CODE_BLOCK_START_REGEX.test(p.innerText),\n );\n // For each codeBlocks, get all paragraphs until the last paragraph with ``` at the end only\n for (const block of codeBlocks) {\n const nextParagraphs = [block];\n let hasCodeBlock = false;\n let currentBlock = block;\n while (currentBlock.nextElementSibling) {\n const next = currentBlock.nextElementSibling;\n if (next && next.tagName === 'P') {\n if (CODE_BLOCK_END_REGEX.test(next.innerText)) {\n nextParagraphs.push(next);\n hasCodeBlock = true;\n break;\n } else {\n nextParagraphs.push(next);\n }\n } else {\n break;\n }\n currentBlock = next;\n }\n if (hasCodeBlock) {\n const pre = document.createElement('pre');\n for (const p of nextParagraphs) {\n // Replace
with newlines\n for (const br of p.querySelectorAll('br')) {\n br.replaceWith('\\n');\n }\n }\n const codeText = nextParagraphs.map((p) => p.innerHTML).join('\\n\\n');\n pre.innerHTML = `${codeText}`;\n block.replaceWith(pre);\n for (const p of nextParagraphs) {\n p.remove();\n }\n }\n }\n }\n\n // INLINE CODE\n // ===========\n // Convert `code` to code\n if (enhancedContent.includes('`')) {\n textNodes = extractTextNodes(dom);\n for (const node of textNodes) {\n let html = escapeHTML(node.nodeValue);\n if (INLINE_CODE_REGEX.test(html)) {\n html = html.replaceAll(CODE_INLINE_CAPTURE_REGEX, '$1');\n }\n fauxDiv.innerHTML = html;\n // const nodes = [...fauxDiv.childNodes];\n node.replaceWith(...fauxDiv.childNodes);\n }\n }\n\n // TWITTER USERNAMES\n // =================\n // Convert @username@twitter.com to
@username@twitter.com\n if (TWITTER_DOMAIN_REGEX.test(enhancedContent)) {\n textNodes = extractTextNodes(dom, {\n rejectFilter: ['A'],\n });\n for (const node of textNodes) {\n let html = escapeHTML(node.nodeValue);\n if (TWITTER_MENTION_REGEX.test(html)) {\n html = html.replaceAll(\n TWITTER_MENTION_CAPTURE_REGEX,\n '$1',\n );\n }\n fauxDiv.innerHTML = html;\n // const nodes = [...fauxDiv.childNodes];\n node.replaceWith(...fauxDiv.childNodes);\n }\n }\n\n // HASHTAG STUFFING\n // ================\n // Get the

that contains a lot of hashtags, add a class to it\n if (enhancedContent.includes('#')) {\n let prevIndex = null;\n const hashtagStuffedParagraphs = [...dom.querySelectorAll('p')].filter(\n (p, index) => {\n let hashtagCount = 0;\n for (let i = 0; i < p.childNodes.length; i++) {\n const node = p.childNodes[i];\n\n if (node.nodeType === Node.TEXT_NODE) {\n const text = node.textContent.trim();\n if (text !== '') {\n return false;\n }\n } else if (node.tagName === 'BR') {\n // Ignore
\n } else if (node.tagName === 'A') {\n const linkText = node.textContent.trim();\n if (!linkText || !linkText.startsWith('#')) {\n return false;\n } else {\n hashtagCount++;\n }\n } else {\n return false;\n }\n }\n // Only consider \"stuffing\" if:\n // - there are more than 3 hashtags\n // - there are more than 1 hashtag in adjacent paragraphs\n if (hashtagCount > 3) {\n prevIndex = index;\n return true;\n }\n if (hashtagCount > 1 && prevIndex && index === prevIndex + 1) {\n prevIndex = index;\n return true;\n }\n },\n );\n if (hashtagStuffedParagraphs?.length) {\n for (const p of hashtagStuffedParagraphs) {\n p.classList.add('hashtag-stuffing');\n p.title = p.innerText;\n }\n }\n }\n\n // ADD ASPECT RATIO TO ALL IMAGES\n if (enhancedContent.includes(' postEnhanceDOM(dom));\n // postEnhanceDOM(dom); // mutate dom\n }\n\n return returnDOM ? dom : dom.innerHTML;\n}\nconst enhanceContent = mem(_enhanceContent);\n\nconst defaultRejectFilter = [\n // Document metadata\n 'STYLE',\n // Image and multimedia\n 'IMG',\n 'VIDEO',\n 'AUDIO',\n 'AREA',\n 'MAP',\n 'TRACK',\n // Embedded content\n 'EMBED',\n 'IFRAME',\n 'OBJECT',\n 'PICTURE',\n 'PORTAL',\n 'SOURCE',\n // SVG and MathML\n 'SVG',\n 'MATH',\n // Scripting\n 'CANVAS',\n 'NOSCRIPT',\n 'SCRIPT',\n // Forms\n 'INPUT',\n 'OPTION',\n 'TEXTAREA',\n // Web Components\n 'SLOT',\n 'TEMPLATE',\n];\nconst defaultRejectFilterMap = Object.fromEntries(\n defaultRejectFilter.map((nodeName) => [nodeName, true]),\n);\n\nconst URL_PREFIX_REGEX = /^(https?:\\/\\/(www\\.)?|xmpp:)/;\nconst URL_DISPLAY_LENGTH = 30;\n// Similar to https://github.com/mastodon/mastodon/blob/1666b1955992e16f4605b414c6563ca25b3a3f18/app/lib/text_formatter.rb#L54-L69\nfunction shortenLink(link) {\n if (!link || link.querySelector?.('*')) {\n return;\n }\n try {\n const url = link.innerText.trim();\n const prefix = (url.match(URL_PREFIX_REGEX) || [])[0] || '';\n if (!prefix) return;\n const displayURL = url.slice(\n prefix.length,\n prefix.length + URL_DISPLAY_LENGTH,\n );\n const suffix = url.slice(prefix.length + URL_DISPLAY_LENGTH);\n const cutoff = url.slice(prefix.length).length > URL_DISPLAY_LENGTH;\n link.innerHTML = `${prefix}${displayURL}${suffix}`;\n } catch (e) {}\n}\n\nfunction extractTextNodes(dom, opts = {}) {\n const textNodes = [];\n const rejectFilterMap = Object.assign(\n {},\n defaultRejectFilterMap,\n opts.rejectFilter?.reduce((acc, cur) => {\n acc[cur] = true;\n return acc;\n }, {}),\n );\n const walk = document.createTreeWalker(\n dom,\n NodeFilter.SHOW_TEXT,\n {\n acceptNode(node) {\n if (rejectFilterMap[node.parentNode.nodeName]) {\n return NodeFilter.FILTER_REJECT;\n }\n return NodeFilter.FILTER_ACCEPT;\n },\n },\n false,\n );\n let node;\n while ((node = walk.nextNode())) {\n textNodes.push(node);\n }\n return textNodes;\n}\n\nexport default enhanceContent;\n","import mem from './mem';\n\nconst div = document.createElement('div');\nfunction getHTMLText(html, opts) {\n if (!html) return '';\n const { preProcess } = opts || {};\n\n div.innerHTML = html\n .replace(/<\\/p>/g, '

\\n\\n')\n .replace(/<\\/li>/g, '\\n');\n div.querySelectorAll('br').forEach((br) => {\n br.replaceWith('\\n');\n });\n\n preProcess?.(div);\n\n // MASTODON-SPECIFIC classes\n // Remove .invisible\n div.querySelectorAll('.invisible').forEach((el) => {\n el.remove();\n });\n // Add … at end of .ellipsis\n div.querySelectorAll('.ellipsis').forEach((el) => {\n el.append('...');\n });\n\n return div.innerText.replace(/[\\r\\n]{3,}/g, '\\n\\n').trim();\n}\n\nexport default mem(getHTMLText);\n","import states from './states';\n\nfunction handleContentLinks(opts) {\n const { mentions = [], instance, previewMode, statusURL } = opts || {};\n return (e) => {\n let { target } = e;\n target = target.closest('a');\n if (!target) return;\n\n // If cmd/ctrl/shift/alt key is pressed or middle-click, let the browser handle it\n if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.which === 2) {\n return;\n }\n\n const prevText = target.previousSibling?.textContent;\n const textBeforeLinkIsAt = prevText?.endsWith('@');\n const textStartsWithAt = target.innerText.startsWith('@');\n if (\n ((target.classList.contains('u-url') ||\n target.classList.contains('mention')) &&\n textStartsWithAt) ||\n (textBeforeLinkIsAt && !textStartsWithAt)\n ) {\n const targetText = (\n target.querySelector('span') || target\n ).innerText.trim();\n const username = targetText.replace(/^@/, '');\n const url = target.getAttribute('href');\n // Only fallback to acct/username check if url doesn't match\n const mention =\n mentions.find((mention) => mention.url === url) ||\n mentions.find(\n (mention) =>\n mention.acct === username || mention.username === username,\n );\n console.warn('MENTION', mention, url);\n if (mention) {\n e.preventDefault();\n e.stopPropagation();\n states.showAccount = {\n account: mention.acct,\n instance,\n };\n } else if (!/^http/i.test(targetText)) {\n console.log('mention not found', targetText);\n e.preventDefault();\n e.stopPropagation();\n const href = target.getAttribute('href');\n states.showAccount = {\n account: href,\n instance,\n };\n }\n } else if (!previewMode) {\n const textBeforeLinkIsHash = prevText?.endsWith('#');\n if (target.classList.contains('hashtag') || textBeforeLinkIsHash) {\n e.preventDefault();\n e.stopPropagation();\n const tag = target.innerText.replace(/^#/, '').trim();\n const hashURL = instance ? `#/${instance}/t/${tag}` : `#/t/${tag}`;\n console.log({ hashURL });\n location.hash = hashURL;\n } else if (\n states.unfurledLinks[target.href]?.url &&\n statusURL !== target.href\n ) {\n // If unfurled AND not self-referential\n e.preventDefault();\n e.stopPropagation();\n states.prevLocation = {\n pathname: location.hash.replace(/^#/, ''),\n };\n location.hash = `#${states.unfurledLinks[target.href].url}`;\n }\n }\n };\n}\n\nexport default handleContentLinks;\n","import { i18n } from '@lingui/core';\n\nexport default function i18nDuration(duration, unit) {\n return () =>\n i18n.number(duration, {\n style: 'unit',\n unit,\n unitDisplay: 'long',\n });\n}\n","import { i18n } from '@lingui/core';\n\nimport localeMatch from './locale-match';\nimport mem from './mem';\n\nconst defaultLocale = mem(\n () => new Intl.DateTimeFormat().resolvedOptions().locale,\n);\n\nconst _DateTimeFormat = (opts) => {\n const { locale, dateYear, hideTime, formatOpts, forceOpts } = opts || {};\n const regionlessLocale = locale.replace(/-[a-z]+$/i, '');\n const loc = localeMatch([regionlessLocale], [defaultLocale], locale);\n const currentYear = new Date().getFullYear();\n const options = forceOpts || {\n // Show year if not current year\n year: dateYear === currentYear ? undefined : 'numeric',\n month: 'short',\n day: 'numeric',\n // Hide time if requested\n hour: hideTime ? undefined : 'numeric',\n minute: hideTime ? undefined : 'numeric',\n ...formatOpts,\n };\n try {\n return Intl.DateTimeFormat(loc, options);\n } catch (e) {}\n try {\n return Intl.DateTimeFormat(locale, options);\n } catch (e) {}\n return Intl.DateTimeFormat(undefined, options);\n};\nconst DateTimeFormat = mem(_DateTimeFormat);\n\nfunction niceDateTime(date, dtfOpts) {\n if (!(date instanceof Date)) {\n date = new Date(date);\n }\n const DTF = DateTimeFormat({\n dateYear: date.getFullYear(),\n locale: i18n.locale,\n ...dtfOpts,\n });\n const dateText = DTF.format(date);\n return dateText;\n}\n\nexport default niceDateTime;\n","import { i18n } from '@lingui/core';\n\nexport default function shortenNumber(num) {\n try {\n return i18n.number(num, {\n notation: 'compact',\n roundingMode: 'floor',\n });\n } catch (e) {\n return num;\n }\n}\n","import { t } from '@lingui/core/macro';\n\nimport openOSK from './open-osk';\nimport showToast from './show-toast';\nimport states from './states';\n\nconst TOAST_DURATION = 5_000; // 5 seconds\n\nexport default function showCompose(opts) {\n if (!opts) opts = true;\n\n if (states.showCompose) {\n if (states.composerState.minimized) {\n showToast({\n duration: TOAST_DURATION,\n text: t`A draft post is currently minimized. Post or discard it before creating a new one.`,\n });\n } else {\n showToast({\n duration: TOAST_DURATION,\n text: t`A post is currently open. Post or discard it before creating a new one.`,\n });\n }\n return;\n }\n\n openOSK();\n states.showCompose = opts;\n}\n","import './account-block.css';\n\nimport { Plural, Trans, useLingui } from '@lingui/react/macro';\n\n// import { useNavigate } from 'react-router-dom';\nimport enhanceContent from '../utils/enhance-content';\nimport niceDateTime from '../utils/nice-date-time';\nimport shortenNumber from '../utils/shorten-number';\nimport states from '../utils/states';\n\nimport Avatar from './avatar';\nimport EmojiText from './emoji-text';\nimport Icon from './icon';\n\nfunction AccountBlock({\n skeleton,\n account,\n avatarSize = 'xl',\n useAvatarStatic = false,\n instance,\n external,\n internal,\n onClick,\n showActivity = false,\n showStats = false,\n accountInstance,\n hideDisplayName = false,\n relationship = {},\n excludeRelationshipAttrs = [],\n}) {\n const { t } = useLingui();\n if (skeleton) {\n return (\n
\n \n \n β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ\n
\n β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ\n
\n
\n );\n }\n\n if (!account) {\n return null;\n }\n\n // const navigate = useNavigate();\n\n const {\n id,\n acct,\n avatar,\n avatarStatic,\n displayName,\n username,\n emojis,\n url,\n statusesCount,\n lastStatusAt,\n bot,\n fields,\n note,\n group,\n followersCount,\n createdAt,\n locked,\n } = account;\n let [_, acct1, acct2] = acct.match(/([^@]+)(@.+)/i) || [, acct];\n if (accountInstance) {\n acct2 = `@${accountInstance}`;\n }\n\n const verifiedField = fields?.find((f) => !!f.verifiedAt && !!f.value);\n\n const excludedRelationship = {};\n for (const r in relationship) {\n if (!excludeRelationshipAttrs.includes(r)) {\n excludedRelationship[r] = relationship[r];\n }\n }\n const hasRelationship =\n excludedRelationship.following ||\n excludedRelationship.followedBy ||\n excludedRelationship.requested;\n\n return (\n {\n if (external) return;\n e.preventDefault();\n if (onClick) return onClick(e);\n if (internal) {\n // navigate(`/${instance}/a/${id}`);\n location.hash = `/${instance}/a/${id}`;\n } else {\n states.showAccount = {\n account,\n instance,\n };\n }\n }}\n >\n
\n \n
\n \n {!hideDisplayName && (\n <>\n {displayName ? (\n \n \n \n ) : (\n {username}\n )}\n \n )}{' '}\n \n {acct2 ? '' : '@'}\n {acct1}\n \n {acct2}\n {locked && (\n <>\n {' '}\n \n \n )}\n \n {showActivity && (\n
\n Posts: {shortenNumber(statusesCount)}\n {!!lastStatusAt && (\n <>\n {' '}\n ·{' '}\n \n Last posted:{' '}\n {niceDateTime(lastStatusAt, {\n hideTime: true,\n })}\n \n \n )}\n
\n )}\n {showStats && (\n
\n {bot && (\n <>\n \n Automated\n \n \n )}\n {!!group && (\n <>\n \n Group\n \n \n )}\n {hasRelationship && (\n
\n
\n {excludedRelationship.following &&\n excludedRelationship.followedBy ? (\n \n Mutual\n \n ) : excludedRelationship.requested ? (\n \n Requested\n \n ) : excludedRelationship.following ? (\n \n Following\n \n ) : excludedRelationship.followedBy ? (\n \n Follows you\n \n ) : null}\n
\n
\n )}\n {!!followersCount && (\n \n \n \n )}\n {!!verifiedField && (\n \n {' '}\n \n \n )}\n {!bot &&\n !group &&\n !hasRelationship &&\n !followersCount &&\n !verifiedField &&\n !!createdAt && (\n \n \n Joined{' '}\n \n \n \n )}\n
\n )}\n
\n \n );\n}\n\nexport default AccountBlock;\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","module.exports = require('./lib/retry');","const objectToString = Object.prototype.toString;\n\nconst isError = value => objectToString.call(value) === '[object Error]';\n\nconst errorMessages = new Set([\n\t'Failed to fetch', // Chrome\n\t'NetworkError when attempting to fetch resource.', // Firefox\n\t'The Internet connection appears to be offline.', // Safari 16\n\t'Load failed', // Safari 17+\n\t'Network request failed', // `cross-fetch`\n\t'fetch failed', // Undici (Node.js)\n]);\n\nexport default function isNetworkError(error) {\n\tconst isValid = error\n\t\t&& isError(error)\n\t\t&& error.name === 'TypeError'\n\t\t&& typeof error.message === 'string';\n\n\tif (!isValid) {\n\t\treturn false;\n\t}\n\n\t// We do an extra check for Safari 17+ as it has a very generic error message.\n\t// Network errors in Safari have no stack.\n\tif (error.message === 'Load failed') {\n\t\treturn error.stack === undefined;\n\t}\n\n\treturn errorMessages.has(error.message);\n}\n","import retry from 'retry';\nimport isNetworkError from 'is-network-error';\n\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\nconst decorateErrorWithCounts = (error, attemptNumber, options) => {\n\t// Minus 1 from attemptNumber because the first attempt does not count as a retry\n\tconst retriesLeft = options.retries - (attemptNumber - 1);\n\n\terror.attemptNumber = attemptNumber;\n\terror.retriesLeft = retriesLeft;\n\treturn error;\n};\n\nexport default async function pRetry(input, options) {\n\treturn new Promise((resolve, reject) => {\n\t\toptions = {...options};\n\t\toptions.onFailedAttempt ??= () => {};\n\t\toptions.shouldRetry ??= () => true;\n\t\toptions.retries ??= 10;\n\n\t\tconst operation = retry.operation(options);\n\n\t\tconst abortHandler = () => {\n\t\t\toperation.stop();\n\t\t\treject(options.signal?.reason);\n\t\t};\n\n\t\tif (options.signal && !options.signal.aborted) {\n\t\t\toptions.signal.addEventListener('abort', abortHandler, {once: true});\n\t\t}\n\n\t\tconst cleanUp = () => {\n\t\t\toptions.signal?.removeEventListener('abort', abortHandler);\n\t\t\toperation.stop();\n\t\t};\n\n\t\toperation.attempt(async attemptNumber => {\n\t\t\ttry {\n\t\t\t\tconst result = await input(attemptNumber);\n\t\t\t\tcleanUp();\n\t\t\t\tresolve(result);\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!(error instanceof Error)) {\n\t\t\t\t\t\tthrow new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (error instanceof AbortError) {\n\t\t\t\t\t\tthrow error.originalError;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (error instanceof TypeError && !isNetworkError(error)) {\n\t\t\t\t\t\tthrow error;\n\t\t\t\t\t}\n\n\t\t\t\t\tdecorateErrorWithCounts(error, attemptNumber, options);\n\n\t\t\t\t\tif (!(await options.shouldRetry(error))) {\n\t\t\t\t\t\toperation.stop();\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\n\t\t\t\t\tawait options.onFailedAttempt(error);\n\n\t\t\t\t\tif (!operation.retry(error)) {\n\t\t\t\t\t\tthrow operation.mainError();\n\t\t\t\t\t}\n\t\t\t\t} catch (finalError) {\n\t\t\t\t\tdecorateErrorWithCounts(finalError, attemptNumber, options);\n\t\t\t\t\tcleanUp();\n\t\t\t\t\treject(finalError);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map","/*\n Rendered but hidden. Only show when visible\n*/\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useInView } from 'react-intersection-observer';\n\n// The sticky header, usually at the top\nconst TOP = 48;\n\nconst shazamIDs = {};\n\nexport default function LazyShazam({ id, children }) {\n const containerRef = useRef();\n const hasID = !!shazamIDs[id];\n const [visible, setVisible] = useState(false);\n const [visibleStart, setVisibleStart] = useState(hasID || false);\n\n const { ref } = useInView({\n root: null,\n rootMargin: `-${TOP}px 0px 0px 0px`,\n trackVisibility: true,\n delay: 1000,\n onChange: (inView) => {\n if (inView) {\n setVisible(true);\n if (id) shazamIDs[id] = true;\n }\n },\n triggerOnce: true,\n skip: visibleStart || visible,\n });\n\n useEffect(() => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n if (rect.bottom > TOP) {\n if (rect.top < window.innerHeight) {\n setVisible(true);\n } else {\n setVisibleStart(true);\n }\n if (id) shazamIDs[id] = true;\n }\n }, []);\n\n if (visibleStart) return children;\n\n return (\n