@mirantes-micro/foundation-design-system 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +22 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +77 -86
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/fromMirantes/Spinner/Spinner.tsx","../src/components/fromMirantes/utils/joinUrlWithPathAndQuery.ts","../src/components/fromMirantes/utils/stringToObj.ts","../src/components/fromMirantes/utils/get-initials.ts","../src/context/MirantesFoundationContext.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/subscribable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/utils.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/focusManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/onlineManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/thenable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/retryer.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/notifyManager.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/removable.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/query.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutation.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationCache.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryBehavior.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryClient.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/queryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/infiniteQueryObserver.ts","../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/src/mutationObserver.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryClientProvider.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/IsRestoringProvider.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/QueryErrorResetBoundary.tsx","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/errorBoundaryUtils.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/suspense.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useBaseQuery.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useMutation.ts","../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@19.1.0/node_modules/@tanstack/react-query/src/useInfiniteQuery.ts","../src/context/MirantesFoundationProvider.tsx","../src/assets/icons/ExploreIcon.tsx","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-merge.ts","../src/lib/utils.ts","../src/components/ui/tooltip.tsx","../src/components/shared/tooltip/tooltip.tsx","../src/components/fromMirantes/hooks/use-open.ts","../src/components/fromMirantes/hooks/use-outside-click.ts","../src/locales/dictionaries/en.ts","../src/locales/dictionaries/fr.ts","../src/locales/dictionaries/pt.ts","../src/locales/utils.ts","../src/assets/icons/edit-icon.tsx","../src/context/useMirantesFoundation.ts","../src/assets/icons/delete-icon.tsx","../src/styles/palette.const.ts","../src/components/shared/modal/confirm-modal.tsx","../src/components/ui/dialog.tsx","../src/components/shared/modal/modal.tsx","../src/assets/icons/loading-icon.tsx","../src/components/shared/button/button.tsx","../src/components/fromMirantes/WorkspacePanel/api/graphql.ts","../src/client/queryClient.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-delete-workspace.ts","../src/components/shared/toasts/toasts.tsx","../src/assets/illustrations/AlertIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/store/add-workspace.store.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/AddWorkspaceModal.tsx","../src/assets/illustrations/CongratulationsIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceDone/AddWorkspaceDone.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-create-workspace.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-update-workspace.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/useAddWorkspaceModal.tsx","../src/assets/icons/CircledInfoIcon.tsx","../src/components/ui/input.tsx","../src/utils/utils.ts","../src/components/shared/BaseInput/BaseInput.tsx","../src/components/ui/button.tsx","../src/components/ui/command.tsx","../src/components/ui/popover.tsx","../src/components/shared/select-input/select-input.tsx","../src/components/shared/badge/badge.tsx","../src/components/ui/textarea.tsx","../src/components/shared/description-input/description-input.tsx","../src/assets/illustrations/CreatingWorkspaceIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceLoading/AddWorkspaceLoading.tsx","../src/components/shared/emogi-picker/emoji-picker.tsx","../src/assets/icons/use-icon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/AddWorkspaceForm.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemOptions.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem.tsx","../src/assets/icons/WorkFeedIcon.tsx","../src/assets/icons/BriefcaseIcon.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-get-workspaces.ts","../src/assets/icons/CircledAddIcon.tsx","../src/assets/icons/workspaces-panel/AddWorkspaceIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton.tsx","../src/components/fromMirantes/WorkspacePanel/components/MobileWorspaceBar/MobileWorkspaceBar.tsx","../src/components/ui/avatar.tsx","../src/components/shared/avatar/avatar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfoItem.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfo.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceGreetings/WorkspaceGreetings.tsx","../src/assets/icons/workspaces-panel/FeedIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemSkeleton.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItems.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspacePanelBar.tsx","../src/components/fromMirantes/WorkspacePanel/components/DesktopWorkspaceBar/DesktopWorkspaceBar.tsx","../src/hooks/useMobile.ts","../src/components/fromMirantes/WorkspacePanel/WorkspacePanel.tsx","../src/assets/logos/MirantesLogo.tsx","../src/components/shared/dropdown/Dropdown.tsx","../src/components/fromMirantes/utils/cookies-utils.ts","../src/components/fromMirantes/Header/components/UserInfo/UserOptions.tsx","../src/components/fromMirantes/Header/components/UserInfo/UserInfo.tsx","../src/components/fromMirantes/Header/components/Navbar/NavbarItem.tsx","../src/assets/icons/nav-icons/HomeIcon.tsx","../src/assets/icons/nav-icons/MCPIcon.tsx","../src/assets/icons/nav-icons/ExploreIcon.tsx","../src/components/fromMirantes/Header/components/Navbar/Navbar.tsx","../src/assets/icons/nav-icons/AIIcon.tsx","../src/assets/icons/MessagesIcon.tsx","../src/components/fromMirantes/Header/DesktopHeader/DesktopHeader.tsx","../src/assets/icons/Search.tsx","../src/components/fromMirantes/Header/MobileHeader/MobileHeader.tsx","../src/components/fromMirantes/Header/Header.tsx"],"names":["Spinner","className","React","joinUrlWithPathAndQuery","baseUrl","path","query","url","queryParams","key","e","stringToObj","inputString","separator","keyValuePairs","resultObj","pair","value","__spreadProps","__spreadValues","getInitials","fullName","_a","_b","_c","_d","parts","firstInitial","lastInitial","MirantesFoundationContext","createContext","Subscribable","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","timeUntilStale","updatedAt","staleTime","resolveStaleTime","resolveEnabled","enabled","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","a","b","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","FocusManager","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","isFocused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultRetryDelay","failureCount","__pow","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","isRetryCancelled","isResolved","continueFn","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","delay","shouldRetry","defaultScheduler","cb","createNotifyManager","queue","transactions","notifyFn","callback","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","_Query_instances","_initialState","_revertState","_cache","_client","_retryer","_defaultOptions","_abortSignalConsumed","getDefaultState","newData","__privateMethod","dispatch_fn","state","setStateOptions","promise","observer","x","abortController","addSignalProperty","object","fetchFn","queryFn","queryFnContext","context","onError","action","reducer","fetchState","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","event","Mutation","_Mutation_instances","_observers","_mutationCache","variables","__async","onContinue","restored","isPaused","_e","_g","_f","_i","_h","_k","_j","_m","_l","_o","_n","_q","_p","_s","_r","_u","_t","MutationCache","_mutations","_scopes","_mutationId","__privateWrapper","scope","scopeFor","scopedMutations","index","mutationsWithSameScope","firstPendingMutation","m","foundMutation","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","currentPage","cancelled","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","defaultedOptions","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_QueryObserver_instances","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_currentThenable","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","onPropTracked","target","__objRest","prevResult","prevResultState","prevResultOptions","queryInitialState","newState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","nextInterval","notifyOptions","shouldLoadOnMount","field","optimisticResult","InfiniteQueryObserver","parentResult","isRefetching","isRefetchError","fetchDirection","isFetchNextPageError","isFetchingNextPage","isFetchPreviousPageError","isFetchingPreviousPage","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","Rt","useQueryClient","queryClient","QueryClientProvider","children","jsx","IsRestoringContext","jo","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","uo","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","Js","getHasError","suspense","ensureSuspenseTimers","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isNewCacheEntry","Je","shouldSubscribe","onStoreChange","unsubscribe","useMutation","Ie","mutate","mutateOptions","useInfiniteQuery","MirantesFoundationProvider","Notification","locale","Link","usePathname","user","mirantesDomain","environment","widgetsApi","hostUrl","isDev","useMemo","ReactQueryDevtools","ExploreIcon","Ro","CLASS_PART_SEPARATOR","createClassGroupUtils","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","prefix","Map","prefixedClassGroupEntries","getPrefixedClassGroupEntries","Object","entries","classGroups","forEach","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","currentClassPartObject","pathPart","has","set","func","classGroupEntries","map","prefixedClassGroup","fromEntries","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","startsWith","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","sort","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","originalClassName","Boolean","variantModifier","modifierId","classId","includes","conflictGroups","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","apply","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","Set","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","Number","isNaN","isArbitraryNumber","isInteger","isPercent","endsWith","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","aspect","container","columns","box","display","float","clear","isolation","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","span","row","justify","content","self","p","px","py","ps","pe","pt","pr","pb","pl","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","twMerge","cn","inputs","clsx","TooltipProvider","delayDuration","props","et","Tooltip","TooltipTrigger","TooltipContent","sideOffset","useOpen","isOpen","setIsOpen","useState","useOutsideClick","ref","useEffect","handleClick","packagesEnglishDictionary","packagesFrenchDictionary","packagesPortugueseDictionary","billingTranslation","packageDictionary","EditIcon","color","go","useMirantesFoundation","mirantesContext","useContext","DeleteIcon","$o","Palette","Dialog","DialogPortal","DialogOverlay","te","DialogContent","onClose","overlayClassName","closeOnOverlayClick","hideCloseButton","X","DialogHeader","DialogTitle","DialogDescription","Modal","header","closeOnClickOutside","disableFullScreen","open","LoadingIcon","le","Button","disabled","onClick","ConfirmModal","onConfirm","title","description","illustration","GET_WORKSPACES","gql","CREATE_WORKSPACES_MUTATION","DELETE_WORKSPACE_MUTATION","UPDATE_WORKSPACE_MUTATION","mutationFn","_0","id","apiUrl","accessToken","request","useApiDeleteWorkspace","deleteWorkspace","isDeletingWorkspace","previousData","workspace","TOAST_ID","useToast","message","toast","ToastContainer","AlertIllustration","Kr","useAddWorkspaceStore","create","step","CongratulationsIllustration","R","AddWorkspaceDone","motion","useApiCreateWorkspace","createWorkspace","isCreatingWorkspace","newWorkspace","useApiUpdateWorkspace","updateWorkspace","isUpdatingWorkspace","updatedWorkspace","AddWorkspaceModalFormSchema","useAddWorkspaceModal","setStep","errorToast","selectedInterests","setSelectedInterests","interests","watch","setValue","clearErrors","handleSubmit","errors","useForm","yupResolver","getError","onSelectInterest","onRemoveInterest","onChangeName","onChangeDescription","onSubmit","rest","CircledInfoIcon","Input","ke","leftElement","rightElement","leftElementClassName","rightElementClassName","inputClassName","BaseInput","onChange","rightIcon","leftIcon","name","required","wrapperClassName","isFocusing","setIsFocusing","inputRef","useRef","handleFocus","handleBlur","buttonVariants","cva","variant","asChild","Wa","Slot","Command","We","CommandPrimitive","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandItem","Popover","yo","PopoverTrigger","PopoverContent","SelectInput","register","onChangeItem","disableSelectedItem","setOpen","selectedValue","setSelectedValue","handleSelect","currentValue","selectedItem","option","selectedOption","hiddenInputRef","ChevronDown","Check","Badge","onRemove","iconClassName","Textarea","Ka","DescriptionInput","maxLength","textAreaClassName","setText","handleChange","newValue","CreatingWorkspaceIllustration","AddWorkspaceLoading","EmojiButton","icon","containerClassName","showPicker","setShowPicker","pickerRef","buttonRef","handleClickOutside","togglePicker","handleEmojiClick","emojiData","emoji","EmojiPicker","Theme","UserIcon","AddWorkspaceForm","interest","interestData","AddWorkspaceModal","setWorkspace","handleClose","WorkspaceBarItemOptions","successToast","isOpenDelete","onOpenDelete","onCloseDelete","isOpenEdit","onOpenEdit","onCloseEdit","handleDeleteWorkspace","WorkspaceBarItem","href","active","isCurrent","onOpen","handleRightClick","WorkFeedIcon","BriefcaseIcon","wo","getWorkspaces","pageParam","response","useApiGetWorkspaces","isGetWorkspacesLoading","fetchNextPage","lastPage","last","CircledAddIcon","lr","AddWorkspaceIcon","Co","AddWorkspaceButton","MobileWorkspaceBar","workspaces","Avatar","AvatarImage","AvatarFallback","src","WorkspaceUserInfoItem","WorkspaceUserInfo","WorkspaceGreetings","FeedIcon","Q","WorkspaceBarItemSkeleton","WorkspaceBarItems","WorkspacePanelBar","ChevronDownIcon","DesktopWorkspaceBar","MOBILE_BREAKPOINT","useMobile","isMobile","setIsMobile","checkIsMobile","WorkspacePanel","MirantesLogo","Dropdown","trigger","toggle","MoreVerticalIcon","useUserSessions","resolvedDomain","saveCookie","setCookie","destroyCookie","deleteCookie","getSavedCookie","getCookie","UserOptions","LogOut","UserInfo","NavbarItem","HomeIcon","MCPIcon","Navbar","AIIcon","fr","MessagesIcon","Xt","DesktopHeader","search","setSearch","NotificationsWrapper","SearchSvg","MobileHeader","handleRedirectToProfile","MenuIcon","Header"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from \"react\";\r\n\r\nexport default function Spinner({ className }: { className?: string }) {\r\n return (\r\n <div className=\"\">\r\n <svg\r\n aria-hidden=\"true\"\r\n className={`w-6 h-6 mr-2 animate-spin text-gray-200 fill-primary ${className}`}\r\n viewBox=\"0 0 100 101\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\r\n fill=\"currentColor\"\r\n />\r\n <path\r\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\r\n fill=\"currentFill\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","export default function joinUrlWithPathAndQuery(\r\n baseUrl: string,\r\n path: string,\r\n query?: Record<string, string>\r\n): string {\r\n try {\r\n if (!baseUrl.endsWith(\"/\")) {\r\n baseUrl += \"/\";\r\n }\r\n\r\n if (path.startsWith(\"/\")) {\r\n path = path.substring(1);\r\n }\r\n\r\n let url = baseUrl + path;\r\n\r\n if (query) {\r\n const queryParams = Object.keys(query)\r\n .map(\r\n (key) =>\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(query[key])\r\n )\r\n .join(\"&\");\r\n\r\n if (queryParams) {\r\n url += \"?\" + queryParams;\r\n }\r\n }\r\n\r\n return url;\r\n } catch {\r\n return \"\";\r\n }\r\n}\r\n","export default function stringToObj<T>(\r\n inputString: string,\r\n separator: string\r\n): T | undefined {\r\n const keyValuePairs: string[] = inputString.split(separator);\r\n\r\n let resultObj: T | undefined;\r\n\r\n for (const pair of keyValuePairs) {\r\n const [key, value] = pair.split(\"=\");\r\n if (!resultObj) resultObj = {} as T;\r\n\r\n if (value) {\r\n resultObj = {\r\n ...resultObj,\r\n [key]: value,\r\n };\r\n }\r\n }\r\n\r\n return resultObj;\r\n}\r\n","export default function getInitials(fullName: string): string {\r\n if (!fullName) return \"\";\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n\r\n if (parts.length === 0) return \"\";\r\n\r\n const firstInitial = parts[0][0]?.toUpperCase() ?? \"\";\r\n const lastInitial =\r\n parts.length > 1 ? parts[parts.length - 1][0]?.toUpperCase() ?? \"\" : \"\";\r\n\r\n return firstInitial + lastInitial;\r\n}\r\n","import { createContext } from \"react\";\r\nimport { IMirantesFoundationContext, User } from \"./types\";\r\n\r\nexport const MirantesFoundationContext =\r\n createContext<IMirantesFoundationContext>({\r\n locale: \"pt\",\r\n user: {} as User,\r\n });\r\n","export class Subscribable<TListener extends Function> {\n protected listeners = new Set<TListener>()\n\n constructor() {\n this.subscribe = this.subscribe.bind(this)\n }\n\n subscribe(listener: TListener): () => void {\n this.listeners.add(listener)\n\n this.onSubscribe()\n\n return () => {\n this.listeners.delete(listener)\n this.onUnsubscribe()\n }\n }\n\n hasListeners(): boolean {\n return this.listeners.size > 0\n }\n\n protected onSubscribe(): void {\n // Do nothing\n }\n\n protected onUnsubscribe(): void {\n // Do nothing\n }\n}\n","import type {\n DefaultError,\n Enabled,\n FetchStatus,\n MutationKey,\n MutationStatus,\n QueryFunction,\n QueryKey,\n QueryOptions,\n StaleTime,\n} from './types'\nimport type { Mutation } from './mutation'\nimport type { FetchOptions, Query } from './query'\n\n// TYPES\n\nexport interface QueryFilters<TQueryKey extends QueryKey = QueryKey> {\n /**\n * Filter to active queries, inactive queries or all queries\n */\n type?: QueryTypeFilter\n /**\n * Match query key exactly\n */\n exact?: boolean\n /**\n * Include queries matching this predicate function\n */\n predicate?: (query: Query) => boolean\n /**\n * Include queries matching this query key\n */\n queryKey?: TQueryKey\n /**\n * Include or exclude stale queries\n */\n stale?: boolean\n /**\n * Include queries matching their fetchStatus\n */\n fetchStatus?: FetchStatus\n}\n\nexport interface MutationFilters<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n /**\n * Match mutation key exactly\n */\n exact?: boolean\n /**\n * Include mutations matching this predicate function\n */\n predicate?: (\n mutation: Mutation<TData, TError, TVariables, TContext>,\n ) => boolean\n /**\n * Include mutations matching this mutation key\n */\n mutationKey?: MutationKey\n /**\n * Filter by mutation status\n */\n status?: MutationStatus\n}\n\nexport type Updater<TInput, TOutput> = TOutput | ((input: TInput) => TOutput)\n\nexport type QueryTypeFilter = 'all' | 'active' | 'inactive'\n\n// UTILS\n\nexport const isServer = typeof window === 'undefined' || 'Deno' in globalThis\n\nexport function noop(): void\nexport function noop(): undefined\nexport function noop() {}\n\nexport function functionalUpdate<TInput, TOutput>(\n updater: Updater<TInput, TOutput>,\n input: TInput,\n): TOutput {\n return typeof updater === 'function'\n ? (updater as (_: TInput) => TOutput)(input)\n : updater\n}\n\nexport function isValidTimeout(value: unknown): value is number {\n return typeof value === 'number' && value >= 0 && value !== Infinity\n}\n\nexport function timeUntilStale(updatedAt: number, staleTime?: number): number {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0)\n}\n\nexport function resolveStaleTime<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n staleTime: undefined | StaleTime<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): number | undefined {\n return typeof staleTime === 'function' ? staleTime(query) : staleTime\n}\n\nexport function resolveEnabled<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n enabled: undefined | Enabled<TQueryFnData, TError, TData, TQueryKey>,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n): boolean | undefined {\n return typeof enabled === 'function' ? enabled(query) : enabled\n}\n\nexport function matchQuery(\n filters: QueryFilters,\n query: Query<any, any, any, any>,\n): boolean {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale,\n } = filters\n\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive()\n if (type === 'active' && !isActive) {\n return false\n }\n if (type === 'inactive' && isActive) {\n return false\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false\n }\n\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false\n }\n\n if (predicate && !predicate(query)) {\n return false\n }\n\n return true\n}\n\nexport function matchMutation(\n filters: MutationFilters,\n mutation: Mutation<any, any>,\n): boolean {\n const { exact, status, predicate, mutationKey } = filters\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false\n }\n }\n\n if (status && mutation.state.status !== status) {\n return false\n }\n\n if (predicate && !predicate(mutation)) {\n return false\n }\n\n return true\n}\n\nexport function hashQueryKeyByOptions<TQueryKey extends QueryKey = QueryKey>(\n queryKey: TQueryKey,\n options?: Pick<QueryOptions<any, any, any, any>, 'queryKeyHashFn'>,\n): string {\n const hashFn = options?.queryKeyHashFn || hashKey\n return hashFn(queryKey)\n}\n\n/**\n * Default query & mutation keys hash function.\n * Hashes the value into a stable hash.\n */\nexport function hashKey(queryKey: QueryKey | MutationKey): string {\n return JSON.stringify(queryKey, (_, val) =>\n isPlainObject(val)\n ? Object.keys(val)\n .sort()\n .reduce((result, key) => {\n result[key] = val[key]\n return result\n }, {} as any)\n : val,\n )\n}\n\n/**\n * Checks if key `b` partially matches with key `a`.\n */\nexport function partialMatchKey(a: QueryKey, b: QueryKey): boolean\nexport function partialMatchKey(a: any, b: any): boolean {\n if (a === b) {\n return true\n }\n\n if (typeof a !== typeof b) {\n return false\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]))\n }\n\n return false\n}\n\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T): T\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a\n }\n\n const array = isPlainArray(a) && isPlainArray(b)\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aItems = array ? a : Object.keys(a)\n const aSize = aItems.length\n const bItems = array ? b : Object.keys(b)\n const bSize = bItems.length\n const copy: any = array ? [] : {}\n\n let equalItems = 0\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i]\n if (\n ((!array && aItems.includes(key)) || array) &&\n a[key] === undefined &&\n b[key] === undefined\n ) {\n copy[key] = undefined\n equalItems++\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key])\n if (copy[key] === a[key] && a[key] !== undefined) {\n equalItems++\n }\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy\n }\n\n return b\n}\n\n/**\n * Shallow compare objects.\n */\nexport function shallowEqualObjects<T extends Record<string, any>>(\n a: T,\n b: T | undefined,\n): boolean {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nexport function isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false\n }\n\n // If has no constructor\n const ctor = o.constructor\n if (ctor === undefined) {\n return true\n }\n\n // If has modified prototype\n const prot = ctor.prototype\n if (!hasObjectPrototype(prot)) {\n return false\n }\n\n // If constructor does not have an Object-specific method\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\nexport function replaceData<\n TData,\n TOptions extends QueryOptions<any, any, any, any>,\n>(prevData: TData | undefined, data: TData, options: TOptions): TData {\n if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data) as TData\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== 'production') {\n try {\n return replaceEqualDeep(prevData, data)\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`,\n )\n\n // Prevent the replaceEqualDeep from being called again down below.\n throw error\n }\n }\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data)\n }\n return data\n}\n\nexport function keepPreviousData<T>(\n previousData: T | undefined,\n): T | undefined {\n return previousData\n}\n\nexport function addToEnd<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [...items, item]\n return max && newItems.length > max ? newItems.slice(1) : newItems\n}\n\nexport function addToStart<T>(items: Array<T>, item: T, max = 0): Array<T> {\n const newItems = [item, ...items]\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems\n}\n\nexport const skipToken = Symbol()\nexport type SkipToken = typeof skipToken\n\nexport function ensureQueryFn<\n TQueryFnData = unknown,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: {\n queryFn?: QueryFunction<TQueryFnData, TQueryKey> | SkipToken\n queryHash?: string\n },\n fetchOptions?: FetchOptions<TQueryFnData>,\n): QueryFunction<TQueryFnData, TQueryKey> {\n if (process.env.NODE_ENV !== 'production') {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`,\n )\n }\n }\n\n // if we attempt to retry a fetch that was triggered from an initialPromise\n // when we don't have a queryFn yet, we can't retry, so we just return the already rejected initialPromise\n // if an observer has already mounted, we will be able to retry with that queryFn\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise!\n }\n\n if (!options.queryFn || options.queryFn === skipToken) {\n return () =>\n Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`))\n }\n\n return options.queryFn\n}\n\nexport function shouldThrowError<T extends (...args: Array<any>) => boolean>(\n throwOnError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwOnError function to override throwing behavior on a per-error basis\n if (typeof throwOnError === 'function') {\n return throwOnError(...params)\n }\n\n return !!throwOnError\n}\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (focused: boolean) => void\n\ntype SetupFn = (\n setFocused: (focused?: boolean) => void,\n) => (() => void) | undefined\n\nexport class FocusManager extends Subscribable<Listener> {\n #focused?: boolean\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onFocus) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus()\n // Listen to visibilitychange\n window.addEventListener('visibilitychange', listener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener)\n }\n }\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup((focused) => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused)\n } else {\n this.onFocus()\n }\n })\n }\n\n setFocused(focused?: boolean): void {\n const changed = this.#focused !== focused\n if (changed) {\n this.#focused = focused\n this.onFocus()\n }\n }\n\n onFocus(): void {\n const isFocused = this.isFocused()\n this.listeners.forEach((listener) => {\n listener(isFocused)\n })\n }\n\n isFocused(): boolean {\n if (typeof this.#focused === 'boolean') {\n return this.#focused\n }\n\n // document global can be unavailable in react native\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return globalThis.document?.visibilityState !== 'hidden'\n }\n}\n\nexport const focusManager = new FocusManager()\n","import { Subscribable } from './subscribable'\nimport { isServer } from './utils'\n\ntype Listener = (online: boolean) => void\ntype SetupFn = (setOnline: Listener) => (() => void) | undefined\n\nexport class OnlineManager extends Subscribable<Listener> {\n #online = true\n #cleanup?: () => void\n\n #setup: SetupFn\n\n constructor() {\n super()\n this.#setup = (onOnline) => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true)\n const offlineListener = () => onOnline(false)\n // Listen to online\n window.addEventListener('online', onlineListener, false)\n window.addEventListener('offline', offlineListener, false)\n\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', onlineListener)\n window.removeEventListener('offline', offlineListener)\n }\n }\n\n return\n }\n }\n\n protected onSubscribe(): void {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup)\n }\n }\n\n protected onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.()\n this.#cleanup = undefined\n }\n }\n\n setEventListener(setup: SetupFn): void {\n this.#setup = setup\n this.#cleanup?.()\n this.#cleanup = setup(this.setOnline.bind(this))\n }\n\n setOnline(online: boolean): void {\n const changed = this.#online !== online\n\n if (changed) {\n this.#online = online\n this.listeners.forEach((listener) => {\n listener(online)\n })\n }\n }\n\n isOnline(): boolean {\n return this.#online\n }\n}\n\nexport const onlineManager = new OnlineManager()\n","/**\n * Thenable types which matches React's types for promises\n *\n * React seemingly uses `.status`, `.value` and `.reason` properties on a promises to optimistically unwrap data from promises\n *\n * @see https://github.com/facebook/react/blob/main/packages/shared/ReactTypes.js#L112-L138\n * @see https://github.com/facebook/react/blob/4f604941569d2e8947ce1460a0b2997e835f37b9/packages/react-debug-tools/src/ReactDebugHooks.js#L224-L227\n */\n\ninterface Fulfilled<T> {\n status: 'fulfilled'\n value: T\n}\ninterface Rejected {\n status: 'rejected'\n reason: unknown\n}\ninterface Pending<T> {\n status: 'pending'\n\n /**\n * Resolve the promise with a value.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n resolve: (value: T) => void\n /**\n * Reject the promise with a reason.\n * Will remove the `resolve` and `reject` properties from the promise.\n */\n reject: (reason: unknown) => void\n}\n\nexport type FulfilledThenable<T> = Promise<T> & Fulfilled<T>\nexport type RejectedThenable<T> = Promise<T> & Rejected\nexport type PendingThenable<T> = Promise<T> & Pending<T>\n\nexport type Thenable<T> =\n | FulfilledThenable<T>\n | RejectedThenable<T>\n | PendingThenable<T>\n\nexport function pendingThenable<T>(): PendingThenable<T> {\n let resolve: Pending<T>['resolve']\n let reject: Pending<T>['reject']\n // this could use `Promise.withResolvers()` in the future\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve\n reject = _reject\n }) as PendingThenable<T>\n\n thenable.status = 'pending'\n thenable.catch(() => {\n // prevent unhandled rejection errors\n })\n\n function finalize(data: Fulfilled<T> | Rejected) {\n Object.assign(thenable, data)\n\n // clear pending props props to avoid calling them twice\n delete (thenable as Partial<PendingThenable<T>>).resolve\n delete (thenable as Partial<PendingThenable<T>>).reject\n }\n\n thenable.resolve = (value) => {\n finalize({\n status: 'fulfilled',\n value,\n })\n\n resolve(value)\n }\n thenable.reject = (reason) => {\n finalize({\n status: 'rejected',\n reason,\n })\n\n reject(reason)\n }\n\n return thenable\n}\n","import { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { pendingThenable } from './thenable'\nimport { isServer, sleep } from './utils'\nimport type { CancelOptions, DefaultError, NetworkMode } from './types'\n\n// TYPES\n\ninterface RetryerConfig<TData = unknown, TError = DefaultError> {\n fn: () => TData | Promise<TData>\n initialPromise?: Promise<TData>\n abort?: () => void\n onError?: (error: TError) => void\n onSuccess?: (data: TData) => void\n onFail?: (failureCount: number, error: TError) => void\n onPause?: () => void\n onContinue?: () => void\n retry?: RetryValue<TError>\n retryDelay?: RetryDelayValue<TError>\n networkMode: NetworkMode | undefined\n canRun: () => boolean\n}\n\nexport interface Retryer<TData = unknown> {\n promise: Promise<TData>\n cancel: (cancelOptions?: CancelOptions) => void\n continue: () => Promise<unknown>\n cancelRetry: () => void\n continueRetry: () => void\n canStart: () => boolean\n start: () => Promise<TData>\n}\n\nexport type RetryValue<TError> = boolean | number | ShouldRetryFunction<TError>\n\ntype ShouldRetryFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => boolean\n\nexport type RetryDelayValue<TError> = number | RetryDelayFunction<TError>\n\ntype RetryDelayFunction<TError = DefaultError> = (\n failureCount: number,\n error: TError,\n) => number\n\nfunction defaultRetryDelay(failureCount: number) {\n return Math.min(1000 * 2 ** failureCount, 30000)\n}\n\nexport function canFetch(networkMode: NetworkMode | undefined): boolean {\n return (networkMode ?? 'online') === 'online'\n ? onlineManager.isOnline()\n : true\n}\n\nexport class CancelledError extends Error {\n revert?: boolean\n silent?: boolean\n constructor(options?: CancelOptions) {\n super('CancelledError')\n this.revert = options?.revert\n this.silent = options?.silent\n }\n}\n\nexport function isCancelledError(value: any): value is CancelledError {\n return value instanceof CancelledError\n}\n\nexport function createRetryer<TData = unknown, TError = DefaultError>(\n config: RetryerConfig<TData, TError>,\n): Retryer<TData> {\n let isRetryCancelled = false\n let failureCount = 0\n let isResolved = false\n let continueFn: ((value?: unknown) => void) | undefined\n\n const thenable = pendingThenable<TData>()\n\n const cancel = (cancelOptions?: CancelOptions): void => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions))\n\n config.abort?.()\n }\n }\n const cancelRetry = () => {\n isRetryCancelled = true\n }\n\n const continueRetry = () => {\n isRetryCancelled = false\n }\n\n const canContinue = () =>\n focusManager.isFocused() &&\n (config.networkMode === 'always' || onlineManager.isOnline()) &&\n config.canRun()\n\n const canStart = () => canFetch(config.networkMode) && config.canRun()\n\n const resolve = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onSuccess?.(value)\n continueFn?.()\n thenable.resolve(value)\n }\n }\n\n const reject = (value: any) => {\n if (!isResolved) {\n isResolved = true\n config.onError?.(value)\n continueFn?.()\n thenable.reject(value)\n }\n }\n\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value)\n }\n }\n config.onPause?.()\n }).then(() => {\n continueFn = undefined\n if (!isResolved) {\n config.onContinue?.()\n }\n })\n }\n\n // Create loop function\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return\n }\n\n let promiseOrValue: any\n\n // we can re-use config.initialPromise on the first call of run()\n const initialPromise =\n failureCount === 0 ? config.initialPromise : undefined\n\n // Execute query\n try {\n promiseOrValue = initialPromise ?? config.fn()\n } catch (error) {\n promiseOrValue = Promise.reject(error)\n }\n\n Promise.resolve(promiseOrValue)\n .then(resolve)\n .catch((error) => {\n // Stop if the fetch is already resolved\n if (isResolved) {\n return\n }\n\n // Do we need to retry the request?\n const retry = config.retry ?? (isServer ? 0 : 3)\n const retryDelay = config.retryDelay ?? defaultRetryDelay\n const delay =\n typeof retryDelay === 'function'\n ? retryDelay(failureCount, error)\n : retryDelay\n const shouldRetry =\n retry === true ||\n (typeof retry === 'number' && failureCount < retry) ||\n (typeof retry === 'function' && retry(failureCount, error))\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error)\n return\n }\n\n failureCount++\n\n // Notify on fail\n config.onFail?.(failureCount, error)\n\n // Delay\n sleep(delay)\n // Pause if the document is not visible or when the device is offline\n .then(() => {\n return canContinue() ? undefined : pause()\n })\n .then(() => {\n if (isRetryCancelled) {\n reject(error)\n } else {\n run()\n }\n })\n })\n }\n\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.()\n return thenable\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n // Start loop\n if (canStart()) {\n run()\n } else {\n pause().then(run)\n }\n return thenable\n },\n }\n}\n","// TYPES\n\ntype NotifyCallback = () => void\n\ntype NotifyFunction = (callback: () => void) => void\n\ntype BatchNotifyFunction = (callback: () => void) => void\n\ntype BatchCallsCallback<T extends Array<unknown>> = (...args: T) => void\n\ntype ScheduleFunction = (callback: () => void) => void\n\nexport const defaultScheduler: ScheduleFunction = (cb) => setTimeout(cb, 0)\n\nexport function createNotifyManager() {\n let queue: Array<NotifyCallback> = []\n let transactions = 0\n let notifyFn: NotifyFunction = (callback) => {\n callback()\n }\n let batchNotifyFn: BatchNotifyFunction = (callback: () => void) => {\n callback()\n }\n let scheduleFn = defaultScheduler\n\n const schedule = (callback: NotifyCallback): void => {\n if (transactions) {\n queue.push(callback)\n } else {\n scheduleFn(() => {\n notifyFn(callback)\n })\n }\n }\n const flush = (): void => {\n const originalQueue = queue\n queue = []\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback)\n })\n })\n })\n }\n }\n\n return {\n batch: <T>(callback: () => T): T => {\n let result\n transactions++\n try {\n result = callback()\n } finally {\n transactions--\n if (!transactions) {\n flush()\n }\n }\n return result\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: <T extends Array<unknown>>(\n callback: BatchCallsCallback<T>,\n ): BatchCallsCallback<T> => {\n return (...args) => {\n schedule(() => {\n callback(...args)\n })\n }\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn: NotifyFunction) => {\n notifyFn = fn\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn: BatchNotifyFunction) => {\n batchNotifyFn = fn\n },\n setScheduler: (fn: ScheduleFunction) => {\n scheduleFn = fn\n },\n } as const\n}\n\n// SINGLETON\nexport const notifyManager = createNotifyManager()\n","import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n gcTime!: number\n #gcTimeout?: ReturnType<typeof setTimeout>\n\n destroy(): void {\n this.clearGcTimeout()\n }\n\n protected scheduleGc(): void {\n this.clearGcTimeout()\n\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove()\n }, this.gcTime)\n }\n }\n\n protected updateGcTime(newGcTime: number | undefined): void {\n // Default to 5 minutes (Infinity for server-side) if no gcTime is set\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n )\n }\n\n protected clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout)\n this.#gcTimeout = undefined\n }\n }\n\n protected abstract optionalRemove(): void\n}\n","import {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale,\n} from './utils'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type { QueryCache } from './queryCache'\nimport type { QueryClient } from './queryClient'\nimport type {\n CancelOptions,\n DefaultError,\n FetchStatus,\n InitialDataFunction,\n OmitKeyof,\n QueryFunction,\n QueryFunctionContext,\n QueryKey,\n QueryMeta,\n QueryOptions,\n QueryStatus,\n SetDataOptions,\n} from './types'\nimport type { QueryObserver } from './queryObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n client: QueryClient\n queryKey: TQueryKey\n queryHash: string\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = DefaultError> {\n data: TData | undefined\n dataUpdateCount: number\n dataUpdatedAt: number\n error: TError | null\n errorUpdateCount: number\n errorUpdatedAt: number\n fetchFailureCount: number\n fetchFailureReason: TError | null\n fetchMeta: FetchMeta | null\n isInvalidated: boolean\n status: QueryStatus\n fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n fetchFn: () => unknown | Promise<unknown>\n fetchOptions?: FetchOptions\n signal: AbortSignal\n options: QueryOptions<TQueryFnData, TError, TData, any>\n client: QueryClient\n queryKey: TQueryKey\n state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n onFetch: (\n context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n query: Query,\n ) => void\n}\n\nexport type FetchDirection = 'forward' | 'backward'\n\nexport interface FetchMeta {\n fetchMore?: { direction: FetchDirection }\n}\n\nexport interface FetchOptions<TData = unknown> {\n cancelRefetch?: boolean\n meta?: FetchMeta\n initialPromise?: Promise<TData>\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError\n}\n\ninterface FetchAction {\n type: 'fetch'\n meta?: FetchMeta\n}\n\ninterface SuccessAction<TData> {\n data: TData | undefined\n type: 'success'\n dataUpdatedAt?: number\n manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface InvalidateAction {\n type: 'invalidate'\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n type: 'setState'\n state: Partial<QueryState<TData, TError>>\n setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | FetchAction\n | InvalidateAction\n | PauseAction\n | SetStateAction<TData, TError>\n | SuccessAction<TData>\n\nexport interface SetStateOptions {\n meta?: any\n}\n\n// CLASS\n\nexport class Query<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n queryKey: TQueryKey\n queryHash: string\n options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n state: QueryState<TData, TError>\n\n #initialState: QueryState<TData, TError>\n #revertState?: QueryState<TData, TError>\n #cache: QueryCache\n #client: QueryClient\n #retryer?: Retryer<TData>\n observers: Array<QueryObserver<any, any, any, any, any>>\n #defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n #abortSignalConsumed: boolean\n\n constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n super()\n\n this.#abortSignalConsumed = false\n this.#defaultOptions = config.defaultOptions\n this.setOptions(config.options)\n this.observers = []\n this.#client = config.client\n this.#cache = this.#client.getQueryCache()\n this.queryKey = config.queryKey\n this.queryHash = config.queryHash\n this.#initialState = getDefaultState(this.options)\n this.state = config.state ?? this.#initialState\n this.scheduleGc()\n }\n get meta(): QueryMeta | undefined {\n return this.options.meta\n }\n\n get promise(): Promise<TData> | undefined {\n return this.#retryer?.promise\n }\n\n setOptions(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): void {\n this.options = { ...this.#defaultOptions, ...options }\n\n this.updateGcTime(this.options.gcTime)\n }\n\n protected optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === 'idle') {\n this.#cache.remove(this)\n }\n }\n\n setData(\n newData: TData,\n options?: SetDataOptions & { manual: boolean },\n ): TData {\n const data = replaceData(this.state.data, newData, this.options)\n\n // Set data and mark it as cached\n this.#dispatch({\n data,\n type: 'success',\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual,\n })\n\n return data\n }\n\n setState(\n state: Partial<QueryState<TData, TError>>,\n setStateOptions?: SetStateOptions,\n ): void {\n this.#dispatch({ type: 'setState', state, setStateOptions })\n }\n\n cancel(options?: CancelOptions): Promise<void> {\n const promise = this.#retryer?.promise\n this.#retryer?.cancel(options)\n return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n }\n\n destroy(): void {\n super.destroy()\n\n this.cancel({ silent: true })\n }\n\n reset(): void {\n this.destroy()\n this.setState(this.#initialState)\n }\n\n isActive(): boolean {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false,\n )\n }\n\n isDisabled(): boolean {\n if (this.getObserversCount() > 0) {\n return !this.isActive()\n }\n // if a query has no observers, it should still be considered disabled if it never attempted a fetch\n return (\n this.options.queryFn === skipToken ||\n this.state.dataUpdateCount + this.state.errorUpdateCount === 0\n )\n }\n\n isStale(): boolean {\n if (this.state.isInvalidated) {\n return true\n }\n\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale,\n )\n }\n\n return this.state.data === undefined\n }\n\n isStaleByTime(staleTime = 0): boolean {\n return (\n this.state.isInvalidated ||\n this.state.data === undefined ||\n !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n )\n }\n\n onFocus(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n onOnline(): void {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n observer?.refetch({ cancelRefetch: false })\n\n // Continue fetch if currently paused\n this.#retryer?.continue()\n }\n\n addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer)\n\n // Stop the query from being garbage collected\n this.clearGcTimeout()\n\n this.#cache.notify({ type: 'observerAdded', query: this, observer })\n }\n }\n\n removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer)\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true })\n } else {\n this.#retryer.cancelRetry()\n }\n }\n\n this.scheduleGc()\n }\n\n this.#cache.notify({ type: 'observerRemoved', query: this, observer })\n }\n }\n\n getObserversCount(): number {\n return this.observers.length\n }\n\n invalidate(): void {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: 'invalidate' })\n }\n }\n\n fetch(\n options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n fetchOptions?: FetchOptions<TQueryFnData>,\n ): Promise<TData> {\n if (this.state.fetchStatus !== 'idle') {\n if (this.state.data !== undefined && fetchOptions?.cancelRefetch) {\n // Silently cancel current fetch if the user wants to cancel refetch\n this.cancel({ silent: true })\n } else if (this.#retryer) {\n // make sure that retries that were potentially cancelled due to unmounts can continue\n this.#retryer.continueRetry()\n // Return current promise if we are already fetching\n return this.#retryer.promise\n }\n }\n\n // Update config if passed, otherwise the config from the last execution is used\n if (options) {\n this.setOptions(options)\n }\n\n // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn)\n if (observer) {\n this.setOptions(observer.options)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n )\n }\n }\n\n const abortController = new AbortController()\n\n // Adds an enumerable signal property to the object that\n // which sets abortSignalConsumed to true when the signal\n // is read.\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true\n return abortController.signal\n },\n })\n }\n\n // Create fetch function\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions)\n\n // Create query function context\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<TQueryKey>,\n 'signal'\n > = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n this.#abortSignalConsumed = false\n if (this.options.persister) {\n return this.options.persister(\n queryFn as QueryFunction<any>,\n queryFnContext as QueryFunctionContext<TQueryKey>,\n this as unknown as Query,\n )\n }\n\n return queryFn(queryFnContext as QueryFunctionContext<TQueryKey>)\n }\n\n // Trigger behavior hook\n const context: OmitKeyof<\n FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n 'signal'\n > = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn,\n }\n\n addSignalProperty(context)\n\n this.options.behavior?.onFetch(\n context as FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n this as unknown as Query,\n )\n\n // Store state in case the current fetch needs to be reverted\n this.#revertState = this.state\n\n // Set to fetching state if not already in it\n if (\n this.state.fetchStatus === 'idle' ||\n this.state.fetchMeta !== context.fetchOptions?.meta\n ) {\n this.#dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n }\n\n const onError = (error: TError | { silent?: boolean }) => {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: 'error',\n error: error as TError,\n })\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n this.#cache.config.onError?.(\n error as any,\n this as Query<any, any, any, any>,\n )\n this.#cache.config.onSettled?.(\n this.state.data,\n error as any,\n this as Query<any, any, any, any>,\n )\n }\n\n // Schedule query gc after fetching\n this.scheduleGc()\n }\n\n // Try to fetch the data\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise as\n | Promise<TData>\n | undefined,\n fn: context.fetchFn as () => Promise<TData>,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n )\n }\n onError(new Error(`${this.queryHash} data is undefined`) as any)\n return\n }\n\n try {\n this.setData(data)\n } catch (error) {\n onError(error as TError)\n return\n }\n\n // Notify cache callback\n this.#cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n this.#cache.config.onSettled?.(\n data,\n this.state.error as any,\n this as Query<any, any, any, any>,\n )\n\n // Schedule query gc after fetching\n this.scheduleGc()\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue: () => {\n this.#dispatch({ type: 'continue' })\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true,\n })\n\n return this.#retryer.start()\n }\n\n #dispatch(action: Action<TData, TError>): void {\n const reducer = (\n state: QueryState<TData, TError>,\n ): QueryState<TData, TError> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n fetchStatus: 'paused',\n }\n case 'continue':\n return {\n ...state,\n fetchStatus: 'fetching',\n }\n case 'fetch':\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null,\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: 'success',\n ...(!action.manual && {\n fetchStatus: 'idle',\n fetchFailureCount: 0,\n fetchFailureReason: null,\n }),\n }\n case 'error':\n const error = action.error\n\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: 'idle' }\n }\n\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: 'idle',\n status: 'error',\n }\n case 'invalidate':\n return {\n ...state,\n isInvalidated: true,\n }\n case 'setState':\n return {\n ...state,\n ...action.state,\n }\n }\n }\n\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate()\n })\n\n this.#cache.notify({ query: this, type: 'updated', action })\n })\n }\n}\n\nexport function fetchState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n data: TData | undefined,\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? 'fetching' : 'paused',\n ...(data === undefined &&\n ({\n error: null,\n status: 'pending',\n } as const)),\n } as const\n}\n\nfunction getDefaultState<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n const data =\n typeof options.initialData === 'function'\n ? (options.initialData as InitialDataFunction<TData>)()\n : options.initialData\n\n const hasData = data !== undefined\n\n const initialDataUpdatedAt = hasData\n ? typeof options.initialDataUpdatedAt === 'function'\n ? (options.initialDataUpdatedAt as () => number | undefined)()\n : options.initialDataUpdatedAt\n : 0\n\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? (initialDataUpdatedAt ?? Date.now()) : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? 'success' : 'pending',\n fetchStatus: 'idle',\n }\n}\n","import { hashQueryKeyByOptions, matchQuery } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type {\n DefaultError,\n NotifyEvent,\n QueryKey,\n QueryOptions,\n WithRequired,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n onError?: (\n error: DefaultError,\n query: Query<unknown, unknown, unknown>,\n ) => void\n onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n query: Query<unknown, unknown, unknown>,\n ) => void\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n type: 'added'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n type: 'removed'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n type: 'updated'\n query: Query<any, any, any, any>\n action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n type: 'observerResultsUpdated'\n query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n query: Query<any, any, any, any>\n observer: QueryObserver<any, any, any, any, any>\n}\n\nexport type QueryCacheNotifyEvent =\n | NotifyEventQueryAdded\n | NotifyEventQueryRemoved\n | NotifyEventQueryUpdated\n | NotifyEventQueryObserverAdded\n | NotifyEventQueryObserverRemoved\n | NotifyEventQueryObserverResultsUpdated\n | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\nexport interface QueryStore {\n has: (queryHash: string) => boolean\n set: (queryHash: string, query: Query) => void\n get: (queryHash: string) => Query | undefined\n delete: (queryHash: string) => void\n values: () => IterableIterator<Query>\n}\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n #queries: QueryStore\n\n constructor(public config: QueryCacheConfig = {}) {\n super()\n this.#queries = new Map<string, Query>()\n }\n\n build<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n client: QueryClient,\n options: WithRequired<\n QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'queryKey'\n >,\n state?: QueryState<TData, TError>,\n ): Query<TQueryFnData, TError, TData, TQueryKey> {\n const queryKey = options.queryKey\n const queryHash =\n options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey),\n })\n this.add(query)\n }\n\n return query\n }\n\n add(query: Query<any, any, any, any>): void {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query)\n\n this.notify({\n type: 'added',\n query,\n })\n }\n }\n\n remove(query: Query<any, any, any, any>): void {\n const queryInMap = this.#queries.get(query.queryHash)\n\n if (queryInMap) {\n query.destroy()\n\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash)\n }\n\n this.notify({ type: 'removed', query })\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query)\n })\n })\n }\n\n get<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n queryHash: string,\n ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n return this.#queries.get(queryHash) as\n | Query<TQueryFnData, TError, TData, TQueryKey>\n | undefined\n }\n\n getAll(): Array<Query> {\n return [...this.#queries.values()]\n }\n\n find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(\n filters: WithRequired<QueryFilters, 'queryKey'>,\n ): Query<TQueryFnData, TError, TData> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((query) =>\n matchQuery(defaultedFilters, query),\n ) as Query<TQueryFnData, TError, TData> | undefined\n }\n\n findAll(filters: QueryFilters<any> = {}): Array<Query> {\n const queries = this.getAll()\n return Object.keys(filters).length > 0\n ? queries.filter((query) => matchQuery(filters, query))\n : queries\n }\n\n notify(event: QueryCacheNotifyEvent): void {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n onFocus(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus()\n })\n })\n }\n\n onOnline(): void {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline()\n })\n })\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { createRetryer } from './retryer'\nimport type {\n DefaultError,\n MutationMeta,\n MutationOptions,\n MutationStatus,\n} from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig<TData, TError, TVariables, TContext> {\n mutationId: number\n mutationCache: MutationCache\n options: MutationOptions<TData, TError, TVariables, TContext>\n state?: MutationState<TData, TError, TVariables, TContext>\n}\n\nexport interface MutationState<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> {\n context: TContext | undefined\n data: TData | undefined\n error: TError | null\n failureCount: number\n failureReason: TError | null\n isPaused: boolean\n status: MutationStatus\n variables: TVariables | undefined\n submittedAt: number\n}\n\ninterface FailedAction<TError> {\n type: 'failed'\n failureCount: number\n error: TError | null\n}\n\ninterface PendingAction<TVariables, TContext> {\n type: 'pending'\n isPaused: boolean\n variables?: TVariables\n context?: TContext\n}\n\ninterface SuccessAction<TData> {\n type: 'success'\n data: TData\n}\n\ninterface ErrorAction<TError> {\n type: 'error'\n error: TError\n}\n\ninterface PauseAction {\n type: 'pause'\n}\n\ninterface ContinueAction {\n type: 'continue'\n}\n\nexport type Action<TData, TError, TVariables, TContext> =\n | ContinueAction\n | ErrorAction<TError>\n | FailedAction<TError>\n | PendingAction<TVariables, TContext>\n | PauseAction\n | SuccessAction<TData>\n\n// CLASS\n\nexport class Mutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = unknown,\n TContext = unknown,\n> extends Removable {\n state: MutationState<TData, TError, TVariables, TContext>\n options!: MutationOptions<TData, TError, TVariables, TContext>\n readonly mutationId: number\n\n #observers: Array<MutationObserver<TData, TError, TVariables, TContext>>\n #mutationCache: MutationCache\n #retryer?: Retryer<TData>\n\n constructor(config: MutationConfig<TData, TError, TVariables, TContext>) {\n super()\n\n this.mutationId = config.mutationId\n this.#mutationCache = config.mutationCache\n this.#observers = []\n this.state = config.state || getDefaultState()\n\n this.setOptions(config.options)\n this.scheduleGc()\n }\n\n setOptions(\n options: MutationOptions<TData, TError, TVariables, TContext>,\n ): void {\n this.options = options\n\n this.updateGcTime(this.options.gcTime)\n }\n\n get meta(): MutationMeta | undefined {\n return this.options.meta\n }\n\n addObserver(observer: MutationObserver<any, any, any, any>): void {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer)\n\n // Stop the mutation from being garbage collected\n this.clearGcTimeout()\n\n this.#mutationCache.notify({\n type: 'observerAdded',\n mutation: this,\n observer,\n })\n }\n }\n\n removeObserver(observer: MutationObserver<any, any, any, any>): void {\n this.#observers = this.#observers.filter((x) => x !== observer)\n\n this.scheduleGc()\n\n this.#mutationCache.notify({\n type: 'observerRemoved',\n mutation: this,\n observer,\n })\n }\n\n protected optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === 'pending') {\n this.scheduleGc()\n } else {\n this.#mutationCache.remove(this)\n }\n }\n }\n\n continue(): Promise<unknown> {\n return (\n this.#retryer?.continue() ??\n // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables!)\n )\n }\n\n async execute(variables: TVariables): Promise<TData> {\n const onContinue = () => {\n this.#dispatch({ type: 'continue' })\n }\n\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error('No mutationFn found'))\n }\n return this.options.mutationFn(variables)\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: 'failed', failureCount, error })\n },\n onPause: () => {\n this.#dispatch({ type: 'pause' })\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this),\n })\n\n const restored = this.state.status === 'pending'\n const isPaused = !this.#retryer.canStart()\n\n try {\n if (restored) {\n // Dispatch continue action to unpause restored mutation\n onContinue()\n } else {\n this.#dispatch({ type: 'pending', variables, isPaused })\n // Notify cache callback\n await this.#mutationCache.config.onMutate?.(\n variables,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n const context = await this.options.onMutate?.(variables)\n if (context !== this.state.context) {\n this.#dispatch({\n type: 'pending',\n context,\n variables,\n isPaused,\n })\n }\n }\n const data = await this.#retryer.start()\n\n // Notify cache callback\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSuccess?.(data, variables, this.state.context!)\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(data, null, variables, this.state.context)\n\n this.#dispatch({ type: 'success', data })\n return data\n } catch (error) {\n try {\n // Notify cache callback\n await this.#mutationCache.config.onError?.(\n error as any,\n variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onError?.(\n error as TError,\n variables,\n this.state.context,\n )\n\n // Notify cache callback\n await this.#mutationCache.config.onSettled?.(\n undefined,\n error as any,\n this.state.variables,\n this.state.context,\n this as Mutation<unknown, unknown, unknown, unknown>,\n )\n\n await this.options.onSettled?.(\n undefined,\n error as TError,\n variables,\n this.state.context,\n )\n throw error\n } finally {\n this.#dispatch({ type: 'error', error: error as TError })\n }\n } finally {\n this.#mutationCache.runNext(this)\n }\n }\n\n #dispatch(action: Action<TData, TError, TVariables, TContext>): void {\n const reducer = (\n state: MutationState<TData, TError, TVariables, TContext>,\n ): MutationState<TData, TError, TVariables, TContext> => {\n switch (action.type) {\n case 'failed':\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error,\n }\n case 'pause':\n return {\n ...state,\n isPaused: true,\n }\n case 'continue':\n return {\n ...state,\n isPaused: false,\n }\n case 'pending':\n return {\n ...state,\n context: action.context,\n data: undefined,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: 'pending',\n variables: action.variables,\n submittedAt: Date.now(),\n }\n case 'success':\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: 'success',\n isPaused: false,\n }\n case 'error':\n return {\n ...state,\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: 'error',\n }\n }\n }\n this.state = reducer(this.state)\n\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action)\n })\n this.#mutationCache.notify({\n mutation: this,\n type: 'updated',\n action,\n })\n })\n }\n}\n\nexport function getDefaultState<\n TData,\n TError,\n TVariables,\n TContext,\n>(): MutationState<TData, TError, TVariables, TContext> {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: 'idle',\n variables: undefined,\n submittedAt: 0,\n }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { DefaultError, MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n onError?: (\n error: DefaultError,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSuccess?: (\n data: unknown,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onMutate?: (\n variables: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n onSettled?: (\n data: unknown | undefined,\n error: DefaultError | null,\n variables: unknown,\n context: unknown,\n mutation: Mutation<unknown, unknown, unknown>,\n ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n type: 'added'\n mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n type: 'removed'\n mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n type: 'observerAdded'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n type: 'observerRemoved'\n mutation: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n type: 'observerOptionsUpdated'\n mutation?: Mutation<any, any, any, any>\n observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n type: 'updated'\n mutation: Mutation<any, any, any, any>\n action: Action<any, any, any, any>\n}\n\nexport type MutationCacheNotifyEvent =\n | NotifyEventMutationAdded\n | NotifyEventMutationRemoved\n | NotifyEventMutationObserverAdded\n | NotifyEventMutationObserverRemoved\n | NotifyEventMutationObserverOptionsUpdated\n | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n #mutations: Set<Mutation<any, any, any, any>>\n #scopes: Map<string, Array<Mutation<any, any, any, any>>>\n #mutationId: number\n\n constructor(public config: MutationCacheConfig = {}) {\n super()\n this.#mutations = new Set()\n this.#scopes = new Map()\n this.#mutationId = 0\n }\n\n build<TData, TError, TVariables, TContext>(\n client: QueryClient,\n options: MutationOptions<TData, TError, TVariables, TContext>,\n state?: MutationState<TData, TError, TVariables, TContext>,\n ): Mutation<TData, TError, TVariables, TContext> {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state,\n })\n\n this.add(mutation)\n\n return mutation\n }\n\n add(mutation: Mutation<any, any, any, any>): void {\n this.#mutations.add(mutation)\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n scopedMutations.push(mutation)\n } else {\n this.#scopes.set(scope, [mutation])\n }\n }\n this.notify({ type: 'added', mutation })\n }\n\n remove(mutation: Mutation<any, any, any, any>): void {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const scopedMutations = this.#scopes.get(scope)\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation)\n if (index !== -1) {\n scopedMutations.splice(index, 1)\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope)\n }\n }\n }\n }\n\n // Currently we notify the removal even if the mutation was already removed.\n // Consider making this an error or not notifying of the removal depending on the desired semantics.\n this.notify({ type: 'removed', mutation })\n }\n\n canRun(mutation: Mutation<any, any, any, any>): boolean {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const mutationsWithSameScope = this.#scopes.get(scope)\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === 'pending',\n )\n // we can run if there is no current pending mutation (start use-case)\n // or if WE are the first pending mutation (continue use-case)\n return !firstPendingMutation || firstPendingMutation === mutation\n } else {\n // For unscoped mutations there are never any pending mutations in front of the\n // current mutation\n return true\n }\n }\n\n runNext(mutation: Mutation<any, any, any, any>): Promise<unknown> {\n const scope = scopeFor(mutation)\n if (typeof scope === 'string') {\n const foundMutation = this.#scopes\n .get(scope)\n ?.find((m) => m !== mutation && m.state.isPaused)\n\n return foundMutation?.continue() ?? Promise.resolve()\n } else {\n return Promise.resolve()\n }\n }\n\n clear(): void {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: 'removed', mutation })\n })\n this.#mutations.clear()\n this.#scopes.clear()\n })\n }\n\n getAll(): Array<Mutation> {\n return Array.from(this.#mutations)\n }\n\n find<\n TData = unknown,\n TError = DefaultError,\n TVariables = any,\n TContext = unknown,\n >(\n filters: MutationFilters,\n ): Mutation<TData, TError, TVariables, TContext> | undefined {\n const defaultedFilters = { exact: true, ...filters }\n\n return this.getAll().find((mutation) =>\n matchMutation(defaultedFilters, mutation),\n ) as Mutation<TData, TError, TVariables, TContext> | undefined\n }\n\n findAll(filters: MutationFilters = {}): Array<Mutation> {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation))\n }\n\n notify(event: MutationCacheNotifyEvent) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event)\n })\n })\n }\n\n resumePausedMutations(): Promise<unknown> {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused)\n\n return notifyManager.batch(() =>\n Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop)),\n ),\n )\n }\n}\n\nfunction scopeFor(mutation: Mutation<any, any, any, any>) {\n return mutation.options.scope?.id\n}\n","import { addToEnd, addToStart, ensureQueryFn } from './utils'\nimport type { QueryBehavior } from './query'\nimport type {\n InfiniteData,\n InfiniteQueryPageParamsOptions,\n OmitKeyof,\n QueryFunctionContext,\n QueryKey,\n} from './types'\n\nexport function infiniteQueryBehavior<TQueryFnData, TError, TData, TPageParam>(\n pages?: number,\n): QueryBehavior<TQueryFnData, TError, InfiniteData<TData, TPageParam>> {\n return {\n onFetch: (context, query) => {\n const options = context.options as InfiniteQueryPageParamsOptions<TData>\n const direction = context.fetchOptions?.meta?.fetchMore?.direction\n const oldPages = context.state.data?.pages || []\n const oldPageParams = context.state.data?.pageParams || []\n let result: InfiniteData<unknown> = { pages: [], pageParams: [] }\n let currentPage = 0\n\n const fetchFn = async () => {\n let cancelled = false\n const addSignalProperty = (object: unknown) => {\n Object.defineProperty(object, 'signal', {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true\n } else {\n context.signal.addEventListener('abort', () => {\n cancelled = true\n })\n }\n return context.signal\n },\n })\n }\n\n const queryFn = ensureQueryFn(context.options, context.fetchOptions)\n\n // Create function to fetch a page\n const fetchPage = async (\n data: InfiniteData<unknown>,\n param: unknown,\n previous?: boolean,\n ): Promise<InfiniteData<unknown>> => {\n if (cancelled) {\n return Promise.reject()\n }\n\n if (param == null && data.pages.length) {\n return Promise.resolve(data)\n }\n\n const queryFnContext: OmitKeyof<\n QueryFunctionContext<QueryKey, unknown>,\n 'signal'\n > = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? 'backward' : 'forward',\n meta: context.options.meta,\n }\n\n addSignalProperty(queryFnContext)\n\n const page = await queryFn(\n queryFnContext as QueryFunctionContext<QueryKey, unknown>,\n )\n\n const { maxPages } = context.options\n const addTo = previous ? addToStart : addToEnd\n\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages),\n }\n }\n\n // fetch next / previous page?\n if (direction && oldPages.length) {\n const previous = direction === 'backward'\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams,\n }\n const param = pageParamFn(options, oldData)\n\n result = await fetchPage(oldData, param, previous)\n } else {\n const remainingPages = pages ?? oldPages.length\n\n // Fetch all pages\n do {\n const param =\n currentPage === 0\n ? (oldPageParams[0] ?? options.initialPageParam)\n : getNextPageParam(options, result)\n if (currentPage > 0 && param == null) {\n break\n }\n result = await fetchPage(result, param)\n currentPage++\n } while (currentPage < remainingPages)\n }\n\n return result\n }\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn as any,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal,\n },\n query,\n )\n }\n } else {\n context.fetchFn = fetchFn\n }\n },\n }\n}\n\nfunction getNextPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n const lastIndex = pages.length - 1\n return pages.length > 0\n ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams,\n )\n : undefined\n}\n\nfunction getPreviousPageParam(\n options: InfiniteQueryPageParamsOptions<any>,\n { pages, pageParams }: InfiniteData<unknown>,\n): unknown | undefined {\n return pages.length > 0\n ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams)\n : undefined\n}\n\n/**\n * Checks if there is a next page.\n */\nexport function hasNextPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data) return false\n return getNextPageParam(options, data) != null\n}\n\n/**\n * Checks if there is a previous page.\n */\nexport function hasPreviousPage(\n options: InfiniteQueryPageParamsOptions<any, any>,\n data?: InfiniteData<unknown>,\n): boolean {\n if (!data || !options.getPreviousPageParam) return false\n return getPreviousPageParam(options, data) != null\n}\n","import {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport type {\n CancelOptions,\n DefaultError,\n DefaultOptions,\n DefaultedQueryObserverOptions,\n EnsureInfiniteQueryDataOptions,\n EnsureQueryDataOptions,\n FetchInfiniteQueryOptions,\n FetchQueryOptions,\n InferDataFromTag,\n InferErrorFromTag,\n InfiniteData,\n InvalidateOptions,\n InvalidateQueryFilters,\n MutationKey,\n MutationObserverOptions,\n MutationOptions,\n NoInfer,\n OmitKeyof,\n QueryClientConfig,\n QueryKey,\n QueryObserverOptions,\n QueryOptions,\n RefetchOptions,\n RefetchQueryFilters,\n ResetOptions,\n SetDataOptions,\n} from './types'\nimport type { QueryState } from './query'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n queryKey: QueryKey\n defaultOptions: OmitKeyof<QueryOptions<any, any, any>, 'queryKey'>\n}\n\ninterface MutationDefaults {\n mutationKey: MutationKey\n defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n #queryCache: QueryCache\n #mutationCache: MutationCache\n #defaultOptions: DefaultOptions\n #queryDefaults: Map<string, QueryDefaults>\n #mutationDefaults: Map<string, MutationDefaults>\n #mountCount: number\n #unsubscribeFocus?: () => void\n #unsubscribeOnline?: () => void\n\n constructor(config: QueryClientConfig = {}) {\n this.#queryCache = config.queryCache || new QueryCache()\n this.#mutationCache = config.mutationCache || new MutationCache()\n this.#defaultOptions = config.defaultOptions || {}\n this.#queryDefaults = new Map()\n this.#mutationDefaults = new Map()\n this.#mountCount = 0\n }\n\n mount(): void {\n this.#mountCount++\n if (this.#mountCount !== 1) return\n\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations()\n this.#queryCache.onFocus()\n }\n })\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations()\n this.#queryCache.onOnline()\n }\n })\n }\n\n unmount(): void {\n this.#mountCount--\n if (this.#mountCount !== 0) return\n\n this.#unsubscribeFocus?.()\n this.#unsubscribeFocus = undefined\n\n this.#unsubscribeOnline?.()\n this.#unsubscribeOnline = undefined\n }\n\n isFetching<TQueryFilters extends QueryFilters<any> = QueryFilters>(\n filters?: TQueryFilters,\n ): number {\n return this.#queryCache.findAll({ ...filters, fetchStatus: 'fetching' })\n .length\n }\n\n isMutating<\n TMutationFilters extends MutationFilters<any, any> = MutationFilters,\n >(filters?: TMutationFilters): number {\n return this.#mutationCache.findAll({ ...filters, status: 'pending' }).length\n }\n\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(queryKey: TTaggedQueryKey): TInferredQueryFnData | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n\n return this.#queryCache.get(options.queryHash)?.state.data as\n | TInferredQueryFnData\n | undefined\n }\n\n ensureQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: EnsureQueryDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n const query = this.#queryCache.build(this, defaultedOptions)\n const cachedData = query.state.data\n\n if (cachedData === undefined) {\n return this.fetchQuery(options)\n }\n\n if (\n options.revalidateIfStale &&\n query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))\n ) {\n void this.prefetchQuery(defaultedOptions)\n }\n\n return Promise.resolve(cachedData)\n }\n\n getQueriesData<\n TQueryFnData = unknown,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(filters: TQueryFilters): Array<[QueryKey, TQueryFnData | undefined]> {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data as TQueryFnData | undefined\n return [queryKey, data]\n })\n }\n\n setQueryData<\n TQueryFnData = unknown,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n updater: Updater<\n NoInfer<TInferredQueryFnData> | undefined,\n NoInfer<TInferredQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): NoInfer<TInferredQueryFnData> | undefined {\n const defaultedOptions = this.defaultQueryOptions<\n any,\n any,\n unknown,\n any,\n QueryKey\n >({ queryKey })\n\n const query = this.#queryCache.get<TInferredQueryFnData>(\n defaultedOptions.queryHash,\n )\n const prevData = query?.state.data\n const data = functionalUpdate(updater, prevData)\n\n if (data === undefined) {\n return undefined\n }\n\n return this.#queryCache\n .build(this, defaultedOptions)\n .setData(data, { ...options, manual: true })\n }\n\n setQueriesData<\n TQueryFnData,\n TQueryFilters extends QueryFilters<any> = QueryFilters,\n >(\n filters: TQueryFilters,\n updater: Updater<\n NoInfer<TQueryFnData> | undefined,\n NoInfer<TQueryFnData> | undefined\n >,\n options?: SetDataOptions,\n ): Array<[QueryKey, TQueryFnData | undefined]> {\n return notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map(({ queryKey }) => [\n queryKey,\n this.setQueryData<TQueryFnData>(queryKey, updater, options),\n ]),\n )\n }\n\n getQueryState<\n TQueryFnData = unknown,\n TError = DefaultError,\n TTaggedQueryKey extends QueryKey = QueryKey,\n TInferredQueryFnData = InferDataFromTag<TQueryFnData, TTaggedQueryKey>,\n TInferredError = InferErrorFromTag<TError, TTaggedQueryKey>,\n >(\n queryKey: TTaggedQueryKey,\n ): QueryState<TInferredQueryFnData, TInferredError> | undefined {\n const options = this.defaultQueryOptions({ queryKey })\n return this.#queryCache.get<TInferredQueryFnData, TInferredError>(\n options.queryHash,\n )?.state\n }\n\n removeQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n ): void {\n const queryCache = this.#queryCache\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query)\n })\n })\n }\n\n resetQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n options?: ResetOptions,\n ): Promise<void> {\n const queryCache = this.#queryCache\n\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset()\n })\n return this.refetchQueries(\n {\n type: 'active',\n ...filters,\n },\n options,\n )\n })\n }\n\n cancelQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: QueryFilters<TTaggedQueryKey>,\n cancelOptions: CancelOptions = {},\n ): Promise<void> {\n const defaultedCancelOptions = { revert: true, ...cancelOptions }\n\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .map((query) => query.cancel(defaultedCancelOptions)),\n )\n\n return Promise.all(promises).then(noop).catch(noop)\n }\n\n invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: InvalidateQueryFilters<TTaggedQueryKey>,\n options: InvalidateOptions = {},\n ): Promise<void> {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate()\n })\n\n if (filters?.refetchType === 'none') {\n return Promise.resolve()\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? 'active',\n },\n options,\n )\n })\n }\n\n refetchQueries<TTaggedQueryKey extends QueryKey = QueryKey>(\n filters?: RefetchQueryFilters<TTaggedQueryKey>,\n options: RefetchOptions = {},\n ): Promise<void> {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true,\n }\n const promises = notifyManager.batch(() =>\n this.#queryCache\n .findAll(filters)\n .filter((query) => !query.isDisabled())\n .map((query) => {\n let promise = query.fetch(undefined, fetchOptions)\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop)\n }\n return query.state.fetchStatus === 'paused'\n ? Promise.resolve()\n : promise\n }),\n )\n\n return Promise.all(promises).then(noop)\n }\n\n fetchQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options: FetchQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<TData> {\n const defaultedOptions = this.defaultQueryOptions(options)\n\n // https://github.com/tannerlinsley/react-query/issues/652\n if (defaultedOptions.retry === undefined) {\n defaultedOptions.retry = false\n }\n\n const query = this.#queryCache.build(this, defaultedOptions)\n\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query),\n )\n ? query.fetch(defaultedOptions)\n : Promise.resolve(query.state.data as TData)\n }\n\n prefetchQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n >(\n options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n ): Promise<void> {\n return this.fetchQuery(options).then(noop).catch(noop)\n }\n\n fetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n return this.fetchQuery(options as any)\n }\n\n prefetchInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: FetchInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<void> {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop)\n }\n\n ensureInfiniteQueryData<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n >(\n options: EnsureInfiniteQueryDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n ): Promise<InfiniteData<TData, TPageParam>> {\n options.behavior = infiniteQueryBehavior<\n TQueryFnData,\n TError,\n TData,\n TPageParam\n >(options.pages)\n\n return this.ensureQueryData(options as any)\n }\n\n resumePausedMutations(): Promise<unknown> {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations()\n }\n return Promise.resolve()\n }\n\n getQueryCache(): QueryCache {\n return this.#queryCache\n }\n\n getMutationCache(): MutationCache {\n return this.#mutationCache\n }\n\n getDefaultOptions(): DefaultOptions {\n return this.#defaultOptions\n }\n\n setDefaultOptions(options: DefaultOptions): void {\n this.#defaultOptions = options\n }\n\n setQueryDefaults<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n >(\n queryKey: QueryKey,\n options: Partial<\n OmitKeyof<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData>,\n 'queryKey'\n >\n >,\n ): void {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options,\n })\n }\n\n getQueryDefaults(\n queryKey: QueryKey,\n ): OmitKeyof<QueryObserverOptions<any, any, any, any, any>, 'queryKey'> {\n const defaults = [...this.#queryDefaults.values()]\n\n const result: OmitKeyof<\n QueryObserverOptions<any, any, any, any, any>,\n 'queryKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n return result\n }\n\n setMutationDefaults<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n >(\n mutationKey: MutationKey,\n options: OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n ): void {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options,\n })\n }\n\n getMutationDefaults(\n mutationKey: MutationKey,\n ): OmitKeyof<MutationObserverOptions<any, any, any, any>, 'mutationKey'> {\n const defaults = [...this.#mutationDefaults.values()]\n\n const result: OmitKeyof<\n MutationObserverOptions<any, any, any, any>,\n 'mutationKey'\n > = {}\n\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions)\n }\n })\n\n return result\n }\n\n defaultQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n >(\n options:\n | QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n | DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > {\n if (options._defaulted) {\n return options as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true,\n }\n\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions,\n )\n }\n\n // dependent default values\n if (defaultedOptions.refetchOnReconnect === undefined) {\n defaultedOptions.refetchOnReconnect =\n defaultedOptions.networkMode !== 'always'\n }\n if (defaultedOptions.throwOnError === undefined) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense\n }\n\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = 'offlineFirst'\n }\n\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false\n }\n\n return defaultedOptions as DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n }\n\n defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n options?: T,\n ): T {\n if (options?._defaulted) {\n return options\n }\n return {\n ...this.#defaultOptions.mutations,\n ...(options?.mutationKey &&\n this.getMutationDefaults(options.mutationKey)),\n ...options,\n _defaulted: true,\n } as T\n }\n\n clear(): void {\n this.#queryCache.clear()\n this.#mutationCache.clear()\n }\n}\n","import { focusManager } from './focusManager'\nimport { notifyManager } from './notifyManager'\nimport { fetchState } from './query'\nimport { Subscribable } from './subscribable'\nimport { pendingThenable } from './thenable'\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale,\n} from './utils'\nimport type { FetchOptions, Query, QueryState } from './query'\nimport type { QueryClient } from './queryClient'\nimport type { PendingThenable, Thenable } from './thenable'\nimport type {\n DefaultError,\n DefaultedQueryObserverOptions,\n PlaceholderDataFunction,\n QueryKey,\n QueryObserverBaseResult,\n QueryObserverOptions,\n QueryObserverResult,\n QueryOptions,\n RefetchOptions,\n} from './types'\n\ntype QueryObserverListener<TData, TError> = (\n result: QueryObserverResult<TData, TError>,\n) => void\n\ninterface ObserverFetchOptions extends FetchOptions {\n throwOnError?: boolean\n}\n\nexport class QueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> extends Subscribable<QueryObserverListener<TData, TError>> {\n #client: QueryClient\n #currentQuery: Query<TQueryFnData, TError, TQueryData, TQueryKey> = undefined!\n #currentQueryInitialState: QueryState<TQueryData, TError> = undefined!\n #currentResult: QueryObserverResult<TData, TError> = undefined!\n #currentResultState?: QueryState<TQueryData, TError>\n #currentResultOptions?: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >\n #currentThenable: Thenable<TData>\n #selectError: TError | null\n #selectFn?: (data: TQueryData) => TData\n #selectResult?: TData\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData?: Query<TQueryFnData, TError, TQueryData, TQueryKey>\n #staleTimeoutId?: ReturnType<typeof setTimeout>\n #refetchIntervalId?: ReturnType<typeof setInterval>\n #currentRefetchInterval?: number | false\n #trackedProps = new Set<keyof QueryObserverResult>()\n\n constructor(\n client: QueryClient,\n public options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ) {\n super()\n\n this.#client = client\n this.#selectError = null\n this.#currentThenable = pendingThenable()\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error('experimental_prefetchInRender feature flag is not enabled'),\n )\n }\n\n this.bindMethods()\n this.setOptions(options)\n }\n\n protected bindMethods(): void {\n this.refetch = this.refetch.bind(this)\n }\n\n protected onSubscribe(): void {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this)\n\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch()\n } else {\n this.updateResult()\n }\n\n this.#updateTimers()\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.destroy()\n }\n }\n\n shouldFetchOnReconnect(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect,\n )\n }\n\n shouldFetchOnWindowFocus(): boolean {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus,\n )\n }\n\n destroy(): void {\n this.listeners = new Set()\n this.#clearStaleTimeout()\n this.#clearRefetchInterval()\n this.#currentQuery.removeObserver(this)\n }\n\n setOptions(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): void {\n const prevOptions = this.options\n const prevQuery = this.#currentQuery\n\n this.options = this.#client.defaultQueryOptions(options)\n\n if (\n this.options.enabled !== undefined &&\n typeof this.options.enabled !== 'boolean' &&\n typeof this.options.enabled !== 'function' &&\n typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==\n 'boolean'\n ) {\n throw new Error(\n 'Expected enabled to be a boolean or a callback that returns a boolean',\n )\n }\n\n this.#updateQuery()\n this.#currentQuery.setOptions(this.options)\n\n if (\n prevOptions._defaulted &&\n !shallowEqualObjects(this.options, prevOptions)\n ) {\n this.#client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.#currentQuery,\n observer: this,\n })\n }\n\n const mounted = this.hasListeners()\n\n // Fetch if there are subscribers\n if (\n mounted &&\n shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions,\n )\n ) {\n this.#executeFetch()\n }\n\n // Update result\n this.updateResult()\n\n // Update stale interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n resolveStaleTime(this.options.staleTime, this.#currentQuery) !==\n resolveStaleTime(prevOptions.staleTime, this.#currentQuery))\n ) {\n this.#updateStaleTimeout()\n }\n\n const nextRefetchInterval = this.#computeRefetchInterval()\n\n // Update refetch interval if needed\n if (\n mounted &&\n (this.#currentQuery !== prevQuery ||\n resolveEnabled(this.options.enabled, this.#currentQuery) !==\n resolveEnabled(prevOptions.enabled, this.#currentQuery) ||\n nextRefetchInterval !== this.#currentRefetchInterval)\n ) {\n this.#updateRefetchInterval(nextRefetchInterval)\n }\n }\n\n getOptimisticResult(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const query = this.#client.getQueryCache().build(this.#client, options)\n\n const result = this.createResult(query, options)\n\n if (shouldAssignObserverCurrentProperties(this, result)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult every time\n // an observer reads an optimistic value.\n\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.#currentResult = result\n this.#currentResultOptions = this.options\n this.#currentResultState = this.#currentQuery.state\n }\n return result\n }\n\n getCurrentResult(): QueryObserverResult<TData, TError> {\n return this.#currentResult\n }\n\n trackResult(\n result: QueryObserverResult<TData, TError>,\n onPropTracked?: (key: keyof QueryObserverResult) => void,\n ): QueryObserverResult<TData, TError> {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key as keyof QueryObserverResult)\n onPropTracked?.(key as keyof QueryObserverResult)\n return Reflect.get(target, key)\n },\n })\n }\n\n trackProp(key: keyof QueryObserverResult) {\n this.#trackedProps.add(key)\n }\n\n getCurrentQuery(): Query<TQueryFnData, TError, TQueryData, TQueryKey> {\n return this.#currentQuery\n }\n\n refetch({ ...options }: RefetchOptions = {}): Promise<\n QueryObserverResult<TData, TError>\n > {\n return this.fetch({\n ...options,\n })\n }\n\n fetchOptimistic(\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): Promise<QueryObserverResult<TData, TError>> {\n const defaultedOptions = this.#client.defaultQueryOptions(options)\n\n const query = this.#client\n .getQueryCache()\n .build(this.#client, defaultedOptions)\n\n return query.fetch().then(() => this.createResult(query, defaultedOptions))\n }\n\n protected fetch(\n fetchOptions: ObserverFetchOptions,\n ): Promise<QueryObserverResult<TData, TError>> {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true,\n }).then(() => {\n this.updateResult()\n return this.#currentResult\n })\n }\n\n #executeFetch(\n fetchOptions?: Omit<ObserverFetchOptions, 'initialPromise'>,\n ): Promise<TQueryData | undefined> {\n // Make sure we reference the latest query as the current one might have been removed\n this.#updateQuery()\n\n // Fetch\n let promise: Promise<TQueryData | undefined> = this.#currentQuery.fetch(\n this.options as QueryOptions<TQueryFnData, TError, TQueryData, TQueryKey>,\n fetchOptions,\n )\n\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop)\n }\n\n return promise\n }\n\n #updateStaleTimeout(): void {\n this.#clearStaleTimeout()\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery,\n )\n\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return\n }\n\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime)\n\n // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n const timeout = time + 1\n\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult()\n }\n }, timeout)\n }\n\n #computeRefetchInterval() {\n return (\n (typeof this.options.refetchInterval === 'function'\n ? this.options.refetchInterval(this.#currentQuery)\n : this.options.refetchInterval) ?? false\n )\n }\n\n #updateRefetchInterval(nextInterval: number | false): void {\n this.#clearRefetchInterval()\n\n this.#currentRefetchInterval = nextInterval\n\n if (\n isServer ||\n resolveEnabled(this.options.enabled, this.#currentQuery) === false ||\n !isValidTimeout(this.#currentRefetchInterval) ||\n this.#currentRefetchInterval === 0\n ) {\n return\n }\n\n this.#refetchIntervalId = setInterval(() => {\n if (\n this.options.refetchIntervalInBackground ||\n focusManager.isFocused()\n ) {\n this.#executeFetch()\n }\n }, this.#currentRefetchInterval)\n }\n\n #updateTimers(): void {\n this.#updateStaleTimeout()\n this.#updateRefetchInterval(this.#computeRefetchInterval())\n }\n\n #clearStaleTimeout(): void {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId)\n this.#staleTimeoutId = undefined\n }\n }\n\n #clearRefetchInterval(): void {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId)\n this.#refetchIntervalId = undefined\n }\n }\n\n protected createResult(\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n options: QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n ): QueryObserverResult<TData, TError> {\n const prevQuery = this.#currentQuery\n const prevOptions = this.options\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n const prevResultState = this.#currentResultState\n const prevResultOptions = this.#currentResultOptions\n const queryChange = query !== prevQuery\n const queryInitialState = queryChange\n ? query.state\n : this.#currentQueryInitialState\n\n const { state } = query\n let newState = { ...state }\n let isPlaceholderData = false\n let data: TData | undefined\n\n // Optimistically set result in fetching state if needed\n if (options._optimisticResults) {\n const mounted = this.hasListeners()\n\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options)\n\n const fetchOptionally =\n mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions)\n\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options),\n }\n }\n if (options._optimisticResults === 'isRestoring') {\n newState.fetchStatus = 'idle'\n }\n }\n\n let { error, errorUpdatedAt, status } = newState\n\n // Per default, use query data\n data = newState.data as unknown as TData\n let skipSelect = false\n\n // use placeholderData if needed\n if (\n options.placeholderData !== undefined &&\n data === undefined &&\n status === 'pending'\n ) {\n let placeholderData\n\n // Memoize placeholder data\n if (\n prevResult?.isPlaceholderData &&\n options.placeholderData === prevResultOptions?.placeholderData\n ) {\n placeholderData = prevResult.data\n // we have to skip select when reading this memoization\n // because prevResult.data is already \"selected\"\n skipSelect = true\n } else {\n // compute placeholderData\n placeholderData =\n typeof options.placeholderData === 'function'\n ? (\n options.placeholderData as unknown as PlaceholderDataFunction<TQueryData>\n )(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData as any,\n )\n : options.placeholderData\n }\n\n if (placeholderData !== undefined) {\n status = 'success'\n data = replaceData(\n prevResult?.data,\n placeholderData as unknown,\n options,\n ) as TData\n isPlaceholderData = true\n }\n }\n\n // Select data if needed\n // this also runs placeholderData through the select function\n if (options.select && data !== undefined && !skipSelect) {\n // Memoize select result\n if (\n prevResult &&\n data === prevResultState?.data &&\n options.select === this.#selectFn\n ) {\n data = this.#selectResult\n } else {\n try {\n this.#selectFn = options.select\n data = options.select(data as any)\n data = replaceData(prevResult?.data, data, options)\n this.#selectResult = data\n this.#selectError = null\n } catch (selectError) {\n this.#selectError = selectError as TError\n }\n }\n }\n\n if (this.#selectError) {\n error = this.#selectError as any\n data = this.#selectResult\n errorUpdatedAt = Date.now()\n status = 'error'\n }\n\n const isFetching = newState.fetchStatus === 'fetching'\n const isPending = status === 'pending'\n const isError = status === 'error'\n\n const isLoading = isPending && isFetching\n const hasData = data !== undefined\n\n const result: QueryObserverBaseResult<TData, TError> = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount:\n newState.dataUpdateCount > queryInitialState.dataUpdateCount ||\n newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === 'paused',\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n }\n\n const nextResult = result as QueryObserverResult<TData, TError>\n\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable: PendingThenable<TData>) => {\n if (nextResult.status === 'error') {\n thenable.reject(nextResult.error)\n } else if (nextResult.data !== undefined) {\n thenable.resolve(nextResult.data)\n }\n }\n\n /**\n * Create a new thenable and result promise when the results have changed\n */\n const recreateThenable = () => {\n const pending =\n (this.#currentThenable =\n nextResult.promise =\n pendingThenable())\n\n finalizeThenableIfPossible(pending)\n }\n\n const prevThenable = this.#currentThenable\n switch (prevThenable.status) {\n case 'pending':\n // Finalize the previous thenable if it was pending\n // and we are still observing the same query\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable)\n }\n break\n case 'fulfilled':\n if (\n nextResult.status === 'error' ||\n nextResult.data !== prevThenable.value\n ) {\n recreateThenable()\n }\n break\n case 'rejected':\n if (\n nextResult.status !== 'error' ||\n nextResult.error !== prevThenable.reason\n ) {\n recreateThenable()\n }\n break\n }\n }\n\n return nextResult\n }\n\n updateResult(): void {\n const prevResult = this.#currentResult as\n | QueryObserverResult<TData, TError>\n | undefined\n\n const nextResult = this.createResult(this.#currentQuery, this.options)\n\n this.#currentResultState = this.#currentQuery.state\n this.#currentResultOptions = this.options\n\n if (this.#currentResultState.data !== undefined) {\n this.#lastQueryWithDefinedData = this.#currentQuery\n }\n\n // Only notify and update result if something has changed\n if (shallowEqualObjects(nextResult, prevResult)) {\n return\n }\n\n this.#currentResult = nextResult\n\n const shouldNotifyListeners = (): boolean => {\n if (!prevResult) {\n return true\n }\n\n const { notifyOnChangeProps } = this.options\n const notifyOnChangePropsValue =\n typeof notifyOnChangeProps === 'function'\n ? notifyOnChangeProps()\n : notifyOnChangeProps\n\n if (\n notifyOnChangePropsValue === 'all' ||\n (!notifyOnChangePropsValue && !this.#trackedProps.size)\n ) {\n return true\n }\n\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps,\n )\n\n if (this.options.throwOnError) {\n includedProps.add('error')\n }\n\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key as keyof QueryObserverResult\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey]\n\n return changed && includedProps.has(typedKey)\n })\n }\n\n this.#notify({ listeners: shouldNotifyListeners() })\n }\n\n #updateQuery(): void {\n const query = this.#client.getQueryCache().build(this.#client, this.options)\n\n if (query === this.#currentQuery) {\n return\n }\n\n const prevQuery = this.#currentQuery as\n | Query<TQueryFnData, TError, TQueryData, TQueryKey>\n | undefined\n this.#currentQuery = query\n this.#currentQueryInitialState = query.state\n\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this)\n query.addObserver(this)\n }\n }\n\n onQueryUpdate(): void {\n this.updateResult()\n\n if (this.hasListeners()) {\n this.#updateTimers()\n }\n }\n\n #notify(notifyOptions: { listeners: boolean }): void {\n notifyManager.batch(() => {\n // First, trigger the listeners\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n }\n\n // Then the cache listeners\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: 'observerResultsUpdated',\n })\n })\n }\n}\n\nfunction shouldLoadOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.state.data === undefined &&\n !(query.state.status === 'error' && options.retryOnMount === false)\n )\n}\n\nfunction shouldFetchOnMount(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n shouldLoadOnMount(query, options) ||\n (query.state.data !== undefined &&\n shouldFetchOn(query, options, options.refetchOnMount))\n )\n}\n\nfunction shouldFetchOn(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n field: (typeof options)['refetchOnMount'] &\n (typeof options)['refetchOnWindowFocus'] &\n (typeof options)['refetchOnReconnect'],\n) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === 'function' ? field(query) : field\n\n return value === 'always' || (value !== false && isStale(query, options))\n }\n return false\n}\n\nfunction shouldFetchOptionally(\n query: Query<any, any, any, any>,\n prevQuery: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n prevOptions: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n (query !== prevQuery ||\n resolveEnabled(prevOptions.enabled, query) === false) &&\n (!options.suspense || query.state.status !== 'error') &&\n isStale(query, options)\n )\n}\n\nfunction isStale(\n query: Query<any, any, any, any>,\n options: QueryObserverOptions<any, any, any, any, any>,\n): boolean {\n return (\n resolveEnabled(options.enabled, query) !== false &&\n query.isStaleByTime(resolveStaleTime(options.staleTime, query))\n )\n}\n\n// this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\nfunction shouldAssignObserverCurrentProperties<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n optimisticResult: QueryObserverResult<TData, TError>,\n) {\n // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true\n }\n\n // basically, just keep previous properties if nothing changed\n return false\n}\n","import { QueryObserver } from './queryObserver'\nimport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior,\n} from './infiniteQueryBehavior'\nimport type { Subscribable } from './subscribable'\nimport type {\n DefaultError,\n DefaultedInfiniteQueryObserverOptions,\n FetchNextPageOptions,\n FetchPreviousPageOptions,\n InfiniteData,\n InfiniteQueryObserverBaseResult,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n} from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Query } from './query'\n\ntype InfiniteQueryObserverListener<TData, TError> = (\n result: InfiniteQueryObserverResult<TData, TError>,\n) => void\n\nexport class InfiniteQueryObserver<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> extends QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n> {\n // Type override\n subscribe!: Subscribable<\n InfiniteQueryObserverListener<TData, TError>\n >['subscribe']\n\n // Type override\n getCurrentResult!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['getCurrentResult'],\n InfiniteQueryObserverResult<TData, TError>\n >\n\n // Type override\n protected fetch!: ReplaceReturnType<\n QueryObserver<\n TQueryFnData,\n TError,\n TData,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >['fetch'],\n Promise<InfiniteQueryObserverResult<TData, TError>>\n >\n\n constructor(\n client: QueryClient,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ) {\n super(client, options)\n }\n\n protected bindMethods(): void {\n super.bindMethods()\n this.fetchNextPage = this.fetchNextPage.bind(this)\n this.fetchPreviousPage = this.fetchPreviousPage.bind(this)\n }\n\n setOptions(\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): void {\n super.setOptions({\n ...options,\n behavior: infiniteQueryBehavior(),\n })\n }\n\n getOptimisticResult(\n options: DefaultedInfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n options.behavior = infiniteQueryBehavior()\n return super.getOptimisticResult(options) as InfiniteQueryObserverResult<\n TData,\n TError\n >\n }\n\n fetchNextPage(\n options?: FetchNextPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'forward' },\n },\n })\n }\n\n fetchPreviousPage(\n options?: FetchPreviousPageOptions,\n ): Promise<InfiniteQueryObserverResult<TData, TError>> {\n return this.fetch({\n ...options,\n meta: {\n fetchMore: { direction: 'backward' },\n },\n })\n }\n\n protected createResult(\n query: Query<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >,\n options: InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n ): InfiniteQueryObserverResult<TData, TError> {\n const { state } = query\n const parentResult = super.createResult(query, options)\n\n const { isFetching, isRefetching, isError, isRefetchError } = parentResult\n const fetchDirection = state.fetchMeta?.fetchMore?.direction\n\n const isFetchNextPageError = isError && fetchDirection === 'forward'\n const isFetchingNextPage = isFetching && fetchDirection === 'forward'\n\n const isFetchPreviousPageError = isError && fetchDirection === 'backward'\n const isFetchingPreviousPage = isFetching && fetchDirection === 'backward'\n\n const result: InfiniteQueryObserverBaseResult<TData, TError> = {\n ...parentResult,\n fetchNextPage: this.fetchNextPage,\n fetchPreviousPage: this.fetchPreviousPage,\n hasNextPage: hasNextPage(options, state.data),\n hasPreviousPage: hasPreviousPage(options, state.data),\n isFetchNextPageError,\n isFetchingNextPage,\n isFetchPreviousPageError,\n isFetchingPreviousPage,\n isRefetchError:\n isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,\n isRefetching:\n isRefetching && !isFetchingNextPage && !isFetchingPreviousPage,\n }\n\n return result as InfiniteQueryObserverResult<TData, TError>\n }\n}\n\ntype ReplaceReturnType<\n TFunction extends (...args: Array<any>) => unknown,\n TReturn,\n> = (...args: Parameters<TFunction>) => TReturn\n","import { getDefaultState } from './mutation'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport { hashKey, shallowEqualObjects } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type {\n DefaultError,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from './types'\nimport type { Action, Mutation } from './mutation'\n\n// TYPES\n\ntype MutationObserverListener<TData, TError, TVariables, TContext> = (\n result: MutationObserverResult<TData, TError, TVariables, TContext>,\n) => void\n\n// CLASS\n\nexport class MutationObserver<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> extends Subscribable<\n MutationObserverListener<TData, TError, TVariables, TContext>\n> {\n options!: MutationObserverOptions<TData, TError, TVariables, TContext>\n\n #client: QueryClient\n #currentResult: MutationObserverResult<TData, TError, TVariables, TContext> =\n undefined!\n #currentMutation?: Mutation<TData, TError, TVariables, TContext>\n #mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>\n\n constructor(\n client: QueryClient,\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n super()\n\n this.#client = client\n this.setOptions(options)\n this.bindMethods()\n this.#updateResult()\n }\n\n protected bindMethods(): void {\n this.mutate = this.mutate.bind(this)\n this.reset = this.reset.bind(this)\n }\n\n setOptions(\n options: MutationObserverOptions<TData, TError, TVariables, TContext>,\n ) {\n const prevOptions = this.options as\n | MutationObserverOptions<TData, TError, TVariables, TContext>\n | undefined\n this.options = this.#client.defaultMutationOptions(options)\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: 'observerOptionsUpdated',\n mutation: this.#currentMutation,\n observer: this,\n })\n }\n\n if (\n prevOptions?.mutationKey &&\n this.options.mutationKey &&\n hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)\n ) {\n this.reset()\n } else if (this.#currentMutation?.state.status === 'pending') {\n this.#currentMutation.setOptions(this.options)\n }\n }\n\n protected onUnsubscribe(): void {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this)\n }\n }\n\n onMutationUpdate(action: Action<TData, TError, TVariables, TContext>): void {\n this.#updateResult()\n\n this.#notify(action)\n }\n\n getCurrentResult(): MutationObserverResult<\n TData,\n TError,\n TVariables,\n TContext\n > {\n return this.#currentResult\n }\n\n reset(): void {\n // reset needs to remove the observer from the mutation because there is no way to \"get it back\"\n // another mutate call will yield a new mutation!\n this.#currentMutation?.removeObserver(this)\n this.#currentMutation = undefined\n this.#updateResult()\n this.#notify()\n }\n\n mutate(\n variables: TVariables,\n options?: MutateOptions<TData, TError, TVariables, TContext>,\n ): Promise<TData> {\n this.#mutateOptions = options\n\n this.#currentMutation?.removeObserver(this)\n\n this.#currentMutation = this.#client\n .getMutationCache()\n .build(this.#client, this.options)\n\n this.#currentMutation.addObserver(this)\n\n return this.#currentMutation.execute(variables)\n }\n\n #updateResult(): void {\n const state =\n this.#currentMutation?.state ??\n getDefaultState<TData, TError, TVariables, TContext>()\n\n this.#currentResult = {\n ...state,\n isPending: state.status === 'pending',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset,\n } as MutationObserverResult<TData, TError, TVariables, TContext>\n }\n\n #notify(action?: Action<TData, TError, TVariables, TContext>): void {\n notifyManager.batch(() => {\n // First trigger the mutate callbacks\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables!\n const context = this.#currentResult.context\n\n if (action?.type === 'success') {\n this.#mutateOptions.onSuccess?.(action.data, variables, context!)\n this.#mutateOptions.onSettled?.(action.data, null, variables, context)\n } else if (action?.type === 'error') {\n this.#mutateOptions.onError?.(action.error, variables, context)\n this.#mutateOptions.onSettled?.(\n undefined,\n action.error,\n variables,\n context,\n )\n }\n }\n\n // Then trigger the listeners\n this.listeners.forEach((listener) => {\n listener(this.#currentResult)\n })\n })\n }\n}\n","'use client'\nimport * as React from 'react'\n\nimport type { QueryClient } from '@tanstack/query-core'\n\nexport const QueryClientContext = React.createContext<QueryClient | undefined>(\n undefined,\n)\n\nexport const useQueryClient = (queryClient?: QueryClient) => {\n const client = React.useContext(QueryClientContext)\n\n if (queryClient) {\n return queryClient\n }\n\n if (!client) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one')\n }\n\n return client\n}\n\nexport type QueryClientProviderProps = {\n client: QueryClient\n children?: React.ReactNode\n}\n\nexport const QueryClientProvider = ({\n client,\n children,\n}: QueryClientProviderProps): React.JSX.Element => {\n React.useEffect(() => {\n client.mount()\n return () => {\n client.unmount()\n }\n }, [client])\n\n return (\n <QueryClientContext.Provider value={client}>\n {children}\n </QueryClientContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\n\nconst IsRestoringContext = React.createContext(false)\n\nexport const useIsRestoring = () => React.useContext(IsRestoringContext)\nexport const IsRestoringProvider = IsRestoringContext.Provider\n","'use client'\nimport * as React from 'react'\n\n// CONTEXT\nexport type QueryErrorResetFunction = () => void\nexport type QueryErrorIsResetFunction = () => boolean\nexport type QueryErrorClearResetFunction = () => void\n\nexport interface QueryErrorResetBoundaryValue {\n clearReset: QueryErrorClearResetFunction\n isReset: QueryErrorIsResetFunction\n reset: QueryErrorResetFunction\n}\n\nfunction createValue(): QueryErrorResetBoundaryValue {\n let isReset = false\n return {\n clearReset: () => {\n isReset = false\n },\n reset: () => {\n isReset = true\n },\n isReset: () => {\n return isReset\n },\n }\n}\n\nconst QueryErrorResetBoundaryContext = React.createContext(createValue())\n\n// HOOK\n\nexport const useQueryErrorResetBoundary = () =>\n React.useContext(QueryErrorResetBoundaryContext)\n\n// COMPONENT\n\nexport type QueryErrorResetBoundaryFunction = (\n value: QueryErrorResetBoundaryValue,\n) => React.ReactNode\n\nexport interface QueryErrorResetBoundaryProps {\n children: QueryErrorResetBoundaryFunction | React.ReactNode\n}\n\nexport const QueryErrorResetBoundary = ({\n children,\n}: QueryErrorResetBoundaryProps) => {\n const [value] = React.useState(() => createValue())\n return (\n <QueryErrorResetBoundaryContext.Provider value={value}>\n {typeof children === 'function' ? children(value) : children}\n </QueryErrorResetBoundaryContext.Provider>\n )\n}\n","'use client'\nimport * as React from 'react'\nimport { shouldThrowError } from '@tanstack/query-core'\nimport type {\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const ensurePreventErrorBoundaryRetry = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n if (\n options.suspense ||\n options.throwOnError ||\n options.experimental_prefetchInRender\n ) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false\n }\n }\n}\n\nexport const useClearResetErrorBoundary = (\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset()\n }, [errorResetBoundary])\n}\n\nexport const getHasError = <\n TData,\n TError,\n TQueryFnData,\n TQueryData,\n TQueryKey extends QueryKey,\n>({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense,\n}: {\n result: QueryObserverResult<TData, TError>\n errorResetBoundary: QueryErrorResetBoundaryValue\n throwOnError: ThrowOnError<TQueryFnData, TError, TQueryData, TQueryKey>\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey> | undefined\n suspense: boolean | undefined\n}) => {\n return (\n result.isError &&\n !errorResetBoundary.isReset() &&\n !result.isFetching &&\n query &&\n ((suspense && result.data === undefined) ||\n shouldThrowError(throwOnError, [result.error, query]))\n )\n}\n","import type {\n DefaultError,\n DefaultedQueryObserverOptions,\n Query,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryErrorResetBoundaryValue } from './QueryErrorResetBoundary'\n\nexport const defaultThrowOnError = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n _error: TError,\n query: Query<TQueryFnData, TError, TData, TQueryKey>,\n) => query.state.data === undefined\n\nexport const ensureSuspenseTimers = (\n defaultedOptions: DefaultedQueryObserverOptions<any, any, any, any, any>,\n) => {\n const originalStaleTime = defaultedOptions.staleTime\n\n if (defaultedOptions.suspense) {\n // Handle staleTime to ensure minimum 1000ms in Suspense mode\n // This prevents unnecessary refetching when components remount after suspending\n defaultedOptions.staleTime =\n typeof originalStaleTime === 'function'\n ? (...args) => Math.max(originalStaleTime(...args), 1000)\n : Math.max(originalStaleTime ?? 1000, 1000)\n\n if (typeof defaultedOptions.gcTime === 'number') {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1000)\n }\n }\n}\n\nexport const willFetch = (\n result: QueryObserverResult<any, any>,\n isRestoring: boolean,\n) => result.isLoading && result.isFetching && !isRestoring\n\nexport const shouldSuspend = (\n defaultedOptions:\n | DefaultedQueryObserverOptions<any, any, any, any, any>\n | undefined,\n result: QueryObserverResult<any, any>,\n) => defaultedOptions?.suspense && result.isPending\n\nexport const fetchOptimistic = <\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n defaultedOptions: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n observer: QueryObserver<TQueryFnData, TError, TData, TQueryData, TQueryKey>,\n errorResetBoundary: QueryErrorResetBoundaryValue,\n) =>\n observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset()\n })\n","'use client'\nimport * as React from 'react'\n\nimport { isServer, noop, notifyManager } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary'\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary,\n} from './errorBoundaryUtils'\nimport { useIsRestoring } from './IsRestoringProvider'\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch,\n} from './suspense'\nimport type {\n QueryClient,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryOptions } from './types'\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: UseBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n queryClient?: QueryClient,\n): QueryObserverResult<TData, TError> {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof options !== 'object' || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object',\n )\n }\n }\n\n const client = useQueryClient(queryClient)\n const isRestoring = useIsRestoring()\n const errorResetBoundary = useQueryErrorResetBoundary()\n const defaultedOptions = client.defaultQueryOptions(options)\n\n ;(client.getDefaultOptions().queries as any)?._experimental_beforeQuery?.(\n defaultedOptions,\n )\n\n if (process.env.NODE_ENV !== 'production') {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`,\n )\n }\n }\n\n // Make sure results are optimistically set in fetching state before subscribing or updating options\n defaultedOptions._optimisticResults = isRestoring\n ? 'isRestoring'\n : 'optimistic'\n\n ensureSuspenseTimers(defaultedOptions)\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary)\n\n useClearResetErrorBoundary(errorResetBoundary)\n\n // this needs to be invoked before creating the Observer because that can create a cache entry\n const isNewCacheEntry = !client\n .getQueryCache()\n .get(defaultedOptions.queryHash)\n\n const [observer] = React.useState(\n () =>\n new Observer<TQueryFnData, TError, TData, TQueryData, TQueryKey>(\n client,\n defaultedOptions,\n ),\n )\n\n // note: this must be called before useSyncExternalStore\n const result = observer.getOptimisticResult(defaultedOptions)\n\n const shouldSubscribe = !isRestoring && options.subscribed !== false\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe\n ? observer.subscribe(notifyManager.batchCalls(onStoreChange))\n : noop\n\n // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n observer.updateResult()\n\n return unsubscribe\n },\n [observer, shouldSubscribe],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n React.useEffect(() => {\n observer.setOptions(defaultedOptions)\n }, [defaultedOptions, observer])\n\n // Handle suspense\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n }\n\n // Handle error boundary\n if (\n getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client\n .getQueryCache()\n .get<\n TQueryFnData,\n TError,\n TQueryData,\n TQueryKey\n >(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense,\n })\n ) {\n throw result.error\n }\n\n ;(client.getDefaultOptions().queries as any)?._experimental_afterQuery?.(\n defaultedOptions,\n result,\n )\n\n if (\n defaultedOptions.experimental_prefetchInRender &&\n !isServer &&\n willFetch(result, isRestoring)\n ) {\n const promise = isNewCacheEntry\n ? // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n : // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n\n promise?.catch(noop).finally(() => {\n // `.updateResult()` will trigger `.#currentThenable` to finalize\n observer.updateResult()\n })\n }\n\n // Handle result property usage tracking\n return !defaultedOptions.notifyOnChangeProps\n ? observer.trackResult(result)\n : result\n}\n","'use client'\nimport * as React from 'react'\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n UseMutateFunction,\n UseMutationOptions,\n UseMutationResult,\n} from './types'\nimport type { DefaultError, QueryClient } from '@tanstack/query-core'\n\n// HOOK\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: UseMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: QueryClient,\n): UseMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient)\n\n const [observer] = React.useState(\n () =>\n new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options,\n ),\n )\n\n React.useEffect(() => {\n observer.setOptions(options)\n }, [observer, options])\n\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer],\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult(),\n )\n\n const mutate = React.useCallback<\n UseMutateFunction<TData, TError, TVariables, TContext>\n >(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n },\n [observer],\n )\n\n if (\n result.error &&\n shouldThrowError(observer.options.throwOnError, [result.error])\n ) {\n throw result.error\n }\n\n return { ...result, mutate, mutateAsync: result.mutate }\n}\n","'use client'\nimport { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n QueryClient,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\nimport type {\n DefinedUseInfiniteQueryResult,\n UseInfiniteQueryOptions,\n UseInfiniteQueryResult,\n} from './types'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): DefinedUseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryResult<TData, TError>\n\nexport function useInfiniteQuery(\n options: UseInfiniteQueryOptions,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n options,\n InfiniteQueryObserver as typeof QueryObserver,\n queryClient,\n )\n}\n","import React, { useMemo } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\nimport { IMirantesFoundationProviderProps } from \"./types\";\r\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\r\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\r\n\r\nexport default function MirantesFoundationProvider({\r\n children,\r\n Notification,\r\n queryClient,\r\n values: {\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n } = {},\r\n}: IMirantesFoundationProviderProps) {\r\n const value = useMemo(\r\n () => ({\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n Notification,\r\n }),\r\n [\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n Notification,\r\n ]\r\n );\r\n\r\n return (\r\n <MirantesFoundationContext.Provider value={value}>\r\n <QueryClientProvider client={queryClient as QueryClient}>\r\n {children}\r\n {isDev ? (\r\n <ReactQueryDevtools\r\n client={queryClient as QueryClient}\r\n initialIsOpen={false}\r\n />\r\n ) : null}\r\n </QueryClientProvider>\r\n </MirantesFoundationContext.Provider>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"21\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 21\"\r\n >\r\n <path\r\n fill=\"#687588\"\r\n d=\"M13.396 2.167h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V4.3c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#687588\"\r\n d=\"M6.604 11.721c1.168 0 2.115.955 2.115 2.133V16.7a2.125 2.125 0 0 1-2.115 2.134H3.782A2.125 2.125 0 0 1 1.667 16.7v-2.846c0-1.178.947-2.133 2.115-2.133zm9.614 0c1.168 0 2.116.955 2.116 2.133V16.7a2.126 2.126 0 0 1-2.116 2.134h-2.822a2.125 2.125 0 0 1-2.115-2.134v-2.846c0-1.178.947-2.133 2.115-2.133zM6.604 2.167c1.169 0 2.115.955 2.115 2.133v2.845a2.125 2.125 0 0 1-2.115 2.134H3.782a2.125 2.125 0 0 1-2.115-2.134V4.3c0-1.178.946-2.133 2.115-2.133z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[]\n classGroupId?: AnyClassGroupIds\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\nconst CLASS_PART_SEPARATOR = '-'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n const classParts = className.split(CLASS_PART_SEPARATOR)\n\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift()\n }\n\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ) => {\n const conflicts = conflictingClassGroups[classGroupId] || []\n\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]\n }\n\n return conflicts\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[0]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n const classGroupFromNextClassPart = nextClassPartObject\n ? getGroupRecursive(classParts.slice(1), nextClassPartObject)\n : undefined\n\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart\n }\n\n if (classPartObject.validators.length === 0) {\n return undefined\n }\n\n const classRest = classParts.join(CLASS_PART_SEPARATOR)\n\n return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId\n}\n\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/\n\nconst getGroupIdForArbitraryProperty = (className: string) => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]\n const property = arbitraryPropertyClassName?.substring(\n 0,\n arbitraryPropertyClassName.indexOf(':'),\n )\n\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property\n }\n }\n}\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, prefix } = config\n const classMap: ClassPartObject = {\n nextPart: new Map<string, ClassPartObject>(),\n validators: [],\n }\n\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(\n Object.entries(config.classGroups),\n prefix,\n )\n\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme)\n })\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n classGroup.forEach((classDefinition) => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n return\n }\n\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(\n classDefinition(theme),\n classPartObject,\n classGroupId,\n theme,\n )\n return\n }\n\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId,\n })\n\n return\n }\n\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(\n classGroup,\n getPart(classPartObject, key),\n classGroupId,\n theme,\n )\n })\n })\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string) => {\n let currentClassPartObject = classPartObject\n\n path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: [],\n })\n }\n\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!\n })\n\n return currentClassPartObject\n}\n\nconst isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>\n (func as ThemeGetter).isThemeGetter\n\nconst getPrefixedClassGroupEntries = (\n classGroupEntries: Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]>,\n prefix: string | undefined,\n): Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]> => {\n if (!prefix) {\n return classGroupEntries\n }\n\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map((classDefinition) => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition\n }\n\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(\n Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]),\n )\n }\n\n return classDefinition\n })\n\n return [classGroupId, prefixedClassGroup]\n })\n}\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nexport const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache = new Map<Key, Value>()\n let previousCache = new Map<Key, Value>()\n\n const update = (key: Key, value: Value) => {\n cache.set(key, value)\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = new Map()\n }\n }\n\n return {\n get(key) {\n let value = cache.get(key)\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value)\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { separator, experimentalParseClassName } = config\n const isSeparatorSingleCharacter = separator.length === 1\n const firstSeparatorCharacter = separator[0]\n const separatorLength = separator.length\n\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = (className: string) => {\n const modifiers = []\n\n let bracketDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index]\n\n if (bracketDepth === 0) {\n if (\n currentCharacter === firstSeparatorCharacter &&\n (isSeparatorSingleCharacter ||\n className.slice(index, index + separatorLength) === separator)\n ) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + separatorLength\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') {\n bracketDepth++\n } else if (currentCharacter === ']') {\n bracketDepth--\n }\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.substring(modifierStart)\n const hasImportantModifier =\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n const baseClassName = hasImportantModifier\n ? baseClassNameWithImportantModifier.substring(1)\n : baseClassNameWithImportantModifier\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n }\n }\n\n if (experimentalParseClassName) {\n return (className: string) => experimentalParseClassName({ className, parseClassName })\n }\n\n return parseClassName\n}\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const sortModifiers = (modifiers: string[]) => {\n if (modifiers.length <= 1) {\n return modifiers\n }\n\n const sortedModifiers: string[] = []\n let unsortedModifiers: string[] = []\n\n modifiers.forEach((modifier) => {\n const isArbitraryVariant = modifier[0] === '['\n\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n unsortedModifiers = []\n } else {\n unsortedModifiers.push(modifier)\n }\n })\n\n sortedModifiers.push(...unsortedModifiers.sort())\n\n return sortedModifiers\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER, sortModifiers } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } =\n parseClassName(originalClassName)\n\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition)\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n const variantModifier = sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport function twJoin(...classLists: ClassNameValue[]): string\nexport function twJoin() {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < arguments.length) {\n if ((argument = arguments[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string) => {\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport function createTailwindMerge(\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall = initTailwindMerge\n\n function initTailwindMerge(classList: string) {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n function tailwindMerge(classList: string) {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments as any))\n }\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || []\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst stringLengths = new Set(['px', 'full', 'screen'])\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isLength = (value: string) =>\n isNumber(value) || stringLengths.has(value) || fractionRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, 'length', isLengthOnly)\n\nexport const isNumber = (value: string) => Boolean(value) && !Number.isNaN(Number(value))\n\nexport const isArbitraryNumber = (value: string) => getIsArbitraryValue(value, 'number', isNumber)\n\nexport const isInteger = (value: string) => Boolean(value) && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nconst sizeLabels = new Set(['length', 'size', 'percentage'])\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, sizeLabels, isNever)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, 'position', isNever)\n\nconst imageLabels = new Set(['image', 'url'])\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, imageLabels, isImage)\n\nexport const isArbitraryShadow = (value: string) => getIsArbitraryValue(value, '', isShadow)\n\nexport const isAny = () => true\n\nconst getIsArbitraryValue = (\n value: string,\n label: string | Set<string>,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n const colors = fromTheme('colors')\n const spacing = fromTheme('spacing')\n const blur = fromTheme('blur')\n const brightness = fromTheme('brightness')\n const borderColor = fromTheme('borderColor')\n const borderRadius = fromTheme('borderRadius')\n const borderSpacing = fromTheme('borderSpacing')\n const borderWidth = fromTheme('borderWidth')\n const contrast = fromTheme('contrast')\n const grayscale = fromTheme('grayscale')\n const hueRotate = fromTheme('hueRotate')\n const invert = fromTheme('invert')\n const gap = fromTheme('gap')\n const gradientColorStops = fromTheme('gradientColorStops')\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions')\n const inset = fromTheme('inset')\n const margin = fromTheme('margin')\n const opacity = fromTheme('opacity')\n const padding = fromTheme('padding')\n const saturate = fromTheme('saturate')\n const scale = fromTheme('scale')\n const sepia = fromTheme('sepia')\n const skew = fromTheme('skew')\n const space = fromTheme('space')\n const translate = fromTheme('translate')\n\n const getOverscroll = () => ['auto', 'contain', 'none'] as const\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing] as const\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing] as const\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength] as const\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue] as const\n const getPositions = () =>\n [\n 'bottom',\n 'center',\n 'left',\n 'left-bottom',\n 'left-top',\n 'right',\n 'right-bottom',\n 'right-top',\n 'top',\n ] as const\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'] as const\n const getBlendModes = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const getAlign = () =>\n ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'] as const\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue] as const\n const getBreaks = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue]\n\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary(),\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{ aspect: ['auto', 'square', 'video', isArbitraryValue] }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{ columns: [isTshirtSize] }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': getBreaks() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': getBreaks() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: [...getPositions(), isArbitraryValue] }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: getOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': getOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': getOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: getOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': getOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': getOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: [inset] }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': [inset] }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': [inset] }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: [inset] }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: [inset] }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: [inset] }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: [inset] }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: [inset] }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: [inset] }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: ['auto', isInteger, isArbitraryValue] }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{ basis: getSpacingWithAutoAndArbitrary() }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['wrap', 'wrap-reverse', 'nowrap'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: getZeroAndEmpty() }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: getZeroAndEmpty() }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{ order: ['first', 'last', 'none', isInteger, isArbitraryValue] }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': [isAny] }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [\n {\n col: [\n 'auto',\n { span: ['full', isInteger, isArbitraryValue] },\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': [isAny] }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [\n { row: ['auto', { span: [isInteger, isArbitraryValue] }, isArbitraryValue] },\n ],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: [gap] }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': [gap] }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': [gap] }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: ['normal', ...getAlign()] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': ['start', 'end', 'center', 'stretch'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...getAlign(), 'baseline'] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': [...getAlign(), 'baseline'] }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: [padding] }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: [padding] }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: [padding] }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: [padding] }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: [padding] }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: [padding] }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: [padding] }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: [padding] }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: [padding] }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: [margin] }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: [margin] }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: [margin] }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: [margin] }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: [margin] }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: [margin] }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: [margin] }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: [margin] }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: [margin] }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{ 'space-x': [space] }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{ 'space-y': [space] }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [\n {\n w: [\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svw',\n 'lvw',\n 'dvw',\n isArbitraryValue,\n spacing,\n ],\n },\n ],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{ 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit'] }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n isArbitraryValue,\n spacing,\n 'none',\n 'full',\n 'min',\n 'max',\n 'fit',\n 'prose',\n { screen: [isTshirtSize] },\n isTshirtSize,\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [\n {\n h: [\n isArbitraryValue,\n spacing,\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svh',\n 'lvh',\n 'dvh',\n ],\n },\n ],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [\n { 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [\n { 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{ size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit'] }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{ text: ['base', isTshirtSize, isArbitraryLength] }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [\n {\n font: [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isAny] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [\n {\n tracking: [\n 'tighter',\n 'tight',\n 'normal',\n 'wide',\n 'wider',\n 'widest',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{ 'line-clamp': ['none', isNumber, isArbitraryNumber] }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n 'none',\n 'tight',\n 'snug',\n 'normal',\n 'relaxed',\n 'loose',\n isLength,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryValue] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{ list: ['none', 'disc', 'decimal', isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: [colors] }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{ 'placeholder-opacity': [opacity] }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: [colors] }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{ 'text-opacity': [opacity] }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...getLineStyles(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n { decoration: ['auto', 'from-font', isLength, isArbitraryLength] },\n ],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{ 'underline-offset': ['auto', isLength, isArbitraryValue] }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: [colors] }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: getSpacingWithArbitrary() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryValue] }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{ 'bg-opacity': [opacity] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: [...getPositions(), isArbitraryPosition] }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: ['no-repeat', { repeat: ['', 'x', 'y', 'round', 'space'] }] }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: ['auto', 'cover', 'contain', isArbitrarySize] }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n { 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: [colors] }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: [gradientColorStops] }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: [gradientColorStops] }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: [gradientColorStops] }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: [borderRadius] }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': [borderRadius] }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': [borderRadius] }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': [borderRadius] }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': [borderRadius] }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': [borderRadius] }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': [borderRadius] }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': [borderRadius] }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': [borderRadius] }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': [borderRadius] }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': [borderRadius] }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': [borderRadius] }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': [borderRadius] }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': [borderRadius] }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': [borderRadius] }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: [borderWidth] }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': [borderWidth] }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': [borderWidth] }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': [borderWidth] }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': [borderWidth] }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': [borderWidth] }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': [borderWidth] }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': [borderWidth] }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': [borderWidth] }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{ 'border-opacity': [opacity] }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...getLineStyles(), 'hidden'] }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{ 'divide-x': [borderWidth] }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{ 'divide-y': [borderWidth] }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{ 'divide-opacity': [opacity] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{ divide: getLineStyles() }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: [borderColor] }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': [borderColor] }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': [borderColor] }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': [borderColor] }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': [borderColor] }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': [borderColor] }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': [borderColor] }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': [borderColor] }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': [borderColor] }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: [borderColor] }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: ['', ...getLineStyles()] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{ 'outline-offset': [isLength, isArbitraryValue] }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{ outline: [isLength, isArbitraryLength] }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: [colors] }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{ ring: getLengthWithEmptyAndArbitrary() }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{ ring: [colors] }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{ 'ring-opacity': [opacity] }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{ 'ring-offset': [isLength, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{ 'ring-offset': [colors] }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow] }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{ shadow: [isAny] }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [opacity] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': getBlendModes() }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{ filter: ['', 'none'] }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: [blur] }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [brightness] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [contrast] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue] }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: [grayscale] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [hueRotate] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: [invert] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [saturate] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: [sepia] }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{ 'backdrop-filter': ['', 'none'] }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': [blur] }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{ 'backdrop-brightness': [brightness] }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{ 'backdrop-contrast': [contrast] }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{ 'backdrop-grayscale': [grayscale] }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{ 'backdrop-hue-rotate': [hueRotate] }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{ 'backdrop-invert': [invert] }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{ 'backdrop-opacity': [opacity] }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{ 'backdrop-saturate': [saturate] }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{ 'backdrop-sepia': [sepia] }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': [borderSpacing] }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': [borderSpacing] }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': [borderSpacing] }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n 'none',\n 'all',\n '',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: getNumberAndArbitrary() }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue] }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: getNumberAndArbitrary() }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue] }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{ transform: ['', 'gpu', 'none'] }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: [scale] }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': [scale] }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': [scale] }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: [isInteger, isArbitraryValue] }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': [translate] }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': [translate] }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': [skew] }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': [skew] }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [\n {\n origin: [\n 'center',\n 'top',\n 'top-right',\n 'right',\n 'bottom-right',\n 'bottom',\n 'bottom-left',\n 'left',\n 'top-left',\n isArbitraryValue,\n ],\n },\n ],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: ['auto', colors] }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: [colors] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['none', 'auto'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', 'y', 'x', ''] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': getSpacingWithArbitrary() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [\n {\n touch: ['auto', 'none', 'manipulation'],\n },\n ],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [\n {\n 'touch-pan': ['x', 'left', 'right'],\n },\n ],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [\n {\n 'touch-pan': ['y', 'up', 'down'],\n },\n ],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n { 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue] },\n ],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: [colors, 'none'] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{ stroke: [isLength, isArbitraryLength, isArbitraryNumber] }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: [colors, 'none'] }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\n\nexport const twMerge = createTailwindMerge(getDefaultConfig)\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction TooltipProvider({\r\n delayDuration = 0,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\r\n return (\r\n <TooltipPrimitive.Provider\r\n data-slot=\"tooltip-provider\"\r\n delayDuration={delayDuration}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\nfunction TooltipContent({\r\n className,\r\n sideOffset = 0,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-primary-foreground shadow-lg shadow-dark/10 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <TooltipPrimitive.Arrow className=\"bg-white fill-white z-50 size-3.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n","import { cn } from \"../../../lib/utils\";\r\nimport {\r\n Tooltip as TooltipUI,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from \"../../ui/tooltip\";\r\nimport React from \"react\";\r\n\r\nexport function Tooltip({\r\n children,\r\n content,\r\n className,\r\n}: {\r\n children: React.ReactNode;\r\n content?: string;\r\n className?: string;\r\n}) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipUI>\r\n <TooltipTrigger className=\"w-full h-full\">{children}</TooltipTrigger>\r\n {content && (\r\n <TooltipContent className={cn(\"p-4 bg-white rounded-lg\", className)}>\r\n <span className=\"text-body-md font-medium\">{content}</span>\r\n </TooltipContent>\r\n )}\r\n </TooltipUI>\r\n </TooltipProvider>\r\n );\r\n}\r\n","import { useState } from \"react\";\r\n\r\nexport function useOpen() {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const onOpen = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const onClose = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const toggle = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n return { isOpen, onOpen, onClose, toggle };\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function useOutsideClick(\r\n ref: React.RefObject<HTMLElement>,\r\n callback: () => void\r\n) {\r\n useEffect(() => {\r\n const handleClick = (event: MouseEvent) => {\r\n if (ref.current && !ref.current.contains(event.target as Node)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref, callback]);\r\n}\r\n","export const packagesEnglishDictionary = {\r\n \"component.workspace.user.complete\": \"complete\",\r\n \"component.workspace.greetings\": \"Good to have you back, \",\r\n \"component.workspace.greetings.label\":\r\n \"Keep getting the best out of what we’ve prepared for you.\",\r\n \"component.workspace.user.following\": \"Following\",\r\n \"component.workspace.user.followers\": \"Followers\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explore\",\r\n \"component.workspace.panel.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.title\": \"Create new workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interests\",\r\n \"component.workspace.panel.modal.form.name\": \"Workspace name / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Select interests\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Enter workspace name\",\r\n \"component.workspace.panel.modal.form.description\": \"Short description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Back\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Creating your workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Error creating workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"An error occurred while creating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Required field\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Edit\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Do you want to delete this workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"There’s no going back! Are you sure you want to delete it permanently?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\": \"Cancel\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace successfully deleted!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"The workspace was successfully deleted.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Error deleting workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"An error occurred while deleting the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Edit workspace details\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Save\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace successfully updated!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"The workspace was successfully updated.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Error updating workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"An error occurred while updating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace created successfully!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"All set! Your new workspace is the first step towards great achievements.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"View workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Go to store\",\r\n\r\n \"component.search.placeholder\": \"Search\",\r\n \"main.navbar.home\": \"Home\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explore\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Log out\",\r\n \"component.select-input.placeholder\": \"Select an option\",\r\n \"component.select-input.no-elements-found\": \"No elements found\",\r\n};\r\n","export const packagesFrenchDictionary = {\r\n \"component.workspace.user.complete\": \"complet\",\r\n \"component.workspace.greetings\": \"Ravi de vous revoir, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continuez à profiter de ce que nous avons préparé pour vous.\",\r\n \"component.workspace.user.following\": \"Abonnements\",\r\n \"component.workspace.user.followers\": \"Abonnés\",\r\n \"component.workspace.user.posts\": \"Publications\",\r\n \"component.workspace.panel.explore\": \"Explorer\",\r\n \"component.workspace.panel.create\": \"Créer un espace de travail\",\r\n \"component.workspace.panel.modal.title\": \"Créer un nouvel espace de travail\",\r\n \"component.workspace.panel.modal.form.interests\": \"Centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name\": \"Nom de l’espace / icône-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Sélectionnez les centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Saisir le nom de l’espace de travail\",\r\n \"component.workspace.panel.modal.form.description\": \"Brève description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Retour\",\r\n \"component.workspace.panel.modal.form.button.create\":\r\n \"Créer l’espace de travail\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Création de votre espace de travail...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erreur lors de la création de l’espace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Une erreur est survenue lors de la création de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Champ obligatoire\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Modifier\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Voulez-vous supprimer cet espace ?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Cette action est irréversible ! Êtes-vous sûr de vouloir le supprimer ?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Annuler\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Espace supprimé avec succès !\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"L’espace a été supprimé avec succès.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erreur lors de la suppression\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Une erreur est survenue lors de la suppression de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\":\r\n \"Modifier les détails de l’espace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Enregistrer\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Espace mis à jour avec succès !\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"L’espace a été mis à jour avec succès.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erreur lors de la mise à jour\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Une erreur est survenue lors de la mise à jour de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.success.title\": \"Espace créé avec succès !\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tout est prêt ! Votre nouvel espace de travail est la première étape vers de grandes réussites.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Voir l’espace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Aller à la boutique\",\r\n\r\n \"component.search.placeholder\": \"Rechercher\",\r\n \"main.navbar.home\": \"Accueil\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorer\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Se déconnecter\",\r\n \"component.select-input.placeholder\": \"Sélectionner une option\",\r\n \"component.select-input.no-elements-found\": \"Aucun élément trouvé\",\r\n};\r\n","export const packagesPortugueseDictionary = {\r\n \"component.workspace.user.complete\": \"completo\",\r\n \"component.workspace.greetings\": \"Que bom ter você de volta, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continue tirando o melhor do que preparamos para você.\",\r\n \"component.workspace.user.following\": \"A seguir\",\r\n \"component.workspace.user.followers\": \"Seguidores\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explorar\",\r\n \"component.workspace.panel.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.title\": \"Criar novo workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interesses\",\r\n \"component.workspace.panel.modal.form.name\": \"Nome do workspace / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Selecione os interesses\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Escrever nome do workspace\",\r\n \"component.workspace.panel.modal.form.description\": \"Descrição curta\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Voltar\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Criando o seu workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erro ao criar workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Ocorreu um erro ao criar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Campo obrigatório\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Editar\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Você quer excluir este workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Depois não tem volta! Tem certeza que quer apagar de vez?.\",\r\n \r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Cancelar\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace deletado com sucesso!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"O workspace foi deletado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erro ao deletar workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Ocorreu um erro ao deletar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Editar detalhes do worspace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Salvar\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace atualizado com sucesso!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"O workspace foi atualizado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erro ao atualizar workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Ocorreu um erro ao atualizar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace criado com sucesso!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tudo pronto! Seu novo espaço de trabalho é o primeiro passo para grandes conquistas.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Ver workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Ir na loja\",\r\n\r\n \"component.search.placeholder\": \"Pesquisar\",\r\n \"main.navbar.home\": \"Início\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorar\",\r\n \"main.navbar.notifications\": \"Notificações\",\r\n\r\n \"component.user.options.logout\": \"Terminar sessão\",\r\n \"component.select-input.placeholder\": \"Selecione uma opção\",\r\n \"component.select-input.no-elements-found\": \"Nenhum elemento encontrado\",\r\n};\r\n","import { packagesEnglishDictionary } from \"./dictionaries/en\";\r\nimport { packagesFrenchDictionary } from \"./dictionaries/fr\";\r\nimport { packagesPortugueseDictionary } from \"./dictionaries/pt\";\r\n\r\nconst billingTranslation = {\r\n pt: {\r\n ...packagesPortugueseDictionary,\r\n },\r\n en: {\r\n ...packagesEnglishDictionary,\r\n },\r\n fr: {\r\n ...packagesFrenchDictionary,\r\n },\r\n};\r\n\r\nexport function packageDictionary(\r\n locale: keyof typeof billingTranslation,\r\n key: keyof (typeof billingTranslation)[typeof locale]\r\n) {\r\n return billingTranslation[locale][key];\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function EditIcon({ color = \"#687588\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.66 15.793h-4.744a.847.847 0 0 0-.84.853c0 .471.377.853.84.853h4.745c.463 0 .84-.382.84-.853a.847.847 0 0 0-.84-.853\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m8.59 5.755 4.497 3.633a.26.26 0 0 1 .043.358l-5.331 6.946a1.75 1.75 0 0 1-1.358.68l-2.91.036a.33.33 0 0 1-.326-.26l-.662-2.875c-.115-.528 0-1.075.335-1.496l5.357-6.98a.25.25 0 0 1 .356-.042\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m15.1 7.221-.867 1.082a.25.25 0 0 1-.353.04c-1.053-.852-3.752-3.04-4.5-3.647a.257.257 0 0 1-.037-.36l.836-1.038c.759-.977 2.082-1.066 3.149-.215l1.225.976c.503.394.838.914.953 1.46.132.601-.01 1.192-.406 1.702\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","import { useContext } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\n\r\nexport function useMirantesFoundation() {\r\n const mirantesContext = useContext(MirantesFoundationContext);\r\n\r\n if (!mirantesContext) {\r\n throw new Error(\r\n \"useMirantesFoundation must be used within a MirantesFoundationProvider\"\r\n );\r\n }\r\n\r\n return mirantesContext;\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function DeleteIcon({ color = \"#E03137\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.37 7.906c0 .057-.445 5.674-.699 8.038-.159 1.45-1.094 2.33-2.497 2.356-1.078.024-2.133.032-3.171.032-1.102 0-2.18-.008-3.226-.032-1.356-.033-2.292-.93-2.443-2.356-.261-2.372-.697-7.981-.705-8.038a.66.66 0 0 1 .159-.465.6.6 0 0 1 .436-.195h11.558c.166 0 .317.073.436.195a.62.62 0 0 1 .151.465\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M17.5 4.982c0-.342-.27-.61-.594-.61h-2.43c-.494 0-.924-.352-1.034-.848l-.136-.608a1.654 1.654 0 0 0-1.585-1.248H8.28c-.746 0-1.397.514-1.595 1.288l-.127.569a1.07 1.07 0 0 1-1.034.846h-2.43a.6.6 0 0 0-.595.611v.317c0 .334.27.61.595.61h13.81a.607.607 0 0 0 .595-.61z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","export const Palette = {\r\n white: \"#ffff\",\r\n dark: {\r\n black: \"#0a0909\",\r\n blue: {\r\n shade1: \"#090b19\",\r\n shade2: \"#111827\",\r\n },\r\n },\r\n blue: {\r\n shade1: \"#0b89ce\",\r\n shade2: \"#0e9edd\",\r\n shade3: \"#11b2ea\",\r\n shade4: \"#14c4f4\",\r\n shade5: \"#4dddff\",\r\n shade6: \"#92f0ff\",\r\n shade7: \"#bbf9ff\",\r\n shade8: \"#d9fdff\",\r\n shade9: \"#deebf2\",\r\n shade10: \"#3182CE\",\r\n shade11: \"#2F78EE\",\r\n shade12: \"#EBF3FF\",\r\n shade13: \"#111827\",\r\n shade14: \"#CEECFF\",\r\n shade15: \"#0B89CE33\",\r\n shade16: \"#721EFF\",\r\n },\r\n\r\n gray: {\r\n shade1: \"#f2f2f2\",\r\n shade2: \"#F6F6F6\",\r\n shade3: \"#e6e6e6\",\r\n shade4: \"#b3b3b3\",\r\n shade5: \"#666666\",\r\n shade6: \"#1a1a1a\",\r\n shade7: \"#A0AEC0\",\r\n shade8: \"#687588\",\r\n shade9: \"#F8F8F8\",\r\n shade10: \"#F1F2F4\",\r\n shade11: \"#E9EAEC\",\r\n shade12: \"#FAFAFA\",\r\n shade13: \"#44444F\",\r\n shade14: \"#92929D\",\r\n shade15: \"#323B49\",\r\n shade16: \"#111827\",\r\n shade17: \"#CBD5E0\",\r\n shade18: \"#F1F1F1\",\r\n shade19: \"#BABDC5\",\r\n shade20: \"#8E939F\",\r\n shade21: \"#646A78\",\r\n shade22: \"#B5B5BE\",\r\n shade23: \"#EFF4FB\",\r\n },\r\n\r\n green: {\r\n shade1: \"#5c995c\",\r\n shade2: \"#72b772\",\r\n shade3: \"#a1e2a1\",\r\n shade4: \"#b4efb4\",\r\n shade5: \"#daedda\",\r\n shade6: \"#27A376\",\r\n shade7: \"#0CAF60\",\r\n shade8: \"#38A169\",\r\n shade9: \"#E7F7EF\",\r\n shade10: \"#5C995D\",\r\n bg: \"rgba(202, 234, 203, 0.40)\",\r\n },\r\n yellow: {\r\n shade1: \"#ffc545\",\r\n shade2: \"#ffc85a\",\r\n shade3: \"#ffd28a\",\r\n shade4: \"#ffe6b3\",\r\n shade5: \"#ffecd2\",\r\n },\r\n orange: {\r\n shade1: \"#f9922d\",\r\n shade2: \"#ffa14d\",\r\n shade3: \"#f4aa6e\",\r\n shade4: \"#f7cca6\",\r\n shade5: \"#f2e6dd\",\r\n shade6: \"#EC991C\",\r\n shade7: \"#EC991C33\",\r\n shade8: \"#F39912\",\r\n shade9: \"#FF9900\",\r\n },\r\n red: {\r\n shade1: \"#ad3e36\",\r\n shade2: \"#e86464\",\r\n shade3: \"#ea9696\",\r\n shade4: \"#eacccc\",\r\n shade5: \"#FFEDEC\",\r\n shade6: \"#E03137\",\r\n shade7: \"#E53E3E\",\r\n },\r\n};\r\n","import React from \"react\";\r\nimport { Modal } from \"./modal\";\r\nimport { Button } from \"../button/button\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\n\r\nexport function ConfirmModal({\r\n isOpen,\r\n onClose,\r\n onConfirm,\r\n title,\r\n description,\r\n illustration,\r\n isLoading,\r\n}: {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n title: string;\r\n description: string;\r\n illustration?: React.ReactNode;\r\n isLoading?: boolean;\r\n}) {\r\n const { locale } = useMirantesFoundation();\r\n\r\n \r\n return (\r\n <Modal\r\n isLoading={isLoading}\r\n closeOnClickOutside={false}\r\n hideCloseButton\r\n className=\"min-w-[31.25rem]\"\r\n disableFullScreen\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n >\r\n <div className=\"w-full flex flex-col items-center gap-y-8\">\r\n {illustration && <div>{illustration}</div>}\r\n\r\n <h2 className=\"text-[2rem] font-bold text-center\">{title}</h2>\r\n\r\n <p className=\"text-center text-body-xl text-dark-1\">{description}</p>\r\n\r\n <div className=\"w-full flex gap-x-4\">\r\n <Button\r\n disabled={isLoading}\r\n className=\"bg-white text-primary border border-primary\"\r\n onClick={onClose}\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\"\r\n )}\r\n </Button>\r\n <Button disabled={isLoading} onClick={onConfirm}>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\"\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> & {\r\n className?: string;\r\n }\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\r\n overlayClassName?: string;\r\n onClose?: () => void;\r\n hideCloseButton?: boolean;\r\n closeOnOverlayClick?: boolean;\r\n }\r\n>(\r\n (\r\n {\r\n className,\r\n children,\r\n onClose,\r\n overlayClassName,\r\n closeOnOverlayClick = true,\r\n hideCloseButton = false,\r\n ...props\r\n },\r\n ref\r\n ) => (\r\n <DialogPortal>\r\n <DialogOverlay\r\n className={`${overlayClassName} z-[60] bg-[#00000050]`}\r\n onClick={(e) => {\r\n if (!closeOnOverlayClick) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }}\r\n />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white shadow-2xl shadow-[#00000010] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] !outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {!hideCloseButton && (\r\n <button\r\n onClick={onClose}\r\n className=\"absolute cursor-pointer hidden lg:flex top-4 lg:right-6 right-4\"\r\n >\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogPortal>\r\n )\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n Dialog,\r\n DialogPortal,\r\n DialogOverlay,\r\n DialogClose,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n};\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../../components/ui/dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport type { ReactNode } from \"react\";\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n children: ReactNode;\r\n hideCloseButton?: boolean;\r\n closeOnClickOutside?: boolean;\r\n className?: string;\r\n header?: React.ReactNode;\r\n disableFullScreen?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function Modal({\r\n isOpen,\r\n header,\r\n onClose,\r\n isLoading,\r\n children,\r\n hideCloseButton = false,\r\n closeOnClickOutside = true,\r\n className,\r\n disableFullScreen = false,\r\n}: ModalProps) {\r\n return (\r\n <div className=\"absolute\">\r\n <Dialog\r\n open={isOpen}\r\n onOpenChange={(open) => {\r\n if (!open && closeOnClickOutside) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <DialogHeader />\r\n\r\n <DialogContent\r\n hideCloseButton={hideCloseButton}\r\n onClose={onClose}\r\n className={`px-0 py-6 lg:px-6 w-full ${\r\n !disableFullScreen && \"h-[100dvh] z-[999] !rounded-none\" \r\n } flex flex-col !justify-start overflow-hidden z-[70] rounded-xl lg:!rounded-2xl lg:h-auto pt-4 gap-0 ${className}`}\r\n onInteractOutside={(e) => {\r\n if (!closeOnClickOutside) {\r\n e.preventDefault();\r\n }\r\n }}\r\n >\r\n {isLoading && <div className=\"loading-bar\" />}\r\n\r\n {!disableFullScreen && (\r\n <header className=\"px-4 border-b-8 border-[#F6F6F6] pb-4 lg:hidden flex items-center w-full\">\r\n <button onClick={() => onClose()} className=\"cursor-pointer\">\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n\r\n {header}\r\n </header>\r\n )}\r\n\r\n <DialogTitle />\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const LoadingIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"41\"\r\n height=\"40\"\r\n fill=\"none\"\r\n viewBox=\"0 0 41 40\"\r\n >\r\n <mask\r\n id=\"mask0_56449_70362\"\r\n width=\"41\"\r\n height=\"40\"\r\n x=\"0\"\r\n y=\"0\"\r\n maskUnits=\"userSpaceOnUse\"\r\n style={{ maskType: \"alpha\" }}\r\n >\r\n <path\r\n fill=\"#C4C4C4\"\r\n d=\"M40.5 20c0 11.046-8.954 20-20 20S.5 31.046.5 20s8.954-20 20-20 20 8.954 20 20M7.543 20c0 7.156 5.801 12.957 12.957 12.957S33.457 27.156 33.457 20 27.656 7.043 20.5 7.043 7.543 12.844 7.543 20\"\r\n ></path>\r\n </mask>\r\n <g mask=\"url(#mask0_56449_70362)\">\r\n <g\r\n clipPath=\"url(#paint0_angular_56449_70362_clip_path)\"\r\n data-figma-skip-parse=\"true\"\r\n >\r\n <foreignObject\r\n width=\"2088.83\"\r\n height=\"2088.83\"\r\n x=\"-1044.42\"\r\n y=\"-1044.42\"\r\n transform=\"matrix(0 .02251 -.02251 0 20.5 20.01)\"\r\n >\r\n <div\r\n style={{\r\n background: `conic-gradient(from 90deg,${color} 0deg,rgba(11,137,206,0) 360deg)`,\r\n height: \"100%\",\r\n width: \"100%\",\r\n }}\r\n ></div>\r\n </foreignObject>\r\n </g>\r\n <path\r\n d=\"M-2.014-2.504h45.029v45.029H-2.014z\"\r\n data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"stopsVar\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"transform\":{\"m00\":2.7572048986947324e-15,\"m01\":-45.028572082519531,\"m02\":43.014411926269531,\"m10\":45.028572082519531,\"m11\":2.7572048986947324e-15,\"m12\":-2.503906250},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}'\r\n ></path>\r\n <circle cx=\"20.769\" cy=\"36.538\" r=\"3.562\" fill={color}></circle>\r\n </g>\r\n <defs>\r\n <clipPath id=\"paint0_angular_56449_70362_clip_path\">\r\n <path d=\"M-2.014-2.504h45.029v45.029H-2.014z\"></path>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { LoadingIcon } from \"../../../assets/icons/loading-icon\";\r\n\r\ntype ButtonProps = {\r\n children: React.ReactNode;\r\n type?: \"button\" | \"submit\";\r\n className?: string;\r\n onClick?: () => void;\r\n disabled?: boolean;\r\n isLoading?: boolean;\r\n};\r\n\r\nexport function Button({\r\n children,\r\n className,\r\n disabled,\r\n isLoading,\r\n onClick,\r\n type = \"button\",\r\n}: ButtonProps) {\r\n return (\r\n <button\r\n disabled={disabled || isLoading}\r\n type={type}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onClick?.();\r\n }}\r\n className={cn(\r\n \"flex-1 flex items-center border border-primary text-white bg-primary font-bold py-4\",\r\n className\r\n )}\r\n >\r\n {children}\r\n {isLoading && (\r\n <div className=\"w-4 h-4 flex items-center justify-center\">\r\n <LoadingIcon color=\"#fff\" />\r\n </div>\r\n )}\r\n </button>\r\n );\r\n}\r\n","import { gql } from \"graphql-request\";\r\n\r\nexport const GET_WORKSPACES = gql`\r\n query GetWorkspaces($options: GetWorkspaceInput) {\r\n workspaces(options: $options) {\r\n meta {\r\n total\r\n currentPage\r\n perPage\r\n lastPage\r\n }\r\n data {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CREATE_WORKSPACES_MUTATION = gql`\r\n mutation createWorkspace($createWorkspaceInput: CreateWorkspaceInput!) {\r\n createWorkspace(createWorkspaceInput: $createWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DELETE_WORKSPACE_MUTATION = gql`\r\n mutation removeWorkspace($id: String!) {\r\n removeWorkspace(id: $id) {\r\n success\r\n }\r\n }\r\n`;\r\n\r\nexport const UPDATE_WORKSPACE_MUTATION = gql`\r\n mutation updateWorkspace($updateWorkspaceInput: UpdateWorkspaceInput!) {\r\n updateWorkspace(updateWorkspaceInput: $updateWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n","import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n retry: 2,\r\n staleTime: 0,\r\n refetchOnMount: false,\r\n refetchOnWindowFocus: false,\r\n },\r\n },\r\n});\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { DELETE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype DeleteWorkspaceResponse = {\r\n deleteWorkspace: {\r\n success: boolean;\r\n };\r\n};\r\n\r\nconst mutationFn = async ({\r\n id,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n id: string;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<DeleteWorkspaceResponse>(\r\n apiUrl as string,\r\n DELETE_WORKSPACE_MUTATION,\r\n { id },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.deleteWorkspace;\r\n};\r\n\r\nexport function useApiDeleteWorkspace() {\r\n const { mutate: deleteWorkspace, isPending: isDeletingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"delete-workspace\"],\r\n mutationFn,\r\n onMutate: async ({ id }) => {\r\n await queryClient.cancelQueries({ queryKey: [\"workspaces\"] });\r\n\r\n const previousData = queryClient.getQueryData<any>([\"workspaces\"]);\r\n\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.filter(\r\n (workspace: WorkspaceProps) => workspace.id !== id\r\n ),\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total - 1,\r\n },\r\n })),\r\n };\r\n });\r\n\r\n return { previousData };\r\n },\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: [\"workspaces\"] });\r\n },\r\n });\r\n\r\n return {\r\n deleteWorkspace,\r\n isDeletingWorkspace,\r\n };\r\n}\r\n","import React from \"react\";\r\nimport { toast } from \"react-toastify\";\r\n\r\ntype ToastProps = {\r\n title: string;\r\n message: string;\r\n};\r\n\r\ntype ConditionalToastProps = ToastProps & {\r\n open?: boolean;\r\n};\r\n\r\nconst TOAST_ID = \"conditional-info-toast\"; // unique ID for control\r\n\r\nexport function useToast() {\r\n const errorToast = ({ title, message }: ToastProps) =>\r\n toast.error(\r\n <ToastContainer type=\"error\" message={message} title={title} />\r\n );\r\n\r\n const successToast = ({ title, message }: ToastProps) =>\r\n toast.success(\r\n <ToastContainer type=\"success\" message={message} title={title} />\r\n );\r\n\r\n const infoToast = ({ title, message }: ToastProps) =>\r\n toast.info(<ToastContainer type=\"info\" message={message} title={title} />);\r\n\r\n const warnToast = ({ title, message }: ToastProps) =>\r\n toast.warn(<ToastContainer type=\"warn\" message={message} title={title} />);\r\n\r\n const conditionalInfoToast = ({\r\n title,\r\n message,\r\n open = true,\r\n }: ConditionalToastProps) => {\r\n if (open) {\r\n if (!toast.isActive(TOAST_ID)) {\r\n toast.info(\r\n <ToastContainer type=\"info\" message={message} title={title} />,\r\n {\r\n toastId: TOAST_ID,\r\n autoClose: false,\r\n closeOnClick: false,\r\n draggable: false,\r\n }\r\n );\r\n }\r\n } else {\r\n toast.dismiss(TOAST_ID);\r\n }\r\n };\r\n\r\n return {\r\n errorToast,\r\n successToast,\r\n warnToast,\r\n infoToast,\r\n conditionalInfoToast,\r\n };\r\n}\r\n\r\nconst ToastContainer = ({\r\n title,\r\n message,\r\n type,\r\n}: ToastProps & { type: \"info\" | \"error\" | \"success\" | \"warn\" }) => (\r\n <div className=\"w-full flex flex-col gap-1\">\r\n <h6\r\n className={`text-base font-semibold manrope-font ${\r\n type == \"error\"\r\n ? \"text-red-shade6\"\r\n : type == \"success\"\r\n ? \"text-green-shade6\"\r\n : type == \"info\"\r\n ? \"text-blue-shade1\"\r\n : \"text-orange-shade6\"\r\n }`}\r\n >\r\n {title}\r\n </h6>\r\n\r\n {message && (\r\n <span className=\"text-sm manrope-font text-dark-1\">{message}</span>\r\n )}\r\n </div>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const AlertIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"70\"\r\n height=\"70\"\r\n fill=\"none\"\r\n viewBox=\"0 0 70 70\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n d=\"M35 6.563C19.32 6.563 6.563 19.32 6.563 35S19.32 63.438 35 63.438 63.438 50.68 63.438 35 50.68 6.563 35 6.563M37.734 50.3h-5.468v-5.469h5.468zm-.547-8.737h-4.374l-.82-21.876h6.015z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { WorkspaceProps } from \"../../../../../../../types/workspace.types\";\r\nimport { create } from \"zustand\";\r\n\r\ntype AddWorkspaceStore = {\r\n step: \"form\" | \"loading\" | \"success\" | \"error\";\r\n setStep: (step: \"form\" | \"loading\" | \"success\" | \"error\") => void;\r\n workspace: WorkspaceProps | undefined;\r\n setWorkspace: (workspace?: WorkspaceProps) => void;\r\n};\r\n\r\nexport const useAddWorkspaceStore = create<AddWorkspaceStore>((set) => ({\r\n step: \"form\",\r\n setStep: (step) => set({ step }),\r\n workspace: undefined,\r\n setWorkspace: (workspace) => set({ workspace }),\r\n}));\r\n","import React from \"react\";\r\nimport { Modal } from \"../../../../../../components/shared/modal\";\r\nimport { AddWorkspaceDone } from \"./components/AddWorkspaceDone/AddWorkspaceDone\";\r\nimport { useAddWorkspaceStore } from \"./store/add-workspace.store\";\r\nimport { AddWorkspaceForm } from \"./components/AddWorkspaceForm/AddWorkspaceForm\";\r\n\r\nexport function AddWorkspaceModal({ onClose }: { onClose: () => void }) {\r\n const { step, setStep, setWorkspace } = useAddWorkspaceStore();\r\n\r\n const handleClose = () => {\r\n setStep(\"form\");\r\n onClose();\r\n setWorkspace(undefined);\r\n };\r\n\r\n return (\r\n <Modal\r\n closeOnClickOutside={false}\r\n disableFullScreen\r\n hideCloseButton\r\n isOpen\r\n className=\"bg-gradient-to-b z-[101] !p-8 from-[#DEF3FF] to-[#FCFEFF] max-w-[26rem] lg:max-w-[31.25rem] w-full lg:min-w-[31.25rem]\"\r\n onClose={handleClose}\r\n >\r\n {step !== \"success\" && <AddWorkspaceForm onClose={handleClose} />}\r\n {step === \"success\" && <AddWorkspaceDone onClose={handleClose} />}\r\n </Modal>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CongratulationsIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"266\"\r\n height=\"167\"\r\n fill=\"none\"\r\n viewBox=\"0 0 266 167\"\r\n >\r\n <path\r\n fill=\"#FE964A\"\r\n d=\"M92.068 10.15c0 4.177 6.696 7.564 2.037 7.564-4.66 0-8.437-3.387-8.437-7.564 0-4.178 3.777-7.564 8.436-7.564 4.66 0-2.036 3.386-2.036 7.564M158.23 6.5l1.132 3.484h3.664l-2.964 2.154 1.132 3.484-2.964-2.153-2.964 2.153 1.132-3.484-2.964-2.154h3.664z\"\r\n ></path>\r\n <path\r\n stroke=\"#0BA259\"\r\n strokeWidth=\"2.017\"\r\n d=\"M34.378 80.153s10.748-5.354 13.186-2.548c1.34 1.542 2.351 3.409 1.152 4.926-.925 1.169-2.26 1.318-3.825 1.043-3.312-.582-3.262-5.182-1.932-8.031 1.836-3.934 11.582-1.612 11.582-1.612\"\r\n ></path>\r\n <circle cx=\"229.217\" cy=\"74.793\" r=\"5.883\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"1.681\"\r\n d=\"m56.047 136.488.837-7.22 5.835 3.7.666-6.057 5.322 3.667 1.658-6.548\"\r\n ></path>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"2.017\"\r\n d=\"M193.3 22.425s-.818-4.86 1.53-5.83c1.973-.813 3.683 2.786 5.304 1.481 1.642-1.322-2.457-3.416-1.122-4.997 1.405-1.664 5.916 0 5.916 0\"\r\n ></path>\r\n <path fill=\"#2F78EE\" d=\"M32.955 15.135 54.56 25.891l-5.4 7.365z\"></path>\r\n <circle cx=\"224.346\" cy=\"94.814\" r=\"2.521\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n fill=\"#2F78EE\"\r\n d=\"M200.116 128.002c2.771.279 5.465-3.937 5.154-.846s-2.81 5.37-5.581 5.091-4.765-3.01-4.454-6.101 2.11 1.577 4.881 1.856\"\r\n ></path>\r\n <path\r\n fill=\"#0BA259\"\r\n d=\"m209.11 39.492 1.886 5.808h6.107l-4.94 3.589 1.887 5.807-4.94-3.59-4.94 3.59 1.886-5.807-4.94-3.59h6.107z\"\r\n ></path>\r\n <rect\r\n width=\"100\"\r\n height=\"100\"\r\n x=\"82.799\"\r\n y=\"26.324\"\r\n fill=\"#0B89CE\"\r\n rx=\"50\"\r\n ></rect>\r\n <g filter=\"url(#filter0_d_56449_70621)\">\r\n <rect\r\n width=\"60\"\r\n height=\"60\"\r\n x=\"102.799\"\r\n y=\"46.324\"\r\n fill=\"#fff\"\r\n rx=\"30\"\r\n shapeRendering=\"crispEdges\"\r\n ></rect>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M143.683 69.19a1.25 1.25 0 0 1 0 1.768l-12.5 12.5a1.25 1.25 0 0 1-1.768 0l-6.25-6.25a1.25 1.25 0 0 1 1.768-1.768l5.366 5.367 11.616-11.617a1.25 1.25 0 0 1 1.768 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_56449_70621\"\r\n width=\"140\"\r\n height=\"140\"\r\n x=\"62.799\"\r\n y=\"26.324\"\r\n colorInterpolationFilters=\"sRGB\"\r\n filterUnits=\"userSpaceOnUse\"\r\n >\r\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n result=\"hardAlpha\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n ></feColorMatrix>\r\n <feOffset dy=\"20\"></feOffset>\r\n <feGaussianBlur stdDeviation=\"20\"></feGaussianBlur>\r\n <feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\r\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0\"></feColorMatrix>\r\n <feBlend\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_56449_70621\"\r\n ></feBlend>\r\n <feBlend\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_56449_70621\"\r\n result=\"shape\"\r\n ></feBlend>\r\n </filter>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import { CongratulationsIllustration } from \"../../../../../../../../assets/illustrations/CongratulationsIllustration\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport React from \"react\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceDone({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <div className=\"w-40 h-40 flex items-center justify-center lg:w-auto lg:h-auto\">\r\n <CongratulationsIllustration />\r\n </div>\r\n\r\n <h4 className=\"text-2xl lg:text-[2rem] font-bold lg:leading-normal text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.title\"\r\n )}\r\n </h4>\r\n\r\n <p className=\"text-gray-shade8 text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.description\"\r\n )}\r\n </p>\r\n\r\n <div className=\"w-full mt-4 flex-col lg:flex-row flex items-center gap-4\">\r\n <button\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.store\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-white bg-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.view-workspace\"\r\n )}\r\n </button>\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import { useMutation, useQueryClient } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { CREATE_WORKSPACES_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype CreateWorkspaceInput = {\r\n name: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype CreateWorkspaceResponse = {\r\n createWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: CreateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<CreateWorkspaceResponse>(\r\n apiUrl as string,\r\n CREATE_WORKSPACES_MUTATION,\r\n { createWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.createWorkspace;\r\n};\r\n\r\nexport function useApiCreateWorkspace() {\r\n const queryClient = useQueryClient();\r\n\r\n const { mutate: createWorkspace, isPending: isCreatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"create-workspace\"],\r\n mutationFn,\r\n onSuccess: (newWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any, index: number) => {\r\n if (index === 0) {\r\n return {\r\n ...page,\r\n data: [newWorkspace, ...page.data],\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total + 1,\r\n },\r\n };\r\n }\r\n return page;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n createWorkspace,\r\n isCreatingWorkspace,\r\n };\r\n}\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { UPDATE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype UpdateWorkspaceInput = {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype UpdateWorkspaceResponse = {\r\n updateWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: UpdateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<UpdateWorkspaceResponse>(\r\n apiUrl as string,\r\n UPDATE_WORKSPACE_MUTATION,\r\n { updateWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.updateWorkspace;\r\n};\r\n\r\nexport function useApiUpdateWorkspace() {\r\n const { mutate: updateWorkspace, isPending: isUpdatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"update-workspace\"],\r\n mutationFn,\r\n onSuccess: (updatedWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.map((workspace: WorkspaceProps) =>\r\n workspace.id === updatedWorkspace.id\r\n ? updatedWorkspace\r\n : workspace\r\n ),\r\n })),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n updateWorkspace,\r\n isUpdatingWorkspace,\r\n };\r\n}\r\n","import * as yup from \"yup\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { useApiCreateWorkspace } from \"../../../../../api/use-api-create-workspace\";\r\nimport { useToast } from \"../../../../../../../../components/shared/toasts/toasts\";\r\nimport { useApiUpdateWorkspace } from \"../../../../../../../../components/fromMirantes/WorkspacePanel/api/use-api-update-workspace\";\r\n\r\nconst AddWorkspaceModalFormSchema = yup.object({\r\n name: yup.string().required(\"required-field\"),\r\n interests: yup.array().of(yup.string()).optional(),\r\n description: yup.string().optional(),\r\n icon: yup.string().optional(),\r\n});\r\n\r\nexport function useAddWorkspaceModal() {\r\n const { updateWorkspace, isUpdatingWorkspace } = useApiUpdateWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const { setStep, workspace } = useAddWorkspaceStore();\r\n const { errorToast } = useToast();\r\n\r\n const { user, widgetsApi } = useMirantesFoundation();\r\n const { createWorkspace, isCreatingWorkspace } = useApiCreateWorkspace();\r\n const [selectedInterests, setSelectedInterests] = useState<string[]>([]);\r\n const interests = [\r\n {\r\n id: \"1\",\r\n name: \"Looking for a job\",\r\n },\r\n {\r\n id: \"2\",\r\n name: \"Creating a new product\",\r\n },\r\n {\r\n id: \"3\",\r\n name: \"Expanding my business\",\r\n },\r\n {\r\n id: \"4\",\r\n name: \"Learning new things\",\r\n },\r\n ];\r\n\r\n const {\r\n watch,\r\n setValue,\r\n clearErrors,\r\n handleSubmit,\r\n formState: { errors },\r\n } = useForm({\r\n resolver: yupResolver(AddWorkspaceModalFormSchema),\r\n });\r\n\r\n useEffect(() => {\r\n if (workspace) {\r\n setValue(\"name\", workspace.name);\r\n setValue(\"description\", workspace.description);\r\n }\r\n }, [workspace]);\r\n\r\n const getError = (field?: string) =>\r\n field\r\n ? packageDictionary(\r\n locale as TLocale,\r\n `component.workspace.panel.modal.form.errors.${field}` as any\r\n )\r\n : undefined;\r\n\r\n const onSelectInterest = (id: string) => {\r\n setSelectedInterests([...selectedInterests, id]);\r\n };\r\n\r\n const onRemoveInterest = (id: string) => {\r\n setSelectedInterests(selectedInterests.filter((item) => item !== id));\r\n };\r\n\r\n const onChangeName = (value: string) => {\r\n if (errors?.name?.message && value) {\r\n clearErrors(\"name\");\r\n }\r\n\r\n setValue(\"name\", value);\r\n };\r\n\r\n const onChangeDescription = (value: string) => {\r\n if (errors?.description?.message && value) {\r\n clearErrors(\"description\");\r\n }\r\n\r\n setValue(\"description\", value);\r\n };\r\n\r\n const onSubmit = handleSubmit((data) => {\r\n const { interests, ...rest } = data;\r\n setStep(\"loading\");\r\n\r\n if (workspace?.id) {\r\n updateWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n id: workspace?.id,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n\r\n return;\r\n }\r\n createWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n });\r\n\r\n return {\r\n onChangeName,\r\n onChangeDescription,\r\n errors,\r\n watch,\r\n onSelectInterest,\r\n onRemoveInterest,\r\n interests,\r\n getError,\r\n selectedInterests,\r\n onSubmit,\r\n isCreatingWorkspace: isCreatingWorkspace || isUpdatingWorkspace,\r\n setValue,\r\n };\r\n}\r\n","import React from \"react\";\r\n\r\nexport const CircledInfoIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"15\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 15\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 1.482a6.188 6.188 0 1 0 0 12.375A6.188 6.188 0 0 0 8 1.482M.688 7.669a7.313 7.313 0 1 1 14.625 0 7.313 7.313 0 0 1-14.625 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 4.107c.31 0 .563.252.563.562v3a.563.563 0 0 1-1.126 0v-3c0-.31.252-.562.563-.562M7.438 10.67c0-.312.251-.563.562-.563h.008a.562.562 0 1 1 0 1.125H8a.563.563 0 0 1-.562-.563\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\nimport { cn } from \"../../lib/utils\";\r\nimport { CircledInfoIcon } from \"../../assets/icons/CircledInfoIcon\";\r\n\r\ninterface InputProps extends React.ComponentProps<\"input\"> {\r\n error?: string;\r\n inputClassName?: string;\r\n leftElementClassName?: string;\r\n leftElement?: React.ReactNode;\r\n rightElement?: React.ReactNode;\r\n rightElementClassName?: string;\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n (\r\n {\r\n className,\r\n type,\r\n leftElement,\r\n rightElement,\r\n leftElementClassName,\r\n rightElementClassName,\r\n inputClassName,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n <div className=\"flex flex-col w-full\">\r\n <div\r\n className={cn(\r\n \"relative flex items-center w-full focus-within:border-b-blue-shade1\",\r\n !!props?.error && \"border-b-red-shade6\",\r\n className\r\n )}\r\n >\r\n {leftElement && (\r\n <div className={leftElementClassName}>{leftElement}</div>\r\n )}\r\n\r\n <input\r\n type={type}\r\n className={cn(\r\n \"flex w-full bg-red-400 bg-transparent px-3 focus-within:border-none py-1 h-[52px] text-sm placeholder:text-gray-shade25 outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 \",\r\n !!leftElement && \"pl-10\",\r\n !!rightElement && \"pr-10\",\r\n inputClassName\r\n )}\r\n ref={ref}\r\n {...props}\r\n />\r\n\r\n {rightElement && (\r\n <div className={rightElementClassName}>{rightElement}</div>\r\n )}\r\n </div>\r\n\r\n {props?.error && (\r\n <div className=\"flex items-center gap-x-[8px] mt-[5.69px]\">\r\n {CircledInfoIcon}\r\n\r\n <span className=\"text-red-shade6 text-[0.75rem] \">\r\n {props?.error}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\nInput.displayName = \"Input\";\r\n\r\nexport { Input };\r\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import { Input } from \"../../../components/ui/input\";\r\nimport { cn } from \"../../../utils/utils\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\ntype BaseInputProps = {\r\n placeholder: string;\r\n value: string;\r\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n rightIcon?: React.ReactNode;\r\n leftIcon?: React.ReactNode;\r\n label?: string;\r\n error?: string;\r\n disabled?: boolean;\r\n type?: string;\r\n name?: string;\r\n id?: string;\r\n className?: string;\r\n children?: React.ReactNode;\r\n wrapperClassName?: string;\r\n required?: boolean;\r\n};\r\n\r\nexport function BaseInput({\r\n placeholder,\r\n value,\r\n onChange,\r\n rightIcon,\r\n leftIcon,\r\n label,\r\n className,\r\n error,\r\n disabled,\r\n type,\r\n name,\r\n id,\r\n children,\r\n required,\r\n wrapperClassName,\r\n}: BaseInputProps) {\r\n const [isFocusing, setIsFocusing] = useState(false);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const handleFocus = () => {\r\n setIsFocusing(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setIsFocusing(false);\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-y-2\", wrapperClassName)}>\r\n <div className=\"flex items-center gap-x-2\">\r\n {label && <label className=\"text-body-md\">{label}</label>}\r\n {required && <span className=\"text-red-500\">*</span>}\r\n </div>\r\n\r\n <div\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n ref={inputRef}\r\n className={cn(\r\n \"flex bg-[#EFF4FB] rounded-xl px-4 w-full items-center border border-border\",\r\n className,\r\n !!error && \"border border-red-shade6\"\r\n )}\r\n >\r\n {leftIcon && <div>{leftIcon}</div>}\r\n\r\n <Input\r\n className={cn(\"!h-auto\", className)}\r\n placeholder={placeholder}\r\n value={value}\r\n onChange={onChange}\r\n />\r\n\r\n {rightIcon && <div>{rightIcon}</div>}\r\n </div>\r\n\r\n {error && <p className=\"text-red-shade6 text-body-sm\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogDescription,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../components/ui/dialog\"\r\n\r\nfunction Command({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive>) {\r\n return (\r\n <CommandPrimitive\r\n data-slot=\"command\"\r\n className={cn(\r\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandDialog({\r\n title = \"Command Palette\",\r\n description = \"Search for a command to run...\",\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof Dialog> & {\r\n title?: string\r\n description?: string\r\n}) {\r\n return (\r\n <Dialog {...props}>\r\n <DialogHeader className=\"sr-only\">\r\n <DialogTitle>{title}</DialogTitle>\r\n <DialogDescription>{description}</DialogDescription>\r\n </DialogHeader>\r\n <DialogContent className=\"overflow-hidden p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nfunction CommandInput({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\r\n return (\r\n <div\r\n data-slot=\"command-input-wrapper\"\r\n className=\"flex h-9 items-center gap-2 border-b px-3\"\r\n >\r\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n data-slot=\"command-input\"\r\n className={cn(\r\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction CommandList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\r\n return (\r\n <CommandPrimitive.List\r\n data-slot=\"command-list\"\r\n className={cn(\r\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandEmpty({\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\r\n return (\r\n <CommandPrimitive.Empty\r\n data-slot=\"command-empty\"\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\r\n return (\r\n <CommandPrimitive.Group\r\n data-slot=\"command-group\"\r\n className={cn(\r\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\r\n return (\r\n <CommandPrimitive.Separator\r\n data-slot=\"command-separator\"\r\n className={cn(\"bg-border -mx-1 h-px\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\r\n return (\r\n <CommandPrimitive.Item\r\n data-slot=\"command-item\"\r\n className={cn(\r\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"command-shortcut\"\r\n className={cn(\r\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n}\r\n","import * as React from \"react\"\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Popover({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\r\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\r\n}\r\n\r\nfunction PopoverTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\r\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\r\n}\r\n\r\nfunction PopoverContent({\r\n className,\r\n align = \"center\",\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\r\n return (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n data-slot=\"popover-content\"\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n )\r\n}\r\n\r\nfunction PopoverAnchor({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\r\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\r\n}\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Check, ChevronDown } from \"lucide-react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { Button } from \"../../../components/ui/button\";\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from \"../../../components/ui/command\";\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"../../../components/ui/popover\";\r\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\n\r\nexport interface SelectInputOption {\r\n id: string;\r\n value: string;\r\n icon?: string;\r\n}\r\n\r\nexport interface SelectInputProps {\r\n options: SelectInputOption[];\r\n label?: string;\r\n placeholder?: string;\r\n className?: string;\r\n error?: string;\r\n required?: boolean;\r\n value?: string;\r\n onChange?: (id: string) => void;\r\n onChangeItem?: (item: SelectInputOption) => void;\r\n register?: UseFormRegisterReturn;\r\n name?: string;\r\n disabled?: boolean;\r\n disableSelectedItem?: boolean;\r\n}\r\n\r\nexport function SelectInput({\r\n options,\r\n label,\r\n placeholder,\r\n className,\r\n error,\r\n required = false,\r\n value,\r\n onChange,\r\n register,\r\n name = \"selectInput\",\r\n disabled = false,\r\n onChangeItem,\r\n disableSelectedItem = false,\r\n}: SelectInputProps) {\r\n const { locale } = useMirantesFoundation();\r\n const [open, setOpen] = React.useState(false);\r\n const [selectedValue, setSelectedValue] = React.useState(value || \"\");\r\n\r\n // Handle external value changes\r\n React.useEffect(() => {\r\n if (value !== undefined) {\r\n setSelectedValue(value);\r\n }\r\n }, [value]);\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: string) => {\r\n const selectedItem = options.find((option) => option.id === currentValue);\r\n setSelectedValue(currentValue);\r\n setOpen(false);\r\n\r\n if (onChange) {\r\n onChange(currentValue);\r\n }\r\n\r\n if (onChangeItem && selectedItem) {\r\n onChangeItem(selectedItem);\r\n }\r\n },\r\n [onChange, onChangeItem, options]\r\n );\r\n\r\n const selectedOption = React.useMemo(\r\n () => options.find((option) => option.id === selectedValue),\r\n [options, selectedValue]\r\n );\r\n\r\n const hiddenInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n return (\r\n <div className=\"space-y-2\">\r\n {label && (\r\n <label className=\"text-body-md font-medium\">\r\n {label}\r\n {required && <span className=\"text-red-500 ml-1\">*</span>}\r\n </label>\r\n )}\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"outline\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className={cn(\r\n \"w-full justify-between text-body-md overflow-hidden h-14 px-4 py-3 text-base rounded-xl font-normal\",\r\n \"border border-border bg-background hover:bg-accent hover:text-accent-foreground\",\r\n !selectedValue && \"text-muted-foreground\",\r\n error && \"border-red-500 focus-visible:ring-red-500\",\r\n className\r\n )}\r\n disabled={disabled}\r\n >\r\n <div className=\"flex items-center gap-2 truncate\">\r\n {disableSelectedItem && selectedOption && selectedOption.icon && (\r\n <span className=\"flex items-center text-body-md text-gray-shade8 justify-center w-5 h-5\">\r\n {selectedOption.icon}\r\n </span>\r\n )}\r\n <span className=\"truncate text-body-md text-gray-shade8\">\r\n {disableSelectedItem\r\n ? (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))\r\n : selectedOption\r\n ? selectedOption.value\r\n : (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))}\r\n </span>\r\n </div>\r\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[--radix-popover-trigger-width] bg-white z-[102] p-0\">\r\n <Command>\r\n <CommandInput\r\n className=\"outline-none\"\r\n placeholder={\r\n placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n )\r\n }\r\n />\r\n <CommandList>\r\n <CommandEmpty>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.no-elements-found\"\r\n )}\r\n </CommandEmpty>\r\n <CommandGroup className=\"max-h-[300px] overflow-auto\">\r\n {options.map((option) => (\r\n <CommandItem\r\n key={option.id}\r\n value={option.id}\r\n onSelect={() => handleSelect(option.id)}\r\n className=\"flex items-center py-2 hover:bg-gray-shade1 cursor-pointer gap-2\"\r\n >\r\n {option.icon && (\r\n <span className=\"flex items-center justify-center w-5 h-5\">\r\n {option.icon}\r\n </span>\r\n )}\r\n <span className=\"text-body-md\">{option.value}</span>\r\n {option.id === selectedValue && (\r\n <Check className=\"ml-auto h-4 w-4\" />\r\n )}\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\r\n <input\r\n type=\"hidden\"\r\n ref={hiddenInputRef}\r\n name={name}\r\n value={selectedValue}\r\n {...register}\r\n />\r\n\r\n {error && <p className=\"text-body-md text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import { cn } from \"../../../lib/utils\";\r\nimport { X } from \"lucide-react\";\r\nimport React from \"react\";\r\n\r\nexport function Badge({\r\n label,\r\n onRemove,\r\n className,\r\n iconClassName,\r\n}: {\r\n label: string;\r\n onRemove: () => void;\r\n className?: string;\r\n iconClassName?: string;\r\n}) {\r\n return (\r\n <span\r\n className={cn(\r\n \"px-2 py-[6px] flex items-center gap-x-2 !text-body-md rounded-full bg-primary text-white\",\r\n className\r\n )}\r\n >\r\n {label}\r\n <button\r\n type=\"button\"\r\n className=\" bg-transparent border border-none p-0\"\r\n onClick={onRemove}\r\n >\r\n <X className={cn(\"w-4 h-4\", iconClassName)} />\r\n </button>\r\n </span>\r\n );\r\n}\r\n","import * as React from \"react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\r\n return (\r\n <textarea\r\n data-slot=\"textarea\"\r\n className={cn(\r\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Textarea }\r\n","import React from \"react\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { Textarea } from \"../../../components/ui/textarea\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\n\r\nexport interface DescriptionInputProps {\r\n label?: string;\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n required?: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n maxLength?: number;\r\n error?: string;\r\n onGenerateDescription?: () => void;\r\n textAreaClassName?: string;\r\n}\r\n\r\nexport function DescriptionInput({\r\n label = \"Descrição\",\r\n value = \"\",\r\n onChange,\r\n required = false,\r\n className,\r\n disabled = false,\r\n maxLength = 500,\r\n error,\r\n textAreaClassName,\r\n}: DescriptionInputProps) {\r\n const [text, setText] = useState(value);\r\n const { locale } = useMirantesFoundation();\r\n\r\n useEffect(() => {\r\n setText(value);\r\n }, [value]);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const newValue = e.target.value;\r\n if (newValue.length <= maxLength) {\r\n setText(newValue);\r\n onChange?.(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"space-y-2\", className)}>\r\n {label && (\r\n <label className=\"text-body-md font-normal\">\r\n {label} {required && <span className=\"text-red-shade6\">*</span>}\r\n </label>\r\n )}\r\n <div className=\"relative\">\r\n <Textarea\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n value={text}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n className={cn(\r\n \"min-h-[200px] resize-none rounded-xl border-border p-4 text-dark placeholder:text-gray-shade8/70 focus-visible:ring-primary\",\r\n textAreaClassName,\r\n error && \"border-red-500\"\r\n )}\r\n />\r\n <div className=\"absolute bottom-3 left-3 right-3 flex items-center justify-end\">\r\n <div className=\"text-body-sm self-end text-gray-shade8\">\r\n {text.length}/{maxLength}\r\n </div>\r\n </div>\r\n </div>\r\n {error && <p className=\"text-sm text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CreatingWorkspaceIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"201\"\r\n height=\"200\"\r\n fill=\"none\"\r\n viewBox=\"0 0 201 200\"\r\n >\r\n <path fill=\"#fff\" d=\"M58.884 16.957H19.748v40.796h39.136z\"></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M56.232 16.957H17.096v40.796h39.136z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.968 22.441H22.356V52.27h28.612zM22.356 52.465a5.4 5.4 0 0 1-.712.8c-.46.48-1.104 1.132-1.824 1.84s-1.38 1.34-1.868 1.792a5.4 5.4 0 0 1-.8.7q.316-.436.712-.8c.46-.48 1.104-1.132 1.828-1.844a93 93 0 0 1 1.868-1.796q.363-.386.796-.692M50.972 52.402q.433.32.8.716c.48.456 1.132 1.1 1.84 1.82s1.344 1.38 1.796 1.868q.39.363.696.8a5.4 5.4 0 0 1-.8-.712 104 104 0 0 1-3.636-3.696 5 5 0 0 1-.696-.796\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 22.523q.316-.437.716-.8c.46-.48 1.104-1.132 1.824-1.84s1.38-1.344 1.864-1.792q.366-.39.8-.7-.316.436-.712.8a91 91 0 0 1-1.824 1.844A93 93 0 0 1 51.7 21.83a5.5 5.5 0 0 1-.8.692M22.28 22.595a5.3 5.3 0 0 1-.8-.716c-.48-.46-1.132-1.1-1.84-1.82a91 91 0 0 1-1.792-1.868 5.4 5.4 0 0 1-.7-.8q.435.316.8.712c.48.456 1.132 1.104 1.844 1.824s1.344 1.384 1.796 1.868q.385.365.692.8\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 52.269v-2.144c0-1.412 0-3.468-.024-6.08 0-5.2-.028-12.668-.048-21.58l.092.092H22.388l.108-.108v29.828l-.092-.092 20.668.044 5.8.024h2.072-2.08l-5.78.024-20.728.048h-.092V22.297h28.74v.096c0 8.94-.036 16.4-.044 21.64 0 2.604 0 4.652-.028 6.056v2a.6.6 0 0 1-.032.18\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M29.908 34.902s-.608 7.384 7.392 7.384c0-3.94-3.256-7.052-7.392-7.384\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M44.544 34.905s-7.384-.612-7.384 7.388c3.94 0 7.052-3.252 7.384-7.388\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M36.94 30.863s-6.04 5.416.328 11.42c2.96-3.136 2.712-8.052-.328-11.42M172.276 17.473v39.56h-56.82l-2.048-39.284z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M113.412 17.75v39.2h56.82v-39.2z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M170.5 57.22h-57.36V17.48h57.36zm-56.8-.54h56.28V18.02H113.7z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M164.076 22.621h-44.512v29.46h44.512z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M164.076 22.62h-3.296l-9.176.037-32.04.064.128-.128v29.456l-.14-.14 44.512.028-.112.112c.024-8.968.044-16.316.06-21.436 0-2.56.02-4.556.028-5.928v-2.096 2.052c0 1.364 0 3.356.028 5.904 0 5.136.036 12.508.06 21.504v.112h-.112l-44.512.028h-.14V22.46h.128l32.128.06 9.14.036h3.04q.14.022.276.064\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M113.408 17.64q.53.256.98.633c.58.4 1.372 1.016 2.224 1.7s1.6 1.328 2.136 1.816q.452.365.8.832c-.052.06-1.42-1.068-3.124-2.432s-3.064-2.484-3.016-2.548M170.228 17.749c.048.06-1.288 1.2-2.988 2.544s-3.116 2.4-3.164 2.328 1.288-1.2 2.988-2.548 3.116-2.384 3.164-2.324M170.184 56.956l-6.336-5.136zM163.848 51.823c.052-.06 1.508 1.04 3.256 2.46s3.128 2.616 3.08 2.676-1.504-1.04-3.256-2.46-3.128-2.616-3.08-2.676M113.408 56.947c-.048-.06 1.28-1.2 2.96-2.516s3.084-2.36 3.132-2.3-1.276 1.2-2.956 2.52-3.088 2.36-3.136 2.296M128.6 31.8v9.864h28.008V31.8z\"\r\n ></path>\r\n <path\r\n fill=\"#F5F5F5\"\r\n d=\"M18.568 169.746s-7.128-36.944-7.144-44.544c-.024-10.516 8.028-14.7 8.028-14.7l-3.128-8.9h17.2l-2.72 8.856s9.06 4.8 7.796 15.708c-2.36 20.4-6.124 43.6-6.124 43.6z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M34.976 114.702h-.192a5.349 5.349 0 0 0-2.648.432 7.36 7.36 0 0 0-2.68 2.048 13 13 0 0 0-1.232 1.732 15 15 0 0 0-1.08 2.128 6.3 6.3 0 0 0-.5 2.536 3.96 3.96 0 0 0 1.016 2.536c.328.353.74.617 1.2.764.48.139.992.125 1.464-.04a3.44 3.44 0 0 0 2.06-2.228 3.32 3.32 0 0 0-.684-3.1 5.05 5.05 0 0 0-2.952-1.712 6.73 6.73 0 0 0-3.556.428 11.6 11.6 0 0 0-6.968 8.176 7.8 7.8 0 0 0 .072 3.48 5.12 5.12 0 0 0 1.696 2.8c.405.344.898.57 1.424.652a2.18 2.18 0 0 0 1.468-.288 3.03 3.03 0 0 0 1.312-2.52 3.1 3.1 0 0 0-.276-1.372 3.5 3.5 0 0 0-.8-1.08 4.8 4.8 0 0 0-2.32-1.08 6.62 6.62 0 0 0-4.336.752 7.84 7.84 0 0 0-2.56 2.204 7.2 7.2 0 0 0-1.032 1.88c-.172.464-.228.72-.244.716q.071-.374.196-.732a7 7 0 0 1 1.004-1.924 7.8 7.8 0 0 1 2.568-2.268 6.8 6.8 0 0 1 4.432-.8 4.95 4.95 0 0 1 2.4 1.108c.366.324.662.718.872 1.16.21.457.313.956.3 1.46a3.2 3.2 0 0 1-1.404 2.7 2.4 2.4 0 0 1-1.6.324 3.1 3.1 0 0 1-1.536-.696 5.33 5.33 0 0 1-1.78-2.928 8 8 0 0 1-.08-3.6 11.46 11.46 0 0 1 3.824-6.348 11.3 11.3 0 0 1 3.268-2 6.95 6.95 0 0 1 3.688-.436c1.207.22 2.3.855 3.088 1.796.379.46.652.998.8 1.576.146.567.13 1.164-.044 1.724a3.65 3.65 0 0 1-2.208 2.368 2.6 2.6 0 0 1-1.6.036 2.97 2.97 0 0 1-1.308-.824 4.14 4.14 0 0 1-1.06-2.672 6.5 6.5 0 0 1 .528-2.604q.474-1.128 1.124-2.164.557-.925 1.26-1.744a7.4 7.4 0 0 1 2.74-2.028 5.3 5.3 0 0 1 2.124-.42q.381.002.752.092M35.424 142.596a6.3 6.3 0 0 1-.16 1.88 8.2 8.2 0 0 1-.764 2.084 8 8 0 0 1-1.804 2.316 7.46 7.46 0 0 1-3.148 1.656 7.67 7.67 0 0 1-4.076-.06 7.14 7.14 0 0 1-3.672-2.588 6.84 6.84 0 0 1-1.408-4.6 3.4 3.4 0 0 1 1.016-2.264 2.47 2.47 0 0 1 2.348-.464A2.94 2.94 0 0 1 25.584 142c.334.692.419 1.477.24 2.224a4.15 4.15 0 0 1-.984 1.884 4.75 4.75 0 0 1-1.652 1.136 6.9 6.9 0 0 1-3.528.444 8.4 8.4 0 0 1-4.628-2.124 6.2 6.2 0 0 1-1.2-1.44q.045.042.084.092c.06.076.132.172.224.284q.448.534.972.992a8.43 8.43 0 0 0 4.588 2.036 6.73 6.73 0 0 0 3.428-.46 4.6 4.6 0 0 0 1.572-1.096 3.95 3.95 0 0 0 .92-1.788 3.1 3.1 0 0 0-.224-2.068A2.73 2.73 0 0 0 23.7 140.8a2.21 2.21 0 0 0-2.116.4 3.17 3.17 0 0 0-.936 2.104 6.64 6.64 0 0 0 1.36 4.432 6.9 6.9 0 0 0 3.54 2.512c1.29.383 2.66.411 3.964.08a7.35 7.35 0 0 0 3.084-1.6 7.8 7.8 0 0 0 1.792-2.248c.358-.642.627-1.33.8-2.044q.16-.678.216-1.372v-.36a1 1 0 0 1 .02-.108M32.22 160c-.024.048-.772-.356-2.076-.736q-.531-.156-1.076-.256c-.4-.088-.8-.132-1.252-.188a15 15 0 0 0-2.904 0c-.956.123-1.897.337-2.812.64-.42.156-.824.292-1.2.464a10 10 0 0 0-.996.476c-1.2.656-1.828 1.2-1.86 1.172q.196-.226.44-.4.263-.23.556-.424.375-.273.78-.5.481-.29.992-.524.586-.276 1.2-.488a14.4 14.4 0 0 1 2.888-.644c.981-.102 1.97-.102 2.952 0q.641.075 1.272.216a9 9 0 0 1 1.084.292q.443.134.868.316.327.124.636.288.27.12.508.296M31.02 110.977q-.269.224-.572.4c-.372.248-.932.576-1.636.948a28.2 28.2 0 0 1-12 3.2c-.8.032-1.448.028-1.892 0a3.7 3.7 0 0 1-.692-.06q.345-.048.692-.036c.444 0 1.088-.024 1.884-.076a31.3 31.3 0 0 0 11.916-3.2c.712-.356 1.28-.656 1.668-.876a3 3 0 0 1 .632-.3M33.184 101.999c0 .024-.424-.04-1.2-.044a10.2 10.2 0 0 0-3.164.516 10.4 10.4 0 0 0-2 .92q-.529.317-1.012.7-.512.402-.908.916c-.284.348-.48.76-.568 1.2a1.36 1.36 0 0 0 .4 1.22c.365.316.802.537 1.272.644.466.169.964.227 1.456.168a1.11 1.11 0 0 0 .8-1.044 2.6 2.6 0 0 0-.288-1.384 4.4 4.4 0 0 0-1.92-1.928 5.55 5.55 0 0 0-2.4-.652 6.7 6.7 0 0 0-2.172.32 10 10 0 0 0-2.832 1.492c-.308.228-.536.4-.692.544a1.2 1.2 0 0 1-.248.184q.096-.122.212-.224c.148-.14.368-.336.668-.58a9.5 9.5 0 0 1 2.84-1.58 6.7 6.7 0 0 1 2.228-.36 5.75 5.75 0 0 1 2.512.656 4.6 4.6 0 0 1 2.028 2.024 2.8 2.8 0 0 1 .316 1.516 1.66 1.66 0 0 1-.268.776c-.167.24-.416.411-.7.48a3.4 3.4 0 0 1-1.6-.172 3.1 3.1 0 0 1-1.4-.708 1.6 1.6 0 0 1-.444-1.44c.097-.475.31-.919.62-1.292.283-.349.61-.661.972-.928a9 9 0 0 1 1.044-.708 10 10 0 0 1 2.064-.908 9.7 9.7 0 0 1 3.2-.448q.443.012.88.08.155 0 .304.044\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M187.3 169.202c0 .056-39.512.104-88.244.104s-88.264-.064-88.264-.104 39.504-.104 88.252-.104 88.256.028 88.256.104M161.668 134.557c-.036.048-.336-.136-.672-.4s-.576-.524-.54-.568.336.136.672.4.572.524.54.568\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M170.788 120.929c.056-1.276.092-2.58-.312-3.792s-1.336-2.32-2.584-2.58c-1.424-.296-2.884.604-3.68 1.82s-1.076 2.692-1.312 4.128a145.7 145.7 0 0 0-1.784 29.972l5.828.8c2.56-10.444 3.38-19.588 3.844-30.348\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M167.084 114.512s0 .032-.028.092-.056.156-.096.264q-.137.372-.4 1.008c-.08.22-.188.456-.276.728q-.13.409-.284.884c-.104.316-.208.656-.324 1.012l-.3 1.156a50 50 0 0 0-1.128 5.772c-.316 2.192-.524 4.62-.684 7.172-.3 5.108-.344 9.744-.476 13.096a151 151 0 0 1-.184 3.968l-.076 1.08c0 .112 0 .204-.024.28a.5.5 0 0 1 0 .096.3.3 0 0 1 0-.096v-.284c0-.264.02-.624.032-1.08.04-.936.076-2.292.12-3.968.092-3.352.116-8 .4-13.108.16-2.552.376-4.988.704-7.2a48 48 0 0 1 1.172-5.78c.112-.4.216-.8.316-1.156s.236-.696.344-1.012l.3-.884c.092-.268.208-.504.292-.724l.428-.992.116-.256c.036-.044.052-.072.056-.068M167.624 114.512c.302.357.543.763.712 1.2a8.9 8.9 0 0 1 .532 3.772c-.156 3.2-.444 7.66-.828 12.56s-.8 9.336-1.156 12.536c-.172 1.6-.32 2.896-.432 3.792a50 50 0 0 1-.132 1.028l-.036.268a.3.3 0 0 1-.024.092.3.3 0 0 1 0-.096c0-.072 0-.16.02-.268.024-.252.056-.6.092-1.032.088-.916.212-2.208.368-3.796.304-3.2.708-7.64 1.092-12.54s.696-9.34.888-12.548a9.1 9.1 0 0 0-.46-3.736 7.4 7.4 0 0 0-.636-1.232M171.668 129.6a3.3 3.3 0 0 1-1.108-.288 3.3 3.3 0 0 1-1.032-.48c.383.026.757.122 1.104.284.372.097.723.261 1.036.484M172.368 123.66a7 7 0 0 1-2.188.98 7 7 0 0 1 2.188-.98M172.004 118.8a1.9 1.9 0 0 1-.868.044 1.8 1.8 0 0 1-.856-.164c.282-.081.579-.096.868-.044a1.9 1.9 0 0 1 .856.164M165.988 115.706c-.048.032-.304-.288-.568-.708a2.1 2.1 0 0 1-.4-.824c.048-.032.304.288.572.712s.444.788.396.82M164 118.636c0 .06-.372.096-.828.088s-.824-.064-.824-.124a3.4 3.4 0 0 1 1.652.036M162.572 124.504a2 2 0 0 1-.872-.24c-.46-.184-.8-.4-.8-.432.305.015.603.097.872.24.468.184.824.38.8.432M162.42 129.442c0 .056-.32.172-.74.26s-.776.116-.8.06.32-.176.74-.264.788-.116.8-.056M161.748 137.511c0 .056-.34.168-.8.248s-.8.1-.824.04.344-.164.8-.244a1.7 1.7 0 0 1 .824-.044M161.3 141.965c.024.052-.268.26-.656.464s-.728.332-.756.284.268-.26.656-.468.732-.332.756-.28M164.94 147.022c-.048.028-.304-.324-.572-.8a2.4 2.4 0 0 1-.4-.896c.052-.028.308.328.572.8.197.266.334.572.4.896M165.992 138.617c.04.044-.248.4-.64.772s-.74.664-.8.624.248-.4.64-.772.76-.664.8-.624\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M165.76 134.21c-.044.04-.308-.176-.592-.484s-.48-.588-.44-.628.308.18.592.484.48.588.44.628M166.5 128.578c.044.036-.196.372-.532.748s-.644.648-.684.608.192-.372.528-.748.624-.648.688-.608M166.9 124.484c-.044.044-.376-.216-.744-.58s-.636-.692-.596-.732.372.22.744.584.624.688.596.728M167.7 118.963c-.06.3-.187.583-.372.828-.256.424-.5.748-.552.72.063-.3.189-.582.372-.828.24-.428.488-.752.552-.72M169.184 113.838c.052.028-.096.4-.328.828s-.46.756-.512.732.096-.4.328-.828.464-.76.512-.732M170.9 116.164c.028.052-.208.216-.52.364s-.584.228-.612.176.212-.216.524-.364.572-.228.608-.176M170.932 134.556a2.3 2.3 0 0 1-1.14-.276 2.33 2.33 0 0 1-.992-.632q1.076.434 2.132.908M170.236 138.456c0 .056-.344.168-.8.256a1.7 1.7 0 0 1-.82.052c0-.056.34-.172.8-.256s.808-.108.82-.052M169.38 145.136a3.32 3.32 0 0 1-1.448-1.824q.401.425.72.912.403.425.728.912M160.008 148.19c-.04-.044.2-.308.528-.588s.628-.476.664-.432-.2.308-.528.592-.628.472-.664.428\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M157.3 133.604c-.38-1.2-1.092-2.564-2.336-2.584a2.072 2.072 0 0 0-1.748 1.172 4.33 4.33 0 0 0-.472 2.144 56 56 0 0 0 2.672 15.528h4.564a54 54 0 0 0-2.68-16.26M149.08 126.153c-.636-2.548-2.532-3.92-4.736-4.048-2 .352-2.8 2.332-3.032 4.36s.4 4.048 1.012 6a27319 27319 0 0 0 6 18.74l5.664-.62c-1.8-8.372-2.832-16.128-4.908-24.432\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M154.976 131.027q-.223.308-.4.644a4.26 4.26 0 0 0-.212 2c.088.868.188 1.908.332 3.052s.352 2.4.608 3.704c.516 2.612 1.096 4.96 1.464 6.672.188.852.328 1.548.4 2.028.036.22.068.4.096.556q.021.097.02.196a.8.8 0 0 1-.064-.188l-.132-.548-.48-2c-.4-1.7-1.008-4.044-1.524-6.664a53 53 0 0 1-.596-3.72c-.072-.576-.12-1.124-.168-1.636s-.096-.988-.12-1.428a4.14 4.14 0 0 1 .288-2.056c.117-.236.283-.445.488-.612M144.424 121.945a7.6 7.6 0 0 0-.684.916 6.5 6.5 0 0 0-.864 2.964 13.7 13.7 0 0 0 .704 4.576c.496 1.684 1.04 3.536 1.6 5.476 1.128 3.88 2.148 7.396 2.896 9.964l.856 3.024.224.828q.043.145.064.292a1.6 1.6 0 0 1-.104-.28c-.068-.208-.152-.476-.26-.8l-.92-3.008c-.764-2.564-1.804-6.072-2.956-9.944l-1.6-5.484a13.6 13.6 0 0 1-.66-4.62 6.33 6.33 0 0 1 .94-2.996c.199-.345.458-.653.764-.908M152.744 149.979a1.3 1.3 0 0 1-.128-.272c-.076-.18-.196-.444-.324-.8a33 33 0 0 1-.972-3.008 64 64 0 0 1-1.056-4.564c-.34-1.728-.688-3.636-1.068-5.636s-.832-3.88-1.34-5.56a30.5 30.5 0 0 0-1.652-4.364 23 23 0 0 0-1.524-2.752c-.196-.316-.372-.548-.48-.712a1.5 1.5 0 0 1-.156-.256q.107.108.192.232c.116.156.304.38.508.692a20 20 0 0 1 1.6 2.732 29 29 0 0 1 1.704 4.372 56 56 0 0 1 1.36 5.576c.376 2 .728 3.904 1.052 5.636s.668 3.28 1.008 4.568.664 2.316.908 3.016c.116.356.224.624.288.8q.056.145.08.3M142.424 131.524c0 .056-.292.18-.688.276s-.724.128-.736.072.296-.18.688-.276.724-.128.736-.072M141.824 127.66a3 3 0 0 1-.956.104 2.9 2.9 0 0 1-.96-.028c.297-.139.625-.201.952-.18a1.93 1.93 0 0 1 .964.104M142.464 124.128c-.04.044-.344-.156-.688-.444s-.588-.56-.552-.604.344.156.688.444.588.56.552.604M144.192 120.86c.056 0 .04.288.032.624s0 .608-.068.616-.152-.268-.14-.624.12-.628.176-.616M147.72 122.401c.048.036-.092.312-.308.624s-.432.536-.48.504.092-.312.308-.624.432-.536.48-.504M150.012 126.402c.02.056-.272.224-.656.38s-.712.24-.732.188.272-.224.652-.38.712-.26.736-.188M151.4 130.477a1.7 1.7 0 0 1-.896.4 1.73 1.73 0 0 1-.98.032c.299-.12.613-.199.932-.236.305-.106.623-.172.944-.196\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M145.02 129.314c-.056 0 0-.3.088-.632s.236-.584.288-.568 0 .3-.088.632-.232.588-.288.568M145.912 134.454c-.056-.02.06-.4.256-.848s.4-.8.444-.768-.06.4-.256.848-.392.792-.444.768M143.7 135.862c-.024.056-.38-.044-.8-.18s-.8-.26-.772-.316c.285-.039.574.002.836.12.44.136.768.324.736.376M144.98 140.053c.032.048-.208.276-.544.516s-.628.4-.66.344.208-.276.54-.516.628-.396.664-.344M145.996 144.235c0 .056-.288.176-.672.268s-.704.124-.716.068.284-.176.668-.268.708-.124.72-.068M151.512 133.969c.032.048-.228.252-.6.4s-.7.156-.712.1.284-.16.64-.296.644-.256.672-.204M152.3 140.468c-.024.052-.328-.04-.68-.204s-.62-.344-.596-.4.332.04.684.204.616.332.592.4M153.7 145.121a4.2 4.2 0 0 1-1.728-.676c.315.013.624.095.904.24.468.188.824.384.824.436M146.22 148.767c-.028-.052.34-.3.772-.64q.364-.348.8-.6c.044.04-.228.4-.676.764a1.8 1.8 0 0 1-.896.476M149.896 146.402c-.056 0-.136-.308-.28-.668s-.288-.652-.24-.684.284.216.436.608.14.744.084.744M148.924 140.8c-.036.048-.272-.068-.532-.252s-.444-.376-.4-.424.268.068.528.256.436.376.404.42M157.496 132.037c.036.048-.196.276-.516.512s-.608.4-.64.34.196-.272.516-.508.608-.38.64-.344M158.788 135.569c0 .056-.356.132-.8.084s-.8-.2-.768-.252.364 0 .8.044c.261-.001.521.041.768.124M153.236 136.362c0 .056-.324.176-.76.204s-.78-.044-.776-.1.348-.08.764-.108.76-.052.772.004M153.7 133.023c0 .056-.344.064-.716-.108s-.584-.432-.544-.472.292.132.632.284.648.236.628.296M159.268 139.362c-.032.052-.38-.112-.776-.364s-.696-.492-.664-.54.376.112.772.364.7.492.668.54\"\r\n ></path>\r\n <path fill=\"#0B89CE\" d=\"M172.82 149.277h-29.636v5.252h29.636z\"></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M145.396 153.488 149 169.184h17.664l3.944-15.696z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M172.804 154.538c0 .056-6.684.104-14.928.104s-14.932-.048-14.932-.104 6.684-.104 14.932-.104 14.928.044 14.928.104M156.324 136.479c-.052.032-.252-.204-.456-.528s-.324-.608-.272-.636.248.204.452.528.324.604.276.636M156.332 140.704c-.013-.275.04-.549.156-.8.14-.42.3-.748.352-.732s0 .376-.156.8-.296.748-.352.732M157.78 145.142c-.052.024-.272-.332-.496-.8a2.2 2.2 0 0 1-.304-.884c.052-.024.272.332.492.8.167.268.272.57.308.884M154.648 148.709c-.04-.036.136-.312.4-.612s.508-.516.552-.48-.132.312-.4.616-.508.512-.552.476M153.992 142.229c0 .056-.296.052-.636 0s-.612-.156-.6-.212.296-.052.636 0 .612.156.6.212\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m114.388 163.91 9.876 9.016s12.56-7.016 14.468-5.524l-16.78 19-15.328-13.408z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M118.5 177.653a1.04 1.04 0 0 0 .4 1.316 1 1 0 0 0 1.312-.4 1.09 1.09 0 0 0-.444-1.392c-.468-.192-1.2.068-1.316.564\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m121.952 186.4-1.492-1.412 16.648-17.672s1.116-.52 1.624.104zM124.676 172.45c.088.084-.28.588-.4 1.308s.068 1.304-.044 1.356-.524-.556-.38-1.424.756-1.336.824-1.24M127.26 170.854c.108.06-.092.6.024 1.26s.448 1.12.36 1.2-.66-.316-.8-1.14.324-1.396.416-1.32M130.64 171.828c-.052.1-.632-.18-.928-.864s-.116-1.3 0-1.272.144.536.4 1.096.6.94.528 1.04\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.312 173.572c-.724-.6-1.7-.776-2.632-.932.708-5.048-2.8-9.656-6.476-13.2-4.592-4.46-9.896-8.4-16.048-10.192-5.556-1.6-11.456-1.324-17.232-1.032l-23.688 1.2c-8.08 2.828-14.896 11.2-16.308 19.652a2.775 2.775 0 0 0-4 .44 2.957 2.957 0 0 0 .868 4.02 3.16 3.16 0 0 0 4.088-.844 51.3 51.3 0 0 0 36.068 5.568c3.804-.828 7.512-2.092 11.336-2.824a83 83 0 0 1 8.588-1.028l16.272-1.384 6.36 3.032c1.06.504 2.5.94 3.26.044.608-.74.272-1.916-.456-2.52\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M83.648 170.713a1 1 0 0 1-.152.024l-.46.056-1.76.184c-.76.096-1.692.232-2.772.4s-2.304.376-3.652.652c-2.7.516-5.888 1.248-9.436 2.048s-7.46 1.652-11.628 2.2c-3.92.531-7.888.597-11.824.196a53.6 53.6 0 0 1-9.44-2.072 87 87 0 0 1-6.144-2.168 88 88 0 0 1-1.644-.66l-.424-.18a.7.7 0 0 1-.14-.068q.076.016.148.048l.432.16 1.656.624c1.444.536 3.532 1.304 6.16 2.1a54 54 0 0 0 9.42 2 50.5 50.5 0 0 0 11.776-.212c4.152-.544 8.06-1.396 11.6-2.176s6.748-1.512 9.452-2c1.352-.268 2.584-.444 3.66-.62s2-.268 2.8-.352l1.764-.148.46-.032a.7.7 0 0 1 .148-.004\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M43.104 179.152c-.02 0-.136-.124-.224-.4a1.866 1.866 0 0 1 .628-2.02c.228-.176.4-.224.4-.204s-.128.124-.316.312a2.09 2.09 0 0 0-.58 1.876c.056.264.12.424.092.436M41.08 178.071a1.14 1.14 0 0 1 .036-1.048c.244-.572.728-.8.744-.74s-.344.32-.556.824q-.15.473-.224.964M34.28 161.434c.04 0-.344.712-.736 1.92a10 10 0 0 0-.284.996c-.1.36-.164.756-.24 1.168a14.6 14.6 0 0 0 .156 5.412c.1.4.188.8.308 1.152s.224.684.336.98c.468 1.2.888 1.852.848 1.876a3 3 0 0 1-.304-.468 5 5 0 0 1-.312-.572c-.112-.228-.252-.484-.368-.8a10 10 0 0 1-.364-.98c-.132-.356-.224-.748-.332-1.16a13.9 13.9 0 0 1-.156-5.488c.084-.4.152-.8.26-1.176s.204-.7.312-1.004.22-.568.316-.8q.124-.304.284-.588.115-.248.276-.468M43.376 160.274a7 7 0 0 0-1.816.856c-.52.424-.978.921-1.356 1.476.035-.202.116-.394.236-.56a3.83 3.83 0 0 1 2.328-1.712c.195-.068.404-.088.608-.06M44.548 170.137a1.6 1.6 0 0 1-.176-.364 3 3 0 0 1-.16-.448 6 6 0 0 1-.168-.608 8.3 8.3 0 0 1-.2-1.628 9.4 9.4 0 0 1 .184-2 9.5 9.5 0 0 1 .636-1.908q.35-.746.84-1.408.187-.255.4-.488.153-.183.328-.344c.188-.18.296-.276.308-.264s-.4.424-.912 1.18a9 9 0 0 0-.8 1.404 9.2 9.2 0 0 0-.648 5.428c.184.912.408 1.432.368 1.448M20.92 168.575c.056-.02.272.504.7 1.04s.888.872.852.924a2.75 2.75 0 0 1-1.552-1.964M75.952 174.4c0-.032.168-.096.4-.288.288-.243.477-.583.532-.956a1.58 1.58 0 0 0-.272-1.06c-.164-.244-.324-.352-.304-.38s.204.048.4.288a1.54 1.54 0 0 1 .364 1.176 1.51 1.51 0 0 1-.652 1.048c-.26.172-.464.2-.468.172M79.62 173.71a6 6 0 0 0-.168-1.128 6 6 0 0 0-.552-.98 1.41 1.41 0 0 1 .752.932 1.38 1.38 0 0 1-.032 1.176M72.26 155.852q.238.25.432.536.251.316.456.664.296.446.536.924.139.264.284.552c.096.192.176.4.268.62q.29.686.508 1.4a16.6 16.6 0 0 1 .612 3.356 16.4 16.4 0 0 1-.156 3.404q-.117.738-.312 1.46c-.064.224-.112.444-.18.648s-.14.4-.208.588q-.174.504-.4.988a6 6 0 0 1-.364.72q-.151.31-.356.588c-.044-.024.476-.86.988-2.344q.096-.28.192-.588c.068-.204.112-.424.168-.644.128-.444.2-.932.292-1.444.155-1.115.2-2.241.136-3.364a17 17 0 0 0-.588-3.312c-.16-.492-.296-.968-.484-1.392-.088-.212-.16-.424-.252-.616l-.268-.552c-.72-1.404-1.348-2.164-1.304-2.192\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.072 172.002c0 .032-.128.124-.312.316a2.16 2.16 0 0 0-.544 1.908c.056.26.132.4.1.432s-.144-.12-.244-.4a1.87 1.87 0 0 1 0-1.12c.1-.367.311-.694.604-.936.212-.18.388-.224.396-.2M32.26 151.355s-.048.064-.148.172l-.46.472a12 12 0 0 0-.712.728c-.264.296-.588.616-.896 1.008-.156.196-.324.4-.496.604s-.332.448-.508.684c-.356.464-.688 1-1.044 1.552a24.1 24.1 0 0 0-3.128 7.948c-.116.652-.236 1.268-.292 1.852-.032.292-.076.572-.092.844l-.048.8c-.044.496-.028.948-.032 1.344q-.015.512.024 1.02c0 .26 0 .472.028.644q.01.115 0 .228a1 1 0 0 1-.04-.224c0-.168-.04-.4-.064-.644a9 9 0 0 1-.06-1.02c0-.4-.032-.852 0-1.356 0-.252.024-.516.036-.8s.052-.556.08-.852c.048-.592.164-1.2.276-1.868a23.4 23.4 0 0 1 3.152-8c.364-.556.704-1.092 1.072-1.556.18-.232.34-.468.516-.68l.516-.6c.316-.4.644-.704.92-.992a10 10 0 0 1 .74-.708l.5-.46q.074-.077.16-.14M46.552 148.996q-.126.09-.264.16c-.172.104-.444.228-.764.436a16 16 0 0 0-2.584 1.94 18.2 18.2 0 0 0-3.044 3.668 21 21 0 0 0-2.376 5.348 29.1 29.1 0 0 0-.8 10.596c.132 1.364.3 2.46.428 3.2l.144.872q.034.15.04.304a1.5 1.5 0 0 1-.08-.296c-.044-.2-.116-.488-.184-.864a38 38 0 0 1-.492-3.2 32 32 0 0 1-.176-4.824c.074-1.976.377-3.938.904-5.844a20.5 20.5 0 0 1 2.4-5.392 17.6 17.6 0 0 1 3.112-3.692 14.6 14.6 0 0 1 2.64-1.904c.328-.196.608-.308.8-.4a2 2 0 0 1 .296-.108M32.856 174.509c.024.024-.112.164-.264.424a2.5 2.5 0 0 0-.328 1.112c-.017.393.055.784.212 1.144.124.272.248.424.22.448s-.18-.104-.348-.38a2.2 2.2 0 0 1-.292-1.22c.014-.43.153-.847.4-1.2.212-.244.388-.344.4-.328M49.14 179.299c0 .024-.2.032-.484-.1a1.573 1.573 0 0 1-.764-2.08c.132-.288.288-.4.308-.4q-.075.226-.172.444a1.72 1.72 0 0 0 0 1.072c.133.343.375.634.688.828.252.16.432.204.424.236M56.54 148.094c.056 0-.26 6.224-.712 13.896s-.86 13.884-.916 13.884.26-6.224.708-13.896.88-13.888.92-13.884M64.632 176.352c-.06 0-.088-.525-.312-1.117s-.536-1.011-.488-1.047c.334.236.575.581.684.976.177.37.218.79.116 1.188M66.136 148.836s.08.048.216.156.336.26.576.484q1.043.926 1.932 2a19.49 19.49 0 0 1 3.976 17.252c-.221.9-.51 1.783-.864 2.64-.12.304-.236.532-.308.688a1 1 0 0 1-.124.232q.03-.128.084-.248c.06-.164.164-.4.272-.7q.489-1.296.8-2.644a19.86 19.86 0 0 0-3.944-17.124 21 21 0 0 0-1.872-2.028c-.232-.232-.428-.4-.552-.512a1.6 1.6 0 0 1-.192-.196M84.1 173.731a15 15 0 0 0-.592-1.6 14 14 0 0 0-.948-1.404 3.68 3.68 0 0 1 1.54 2.992zM92.1 168.801s.236.092.5.4a2.84 2.84 0 0 1 .496 2.896c-.152.364-.324.544-.344.528s.096-.22.204-.576c.14-.464.17-.955.088-1.432a3.2 3.2 0 0 0-.556-1.324c-.216-.3-.388-.452-.388-.492M87.065 154.602q.131.253.207.528c.128.344.284.848.456 1.48a27.8 27.8 0 0 1 .8 10.14 21 21 0 0 1-.216 1.532 2.7 2.7 0 0 1-.127.556 3.4 3.4 0 0 1 .043-.564c.049-.364.1-.888.157-1.536a31.8 31.8 0 0 0-.8-10.092 23 23 0 0 0-.4-1.492 3.4 3.4 0 0 1-.12-.552\"\r\n ></path>\r\n <path\r\n fill=\"#000\"\r\n d=\"M88.16 152.861c-15.224-10.488-39.02-10.06-55.26-1.904-.368 4.872 2.996 9.776 7.676 11.18 3.6 1.076 7.744.308 10.9 2.324 1.964 1.252 3.316 3.468 5.532 4.184 2.152.696 4.512-.256 6.34-1.6s3.368-3.06 5.308-4.232c4.684-2.844 10.604-1.948 16.076-1.6 2.68.176 6.14-.36 6.748-2.98.5-2.176-1.472-4.1-3.32-5.372\"\r\n opacity=\"0.3\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m86.952 112.723 2.4 10 4.748 4.632-7.744 1.6s-5.476-.648-6.464-2-2.4-12.108-2.4-12.108z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m69.064 84.034 8.032 2.844.312 38s-11.456 10-12.148 9.912-28.456 8.712-29.2 10.344c0 0-3.432-.528-3.432-2.564 0-3.344 3.2-5.24 3.2-5.24.504-3.756 3.696-8.132 3.696-8.352 0-1.56-1.472-11.352-1.472-11.352S37.9 93.07 42.808 87.894c6.092-6.44 26.256-3.86 26.256-3.86\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M89.34 112.034s-6.964-25.06-12.888-25.272l.652 29.952s10.596-1.824 12.236-4.68\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m102.9 114.213 1.532-2.228a.7.7 0 0 1 .176-.192.55.55 0 0 1 .32-.068 4.4 4.4 0 0 1 1.972.676l1.628.86a.4.4 0 0 1 .128.088.32.32 0 0 1-.076.444.9.9 0 0 1-.472.148c-1.632.204-3.276.34-4.92.4-.108 0-.248 0-.28-.116\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m112.72 114.332-10.888 10.964-23.528 5.356L84.772 118a3.23 3.23 0 0 1 2.436-1.736c4.776-.644 18.54-2.516 24.66-3.532a.96.96 0 0 1 1.002.493.96.96 0 0 1-.15 1.107\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M112.72 114.332s.048-.056.12-.18a.9.9 0 0 0 .108-.604.94.94 0 0 0-.608-.748 1.1 1.1 0 0 0-.636 0l-.744.124c-2.104.352-5.152.8-8.92 1.364s-8.26 1.2-13.252 1.864c-.616.092-1.268.156-1.88.276a3.08 3.08 0 0 0-1.6.96c-.213.24-.39.51-.528.8l-.456.892-.924 1.812c-1.248 2.44-2.54 4.968-3.86 7.556l-1.148 2.24-.116-.148 23.532-5.332-.04.02 7.98-8c.944-.94 1.68-1.672 2.192-2.176l.56-.532c.132-.128.204-.188.204-.188s-.06.072-.184.204l-.56.58-2.16 2.208-7.928 8.028h-.024l-23.52 5.376-.228.072.1-.2q.566-1.105 1.144-2.24l3.876-7.56c.312-.608.624-1.2.928-1.812l.46-.892a3.316 3.316 0 0 1 2.256-1.872c.652-.124 1.272-.18 1.9-.272l13.256-1.82c3.772-.532 6.82-.972 8.924-1.3l.748-.116c.22-.06.452-.053.668.02a.98.98 0 0 1 .628.8.9.9 0 0 1-.132.62.7.7 0 0 1-.136.176\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M95.024 121.883c.068.496.8.8 1.6.704s1.44-.6 1.376-1.096-.8-.8-1.6-.704-1.44.596-1.376 1.096\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M96.32 122.622c-.692 0-1.248-.3-1.304-.736a.8.8 0 0 1 .356-.704c.301-.222.656-.36 1.028-.4.37-.057.749-.013 1.096.128a.694.694 0 0 1 .172 1.288 2.13 2.13 0 0 1-1.028.4 2 2 0 0 1-.32.024m.4-1.844q-.162 0-.324.02a2.07 2.07 0 0 0-1.016.4.76.76 0 0 0-.352.684c.064.492.8.8 1.6.696.37-.039.722-.178 1.02-.4a.68.68 0 0 0 .345-.686.68.68 0 0 0-.513-.57 1.9 1.9 0 0 0-.752-.144z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M85.336 119.973q.026-.147.088-.284c.072-.184.18-.452.344-.8.192-.415.449-.797.76-1.132.4-.4 1.04-.52 1.684-.628 2.616-.448 6.228-1.076 10.236-1.68l2.92-.448c.948-.12 1.864-.212 2.736-.312l4.636-.508c1.312-.148 2.36-.4 3.096-.508.364-.06.652-.096.848-.116q.149-.012.296 0a1.5 1.5 0 0 1-.292.056 30 30 0 0 0-.84.156c-.728.132-1.768.4-3.092.572l-4.628.552c-.872.104-1.784.204-2.732.324l-2.92.456c-4 .604-7.6 1.2-10.24 1.6a3.06 3.06 0 0 0-1.632.568 4.5 4.5 0 0 0-.764 1.084 11 11 0 0 0-.376.768 2 2 0 0 1-.128.28\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.332 121.495s4.336-2.684 5.736-3.244 4-.28 4.6-.84l2-1.852s1.12 1.176.4 2.244-3.476 2.464-3.476 2.464l9.644-.64s.728.528.336 1.144c0 0 .68.732.116 1.46s-7.42 6.54-9.572 6.716-8.38-.968-8.38-.968zM51.7 117.422l.8 8.552s17.808-3.288 20.8-4.48l1.412 6.484s-23.728 11.148-29.092 10.8-7.028-20.776-7.028-20.776z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M82.377 122.402q.779.034 1.552.148a11 11 0 0 0 3.707-.132 16 16 0 0 0 1.937-.684l1.58-.612q.668-.26 1.067-.4.194-.082.4-.12-.172.124-.371.196c-.245.112-.605.268-1.048.456l-1.56.656q-.957.421-1.96.708a10.1 10.1 0 0 1-3.776.072c-.477-.064-.86-.132-1.124-.188a1.4 1.4 0 0 1-.405-.1M83.452 125.547c0-.04.604.032 1.568 0a5.3 5.3 0 0 0 1.652-.292 10.6 10.6 0 0 0 1.856-.912c.636-.376 1.24-.756 1.82-1.048s1.1-.532 1.516-.776c.45-.264.86-.588 1.22-.964a1.1 1.1 0 0 1-.244.352 4.4 4.4 0 0 1-.9.736c-.4.268-.94.524-1.504.82s-1.16.68-1.804 1.06a9.6 9.6 0 0 1-1.9.912 5 5 0 0 1-1.708.26 9 9 0 0 1-1.156-.088 1.8 1.8 0 0 1-.416-.06M79.204 122.176c-.024 0-.112-.112-.148-.348a1.7 1.7 0 0 1 .14-.896c.128-.273.3-.522.512-.736.156-.16.272-.244.292-.224s-.336.456-.612 1.048a2 2 0 0 0-.184.8c-.004.212.028.348 0 .356M79.88 124.867c0 .024-.104 0-.212-.084a.91.91 0 0 1-.264-1c.052-.128.12-.188.14-.176s-.06.32.036.664.328.532.3.596\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M74.744 127.978h.108l.316.048 1.2.188c1.064.156 2.604.4 4.544.584.484.036.996.08 1.524.084h.4q.204.007.4-.04.415-.083.8-.256a20 20 0 0 0 3.148-1.932 61 61 0 0 0 3.272-2.544c.552-.468 1.12-.944 1.668-1.452.26-.268.58-.5.656-.84a1.12 1.12 0 0 0-.284-.976l-.052-.06.04-.064a.58.58 0 0 0 .06-.528 1.16 1.16 0 0 0-.368-.48l.064.02-3.64.24-6 .4-.472.032.4-.224a16.4 16.4 0 0 0 2.916-1.872q.312-.26.548-.592a1.24 1.24 0 0 0 .208-.724 2.3 2.3 0 0 0-.608-1.364h.128l-1.14 1.04-.552.5c-.17.185-.37.34-.592.46-.453.146-.924.23-1.4.248-.452.04-.892.068-1.316.108a8.6 8.6 0 0 0-1.2.196 5.3 5.3 0 0 0-1.06.4c-.66.332-1.256.664-1.792.964a142 142 0 0 0-2.472 1.432l-.652.38-.168.096-.06.028.052-.044.16-.104.636-.4c.564-.348 1.388-.856 2.452-1.476a41 41 0 0 1 1.784-.984 5.2 5.2 0 0 1 1.084-.436 8 8 0 0 1 1.232-.208c.428-.048.868-.076 1.32-.116.457-.022.91-.106 1.344-.248.205-.112.389-.258.544-.432l.548-.504 1.136-1.044.068-.064.06.068c.384.406.618.931.664 1.488.008.295-.074.585-.236.832q-.247.357-.58.636a16.4 16.4 0 0 1-2.952 1.904l-.052-.192 6-.4 3.64-.24h.04l.028.02c.198.148.351.347.444.576a.8.8 0 0 1-.084.708v-.124a1.31 1.31 0 0 1 .336 1.164 1.17 1.17 0 0 1-.312.532c-.132.148-.272.268-.4.4-.556.516-1.124.992-1.68 1.456a59 59 0 0 1-3.292 2.54 20 20 0 0 1-3.2 1.932q-.398.182-.828.264a2 2 0 0 1-.4.04h-.4c-.54 0-1.048-.052-1.536-.096-1.944-.2-3.484-.468-4.544-.644l-1.2-.224-.312-.064zM109.904 117.172c-2.42.928-5.392 1.856-7.812 2.608a1.9 1.9 0 0 0-.876.452.665.665 0 0 0-.056.896.97.97 0 0 0 .756.156l1.78-.124a13 13 0 0 0-3.804 1.824c-.308.216-.636.504-.628.88a.83.83 0 0 0 .676.712c.349.053.706.028 1.044-.072q3.3-.732 6.568-1.628a1.94 1.94 0 0 0 1.436-1.12l1.012-1.6a2.7 2.7 0 0 0 .484-1.116 2.28 2.28 0 0 0-.58-1.852\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m52.388 104.126-7.2-17.364-.164-.528c-.632.38-6.6 4.096-7.82 10.4s-.8 21.312-.8 21.312l16.12-.52z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M36.84 99a.4.4 0 0 1 0 .096c0 .072 0 .16-.032.272-.028.24-.084.596-.132 1.056a62 62 0 0 0-.288 3.96c-.14 3.376-.136 8.124.112 13.552l-.1-.096c1.756 0 3.6 0 5.516-.036 3.932-.088 7.648-.3 10.88-.56l-.088.088c.188-4.032-.204-7.42-.336-9.804a75 75 0 0 1-.132-2.776v-.736a2 2 0 0 1 0-.252q.02.125.024.252 0 .271.036.732c.036.644.092 1.6.184 2.772.16 2.376.58 5.768.4 9.82v.084h-.08c-3.236.276-6.952.496-10.892.584-1.908.044-3.764.052-5.524.032h-.096v-.096c-.24-5.44-.212-10.188-.036-13.572.084-1.692.228-3.036.344-3.96.06-.46.128-.8.168-1.052 0-.112.036-.2.048-.272A.3.3 0 0 1 36.84 99M45.996 86.691q.209.04.4.128.23.084.448.196.293.135.568.3.732.424 1.376.968c1.053.895 1.907 2 2.508 3.244a9.4 9.4 0 0 1 .736 2.204q.056.238.076.48.038.199.028.4c-.04 0-.112-.584-.4-1.484a10.6 10.6 0 0 0-.62-1.532q-.463-.9-1.076-1.708a11 11 0 0 0-1.384-1.472 10 10 0 0 0-1.328-.988c-.8-.484-1.348-.7-1.332-.736M75.912 95.457s.052.06.124.192.188.32.316.572q.548 1.074.972 2.2a28 28 0 0 1 1.736 7.728 19.5 19.5 0 0 1-.16 4.372 31 31 0 0 1-.84 3.48 50 50 0 0 0-.596 2.324l-.148.636a1 1 0 0 1-.064.22.8.8 0 0 1 .024-.228c.024-.148.052-.368.108-.644.1-.56.28-1.364.536-2.344q.48-1.713.78-3.464c.206-1.433.257-2.884.152-4.328a29.6 29.6 0 0 0-1.664-7.692 28 28 0 0 0-.908-2.216c-.112-.24-.208-.436-.28-.588a1 1 0 0 1-.088-.22M70.42 106q.062.26.068.528c0 .172.032.38.032.628v.828a13 13 0 0 1-.288 2.148 15.3 15.3 0 0 1-.8 2.524q-.539 1.217-1.284 2.32-.616.895-1.372 1.676a8 8 0 0 1-.596.58 6 6 0 0 1-.476.4q-.201.178-.436.312c-.028-.032.58-.496 1.4-1.396q.721-.793 1.32-1.684.72-1.097 1.252-2.296c.333-.805.6-1.636.8-2.484q.244-1.044.328-2.112c.084-1.2.008-1.972.052-1.972\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M52.436 117.379s-.068-.04-.184-.136l-.5-.42a69 69 0 0 1-1.804-1.6 202 202 0 0 1-5.784-5.42 193 193 0 0 1-5.56-5.648c-.696-.74-1.252-1.34-1.632-1.764l-.432-.488a1 1 0 0 1-.14-.18q.094.066.172.152l.46.46 1.68 1.72a333 333 0 0 0 5.6 5.6 341 341 0 0 0 5.736 5.456l1.76 1.636.472.448q.088.083.156.184M78.308 88.145c.04.04-5.7 5.404-12.8 11.972s-12.932 11.884-12.972 11.82 5.696-5.4 12.8-11.972S78.272 88.1 78.308 88.145M89.028 110.402a2 2 0 0 1-.428-.168c-.272-.12-.66-.3-1.136-.532a74 74 0 0 1-3.672-1.912 78 78 0 0 1-3.568-2.1c-.448-.284-.8-.516-1.056-.684a1.8 1.8 0 0 1-.368-.276q.211.083.4.208l1.088.624a190 190 0 0 0 7.236 4.008l1.108.592q.214.095.396.24\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M57.5 47.845c-1.556-.988-1.932-3.276-1.088-4.912s2.628-2.632 4.448-2.928a8.48 8.48 0 0 1 7.304 2.4c1 1.036 1.816 2.4 3.176 2.856 1.2.4 2.52.04 3.776.204 1.68.216 3.124 1.412 4 2.876s1.22 3.164 1.42 4.852c.18 1.548.3 3.244 1.376 4.372s2.7 1.336 4 2.12c2.452 1.472 3.244 5.124 1.628 7.48-.516.752-1.256 1.44-1.316 2.352-.052.828.484 1.568.736 2.36.644 2.044-1.028 4.468-3.164 4.592-1.08.064-2.236-.36-3.2.124s-1.32 1.64-1.936 2.52a4.62 4.62 0 0 1-5.636 1.456c-.8-.4-1.544-1.032-2.428-.972s-1.572.8-2.44.976c-1.132.22-2.212-.616-2.884-1.552s-1.144-2.044-2-2.8c-1.132-1.004-2.72-1.252-4.152-1.748a11.7 11.7 0 0 1-6.608-16.4\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.948 68.175a3.2 3.2 0 0 1 1.264-.832h-.096q.132-.033.268-.048a1.26 1.26 0 0 1 .988.124c.55.196 1.007.594 1.276 1.112a2.76 2.76 0 0 1-.328 2.844 2.108 2.108 0 0 1-3.872-.724 2.62 2.62 0 0 1 .5-2.476\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M75.392 56.965c-.4-4.38-3.46-9.684-7.824-9.1l-13.56 3.84A2.58 2.58 0 0 0 51.78 54.4l1.472 29.524 14.964 10.724c-.044-2.66.964-14.764.964-14.74s5.6-1.088 6.536-8.44c.476-3.676.124-9.636-.324-14.504\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M74.692 63.2a.936.936 0 0 1-.88.972.897.897 0 0 1-.992-.8.935.935 0 0 1 .88-.972.896.896 0 0 1 .992.8M74.188 60.105c-.116.128-.84-.38-1.848-.348s-1.736.556-1.852.436c-.052-.052.06-.276.376-.52.427-.317.941-.493 1.472-.504a2.48 2.48 0 0 1 1.476.432c.32.228.432.448.376.504M64.972 63.2a.936.936 0 0 1-.876.972.897.897 0 0 1-.992-.8.936.936 0 0 1 .876-.972.896.896 0 0 1 .992.8M64.268 60.578c-.116.124-.84-.38-1.852-.348s-1.736.556-1.848.436c-.056-.056.056-.28.372-.524.43-.313.945-.488 1.476-.5a2.46 2.46 0 0 1 1.476.432c.316.228.428.448.376.504M68.144 67.96c0-.057.616-.185 1.632-.345.256-.032.5-.092.536-.268a1.3 1.3 0 0 0-.192-.76q-.4-.924-.82-1.94c-1.136-2.768-1.968-5.044-1.856-5.088s1.124 2.16 2.264 4.924c.272.684.536 1.332.8 1.956.173.306.23.663.164 1.008a.64.64 0 0 1-.4.4q-.215.066-.44.076c-1.048.076-1.684.076-1.688.036\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M69.18 79.89a18.6 18.6 0 0 1-9.88-2.335s2.52 4.96 9.824 4.068zM68.064 70.365a2.5 2.5 0 0 0-2.08-1.028 1.63 1.63 0 0 0-1.308.764 1.57 1.57 0 0 0 .072 1.628 1.545 1.545 0 0 0 1.656.544 3.65 3.65 0 0 0 1.46-.96c.132-.109.237-.246.308-.4a.51.51 0 0 0-.052-.512\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M65.192 68.746c.164 0 .196 1.08 1.156 1.832s2.124.596 2.136.752c0 .068-.252.22-.744.248a2.75 2.75 0 0 1-1.784-.568 2.4 2.4 0 0 1-.9-1.536c-.056-.46.06-.732.136-.728M64.596 56.402c-.092.28-1.104.176-2.288.352s-2.128.528-2.292.288c-.072-.116.084-.4.464-.656a4 4 0 0 1 3.488-.488c.44.168.664.376.628.504M73.732 56.64c-.172.232-.872 0-1.708.028s-1.544.196-1.712-.036c-.076-.116.032-.348.332-.576a2.49 2.49 0 0 1 2.756 0c.3.236.408.468.332.584\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M80.324 55.428a5.04 5.04 0 0 0-1.928-2.772 17 17 0 0 1-1.628-.948c-1.06-.852-1.304-2.336-1.956-3.528a5.54 5.54 0 0 0-4.212-2.8c-1.448-.148-2.944.288-4.356-.068-1.044-.264-1.956-.94-3.016-1.144-2.06-.4-3.976 1.088-5.472 2.56 0 1.476 1.172 2.464 2.3 3.412a5.13 5.13 0 0 0 4.144 1.092c1.128-.204 2.36-.776 3.336-.176s1.068 2.176 1.976 2.968c1.3 1.128 3.368.068 5.016.556 1.272.38 2.068 1.6 2.916 2.62s2.112 2 3.388 1.62a15 15 0 0 0-.508-3.392\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M64.848 49.202c-.924-.268-2.8-.864-3.308-1.664-1.076-1.744-2.976-2.932-4.916-2.824a4.66 4.66 0 0 0-4.196 3.688 6.7 6.7 0 0 0-5.76 3.708 7 7 0 0 0-.368.86 5.1 5.1 0 0 0-.34 4.28c.32.836.864 1.764.436 2.548s-1.544.824-2.4 1.12a3.39 3.39 0 0 0-2.132 3.78c.12.556.4 1.112.268 1.668s-.612.988-.996 1.44a4.218 4.218 0 0 0 2.472 6.86c.66.116 1.372.092 1.94.44.652.4.936 1.2 1.4 1.8a3.64 3.64 0 0 0 3.936 1.232c.284-.095.554-.23.8-.4.44.608 1.132 1.024 2.312 1.024l-.296-15.44a1.27 1.27 0 0 0 .932.736c2.476.56 2.84-4.544 2.288-5.928a14.4 14.4 0 0 0 2.484-2.612c.684-1.012 1.284-3.764 1.14-5.008.908.052 4.712-1.2 4.304-1.308\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M54.396 64.577c-.076-1.568-2-1.904-3.356-1.116-.748.432-1.316 1.296-1.248 2.964.184 4.44 4.6 3.34 4.604 3.2s.104-3.224 0-5.048\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M52.972 68c-.02 0-.076.06-.204.123a.8.8 0 0 1-.58.036c-.476-.152-.9-.88-.956-1.68-.026-.38.033-.76.172-1.116a.9.9 0 0 1 .556-.62.4.4 0 0 1 .468.196c.064.12.04.208.064.216s.092-.076.048-.26a.52.52 0 0 0-.188-.272.6.6 0 0 0-.432-.096 1.1 1.1 0 0 0-.8.724c-.172.393-.246.82-.216 1.248.064.892.56 1.712 1.2 1.872a.83.83 0 0 0 .704-.148c.16-.108.18-.224.164-.224\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M58.736 48c-.346.18-.649.432-.888.74-.436.604-.604 1.764-.324 3.072l.024.112-.112.028a4.3 4.3 0 0 0-2.86 2.52c-.134.345-.21.71-.228 1.08q.014.596.14 1.176.13.627.168 1.264c.03.463-.094.922-.352 1.308-.552.84-1.44 1.256-2.204 1.656a7.5 7.5 0 0 0-2.06 1.348 5.56 5.56 0 0 0-1.66 3.72c-.032.949.17 1.891.588 2.744.292.608.54.896.516.916a1.1 1.1 0 0 1-.188-.2 4.6 4.6 0 0 1-.436-.684 5.6 5.6 0 0 1-.7-2.8 5.7 5.7 0 0 1 1.676-3.92 7.6 7.6 0 0 1 2.124-1.416c.764-.4 1.6-.8 2.08-1.556.492-.672.272-1.552.144-2.348a6.6 6.6 0 0 1-.136-1.232c.016-.412.104-.818.26-1.2a4.5 4.5 0 0 1 3.076-2.64l-.088.14c-.26-1.368-.052-2.568.448-3.2.184-.24.423-.434.696-.564q.144-.053.296-.064M51.3 69.671c.348-.375.782-.66 1.264-.832h-.1q.134-.032.272-.048a1.26 1.26 0 0 1 .988.124A2.32 2.32 0 0 1 55 70.023a2.76 2.76 0 0 1-.324 2.848 2.112 2.112 0 0 1-3.876-.724 2.63 2.63 0 0 1 .5-2.476M74.229 66.198c.835-.096 1.871-.264 2.18-.56.46-.432.935-2.044 1.343-3.564.053-.196.085-.328.1-.364l-.32-.124a4 4 0 0 0-.115.4c-.216.8-.8 2.984-1.249 3.416-.536.504-5 .764-5.416.476-.255-.208-.86-2.148-1.2-3.46l-.032-.12-1.775-.048-.044.112c-.348.884-1.428 3.284-2.208 3.732-.98.556-4.8.288-5.076-.092s-.909-2.592-1.297-4.032l-.031-.128-5.42.22v.328l5.144-.208c.195.716.98 3.564 1.316 4 .46.612 4.544.744 5.532.18.987-.564 2.072-3.2 2.311-3.788l1.269.032c.2.744.88 3.2 1.291 3.512.413.312 2.62.152 2.873.132.251-.02.504-.02.823-.052\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m67.632 62.83.348-.568c-2.344-1.288-6.52-1.824-9.172-.44l.324.576c2.364-1.232 6.304-.772 8.5.432M77.636 62.044l.26-.608c-2.844-1.08-6.512-.728-8.72.84l.4.523c2.004-1.416 5.464-1.74 8.06-.755\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m99.152 165.976-4.84 12s10.56 10.28 9.732 12.612l-23.78-10.12 8.036-19.152z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M87.596 174.311a1.06 1.06 0 0 0-1.144.824 1.02 1.02 0 0 0 .8 1.14 1.105 1.105 0 0 0 1.2-.876c.032-.52-.452-1.14-.968-1.096\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m80.264 180.478.888-1.9 22.468 10.4s.86.912.424 1.6zM94.948 178.512c-.052.116-.656-.08-1.388.052s-1.24.488-1.328.4.372-.688 1.256-.832 1.532.268 1.46.38M97.004 180.604c-.024.124-.608.108-1.2.432s-.94.8-1.052.74.092-.744.848-1.132 1.448-.152 1.404-.04M97.148 184.195c-.116-.02-.028-.668.54-1.176s1.22-.532 1.228-.4-.476.316-.936.74-.712.872-.832.836M79.82 130.581s26.032-6.64 28.864-6.464 11.952 1.86 8.4 12.484-19.48 37.632-19.48 37.632l-13.4-5.636 8-19.424s-16.76 5.04-23.656 5.444-12.56-9.34-12.56-9.34z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.044 134q.38-.453.856-.8a12.2 12.2 0 0 1 2.448-1.524c.874-.409 1.79-.719 2.732-.924.716-.164 1.124-.348 1.14-.324a3.2 3.2 0 0 1-1.1.468 16 16 0 0 0-2.684.968c-.859.407-1.678.893-2.448 1.452-.58.428-.924.724-.944.684\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M97.036 142.555q.044-.209.14-.4a35.2 35.2 0 0 1 2.2-4.26 36 36 0 0 1 2.792-3.896q.12-.168.28-.3a1.4 1.4 0 0 1-.216.348c-.176.256-.4.556-.64.912-.54.768-1.292 1.824-2.04 3.044s-1.348 2.372-1.784 3.2l-.52.984a1.4 1.4 0 0 1-.212.368\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M71.796 128.556c1.056-.428 4.324-1.524 5.464-1.58 1.772-.092 4.332 0 6 1.12 2.752 1.836 37.948 38.984 37.948 38.984l-9.876 12.14s-18.116-13.136-22.964-18.376-10.348-13.492-10.348-13.492-6.568 6.944-12.68 9.976c-3.804 1.888-13.116 4-21.128 3.296a12.232 12.232 0 0 1-10.678-8.706 12.2 12.2 0 0 1-.434-4.826v-.136q.276-1.79.748-3.54z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m64.632 157.65.244-.16.728-.456c.64-.4 1.6-.996 2.8-1.796s2.684-1.812 4.332-3.088a36.2 36.2 0 0 0 5.224-4.84l.068-.076.04.096a27 27 0 0 0 2.2 3.86c.884 1.288 1.892 2.576 2.992 3.88s2.312 2.596 3.6 3.908a112 112 0 0 0 4.104 3.956c2.888 2.648 6.06 5.336 9.464 8.036s7.028 5.432 10.872 8.108h-.136l9.5-11.392.524-.628v.144c-7.412-7.724-14.464-15.076-20.88-21.756l-9.136-9.444c-1.44-1.468-2.828-2.892-4.184-4.236a100 100 0 0 0-2.02-1.94 15 15 0 0 0-2.052-1.704 9.8 9.8 0 0 0-3.532-1.2 7 7 0 0 0-1.2.024c-1.468.185-2.918.5-4.332.94-2.656.8-4.896 1.64-6.716 2.348s-3.2 1.3-4.164 1.7l-1.06.468c-.24.104-.368.152-.368.152l.36-.172 1.068-.48c.94-.4 2.336-1.012 4.152-1.736a89 89 0 0 1 6.712-2.4 25 25 0 0 1 4.352-.956q.6-.068 1.2-.032.62.069 1.22.24c.849.183 1.66.508 2.4.96.741.51 1.436 1.084 2.076 1.716a100 100 0 0 1 2.032 1.94c1.36 1.34 2.748 2.76 4.192 4.228l9.156 9.432 20.892 21.744.064.064-.06.072-.524.628c-3.252 3.904-6.436 7.716-9.504 11.392l-.06.072-.076-.052a218 218 0 0 1-10.88-8.124c-3.404-2.704-6.576-5.4-9.464-8.056-1.444-1.332-2.8-2.66-4.104-3.968s-2.484-2.632-3.6-3.928a44 44 0 0 1-2.992-3.9 26.4 26.4 0 0 1-2.196-3.892l.108.02a36.5 36.5 0 0 1-5.26 4.832 68 68 0 0 1-4.356 3.064c-1.216.792-2.176 1.376-2.82 1.772l-.736.44z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M180.552 52.063H94.468a1.484 1.484 0 0 0-1.46 1.5v44.04a1.484 1.484 0 0 0 1.46 1.504h2.904v8.124l7.904-8.124h75.276a1.48 1.48 0 0 0 1.46-1.504v-44.04a1.47 1.47 0 0 0-.419-1.053 1.47 1.47 0 0 0-1.041-.447\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M94.752 52.063h85.516a1.745 1.745 0 0 1 1.748 1.747v6.444H93.008v-6.447a1.75 1.75 0 0 1 1.744-1.745\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M98.5 56.289a1.124 1.124 0 1 1-1.12-1.152 1.14 1.14 0 0 1 1.12 1.152M102.1 56.289a1.12 1.12 0 0 1-.714 1.018 1.122 1.122 0 0 1-1.514-.84 1.123 1.123 0 0 1 1.108-1.33 1.14 1.14 0 0 1 1.12 1.152M105.84 56.289a1.12 1.12 0 0 1-.713 1.018 1.125 1.125 0 0 1-1.445-1.485 1.13 1.13 0 0 1 1.038-.685 1.136 1.136 0 0 1 1.12 1.152\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M132.72 55.957c0 .52-.38.84-.984.84h-.436v.644h-.524v-2.328h.98c.584 0 .964.324.964.844m-.532 0c0-.256-.16-.4-.48-.4h-.408v.8h.4c.328.004.488-.148.488-.4M134.136 55.627v.48h-.116c-.276 0-.46.156-.46.5v.844h-.508v-1.788h.484v.236a.7.7 0 0 1 .6-.272M134.288 56.547a.955.955 0 0 1 1.12-.978.95.95 0 0 1 .722 1.299.95.95 0 0 1-.886.599.91.91 0 0 1-.956-.92m1.4 0a.442.442 0 0 0-.444-.508.446.446 0 0 0-.444.508.458.458 0 0 0 .259.468.446.446 0 0 0 .614-.28.4.4 0 0 0 .015-.188M136.404 56.543a.92.92 0 0 1 .603-.868.9.9 0 0 1 .369-.052.8.8 0 0 1 .78.456l-.4.216a.43.43 0 0 0-.4-.244.494.494 0 0 0-.451.494.494.494 0 0 0 .451.494.42.42 0 0 0 .4-.244l.4.216a.8.8 0 0 1-.78.452.91.91 0 0 1-.972-.92M140.1 56.694h-1.316a.466.466 0 0 0 .5.356.58.58 0 0 0 .436-.172l.268.3a.9.9 0 0 1-.72.288.91.91 0 0 1-.918-.55.9.9 0 0 1-.074-.37.9.9 0 0 1 .266-.66.9.9 0 0 1 .662-.26.88.88 0 0 1 .854.569.9.9 0 0 1 .054.359c.016.04.008.096-.012.14m-1.32-.304h.856a.392.392 0 0 0-.273-.352.4.4 0 0 0-.155-.02.4.4 0 0 0-.412.384zM140.292 57.273l.168-.372c.183.112.393.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.233-.004.464.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.82.568a1.5 1.5 0 0 1-.752-.192M142.008 57.273l.168-.372c.183.112.394.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.234-.004.465.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.8.568-.27.007-.536-.06-.772-.192M143.772 57.14a.31.31 0 0 1 .312-.312.312.312 0 1 1-.312.312M144.616 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .301.221.3.3 0 0 1 .013.132.3.3 0 0 1-.013.13.317.317 0 0 1-.602 0q-.02-.063-.013-.13M145.464 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .236.107.3.3 0 0 1 .066.114.3.3 0 0 1 .012.132.3.3 0 0 1-.012.13.32.32 0 0 1-.302.221.32.32 0 0 1-.301-.22q-.02-.064-.013-.131\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.652 86.895h-13.064a2.996 2.996 0 0 0-2.996 2.996v.5a2.996 2.996 0 0 0 2.996 2.995h13.064a2.996 2.996 0 0 0 2.996-2.995v-.5a2.996 2.996 0 0 0-2.996-2.997\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.936 90a.955.955 0 0 1 .984-.984.9.9 0 0 1 .688.284l-.124.128a.74.74 0 0 0-.556-.228.801.801 0 1 0 .302 1.543q.145-.061.254-.175l.124.128a.89.89 0 0 1-.688.284.954.954 0 0 1-.984-.98M166.036 90.049v.9h-.18v-.224a.53.53 0 0 1-.488.24c-.32 0-.516-.172-.516-.424s.14-.4.544-.4h.448v-.088a.36.36 0 0 0-.099-.3.36.36 0 0 0-.301-.1.7.7 0 0 0-.468.172l-.088-.144a.9.9 0 0 1 .576-.196.51.51 0 0 1 .547.336.5.5 0 0 1 .025.228m-.192.464v-.236h-.44c-.276 0-.364.108-.364.26s.132.272.356.272a.445.445 0 0 0 .448-.296M167.852 90.11v.84h-.188v-.82c0-.308-.156-.465-.424-.465a.475.475 0 0 0-.474.322q-.034.099-.022.203v.76h-.188v-1.453h.18v.269a.59.59 0 0 1 .536-.276.548.548 0 0 1 .58.62M168.236 90.225a.7.7 0 0 1 .2-.527.7.7 0 0 1 .524-.209.62.62 0 0 1 .556.284l-.144.1a.47.47 0 0 0-.4-.216.566.566 0 0 0-.52.566.565.565 0 0 0 .52.566.46.46 0 0 0 .4-.212l.144.1a.61.61 0 0 1-.556.288.71.71 0 0 1-.678-.455.7.7 0 0 1-.046-.285M171.092 90.283h-1.2a.52.52 0 0 0 .173.368.53.53 0 0 0 .383.136.55.55 0 0 0 .432-.188l.108.124a.69.69 0 0 1-.544.24.713.713 0 0 1-.744-.74.689.689 0 0 1 1.376 0s.016.036.016.06m-1.2-.148h1.008a.499.499 0 0 0-.853-.353.5.5 0 0 0-.147.353zM171.484 88.902h.192v2.048h-.192z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M180.552 99.101a1.476 1.476 0 0 0 1.436-1.392v-.66c0-1.876 0-4.636-.02-8.188 0-7.116-.02-17.408-.032-30.124v-4.88a3.3 3.3 0 0 0-.028-.608 1.4 1.4 0 0 0-.24-.544 1.36 1.36 0 0 0-1.004-.58H95.032a4.5 4.5 0 0 0-.872.036 1.39 1.39 0 0 0-1.036 1.2c-.024 1.18 0 2.4 0 3.6v40.42a1.48 1.48 0 0 0 .4 1.172c.149.151.331.265.532.332.206.065.422.09.636.072h2.8v8.224l-.168-.068 7.912-8.12.024-.028h.04l54.48.036 15.348.028-15.348.024-54.48.04.068-.028-7.904 8.124-.164.172v-8.36l.1.096h-2.688a2 2 0 0 1-.7-.08 1.68 1.68 0 0 1-1.076-1.712v-43.94a1.6 1.6 0 0 1 1.2-1.364 4.3 4.3 0 0 1 .92-.044h72.272l10.772.044h2.58a1.51 1.51 0 0 1 1.12.648c.129.18.219.384.264.6q.045.319.032.64v4.88c0 12.716-.028 23.008-.036 30.124v8.852a1.5 1.5 0 0 1-.156.556c-.138.27-.352.492-.616.64-.16.087-.335.142-.516.164a1.3 1.3 0 0 1-.22-.004\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.552 72.582H102.48a3.544 3.544 0 0 0-3.544 3.544v.592a3.544 3.544 0 0 0 3.544 3.544h71.072a3.544 3.544 0 0 0 3.544-3.544v-.592a3.544 3.544 0 0 0-3.544-3.544\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M173.548 80.263h.108c.072 0 .18 0 .316-.028a3.6 3.6 0 0 0 1.2-.376c.271-.14.523-.317.748-.524a3.48 3.48 0 0 0 1.104-2.072q.033-.172.036-.348v-.364c0-.248 0-.5-.02-.76a3.53 3.53 0 0 0-1.848-2.74 3.8 3.8 0 0 0-.9-.328 4.6 4.6 0 0 0-1-.076h-12.264l-58.528.04a3.44 3.44 0 0 0-3.208 2.208 4.8 4.8 0 0 0-.224 2.036c.035.682.276 1.338.692 1.88.409.536.965.942 1.6 1.168.65.18 1.327.245 2 .192h19.6l26.316.024 17.744.032-17.744.032h-46.948a3.3 3.3 0 0 1-1.04-.196 3.64 3.64 0 0 1-2.444-3.228 11 11 0 0 1 0-1.064 3.6 3.6 0 0 1 .236-1.06 3.67 3.67 0 0 1 1.336-1.688c.305-.204.636-.365.984-.48a4.1 4.1 0 0 1 1.084-.164l58.54.032H173.3q.514-.015 1.02.084c.322.074.634.188.928.34a3.6 3.6 0 0 1 1.88 2.82v1.136q-.003.18-.036.356c-.067.433-.215.85-.436 1.228a3.4 3.4 0 0 1-.704.868q-.348.317-.768.528c-.375.19-.782.31-1.2.356q-.214.082-.436.136\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M169.332 76.965a.77.77 0 0 1-.25.56.76.76 0 0 1-.582.196c-.616 0-.98-.4-.98-1.156s.456-1.236 1.112-1.236c.209-.007.415.044.596.148l-.156.328a.75.75 0 0 0-.432-.116c-.428 0-.696.272-.696.8a.78.78 0 0 1 .608-.24.71.71 0 0 1 .721.425q.06.139.059.29m-.4.02c0-.244-.18-.4-.456-.4a.4.4 0 0 0-.322.093.4.4 0 0 0-.138.307c0 .22.168.4.472.4a.4.4 0 0 0 .44-.4zM169.552 76.524c0-.764.4-1.2.944-1.2s.948.432.948 1.2-.4 1.2-.948 1.2-.944-.436-.944-1.2m1.468 0c0-.564-.212-.82-.524-.82s-.52.256-.52.82.212.82.52.82.524-.26.524-.82M171.7 75.976c0-.4.216-.64.54-.64s.544.252.544.64a.54.54 0 0 1-.127.439.546.546 0 0 1-.957-.44m.8 0c0-.26-.104-.4-.276-.4s-.28.152-.28.4.112.4.28.4.276-.144.276-.4m1.08-.616h.32l-1.548 2.324h-.316zm-.4 1.712c0-.4.216-.64.54-.64a.65.65 0 0 1 .754.698.65.65 0 0 1-.479.567.65.65 0 0 1-.815-.625m.82 0c0-.256-.108-.4-.28-.4s-.28.148-.28.4.108.4.28.4.276-.144.276-.4z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M137.82 73.504h-35.188a2.704 2.704 0 0 0-2.704 2.704v.448a2.704 2.704 0 0 0 2.704 2.704h35.188a2.704 2.704 0 0 0 2.704-2.704v-.448a2.704 2.704 0 0 0-2.704-2.704\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m102.284 79.36 3.488-5.856h1.864l-3.44 5.856zM106.896 79.36l3.484-5.856h1.864l-3.436 5.856zM111.504 79.36l3.488-5.856h1.864l-3.436 5.856zM116.116 79.36l3.488-5.856h1.86l-3.436 5.856zM120.724 79.36l3.488-5.856h1.864l-3.436 5.856zM125.336 79.36l3.488-5.856h1.86l-3.436 5.856zM129.948 79.36l3.484-5.856h1.864l-3.436 5.856zM134.556 79.36l3.468-5.833c.55.064 1.067.296 1.48.664l-3.036 5.168z\"\r\n opacity=\"0.2\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.748 83.432c0 .056-10.844.104-24.22.104s-24.224-.048-24.224-.104 10.84-.104 24.224-.104 24.22.048 24.22.104\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { CreatingWorkspaceIllustration } from \"../../../../../../../../assets/illustrations/CreatingWorkspaceIllustration\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { LoadingIcon } from \"../../../../../../../../assets/icons/loading-icon\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceLoading() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\"}}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <CreatingWorkspaceIllustration />\r\n\r\n <h4 className=\"text-2xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.creating\"\r\n )}\r\n </h4>\r\n\r\n <div className=\"w-10 h-10 flex mt-4 items-center justify-center animate-spin\">\r\n <LoadingIcon />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { SmileIcon } from \"lucide-react\";\r\nimport { Button } from \"../../ui/button\";\r\nimport EmojiPicker, { type EmojiClickData, Theme } from \"emoji-picker-react\";\r\n\r\nexport function EmojiButton({\r\n className,\r\n onChange,\r\n icon,\r\n containerClassName,\r\n}: {\r\n className?: string;\r\n containerClassName?: string;\r\n onChange: (emoji: string) => void;\r\n icon?: React.ReactNode;\r\n}) {\r\n const [showPicker, setShowPicker] = useState(false);\r\n const pickerRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n\r\n // Close the emoji picker when clicking outside\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n pickerRef.current &&\r\n !pickerRef.current.contains(event.target as Node) &&\r\n buttonRef.current &&\r\n !buttonRef.current.contains(event.target as Node)\r\n ) {\r\n setShowPicker(false);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const togglePicker = () => {\r\n setShowPicker(!showPicker);\r\n };\r\n\r\n const handleEmojiClick = (emojiData: EmojiClickData) => {\r\n const emoji = emojiData.emoji;\r\n onChange(emoji);\r\n };\r\n\r\n return (\r\n <div className={`relative ${className}`}>\r\n <Button\r\n type=\"button\"\r\n ref={buttonRef}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"!p-0 rounded-full flex items-center gap-x-2 hover:bg-transparent\"\r\n onClick={togglePicker}\r\n >\r\n {icon}\r\n </Button>\r\n\r\n {showPicker && (\r\n <div\r\n ref={pickerRef}\r\n className={`absolute bottom-12 left-0 z-50 ${containerClassName}`}\r\n >\r\n <EmojiPicker\r\n onEmojiClick={handleEmojiClick}\r\n theme={Theme.LIGHT}\r\n searchPlaceHolder=\"Buscar emoji\"\r\n width={320}\r\n height={400}\r\n previewConfig={{\r\n showPreview: false,\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const UserIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 18\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M7.997 11C3.684 11 0 11.68 0 14.4c0 2.721 3.66 3.425 7.997 3.425 4.313 0 7.997-.679 7.997-3.4S12.334 11 7.997 11\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M7.996 10.584a5.273 5.273 0 0 0 5.293-5.292A5.273 5.273 0 0 0 7.996 0a5.274 5.274 0 0 0-5.292 5.292 5.274 5.274 0 0 0 5.292 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nimport { motion } from \"motion/react\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { useAddWorkspaceModal } from \"./useAddWorkspaceModal\";\r\nimport { BaseInput } from \"../../../../../../../../components/shared/BaseInput/BaseInput\";\r\nimport { SelectInput } from \"../../../../../../../../components/shared/select-input/select-input\";\r\nimport { Badge } from \"../../../../../../../../components/shared/badge/badge\";\r\nimport { DescriptionInput } from \"../../../../../../../../components/shared/description-input/description-input\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { AddWorkspaceLoading } from \"../AddWorkspaceLoading/AddWorkspaceLoading\";\r\nimport { EmojiButton } from \"../../../../../../../shared/emogi-picker/emoji-picker\";\r\nimport { UserIcon } from \"../../../../../../../../assets/icons/use-icon\";\r\n\r\nexport function AddWorkspaceForm({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n const { step, workspace } = useAddWorkspaceStore();\r\n const {\r\n errors,\r\n getError,\r\n watch,\r\n selectedInterests,\r\n onChangeDescription,\r\n onChangeName,\r\n onSelectInterest,\r\n interests,\r\n onSubmit,\r\n onRemoveInterest,\r\n isCreatingWorkspace,\r\n setValue,\r\n } = useAddWorkspaceModal();\r\n\r\n if (step === \"loading\") {\r\n return <AddWorkspaceLoading />;\r\n }\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col gap-y-8\"\r\n >\r\n <h4 className=\"text-xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.title\"\r\n : \"component.workspace.panel.modal.title\"\r\n )}\r\n </h4>\r\n\r\n <form onSubmit={onSubmit} className=\"w-full flex flex-col gap-y-4\">\r\n <div className=\"relative\">\r\n <BaseInput\r\n leftIcon={\r\n <div className=\"w-8 h-8 rounded-lg border-2 flex items-center bottom-4 justify-center bg-primary/10 border-primary border-dotted\">\r\n <EmojiButton\r\n containerClassName=\"top-10 -left-4\"\r\n icon={\r\n watch(\"icon\") ? (\r\n <span className=\"text-lg\">{watch(\"icon\")}</span>\r\n ) : (\r\n <UserIcon />\r\n )\r\n }\r\n onChange={(emoji) => {\r\n setValue(\"icon\", emoji);\r\n }}\r\n />\r\n </div>\r\n }\r\n error={getError(errors?.name?.message)}\r\n required\r\n value={watch(\"name\")}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name\"\r\n )}\r\n onChange={(e) => onChangeName(e.target.value)}\r\n className=\"w-full bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name.placeholder\"\r\n )}\r\n />\r\n </div>\r\n\r\n <SelectInput\r\n disableSelectedItem\r\n options={interests.map((interest) => ({\r\n id: interest.id,\r\n value: interest.name,\r\n }))}\r\n onChange={(id) => onSelectInterest(id)}\r\n className=\"bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests.placeholder\"\r\n )}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests\"\r\n )}\r\n />\r\n\r\n {selectedInterests?.length > 0 && (\r\n <div className=\"flex flex-wrap w-full items-center gap-4\">\r\n {selectedInterests?.map((interest) => {\r\n const interestData = interests.find(\r\n (item) => item.id === interest\r\n );\r\n return (\r\n <Badge\r\n className=\"bg-white text-gray-shade8\"\r\n key={interest}\r\n label={interestData?.name ?? \"\"}\r\n onRemove={() => onRemoveInterest(interestData?.id ?? \"\")}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n\r\n <DescriptionInput\r\n maxLength={120}\r\n value={watch(\"description\")}\r\n onChange={onChangeDescription}\r\n textAreaClassName=\"bg-white\"\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n />\r\n\r\n <div className=\"w-full flex-col lg:flex-row mt-4 flex items-center gap-4\">\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.back\"\r\n )}\r\n </button>\r\n\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"submit\"\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-white bg-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.button.save\"\r\n : \"component.workspace.panel.modal.form.button.create\"\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </motion.div>\r\n );\r\n}\r\n","import { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { EditIcon } from \"../../../../../../assets/icons/edit-icon\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport React, { RefObject } from \"react\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { DeleteIcon } from \"../../../../../../assets/icons/delete-icon\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { ConfirmModal } from \"../../../../../../components/shared/modal/confirm-modal\";\r\nimport { useApiDeleteWorkspace } from \"../../../../../fromMirantes/WorkspacePanel/api/use-api-delete-workspace\";\r\nimport { WorkspaceProps } from \"../../../../../../types/workspace.types\";\r\nimport { useToast } from \"../../../../../../components/shared/toasts/toasts\";\r\nimport { AlertIllustration } from \"../../../../../../assets/illustrations/AlertIllustration\";\r\nimport { useAddWorkspaceStore } from \"../AddWorkspaceModal/store/add-workspace.store\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nexport function WorkspaceBarItemOptions({\r\n isOpen,\r\n ref,\r\n workspace,\r\n}: {\r\n isOpen: boolean;\r\n ref: RefObject<HTMLDivElement>;\r\n workspace?: WorkspaceProps;\r\n}) {\r\n const { setWorkspace } = useAddWorkspaceStore();\r\n const { successToast, errorToast } = useToast();\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n const { deleteWorkspace, isDeletingWorkspace } = useApiDeleteWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const {\r\n isOpen: isOpenDelete,\r\n onOpen: onOpenDelete,\r\n onClose: onCloseDelete,\r\n } = useOpen();\r\n\r\n const {\r\n isOpen: isOpenEdit,\r\n onOpen: onOpenEdit,\r\n onClose: onCloseEdit,\r\n } = useOpen();\r\n\r\n const handleDeleteWorkspace = () => {\r\n deleteWorkspace(\r\n {\r\n accessToken: user?.accessToken as string,\r\n apiUrl: widgetsApi,\r\n id: workspace?.id as string,\r\n },\r\n {\r\n onSuccess() {\r\n successToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\"\r\n ),\r\n });\r\n },\r\n onError() {\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <div\r\n ref={ref}\r\n className=\"p-2 min-w-[166px] absolute z-20 right-0 shadow-dark-1/10 rounded-2xl bg-white shadow-lg\"\r\n >\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (workspace) {\r\n onOpenEdit();\r\n setWorkspace(workspace);\r\n }\r\n }}\r\n className=\"flex items-center px-2 font-medium text-gray-shade8 justify-start w-full hover:bg-primary/10 py-2 gap-x-4\"\r\n >\r\n <EditIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.edit\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onOpenDelete();\r\n }}\r\n className=\"flex items-center px-2 font-medium text-red-shade6 justify-start w-full hover:bg-red-shade6/10 py-2 gap-x-4\"\r\n >\r\n <DeleteIcon color={Palette.red.shade6} />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete\"\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n\r\n {isOpenDelete && (\r\n <ConfirmModal\r\n isOpen\r\n isLoading={isDeletingWorkspace}\r\n onClose={onCloseDelete}\r\n onConfirm={handleDeleteWorkspace}\r\n title={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\"\r\n )}\r\n description={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\"\r\n )}\r\n illustration={<AlertIllustration />}\r\n />\r\n )}\r\n\r\n {isOpenEdit && <AddWorkspaceModal onClose={onCloseEdit} />}\r\n </>\r\n );\r\n}\r\n","import { cn } from \"../../../../../../lib/utils\";\r\nimport React, { RefObject, useRef } from \"react\";\r\nimport { Tooltip } from \"../../../../../../components/shared/tooltip/tooltip\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../../../../fromMirantes/hooks/use-outside-click\";\r\nimport { WorkspaceBarItemOptions } from \"./WorkspaceBarItemOptions\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype WorkspaceBarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n description?: string;\r\n href: string;\r\n disabled?: boolean;\r\n active?: boolean;\r\n isCurrent?: boolean;\r\n workspace?: WorkspaceProps;\r\n};\r\n\r\nexport function WorkspaceBarItem({\r\n icon,\r\n label,\r\n href,\r\n disabled,\r\n active,\r\n isCurrent,\r\n description,\r\n workspace,\r\n}: WorkspaceBarItemProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { onOpen, onClose, isOpen } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLElement>, onClose);\r\n\r\n const handleClick = () => {\r\n if (isCurrent) {\r\n onOpen();\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n return;\r\n }\r\n window.location.href = href;\r\n };\r\n\r\n const handleRightClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n e.preventDefault();\r\n onOpen();\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"col-span-1 flex relative hover:bg-primary/5 transition-all items-center justify-center gap-x-4\",\r\n isCurrent && \"bg-primary/5\"\r\n )}\r\n role=\"button\"\r\n onContextMenu={handleRightClick}\r\n >\r\n <div onClick={handleClick} className=\"w-full h-full\">\r\n <Tooltip className=\"bg-white -top-20\" content={description}>\r\n <div\r\n className={cn(\r\n \"w-8 md:w-12 h-8 lg:h-12 flex bg-primary/10 items-center justify-center rounded-full\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-5 h-5 flex items-center justify-center md:w-6 md:h-6 lg:w-8 lg:h-8\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n {icon}\r\n </div>\r\n </div>\r\n\r\n <span\r\n className={cn(\r\n \"text-body-md hidden lg:block font-medium text-gray-shade8\",\r\n isCurrent && \"text-primary font-bold\"\r\n )}\r\n >\r\n {label}\r\n </span>\r\n </Tooltip>\r\n </div>\r\n\r\n <WorkspaceBarItemOptions\r\n workspace={workspace}\r\n ref={ref as RefObject<HTMLDivElement>}\r\n isOpen={isOpen}\r\n />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const WorkFeedIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const BriefcaseIcon = ({ color = \"#687588\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"26\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 26 25\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M.5 11.348c.063 2.923.238 7.921.263 8.473.089 1.178.54 2.37 1.242 3.21.978 1.178 2.182 1.705 3.86 1.705 2.32.012 4.878.012 7.361.012 2.494 0 4.914 0 6.958-.012 1.655 0 2.896-.54 3.861-1.705.703-.84 1.154-2.044 1.218-3.21.025-.464.15-5.89.225-8.473z\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M12.057 16.73v1.618a.938.938 0 0 0 1.875 0v-1.617a.938.938 0 0 0-1.875 0\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M14.608 0c1.876 0 3.415 1.412 3.65 3.227h2.47a4.765 4.765 0 0 1 4.76 4.76v4.332c0 .315-.159.61-.42.783-2.578 1.706-5.638 2.842-8.848 3.286a.938.938 0 0 1-1.037-.697A2.26 2.26 0 0 0 12.988 14a2.28 2.28 0 0 0-2.224 1.696.94.94 0 0 1-1.033.68c-3.189-.445-6.237-1.575-8.81-3.274a.94.94 0 0 1-.42-.783V7.987c0-2.625 2.14-4.76 4.77-4.76h2.46C7.966 1.412 9.503.001 11.38 0zM11.38 1.875c-.84 0-1.544.576-1.754 1.352h6.735a1.82 1.82 0 0 0-1.753-1.352z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import { useInfiniteQuery, useQuery } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { GET_WORKSPACES } from \"./graphql\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\n\r\nexport type GetWorkspaceInput = {\r\n filter: { name: string; userId: string };\r\n page: number;\r\n perPage: number;\r\n sort: string;\r\n sortDir: string;\r\n};\r\n\r\ntype WorkspacesResponse = {\r\n workspaces: {\r\n meta: {\r\n total: number;\r\n currentPage: number;\r\n perPage: number;\r\n lastPage: number;\r\n };\r\n data: WorkspaceProps[];\r\n };\r\n};\r\n\r\nconst getWorkspaces = async (\r\n pageParam: number,\r\n options: Omit<GetWorkspaceInput, \"page\">,\r\n apiUrl?: string,\r\n accessToken?: string\r\n) => {\r\n const response = await request<WorkspacesResponse>(\r\n apiUrl as string,\r\n GET_WORKSPACES,\r\n {\r\n options: {\r\n ...options,\r\n page: pageParam,\r\n },\r\n },\r\n\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response?.workspaces;\r\n};\r\n\r\nexport const useApiGetWorkspaces = (\r\n options: Omit<GetWorkspaceInput, \"page\">\r\n): {\r\n workspaces: WorkspaceProps[] | undefined;\r\n isGetWorkspacesLoading: boolean;\r\n fetchNextPage: () => void;\r\n hasNextPage: boolean | undefined;\r\n isFetchingNextPage: boolean;\r\n} => {\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n\r\n const {\r\n data,\r\n isLoading: isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n } = useInfiniteQuery({\r\n queryKey: [\"workspaces\"],\r\n queryFn: ({ pageParam = 1 }) =>\r\n getWorkspaces(pageParam, options, widgetsApi, user?.accessToken),\r\n initialPageParam: 1,\r\n getNextPageParam: (lastPage) => {\r\n if (!lastPage) return undefined;\r\n const { currentPage, lastPage: last } = lastPage.meta;\r\n return currentPage < last ? currentPage + 1 : undefined;\r\n },\r\n });\r\n\r\n return {\r\n workspaces: data?.pages.flatMap((page) => page.data),\r\n isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n };\r\n};\r\n","import * as React from \"react\";\r\n\r\nexport const CircledAddIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 25\"\r\n >\r\n <path\r\n fill=\"#fff\"\r\n d=\"M22 12.5c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M15.074 11.574h-2.15V9.426a.926.926 0 1 0-1.851 0v2.148H8.925a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const AddWorkspaceIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"33\"\r\n height=\"32\"\r\n fill=\"none\"\r\n viewBox=\"0 0 33 32\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M.5 16c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.5 16c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M19.574 15.074h-2.15v-2.147a.926.926 0 1 0-1.851 0v2.147h-2.148a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\nimport { CircledAddIcon } from \"../../../../../../assets/icons/CircledAddIcon\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { useOpen } from \"../../../../../../components/fromMirantes/hooks/use-open\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nimport { AddWorkspaceIcon } from \"../../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\n\r\nexport function AddWorkspaceButton() {\r\n const { locale } = useMirantesFoundation();\r\n const { isOpen, onOpen, onClose } = useOpen();\r\n\r\n return (\r\n <>\r\n <button\r\n onClick={onOpen}\r\n className=\"flex lg:bg-primary lg:p-4 rounded-2xl text-body-md font-bold text-white gap-x-2 items-center\"\r\n >\r\n <div className=\"lg:flex hidden items-center gap-x-2\">\r\n <CircledAddIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.create\"\r\n )}\r\n </div>\r\n\r\n <div className=\"lg:hidden\">\r\n <AddWorkspaceIcon />\r\n </div>\r\n </button>\r\n\r\n {isOpen && <AddWorkspaceModal onClose={onClose} />}\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\n// import { AddWorkspaceIcon } from \"../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\nimport { WorkspaceBarItem } from \"../WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem\";\r\nimport { WorkFeedIcon } from \"../../../../../assets/icons/WorkFeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../styles/palette.const\";\r\nimport { AddWorkspaceButton } from \"../WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton\";\r\n\r\nexport default function MobileWorkspaceBar() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 2,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n\r\n return (\r\n <div className=\"w-full z-[100] flex divide-x divide-border lg:hidden bg-white h-[64px] rounded-2xl max-w-[349px] fixed bottom-16 left-1/2 -translate-x-1/2\">\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n active\r\n icon={WorkFeedIcon}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n isCurrent\r\n />\r\n\r\n {workspaces\r\n ?.slice(0, 2)\r\n ?.map((workspace) => (\r\n <WorkspaceBarItem\r\n active\r\n key={workspace.id}\r\n icon={\r\n workspace?.icon ? (\r\n <span className=\"text-lg\">{workspace?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n label={workspace.name}\r\n href={`/workspace/${workspace.id}`}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"flex items-center gap-x-6 px-5\">\r\n <button className=\"scale-125\">\r\n <ExploreIcon />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn(\"aspect-square size-full\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n \"bg-muted flex size-full items-center justify-center rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import React from \"react\";\r\n\r\nimport {\r\n Avatar as ShadCnAvatar,\r\n AvatarFallback,\r\n AvatarImage,\r\n} from \"../../../components/ui/avatar\";\r\nimport { getInitials } from \"../../../components/fromMirantes\";\r\n\r\nexport function Avatar({\r\n name,\r\n onClick,\r\n src,\r\n className,\r\n}: {\r\n name: string;\r\n src?: string;\r\n onClick?: () => void;\r\n className?: string;\r\n}) {\r\n return (\r\n <ShadCnAvatar\r\n onClick={onClick}\r\n className={`h-10 w-10 hover:opacity-80 ${onClick ? \"cursor-pointer\" : \"\"} transition-all bg-[#0B89CE4D] ${className}`}\r\n >\r\n <AvatarImage src={src} alt={name} />\r\n <AvatarFallback className=\"text-white text-sm font-bold\">\r\n {getInitials(name ?? \"\")}\r\n </AvatarFallback>\r\n </ShadCnAvatar>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceUserInfoItem({\r\n label,\r\n value,\r\n}: {\r\n label: string;\r\n value: number;\r\n}) {\r\n return (\r\n <div className=\"flex items-center justify-between gap-x-14\">\r\n <span className=\"text-gray-shade8 text-sm font-normal\">{label}</span>\r\n\r\n\r\n <span className=\"p-1 text-body-sm font-medium rounded-md bg-primary/10 text-primary\">\r\n {value}\r\n </span>\r\n </div>\r\n );\r\n}\r\n","import { Avatar } from \"../../../../../components/shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { WorkspaceUserInfoItem } from \"./WorkspaceUserInfoItem\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceUserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <div className=\"rounded-2xl flex items-stretch gap-x-4 bg-white min-w-[347px] px-6 py-5\">\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-14 h-14\"\r\n />\r\n\r\n <div className=\"flex flex-col items-start gap-y-2\">\r\n <h6 className=\"text-body-md font-bold\">{user?.name}</h6>\r\n <span className=\"text-body-sm text-gray-shade8\">{user?.role}</span>\r\n\r\n <span className=\"p-1 text-body-sm rounded-md font-bold text-orange-shade6 bg-orange-shade6/10\">\r\n 47%{\" \"}\r\n <span className=\"text-gray-shade8 font-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.complete\"\r\n )}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-[1px] bg-border\" />\r\n\r\n <div className=\"flex flex-col gap-y-2\">\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.posts\"\r\n )}\r\n value={120}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.following\"\r\n )}\r\n value={1250}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.followers\"\r\n )}\r\n value={1250}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceUserInfo } from \"../WorkspaceUserInfo/WorkspaceUserInfo\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceGreetings() {\r\n const { locale, user } = useMirantesFoundation();\r\n\r\n return (\r\n <div className=\"flex items-center w-full justify-between\">\r\n <div className=\"flex flex-col gap-y-2\">\r\n <h4 className=\"text-[2rem] text-white font-bold lg:leading-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}{\" \"}\r\n {user?.name}\r\n </h4>\r\n\r\n <span className=\"text-white text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings.label\"\r\n )}\r\n </span>\r\n </div>\r\n\r\n <WorkspaceUserInfo />\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const FeedIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceBarItemSkeleton() {\r\n return (\r\n <div className=\"items-center flex justify-center gap-x-4 col-span-1\">\r\n <div className=\"skeleton bg-gray-shade1/80 w-12 h-12 rounded-full\" />\r\n\r\n <div className=\"h-3 rounded-lg skeleton bg-gray-shade1/80 w-32\" />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceBarItem } from \"./WorkspaceBarItem\";\r\nimport { FeedIcon } from \"../../../../../../assets/icons/workspaces-panel/FeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { WorkspaceBarItemSkeleton } from \"./WorkspaceBarItemSkeleton\";\r\n\r\nexport function WorkspaceBarItems() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 3,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n return (\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n isCurrent\r\n active\r\n icon={<FeedIcon />}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n />\r\n {isGetWorkspacesLoading\r\n ? Array(3)\r\n .fill(0)\r\n .map((_, index) => <WorkspaceBarItemSkeleton key={index} />)\r\n : workspaces\r\n ?.slice(0, 3)\r\n ?.map((item) => (\r\n <WorkspaceBarItem\r\n workspace={item}\r\n description={item?.description}\r\n href={`/workspace/${item?.id}`}\r\n key={item?.id}\r\n icon={\r\n item?.icon ? (\r\n <span className=\"text-2xl\">{item?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n active\r\n label={item?.name}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport React from \"react\";\r\nimport { WorkspaceBarItems } from \"./WorkspaceItems/WorkspaceBarItems\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { AddWorkspaceButton } from \"./AddWorkspaceButton/AddWorkspaceButton\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function WorkspacePanelBar() {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n className=\"h-[91px] divide-x divide-border bg-white rounded-2xl w-full -bottom-[65px] absolute flex items-center justify-between\"\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n >\r\n <WorkspaceBarItems />\r\n\r\n <div className=\"pl-14 pr-5 h-full flex gap-x-8 items-center\">\r\n <button className=\"flex text-gray-shade8 items-center button-empty gap-x-3\">\r\n <ExploreIcon />\r\n <span className=\"text-sm font-bold text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.explore\"\r\n )}\r\n </span>\r\n <ChevronDownIcon className=\"text-gray-shade8 w-4 h-4\" />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceGreetings } from \"../WorkspaceGreetings/WorkspaceGreetings\";\r\nimport { WorkspacePanelBar } from \"../WorkspacePanelBar/WorkspacePanelBar\";\r\n\r\nexport function DesktopWorkspaceBar() {\r\n return (\r\n <div className=\"w-full hidden lg:block h-[204px] bg-primary\">\r\n <div className=\"w-full h-full mx-auto relative max-w-[1216px] flex items-center\">\r\n <div className=\"flex-col w-full items-start flex\">\r\n <WorkspaceGreetings />\r\n </div>\r\n\r\n <WorkspacePanelBar />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 1014; // You can change this to your design breakpoint\r\n\r\nexport function useMobile() {\r\n const [isMobile, setIsMobile] = useState<boolean>(false);\r\n\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n };\r\n\r\n checkIsMobile(); // Initial check\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", checkIsMobile);\r\n };\r\n }, []);\r\n\r\n return { isMobile };\r\n}\r\n","import React from \"react\";\r\nimport MobileWorkspaceBar from \"./components/MobileWorspaceBar/MobileWorkspaceBar\";\r\nimport { DesktopWorkspaceBar } from \"./components/DesktopWorkspaceBar/DesktopWorkspaceBar\";\r\nimport { useMobile } from \"../../../hooks/useMobile\";\r\n\r\nexport default function WorkspacePanel() {\r\n const { isMobile } = useMobile();\r\n\r\n return <>{isMobile ? <MobileWorkspaceBar /> : <DesktopWorkspaceBar />}</>;\r\n}\r\n","import React from \"react\";\r\n\r\ninterface IMirantesLogo {\r\n className?: string;\r\n color?: string;\r\n}\r\n\r\nexport function MirantesLogo({ className, color }: IMirantesLogo) {\r\n return (\r\n <svg\r\n width=\"88\"\r\n height=\"32\"\r\n viewBox=\"0 0 88 32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M26.1622 25.7427V15.5676H27.2454C27.8422 15.5676 28.3243 16.0497 28.3243 16.6465V26.8108H27.2303C26.64 26.8108 26.1622 26.333 26.1622 25.7427Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M31.5677 18.9254C31.5677 17.5762 31.546 16.4151 31.479 15.3492H32.1579C32.7352 15.3492 33.2087 15.8076 33.2239 16.387L33.2628 17.7276H33.3536C33.8552 16.0995 35.0595 15.0746 36.4044 15.0746C36.6314 15.0746 36.7914 15.1005 36.9731 15.1503V16.9427C36.9731 17.0876 36.8477 17.1978 36.705 17.1784C36.5817 17.1611 36.4477 17.1546 36.292 17.1546C34.8801 17.1546 33.879 18.3308 33.6066 19.9827C33.5612 20.2832 33.5158 20.6335 33.5158 21.0097V26.8108H32.6293C32.0455 26.8108 31.5698 26.3373 31.5698 25.7513V18.9254H31.5677Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M46.0563 26.8108C45.5093 26.8108 45.0509 26.3978 44.9947 25.853L44.9363 25.2973H44.8693C44.2661 26.24 43.1028 27.0832 41.559 27.0832C39.3666 27.0832 38.2488 25.3708 38.2488 23.6346C38.2488 20.7308 40.5753 19.1438 44.7569 19.1676V18.9189C44.7569 17.9265 44.5104 16.1405 42.2963 16.1405C41.7342 16.1405 41.159 16.2486 40.6272 16.4389C39.972 16.6746 39.2542 16.307 39.0466 15.6411L39.0315 15.5935C39.9266 14.9492 41.2239 14.5276 42.5882 14.5276C45.8985 14.5276 46.7028 17.0335 46.7028 19.44V23.9308C46.7028 24.973 46.7482 25.9892 46.8823 26.8086H46.0563V26.8108ZM44.7569 21.0832C42.5839 21.0357 40.119 21.4335 40.119 23.6346C40.119 24.9686 40.9796 25.6 41.998 25.6C43.4228 25.6 44.3288 24.6638 44.6445 23.7038C44.7115 23.494 44.7569 23.2584 44.7569 23.0486V21.0832Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M49.7296 18.6097C49.7296 17.4486 49.7058 16.4951 49.6323 15.5676H50.5556C51.1221 15.5676 51.5912 16.0086 51.6258 16.5751L51.6821 17.5135H51.6626C52.1967 16.454 53.4421 15.4184 55.2215 15.4184C56.7112 15.4184 59.0248 16.3394 59.0248 20.16V26.8108H58.3567C57.7707 26.8108 57.295 26.3351 57.295 25.7492V20.2789C57.295 18.4519 56.6312 16.9319 54.7307 16.9319C53.4031 16.9319 52.3718 17.8919 52.028 19.0378C51.9372 19.2951 51.8896 19.6476 51.8896 19.9978V26.8108H50.7977C50.2053 26.8108 49.7275 26.3308 49.7275 25.7405V18.6097H49.7296Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M64.8649 14.0238V15.3513H66.5708C67.1805 15.3513 67.6757 15.8465 67.6757 16.4562V17.0811H64.8649V23.1978C64.8649 24.6032 65.2497 25.4011 66.3589 25.4011H66.4065C67.0335 25.4011 67.5503 25.8876 67.587 26.5124L67.6043 26.8065C67.2194 26.9708 66.6097 27.0876 65.84 27.0876C64.9124 27.0876 64.1665 26.7827 63.6908 26.2205C63.1243 25.6108 62.9211 24.6032 62.9211 23.2692V17.0811H62.4022C61.734 17.0811 61.1913 16.5384 61.1913 15.8703V15.3513H62.9211V12.6357L63.0097 12.6119C63.9416 12.3524 64.8649 13.0551 64.8649 14.0238Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M70.8021 21.6216C70.8475 24.4065 72.5664 25.5546 74.5577 25.5546C75.2561 25.5546 75.8183 25.4919 76.2983 25.3924C77.0356 25.2368 77.7599 25.7103 77.9307 26.4454C77.2302 26.7741 76.0302 27.1481 74.2875 27.1481C70.9167 27.1481 68.9037 24.8541 68.9037 21.4357C68.9037 18.0173 70.8496 15.3254 74.0388 15.3254C77.6129 15.3254 78.5642 18.5795 78.5642 20.6616C78.5642 21.0832 78.5188 21.4119 78.4972 21.6216H70.8021ZM76.6399 20.1081C76.6615 18.7978 76.1188 16.7611 73.8788 16.7611C71.8658 16.7611 70.9837 18.6811 70.8237 20.1081H76.6399Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M80.2594 26.3265C80.5037 25.5568 81.3232 25.1416 82.0972 25.3751C82.5059 25.4984 82.9491 25.5784 83.3816 25.5784C84.8302 25.5784 85.5091 24.8281 85.5091 23.8919C85.5091 22.9081 84.9426 22.3697 83.4724 21.8076C81.5048 21.0811 80.5772 19.9589 80.5772 18.6011C80.5772 16.7762 82.0021 15.2778 84.3545 15.2778C85.4637 15.2778 86.4367 15.6065 87.0464 15.9805L87.0335 16.0173C86.7956 16.7351 86.041 17.1265 85.3059 16.9449C85.0054 16.8713 84.6724 16.8238 84.307 16.8238C83.1308 16.8238 82.4735 17.5265 82.4735 18.3697C82.4735 19.3059 83.1286 19.7276 84.5556 20.2897C86.4562 21.0378 87.4291 22.0216 87.4291 23.7081C87.4291 25.6973 85.9351 27.1027 83.334 27.1027C82.1383 27.0984 81.0291 26.7957 80.2594 26.3265Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function MirantesLogoSmall({\r\n className,\r\n color = \"#0B89CE\",\r\n}: IMirantesLogo) {\r\n return (\r\n <svg\r\n height=\"32\"\r\n width=\"32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n}\r\n","import React, { useRef, RefObject } from \"react\";\r\nimport { MoreVerticalIcon } from \"lucide-react\";\r\nimport { useOpen } from \"../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../fromMirantes/hooks/use-outside-click\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function Dropdown({\r\n children,\r\n className,\r\n trigger,\r\n}: {\r\n children: React.ReactNode;\r\n className?: string;\r\n trigger?: React.ReactNode;\r\n}) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { isOpen, toggle, onClose } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLDivElement>, onClose);\r\n\r\n return (\r\n <div className=\"relative inline-block\" ref={ref}>\r\n {trigger ? (\r\n <div className=\"cursor-pointer\" onClick={toggle}>\r\n {trigger}\r\n </div>\r\n ) : (\r\n <button\r\n onClick={toggle}\r\n className=\"p-2 rounded-full hover:bg-gray-100 focus:outline-none\"\r\n >\r\n <MoreVerticalIcon className=\"w-5 h-5\" />\r\n </button>\r\n )}\r\n {isOpen && (\r\n <motion.div\r\n style={{\r\n boxShadow: \"0px 0px 16px 5px rgb(11 137 206 / 0.09)\",\r\n }}\r\n initial={{ opacity: 0, y: -10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n exit={{ opacity: 0, y: -10 }}\r\n transition={{ duration: 0.2 }}\r\n className={`absolute right-0 mt-2 min-w-[200px] rounded-2xl bg-white p-2 z-50 ${className}`}\r\n >\r\n {children}\r\n </motion.div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { deleteCookie, getCookie, setCookie, OptionsType } from \"cookies-next\";\r\n\r\nexport const useUserSessions = () => {\r\n const { environment, mirantesDomain } = useMirantesFoundation();\r\n const resolvedDomain = environment === \"dev\" ? \"localhost\" : mirantesDomain;\r\n function saveCookie(name: string, value: string, options?: OptionsType) {\r\n setCookie(name, value, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function destroyCookie(name: string, options?: OptionsType) {\r\n deleteCookie(name, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function getSavedCookie(name: string) {\r\n return getCookie(name);\r\n }\r\n\r\n return {\r\n saveCookie,\r\n destroyCookie,\r\n getSavedCookie,\r\n };\r\n};\r\n","import { Dropdown } from \"../../../../shared/dropdown/Dropdown\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { useUserSessions } from \"../../../../../components/fromMirantes/utils/cookies-utils\";\r\nimport { AppKeys } from \"../../../../../components/fromMirantes/utils/app.keys\";\r\nimport { LogOut } from \"lucide-react\";\r\n\r\nexport function UserOptions({ trigger }: { trigger?: React.ReactNode }) {\r\n const { locale } = useMirantesFoundation();\r\n const { destroyCookie } = useUserSessions();\r\n\r\n const handleLogout = () => {\r\n destroyCookie(AppKeys.accessToken);\r\n destroyCookie(AppKeys.refreshToken);\r\n destroyCookie(AppKeys.userData);\r\n destroyCookie(AppKeys.userId);\r\n destroyCookie(AppKeys.userSlug);\r\n destroyCookie(AppKeys.userStatus);\r\n\r\n window.location.href = \"/\";\r\n };\r\n\r\n return (\r\n <Dropdown trigger={trigger}>\r\n <div className=\"w-full flex flex-col gap-y-4\">\r\n \r\n <div\r\n role=\"button\"\r\n onClick={handleLogout}\r\n className=\"px-4 group flex gap-x-2 cursor-pointer justify-start hover:font-medium py-2 w-full text-body-md text-gray-shade8 hover:text-primary transition-all hover:bg-primary/10 rounded-[10px]\"\r\n >\r\n <div className=\"w-5 h-5 flex items-center justify-center \">\r\n <LogOut className=\"w-5 h-5 text-gray-shade8 group-hover:text-primary\" />\r\n </div>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.user.options.logout\"\r\n )}\r\n </div>\r\n </div>\r\n </Dropdown>\r\n );\r\n}\r\n","import { ChevronDownIcon } from \"lucide-react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Avatar } from \"../../../../shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { UserOptions } from \"./UserOptions\";\r\n\r\nexport function UserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <UserOptions\r\n trigger={\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-8 h-8\"\r\n />\r\n\r\n <div className=\"flex items-center gap-x-2\">\r\n <div className=\"flex flex-col items-start\">\r\n <span className=\"text-body-sm font-semibold\">{user?.name}</span>\r\n <span className=\"text-body-sm text-gray-shade8\">\r\n {user?.slug}\r\n </span>\r\n </div>\r\n\r\n <ChevronDownIcon className=\"w-4 h-4\" />\r\n </div>\r\n </div>\r\n }\r\n />\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { cn } from \"../../../../../utils/utils\";\r\n\r\ntype NavbarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n isActive?: boolean;\r\n href: string;\r\n};\r\n\r\nexport function NavbarItem({ icon, label, href, isActive }: NavbarItemProps) {\r\n return (\r\n <button\r\n onClick={() => (window.location.href = href)}\r\n className={cn(\r\n \"flex items-center px-5 h-[44px] transition-all text-body-sm font-bold text-gray-shade8 gap-x-2\",\r\n isActive && \"bg-primary/10 text-primary rounded-lg\"\r\n )}\r\n >\r\n <div className={cn(\"w-6 h-6 transition-all\", !isActive && \"grayscale\")}>\r\n {icon}\r\n </div>\r\n\r\n {label}\r\n </button>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const HomeIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M8.12 17.318v-2.556c0-.647.526-1.173 1.179-1.177h2.395c.655 0 1.186.527 1.186 1.177v2.549c0 .562.457 1.018 1.022 1.022h1.635a2.88 2.88 0 0 0 2.036-.833c.54-.535.844-1.261.844-2.019v-7.26a2.06 2.06 0 0 0-.747-1.585l-5.55-4.408a2.596 2.596 0 0 0-3.299.06L3.39 6.636a2.06 2.06 0 0 0-.806 1.585v7.253a2.87 2.87 0 0 0 2.88 2.86H7.06c.273.001.535-.105.728-.296.193-.19.302-.45.302-.72z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const MCPIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M18.276 6.202c-.35-.22-.779-.24-1.144-.053l-1.235.623c-.457.23-.74.696-.74 1.214v4.86c0 .519.283.983.74 1.215l1.234.623a1.14 1.14 0 0 0 1.145-.053c.349-.22.557-.599.557-1.015V7.218c0-.416-.208-.796-.557-1.016\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M10.42 16.667H5.595c-2.018 0-3.427-1.392-3.427-3.385V7.551c0-1.994 1.409-3.384 3.427-3.384h4.827c2.018 0 3.427 1.39 3.427 3.384v5.731c0 1.993-1.409 3.384-3.427 3.384\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M13.896 1.667h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M4.282 1.667h2.822c1.168 0 2.115.954 2.115 2.133v2.845A2.124 2.124 0 0 1 7.104 8.78H4.282a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133m0 9.554h2.822c1.168 0 2.115.955 2.115 2.133V16.2a2.125 2.125 0 0 1-2.115 2.133H4.282A2.125 2.125 0 0 1 2.167 16.2v-2.846c0-1.178.947-2.133 2.115-2.133m12.436 0h-2.822a2.124 2.124 0 0 0-2.115 2.133V16.2c0 1.178.947 2.133 2.115 2.133h2.822a2.125 2.125 0 0 0 2.115-2.133v-2.846a2.124 2.124 0 0 0-2.115-2.133\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavbarItem } from \"./NavbarItem\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { HomeIcon } from \"../../../../../assets/icons/nav-icons/HomeIcon\";\r\nimport { MCPIcon } from \"../../../../../assets/icons/nav-icons/MCPIcon\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/nav-icons/ExploreIcon\";\r\n\r\nexport function Navbar() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <nav className=\"flex items-center\">\r\n <NavbarItem\r\n isActive\r\n href=\"/\"\r\n label={packageDictionary(locale as TLocale, \"main.navbar.home\")}\r\n icon={<HomeIcon />}\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.mcp\")}\r\n icon={<MCPIcon />}\r\n href=\"/mcp\"\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.explore\")}\r\n icon={<ExploreIcon />}\r\n href=\"/explore\"\r\n />\r\n </nav>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const AIIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 8.897s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499C5.858 17.14 5.55 20 5.55 20s-.306-2.86-1.499-4.052C2.859 14.755 0 14.448 0 14.448s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052M13.482 4.184s.306 2.859 1.5 4.052c1.192 1.193 4.052 1.5 4.052 1.5s-2.86.306-4.053 1.499-1.499 4.052-1.499 4.052-.306-2.859-1.5-4.052c-1.192-1.193-4.051-1.5-4.051-1.5s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 0s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499c-1.193 1.193-1.5 4.052-1.5 4.052s-.306-2.86-1.499-4.052C2.859 5.858 0 5.55 0 5.55s2.859-.306 4.052-1.499S5.552 0 5.552 0\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const MessagesIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n fill=\"#111827\"\r\n d=\"M12.02 2C6.21 2 2 6.74 2 12c0 1.68.49 3.41 1.35 4.99.16.26.18.59.07.9l-.67 2.24c-.15.54.31.94.82.78l2.02-.6c.55-.18.98.05 1.491.36 1.46.86 3.279 1.3 4.919 1.3 4.96 0 10-3.83 10-10C22 6.65 17.7 2 12.02 2\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#111827\"\r\n d=\"M7.37 10.73c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.27-1.28 1.28-.7 0-1.28-.58-1.28-1.28 0-.71.57-1.28 1.28-1.28m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28-.71-.01-1.28-.58-1.28-1.29 0-.7.58-1.28 1.28-1.27m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28s-1.28-.58-1.28-1.28c0-.71.57-1.28 1.28-1.28\"\r\n ></path>\r\n <rect width=\"10\" height=\"10\" x=\"13.002\" y=\"1\" fill=\"#E03137\" rx=\"5\"></rect>\r\n <rect\r\n width=\"10\"\r\n height=\"10\"\r\n x=\"13.002\"\r\n y=\"1\"\r\n stroke=\"#fff\"\r\n strokeWidth=\"2\"\r\n rx=\"5\"\r\n ></rect>\r\n </svg>\r\n);\r\n\r\n","import { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MirantesLogo } from \"../../../../assets/logos/MirantesLogo\";\r\nimport React, { useState } from \"react\";\r\nimport { UserInfo } from \"../components/UserInfo/UserInfo\";\r\nimport { Navbar } from \"../components/Navbar/Navbar\";\r\nimport { BaseInput } from \"../../../shared/BaseInput/BaseInput\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { AIIcon } from \"../../../../assets/icons/nav-icons/AIIcon\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport { MessagesIcon } from \"../../../../assets/icons/MessagesIcon\";\r\nimport { cn } from \"../../../../utils/utils\";\r\n\r\nexport function DesktopHeader({ className }: { className?: string }) {\r\n const { locale } = useMirantesFoundation();\r\n const [search, setSearch] = useState(\"\");\r\n const { Notification: NotificationsWrapper } = useMirantesFoundation();\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"hidden lg:block w-full z-[200] h-[70px] bg-white rounded-2xl sticky top-0\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex max-w-[1440px] px-8 h-full items-center justify-between w-full mx-auto\">\r\n <div className=\"flex items-center gap-x-6\">\r\n <button\r\n className=\"button-empty !p-0\"\r\n onClick={() => (window.location.href = \"/\")}\r\n >\r\n <MirantesLogo />\r\n </button>\r\n\r\n <BaseInput\r\n onChange={(e) => setSearch(e.target.value)}\r\n className=\"h-[46px]\"\r\n wrapperClassName=\"min-w-[400px]\"\r\n leftIcon={<AIIcon />}\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.search.placeholder\"\r\n )}\r\n value={search}\r\n />\r\n </div>\r\n\r\n <Navbar />\r\n\r\n <div className=\"flex items-center gap-x-6\">\r\n <button>\r\n <MessagesIcon />\r\n </button>\r\n {NotificationsWrapper}\r\n <UserInfo />\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport default function SearchSvg() {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M9.76639 1.52734C5.21636 1.52734 1.52783 5.21587 1.52783 9.7659C1.52783 14.3159 5.21636 18.0045 9.76639 18.0045C14.3164 18.0045 18.0049 14.3159 18.0049 9.7659C18.0049 5.21587 14.3164 1.52734 9.76639 1.52734ZM0.027832 9.7659C0.027832 4.38744 4.38793 0.0273438 9.76639 0.0273438C15.1448 0.0273438 19.5049 4.38744 19.5049 9.7659C19.5049 15.1444 15.1448 19.5045 9.76639 19.5045C4.38793 19.5045 0.027832 15.1444 0.027832 9.7659Z\"\r\n fill=\"#111827\"\r\n />\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.4871 15.9548C15.7796 15.6615 16.2545 15.6609 16.5477 15.9534L20.0718 19.4683C20.365 19.7608 20.3657 20.2357 20.0732 20.529C19.7806 20.8222 19.3058 20.8228 19.0125 20.5303L15.4885 17.0155C15.1952 16.7229 15.1946 16.2481 15.4871 15.9548Z\"\r\n fill=\"#111827\"\r\n />\r\n </svg>\r\n );\r\n}\r\n","import { Avatar } from \"../../../shared/avatar/avatar\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport React from \"react\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport SearchSvg from \"../../../../assets/icons/Search\";\r\n\r\nimport { MenuIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../../utils/utils\";\r\n\r\nexport function MobileHeader({ className }: { className?: string }) {\r\n const { user, locale, Notification } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"w-full sticky top-0 z-[200] bg-primary h-[80px] px-6 flex lg:hidden items-center justify-between\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n className=\"w-[46px] h-[46px] bg-[#ffffff20]\"\r\n />\r\n\r\n <div className=\"flex flex-col gap-y-1\">\r\n <span className=\"text-[10px] text-white\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}\r\n </span>\r\n\r\n <span className=\"text-body-sm text-white font-bold\">\r\n {user?.name}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-x-4\">\r\n <button className=\"w-8 h-8 rounded-full flex items-center justify-center bg-[#ffffff20]\">\r\n <div className=\"w-5 h-5 [&>svg_*]:fill-white flex items-center justify-center\">\r\n <SearchSvg />\r\n </div>\r\n </button>\r\n\r\n {Notification}\r\n\r\n <button>\r\n <MenuIcon className=\"w-6 h-6 text-white\" />\r\n </button>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { DesktopHeader } from \"./DesktopHeader/DesktopHeader\";\r\nimport { MobileHeader } from \"./MobileHeader/MobileHeader\";\r\n\r\nexport default function Header({ className }: { className?: string }) {\r\n return (\r\n <>\r\n <DesktopHeader className={className} />\r\n <MobileHeader className={className} />\r\n </>\r\n );\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/fromMirantes/Spinner/Spinner.tsx","../src/assets/icons/ExploreIcon.tsx","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/src/lib/tw-merge.ts","../src/lib/utils.ts","../node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/src/primitive.tsx","../node_modules/.pnpm/@radix-ui+react-compose-ref_2de78f3af8662305a585be516d601297/node_modules/@radix-ui/react-compose-refs/src/compose-refs.tsx","../node_modules/.pnpm/@radix-ui+react-context@1.1_f1c66a21136a6a7eef779b85a6d8e78b/node_modules/@radix-ui/react-context/src/create-context.tsx","../node_modules/.pnpm/@radix-ui+react-primitive@2_5995b29907b4034fd01e32785b01e59f/node_modules/@radix-ui/react-primitive/src/primitive.tsx","../node_modules/.pnpm/@radix-ui+react-use-callbac_c47ab07f2f1ad61073dd288511911ba7/node_modules/@radix-ui/react-use-callback-ref/src/use-callback-ref.tsx","../node_modules/.pnpm/@radix-ui+react-use-escape-_de30cda6611a673b72386445c31b3d0b/node_modules/@radix-ui/react-use-escape-keydown/src/use-escape-keydown.tsx","../node_modules/.pnpm/@radix-ui+react-dismissable_422595167670725011b69572eff325ac/node_modules/@radix-ui/react-dismissable-layer/src/dismissable-layer.tsx","../node_modules/.pnpm/@radix-ui+react-use-layout-_b468d9cfa806abf8ca2420b05f266f6a/node_modules/@radix-ui/react-use-layout-effect/src/use-layout-effect.tsx","../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@19.1.4_react@19.1.0/node_modules/@radix-ui/react-id/src/id.tsx","../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/.pnpm/@floating-ui+core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/.pnpm/@floating-ui+react-dom@2.1._26d29274d213defc63e673fd9ecdb754/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_ee0d9cb63f65cdc616342e3b08ce3711/node_modules/@radix-ui/react-arrow/src/arrow.tsx","../node_modules/.pnpm/@radix-ui+react-use-size@1._47d06e3ed49a54d1b87474532164591d/node_modules/@radix-ui/react-use-size/src/use-size.tsx","../node_modules/.pnpm/@radix-ui+react-popper@1.2._0cb242d0add104272a545734161c59b1/node_modules/@radix-ui/react-popper/src/popper.tsx","../node_modules/.pnpm/@radix-ui+react-portal@1.1._9fef6ae75aba8aa40787e025c22cfd92/node_modules/@radix-ui/react-portal/src/portal.tsx","../node_modules/.pnpm/@radix-ui+react-presence@1._0d0cd24fc19ea4534d390a6089f37aea/node_modules/@radix-ui/react-presence/src/presence.tsx","../node_modules/.pnpm/@radix-ui+react-presence@1._0d0cd24fc19ea4534d390a6089f37aea/node_modules/@radix-ui/react-presence/src/use-state-machine.tsx","../node_modules/.pnpm/@radix-ui+react-use-control_aba99c23fedbfe0aa9cdb40a73f261a1/node_modules/@radix-ui/react-use-controllable-state/src/use-controllable-state.tsx","../node_modules/.pnpm/@radix-ui+react-visually-hi_0bbf573224db5af97d6828cf1a21795c/node_modules/@radix-ui/react-visually-hidden/src/visually-hidden.tsx","../node_modules/.pnpm/@radix-ui+react-tooltip@1.2_7557fe3667a179791234246420a7a29d/node_modules/@radix-ui/react-tooltip/src/tooltip.tsx","../src/components/ui/tooltip.tsx","../src/components/shared/tooltip/tooltip.tsx","../src/components/fromMirantes/hooks/use-open.ts","../src/components/fromMirantes/hooks/use-outside-click.ts","../src/locales/dictionaries/en.ts","../src/locales/dictionaries/fr.ts","../src/locales/dictionaries/pt.ts","../src/locales/utils.ts","../src/assets/icons/edit-icon.tsx","../src/context/MirantesFoundationContext.ts","../src/context/useMirantesFoundation.ts","../src/assets/icons/delete-icon.tsx","../src/styles/palette.const.ts","../src/components/shared/modal/confirm-modal.tsx","../src/components/ui/dialog.tsx","../src/components/shared/modal/modal.tsx","../src/assets/icons/loading-icon.tsx","../src/components/shared/button/button.tsx","../src/components/fromMirantes/WorkspacePanel/api/graphql.ts","../src/client/queryClient.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-delete-workspace.ts","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/style.css","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/utils/propValidator.ts","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/utils/collapseToast.ts","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/core/genToastId.ts","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/core/store.ts","../node_modules/.pnpm/react-toastify@11.0.5_react_5c4950afa9a5c1978f0cdfdecd3d2c1a/node_modules/react-toastify/src/core/toast.ts","../src/components/shared/toasts/toasts.tsx","../src/assets/illustrations/AlertIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/store/add-workspace.store.ts","../src/assets/illustrations/CongratulationsIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceDone/AddWorkspaceDone.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-create-workspace.ts","../src/components/fromMirantes/WorkspacePanel/api/use-api-update-workspace.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/useAddWorkspaceModal.tsx","../src/assets/icons/CircledInfoIcon.tsx","../src/components/ui/input.tsx","../src/utils/utils.ts","../src/components/shared/BaseInput/BaseInput.tsx","../src/components/ui/button.tsx","../src/components/ui/command.tsx","../src/components/ui/popover.tsx","../src/components/shared/select-input/select-input.tsx","../src/components/shared/badge/badge.tsx","../src/components/ui/textarea.tsx","../src/components/shared/description-input/description-input.tsx","../src/assets/illustrations/CreatingWorkspaceIllustration.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceLoading/AddWorkspaceLoading.tsx","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/asArray.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/is.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/joinTruthy.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/stableHash.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/stringManipulators.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/Rule.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/Sheet.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/utils/forIn.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/cx.ts","../node_modules/.pnpm/flairup@1.0.0/node_modules/flairup/src/index.ts","../src/assets/icons/use-icon.tsx","../src/assets/icons/WorkFeedIcon.tsx","../src/assets/icons/BriefcaseIcon.tsx","../src/components/fromMirantes/WorkspacePanel/api/use-api-get-workspaces.ts","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton.tsx","../src/assets/icons/CircledAddIcon.tsx","../src/assets/icons/workspaces-panel/AddWorkspaceIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/DesktopWorkspaceBar/DesktopWorkspaceBar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceGreetings/WorkspaceGreetings.tsx","../src/components/shared/avatar/avatar.tsx","../src/components/ui/avatar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfo.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspaceUserInfo/WorkspaceUserInfoItem.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspacePanelBar.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItems.tsx","../src/assets/icons/workspaces-panel/FeedIcon.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemSkeleton.tsx","../src/hooks/useMobile.ts","../src/components/fromMirantes/Header/Header.tsx","../src/assets/logos/MirantesLogo.tsx","../src/components/fromMirantes/Header/DesktopHeader/DesktopHeader.tsx","../src/components/fromMirantes/Header/components/UserInfo/UserInfo.tsx","../src/components/shared/dropdown/Dropdown.tsx","../src/components/fromMirantes/Header/components/UserInfo/UserOptions.tsx","../src/components/fromMirantes/utils/cookies-utils.ts","../src/components/fromMirantes/Header/components/Navbar/Navbar.tsx","../src/components/fromMirantes/Header/components/Navbar/NavbarItem.tsx","../src/assets/icons/nav-icons/HomeIcon.tsx","../src/assets/icons/nav-icons/MCPIcon.tsx","../src/assets/icons/nav-icons/ExploreIcon.tsx","../src/assets/icons/nav-icons/AIIcon.tsx","../src/assets/icons/MessagesIcon.tsx","../src/components/fromMirantes/Header/MobileHeader/MobileHeader.tsx","../src/assets/icons/Search.tsx","../src/context/MirantesFoundationProvider.tsx","../src/components/fromMirantes/utils/joinUrlWithPathAndQuery.ts","../src/components/fromMirantes/utils/stringToObj.ts","../src/components/fromMirantes/utils/get-initials.ts","../src/components/shared/emogi-picker/emoji-picker.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/components/AddWorkspaceForm/AddWorkspaceForm.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/AddWorkspaceModal/AddWorkspaceModal.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItemOptions.tsx","../src/components/fromMirantes/WorkspacePanel/components/WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem.tsx","../src/components/fromMirantes/WorkspacePanel/components/MobileWorspaceBar/MobileWorkspaceBar.tsx","../src/components/fromMirantes/WorkspacePanel/WorkspacePanel.tsx"],"names":["Spinner","className","React","ExploreIcon","na","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","_a","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","prefix","Map","prefixedClassGroupEntries","getPrefixedClassGroupEntries","Object","entries","classGroups","forEach","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","key","path","currentClassPartObject","pathPart","has","set","func","classGroupEntries","map","prefixedClassGroup","fromEntries","value","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","separator","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","startsWith","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","sort","createConfigUtils","__spreadValues","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","Boolean","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","apply","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","Set","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","Number","isNaN","isArbitraryNumber","isInteger","isPercent","endsWith","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","twMerge","cn","inputs","clsx","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","br","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext","rootComponentName","defaultContext","BaseContext","ot","Provider","props","scope","children","context","__objRest","Context","_b","jsx","useContext","consumerName","createScope","scopeContexts","contexts","__spreadProps","composeContextScopes","scopes","baseScope","scopeHooks","overrideScopes","nextScopes","useScope","currentScope","NODES","Primitive","primitive","Slot","createSlot","Node","hr","forwardedRef","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","useCallbackRef","callback","callbackRef","qt","args","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","vr","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","$","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","useLayoutEffect","Tr","useReactId","count","useId","deterministicId","id","setId","En","useLayoutEffect2","reactId","sides","min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","expandPaddingObject","getPaddingObject","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","__async","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","_overflowsData$","ignoreCrossAxisOverflow","hasInitialMainAxisOverflow","resetPlacement","d","a","b","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","hide","offsets","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","getDocumentElement","isElement","isHTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","getComputedStyle","isTableElement","isTopLayer","selector","e","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","getNearestOverflowAncestor","parentNode","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","rectsAreEqual","observeMove","onMove","io","timeoutId","root","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","ratio","_e","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","mergedOptions","platformWithCache","useEffect","deepEqual","keys","getDPR","roundByDPR","dpr","useLatestRef","re","useFloating","externalReference","externalFloating","whileElementsMounted","open","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","p1","floatingStyles","initialStyles","arrow$1","isRef","deps","NAME","Arrow","j1","arrowProps","Root","useSize","setSize","k1","entry","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","je","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","sideOffset","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","setContent","setArrow","arrowSize","arrowWidth","arrowHeight","_c","desiredPlacement","collisionPadding","hasExplicitBoundaries","isNotNull","isPositioned","anchorWidth","anchorHeight","contentStyle","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","_d","arrowY","cannotCenterArrow","_f","contentZIndex","setContentZIndex","_g","_h","_i","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Anchor","Content","PORTAL_NAME","Portal","ha","containerProp","portalProps","mounted","setMounted","ReactDOM","useStateMachine","initialState","machine","U1","nextState","Presence","present","presence","usePresence","child","ve","getElementRef","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","getter","mayWarn","useInsertionEffect","useControllableState","prop","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","isControlledRef","Ee","wasControlled","setValue","nextValue","isFunction","prevValueRef","VISUALLY_HIDDEN_STYLES","VisuallyHidden","G1","createTooltipContext","createTooltipScope","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","A","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","openTimerRef","wasOpenDelayedRef","setOpen","stateAttribute","handleOpen","handleClose","handleDelayedOpen","Root2","TRIGGER_NAME","TooltipTrigger","triggerProps","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PortalProvider","usePortalContext","TooltipPortal","forceMount","TooltipContent","portalContext","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","Slottable","createSlottable","ariaLabel","handleScroll","jsxs","TooltipArrow","point","polygon","inside","j","ii","jj","xi","yi","xj","yj","points","newPoints","getHullPresorted","upperHull","q","lowerHull","Trigger","gt","Root3","Content2","Arrow2","useOpen","isOpen","setIsOpen","useState","useOutsideClick","handleClick","packagesEnglishDictionary","packagesFrenchDictionary","packagesPortugueseDictionary","billingTranslation","packageDictionary","locale","EditIcon","color","If","MirantesFoundationContext","useMirantesFoundation","mirantesContext","DeleteIcon","ka","Palette","Dialog","DialogPortal","DialogOverlay","DialogContent","overlayClassName","closeOnOverlayClick","hideCloseButton","X","DialogHeader","DialogTitle","DialogDescription","Modal","header","isLoading","closeOnClickOutside","disableFullScreen","LoadingIcon","xe","Button","disabled","onClick","type","ConfirmModal","onConfirm","title","description","illustration","GET_WORKSPACES","gql","CREATE_WORKSPACES_MUTATION","DELETE_WORKSPACE_MUTATION","UPDATE_WORKSPACE_MUTATION","queryClient","QueryClient","mutationFn","_0","apiUrl","accessToken","request","useApiDeleteWorkspace","deleteWorkspace","isDeletingWorkspace","useMutation","previousData","oldData","page","workspace","injectStyle","head","style","isNum","isStr","isFn","isId","canBeRendered","isValidElement","TOAST_ID","genToastId","containers","renderQueue","listeners","hasContainers","getToast","containerId","isToastActive","isActive","c","removeToast","params","clearWaitingQueue","pushToast","toggleToast","opt","cb","getToastId","dispatchToast","mergeOptions","createToastByType","toast","handlePromise","promise","pending","error","success","resetParams","resolver","input","baseParams","err","dismiss","toastId","oldOptions","oldContent","nextOptions","opts","useToast","message","ToastContainer","AlertIllustration","fo","useAddWorkspaceStore","create","step","CongratulationsIllustration","V","AddWorkspaceDone","motion","useApiCreateWorkspace","useQueryClient","createWorkspace","isCreatingWorkspace","newWorkspace","useApiUpdateWorkspace","updateWorkspace","isUpdatingWorkspace","updatedWorkspace","AddWorkspaceModalFormSchema","useAddWorkspaceModal","setStep","errorToast","user","widgetsApi","selectedInterests","setSelectedInterests","interests","watch","clearErrors","handleSubmit","errors","useForm","yupResolver","getError","field","onSelectInterest","onRemoveInterest","item","onChangeName","onChangeDescription","onSubmit","rest","CircledInfoIcon","Input","et","leftElement","rightElement","leftElementClassName","rightElementClassName","inputClassName","BaseInput","rightIcon","leftIcon","required","wrapperClassName","isFocusing","setIsFocusing","inputRef","useRef","handleBlur","buttonVariants","cva","variant","Qi","Command","ut","CommandPrimitive","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandItem","Popover","Df","PopoverTrigger","PopoverContent","SelectInput","register","onChangeItem","disableSelectedItem","_","selectedValue","setSelectedValue","handleSelect","currentValue","selectedItem","option","selectedOption","hiddenInputRef","ChevronDown","Check","Badge","onRemove","iconClassName","Textarea","qi","DescriptionInput","maxLength","textAreaClassName","setText","handleChange","newValue","CreatingWorkspaceIllustration","AddWorkspaceLoading","asArray","isPsuedoSelector","isStyleCondition","isString","isImmediatePostcondition","isValidProperty","isCssVariables","isMediaQuery","isDirectClass","joinTruthy","arr","delimiter","stableHash","seed","hash","char","handlePropertyValue","camelCaseToDash","str","joinedProperty","toClass","appendString","base","line","Rule","_Rule","sheet","joinedConditions","selectors","mergeSelectors","transformedProperty","output","current","Selector","_Selector","preconditions","postconditions","precondition","postcondition","Sheet","rootNode","styleTag","rule","storedClass","forIn","obj","cx","classes","arg","createSheet","scopedStyles","iteratePreconditions","iterateStyles","addScopedStyle","res","handleMediaQuery","cssVariablesBlock","addEachClass","chunkRows","mediaQuery","ClassNames","asSelectors","Array","_len","_key","stylesheet","hidden","pointerEvents","commonStyles","_extends","PickerStyleTag","suppressHydrationWarning","dangerouslySetInnerHTML","__html","getStyle","commonInteractionStyles","categoryBtn","backgroundPositionY","hiddenOnSearch","visibleOnSearchOnly","hiddenOnReactions","darkMode","_eprDarkTheme","_eprAutoTheme","compareConfig","prev","next","prevCustomEmojis","_prev$customEmojis","customEmojis","nextCustomEmojis","_next$customEmojis","emojiVersion","reactionsDefaultOpen","searchPlaceHolder","searchPlaceholder","defaultSkinTone","skinTonesDisabled","autoFocusSearch","emojiStyle","suggestedEmojisMode","lazyLoadEmojis","searchDisabled","skinTonePickerLocation","DEFAULT_REACTIONS","SuggestionMode","EmojiStyle","Theme","SkinTones","Categories","SkinTonePickerLocation","categoriesOrdered","SUGGESTED","CUSTOM","SMILEYS_PEOPLE","ANIMALS_NATURE","FOOD_DRINK","TRAVEL_PLACES","ACTIVITIES","OBJECTS","SYMBOLS","FLAGS","SuggestedRecent","category","configByCategory","_configByCategory","baseCategoriesConfig","categoryFromCategoryConfig","categoryNameFromCategoryConfig","mergeCategoriesConfig","userCategoriesConfig","extra","suggestionMode","RECENT","_userCategoriesConfig","getBaseConfigByCategory","assign","CDN_URL_APPLE","CDN_URL_FACEBOOK","CDN_URL_TWITTER","CDN_URL_GOOGLE","cdnUrl","TWITTER","GOOGLE","FACEBOOK","APPLE","skinToneVariations","NEUTRAL","LIGHT","MEDIUM_LIGHT","MEDIUM","MEDIUM_DARK","DARK","skinTonesNamed","skinTonesMapped","mapped","skinTone","_Object$assign","EmojiProperties","alphaNumericEmojiIndex","setTimeout","allEmojis","searchIndex","emoji","indexEmoji","joinedNameString","emojiNames","flat","toLowerCase","replace","_alphaNumericEmojiInd","emojiUnified","_emoji$EmojiPropertie","addedIn","parseFloat","added_in","emojiName","unifiedWithoutSkinTone","unified","splat","_splat$splice","splice","emojiHasVariations","_emojiVariationUnifie","emojiVariationUnified","emojisByCategory","_emojis$category","emojis","emojiUrlByUnified","emojiVariations","_emoji$EmojiPropertie2","variations","variation","emojiByUnified","allEmojisByUnified","withoutSkinTone","values","setCustomEmojis","emojiData","customToRegularEmoji","names","imgUrl","Emoji","activeVariationFromUnified","_unified$split","suspectedSkinTone","KNOWN_FAILING_EMOJIS","DEFAULT_SEARCH_PLACEHOLDER","SEARCH_RESULTS_NO_RESULTS_FOUND","SEARCH_RESULTS_SUFFIX","SEARCH_RESULTS_ONE_RESULT_FOUND","SEARCH_RESULTS_MULTIPLE_RESULTS_FOUND","mergeConfig","userConfig","basePickerConfig","previewConfig","_userConfig$previewCo","categories","hiddenEmojis","unicodeToHide","add","_config$customEmojis","PREVIEW","getEmojiUrl","basePreviewConfig","SEARCH","FREQUENT","reactions","allowExpandReactions","defaultEmoji","defaultCaption","showPreview","ConfigContext","PickerConfigProvider","_objectWithoutPropertiesLoose","_excluded","mergedConfig","useSetConfig","_React$useState","setMergedConfig","usePickerConfig","MutableConfigContext","useMutableConfig","mutableConfig","useDefineMutableConfig","MutableConfigRef","onEmojiClick","emptyFunc","onReactionClick","onSkinToneChange","MOUSE_EVENT_SOURCE","useSearchPlaceHolderConfig","_usePickerConfig","_find","useDefaultSkinToneConfig","_usePickerConfig2","useAllowExpandReactions","_usePickerConfig3","useSkinTonesDisabledConfig","_usePickerConfig4","useEmojiStyleConfig","_usePickerConfig5","useAutoFocusSearchConfig","_usePickerConfig6","useCategoriesConfig","_usePickerConfig7","useCustomEmojisConfig","_usePickerConfig8","useOpenConfig","_usePickerConfig9","useOnEmojiClickConfig","mouseEventSource","_useMutableConfig","REACTIONS","useOnSkinToneChangeConfig","_useMutableConfig2","usePreviewConfig","_usePickerConfig10","useThemeConfig","_usePickerConfig11","useSuggestedEmojisModeConfig","_usePickerConfig12","useLazyLoadEmojisConfig","_usePickerConfig13","useClassNameConfig","_usePickerConfig14","useStyleConfig","_usePickerConfig15","getDimension","useReactionsOpenConfig","_usePickerConfig16","useEmojiVersionConfig","_usePickerConfig17","useSearchDisabledConfig","_usePickerConfig18","useSkinTonePickerLocationConfig","_usePickerConfig19","useUnicodeToHide","_usePickerConfig20","useReactionsConfig","_usePickerConfig21","useGetEmojiUrlConfig","_usePickerConfig22","dimensionConfig","useSearchResultsConfig","searchResultsCount","hasResults","isPlural","toString","useDebouncedState","initialValue","_useState","setState","timer","debouncedSetState","Promise","resolve","clearTimeout","_window","window","useIsUnicodeHidden","useDisallowedEmojis","DisallowedEmojisRef","emojiVersionConfig","useMemo","disallowedEmojis","addedInNewerVersion","useIsEmojiDisallowed","isUnicodeHidden","supportedLevel","useMarkInitialLoad","dispatch","PickerContextProvider","filterRef","disallowClickRef","disallowMouseRef","disallowedEmojisRef","suggestedUpdateState","Date","now","searchTerm","skinToneFanOpenState","activeSkinTone","activeCategoryState","emojisThatFailedToLoadState","emojiVariationPickerState","reactionsModeState","isPastInitialLoad","setIsPastInitialLoad","PickerContext","useFilterRef","_React$useContext","useDisallowClickRef","_React$useContext2","useDisallowMouseRef","_React$useContext3","useReactionsModeState","_React$useContext4","useSearchTermState","_React$useContext5","useActiveSkinToneState","_React$useContext6","useEmojisThatFailedToLoadState","_React$useContext7","useIsPastInitialLoad","_React$useContext8","useEmojiVariationPickerState","_React$useContext9","useSkinToneFanOpenState","_React$useContext10","useUpdateSuggested","_React$useContext12","suggestedUpdated","setsuggestedUpdate","updateSuggested","useIsSearchMode","_useSearchTermState","focusElement","requestAnimationFrame","focus","focusPrevElementSibling","previousElementSibling","focusNextElementSibling","nextElementSibling","focusFirstElementChild","first","firstElementChild","getActiveElement","document","activeElement","ElementRefContextProvider","PickerMainRef","AnchoredEmojiRef","BodyRef","SearchInputRef","SkinTonePickerRef","CategoryNavigationRef","VariationPickerRef","ReactionsRef","ElementRefContext","useElementRef","usePickerMainRef","useAnchoredEmojiRef","useSetAnchoredEmojiRef","useBodyRef","useReactionsRef","useSearchInputRef","useSkinTonePickerRef","useCategoryNavigationRef","useVariationPickerRef","scrollTo","$eprBody","queryScrollBody","scrollTop","scrollBy","by","useScrollTo","useCallback","scrollEmojiAboveLabel","isEmojiBehindLabel","closest","variationPicker","scrollBody","closestScrollBody","emojiDistanceFromScrollTop","categoryLabelHeight","closestCategory","focusFirstVisibleEmoji","parent","firstVisibleEmoji","focusAndClickFirstVisibleEmoji","firstEmoji","click","focusLastVisibleEmoji","lastVisibleEmoji","focusNextVisibleEmoji","nextVisibleEmoji","nextCategory","focusPrevVisibleEmoji","prevVisibleEmoji","prevCategory","focusVisibleEmojiOneRowUp","exitUp","visibleEmojiOneRowUp","focusVisibleEmojiOneRowDown","visibleEmojiOneRowDown","categoryContent","closestCategoryContent","indexInRow","elementIndexInRow","rowNumber","countInRow","elementCountInRow","prevVisibleCategory","getElementInRow","allVisibleEmojis","getElementInPrevRow","hasNextRow","nextVisibleCategory","itemInNextRow","getElementInNextRow","useCloseAllOpenToggles","_useEmojiVariationPic","setVariationPicker","_useSkinToneFanOpenSt","skinToneFanOpen","setSkinToneFanOpen","closeAllOpenToggles","useHasOpenToggles","_useEmojiVariationPic2","_useSkinToneFanOpenSt2","hasOpenToggles","useDisallowMouseMove","DisallowMouseRef","disallowMouseMove","useAllowMouseMove","allowMouseMove","useIsMouseDisallowed","isMouseDisallowed","useOnMouseMove","bodyRef","addEventListener","onMouseMove","passive","removeEventListener","useFocusSearchInput","useFocusSkinTonePicker","useFocusCategoryNavigation","useSetFilterRef","setFilter","setter","useClearSearch","applySearch","useApplySearch","focusSearchInput","clearSearch","useAppendSearch","getNormalizedSearchTerm","useFilter","setFilterRef","statusSearchResults","getStatusSearchResults","inputValue","longestMatch","findLongestMatch","filterEmojiObjectByKeyword","_useSearchTermState2","setSearchTerm","then","keyword","filtered","hasMatch","some","useIsEmojiFiltered","_useFilterRef","_useSearchTermState3","isEmojiFilteredBySearchTerm","_filter$searchTerm","dict","longestMatchingKey","filterState","_Object$entries","useSetVariationPicker","setAnchoredEmojiRef","setEmojiVariationPicker","_emojiFromElement","emojiFromElement","useIsSkinToneInSearch","skinTonePickerLocationConfig","useIsSkinToneInPreview","KeyboardEvents","useKeyboardNavigation","usePickerMainKeyboardEvents","useSearchInputKeyboardEvents","useSkinTonePickerKeyboardEvents","useCategoryNavigationKeyboardEvents","useBodyKeyboardEvents","onKeyDown","Escape","preventDefault","focusSkinTonePicker","setSkinToneFanOpenState","goDownFromSearchInput","useGoDownFromSearchInput","isSkinToneInSearch","ArrowRight","ArrowDown","Enter","isSkinToneInPreview","onType","useOnType","ArrowLeft","focusNextSkinTone","focusPrevSkinTone","ArrowUp","goUpFromBody","useGoUpFromBody","buttonFromTarget","Space","focusCategoryNavigation","isSearchMode","goUpFromEmoji","exitLeft","currentSkinTone","hasNextElementSibling","appendSearch","hasModifier","match","metaKey","ctrlKey","altKey","preloadEmoji","NATIVE","preloadedEmojs","emojiUrl","preloadImage","url","image","Image","src","useOnFocus","onFocus","button","DEFAULT_LABEL_HEIGHT","PickerMain","PickerRootElement","_ref2","_useReactionsModeStat","reactionsMode","searchModeActive","_ref3","styleProps","main","baseVariables","darkTheme","AUTO","autoThemeDark","_cx","searchActive","reactionsMenu","DarkTheme","emojiPicker","flexDirection","borderStyle","backgroundColor","boxSizing","fontFamily","autoTheme","backdropFilter","parentWidth","elementWidth","Math","elementLeft","parentLeft","elementHeight","elementTop","parentTop","parentHeight","getRowElements","elementsInRow","lastRow","firstElementIndex","lastElementIndex","getNextRowElements","allElements","currentRow","nextRow","rowElements","nextRowElements","prevRowElements","firstVisibleElementInContainer","maxVisibilityDiffThreshold","parentBottom","parentTopWithLabel","getLabelHeight","visibleElements","elementBottom","maxVisibilityDiffPixels","clientHeight","elementTopWithAllowedDiff","elementBottomWithAllowedDiff","labels","querySelectorAll","_labels","EmojiButtonSelector","VisibleEmojiSelector","visible","emojiElement","_emojiElement$closest","originalUnified","originalUnifiedFromEmojiElement","unifiedFromEmojiElement","isEmojiElement","matches","_element$parentElemen","parentElement","_element$clientHeight","emojiTrueOffsetTop","labelHeight","elementOffsetTop","categoryWithoutLabel","querySelector","_category$clientHeigh","_categoryWithoutLabel","_closestScrollBody$sc","_closestScrollBody","_element$closest","emojiTruOffsetLeft","elementOffsetLeft","_element$offsetTop","offsetTop","_element$offsetLeft","offsetLeft","_elementDataSetKey","elementDataSetKey","allUnifiedFromEmojiElement","_elementDataSet$key","elementDataSet","_element$dataset","dataset","isVisibleEmoji","contains","isHidden","_allEmojis$slice","last","parseNativeEmoji","hex","String","fromCodePoint","parseInt","SUGGESTED_LS_KEY","getSuggested","mode","_window$localStorage$","_window2","localStorage","recent","JSON","parse","getItem","_unused","setSuggested","existing","u","nextList","concat","original","_window3","setItem","stringify","_unused2","isCustomCategory","isCustomEmoji","useMouseDownHandlers","ContainerRef","mouseDownTimerRef","_useActiveSkinToneSta","_useUpdateSuggested","activeEmojiStyle","_emojiFromEvent","emojiFromEvent","skinToneToUse","emojiClickOutput","onMouseDown","_emojiFromEvent2","onMouseUp","confainerRef","getImageUrl","imageUrl","isCustom","background","ClickableEmojiButton","_ref$showVariations","showVariations","hasVariations","_ref$noBackground","noBackground","getAriaLabel","_emojiNames$","alignItems","justifyContent","maxWidth","maxHeight","borderLeft","borderRight","borderBottom","zIndex","emojiStyles","external","fontSize","common","alignSelf","justifySelf","EmojiImg","_ref$lazyLoad","lazyLoad","onError","alt","emojiImag","loading","minWidth","minHeight","NativeEmoji","nativeEmoji","lineHeight","textAlign","letterSpacing","ViewOnlyEmoji","_ref$getEmojiUrl","_useEmojisThatFailedT","setEmojisThatFailedToLoad","emojiToRender","EmojiButton","icon","containerClassName","showPicker","setShowPicker","pickerRef","buttonRef","handleClickOutside","togglePicker","handleEmojiClick","emoji_picker_react_esm_default","UserIcon","pn","AddWorkspaceForm","interest","interestData","AddWorkspaceModal","setWorkspace","WorkspaceBarItemOptions","successToast","isOpenDelete","onOpenDelete","onCloseDelete","isOpenEdit","onOpenEdit","onCloseEdit","handleDeleteWorkspace","WorkspaceBarItem","href","active","isCurrent","onOpen","handleRightClick","WorkFeedIcon","BriefcaseIcon","Vf","getWorkspaces","pageParam","response","useApiGetWorkspaces","isGetWorkspacesLoading","fetchNextPage","hasNextPage","isFetchingNextPage","useInfiniteQuery","lastPage","currentPage","CircledAddIcon","Mn","AddWorkspaceIcon","qf","AddWorkspaceButton","MobileWorkspaceBar","workspaces","Avatar","hn","AvatarImage","AvatarFallback","getInitials","WorkspaceUserInfoItem","WorkspaceUserInfo","WorkspaceGreetings","FeedIcon","Z","WorkspaceBarItemSkeleton","WorkspaceBarItems","WorkspacePanelBar","ChevronDownIcon","DesktopWorkspaceBar","MOBILE_BREAKPOINT","useMobile","isMobile","setIsMobile","checkIsMobile","WorkspacePanel","MirantesLogo","Dropdown","toggle","MoreVerticalIcon","useUserSessions","environment","mirantesDomain","resolvedDomain","saveCookie","setCookie","destroyCookie","deleteCookie","getSavedCookie","getCookie","UserOptions","LogOut","UserInfo","NavbarItem","HomeIcon","MCPIcon","Navbar","AIIcon","jn","MessagesIcon","mf","DesktopHeader","search","setSearch","NotificationsWrapper","SearchSvg","MobileHeader","Notification","handleRedirectToProfile","MenuIcon","Header","MirantesFoundationProvider","Link","usePathname","hostUrl","isDev","QueryClientProvider","ReactQueryDevtools","joinUrlWithPathAndQuery","baseUrl","query","queryParams","stringToObj","inputString","keyValuePairs","resultObj","pair","fullName","parts","firstInitial","lastInitial"],"mappings":"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","file":"index.mjs","sourcesContent":["import React from \"react\";\r\n\r\nexport default function Spinner({ className }: { className?: string }) {\r\n return (\r\n <div className=\"\">\r\n <svg\r\n aria-hidden=\"true\"\r\n className={`w-6 h-6 mr-2 animate-spin text-gray-200 fill-primary ${className}`}\r\n viewBox=\"0 0 100 101\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\r\n fill=\"currentColor\"\r\n />\r\n <path\r\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\r\n fill=\"currentFill\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"21\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 21\"\r\n >\r\n <path\r\n fill=\"#687588\"\r\n d=\"M13.396 2.167h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V4.3c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#687588\"\r\n d=\"M6.604 11.721c1.168 0 2.115.955 2.115 2.133V16.7a2.125 2.125 0 0 1-2.115 2.134H3.782A2.125 2.125 0 0 1 1.667 16.7v-2.846c0-1.178.947-2.133 2.115-2.133zm9.614 0c1.168 0 2.116.955 2.116 2.133V16.7a2.126 2.126 0 0 1-2.116 2.134h-2.822a2.125 2.125 0 0 1-2.115-2.134v-2.846c0-1.178.947-2.133 2.115-2.133zM6.604 2.167c1.169 0 2.115.955 2.115 2.133v2.845a2.125 2.125 0 0 1-2.115 2.134H3.782a2.125 2.125 0 0 1-2.115-2.134V4.3c0-1.178.946-2.133 2.115-2.133z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[]\n classGroupId?: AnyClassGroupIds\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\nconst CLASS_PART_SEPARATOR = '-'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n const classParts = className.split(CLASS_PART_SEPARATOR)\n\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift()\n }\n\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ) => {\n const conflicts = conflictingClassGroups[classGroupId] || []\n\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]\n }\n\n return conflicts\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[0]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n const classGroupFromNextClassPart = nextClassPartObject\n ? getGroupRecursive(classParts.slice(1), nextClassPartObject)\n : undefined\n\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart\n }\n\n if (classPartObject.validators.length === 0) {\n return undefined\n }\n\n const classRest = classParts.join(CLASS_PART_SEPARATOR)\n\n return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId\n}\n\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/\n\nconst getGroupIdForArbitraryProperty = (className: string) => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]\n const property = arbitraryPropertyClassName?.substring(\n 0,\n arbitraryPropertyClassName.indexOf(':'),\n )\n\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property\n }\n }\n}\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, prefix } = config\n const classMap: ClassPartObject = {\n nextPart: new Map<string, ClassPartObject>(),\n validators: [],\n }\n\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(\n Object.entries(config.classGroups),\n prefix,\n )\n\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme)\n })\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n classGroup.forEach((classDefinition) => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n return\n }\n\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(\n classDefinition(theme),\n classPartObject,\n classGroupId,\n theme,\n )\n return\n }\n\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId,\n })\n\n return\n }\n\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(\n classGroup,\n getPart(classPartObject, key),\n classGroupId,\n theme,\n )\n })\n })\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string) => {\n let currentClassPartObject = classPartObject\n\n path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: [],\n })\n }\n\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!\n })\n\n return currentClassPartObject\n}\n\nconst isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>\n (func as ThemeGetter).isThemeGetter\n\nconst getPrefixedClassGroupEntries = (\n classGroupEntries: Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]>,\n prefix: string | undefined,\n): Array<[classGroupId: string, classGroup: ClassGroup<AnyThemeGroupIds>]> => {\n if (!prefix) {\n return classGroupEntries\n }\n\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map((classDefinition) => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition\n }\n\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(\n Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]),\n )\n }\n\n return classDefinition\n })\n\n return [classGroupId, prefixedClassGroup]\n })\n}\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nexport const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache = new Map<Key, Value>()\n let previousCache = new Map<Key, Value>()\n\n const update = (key: Key, value: Value) => {\n cache.set(key, value)\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = new Map()\n }\n }\n\n return {\n get(key) {\n let value = cache.get(key)\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value)\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { separator, experimentalParseClassName } = config\n const isSeparatorSingleCharacter = separator.length === 1\n const firstSeparatorCharacter = separator[0]\n const separatorLength = separator.length\n\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = (className: string) => {\n const modifiers = []\n\n let bracketDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index]\n\n if (bracketDepth === 0) {\n if (\n currentCharacter === firstSeparatorCharacter &&\n (isSeparatorSingleCharacter ||\n className.slice(index, index + separatorLength) === separator)\n ) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + separatorLength\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') {\n bracketDepth++\n } else if (currentCharacter === ']') {\n bracketDepth--\n }\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.substring(modifierStart)\n const hasImportantModifier =\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n const baseClassName = hasImportantModifier\n ? baseClassNameWithImportantModifier.substring(1)\n : baseClassNameWithImportantModifier\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n }\n }\n\n if (experimentalParseClassName) {\n return (className: string) => experimentalParseClassName({ className, parseClassName })\n }\n\n return parseClassName\n}\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const sortModifiers = (modifiers: string[]) => {\n if (modifiers.length <= 1) {\n return modifiers\n }\n\n const sortedModifiers: string[] = []\n let unsortedModifiers: string[] = []\n\n modifiers.forEach((modifier) => {\n const isArbitraryVariant = modifier[0] === '['\n\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n unsortedModifiers = []\n } else {\n unsortedModifiers.push(modifier)\n }\n })\n\n sortedModifiers.push(...unsortedModifiers.sort())\n\n return sortedModifiers\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER, sortModifiers } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } =\n parseClassName(originalClassName)\n\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition)\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n const variantModifier = sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport function twJoin(...classLists: ClassNameValue[]): string\nexport function twJoin() {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < arguments.length) {\n if ((argument = arguments[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string) => {\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport function createTailwindMerge(\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall = initTailwindMerge\n\n function initTailwindMerge(classList: string) {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n function tailwindMerge(classList: string) {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments as any))\n }\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || []\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst stringLengths = new Set(['px', 'full', 'screen'])\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isLength = (value: string) =>\n isNumber(value) || stringLengths.has(value) || fractionRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, 'length', isLengthOnly)\n\nexport const isNumber = (value: string) => Boolean(value) && !Number.isNaN(Number(value))\n\nexport const isArbitraryNumber = (value: string) => getIsArbitraryValue(value, 'number', isNumber)\n\nexport const isInteger = (value: string) => Boolean(value) && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nconst sizeLabels = new Set(['length', 'size', 'percentage'])\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, sizeLabels, isNever)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, 'position', isNever)\n\nconst imageLabels = new Set(['image', 'url'])\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, imageLabels, isImage)\n\nexport const isArbitraryShadow = (value: string) => getIsArbitraryValue(value, '', isShadow)\n\nexport const isAny = () => true\n\nconst getIsArbitraryValue = (\n value: string,\n label: string | Set<string>,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n const colors = fromTheme('colors')\n const spacing = fromTheme('spacing')\n const blur = fromTheme('blur')\n const brightness = fromTheme('brightness')\n const borderColor = fromTheme('borderColor')\n const borderRadius = fromTheme('borderRadius')\n const borderSpacing = fromTheme('borderSpacing')\n const borderWidth = fromTheme('borderWidth')\n const contrast = fromTheme('contrast')\n const grayscale = fromTheme('grayscale')\n const hueRotate = fromTheme('hueRotate')\n const invert = fromTheme('invert')\n const gap = fromTheme('gap')\n const gradientColorStops = fromTheme('gradientColorStops')\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions')\n const inset = fromTheme('inset')\n const margin = fromTheme('margin')\n const opacity = fromTheme('opacity')\n const padding = fromTheme('padding')\n const saturate = fromTheme('saturate')\n const scale = fromTheme('scale')\n const sepia = fromTheme('sepia')\n const skew = fromTheme('skew')\n const space = fromTheme('space')\n const translate = fromTheme('translate')\n\n const getOverscroll = () => ['auto', 'contain', 'none'] as const\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing] as const\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing] as const\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength] as const\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue] as const\n const getPositions = () =>\n [\n 'bottom',\n 'center',\n 'left',\n 'left-bottom',\n 'left-top',\n 'right',\n 'right-bottom',\n 'right-top',\n 'top',\n ] as const\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'] as const\n const getBlendModes = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const getAlign = () =>\n ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'] as const\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue] as const\n const getBreaks = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue]\n\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary(),\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{ aspect: ['auto', 'square', 'video', isArbitraryValue] }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{ columns: [isTshirtSize] }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': getBreaks() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': getBreaks() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: [...getPositions(), isArbitraryValue] }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: getOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': getOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': getOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: getOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': getOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': getOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: [inset] }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': [inset] }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': [inset] }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: [inset] }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: [inset] }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: [inset] }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: [inset] }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: [inset] }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: [inset] }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: ['auto', isInteger, isArbitraryValue] }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{ basis: getSpacingWithAutoAndArbitrary() }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['wrap', 'wrap-reverse', 'nowrap'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: getZeroAndEmpty() }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: getZeroAndEmpty() }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{ order: ['first', 'last', 'none', isInteger, isArbitraryValue] }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': [isAny] }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [\n {\n col: [\n 'auto',\n { span: ['full', isInteger, isArbitraryValue] },\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': [isAny] }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [\n { row: ['auto', { span: [isInteger, isArbitraryValue] }, isArbitraryValue] },\n ],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': getNumberWithAutoAndArbitrary() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue] }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: [gap] }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': [gap] }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': [gap] }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: ['normal', ...getAlign()] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': ['start', 'end', 'center', 'stretch'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...getAlign(), 'baseline'] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline'] }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': [...getAlign(), 'baseline'] }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', 'start', 'end', 'center', 'stretch'] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: [padding] }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: [padding] }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: [padding] }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: [padding] }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: [padding] }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: [padding] }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: [padding] }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: [padding] }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: [padding] }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: [margin] }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: [margin] }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: [margin] }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: [margin] }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: [margin] }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: [margin] }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: [margin] }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: [margin] }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: [margin] }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{ 'space-x': [space] }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{ 'space-y': [space] }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [\n {\n w: [\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svw',\n 'lvw',\n 'dvw',\n isArbitraryValue,\n spacing,\n ],\n },\n ],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{ 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit'] }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n isArbitraryValue,\n spacing,\n 'none',\n 'full',\n 'min',\n 'max',\n 'fit',\n 'prose',\n { screen: [isTshirtSize] },\n isTshirtSize,\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [\n {\n h: [\n isArbitraryValue,\n spacing,\n 'auto',\n 'min',\n 'max',\n 'fit',\n 'svh',\n 'lvh',\n 'dvh',\n ],\n },\n ],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [\n { 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [\n { 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh'] },\n ],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{ size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit'] }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{ text: ['base', isTshirtSize, isArbitraryLength] }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [\n {\n font: [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isAny] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [\n {\n tracking: [\n 'tighter',\n 'tight',\n 'normal',\n 'wide',\n 'wider',\n 'widest',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{ 'line-clamp': ['none', isNumber, isArbitraryNumber] }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n 'none',\n 'tight',\n 'snug',\n 'normal',\n 'relaxed',\n 'loose',\n isLength,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryValue] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{ list: ['none', 'disc', 'decimal', isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: [colors] }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{ 'placeholder-opacity': [opacity] }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: [colors] }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{ 'text-opacity': [opacity] }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...getLineStyles(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n { decoration: ['auto', 'from-font', isLength, isArbitraryLength] },\n ],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{ 'underline-offset': ['auto', isLength, isArbitraryValue] }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: [colors] }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: getSpacingWithArbitrary() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryValue] }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{ 'bg-opacity': [opacity] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: [...getPositions(), isArbitraryPosition] }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: ['no-repeat', { repeat: ['', 'x', 'y', 'round', 'space'] }] }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: ['auto', 'cover', 'contain', isArbitrarySize] }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n { 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: [colors] }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: [gradientColorStopPositions] }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: [gradientColorStops] }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: [gradientColorStops] }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: [gradientColorStops] }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: [borderRadius] }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': [borderRadius] }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': [borderRadius] }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': [borderRadius] }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': [borderRadius] }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': [borderRadius] }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': [borderRadius] }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': [borderRadius] }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': [borderRadius] }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': [borderRadius] }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': [borderRadius] }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': [borderRadius] }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': [borderRadius] }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': [borderRadius] }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': [borderRadius] }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: [borderWidth] }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': [borderWidth] }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': [borderWidth] }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': [borderWidth] }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': [borderWidth] }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': [borderWidth] }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': [borderWidth] }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': [borderWidth] }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': [borderWidth] }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{ 'border-opacity': [opacity] }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...getLineStyles(), 'hidden'] }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{ 'divide-x': [borderWidth] }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{ 'divide-y': [borderWidth] }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{ 'divide-opacity': [opacity] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{ divide: getLineStyles() }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: [borderColor] }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': [borderColor] }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': [borderColor] }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': [borderColor] }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': [borderColor] }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': [borderColor] }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': [borderColor] }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': [borderColor] }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': [borderColor] }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: [borderColor] }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: ['', ...getLineStyles()] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{ 'outline-offset': [isLength, isArbitraryValue] }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{ outline: [isLength, isArbitraryLength] }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: [colors] }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{ ring: getLengthWithEmptyAndArbitrary() }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{ ring: [colors] }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{ 'ring-opacity': [opacity] }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{ 'ring-offset': [isLength, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{ 'ring-offset': [colors] }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow] }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{ shadow: [isAny] }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [opacity] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': getBlendModes() }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{ filter: ['', 'none'] }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: [blur] }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [brightness] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [contrast] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue] }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: [grayscale] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [hueRotate] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: [invert] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [saturate] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: [sepia] }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{ 'backdrop-filter': ['', 'none'] }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': [blur] }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{ 'backdrop-brightness': [brightness] }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{ 'backdrop-contrast': [contrast] }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{ 'backdrop-grayscale': [grayscale] }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{ 'backdrop-hue-rotate': [hueRotate] }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{ 'backdrop-invert': [invert] }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{ 'backdrop-opacity': [opacity] }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{ 'backdrop-saturate': [saturate] }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{ 'backdrop-sepia': [sepia] }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': [borderSpacing] }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': [borderSpacing] }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': [borderSpacing] }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n 'none',\n 'all',\n '',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: getNumberAndArbitrary() }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue] }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: getNumberAndArbitrary() }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue] }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{ transform: ['', 'gpu', 'none'] }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: [scale] }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': [scale] }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': [scale] }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: [isInteger, isArbitraryValue] }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': [translate] }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': [translate] }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': [skew] }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': [skew] }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [\n {\n origin: [\n 'center',\n 'top',\n 'top-right',\n 'right',\n 'bottom-right',\n 'bottom',\n 'bottom-left',\n 'left',\n 'top-left',\n isArbitraryValue,\n ],\n },\n ],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: ['auto', colors] }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: [colors] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['none', 'auto'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', 'y', 'x', ''] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': getSpacingWithArbitrary() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': getSpacingWithArbitrary() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': getSpacingWithArbitrary() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [\n {\n touch: ['auto', 'none', 'manipulation'],\n },\n ],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [\n {\n 'touch-pan': ['x', 'left', 'right'],\n },\n ],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [\n {\n 'touch-pan': ['y', 'up', 'down'],\n },\n ],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n { 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue] },\n ],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: [colors, 'none'] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{ stroke: [isLength, isArbitraryLength, isArbitraryNumber] }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: [colors, 'none'] }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\n\nexport const twMerge = createTailwindMerge(getDefaultConfig)\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","function composeEventHandlers<E extends { defaultPrevented: boolean }>(\n originalEventHandler?: (event: E) => void,\n ourEventHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) {\n return function handleEvent(event: E) {\n originalEventHandler?.(event);\n\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == 'function') {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from 'react';\n\nfunction createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n) {\n const Context = React.createContext<ContextValueType | undefined>(defaultContext);\n\n const Provider: React.FC<ContextValueType & { children: React.ReactNode }> = (props) => {\n const { children, ...context } = props;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n Provider.displayName = rootComponentName + 'Provider';\n\n function useContext(consumerName: string) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n return [Provider, useContext] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/\n\ntype Scope<C = any> = { [scopeName: string]: React.Context<C>[] } | undefined;\ntype ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope };\ninterface CreateScope {\n scopeName: string;\n (): ScopeHook;\n}\n\nfunction createContextScope(scopeName: string, createContextScopeDeps: CreateScope[] = []) {\n let defaultContexts: any[] = [];\n\n /* -----------------------------------------------------------------------------------------------\n * createContext\n * ---------------------------------------------------------------------------------------------*/\n\n function createContext<ContextValueType extends object | null>(\n rootComponentName: string,\n defaultContext?: ContextValueType\n ) {\n const BaseContext = React.createContext<ContextValueType | undefined>(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n\n const Provider: React.FC<\n ContextValueType & { scope: Scope<ContextValueType>; children: React.ReactNode }\n > = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n // Only re-memoize when prop values change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n return <Context.Provider value={value}>{children}</Context.Provider>;\n };\n\n Provider.displayName = rootComponentName + 'Provider';\n\n function useContext(consumerName: string, scope: Scope<ContextValueType | undefined>) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== undefined) return defaultContext;\n // if a defaultContext wasn't specified, it's a required context.\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n\n return [Provider, useContext] as const;\n }\n\n /* -----------------------------------------------------------------------------------------------\n * createScope\n * ---------------------------------------------------------------------------------------------*/\n\n const createScope: CreateScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope: Scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n\n createScope.scopeName = scopeName;\n return [createContext, composeContextScopes(createScope, ...createContextScopeDeps)] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/\n\nfunction composeContextScopes(...scopes: CreateScope[]) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n\n const createScope: CreateScope = () => {\n const scopeHooks = scopes.map((createScope) => ({\n useScope: createScope(),\n scopeName: createScope.scopeName,\n }));\n\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes, { useScope, scopeName }) => {\n // We are calling a hook inside a callback which React warns against to avoid inconsistent\n // renders, however, scoping doesn't have render side effects so we ignore the rule.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes, ...currentScope };\n }, {});\n\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nexport { createContext, createContextScope };\nexport type { CreateScope, Scope };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createSlot } from '@radix-ui/react-slot';\n\nconst NODES = [\n 'a',\n 'button',\n 'div',\n 'form',\n 'h2',\n 'h3',\n 'img',\n 'input',\n 'label',\n 'li',\n 'nav',\n 'ol',\n 'p',\n 'select',\n 'span',\n 'svg',\n 'ul',\n] as const;\n\ntype Primitives = { [E in (typeof NODES)[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<E extends React.ElementType>\n extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\nconst Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n const { asChild, ...primitiveProps } = props;\n const Comp: any = asChild ? Slot : node;\n\n if (typeof window !== 'undefined') {\n (window as any)[Symbol.for('radix-ui')] = true;\n }\n\n return <Comp {...primitiveProps} ref={forwardedRef} />;\n });\n\n Node.displayName = `Primitive.${node}`;\n\n return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n * - discrete\n * - continuous\n * - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not necessary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n Primitive,\n //\n Root,\n //\n dispatchDiscreteCustomEvent,\n};\nexport type { PrimitivePropsWithRef };\n","import * as React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nfunction useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T {\n const callbackRef = React.useRef(callback);\n\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n\n // https://github.com/facebook/react/issues/19240\n return React.useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n\nexport { useCallbackRef };\n","import * as React from 'react';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\n/**\n * Listens for when the escape key is down\n */\nfunction useEscapeKeydown(\n onEscapeKeyDownProp?: (event: KeyboardEvent) => void,\n ownerDocument: Document = globalThis?.document\n) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener('keydown', handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener('keydown', handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\n\nexport { useEscapeKeydown };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useEscapeKeydown } from '@radix-ui/react-use-escape-keydown';\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayer\n * -----------------------------------------------------------------------------------------------*/\n\nconst DISMISSABLE_LAYER_NAME = 'DismissableLayer';\nconst CONTEXT_UPDATE = 'dismissableLayer.update';\nconst POINTER_DOWN_OUTSIDE = 'dismissableLayer.pointerDownOutside';\nconst FOCUS_OUTSIDE = 'dismissableLayer.focusOutside';\n\nlet originalBodyPointerEvents: string;\n\nconst DismissableLayerContext = React.createContext({\n layers: new Set<DismissableLayerElement>(),\n layersWithOutsidePointerEventsDisabled: new Set<DismissableLayerElement>(),\n branches: new Set<DismissableLayerBranchElement>(),\n});\n\ntype DismissableLayerElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DismissableLayerProps extends PrimitiveDivProps {\n /**\n * When `true`, hover/focus/click interactions will be disabled on elements outside\n * the `DismissableLayer`. Users will need to click twice on outside elements to\n * interact with them: once to close the `DismissableLayer`, and again to trigger the element.\n */\n disableOutsidePointerEvents?: boolean;\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void;\n /**\n * Event handler called when the focus moves outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void;\n /**\n * Event handler called when an interaction happens outside the `DismissableLayer`.\n * Specifically, when a `pointerdown` event happens outside or focus moves outside of it.\n * Can be prevented.\n */\n onInteractOutside?: (event: PointerDownOutsideEvent | FocusOutsideEvent) => void;\n /**\n * Handler called when the `DismissableLayer` should be dismissed\n */\n onDismiss?: () => void;\n}\n\nconst DismissableLayer = React.forwardRef<DismissableLayerElement, DismissableLayerProps>(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState<DismissableLayerElement | null>(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node) => setNode(node));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1); // prettier-ignore\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled!); // prettier-ignore\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target as HTMLElement;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n\n const focusOutside = useFocusOutside((event) => {\n const target = event.target as HTMLElement;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = 'none';\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (\n disableOutsidePointerEvents &&\n context.layersWithOutsidePointerEventsDisabled.size === 1\n ) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n\n /**\n * We purposefully prevent combining this effect with the `disableOutsidePointerEvents` effect\n * because a change to `disableOutsidePointerEvents` would remove this layer from the stack\n * and add it to the end again so the layering order wouldn't be _creation order_.\n * We only want them to be removed from context stacks when unmounted.\n */\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n\n return (\n <Primitive.div\n {...layerProps}\n ref={composedRefs}\n style={{\n pointerEvents: isBodyPointerEventsDisabled\n ? isPointerEventsEnabled\n ? 'auto'\n : 'none'\n : undefined,\n ...props.style,\n }}\n onFocusCapture={composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture)}\n onBlurCapture={composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture)}\n onPointerDownCapture={composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )}\n />\n );\n }\n);\n\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DismissableLayerBranch\n * -----------------------------------------------------------------------------------------------*/\n\nconst BRANCH_NAME = 'DismissableLayerBranch';\n\ntype DismissableLayerBranchElement = React.ComponentRef<typeof Primitive.div>;\ninterface DismissableLayerBranchProps extends PrimitiveDivProps {}\n\nconst DismissableLayerBranch = React.forwardRef<\n DismissableLayerBranchElement,\n DismissableLayerBranchProps\n>((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef<DismissableLayerBranchElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n\n return <Primitive.div {...props} ref={composedRefs} />;\n});\n\nDismissableLayerBranch.displayName = BRANCH_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PointerDownOutsideEvent = CustomEvent<{ originalEvent: PointerEvent }>;\ntype FocusOutsideEvent = CustomEvent<{ originalEvent: FocusEvent }>;\n\n/**\n * Listens for `pointerdown` outside a react subtree. We use `pointerdown` rather than `pointerup`\n * to mimic layer dismissing behaviour present in OS.\n * Returns props to pass to the node we want to check for outside events.\n */\nfunction usePointerDownOutside(\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void,\n ownerDocument: Document = globalThis?.document\n) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside) as EventListener;\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {});\n\n React.useEffect(() => {\n const handlePointerDown = (event: PointerEvent) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n\n function handleAndDispatchPointerDownOutsideEvent() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n }\n\n /**\n * On touch devices, we need to wait for a click event because browsers implement\n * a ~350ms delay between the time the user stops touching the display and when the\n * browser executres events. We need to ensure we don't reactivate pointer-events within\n * this timeframe otherwise the browser may execute events that should have been prevented.\n *\n * Additionally, this also lets us deal automatically with cancellations when a click event\n * isn't raised because the page was considered scrolled/drag-scrolled, long-pressed, etc.\n *\n * This is why we also continuously remove the previous listener, because we cannot be\n * certain that it was raised, and therefore cleaned-up.\n */\n if (event.pointerType === 'touch') {\n ownerDocument.removeEventListener('click', handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;\n ownerDocument.addEventListener('click', handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent();\n }\n } else {\n // We need to remove the event listener in case the outside click has been canceled.\n // See: https://github.com/radix-ui/primitives/issues/2171\n ownerDocument.removeEventListener('click', handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n /**\n * if this hook executes in a component that mounts via a `pointerdown` event, the event\n * would bubble up to the document and trigger a `pointerDownOutside` event. We avoid\n * this by delaying the event listener registration on the document.\n * This is not React specific, but rather how the DOM works, ie:\n * ```\n * button.addEventListener('pointerdown', () => {\n * console.log('I will log');\n * document.addEventListener('pointerdown', () => {\n * console.log('I will also log');\n * })\n * });\n */\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener('pointerdown', handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener('pointerdown', handlePointerDown);\n ownerDocument.removeEventListener('click', handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => (isPointerInsideReactTreeRef.current = true),\n };\n}\n\n/**\n * Listens for when focus happens outside a react subtree.\n * Returns props to pass to the root (node) of the subtree we want to check.\n */\nfunction useFocusOutside(\n onFocusOutside?: (event: FocusOutsideEvent) => void,\n ownerDocument: Document = globalThis?.document\n) {\n const handleFocusOutside = useCallbackRef(onFocusOutside) as EventListener;\n const isFocusInsideReactTreeRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleFocus = (event: FocusEvent) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false,\n });\n }\n };\n ownerDocument.addEventListener('focusin', handleFocus);\n return () => ownerDocument.removeEventListener('focusin', handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n\n return {\n onFocusCapture: () => (isFocusInsideReactTreeRef.current = true),\n onBlurCapture: () => (isFocusInsideReactTreeRef.current = false),\n };\n}\n\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\n\nfunction handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(\n name: string,\n handler: ((event: E) => void) | undefined,\n detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),\n { discrete }: { discrete: boolean }\n) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler as EventListener, { once: true });\n\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\n\nconst Root = DismissableLayer;\nconst Branch = DismissableLayerBranch;\n\nexport {\n DismissableLayer,\n DismissableLayerBranch,\n //\n Root,\n Branch,\n};\nexport type { DismissableLayerProps };\n","import * as React from 'react';\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nconst useLayoutEffect = globalThis?.document ? React.useLayoutEffect : () => {};\n\nexport { useLayoutEffect };\n","import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// We spaces with `.trim().toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as any)[' useId '.trim().toString()] || (() => undefined);\nlet count = 0;\n\nfunction useId(deterministicId?: string): string {\n const [id, setId] = React.useState<string | undefined>(useReactId());\n // React versions older than 18 will have client-side ids only.\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\nexport { useId };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n var _overflowsData$;\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;\n if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Arrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Arrow';\n\ntype ArrowElement = React.ComponentRef<typeof Primitive.svg>;\ntype PrimitiveSvgProps = React.ComponentPropsWithoutRef<typeof Primitive.svg>;\ninterface ArrowProps extends PrimitiveSvgProps {}\n\nconst Arrow = React.forwardRef<ArrowElement, ArrowProps>((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return (\n <Primitive.svg\n {...arrowProps}\n ref={forwardedRef}\n width={width}\n height={height}\n viewBox=\"0 0 30 10\"\n preserveAspectRatio=\"none\"\n >\n {/* We use their children if they're slotting to replace the whole svg */}\n {props.asChild ? children : <polygon points=\"0,0 30,0 15,10\" />}\n </Primitive.svg>\n );\n});\n\nArrow.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Arrow;\n\nexport {\n Arrow,\n //\n Root,\n};\nexport type { ArrowProps };\n","/// <reference types=\"resize-observer-browser\" />\n\nimport * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\nfunction useSize(element: HTMLElement | null) {\n const [size, setSize] = React.useState<{ width: number; height: number } | undefined>(undefined);\n\n useLayoutEffect(() => {\n if (element) {\n // provide size as early as possible\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n\n // Since we only observe the one element, we don't need to loop over the\n // array\n if (!entries.length) {\n return;\n }\n\n const entry = entries[0];\n let width: number;\n let height: number;\n\n if ('borderBoxSize' in entry) {\n const borderSizeEntry = entry['borderBoxSize'];\n // iron out differences between browsers\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize['inlineSize'];\n height = borderSize['blockSize'];\n } else {\n // for browsers that don't support `borderBoxSize`\n // we calculate it ourselves to get the correct border box.\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n\n setSize({ width, height });\n });\n\n resizeObserver.observe(element, { box: 'border-box' });\n\n return () => resizeObserver.unobserve(element);\n } else {\n // We only want to reset to `undefined` when the element becomes `null`,\n // not if it changes to another element.\n setSize(undefined);\n }\n }, [element]);\n\n return size;\n}\n\nexport { useSize };\n","import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = (typeof SIDE_OPTIONS)[number];\ntype Align = (typeof ALIGN_OPTIONS)[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps<P> = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext<PopperContextValue>(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC<PopperProps> = (props: ScopedProps<PopperProps>) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState<Measurable | null>(null);\n return (\n <PopperProvider scope={__scopePopper} anchor={anchor} onAnchorChange={setAnchor}>\n {children}\n </PopperProvider>\n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject<Measurable>;\n}\n\nconst PopperAnchor = React.forwardRef<PopperAnchorElement, PopperAnchorProps>(\n (props: ScopedProps<PopperAnchorProps>, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef<PopperAnchorElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n\n return virtualRef ? null : <Primitive.div {...anchorProps} ref={composedRefs} />;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext<PopperContentContextValue>(CONTENT_NAME);\n\ntype Boundary = Element | null;\n\ntype PopperContentElement = React.ComponentRef<typeof Primitive.div>;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n avoidCollisions?: boolean;\n collisionBoundary?: Boundary | Boundary[];\n collisionPadding?: number | Partial<Record<Side, number>>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n updatePositionStrategy?: 'optimized' | 'always';\n onPlaced?: () => void;\n}\n\nconst PopperContent = React.forwardRef<PopperContentElement, PopperContentProps>(\n (props: ScopedProps<PopperContentProps>, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n updatePositionStrategy = 'optimized',\n onPlaced,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState<HTMLSpanElement | null>(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries,\n };\n\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === 'always',\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor,\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions &&\n shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n ...detectOverflowOptions,\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);\n contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);\n contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);\n contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);\n },\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: 'referenceHidden', ...detectOverflowOptions }),\n ],\n });\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState<string>();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n return (\n <div\n ref={refs.setFloating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)', // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin' as any]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y,\n ].join(' '),\n\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...(middlewareData.hide?.referenceHidden && {\n visibility: 'hidden',\n pointerEvents: 'none',\n }),\n }}\n // Floating UI interally calculates logical alignment based the `dir` attribute on\n // the reference/floating node, we must add this attribute here to ensure\n // this is calculated when portalled as well as inline.\n dir={props.dir}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n <Primitive.div\n data-side={placedSide}\n data-align={placedAlign}\n {...contentProps}\n ref={composedRefs}\n style={{\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? 'none' : undefined,\n }}\n />\n </PopperContentProvider>\n </div>\n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record<Side, Side> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ComponentRef<typeof ArrowPrimitive.Root>;\ntype ArrowProps = React.ComponentPropsWithoutRef<typeof ArrowPrimitive.Root>;\ninterface PopperArrowProps extends ArrowProps {}\n\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n <span\n ref={contentContext.onArrowChange}\n style={{\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0',\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)',\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined,\n }}\n >\n <ArrowPrimitive.Root\n {...arrowProps}\n ref={forwardedRef}\n style={{\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block',\n }}\n />\n </span>\n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isNotNull<T>(value: T | null): value is T {\n return value !== null;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n","import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n/* -------------------------------------------------------------------------------------------------\n * Portal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'Portal';\n\ntype PortalElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PortalProps extends PrimitiveDivProps {\n /**\n * An optional container where the portaled content should be appended.\n */\n container?: Element | DocumentFragment | null;\n}\n\nconst Portal = React.forwardRef<PortalElement, PortalProps>((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || (mounted && globalThis?.document?.body);\n return container\n ? ReactDOM.createPortal(<Primitive.div {...portalProps} ref={forwardedRef} />, container)\n : null;\n});\n\nPortal.displayName = PORTAL_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Portal;\n\nexport {\n Portal,\n //\n Root,\n};\nexport type { PortalProps };\n","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './use-state-machine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration | null>(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n let timeoutId: number;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied a frame after the\n // animation ends, creating a flash of visible content. By setting the\n // animation fill mode to \"forwards\", we force the node to keep the\n // styles of the last keyframe, removing the flash.\n //\n // Previously we flushed the update via ReactDom.flushSync, but with\n // exit animations this resulted in the node being removed from the\n // DOM before the synthetic animationEnd event was dispatched, meaning\n // user-provided event handlers would not be called.\n // https://github.com/radix-ui/primitives/pull/1849\n send('ANIMATION_END');\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = 'forwards';\n // Reset the style after the node had time to unmount (for cases\n // where the component chooses not to unmount). Doing this any\n // sooner than `setTimeout` (e.g. with `requestAnimationFrame`)\n // still causes a flash.\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === 'forwards') {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n stylesRef.current = node ? getComputedStyle(node) : null;\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles: CSSStyleDeclaration | null) {\n return styles?.animationName || 'none';\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement<{ ref?: React.Ref<unknown> }>) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref;\n}\n\nconst Root = Presence;\n\nexport {\n Presence,\n //\n Root,\n};\nexport type { PresenceProps };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// Prevent bundlers from trying to optimize the import\nconst useInsertionEffect: typeof useLayoutEffect =\n (React as any)[' useInsertionEffect '.trim().toString()] || useLayoutEffect;\n\ntype ChangeHandler<T> = (state: T) => void;\ntype SetStateFn<T> = React.Dispatch<React.SetStateAction<T>>;\n\ninterface UseControllableStateParams<T> {\n prop?: T | undefined;\n defaultProp: T;\n onChange?: ChangeHandler<T>;\n caller?: string;\n}\n\nexport function useControllableState<T>({\n prop,\n defaultProp,\n onChange = () => {},\n caller,\n}: UseControllableStateParams<T>): [T, SetStateFn<T>] {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange,\n });\n const isControlled = prop !== undefined;\n const value = isControlled ? prop : uncontrolledProp;\n\n // OK to disable conditionally calling hooks here because they will always run\n // consistently in the same environment. Bundlers should be able to remove the\n // code block entirely in production.\n /* eslint-disable react-hooks/rules-of-hooks */\n if (process.env.NODE_ENV !== 'production') {\n const isControlledRef = React.useRef(prop !== undefined);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? 'controlled' : 'uncontrolled';\n const to = isControlled ? 'controlled' : 'uncontrolled';\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n /* eslint-enable react-hooks/rules-of-hooks */\n\n const setValue = React.useCallback<SetStateFn<T>>(\n (nextValue) => {\n if (isControlled) {\n const value = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value !== prop) {\n onChangeRef.current?.(value);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n\n return [value, setValue];\n}\n\nfunction useUncontrolledState<T>({\n defaultProp,\n onChange,\n}: Omit<UseControllableStateParams<T>, 'prop'>): [\n Value: T,\n setValue: React.Dispatch<React.SetStateAction<T>>,\n OnChangeRef: React.RefObject<ChangeHandler<T> | undefined>,\n] {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n\n return [value, setValue, onChangeRef];\n}\n\nfunction isFunction(value: unknown): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n","import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * VisuallyHidden\n * -----------------------------------------------------------------------------------------------*/\n\nconst VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n}) satisfies React.CSSProperties;\n\nconst NAME = 'VisuallyHidden';\n\ntype VisuallyHiddenElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface VisuallyHiddenProps extends PrimitiveSpanProps {}\n\nconst VisuallyHidden = React.forwardRef<VisuallyHiddenElement, VisuallyHiddenProps>(\n (props, forwardedRef) => {\n return (\n <Primitive.span\n {...props}\n ref={forwardedRef}\n style={{ ...VISUALLY_HIDDEN_STYLES, ...props.style }}\n />\n );\n }\n);\n\nVisuallyHidden.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = VisuallyHidden;\n\nexport {\n VisuallyHidden,\n //\n Root,\n //\n VISUALLY_HIDDEN_STYLES,\n};\nexport type { VisuallyHiddenProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { useId } from '@radix-ui/react-id';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { createSlottable } from '@radix-ui/react-slot';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype ScopedProps<P = {}> = P & { __scopeTooltip?: Scope };\nconst [createTooltipContext, createTooltipScope] = createContextScope('Tooltip', [\n createPopperScope,\n]);\nconst usePopperScope = createPopperScope();\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipProvider\n * -----------------------------------------------------------------------------------------------*/\n\nconst PROVIDER_NAME = 'TooltipProvider';\nconst DEFAULT_DELAY_DURATION = 700;\nconst TOOLTIP_OPEN = 'tooltip.open';\n\ntype TooltipProviderContextValue = {\n isOpenDelayedRef: React.MutableRefObject<boolean>;\n delayDuration: number;\n onOpen(): void;\n onClose(): void;\n onPointerInTransitChange(inTransit: boolean): void;\n isPointerInTransitRef: React.MutableRefObject<boolean>;\n disableHoverableContent: boolean;\n};\n\nconst [TooltipProviderContextProvider, useTooltipProviderContext] =\n createTooltipContext<TooltipProviderContextValue>(PROVIDER_NAME);\n\ninterface TooltipProviderProps {\n children: React.ReactNode;\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened.\n * @defaultValue 700\n */\n delayDuration?: number;\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @defaultValue 300\n */\n skipDelayDuration?: number;\n /**\n * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger.\n * @defaultValue false\n */\n disableHoverableContent?: boolean;\n}\n\nconst TooltipProvider: React.FC<TooltipProviderProps> = (\n props: ScopedProps<TooltipProviderProps>\n) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children,\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n\n return (\n <TooltipProviderContextProvider\n scope={__scopeTooltip}\n isOpenDelayedRef={isOpenDelayedRef}\n delayDuration={delayDuration}\n onOpen={React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, [])}\n onClose={React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => (isOpenDelayedRef.current = true),\n skipDelayDuration\n );\n }, [skipDelayDuration])}\n isPointerInTransitRef={isPointerInTransitRef}\n onPointerInTransitChange={React.useCallback((inTransit: boolean) => {\n isPointerInTransitRef.current = inTransit;\n }, [])}\n disableHoverableContent={disableHoverableContent}\n >\n {children}\n </TooltipProviderContextProvider>\n );\n};\n\nTooltipProvider.displayName = PROVIDER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOOLTIP_NAME = 'Tooltip';\n\ntype TooltipContextValue = {\n contentId: string;\n open: boolean;\n stateAttribute: 'closed' | 'delayed-open' | 'instant-open';\n trigger: TooltipTriggerElement | null;\n onTriggerChange(trigger: TooltipTriggerElement | null): void;\n onTriggerEnter(): void;\n onTriggerLeave(): void;\n onOpen(): void;\n onClose(): void;\n disableHoverableContent: boolean;\n};\n\nconst [TooltipContextProvider, useTooltipContext] =\n createTooltipContext<TooltipContextValue>(TOOLTIP_NAME);\n\ninterface TooltipProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened. This will\n * override the prop with the same name passed to Provider.\n * @defaultValue 700\n */\n delayDuration?: number;\n /**\n * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger.\n * @defaultValue false\n */\n disableHoverableContent?: boolean;\n}\n\nconst Tooltip: React.FC<TooltipProps> = (props: ScopedProps<TooltipProps>) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp,\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState<HTMLButtonElement | null>(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent =\n disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open) => {\n if (open) {\n providerContext.onOpen();\n\n // as `onChange` is called within a lifecycle method we\n // avoid dispatching via `dispatchDiscreteCustomEvent`.\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open);\n },\n caller: TOOLTIP_NAME,\n });\n const stateAttribute = React.useMemo(() => {\n return open ? (wasOpenDelayedRef.current ? 'delayed-open' : 'instant-open') : 'closed';\n }, [open]);\n\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n\n return (\n <PopperPrimitive.Root {...popperScope}>\n <TooltipContextProvider\n scope={__scopeTooltip}\n contentId={contentId}\n open={open}\n stateAttribute={stateAttribute}\n trigger={trigger}\n onTriggerChange={setTrigger}\n onTriggerEnter={React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen])}\n onTriggerLeave={React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n // Clear the timer in case the pointer leaves the trigger before the tooltip is opened.\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent])}\n onOpen={handleOpen}\n onClose={handleClose}\n disableHoverableContent={disableHoverableContent}\n >\n {children}\n </TooltipContextProvider>\n </PopperPrimitive.Root>\n );\n};\n\nTooltip.displayName = TOOLTIP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'TooltipTrigger';\n\ntype TooltipTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface TooltipTriggerProps extends PrimitiveButtonProps {}\n\nconst TooltipTrigger = React.forwardRef<TooltipTriggerElement, TooltipTriggerProps>(\n (props: ScopedProps<TooltipTriggerProps>, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef<TooltipTriggerElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => (isPointerDownRef.current = false), []);\n\n React.useEffect(() => {\n return () => document.removeEventListener('pointerup', handlePointerUp);\n }, [handlePointerUp]);\n\n return (\n <PopperPrimitive.Anchor asChild {...popperScope}>\n <Primitive.button\n // We purposefully avoid adding `type=button` here because tooltip triggers are also\n // commonly anchors and the anchor `type` attribute signifies MIME type.\n aria-describedby={context.open ? context.contentId : undefined}\n data-state={context.stateAttribute}\n {...triggerProps}\n ref={composedRefs}\n onPointerMove={composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === 'touch') return;\n if (\n !hasPointerMoveOpenedRef.current &&\n !providerContext.isPointerInTransitRef.current\n ) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n })}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })}\n onPointerDown={composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener('pointerup', handlePointerUp, { once: true });\n })}\n onFocus={composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n })}\n onBlur={composeEventHandlers(props.onBlur, context.onClose)}\n onClick={composeEventHandlers(props.onClick, context.onClose)}\n />\n </PopperPrimitive.Anchor>\n );\n }\n);\n\nTooltipTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'TooltipPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createTooltipContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface TooltipPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst TooltipPortal: React.FC<TooltipPortalProps> = (props: ScopedProps<TooltipPortalProps>) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return (\n <PortalProvider scope={__scopeTooltip} forceMount={forceMount}>\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {children}\n </PortalPrimitive>\n </Presence>\n </PortalProvider>\n );\n};\n\nTooltipPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'TooltipContent';\n\ntype TooltipContentElement = TooltipContentImplElement;\ninterface TooltipContentProps extends TooltipContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst TooltipContent = React.forwardRef<TooltipContentElement, TooltipContentProps>(\n (props: ScopedProps<TooltipContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = 'top', ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n\n return (\n <Presence present={forceMount || context.open}>\n {context.disableHoverableContent ? (\n <TooltipContentImpl side={side} {...contentProps} ref={forwardedRef} />\n ) : (\n <TooltipContentHoverable side={side} {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\ntype Point = { x: number; y: number };\ntype Polygon = Point[];\n\ntype TooltipContentHoverableElement = TooltipContentImplElement;\ninterface TooltipContentHoverableProps extends TooltipContentImplProps {}\n\nconst TooltipContentHoverable = React.forwardRef<\n TooltipContentHoverableElement,\n TooltipContentHoverableProps\n>((props: ScopedProps<TooltipContentHoverableProps>, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef<TooltipContentHoverableElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState<Polygon | null>(null);\n\n const { trigger, onClose } = context;\n const content = ref.current;\n\n const { onPointerInTransitChange } = providerContext;\n\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n\n const handleCreateGraceArea = React.useCallback(\n (event: PointerEvent, hoverTarget: HTMLElement) => {\n const currentTarget = event.currentTarget as HTMLElement;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, trigger);\n\n trigger.addEventListener('pointerleave', handleTriggerLeave);\n content.addEventListener('pointerleave', handleContentLeave);\n return () => {\n trigger.removeEventListener('pointerleave', handleTriggerLeave);\n content.removeEventListener('pointerleave', handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event: PointerEvent) => {\n const target = event.target as HTMLElement;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener('pointermove', handleTrackPointerGrace);\n return () => document.removeEventListener('pointermove', handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n\n return <TooltipContentImpl {...props} ref={composedRefs} />;\n});\n\nconst [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] =\n createTooltipContext(TOOLTIP_NAME, { isInside: false });\n\ntype TooltipContentImplElement = React.ComponentRef<typeof PopperPrimitive.Content>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype PopperContentProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface TooltipContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {\n /**\n * A more descriptive label for accessibility purpose\n */\n 'aria-label'?: string;\n\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `Tooltip`.\n * Can be prevented.\n */\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n}\n\nconst Slottable = createSlottable('TooltipContent');\n\nconst TooltipContentImpl = React.forwardRef<TooltipContentImplElement, TooltipContentImplProps>(\n (props: ScopedProps<TooltipContentImplProps>, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n 'aria-label': ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n\n // Close this tooltip if another one opens\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n\n // Close the tooltip if the trigger is scrolled\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event: Event) => {\n const target = event.target as HTMLElement;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener('scroll', handleScroll, { capture: true });\n return () => window.removeEventListener('scroll', handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n\n return (\n <DismissableLayer\n asChild\n disableOutsidePointerEvents={false}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={(event) => event.preventDefault()}\n onDismiss={onClose}\n >\n <PopperPrimitive.Content\n data-state={context.stateAttribute}\n {...popperScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-tooltip-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-tooltip-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-tooltip-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-tooltip-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-tooltip-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n >\n <Slottable>{children}</Slottable>\n <VisuallyHiddenContentContextProvider scope={__scopeTooltip} isInside={true}>\n <VisuallyHiddenPrimitive.Root id={context.contentId} role=\"tooltip\">\n {ariaLabel || children}\n </VisuallyHiddenPrimitive.Root>\n </VisuallyHiddenContentContextProvider>\n </PopperPrimitive.Content>\n </DismissableLayer>\n );\n }\n);\n\nTooltipContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'TooltipArrow';\n\ntype TooltipArrowElement = React.ComponentRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = React.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface TooltipArrowProps extends PopperArrowProps {}\n\nconst TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(\n (props: ScopedProps<TooltipArrowProps>, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n // if the arrow is inside the `VisuallyHidden`, we don't want to render it all to\n // prevent issues in positioning the arrow due to the duplicate\n return visuallyHiddenContentContext.isInside ? null : (\n <PopperPrimitive.Arrow {...popperScope} {...arrowProps} ref={forwardedRef} />\n );\n }\n);\n\nTooltipArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype Side = NonNullable<TooltipContentProps['side']>;\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left';\n case right:\n return 'right';\n case top:\n return 'top';\n case bottom:\n return 'bottom';\n default:\n throw new Error('unreachable');\n }\n}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n const paddedExitPoints: Point[] = [];\n switch (exitSide) {\n case 'top':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case 'bottom':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case 'left':\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case 'right':\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\n\nfunction getPointsFromRect(rect: DOMRect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n ];\n}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i]!;\n const jj = polygon[j]!;\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n\n return inside;\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n const newPoints: Array<P> = points.slice();\n newPoints.sort((a: Point, b: Point) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return +1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return +1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n if (points.length <= 1) return points.slice();\n\n const upperHull: Array<P> = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i]!;\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1]!;\n const r = upperHull[upperHull.length - 2]!;\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n\n const lowerHull: Array<P> = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i]!;\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1]!;\n const r = lowerHull[lowerHull.length - 2]!;\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n\n if (\n upperHull.length === 1 &&\n lowerHull.length === 1 &&\n upperHull[0]!.x === lowerHull[0]!.x &&\n upperHull[0]!.y === lowerHull[0]!.y\n ) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\n\nconst Provider = TooltipProvider;\nconst Root = Tooltip;\nconst Trigger = TooltipTrigger;\nconst Portal = TooltipPortal;\nconst Content = TooltipContent;\nconst Arrow = TooltipArrow;\n\nexport {\n createTooltipScope,\n //\n TooltipProvider,\n Tooltip,\n TooltipTrigger,\n TooltipPortal,\n TooltipContent,\n TooltipArrow,\n //\n Provider,\n Root,\n Trigger,\n Portal,\n Content,\n Arrow,\n};\nexport type {\n TooltipProviderProps,\n TooltipProps,\n TooltipTriggerProps,\n TooltipPortalProps,\n TooltipContentProps,\n TooltipArrowProps,\n};\n","import * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction TooltipProvider({\r\n delayDuration = 0,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\r\n return (\r\n <TooltipPrimitive.Provider\r\n data-slot=\"tooltip-provider\"\r\n delayDuration={delayDuration}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction Tooltip({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nfunction TooltipTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\r\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\r\n}\r\n\r\nfunction TooltipContent({\r\n className,\r\n sideOffset = 0,\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\r\n return (\r\n <TooltipPrimitive.Portal>\r\n <TooltipPrimitive.Content\r\n data-slot=\"tooltip-content\"\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-white text-primary-foreground shadow-lg shadow-dark/10 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <TooltipPrimitive.Arrow className=\"bg-white fill-white z-50 size-3.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\r\n </TooltipPrimitive.Content>\r\n </TooltipPrimitive.Portal>\r\n )\r\n}\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n","import { cn } from \"../../../lib/utils\";\r\nimport {\r\n Tooltip as TooltipUI,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from \"../../ui/tooltip\";\r\nimport React from \"react\";\r\n\r\nexport function Tooltip({\r\n children,\r\n content,\r\n className,\r\n}: {\r\n children: React.ReactNode;\r\n content?: string;\r\n className?: string;\r\n}) {\r\n return (\r\n <TooltipProvider>\r\n <TooltipUI>\r\n <TooltipTrigger className=\"w-full h-full\">{children}</TooltipTrigger>\r\n {content && (\r\n <TooltipContent className={cn(\"p-4 bg-white rounded-lg\", className)}>\r\n <span className=\"text-body-md font-medium\">{content}</span>\r\n </TooltipContent>\r\n )}\r\n </TooltipUI>\r\n </TooltipProvider>\r\n );\r\n}\r\n","import { useState } from \"react\";\r\n\r\nexport function useOpen() {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const onOpen = () => {\r\n setIsOpen(true);\r\n };\r\n\r\n const onClose = () => {\r\n setIsOpen(false);\r\n };\r\n\r\n const toggle = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n return { isOpen, onOpen, onClose, toggle };\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function useOutsideClick(\r\n ref: React.RefObject<HTMLElement>,\r\n callback: () => void\r\n) {\r\n useEffect(() => {\r\n const handleClick = (event: MouseEvent) => {\r\n if (ref.current && !ref.current.contains(event.target as Node)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref, callback]);\r\n}\r\n","export const packagesEnglishDictionary = {\r\n \"component.workspace.user.complete\": \"complete\",\r\n \"component.workspace.greetings\": \"Good to have you back, \",\r\n \"component.workspace.greetings.label\":\r\n \"Keep getting the best out of what we’ve prepared for you.\",\r\n \"component.workspace.user.following\": \"Following\",\r\n \"component.workspace.user.followers\": \"Followers\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explore\",\r\n \"component.workspace.panel.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.title\": \"Create new workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interests\",\r\n \"component.workspace.panel.modal.form.name\": \"Workspace name / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Select interests\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Enter workspace name\",\r\n \"component.workspace.panel.modal.form.description\": \"Short description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Back\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Create workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Creating your workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Error creating workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"An error occurred while creating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Required field\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Edit\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Do you want to delete this workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"There’s no going back! Are you sure you want to delete it permanently?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\": \"Cancel\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\": \"Delete\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace successfully deleted!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"The workspace was successfully deleted.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Error deleting workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"An error occurred while deleting the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Edit workspace details\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Save\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace successfully updated!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"The workspace was successfully updated.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Error updating workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"An error occurred while updating the workspace, please try again.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace created successfully!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"All set! Your new workspace is the first step towards great achievements.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"View workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Go to store\",\r\n\r\n \"component.search.placeholder\": \"Search\",\r\n \"main.navbar.home\": \"Home\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explore\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Log out\",\r\n \"component.select-input.placeholder\": \"Select an option\",\r\n \"component.select-input.no-elements-found\": \"No elements found\",\r\n};\r\n","export const packagesFrenchDictionary = {\r\n \"component.workspace.user.complete\": \"complet\",\r\n \"component.workspace.greetings\": \"Ravi de vous revoir, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continuez à profiter de ce que nous avons préparé pour vous.\",\r\n \"component.workspace.user.following\": \"Abonnements\",\r\n \"component.workspace.user.followers\": \"Abonnés\",\r\n \"component.workspace.user.posts\": \"Publications\",\r\n \"component.workspace.panel.explore\": \"Explorer\",\r\n \"component.workspace.panel.create\": \"Créer un espace de travail\",\r\n \"component.workspace.panel.modal.title\": \"Créer un nouvel espace de travail\",\r\n \"component.workspace.panel.modal.form.interests\": \"Centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name\": \"Nom de l’espace / icône-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Sélectionnez les centres d’intérêt\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Saisir le nom de l’espace de travail\",\r\n \"component.workspace.panel.modal.form.description\": \"Brève description\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Retour\",\r\n \"component.workspace.panel.modal.form.button.create\":\r\n \"Créer l’espace de travail\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Création de votre espace de travail...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erreur lors de la création de l’espace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Une erreur est survenue lors de la création de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Champ obligatoire\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Modifier\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Voulez-vous supprimer cet espace ?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Cette action est irréversible ! Êtes-vous sûr de vouloir le supprimer ?\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Annuler\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Supprimer\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Espace supprimé avec succès !\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"L’espace a été supprimé avec succès.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erreur lors de la suppression\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Une erreur est survenue lors de la suppression de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\":\r\n \"Modifier les détails de l’espace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Enregistrer\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Espace mis à jour avec succès !\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"L’espace a été mis à jour avec succès.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erreur lors de la mise à jour\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Une erreur est survenue lors de la mise à jour de l’espace, veuillez réessayer.\",\r\n\r\n \"component.workspace.panel.modal.success.title\": \"Espace créé avec succès !\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tout est prêt ! Votre nouvel espace de travail est la première étape vers de grandes réussites.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Voir l’espace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Aller à la boutique\",\r\n\r\n \"component.search.placeholder\": \"Rechercher\",\r\n \"main.navbar.home\": \"Accueil\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorer\",\r\n \"main.navbar.notifications\": \"Notifications\",\r\n\r\n \"component.user.options.logout\": \"Se déconnecter\",\r\n \"component.select-input.placeholder\": \"Sélectionner une option\",\r\n \"component.select-input.no-elements-found\": \"Aucun élément trouvé\",\r\n};\r\n","export const packagesPortugueseDictionary = {\r\n \"component.workspace.user.complete\": \"completo\",\r\n \"component.workspace.greetings\": \"Que bom ter você de volta, \",\r\n \"component.workspace.greetings.label\":\r\n \"Continue tirando o melhor do que preparamos para você.\",\r\n \"component.workspace.user.following\": \"A seguir\",\r\n \"component.workspace.user.followers\": \"Seguidores\",\r\n \"component.workspace.user.posts\": \"Posts\",\r\n \"component.workspace.panel.explore\": \"Explorar\",\r\n \"component.workspace.panel.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.title\": \"Criar novo workspace\",\r\n \"component.workspace.panel.modal.form.interests\": \"Interesses\",\r\n \"component.workspace.panel.modal.form.name\": \"Nome do workspace / icon-emoji\",\r\n \"component.workspace.panel.modal.form.interests.placeholder\":\r\n \"Selecione os interesses\",\r\n \"component.workspace.panel.modal.form.name.placeholder\":\r\n \"Escrever nome do workspace\",\r\n \"component.workspace.panel.modal.form.description\": \"Descrição curta\",\r\n\r\n \"component.workspace.panel.modal.form.button.back\": \"Voltar\",\r\n \"component.workspace.panel.modal.form.button.create\": \"Criar workspace\",\r\n \"component.workspace.panel.modal.form.button.creating\":\r\n \"Criando o seu workspace...\",\r\n\r\n \"component.workspace.panel.modal.form.toats.error.title\":\r\n \"Erro ao criar workspace\",\r\n \"component.workspace.panel.modal.form.toats.error.description\":\r\n \"Ocorreu um erro ao criar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.form.errors.required-field\":\r\n \"Campo obrigatório\",\r\n\r\n \"component.workspace.panel.modal.form.options.edit\": \"Editar\",\r\n \"component.workspace.panel.modal.form.options.delete\": \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\":\r\n \"Você quer excluir este workspace?\",\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\":\r\n \"Depois não tem volta! Tem certeza que quer apagar de vez?.\",\r\n \r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\":\r\n \"Cancelar\",\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\":\r\n \"Deletar\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\":\r\n \"Workspace deletado com sucesso!\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\":\r\n \"O workspace foi deletado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\":\r\n \"Erro ao deletar workspace\",\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\":\r\n \"Ocorreu um erro ao deletar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.edit.title\": \"Editar detalhes do worspace\",\r\n \"component.workspace.panel.modal.edit.button.save\": \"Salvar\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.success.title\":\r\n \"Workspace atualizado com sucesso!\",\r\n \"component.workspace.panel.modal.edit.toats.success.description\":\r\n \"O workspace foi atualizado com sucesso.\",\r\n\r\n \"component.workspace.panel.modal.edit.toats.error.title\":\r\n \"Erro ao atualizar workspace\",\r\n \"component.workspace.panel.modal.edit.toats.error.description\":\r\n \"Ocorreu um erro ao atualizar o workspace, por favor, tente novamente.\",\r\n\r\n \"component.workspace.panel.modal.success.title\":\r\n \"Workspace criado com sucesso!\",\r\n \"component.workspace.panel.modal.success.description\":\r\n \"Tudo pronto! Seu novo espaço de trabalho é o primeiro passo para grandes conquistas.\",\r\n \"component.workspace.panel.modal.success.button.view-workspace\":\r\n \"Ver workspace\",\r\n \"component.workspace.panel.modal.success.button.store\": \"Ir na loja\",\r\n\r\n \"component.search.placeholder\": \"Pesquisar\",\r\n \"main.navbar.home\": \"Início\",\r\n \"main.navbar.mcp\": \"MCP\",\r\n \"main.navbar.explore\": \"Explorar\",\r\n \"main.navbar.notifications\": \"Notificações\",\r\n\r\n \"component.user.options.logout\": \"Terminar sessão\",\r\n \"component.select-input.placeholder\": \"Selecione uma opção\",\r\n \"component.select-input.no-elements-found\": \"Nenhum elemento encontrado\",\r\n};\r\n","import { packagesEnglishDictionary } from \"./dictionaries/en\";\r\nimport { packagesFrenchDictionary } from \"./dictionaries/fr\";\r\nimport { packagesPortugueseDictionary } from \"./dictionaries/pt\";\r\n\r\nconst billingTranslation = {\r\n pt: {\r\n ...packagesPortugueseDictionary,\r\n },\r\n en: {\r\n ...packagesEnglishDictionary,\r\n },\r\n fr: {\r\n ...packagesFrenchDictionary,\r\n },\r\n};\r\n\r\nexport function packageDictionary(\r\n locale: keyof typeof billingTranslation,\r\n key: keyof (typeof billingTranslation)[typeof locale]\r\n) {\r\n return billingTranslation[locale][key];\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function EditIcon({ color = \"#687588\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.66 15.793h-4.744a.847.847 0 0 0-.84.853c0 .471.377.853.84.853h4.745c.463 0 .84-.382.84-.853a.847.847 0 0 0-.84-.853\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m8.59 5.755 4.497 3.633a.26.26 0 0 1 .043.358l-5.331 6.946a1.75 1.75 0 0 1-1.358.68l-2.91.036a.33.33 0 0 1-.326-.26l-.662-2.875c-.115-.528 0-1.075.335-1.496l5.357-6.98a.25.25 0 0 1 .356-.042\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"m15.1 7.221-.867 1.082a.25.25 0 0 1-.353.04c-1.053-.852-3.752-3.04-4.5-3.647a.257.257 0 0 1-.037-.36l.836-1.038c.759-.977 2.082-1.066 3.149-.215l1.225.976c.503.394.838.914.953 1.46.132.601-.01 1.192-.406 1.702\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","import { createContext } from \"react\";\r\nimport { IMirantesFoundationContext, User } from \"./types\";\r\n\r\nexport const MirantesFoundationContext =\r\n createContext<IMirantesFoundationContext>({\r\n locale: \"pt\",\r\n user: {} as User,\r\n });\r\n","import { useContext } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\n\r\nexport function useMirantesFoundation() {\r\n const mirantesContext = useContext(MirantesFoundationContext);\r\n\r\n if (!mirantesContext) {\r\n throw new Error(\r\n \"useMirantesFoundation must be used within a MirantesFoundationProvider\"\r\n );\r\n }\r\n\r\n return mirantesContext;\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport function DeleteIcon({ color = \"#E03137\" }: { color?: string }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M16.37 7.906c0 .057-.445 5.674-.699 8.038-.159 1.45-1.094 2.33-2.497 2.356-1.078.024-2.133.032-3.171.032-1.102 0-2.18-.008-3.226-.032-1.356-.033-2.292-.93-2.443-2.356-.261-2.372-.697-7.981-.705-8.038a.66.66 0 0 1 .159-.465.6.6 0 0 1 .436-.195h11.558c.166 0 .317.073.436.195a.62.62 0 0 1 .151.465\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M17.5 4.982c0-.342-.27-.61-.594-.61h-2.43c-.494 0-.924-.352-1.034-.848l-.136-.608a1.654 1.654 0 0 0-1.585-1.248H8.28c-.746 0-1.397.514-1.595 1.288l-.127.569a1.07 1.07 0 0 1-1.034.846h-2.43a.6.6 0 0 0-.595.611v.317c0 .334.27.61.595.61h13.81a.607.607 0 0 0 .595-.61z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n","export const Palette = {\r\n white: \"#ffff\",\r\n dark: {\r\n black: \"#0a0909\",\r\n blue: {\r\n shade1: \"#090b19\",\r\n shade2: \"#111827\",\r\n },\r\n },\r\n blue: {\r\n shade1: \"#0b89ce\",\r\n shade2: \"#0e9edd\",\r\n shade3: \"#11b2ea\",\r\n shade4: \"#14c4f4\",\r\n shade5: \"#4dddff\",\r\n shade6: \"#92f0ff\",\r\n shade7: \"#bbf9ff\",\r\n shade8: \"#d9fdff\",\r\n shade9: \"#deebf2\",\r\n shade10: \"#3182CE\",\r\n shade11: \"#2F78EE\",\r\n shade12: \"#EBF3FF\",\r\n shade13: \"#111827\",\r\n shade14: \"#CEECFF\",\r\n shade15: \"#0B89CE33\",\r\n shade16: \"#721EFF\",\r\n },\r\n\r\n gray: {\r\n shade1: \"#f2f2f2\",\r\n shade2: \"#F6F6F6\",\r\n shade3: \"#e6e6e6\",\r\n shade4: \"#b3b3b3\",\r\n shade5: \"#666666\",\r\n shade6: \"#1a1a1a\",\r\n shade7: \"#A0AEC0\",\r\n shade8: \"#687588\",\r\n shade9: \"#F8F8F8\",\r\n shade10: \"#F1F2F4\",\r\n shade11: \"#E9EAEC\",\r\n shade12: \"#FAFAFA\",\r\n shade13: \"#44444F\",\r\n shade14: \"#92929D\",\r\n shade15: \"#323B49\",\r\n shade16: \"#111827\",\r\n shade17: \"#CBD5E0\",\r\n shade18: \"#F1F1F1\",\r\n shade19: \"#BABDC5\",\r\n shade20: \"#8E939F\",\r\n shade21: \"#646A78\",\r\n shade22: \"#B5B5BE\",\r\n shade23: \"#EFF4FB\",\r\n },\r\n\r\n green: {\r\n shade1: \"#5c995c\",\r\n shade2: \"#72b772\",\r\n shade3: \"#a1e2a1\",\r\n shade4: \"#b4efb4\",\r\n shade5: \"#daedda\",\r\n shade6: \"#27A376\",\r\n shade7: \"#0CAF60\",\r\n shade8: \"#38A169\",\r\n shade9: \"#E7F7EF\",\r\n shade10: \"#5C995D\",\r\n bg: \"rgba(202, 234, 203, 0.40)\",\r\n },\r\n yellow: {\r\n shade1: \"#ffc545\",\r\n shade2: \"#ffc85a\",\r\n shade3: \"#ffd28a\",\r\n shade4: \"#ffe6b3\",\r\n shade5: \"#ffecd2\",\r\n },\r\n orange: {\r\n shade1: \"#f9922d\",\r\n shade2: \"#ffa14d\",\r\n shade3: \"#f4aa6e\",\r\n shade4: \"#f7cca6\",\r\n shade5: \"#f2e6dd\",\r\n shade6: \"#EC991C\",\r\n shade7: \"#EC991C33\",\r\n shade8: \"#F39912\",\r\n shade9: \"#FF9900\",\r\n },\r\n red: {\r\n shade1: \"#ad3e36\",\r\n shade2: \"#e86464\",\r\n shade3: \"#ea9696\",\r\n shade4: \"#eacccc\",\r\n shade5: \"#FFEDEC\",\r\n shade6: \"#E03137\",\r\n shade7: \"#E53E3E\",\r\n },\r\n};\r\n","import React from \"react\";\r\nimport { Modal } from \"./modal\";\r\nimport { Button } from \"../button/button\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\n\r\nexport function ConfirmModal({\r\n isOpen,\r\n onClose,\r\n onConfirm,\r\n title,\r\n description,\r\n illustration,\r\n isLoading,\r\n}: {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n onConfirm: () => void;\r\n title: string;\r\n description: string;\r\n illustration?: React.ReactNode;\r\n isLoading?: boolean;\r\n}) {\r\n const { locale } = useMirantesFoundation();\r\n\r\n \r\n return (\r\n <Modal\r\n isLoading={isLoading}\r\n closeOnClickOutside={false}\r\n hideCloseButton\r\n className=\"min-w-[31.25rem]\"\r\n disableFullScreen\r\n isOpen={isOpen}\r\n onClose={onClose}\r\n >\r\n <div className=\"w-full flex flex-col items-center gap-y-8\">\r\n {illustration && <div>{illustration}</div>}\r\n\r\n <h2 className=\"text-[2rem] font-bold text-center\">{title}</h2>\r\n\r\n <p className=\"text-center text-body-xl text-dark-1\">{description}</p>\r\n\r\n <div className=\"w-full flex gap-x-4\">\r\n <Button\r\n disabled={isLoading}\r\n className=\"bg-white text-primary border border-primary\"\r\n onClick={onClose}\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.cancel\"\r\n )}\r\n </Button>\r\n <Button disabled={isLoading} onClick={onConfirm}>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.button.delete\"\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n </Modal>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay> & {\r\n className?: string;\r\n }\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/10 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\r\n overlayClassName?: string;\r\n onClose?: () => void;\r\n hideCloseButton?: boolean;\r\n closeOnOverlayClick?: boolean;\r\n }\r\n>(\r\n (\r\n {\r\n className,\r\n children,\r\n onClose,\r\n overlayClassName,\r\n closeOnOverlayClick = true,\r\n hideCloseButton = false,\r\n ...props\r\n },\r\n ref\r\n ) => (\r\n <DialogPortal>\r\n <DialogOverlay\r\n className={`${overlayClassName} z-[60] bg-[#00000050]`}\r\n onClick={(e) => {\r\n if (!closeOnOverlayClick) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }}\r\n />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-white shadow-2xl shadow-[#00000010] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] !outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n {!hideCloseButton && (\r\n <button\r\n onClick={onClose}\r\n className=\"absolute cursor-pointer hidden lg:flex top-4 lg:right-6 right-4\"\r\n >\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogPortal>\r\n )\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n Dialog,\r\n DialogPortal,\r\n DialogOverlay,\r\n DialogClose,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n};\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../../components/ui/dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport type { ReactNode } from \"react\";\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n children: ReactNode;\r\n hideCloseButton?: boolean;\r\n closeOnClickOutside?: boolean;\r\n className?: string;\r\n header?: React.ReactNode;\r\n disableFullScreen?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function Modal({\r\n isOpen,\r\n header,\r\n onClose,\r\n isLoading,\r\n children,\r\n hideCloseButton = false,\r\n closeOnClickOutside = true,\r\n className,\r\n disableFullScreen = false,\r\n}: ModalProps) {\r\n return (\r\n <div className=\"absolute\">\r\n <Dialog\r\n open={isOpen}\r\n onOpenChange={(open) => {\r\n if (!open && closeOnClickOutside) {\r\n onClose();\r\n }\r\n }}\r\n >\r\n <DialogHeader />\r\n\r\n <DialogContent\r\n hideCloseButton={hideCloseButton}\r\n onClose={onClose}\r\n className={`px-0 py-6 lg:px-6 w-full ${\r\n !disableFullScreen && \"h-[100dvh] z-[999] !rounded-none\" \r\n } flex flex-col !justify-start overflow-hidden z-[70] rounded-xl lg:!rounded-2xl lg:h-auto pt-4 gap-0 ${className}`}\r\n onInteractOutside={(e) => {\r\n if (!closeOnClickOutside) {\r\n e.preventDefault();\r\n }\r\n }}\r\n >\r\n {isLoading && <div className=\"loading-bar\" />}\r\n\r\n {!disableFullScreen && (\r\n <header className=\"px-4 border-b-8 border-[#F6F6F6] pb-4 lg:hidden flex items-center w-full\">\r\n <button onClick={() => onClose()} className=\"cursor-pointer\">\r\n <X className=\"h-6 w-6\" />\r\n </button>\r\n\r\n {header}\r\n </header>\r\n )}\r\n\r\n <DialogTitle />\r\n {children}\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const LoadingIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"41\"\r\n height=\"40\"\r\n fill=\"none\"\r\n viewBox=\"0 0 41 40\"\r\n >\r\n <mask\r\n id=\"mask0_56449_70362\"\r\n width=\"41\"\r\n height=\"40\"\r\n x=\"0\"\r\n y=\"0\"\r\n maskUnits=\"userSpaceOnUse\"\r\n style={{ maskType: \"alpha\" }}\r\n >\r\n <path\r\n fill=\"#C4C4C4\"\r\n d=\"M40.5 20c0 11.046-8.954 20-20 20S.5 31.046.5 20s8.954-20 20-20 20 8.954 20 20M7.543 20c0 7.156 5.801 12.957 12.957 12.957S33.457 27.156 33.457 20 27.656 7.043 20.5 7.043 7.543 12.844 7.543 20\"\r\n ></path>\r\n </mask>\r\n <g mask=\"url(#mask0_56449_70362)\">\r\n <g\r\n clipPath=\"url(#paint0_angular_56449_70362_clip_path)\"\r\n data-figma-skip-parse=\"true\"\r\n >\r\n <foreignObject\r\n width=\"2088.83\"\r\n height=\"2088.83\"\r\n x=\"-1044.42\"\r\n y=\"-1044.42\"\r\n transform=\"matrix(0 .02251 -.02251 0 20.5 20.01)\"\r\n >\r\n <div\r\n style={{\r\n background: `conic-gradient(from 90deg,${color} 0deg,rgba(11,137,206,0) 360deg)`,\r\n height: \"100%\",\r\n width: \"100%\",\r\n }}\r\n ></div>\r\n </foreignObject>\r\n </g>\r\n <path\r\n d=\"M-2.014-2.504h45.029v45.029H-2.014z\"\r\n data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"stopsVar\":[{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":1.0},\"position\":0.0},{\"color\":{\"r\":0.043137256056070328,\"g\":0.53725492954254150,\"b\":0.80784314870834351,\"a\":0.0},\"position\":1.0}],\"transform\":{\"m00\":2.7572048986947324e-15,\"m01\":-45.028572082519531,\"m02\":43.014411926269531,\"m10\":45.028572082519531,\"m11\":2.7572048986947324e-15,\"m12\":-2.503906250},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}'\r\n ></path>\r\n <circle cx=\"20.769\" cy=\"36.538\" r=\"3.562\" fill={color}></circle>\r\n </g>\r\n <defs>\r\n <clipPath id=\"paint0_angular_56449_70362_clip_path\">\r\n <path d=\"M-2.014-2.504h45.029v45.029H-2.014z\"></path>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { LoadingIcon } from \"../../../assets/icons/loading-icon\";\r\n\r\ntype ButtonProps = {\r\n children: React.ReactNode;\r\n type?: \"button\" | \"submit\";\r\n className?: string;\r\n onClick?: () => void;\r\n disabled?: boolean;\r\n isLoading?: boolean;\r\n};\r\n\r\nexport function Button({\r\n children,\r\n className,\r\n disabled,\r\n isLoading,\r\n onClick,\r\n type = \"button\",\r\n}: ButtonProps) {\r\n return (\r\n <button\r\n disabled={disabled || isLoading}\r\n type={type}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onClick?.();\r\n }}\r\n className={cn(\r\n \"flex-1 flex items-center border border-primary text-white bg-primary font-bold py-4\",\r\n className\r\n )}\r\n >\r\n {children}\r\n {isLoading && (\r\n <div className=\"w-4 h-4 flex items-center justify-center\">\r\n <LoadingIcon color=\"#fff\" />\r\n </div>\r\n )}\r\n </button>\r\n );\r\n}\r\n","import { gql } from \"graphql-request\";\r\n\r\nexport const GET_WORKSPACES = gql`\r\n query GetWorkspaces($options: GetWorkspaceInput) {\r\n workspaces(options: $options) {\r\n meta {\r\n total\r\n currentPage\r\n perPage\r\n lastPage\r\n }\r\n data {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CREATE_WORKSPACES_MUTATION = gql`\r\n mutation createWorkspace($createWorkspaceInput: CreateWorkspaceInput!) {\r\n createWorkspace(createWorkspaceInput: $createWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DELETE_WORKSPACE_MUTATION = gql`\r\n mutation removeWorkspace($id: String!) {\r\n removeWorkspace(id: $id) {\r\n success\r\n }\r\n }\r\n`;\r\n\r\nexport const UPDATE_WORKSPACE_MUTATION = gql`\r\n mutation updateWorkspace($updateWorkspaceInput: UpdateWorkspaceInput!) {\r\n updateWorkspace(updateWorkspaceInput: $updateWorkspaceInput) {\r\n id\r\n name\r\n description\r\n userId\r\n icon\r\n isActive\r\n createdAt\r\n updatedAt\r\n layouts {\r\n id\r\n name\r\n workspaceId\r\n config\r\n createdAt\r\n updatedAt\r\n }\r\n user {\r\n id\r\n name\r\n email\r\n avatar\r\n phone\r\n slug\r\n createdAt\r\n updatedAt\r\n }\r\n }\r\n }\r\n`;\r\n","import { QueryClient } from \"@tanstack/react-query\";\r\n\r\nexport const queryClient = new QueryClient({\r\n defaultOptions: {\r\n queries: {\r\n retry: 2,\r\n staleTime: 0,\r\n refetchOnMount: false,\r\n refetchOnWindowFocus: false,\r\n },\r\n },\r\n});\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { DELETE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype DeleteWorkspaceResponse = {\r\n deleteWorkspace: {\r\n success: boolean;\r\n };\r\n};\r\n\r\nconst mutationFn = async ({\r\n id,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n id: string;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<DeleteWorkspaceResponse>(\r\n apiUrl as string,\r\n DELETE_WORKSPACE_MUTATION,\r\n { id },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.deleteWorkspace;\r\n};\r\n\r\nexport function useApiDeleteWorkspace() {\r\n const { mutate: deleteWorkspace, isPending: isDeletingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"delete-workspace\"],\r\n mutationFn,\r\n onMutate: async ({ id }) => {\r\n await queryClient.cancelQueries({ queryKey: [\"workspaces\"] });\r\n\r\n const previousData = queryClient.getQueryData<any>([\"workspaces\"]);\r\n\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.filter(\r\n (workspace: WorkspaceProps) => workspace.id !== id\r\n ),\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total - 1,\r\n },\r\n })),\r\n };\r\n });\r\n\r\n return { previousData };\r\n },\r\n onSettled: () => {\r\n queryClient.invalidateQueries({ queryKey: [\"workspaces\"] });\r\n },\r\n });\r\n\r\n return {\r\n deleteWorkspace,\r\n isDeletingWorkspace,\r\n };\r\n}\r\n","\nfunction injectStyle(css) {\n if (!css || typeof document === 'undefined') return\n\n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if(head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n\n if(style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n}\ninjectStyle(\":root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:\\\"\\\";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:\\\"\\\";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\\n\");","import { isValidElement } from 'react';\nimport { Id } from '../types';\n\nexport const isNum = (v: any): v is Number => typeof v === 'number' && !isNaN(v);\n\nexport const isStr = (v: any): v is String => typeof v === 'string';\n\nexport const isFn = (v: any): v is Function => typeof v === 'function';\n\nexport const isId = (v: unknown): v is Id => isStr(v) || isNum(v);\n\nexport const parseClassName = (v: any) => (isStr(v) || isFn(v) ? v : null);\n\nexport const getAutoCloseDelay = (toastAutoClose?: false | number, containerAutoClose?: false | number) =>\n toastAutoClose === false || (isNum(toastAutoClose) && toastAutoClose > 0) ? toastAutoClose : containerAutoClose;\n\nexport const canBeRendered = <T>(content: T): boolean =>\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n","import { Default } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(node: HTMLElement, done: () => void, duration = Default.COLLAPSE_DURATION) {\n const { scrollHeight, style } = node;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = scrollHeight + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration as number);\n });\n });\n}\n","let TOAST_ID = 1;\n\nexport const genToastId = () => `${TOAST_ID++}`;\n","import {\n ClearWaitingQueueParams,\n Id,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContainerProps,\n ToastContent,\n ToastItem,\n ToastOptions\n} from '../types';\nimport { Default, canBeRendered, isId } from '../utils';\nimport { ContainerObserver, createContainerObserver } from './containerObserver';\n\ninterface EnqueuedToast {\n content: ToastContent<any>;\n options: NotValidatedToastProps;\n}\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nconst containers = new Map<Id, ContainerObserver>();\nlet renderQueue: EnqueuedToast[] = [];\nconst listeners = new Set<OnChangeCallback>();\n\nconst dispatchChanges = (data: ToastItem) => listeners.forEach(cb => cb(data));\n\nconst hasContainers = () => containers.size > 0;\n\nfunction flushRenderQueue() {\n renderQueue.forEach(v => pushToast(v.content, v.options));\n renderQueue = [];\n}\n\nexport const getToast = (id: Id, { containerId }: ToastOptions) =>\n containers.get(containerId || Default.CONTAINER_ID)?.toasts.get(id);\n\nexport function isToastActive(id: Id, containerId?: Id) {\n if (containerId) return !!containers.get(containerId)?.isToastActive(id);\n\n let isActive = false;\n containers.forEach(c => {\n if (c.isToastActive(id)) isActive = true;\n });\n\n return isActive;\n}\n\nexport function removeToast(params?: Id | RemoveParams) {\n if (!hasContainers()) {\n renderQueue = renderQueue.filter(v => params != null && v.options.toastId !== params);\n return;\n }\n\n if (params == null || isId(params)) {\n containers.forEach(c => {\n c.removeToast(params as Id);\n });\n } else if (params && ('containerId' in params || 'id' in params)) {\n const container = containers.get(params.containerId);\n container\n ? container.removeToast(params.id)\n : containers.forEach(c => {\n c.removeToast(params.id);\n });\n }\n}\n\nexport const clearWaitingQueue = (p: ClearWaitingQueueParams = {}) => {\n containers.forEach(c => {\n if (c.props.limit && (!p.containerId || c.id === p.containerId)) {\n c.clearQueue();\n }\n });\n};\n\nexport function pushToast<TData>(content: ToastContent<TData>, options: NotValidatedToastProps) {\n if (!canBeRendered(content)) return;\n if (!hasContainers()) renderQueue.push({ content, options });\n\n containers.forEach(c => {\n c.buildToast(content, options);\n });\n}\n\ninterface ToggleToastParams {\n id?: Id;\n containerId?: Id;\n}\n\ntype RegisterToggleOpts = {\n id: Id;\n containerId?: Id;\n fn: (v: boolean) => void;\n};\n\nexport function registerToggle(opts: RegisterToggleOpts) {\n containers.get(opts.containerId || Default.CONTAINER_ID)?.setToggle(opts.id, opts.fn);\n}\n\nexport function toggleToast(v: boolean, opt?: ToggleToastParams) {\n containers.forEach(c => {\n if (opt == null || !opt?.containerId) {\n c.toggle(v, opt?.id);\n } else if (opt?.containerId === c.id) {\n c.toggle(v, opt?.id);\n }\n });\n}\n\nexport function registerContainer(props: ToastContainerProps) {\n const id = props.containerId || Default.CONTAINER_ID;\n return {\n subscribe(notify: () => void) {\n const container = createContainerObserver(id, props, dispatchChanges);\n\n containers.set(id, container);\n const unobserve = container.observe(notify);\n flushRenderQueue();\n\n return () => {\n unobserve();\n containers.delete(id);\n };\n },\n setProps(p: ToastContainerProps) {\n containers.get(id)?.setProps(p);\n },\n getSnapshot() {\n return containers.get(id)?.getSnapshot();\n }\n };\n}\n\nexport function onChange(cb: OnChangeCallback) {\n listeners.add(cb);\n\n return () => {\n listeners.delete(cb);\n };\n}\n","import {\n ClearWaitingQueueFunc,\n Id,\n IdOpts,\n NotValidatedToastProps,\n OnChangeCallback,\n ToastContent,\n ToastOptions,\n ToastProps,\n TypeOptions,\n UpdateOptions\n} from '../types';\nimport { isFn, isNum, isStr, Type } from '../utils';\nimport { genToastId } from './genToastId';\nimport { clearWaitingQueue, getToast, isToastActive, onChange, pushToast, removeToast, toggleToast } from './store';\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId<TData>(options?: ToastOptions<TData>) {\n return options && (isStr(options.toastId) || isNum(options.toastId)) ? options.toastId : genToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued\n */\nfunction dispatchToast<TData>(content: ToastContent<TData>, options: NotValidatedToastProps): Id {\n pushToast(content, options);\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions<TData>(type: string, options?: ToastOptions<TData>) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return <TData = unknown>(content: ToastContent<TData>, options?: ToastOptions<TData>) =>\n dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast<TData = unknown>(content: ToastContent<TData>, options?: ToastOptions<TData>) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = <TData = unknown>(content: ToastContent<TData>, options?: ToastOptions<TData>) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams<TData = unknown, TError = unknown, TPending = unknown> {\n pending?: string | UpdateOptions<TPending>;\n success?: string | UpdateOptions<TData>;\n error?: string | UpdateOptions<TError>;\n}\n\nfunction handlePromise<TData = unknown, TError = unknown, TPending = unknown>(\n promise: Promise<TData> | (() => Promise<TData>),\n { pending, error, success }: ToastPromiseParams<TData, TError, TPending>,\n options?: ToastOptions<TData>\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n } as ToastOptions<TPending>);\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null\n };\n\n const resolver = <T>(type: TypeOptions, input: string | UpdateOptions<T> | undefined, result: T) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions<T>);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err => resolver('error', error, err));\n\n return p;\n}\n\n/**\n * Supply a promise or a function that return a promise and the notification will be updated if it resolves or fails.\n * When the promise is pending a spinner is displayed by default.\n * `toast.promise` returns the provided promise so you can chain it.\n *\n * Simple example:\n *\n * ```\n * toast.promise(MyPromise,\n * {\n * pending: 'Promise is pending',\n * success: 'Promise resolved 👌',\n * error: 'Promise rejected 🤯'\n * }\n * )\n *\n * ```\n *\n * Advanced usage:\n * ```\n * toast.promise<{name: string}, {message: string}, undefined>(\n * resolveWithSomeData,\n * {\n * pending: {\n * render: () => \"I'm loading\",\n * icon: false,\n * },\n * success: {\n * render: ({data}) => `Hello ${data.name}`,\n * icon: \"🟢\",\n * },\n * error: {\n * render({data}){\n * // When the promise reject, data will contains the error\n * return <MyErrorComponent message={data.message} />\n * }\n * }\n * }\n * )\n * ```\n */\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\ninterface RemoveParams {\n id?: Id;\n containerId: Id;\n}\n\nfunction dismiss(params: RemoveParams): void;\nfunction dismiss(params?: Id): void;\nfunction dismiss(params?: Id | RemoveParams) {\n removeToast(params);\n}\n\n/**\n * Remove toast programmatically\n *\n * - Remove all toasts:\n * ```\n * toast.dismiss()\n * ```\n *\n * - Remove all toasts that belongs to a given container\n * ```\n * toast.dismiss({ container: \"123\" })\n * ```\n *\n * - Remove toast that has a given id regardless the container\n * ```\n * toast.dismiss({ id: \"123\" })\n * ```\n *\n * - Remove toast that has a given id for a specific container\n * ```\n * toast.dismiss({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.dismiss = dismiss;\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = clearWaitingQueue as ClearWaitingQueueFunc;\n\n/**\n * Check if a toast is active\n *\n * - Check regardless the container\n * ```\n * toast.isActive(\"123\")\n * ```\n *\n * - Check in a specific container\n * ```\n * toast.isActive(\"123\", \"containerId\")\n * ```\n */\ntoast.isActive = isToastActive;\n\n/**\n * Update a toast, see https://fkhadra.github.io/react-toastify/update-toast/ for more\n *\n * Example:\n * ```\n * // With a string\n * toast.update(toastId, {\n * render: \"New content\",\n * type: \"info\",\n * });\n *\n * // Or with a component\n * toast.update(toastId, {\n * render: MyComponent\n * });\n *\n * // Or a function\n * toast.update(toastId, {\n * render: () => <div>New content</div>\n * });\n *\n * // Apply a transition\n * toast.update(toastId, {\n * render: \"New Content\",\n * type: toast.TYPE.INFO,\n * transition: Rotate\n * })\n * ```\n */\ntoast.update = <TData = unknown>(toastId: Id, options: UpdateOptions<TData> = {}) => {\n const toast = getToast(toastId, options as ToastOptions);\n\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n delay: 100,\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: genToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n};\n\n/**\n * Used for controlled progress bar. It will automatically close the notification.\n *\n * If you don't want your notification to be clsoed when the timer is done you should use `toast.update` instead as follow instead:\n *\n * ```\n * toast.update(id, {\n * progress: null, // remove controlled progress bar\n * render: \"ok\",\n * type: \"success\",\n * autoClose: 5000 // set autoClose to the desired value\n * });\n * ```\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = onChange as (cb: OnChangeCallback) => () => void;\n\n/**\n * Play a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Play all toasts\n * ```\n * toast.play()\n * ```\n *\n * - Play all toasts for a given container\n * ```\n * toast.play({ containerId: \"123\" })\n * ```\n *\n * - Play toast that has a given id regardless the container\n * ```\n * toast.play({ id: \"123\" })\n * ```\n *\n * - Play toast that has a given id for a specific container\n * ```\n * toast.play({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.play = (opts?: IdOpts) => toggleToast(true, opts);\n\n/**\n * Pause a toast(s) timer progammatically\n *\n * Usage:\n *\n * - Pause all toasts\n * ```\n * toast.pause()\n * ```\n *\n * - Pause all toasts for a given container\n * ```\n * toast.pause({ containerId: \"123\" })\n * ```\n *\n * - Pause toast that has a given id regardless the container\n * ```\n * toast.pause({ id: \"123\" })\n * ```\n *\n * - Pause toast that has a given id for a specific container\n * ```\n * toast.pause({ id: \"123\", containerId: \"12\" })\n * ```\n */\ntoast.pause = (opts?: IdOpts) => toggleToast(false, opts);\n\nexport { toast };\n","import React from \"react\";\r\nimport { toast } from \"react-toastify\";\r\n\r\ntype ToastProps = {\r\n title: string;\r\n message: string;\r\n};\r\n\r\ntype ConditionalToastProps = ToastProps & {\r\n open?: boolean;\r\n};\r\n\r\nconst TOAST_ID = \"conditional-info-toast\"; // unique ID for control\r\n\r\nexport function useToast() {\r\n const errorToast = ({ title, message }: ToastProps) =>\r\n toast.error(\r\n <ToastContainer type=\"error\" message={message} title={title} />\r\n );\r\n\r\n const successToast = ({ title, message }: ToastProps) =>\r\n toast.success(\r\n <ToastContainer type=\"success\" message={message} title={title} />\r\n );\r\n\r\n const infoToast = ({ title, message }: ToastProps) =>\r\n toast.info(<ToastContainer type=\"info\" message={message} title={title} />);\r\n\r\n const warnToast = ({ title, message }: ToastProps) =>\r\n toast.warn(<ToastContainer type=\"warn\" message={message} title={title} />);\r\n\r\n const conditionalInfoToast = ({\r\n title,\r\n message,\r\n open = true,\r\n }: ConditionalToastProps) => {\r\n if (open) {\r\n if (!toast.isActive(TOAST_ID)) {\r\n toast.info(\r\n <ToastContainer type=\"info\" message={message} title={title} />,\r\n {\r\n toastId: TOAST_ID,\r\n autoClose: false,\r\n closeOnClick: false,\r\n draggable: false,\r\n }\r\n );\r\n }\r\n } else {\r\n toast.dismiss(TOAST_ID);\r\n }\r\n };\r\n\r\n return {\r\n errorToast,\r\n successToast,\r\n warnToast,\r\n infoToast,\r\n conditionalInfoToast,\r\n };\r\n}\r\n\r\nconst ToastContainer = ({\r\n title,\r\n message,\r\n type,\r\n}: ToastProps & { type: \"info\" | \"error\" | \"success\" | \"warn\" }) => (\r\n <div className=\"w-full flex flex-col gap-1\">\r\n <h6\r\n className={`text-base font-semibold manrope-font ${\r\n type == \"error\"\r\n ? \"text-red-shade6\"\r\n : type == \"success\"\r\n ? \"text-green-shade6\"\r\n : type == \"info\"\r\n ? \"text-blue-shade1\"\r\n : \"text-orange-shade6\"\r\n }`}\r\n >\r\n {title}\r\n </h6>\r\n\r\n {message && (\r\n <span className=\"text-sm manrope-font text-dark-1\">{message}</span>\r\n )}\r\n </div>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const AlertIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"70\"\r\n height=\"70\"\r\n fill=\"none\"\r\n viewBox=\"0 0 70 70\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n d=\"M35 6.563C19.32 6.563 6.563 19.32 6.563 35S19.32 63.438 35 63.438 63.438 50.68 63.438 35 50.68 6.563 35 6.563M37.734 50.3h-5.468v-5.469h5.468zm-.547-8.737h-4.374l-.82-21.876h6.015z\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { WorkspaceProps } from \"../../../../../../../types/workspace.types\";\r\nimport { create } from \"zustand\";\r\n\r\ntype AddWorkspaceStore = {\r\n step: \"form\" | \"loading\" | \"success\" | \"error\";\r\n setStep: (step: \"form\" | \"loading\" | \"success\" | \"error\") => void;\r\n workspace: WorkspaceProps | undefined;\r\n setWorkspace: (workspace?: WorkspaceProps) => void;\r\n};\r\n\r\nexport const useAddWorkspaceStore = create<AddWorkspaceStore>((set) => ({\r\n step: \"form\",\r\n setStep: (step) => set({ step }),\r\n workspace: undefined,\r\n setWorkspace: (workspace) => set({ workspace }),\r\n}));\r\n","import * as React from \"react\";\r\n\r\nexport const CongratulationsIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"266\"\r\n height=\"167\"\r\n fill=\"none\"\r\n viewBox=\"0 0 266 167\"\r\n >\r\n <path\r\n fill=\"#FE964A\"\r\n d=\"M92.068 10.15c0 4.177 6.696 7.564 2.037 7.564-4.66 0-8.437-3.387-8.437-7.564 0-4.178 3.777-7.564 8.436-7.564 4.66 0-2.036 3.386-2.036 7.564M158.23 6.5l1.132 3.484h3.664l-2.964 2.154 1.132 3.484-2.964-2.153-2.964 2.153 1.132-3.484-2.964-2.154h3.664z\"\r\n ></path>\r\n <path\r\n stroke=\"#0BA259\"\r\n strokeWidth=\"2.017\"\r\n d=\"M34.378 80.153s10.748-5.354 13.186-2.548c1.34 1.542 2.351 3.409 1.152 4.926-.925 1.169-2.26 1.318-3.825 1.043-3.312-.582-3.262-5.182-1.932-8.031 1.836-3.934 11.582-1.612 11.582-1.612\"\r\n ></path>\r\n <circle cx=\"229.217\" cy=\"74.793\" r=\"5.883\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"1.681\"\r\n d=\"m56.047 136.488.837-7.22 5.835 3.7.666-6.057 5.322 3.667 1.658-6.548\"\r\n ></path>\r\n <path\r\n stroke=\"#2F78EE\"\r\n strokeWidth=\"2.017\"\r\n d=\"M193.3 22.425s-.818-4.86 1.53-5.83c1.973-.813 3.683 2.786 5.304 1.481 1.642-1.322-2.457-3.416-1.122-4.997 1.405-1.664 5.916 0 5.916 0\"\r\n ></path>\r\n <path fill=\"#2F78EE\" d=\"M32.955 15.135 54.56 25.891l-5.4 7.365z\"></path>\r\n <circle cx=\"224.346\" cy=\"94.814\" r=\"2.521\" fill=\"#FFEDEC\"></circle>\r\n <path\r\n fill=\"#2F78EE\"\r\n d=\"M200.116 128.002c2.771.279 5.465-3.937 5.154-.846s-2.81 5.37-5.581 5.091-4.765-3.01-4.454-6.101 2.11 1.577 4.881 1.856\"\r\n ></path>\r\n <path\r\n fill=\"#0BA259\"\r\n d=\"m209.11 39.492 1.886 5.808h6.107l-4.94 3.589 1.887 5.807-4.94-3.59-4.94 3.59 1.886-5.807-4.94-3.59h6.107z\"\r\n ></path>\r\n <rect\r\n width=\"100\"\r\n height=\"100\"\r\n x=\"82.799\"\r\n y=\"26.324\"\r\n fill=\"#0B89CE\"\r\n rx=\"50\"\r\n ></rect>\r\n <g filter=\"url(#filter0_d_56449_70621)\">\r\n <rect\r\n width=\"60\"\r\n height=\"60\"\r\n x=\"102.799\"\r\n y=\"46.324\"\r\n fill=\"#fff\"\r\n rx=\"30\"\r\n shapeRendering=\"crispEdges\"\r\n ></rect>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M143.683 69.19a1.25 1.25 0 0 1 0 1.768l-12.5 12.5a1.25 1.25 0 0 1-1.768 0l-6.25-6.25a1.25 1.25 0 0 1 1.768-1.768l5.366 5.367 11.616-11.617a1.25 1.25 0 0 1 1.768 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_56449_70621\"\r\n width=\"140\"\r\n height=\"140\"\r\n x=\"62.799\"\r\n y=\"26.324\"\r\n colorInterpolationFilters=\"sRGB\"\r\n filterUnits=\"userSpaceOnUse\"\r\n >\r\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"></feFlood>\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n result=\"hardAlpha\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n ></feColorMatrix>\r\n <feOffset dy=\"20\"></feOffset>\r\n <feGaussianBlur stdDeviation=\"20\"></feGaussianBlur>\r\n <feComposite in2=\"hardAlpha\" operator=\"out\"></feComposite>\r\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0\"></feColorMatrix>\r\n <feBlend\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_56449_70621\"\r\n ></feBlend>\r\n <feBlend\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_56449_70621\"\r\n result=\"shape\"\r\n ></feBlend>\r\n </filter>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import { CongratulationsIllustration } from \"../../../../../../../../assets/illustrations/CongratulationsIllustration\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport React from \"react\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceDone({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <div className=\"w-40 h-40 flex items-center justify-center lg:w-auto lg:h-auto\">\r\n <CongratulationsIllustration />\r\n </div>\r\n\r\n <h4 className=\"text-2xl lg:text-[2rem] font-bold lg:leading-normal text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.title\"\r\n )}\r\n </h4>\r\n\r\n <p className=\"text-gray-shade8 text-center\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.description\"\r\n )}\r\n </p>\r\n\r\n <div className=\"w-full mt-4 flex-col lg:flex-row flex items-center gap-4\">\r\n <button\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.store\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={onClose}\r\n className=\"flex-1 w-full lg:w-auto border border-primary text-white bg-primary font-bold py-3 lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.success.button.view-workspace\"\r\n )}\r\n </button>\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import { useMutation, useQueryClient } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { CREATE_WORKSPACES_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype CreateWorkspaceInput = {\r\n name: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype CreateWorkspaceResponse = {\r\n createWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: CreateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<CreateWorkspaceResponse>(\r\n apiUrl as string,\r\n CREATE_WORKSPACES_MUTATION,\r\n { createWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.createWorkspace;\r\n};\r\n\r\nexport function useApiCreateWorkspace() {\r\n const queryClient = useQueryClient();\r\n\r\n const { mutate: createWorkspace, isPending: isCreatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"create-workspace\"],\r\n mutationFn,\r\n onSuccess: (newWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any, index: number) => {\r\n if (index === 0) {\r\n return {\r\n ...page,\r\n data: [newWorkspace, ...page.data],\r\n meta: {\r\n ...page.meta,\r\n total: page.meta.total + 1,\r\n },\r\n };\r\n }\r\n return page;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n createWorkspace,\r\n isCreatingWorkspace,\r\n };\r\n}\r\n","import { useMutation } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { UPDATE_WORKSPACE_MUTATION } from \"./graphql\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { queryClient } from \"../../../../client/queryClient\";\r\n\r\ntype UpdateWorkspaceInput = {\r\n id: string;\r\n name?: string;\r\n description?: string;\r\n isActive?: boolean;\r\n icon?: string;\r\n};\r\n\r\ntype UpdateWorkspaceResponse = {\r\n updateWorkspace: WorkspaceProps;\r\n};\r\n\r\nconst mutationFn = async ({\r\n input,\r\n apiUrl,\r\n accessToken,\r\n}: {\r\n input: UpdateWorkspaceInput;\r\n apiUrl?: string;\r\n accessToken?: string;\r\n}) => {\r\n const response = await request<UpdateWorkspaceResponse>(\r\n apiUrl as string,\r\n UPDATE_WORKSPACE_MUTATION,\r\n { updateWorkspaceInput: input },\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response.updateWorkspace;\r\n};\r\n\r\nexport function useApiUpdateWorkspace() {\r\n const { mutate: updateWorkspace, isPending: isUpdatingWorkspace } =\r\n useMutation({\r\n mutationKey: [\"update-workspace\"],\r\n mutationFn,\r\n onSuccess: (updatedWorkspace) => {\r\n queryClient.setQueryData<any>([\"workspaces\"], (oldData: any) => {\r\n if (!oldData) return oldData;\r\n\r\n return {\r\n ...oldData,\r\n pages: oldData.pages.map((page: any) => ({\r\n ...page,\r\n data: page.data.map((workspace: WorkspaceProps) =>\r\n workspace.id === updatedWorkspace.id\r\n ? updatedWorkspace\r\n : workspace\r\n ),\r\n })),\r\n };\r\n });\r\n },\r\n });\r\n\r\n return {\r\n updateWorkspace,\r\n isUpdatingWorkspace,\r\n };\r\n}\r\n","import * as yup from \"yup\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { useApiCreateWorkspace } from \"../../../../../api/use-api-create-workspace\";\r\nimport { useToast } from \"../../../../../../../../components/shared/toasts/toasts\";\r\nimport { useApiUpdateWorkspace } from \"../../../../../../../../components/fromMirantes/WorkspacePanel/api/use-api-update-workspace\";\r\n\r\nconst AddWorkspaceModalFormSchema = yup.object({\r\n name: yup.string().required(\"required-field\"),\r\n interests: yup.array().of(yup.string()).optional(),\r\n description: yup.string().optional(),\r\n icon: yup.string().optional(),\r\n});\r\n\r\nexport function useAddWorkspaceModal() {\r\n const { updateWorkspace, isUpdatingWorkspace } = useApiUpdateWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const { setStep, workspace } = useAddWorkspaceStore();\r\n const { errorToast } = useToast();\r\n\r\n const { user, widgetsApi } = useMirantesFoundation();\r\n const { createWorkspace, isCreatingWorkspace } = useApiCreateWorkspace();\r\n const [selectedInterests, setSelectedInterests] = useState<string[]>([]);\r\n const interests = [\r\n {\r\n id: \"1\",\r\n name: \"Looking for a job\",\r\n },\r\n {\r\n id: \"2\",\r\n name: \"Creating a new product\",\r\n },\r\n {\r\n id: \"3\",\r\n name: \"Expanding my business\",\r\n },\r\n {\r\n id: \"4\",\r\n name: \"Learning new things\",\r\n },\r\n ];\r\n\r\n const {\r\n watch,\r\n setValue,\r\n clearErrors,\r\n handleSubmit,\r\n formState: { errors },\r\n } = useForm({\r\n resolver: yupResolver(AddWorkspaceModalFormSchema),\r\n });\r\n\r\n useEffect(() => {\r\n if (workspace) {\r\n setValue(\"name\", workspace.name);\r\n setValue(\"description\", workspace.description);\r\n }\r\n }, [workspace]);\r\n\r\n const getError = (field?: string) =>\r\n field\r\n ? packageDictionary(\r\n locale as TLocale,\r\n `component.workspace.panel.modal.form.errors.${field}` as any\r\n )\r\n : undefined;\r\n\r\n const onSelectInterest = (id: string) => {\r\n setSelectedInterests([...selectedInterests, id]);\r\n };\r\n\r\n const onRemoveInterest = (id: string) => {\r\n setSelectedInterests(selectedInterests.filter((item) => item !== id));\r\n };\r\n\r\n const onChangeName = (value: string) => {\r\n if (errors?.name?.message && value) {\r\n clearErrors(\"name\");\r\n }\r\n\r\n setValue(\"name\", value);\r\n };\r\n\r\n const onChangeDescription = (value: string) => {\r\n if (errors?.description?.message && value) {\r\n clearErrors(\"description\");\r\n }\r\n\r\n setValue(\"description\", value);\r\n };\r\n\r\n const onSubmit = handleSubmit((data) => {\r\n const { interests, ...rest } = data;\r\n setStep(\"loading\");\r\n\r\n if (workspace?.id) {\r\n updateWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n id: workspace?.id,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.edit.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n\r\n return;\r\n }\r\n createWorkspace(\r\n {\r\n input: {\r\n ...rest,\r\n },\r\n accessToken: user?.accessToken,\r\n apiUrl: widgetsApi,\r\n },\r\n {\r\n onSuccess() {\r\n setStep(\"success\");\r\n },\r\n onError() {\r\n setStep(\"form\");\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n });\r\n\r\n return {\r\n onChangeName,\r\n onChangeDescription,\r\n errors,\r\n watch,\r\n onSelectInterest,\r\n onRemoveInterest,\r\n interests,\r\n getError,\r\n selectedInterests,\r\n onSubmit,\r\n isCreatingWorkspace: isCreatingWorkspace || isUpdatingWorkspace,\r\n setValue,\r\n };\r\n}\r\n","import React from \"react\";\r\n\r\nexport const CircledInfoIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"15\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 15\"\r\n >\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 1.482a6.188 6.188 0 1 0 0 12.375A6.188 6.188 0 0 0 8 1.482M.688 7.669a7.313 7.313 0 1 1 14.625 0 7.313 7.313 0 0 1-14.625 0\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n <path\r\n fill=\"#E03137\"\r\n fillRule=\"evenodd\"\r\n d=\"M8 4.107c.31 0 .563.252.563.562v3a.563.563 0 0 1-1.126 0v-3c0-.31.252-.562.563-.562M7.438 10.67c0-.312.251-.563.562-.563h.008a.562.562 0 1 1 0 1.125H8a.563.563 0 0 1-.562-.563\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\nimport { cn } from \"../../lib/utils\";\r\nimport { CircledInfoIcon } from \"../../assets/icons/CircledInfoIcon\";\r\n\r\ninterface InputProps extends React.ComponentProps<\"input\"> {\r\n error?: string;\r\n inputClassName?: string;\r\n leftElementClassName?: string;\r\n leftElement?: React.ReactNode;\r\n rightElement?: React.ReactNode;\r\n rightElementClassName?: string;\r\n}\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n (\r\n {\r\n className,\r\n type,\r\n leftElement,\r\n rightElement,\r\n leftElementClassName,\r\n rightElementClassName,\r\n inputClassName,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n return (\r\n <div className=\"flex flex-col w-full\">\r\n <div\r\n className={cn(\r\n \"relative flex items-center w-full focus-within:border-b-blue-shade1\",\r\n !!props?.error && \"border-b-red-shade6\",\r\n className\r\n )}\r\n >\r\n {leftElement && (\r\n <div className={leftElementClassName}>{leftElement}</div>\r\n )}\r\n\r\n <input\r\n type={type}\r\n className={cn(\r\n \"flex w-full bg-red-400 bg-transparent px-3 focus-within:border-none py-1 h-[52px] text-sm placeholder:text-gray-shade25 outline-none focus-visible:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:border-neutral-800 dark:placeholder:text-neutral-400 \",\r\n !!leftElement && \"pl-10\",\r\n !!rightElement && \"pr-10\",\r\n inputClassName\r\n )}\r\n ref={ref}\r\n {...props}\r\n />\r\n\r\n {rightElement && (\r\n <div className={rightElementClassName}>{rightElement}</div>\r\n )}\r\n </div>\r\n\r\n {props?.error && (\r\n <div className=\"flex items-center gap-x-[8px] mt-[5.69px]\">\r\n {CircledInfoIcon}\r\n\r\n <span className=\"text-red-shade6 text-[0.75rem] \">\r\n {props?.error}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\nInput.displayName = \"Input\";\r\n\r\nexport { Input };\r\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs));\r\n}\r\n","import { Input } from \"../../../components/ui/input\";\r\nimport { cn } from \"../../../utils/utils\";\r\nimport React, { useRef, useState } from \"react\";\r\n\r\ntype BaseInputProps = {\r\n placeholder: string;\r\n value: string;\r\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n rightIcon?: React.ReactNode;\r\n leftIcon?: React.ReactNode;\r\n label?: string;\r\n error?: string;\r\n disabled?: boolean;\r\n type?: string;\r\n name?: string;\r\n id?: string;\r\n className?: string;\r\n children?: React.ReactNode;\r\n wrapperClassName?: string;\r\n required?: boolean;\r\n};\r\n\r\nexport function BaseInput({\r\n placeholder,\r\n value,\r\n onChange,\r\n rightIcon,\r\n leftIcon,\r\n label,\r\n className,\r\n error,\r\n disabled,\r\n type,\r\n name,\r\n id,\r\n children,\r\n required,\r\n wrapperClassName,\r\n}: BaseInputProps) {\r\n const [isFocusing, setIsFocusing] = useState(false);\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const handleFocus = () => {\r\n setIsFocusing(true);\r\n };\r\n\r\n const handleBlur = () => {\r\n setIsFocusing(false);\r\n };\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-y-2\", wrapperClassName)}>\r\n <div className=\"flex items-center gap-x-2\">\r\n {label && <label className=\"text-body-md\">{label}</label>}\r\n {required && <span className=\"text-red-500\">*</span>}\r\n </div>\r\n\r\n <div\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n ref={inputRef}\r\n className={cn(\r\n \"flex bg-[#EFF4FB] rounded-xl px-4 w-full items-center border border-border\",\r\n className,\r\n !!error && \"border border-red-shade6\"\r\n )}\r\n >\r\n {leftIcon && <div>{leftIcon}</div>}\r\n\r\n <Input\r\n className={cn(\"!h-auto\", className)}\r\n placeholder={placeholder}\r\n value={value}\r\n onChange={onChange}\r\n />\r\n\r\n {rightIcon && <div>{rightIcon}</div>}\r\n </div>\r\n\r\n {error && <p className=\"text-red-shade6 text-body-sm\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { SearchIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogDescription,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"../../components/ui/dialog\"\r\n\r\nfunction Command({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive>) {\r\n return (\r\n <CommandPrimitive\r\n data-slot=\"command\"\r\n className={cn(\r\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandDialog({\r\n title = \"Command Palette\",\r\n description = \"Search for a command to run...\",\r\n children,\r\n ...props\r\n}: React.ComponentProps<typeof Dialog> & {\r\n title?: string\r\n description?: string\r\n}) {\r\n return (\r\n <Dialog {...props}>\r\n <DialogHeader className=\"sr-only\">\r\n <DialogTitle>{title}</DialogTitle>\r\n <DialogDescription>{description}</DialogDescription>\r\n </DialogHeader>\r\n <DialogContent className=\"overflow-hidden p-0\">\r\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nfunction CommandInput({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\r\n return (\r\n <div\r\n data-slot=\"command-input-wrapper\"\r\n className=\"flex h-9 items-center gap-2 border-b px-3\"\r\n >\r\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n data-slot=\"command-input\"\r\n className={cn(\r\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction CommandList({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\r\n return (\r\n <CommandPrimitive.List\r\n data-slot=\"command-list\"\r\n className={cn(\r\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandEmpty({\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\r\n return (\r\n <CommandPrimitive.Empty\r\n data-slot=\"command-empty\"\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandGroup({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\r\n return (\r\n <CommandPrimitive.Group\r\n data-slot=\"command-group\"\r\n className={cn(\r\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandSeparator({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\r\n return (\r\n <CommandPrimitive.Separator\r\n data-slot=\"command-separator\"\r\n className={cn(\"bg-border -mx-1 h-px\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandItem({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\r\n return (\r\n <CommandPrimitive.Item\r\n data-slot=\"command-item\"\r\n className={cn(\r\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CommandShortcut({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n data-slot=\"command-shortcut\"\r\n className={cn(\r\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n}\r\n","import * as React from \"react\"\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Popover({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\r\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\r\n}\r\n\r\nfunction PopoverTrigger({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\r\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\r\n}\r\n\r\nfunction PopoverContent({\r\n className,\r\n align = \"center\",\r\n sideOffset = 4,\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\r\n return (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n data-slot=\"popover-content\"\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n )\r\n}\r\n\r\nfunction PopoverAnchor({\r\n ...props\r\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\r\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\r\n}\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\r\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Check, ChevronDown } from \"lucide-react\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { Button } from \"../../../components/ui/button\";\r\nimport {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from \"../../../components/ui/command\";\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"../../../components/ui/popover\";\r\nimport type { UseFormRegisterReturn } from \"react-hook-form\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\n\r\nexport interface SelectInputOption {\r\n id: string;\r\n value: string;\r\n icon?: string;\r\n}\r\n\r\nexport interface SelectInputProps {\r\n options: SelectInputOption[];\r\n label?: string;\r\n placeholder?: string;\r\n className?: string;\r\n error?: string;\r\n required?: boolean;\r\n value?: string;\r\n onChange?: (id: string) => void;\r\n onChangeItem?: (item: SelectInputOption) => void;\r\n register?: UseFormRegisterReturn;\r\n name?: string;\r\n disabled?: boolean;\r\n disableSelectedItem?: boolean;\r\n}\r\n\r\nexport function SelectInput({\r\n options,\r\n label,\r\n placeholder,\r\n className,\r\n error,\r\n required = false,\r\n value,\r\n onChange,\r\n register,\r\n name = \"selectInput\",\r\n disabled = false,\r\n onChangeItem,\r\n disableSelectedItem = false,\r\n}: SelectInputProps) {\r\n const { locale } = useMirantesFoundation();\r\n const [open, setOpen] = React.useState(false);\r\n const [selectedValue, setSelectedValue] = React.useState(value || \"\");\r\n\r\n // Handle external value changes\r\n React.useEffect(() => {\r\n if (value !== undefined) {\r\n setSelectedValue(value);\r\n }\r\n }, [value]);\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: string) => {\r\n const selectedItem = options.find((option) => option.id === currentValue);\r\n setSelectedValue(currentValue);\r\n setOpen(false);\r\n\r\n if (onChange) {\r\n onChange(currentValue);\r\n }\r\n\r\n if (onChangeItem && selectedItem) {\r\n onChangeItem(selectedItem);\r\n }\r\n },\r\n [onChange, onChangeItem, options]\r\n );\r\n\r\n const selectedOption = React.useMemo(\r\n () => options.find((option) => option.id === selectedValue),\r\n [options, selectedValue]\r\n );\r\n\r\n const hiddenInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n return (\r\n <div className=\"space-y-2\">\r\n {label && (\r\n <label className=\"text-body-md font-medium\">\r\n {label}\r\n {required && <span className=\"text-red-500 ml-1\">*</span>}\r\n </label>\r\n )}\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"outline\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className={cn(\r\n \"w-full justify-between text-body-md overflow-hidden h-14 px-4 py-3 text-base rounded-xl font-normal\",\r\n \"border border-border bg-background hover:bg-accent hover:text-accent-foreground\",\r\n !selectedValue && \"text-muted-foreground\",\r\n error && \"border-red-500 focus-visible:ring-red-500\",\r\n className\r\n )}\r\n disabled={disabled}\r\n >\r\n <div className=\"flex items-center gap-2 truncate\">\r\n {disableSelectedItem && selectedOption && selectedOption.icon && (\r\n <span className=\"flex items-center text-body-md text-gray-shade8 justify-center w-5 h-5\">\r\n {selectedOption.icon}\r\n </span>\r\n )}\r\n <span className=\"truncate text-body-md text-gray-shade8\">\r\n {disableSelectedItem\r\n ? (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))\r\n : selectedOption\r\n ? selectedOption.value\r\n : (placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n ))}\r\n </span>\r\n </div>\r\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-[--radix-popover-trigger-width] bg-white z-[102] p-0\">\r\n <Command>\r\n <CommandInput\r\n className=\"outline-none\"\r\n placeholder={\r\n placeholder ??\r\n packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.placeholder\"\r\n )\r\n }\r\n />\r\n <CommandList>\r\n <CommandEmpty>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.select-input.no-elements-found\"\r\n )}\r\n </CommandEmpty>\r\n <CommandGroup className=\"max-h-[300px] overflow-auto\">\r\n {options.map((option) => (\r\n <CommandItem\r\n key={option.id}\r\n value={option.id}\r\n onSelect={() => handleSelect(option.id)}\r\n className=\"flex items-center py-2 hover:bg-gray-shade1 cursor-pointer gap-2\"\r\n >\r\n {option.icon && (\r\n <span className=\"flex items-center justify-center w-5 h-5\">\r\n {option.icon}\r\n </span>\r\n )}\r\n <span className=\"text-body-md\">{option.value}</span>\r\n {option.id === selectedValue && (\r\n <Check className=\"ml-auto h-4 w-4\" />\r\n )}\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\r\n <input\r\n type=\"hidden\"\r\n ref={hiddenInputRef}\r\n name={name}\r\n value={selectedValue}\r\n {...register}\r\n />\r\n\r\n {error && <p className=\"text-body-md text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import { cn } from \"../../../lib/utils\";\r\nimport { X } from \"lucide-react\";\r\nimport React from \"react\";\r\n\r\nexport function Badge({\r\n label,\r\n onRemove,\r\n className,\r\n iconClassName,\r\n}: {\r\n label: string;\r\n onRemove: () => void;\r\n className?: string;\r\n iconClassName?: string;\r\n}) {\r\n return (\r\n <span\r\n className={cn(\r\n \"px-2 py-[6px] flex items-center gap-x-2 !text-body-md rounded-full bg-primary text-white\",\r\n className\r\n )}\r\n >\r\n {label}\r\n <button\r\n type=\"button\"\r\n className=\" bg-transparent border border-none p-0\"\r\n onClick={onRemove}\r\n >\r\n <X className={cn(\"w-4 h-4\", iconClassName)} />\r\n </button>\r\n </span>\r\n );\r\n}\r\n","import * as React from \"react\"\r\n\r\nimport { cn } from \"../../lib/utils\"\r\n\r\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\r\n return (\r\n <textarea\r\n data-slot=\"textarea\"\r\n className={cn(\r\n \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Textarea }\r\n","import React from \"react\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { Textarea } from \"../../../components/ui/textarea\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../context/types\";\r\nimport { packageDictionary } from \"../../../locales/utils\";\r\n\r\nexport interface DescriptionInputProps {\r\n label?: string;\r\n placeholder?: string;\r\n value?: string;\r\n onChange?: (value: string) => void;\r\n required?: boolean;\r\n className?: string;\r\n disabled?: boolean;\r\n maxLength?: number;\r\n error?: string;\r\n onGenerateDescription?: () => void;\r\n textAreaClassName?: string;\r\n}\r\n\r\nexport function DescriptionInput({\r\n label = \"Descrição\",\r\n value = \"\",\r\n onChange,\r\n required = false,\r\n className,\r\n disabled = false,\r\n maxLength = 500,\r\n error,\r\n textAreaClassName,\r\n}: DescriptionInputProps) {\r\n const [text, setText] = useState(value);\r\n const { locale } = useMirantesFoundation();\r\n\r\n useEffect(() => {\r\n setText(value);\r\n }, [value]);\r\n\r\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n const newValue = e.target.value;\r\n if (newValue.length <= maxLength) {\r\n setText(newValue);\r\n onChange?.(newValue);\r\n }\r\n };\r\n\r\n return (\r\n <div className={cn(\"space-y-2\", className)}>\r\n {label && (\r\n <label className=\"text-body-md font-normal\">\r\n {label} {required && <span className=\"text-red-shade6\">*</span>}\r\n </label>\r\n )}\r\n <div className=\"relative\">\r\n <Textarea\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n value={text}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n className={cn(\r\n \"min-h-[200px] resize-none rounded-xl border-border p-4 text-dark placeholder:text-gray-shade8/70 focus-visible:ring-primary\",\r\n textAreaClassName,\r\n error && \"border-red-500\"\r\n )}\r\n />\r\n <div className=\"absolute bottom-3 left-3 right-3 flex items-center justify-end\">\r\n <div className=\"text-body-sm self-end text-gray-shade8\">\r\n {text.length}/{maxLength}\r\n </div>\r\n </div>\r\n </div>\r\n {error && <p className=\"text-sm text-red-500\">{error}</p>}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CreatingWorkspaceIllustration = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"201\"\r\n height=\"200\"\r\n fill=\"none\"\r\n viewBox=\"0 0 201 200\"\r\n >\r\n <path fill=\"#fff\" d=\"M58.884 16.957H19.748v40.796h39.136z\"></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M56.232 16.957H17.096v40.796h39.136z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.968 22.441H22.356V52.27h28.612zM22.356 52.465a5.4 5.4 0 0 1-.712.8c-.46.48-1.104 1.132-1.824 1.84s-1.38 1.34-1.868 1.792a5.4 5.4 0 0 1-.8.7q.316-.436.712-.8c.46-.48 1.104-1.132 1.828-1.844a93 93 0 0 1 1.868-1.796q.363-.386.796-.692M50.972 52.402q.433.32.8.716c.48.456 1.132 1.1 1.84 1.82s1.344 1.38 1.796 1.868q.39.363.696.8a5.4 5.4 0 0 1-.8-.712 104 104 0 0 1-3.636-3.696 5 5 0 0 1-.696-.796\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 22.523q.316-.437.716-.8c.46-.48 1.104-1.132 1.824-1.84s1.38-1.344 1.864-1.792q.366-.39.8-.7-.316.436-.712.8a91 91 0 0 1-1.824 1.844A93 93 0 0 1 51.7 21.83a5.5 5.5 0 0 1-.8.692M22.28 22.595a5.3 5.3 0 0 1-.8-.716c-.48-.46-1.132-1.1-1.84-1.82a91 91 0 0 1-1.792-1.868 5.4 5.4 0 0 1-.7-.8q.435.316.8.712c.48.456 1.132 1.104 1.844 1.824s1.344 1.384 1.796 1.868q.385.365.692.8\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M50.9 52.269v-2.144c0-1.412 0-3.468-.024-6.08 0-5.2-.028-12.668-.048-21.58l.092.092H22.388l.108-.108v29.828l-.092-.092 20.668.044 5.8.024h2.072-2.08l-5.78.024-20.728.048h-.092V22.297h28.74v.096c0 8.94-.036 16.4-.044 21.64 0 2.604 0 4.652-.028 6.056v2a.6.6 0 0 1-.032.18\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M29.908 34.902s-.608 7.384 7.392 7.384c0-3.94-3.256-7.052-7.392-7.384\"\r\n ></path>\r\n <path\r\n fill=\"#A2D0E8\"\r\n fillOpacity=\"0.1\"\r\n d=\"M44.544 34.905s-7.384-.612-7.384 7.388c3.94 0 7.052-3.252 7.384-7.388\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M36.94 30.863s-6.04 5.416.328 11.42c2.96-3.136 2.712-8.052-.328-11.42M172.276 17.473v39.56h-56.82l-2.048-39.284z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M113.412 17.75v39.2h56.82v-39.2z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M170.5 57.22h-57.36V17.48h57.36zm-56.8-.54h56.28V18.02H113.7z\"\r\n ></path>\r\n <path fill=\"#fff\" d=\"M164.076 22.621h-44.512v29.46h44.512z\"></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M164.076 22.62h-3.296l-9.176.037-32.04.064.128-.128v29.456l-.14-.14 44.512.028-.112.112c.024-8.968.044-16.316.06-21.436 0-2.56.02-4.556.028-5.928v-2.096 2.052c0 1.364 0 3.356.028 5.904 0 5.136.036 12.508.06 21.504v.112h-.112l-44.512.028h-.14V22.46h.128l32.128.06 9.14.036h3.04q.14.022.276.064\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M113.408 17.64q.53.256.98.633c.58.4 1.372 1.016 2.224 1.7s1.6 1.328 2.136 1.816q.452.365.8.832c-.052.06-1.42-1.068-3.124-2.432s-3.064-2.484-3.016-2.548M170.228 17.749c.048.06-1.288 1.2-2.988 2.544s-3.116 2.4-3.164 2.328 1.288-1.2 2.988-2.548 3.116-2.384 3.164-2.324M170.184 56.956l-6.336-5.136zM163.848 51.823c.052-.06 1.508 1.04 3.256 2.46s3.128 2.616 3.08 2.676-1.504-1.04-3.256-2.46-3.128-2.616-3.08-2.676M113.408 56.947c-.048-.06 1.28-1.2 2.96-2.516s3.084-2.36 3.132-2.3-1.276 1.2-2.956 2.52-3.088 2.36-3.136 2.296M128.6 31.8v9.864h28.008V31.8z\"\r\n ></path>\r\n <path\r\n fill=\"#F5F5F5\"\r\n d=\"M18.568 169.746s-7.128-36.944-7.144-44.544c-.024-10.516 8.028-14.7 8.028-14.7l-3.128-8.9h17.2l-2.72 8.856s9.06 4.8 7.796 15.708c-2.36 20.4-6.124 43.6-6.124 43.6z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M34.976 114.702h-.192a5.349 5.349 0 0 0-2.648.432 7.36 7.36 0 0 0-2.68 2.048 13 13 0 0 0-1.232 1.732 15 15 0 0 0-1.08 2.128 6.3 6.3 0 0 0-.5 2.536 3.96 3.96 0 0 0 1.016 2.536c.328.353.74.617 1.2.764.48.139.992.125 1.464-.04a3.44 3.44 0 0 0 2.06-2.228 3.32 3.32 0 0 0-.684-3.1 5.05 5.05 0 0 0-2.952-1.712 6.73 6.73 0 0 0-3.556.428 11.6 11.6 0 0 0-6.968 8.176 7.8 7.8 0 0 0 .072 3.48 5.12 5.12 0 0 0 1.696 2.8c.405.344.898.57 1.424.652a2.18 2.18 0 0 0 1.468-.288 3.03 3.03 0 0 0 1.312-2.52 3.1 3.1 0 0 0-.276-1.372 3.5 3.5 0 0 0-.8-1.08 4.8 4.8 0 0 0-2.32-1.08 6.62 6.62 0 0 0-4.336.752 7.84 7.84 0 0 0-2.56 2.204 7.2 7.2 0 0 0-1.032 1.88c-.172.464-.228.72-.244.716q.071-.374.196-.732a7 7 0 0 1 1.004-1.924 7.8 7.8 0 0 1 2.568-2.268 6.8 6.8 0 0 1 4.432-.8 4.95 4.95 0 0 1 2.4 1.108c.366.324.662.718.872 1.16.21.457.313.956.3 1.46a3.2 3.2 0 0 1-1.404 2.7 2.4 2.4 0 0 1-1.6.324 3.1 3.1 0 0 1-1.536-.696 5.33 5.33 0 0 1-1.78-2.928 8 8 0 0 1-.08-3.6 11.46 11.46 0 0 1 3.824-6.348 11.3 11.3 0 0 1 3.268-2 6.95 6.95 0 0 1 3.688-.436c1.207.22 2.3.855 3.088 1.796.379.46.652.998.8 1.576.146.567.13 1.164-.044 1.724a3.65 3.65 0 0 1-2.208 2.368 2.6 2.6 0 0 1-1.6.036 2.97 2.97 0 0 1-1.308-.824 4.14 4.14 0 0 1-1.06-2.672 6.5 6.5 0 0 1 .528-2.604q.474-1.128 1.124-2.164.557-.925 1.26-1.744a7.4 7.4 0 0 1 2.74-2.028 5.3 5.3 0 0 1 2.124-.42q.381.002.752.092M35.424 142.596a6.3 6.3 0 0 1-.16 1.88 8.2 8.2 0 0 1-.764 2.084 8 8 0 0 1-1.804 2.316 7.46 7.46 0 0 1-3.148 1.656 7.67 7.67 0 0 1-4.076-.06 7.14 7.14 0 0 1-3.672-2.588 6.84 6.84 0 0 1-1.408-4.6 3.4 3.4 0 0 1 1.016-2.264 2.47 2.47 0 0 1 2.348-.464A2.94 2.94 0 0 1 25.584 142c.334.692.419 1.477.24 2.224a4.15 4.15 0 0 1-.984 1.884 4.75 4.75 0 0 1-1.652 1.136 6.9 6.9 0 0 1-3.528.444 8.4 8.4 0 0 1-4.628-2.124 6.2 6.2 0 0 1-1.2-1.44q.045.042.084.092c.06.076.132.172.224.284q.448.534.972.992a8.43 8.43 0 0 0 4.588 2.036 6.73 6.73 0 0 0 3.428-.46 4.6 4.6 0 0 0 1.572-1.096 3.95 3.95 0 0 0 .92-1.788 3.1 3.1 0 0 0-.224-2.068A2.73 2.73 0 0 0 23.7 140.8a2.21 2.21 0 0 0-2.116.4 3.17 3.17 0 0 0-.936 2.104 6.64 6.64 0 0 0 1.36 4.432 6.9 6.9 0 0 0 3.54 2.512c1.29.383 2.66.411 3.964.08a7.35 7.35 0 0 0 3.084-1.6 7.8 7.8 0 0 0 1.792-2.248c.358-.642.627-1.33.8-2.044q.16-.678.216-1.372v-.36a1 1 0 0 1 .02-.108M32.22 160c-.024.048-.772-.356-2.076-.736q-.531-.156-1.076-.256c-.4-.088-.8-.132-1.252-.188a15 15 0 0 0-2.904 0c-.956.123-1.897.337-2.812.64-.42.156-.824.292-1.2.464a10 10 0 0 0-.996.476c-1.2.656-1.828 1.2-1.86 1.172q.196-.226.44-.4.263-.23.556-.424.375-.273.78-.5.481-.29.992-.524.586-.276 1.2-.488a14.4 14.4 0 0 1 2.888-.644c.981-.102 1.97-.102 2.952 0q.641.075 1.272.216a9 9 0 0 1 1.084.292q.443.134.868.316.327.124.636.288.27.12.508.296M31.02 110.977q-.269.224-.572.4c-.372.248-.932.576-1.636.948a28.2 28.2 0 0 1-12 3.2c-.8.032-1.448.028-1.892 0a3.7 3.7 0 0 1-.692-.06q.345-.048.692-.036c.444 0 1.088-.024 1.884-.076a31.3 31.3 0 0 0 11.916-3.2c.712-.356 1.28-.656 1.668-.876a3 3 0 0 1 .632-.3M33.184 101.999c0 .024-.424-.04-1.2-.044a10.2 10.2 0 0 0-3.164.516 10.4 10.4 0 0 0-2 .92q-.529.317-1.012.7-.512.402-.908.916c-.284.348-.48.76-.568 1.2a1.36 1.36 0 0 0 .4 1.22c.365.316.802.537 1.272.644.466.169.964.227 1.456.168a1.11 1.11 0 0 0 .8-1.044 2.6 2.6 0 0 0-.288-1.384 4.4 4.4 0 0 0-1.92-1.928 5.55 5.55 0 0 0-2.4-.652 6.7 6.7 0 0 0-2.172.32 10 10 0 0 0-2.832 1.492c-.308.228-.536.4-.692.544a1.2 1.2 0 0 1-.248.184q.096-.122.212-.224c.148-.14.368-.336.668-.58a9.5 9.5 0 0 1 2.84-1.58 6.7 6.7 0 0 1 2.228-.36 5.75 5.75 0 0 1 2.512.656 4.6 4.6 0 0 1 2.028 2.024 2.8 2.8 0 0 1 .316 1.516 1.66 1.66 0 0 1-.268.776c-.167.24-.416.411-.7.48a3.4 3.4 0 0 1-1.6-.172 3.1 3.1 0 0 1-1.4-.708 1.6 1.6 0 0 1-.444-1.44c.097-.475.31-.919.62-1.292.283-.349.61-.661.972-.928a9 9 0 0 1 1.044-.708 10 10 0 0 1 2.064-.908 9.7 9.7 0 0 1 3.2-.448q.443.012.88.08.155 0 .304.044\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M187.3 169.202c0 .056-39.512.104-88.244.104s-88.264-.064-88.264-.104 39.504-.104 88.252-.104 88.256.028 88.256.104M161.668 134.557c-.036.048-.336-.136-.672-.4s-.576-.524-.54-.568.336.136.672.4.572.524.54.568\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M170.788 120.929c.056-1.276.092-2.58-.312-3.792s-1.336-2.32-2.584-2.58c-1.424-.296-2.884.604-3.68 1.82s-1.076 2.692-1.312 4.128a145.7 145.7 0 0 0-1.784 29.972l5.828.8c2.56-10.444 3.38-19.588 3.844-30.348\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M167.084 114.512s0 .032-.028.092-.056.156-.096.264q-.137.372-.4 1.008c-.08.22-.188.456-.276.728q-.13.409-.284.884c-.104.316-.208.656-.324 1.012l-.3 1.156a50 50 0 0 0-1.128 5.772c-.316 2.192-.524 4.62-.684 7.172-.3 5.108-.344 9.744-.476 13.096a151 151 0 0 1-.184 3.968l-.076 1.08c0 .112 0 .204-.024.28a.5.5 0 0 1 0 .096.3.3 0 0 1 0-.096v-.284c0-.264.02-.624.032-1.08.04-.936.076-2.292.12-3.968.092-3.352.116-8 .4-13.108.16-2.552.376-4.988.704-7.2a48 48 0 0 1 1.172-5.78c.112-.4.216-.8.316-1.156s.236-.696.344-1.012l.3-.884c.092-.268.208-.504.292-.724l.428-.992.116-.256c.036-.044.052-.072.056-.068M167.624 114.512c.302.357.543.763.712 1.2a8.9 8.9 0 0 1 .532 3.772c-.156 3.2-.444 7.66-.828 12.56s-.8 9.336-1.156 12.536c-.172 1.6-.32 2.896-.432 3.792a50 50 0 0 1-.132 1.028l-.036.268a.3.3 0 0 1-.024.092.3.3 0 0 1 0-.096c0-.072 0-.16.02-.268.024-.252.056-.6.092-1.032.088-.916.212-2.208.368-3.796.304-3.2.708-7.64 1.092-12.54s.696-9.34.888-12.548a9.1 9.1 0 0 0-.46-3.736 7.4 7.4 0 0 0-.636-1.232M171.668 129.6a3.3 3.3 0 0 1-1.108-.288 3.3 3.3 0 0 1-1.032-.48c.383.026.757.122 1.104.284.372.097.723.261 1.036.484M172.368 123.66a7 7 0 0 1-2.188.98 7 7 0 0 1 2.188-.98M172.004 118.8a1.9 1.9 0 0 1-.868.044 1.8 1.8 0 0 1-.856-.164c.282-.081.579-.096.868-.044a1.9 1.9 0 0 1 .856.164M165.988 115.706c-.048.032-.304-.288-.568-.708a2.1 2.1 0 0 1-.4-.824c.048-.032.304.288.572.712s.444.788.396.82M164 118.636c0 .06-.372.096-.828.088s-.824-.064-.824-.124a3.4 3.4 0 0 1 1.652.036M162.572 124.504a2 2 0 0 1-.872-.24c-.46-.184-.8-.4-.8-.432.305.015.603.097.872.24.468.184.824.38.8.432M162.42 129.442c0 .056-.32.172-.74.26s-.776.116-.8.06.32-.176.74-.264.788-.116.8-.056M161.748 137.511c0 .056-.34.168-.8.248s-.8.1-.824.04.344-.164.8-.244a1.7 1.7 0 0 1 .824-.044M161.3 141.965c.024.052-.268.26-.656.464s-.728.332-.756.284.268-.26.656-.468.732-.332.756-.28M164.94 147.022c-.048.028-.304-.324-.572-.8a2.4 2.4 0 0 1-.4-.896c.052-.028.308.328.572.8.197.266.334.572.4.896M165.992 138.617c.04.044-.248.4-.64.772s-.74.664-.8.624.248-.4.64-.772.76-.664.8-.624\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M165.76 134.21c-.044.04-.308-.176-.592-.484s-.48-.588-.44-.628.308.18.592.484.48.588.44.628M166.5 128.578c.044.036-.196.372-.532.748s-.644.648-.684.608.192-.372.528-.748.624-.648.688-.608M166.9 124.484c-.044.044-.376-.216-.744-.58s-.636-.692-.596-.732.372.22.744.584.624.688.596.728M167.7 118.963c-.06.3-.187.583-.372.828-.256.424-.5.748-.552.72.063-.3.189-.582.372-.828.24-.428.488-.752.552-.72M169.184 113.838c.052.028-.096.4-.328.828s-.46.756-.512.732.096-.4.328-.828.464-.76.512-.732M170.9 116.164c.028.052-.208.216-.52.364s-.584.228-.612.176.212-.216.524-.364.572-.228.608-.176M170.932 134.556a2.3 2.3 0 0 1-1.14-.276 2.33 2.33 0 0 1-.992-.632q1.076.434 2.132.908M170.236 138.456c0 .056-.344.168-.8.256a1.7 1.7 0 0 1-.82.052c0-.056.34-.172.8-.256s.808-.108.82-.052M169.38 145.136a3.32 3.32 0 0 1-1.448-1.824q.401.425.72.912.403.425.728.912M160.008 148.19c-.04-.044.2-.308.528-.588s.628-.476.664-.432-.2.308-.528.592-.628.472-.664.428\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M157.3 133.604c-.38-1.2-1.092-2.564-2.336-2.584a2.072 2.072 0 0 0-1.748 1.172 4.33 4.33 0 0 0-.472 2.144 56 56 0 0 0 2.672 15.528h4.564a54 54 0 0 0-2.68-16.26M149.08 126.153c-.636-2.548-2.532-3.92-4.736-4.048-2 .352-2.8 2.332-3.032 4.36s.4 4.048 1.012 6a27319 27319 0 0 0 6 18.74l5.664-.62c-1.8-8.372-2.832-16.128-4.908-24.432\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M154.976 131.027q-.223.308-.4.644a4.26 4.26 0 0 0-.212 2c.088.868.188 1.908.332 3.052s.352 2.4.608 3.704c.516 2.612 1.096 4.96 1.464 6.672.188.852.328 1.548.4 2.028.036.22.068.4.096.556q.021.097.02.196a.8.8 0 0 1-.064-.188l-.132-.548-.48-2c-.4-1.7-1.008-4.044-1.524-6.664a53 53 0 0 1-.596-3.72c-.072-.576-.12-1.124-.168-1.636s-.096-.988-.12-1.428a4.14 4.14 0 0 1 .288-2.056c.117-.236.283-.445.488-.612M144.424 121.945a7.6 7.6 0 0 0-.684.916 6.5 6.5 0 0 0-.864 2.964 13.7 13.7 0 0 0 .704 4.576c.496 1.684 1.04 3.536 1.6 5.476 1.128 3.88 2.148 7.396 2.896 9.964l.856 3.024.224.828q.043.145.064.292a1.6 1.6 0 0 1-.104-.28c-.068-.208-.152-.476-.26-.8l-.92-3.008c-.764-2.564-1.804-6.072-2.956-9.944l-1.6-5.484a13.6 13.6 0 0 1-.66-4.62 6.33 6.33 0 0 1 .94-2.996c.199-.345.458-.653.764-.908M152.744 149.979a1.3 1.3 0 0 1-.128-.272c-.076-.18-.196-.444-.324-.8a33 33 0 0 1-.972-3.008 64 64 0 0 1-1.056-4.564c-.34-1.728-.688-3.636-1.068-5.636s-.832-3.88-1.34-5.56a30.5 30.5 0 0 0-1.652-4.364 23 23 0 0 0-1.524-2.752c-.196-.316-.372-.548-.48-.712a1.5 1.5 0 0 1-.156-.256q.107.108.192.232c.116.156.304.38.508.692a20 20 0 0 1 1.6 2.732 29 29 0 0 1 1.704 4.372 56 56 0 0 1 1.36 5.576c.376 2 .728 3.904 1.052 5.636s.668 3.28 1.008 4.568.664 2.316.908 3.016c.116.356.224.624.288.8q.056.145.08.3M142.424 131.524c0 .056-.292.18-.688.276s-.724.128-.736.072.296-.18.688-.276.724-.128.736-.072M141.824 127.66a3 3 0 0 1-.956.104 2.9 2.9 0 0 1-.96-.028c.297-.139.625-.201.952-.18a1.93 1.93 0 0 1 .964.104M142.464 124.128c-.04.044-.344-.156-.688-.444s-.588-.56-.552-.604.344.156.688.444.588.56.552.604M144.192 120.86c.056 0 .04.288.032.624s0 .608-.068.616-.152-.268-.14-.624.12-.628.176-.616M147.72 122.401c.048.036-.092.312-.308.624s-.432.536-.48.504.092-.312.308-.624.432-.536.48-.504M150.012 126.402c.02.056-.272.224-.656.38s-.712.24-.732.188.272-.224.652-.38.712-.26.736-.188M151.4 130.477a1.7 1.7 0 0 1-.896.4 1.73 1.73 0 0 1-.98.032c.299-.12.613-.199.932-.236.305-.106.623-.172.944-.196\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M145.02 129.314c-.056 0 0-.3.088-.632s.236-.584.288-.568 0 .3-.088.632-.232.588-.288.568M145.912 134.454c-.056-.02.06-.4.256-.848s.4-.8.444-.768-.06.4-.256.848-.392.792-.444.768M143.7 135.862c-.024.056-.38-.044-.8-.18s-.8-.26-.772-.316c.285-.039.574.002.836.12.44.136.768.324.736.376M144.98 140.053c.032.048-.208.276-.544.516s-.628.4-.66.344.208-.276.54-.516.628-.396.664-.344M145.996 144.235c0 .056-.288.176-.672.268s-.704.124-.716.068.284-.176.668-.268.708-.124.72-.068M151.512 133.969c.032.048-.228.252-.6.4s-.7.156-.712.1.284-.16.64-.296.644-.256.672-.204M152.3 140.468c-.024.052-.328-.04-.68-.204s-.62-.344-.596-.4.332.04.684.204.616.332.592.4M153.7 145.121a4.2 4.2 0 0 1-1.728-.676c.315.013.624.095.904.24.468.188.824.384.824.436M146.22 148.767c-.028-.052.34-.3.772-.64q.364-.348.8-.6c.044.04-.228.4-.676.764a1.8 1.8 0 0 1-.896.476M149.896 146.402c-.056 0-.136-.308-.28-.668s-.288-.652-.24-.684.284.216.436.608.14.744.084.744M148.924 140.8c-.036.048-.272-.068-.532-.252s-.444-.376-.4-.424.268.068.528.256.436.376.404.42M157.496 132.037c.036.048-.196.276-.516.512s-.608.4-.64.34.196-.272.516-.508.608-.38.64-.344M158.788 135.569c0 .056-.356.132-.8.084s-.8-.2-.768-.252.364 0 .8.044c.261-.001.521.041.768.124M153.236 136.362c0 .056-.324.176-.76.204s-.78-.044-.776-.1.348-.08.764-.108.76-.052.772.004M153.7 133.023c0 .056-.344.064-.716-.108s-.584-.432-.544-.472.292.132.632.284.648.236.628.296M159.268 139.362c-.032.052-.38-.112-.776-.364s-.696-.492-.664-.54.376.112.772.364.7.492.668.54\"\r\n ></path>\r\n <path fill=\"#0B89CE\" d=\"M172.82 149.277h-29.636v5.252h29.636z\"></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M145.396 153.488 149 169.184h17.664l3.944-15.696z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M172.804 154.538c0 .056-6.684.104-14.928.104s-14.932-.048-14.932-.104 6.684-.104 14.932-.104 14.928.044 14.928.104M156.324 136.479c-.052.032-.252-.204-.456-.528s-.324-.608-.272-.636.248.204.452.528.324.604.276.636M156.332 140.704c-.013-.275.04-.549.156-.8.14-.42.3-.748.352-.732s0 .376-.156.8-.296.748-.352.732M157.78 145.142c-.052.024-.272-.332-.496-.8a2.2 2.2 0 0 1-.304-.884c.052-.024.272.332.492.8.167.268.272.57.308.884M154.648 148.709c-.04-.036.136-.312.4-.612s.508-.516.552-.48-.132.312-.4.616-.508.512-.552.476M153.992 142.229c0 .056-.296.052-.636 0s-.612-.156-.6-.212.296-.052.636 0 .612.156.6.212\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m114.388 163.91 9.876 9.016s12.56-7.016 14.468-5.524l-16.78 19-15.328-13.408z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M118.5 177.653a1.04 1.04 0 0 0 .4 1.316 1 1 0 0 0 1.312-.4 1.09 1.09 0 0 0-.444-1.392c-.468-.192-1.2.068-1.316.564\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m121.952 186.4-1.492-1.412 16.648-17.672s1.116-.52 1.624.104zM124.676 172.45c.088.084-.28.588-.4 1.308s.068 1.304-.044 1.356-.524-.556-.38-1.424.756-1.336.824-1.24M127.26 170.854c.108.06-.092.6.024 1.26s.448 1.12.36 1.2-.66-.316-.8-1.14.324-1.396.416-1.32M130.64 171.828c-.052.1-.632-.18-.928-.864s-.116-1.3 0-1.272.144.536.4 1.096.6.94.528 1.04\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.312 173.572c-.724-.6-1.7-.776-2.632-.932.708-5.048-2.8-9.656-6.476-13.2-4.592-4.46-9.896-8.4-16.048-10.192-5.556-1.6-11.456-1.324-17.232-1.032l-23.688 1.2c-8.08 2.828-14.896 11.2-16.308 19.652a2.775 2.775 0 0 0-4 .44 2.957 2.957 0 0 0 .868 4.02 3.16 3.16 0 0 0 4.088-.844 51.3 51.3 0 0 0 36.068 5.568c3.804-.828 7.512-2.092 11.336-2.824a83 83 0 0 1 8.588-1.028l16.272-1.384 6.36 3.032c1.06.504 2.5.94 3.26.044.608-.74.272-1.916-.456-2.52\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M83.648 170.713a1 1 0 0 1-.152.024l-.46.056-1.76.184c-.76.096-1.692.232-2.772.4s-2.304.376-3.652.652c-2.7.516-5.888 1.248-9.436 2.048s-7.46 1.652-11.628 2.2c-3.92.531-7.888.597-11.824.196a53.6 53.6 0 0 1-9.44-2.072 87 87 0 0 1-6.144-2.168 88 88 0 0 1-1.644-.66l-.424-.18a.7.7 0 0 1-.14-.068q.076.016.148.048l.432.16 1.656.624c1.444.536 3.532 1.304 6.16 2.1a54 54 0 0 0 9.42 2 50.5 50.5 0 0 0 11.776-.212c4.152-.544 8.06-1.396 11.6-2.176s6.748-1.512 9.452-2c1.352-.268 2.584-.444 3.66-.62s2-.268 2.8-.352l1.764-.148.46-.032a.7.7 0 0 1 .148-.004\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M43.104 179.152c-.02 0-.136-.124-.224-.4a1.866 1.866 0 0 1 .628-2.02c.228-.176.4-.224.4-.204s-.128.124-.316.312a2.09 2.09 0 0 0-.58 1.876c.056.264.12.424.092.436M41.08 178.071a1.14 1.14 0 0 1 .036-1.048c.244-.572.728-.8.744-.74s-.344.32-.556.824q-.15.473-.224.964M34.28 161.434c.04 0-.344.712-.736 1.92a10 10 0 0 0-.284.996c-.1.36-.164.756-.24 1.168a14.6 14.6 0 0 0 .156 5.412c.1.4.188.8.308 1.152s.224.684.336.98c.468 1.2.888 1.852.848 1.876a3 3 0 0 1-.304-.468 5 5 0 0 1-.312-.572c-.112-.228-.252-.484-.368-.8a10 10 0 0 1-.364-.98c-.132-.356-.224-.748-.332-1.16a13.9 13.9 0 0 1-.156-5.488c.084-.4.152-.8.26-1.176s.204-.7.312-1.004.22-.568.316-.8q.124-.304.284-.588.115-.248.276-.468M43.376 160.274a7 7 0 0 0-1.816.856c-.52.424-.978.921-1.356 1.476.035-.202.116-.394.236-.56a3.83 3.83 0 0 1 2.328-1.712c.195-.068.404-.088.608-.06M44.548 170.137a1.6 1.6 0 0 1-.176-.364 3 3 0 0 1-.16-.448 6 6 0 0 1-.168-.608 8.3 8.3 0 0 1-.2-1.628 9.4 9.4 0 0 1 .184-2 9.5 9.5 0 0 1 .636-1.908q.35-.746.84-1.408.187-.255.4-.488.153-.183.328-.344c.188-.18.296-.276.308-.264s-.4.424-.912 1.18a9 9 0 0 0-.8 1.404 9.2 9.2 0 0 0-.648 5.428c.184.912.408 1.432.368 1.448M20.92 168.575c.056-.02.272.504.7 1.04s.888.872.852.924a2.75 2.75 0 0 1-1.552-1.964M75.952 174.4c0-.032.168-.096.4-.288.288-.243.477-.583.532-.956a1.58 1.58 0 0 0-.272-1.06c-.164-.244-.324-.352-.304-.38s.204.048.4.288a1.54 1.54 0 0 1 .364 1.176 1.51 1.51 0 0 1-.652 1.048c-.26.172-.464.2-.468.172M79.62 173.71a6 6 0 0 0-.168-1.128 6 6 0 0 0-.552-.98 1.41 1.41 0 0 1 .752.932 1.38 1.38 0 0 1-.032 1.176M72.26 155.852q.238.25.432.536.251.316.456.664.296.446.536.924.139.264.284.552c.096.192.176.4.268.62q.29.686.508 1.4a16.6 16.6 0 0 1 .612 3.356 16.4 16.4 0 0 1-.156 3.404q-.117.738-.312 1.46c-.064.224-.112.444-.18.648s-.14.4-.208.588q-.174.504-.4.988a6 6 0 0 1-.364.72q-.151.31-.356.588c-.044-.024.476-.86.988-2.344q.096-.28.192-.588c.068-.204.112-.424.168-.644.128-.444.2-.932.292-1.444.155-1.115.2-2.241.136-3.364a17 17 0 0 0-.588-3.312c-.16-.492-.296-.968-.484-1.392-.088-.212-.16-.424-.252-.616l-.268-.552c-.72-1.404-1.348-2.164-1.304-2.192\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.072 172.002c0 .032-.128.124-.312.316a2.16 2.16 0 0 0-.544 1.908c.056.26.132.4.1.432s-.144-.12-.244-.4a1.87 1.87 0 0 1 0-1.12c.1-.367.311-.694.604-.936.212-.18.388-.224.396-.2M32.26 151.355s-.048.064-.148.172l-.46.472a12 12 0 0 0-.712.728c-.264.296-.588.616-.896 1.008-.156.196-.324.4-.496.604s-.332.448-.508.684c-.356.464-.688 1-1.044 1.552a24.1 24.1 0 0 0-3.128 7.948c-.116.652-.236 1.268-.292 1.852-.032.292-.076.572-.092.844l-.048.8c-.044.496-.028.948-.032 1.344q-.015.512.024 1.02c0 .26 0 .472.028.644q.01.115 0 .228a1 1 0 0 1-.04-.224c0-.168-.04-.4-.064-.644a9 9 0 0 1-.06-1.02c0-.4-.032-.852 0-1.356 0-.252.024-.516.036-.8s.052-.556.08-.852c.048-.592.164-1.2.276-1.868a23.4 23.4 0 0 1 3.152-8c.364-.556.704-1.092 1.072-1.556.18-.232.34-.468.516-.68l.516-.6c.316-.4.644-.704.92-.992a10 10 0 0 1 .74-.708l.5-.46q.074-.077.16-.14M46.552 148.996q-.126.09-.264.16c-.172.104-.444.228-.764.436a16 16 0 0 0-2.584 1.94 18.2 18.2 0 0 0-3.044 3.668 21 21 0 0 0-2.376 5.348 29.1 29.1 0 0 0-.8 10.596c.132 1.364.3 2.46.428 3.2l.144.872q.034.15.04.304a1.5 1.5 0 0 1-.08-.296c-.044-.2-.116-.488-.184-.864a38 38 0 0 1-.492-3.2 32 32 0 0 1-.176-4.824c.074-1.976.377-3.938.904-5.844a20.5 20.5 0 0 1 2.4-5.392 17.6 17.6 0 0 1 3.112-3.692 14.6 14.6 0 0 1 2.64-1.904c.328-.196.608-.308.8-.4a2 2 0 0 1 .296-.108M32.856 174.509c.024.024-.112.164-.264.424a2.5 2.5 0 0 0-.328 1.112c-.017.393.055.784.212 1.144.124.272.248.424.22.448s-.18-.104-.348-.38a2.2 2.2 0 0 1-.292-1.22c.014-.43.153-.847.4-1.2.212-.244.388-.344.4-.328M49.14 179.299c0 .024-.2.032-.484-.1a1.573 1.573 0 0 1-.764-2.08c.132-.288.288-.4.308-.4q-.075.226-.172.444a1.72 1.72 0 0 0 0 1.072c.133.343.375.634.688.828.252.16.432.204.424.236M56.54 148.094c.056 0-.26 6.224-.712 13.896s-.86 13.884-.916 13.884.26-6.224.708-13.896.88-13.888.92-13.884M64.632 176.352c-.06 0-.088-.525-.312-1.117s-.536-1.011-.488-1.047c.334.236.575.581.684.976.177.37.218.79.116 1.188M66.136 148.836s.08.048.216.156.336.26.576.484q1.043.926 1.932 2a19.49 19.49 0 0 1 3.976 17.252c-.221.9-.51 1.783-.864 2.64-.12.304-.236.532-.308.688a1 1 0 0 1-.124.232q.03-.128.084-.248c.06-.164.164-.4.272-.7q.489-1.296.8-2.644a19.86 19.86 0 0 0-3.944-17.124 21 21 0 0 0-1.872-2.028c-.232-.232-.428-.4-.552-.512a1.6 1.6 0 0 1-.192-.196M84.1 173.731a15 15 0 0 0-.592-1.6 14 14 0 0 0-.948-1.404 3.68 3.68 0 0 1 1.54 2.992zM92.1 168.801s.236.092.5.4a2.84 2.84 0 0 1 .496 2.896c-.152.364-.324.544-.344.528s.096-.22.204-.576c.14-.464.17-.955.088-1.432a3.2 3.2 0 0 0-.556-1.324c-.216-.3-.388-.452-.388-.492M87.065 154.602q.131.253.207.528c.128.344.284.848.456 1.48a27.8 27.8 0 0 1 .8 10.14 21 21 0 0 1-.216 1.532 2.7 2.7 0 0 1-.127.556 3.4 3.4 0 0 1 .043-.564c.049-.364.1-.888.157-1.536a31.8 31.8 0 0 0-.8-10.092 23 23 0 0 0-.4-1.492 3.4 3.4 0 0 1-.12-.552\"\r\n ></path>\r\n <path\r\n fill=\"#000\"\r\n d=\"M88.16 152.861c-15.224-10.488-39.02-10.06-55.26-1.904-.368 4.872 2.996 9.776 7.676 11.18 3.6 1.076 7.744.308 10.9 2.324 1.964 1.252 3.316 3.468 5.532 4.184 2.152.696 4.512-.256 6.34-1.6s3.368-3.06 5.308-4.232c4.684-2.844 10.604-1.948 16.076-1.6 2.68.176 6.14-.36 6.748-2.98.5-2.176-1.472-4.1-3.32-5.372\"\r\n opacity=\"0.3\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m86.952 112.723 2.4 10 4.748 4.632-7.744 1.6s-5.476-.648-6.464-2-2.4-12.108-2.4-12.108z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m69.064 84.034 8.032 2.844.312 38s-11.456 10-12.148 9.912-28.456 8.712-29.2 10.344c0 0-3.432-.528-3.432-2.564 0-3.344 3.2-5.24 3.2-5.24.504-3.756 3.696-8.132 3.696-8.352 0-1.56-1.472-11.352-1.472-11.352S37.9 93.07 42.808 87.894c6.092-6.44 26.256-3.86 26.256-3.86\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M89.34 112.034s-6.964-25.06-12.888-25.272l.652 29.952s10.596-1.824 12.236-4.68\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m102.9 114.213 1.532-2.228a.7.7 0 0 1 .176-.192.55.55 0 0 1 .32-.068 4.4 4.4 0 0 1 1.972.676l1.628.86a.4.4 0 0 1 .128.088.32.32 0 0 1-.076.444.9.9 0 0 1-.472.148c-1.632.204-3.276.34-4.92.4-.108 0-.248 0-.28-.116\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m112.72 114.332-10.888 10.964-23.528 5.356L84.772 118a3.23 3.23 0 0 1 2.436-1.736c4.776-.644 18.54-2.516 24.66-3.532a.96.96 0 0 1 1.002.493.96.96 0 0 1-.15 1.107\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M112.72 114.332s.048-.056.12-.18a.9.9 0 0 0 .108-.604.94.94 0 0 0-.608-.748 1.1 1.1 0 0 0-.636 0l-.744.124c-2.104.352-5.152.8-8.92 1.364s-8.26 1.2-13.252 1.864c-.616.092-1.268.156-1.88.276a3.08 3.08 0 0 0-1.6.96c-.213.24-.39.51-.528.8l-.456.892-.924 1.812c-1.248 2.44-2.54 4.968-3.86 7.556l-1.148 2.24-.116-.148 23.532-5.332-.04.02 7.98-8c.944-.94 1.68-1.672 2.192-2.176l.56-.532c.132-.128.204-.188.204-.188s-.06.072-.184.204l-.56.58-2.16 2.208-7.928 8.028h-.024l-23.52 5.376-.228.072.1-.2q.566-1.105 1.144-2.24l3.876-7.56c.312-.608.624-1.2.928-1.812l.46-.892a3.316 3.316 0 0 1 2.256-1.872c.652-.124 1.272-.18 1.9-.272l13.256-1.82c3.772-.532 6.82-.972 8.924-1.3l.748-.116c.22-.06.452-.053.668.02a.98.98 0 0 1 .628.8.9.9 0 0 1-.132.62.7.7 0 0 1-.136.176\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M95.024 121.883c.068.496.8.8 1.6.704s1.44-.6 1.376-1.096-.8-.8-1.6-.704-1.44.596-1.376 1.096\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M96.32 122.622c-.692 0-1.248-.3-1.304-.736a.8.8 0 0 1 .356-.704c.301-.222.656-.36 1.028-.4.37-.057.749-.013 1.096.128a.694.694 0 0 1 .172 1.288 2.13 2.13 0 0 1-1.028.4 2 2 0 0 1-.32.024m.4-1.844q-.162 0-.324.02a2.07 2.07 0 0 0-1.016.4.76.76 0 0 0-.352.684c.064.492.8.8 1.6.696.37-.039.722-.178 1.02-.4a.68.68 0 0 0 .345-.686.68.68 0 0 0-.513-.57 1.9 1.9 0 0 0-.752-.144z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M85.336 119.973q.026-.147.088-.284c.072-.184.18-.452.344-.8.192-.415.449-.797.76-1.132.4-.4 1.04-.52 1.684-.628 2.616-.448 6.228-1.076 10.236-1.68l2.92-.448c.948-.12 1.864-.212 2.736-.312l4.636-.508c1.312-.148 2.36-.4 3.096-.508.364-.06.652-.096.848-.116q.149-.012.296 0a1.5 1.5 0 0 1-.292.056 30 30 0 0 0-.84.156c-.728.132-1.768.4-3.092.572l-4.628.552c-.872.104-1.784.204-2.732.324l-2.92.456c-4 .604-7.6 1.2-10.24 1.6a3.06 3.06 0 0 0-1.632.568 4.5 4.5 0 0 0-.764 1.084 11 11 0 0 0-.376.768 2 2 0 0 1-.128.28\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.332 121.495s4.336-2.684 5.736-3.244 4-.28 4.6-.84l2-1.852s1.12 1.176.4 2.244-3.476 2.464-3.476 2.464l9.644-.64s.728.528.336 1.144c0 0 .68.732.116 1.46s-7.42 6.54-9.572 6.716-8.38-.968-8.38-.968zM51.7 117.422l.8 8.552s17.808-3.288 20.8-4.48l1.412 6.484s-23.728 11.148-29.092 10.8-7.028-20.776-7.028-20.776z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M82.377 122.402q.779.034 1.552.148a11 11 0 0 0 3.707-.132 16 16 0 0 0 1.937-.684l1.58-.612q.668-.26 1.067-.4.194-.082.4-.12-.172.124-.371.196c-.245.112-.605.268-1.048.456l-1.56.656q-.957.421-1.96.708a10.1 10.1 0 0 1-3.776.072c-.477-.064-.86-.132-1.124-.188a1.4 1.4 0 0 1-.405-.1M83.452 125.547c0-.04.604.032 1.568 0a5.3 5.3 0 0 0 1.652-.292 10.6 10.6 0 0 0 1.856-.912c.636-.376 1.24-.756 1.82-1.048s1.1-.532 1.516-.776c.45-.264.86-.588 1.22-.964a1.1 1.1 0 0 1-.244.352 4.4 4.4 0 0 1-.9.736c-.4.268-.94.524-1.504.82s-1.16.68-1.804 1.06a9.6 9.6 0 0 1-1.9.912 5 5 0 0 1-1.708.26 9 9 0 0 1-1.156-.088 1.8 1.8 0 0 1-.416-.06M79.204 122.176c-.024 0-.112-.112-.148-.348a1.7 1.7 0 0 1 .14-.896c.128-.273.3-.522.512-.736.156-.16.272-.244.292-.224s-.336.456-.612 1.048a2 2 0 0 0-.184.8c-.004.212.028.348 0 .356M79.88 124.867c0 .024-.104 0-.212-.084a.91.91 0 0 1-.264-1c.052-.128.12-.188.14-.176s-.06.32.036.664.328.532.3.596\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M74.744 127.978h.108l.316.048 1.2.188c1.064.156 2.604.4 4.544.584.484.036.996.08 1.524.084h.4q.204.007.4-.04.415-.083.8-.256a20 20 0 0 0 3.148-1.932 61 61 0 0 0 3.272-2.544c.552-.468 1.12-.944 1.668-1.452.26-.268.58-.5.656-.84a1.12 1.12 0 0 0-.284-.976l-.052-.06.04-.064a.58.58 0 0 0 .06-.528 1.16 1.16 0 0 0-.368-.48l.064.02-3.64.24-6 .4-.472.032.4-.224a16.4 16.4 0 0 0 2.916-1.872q.312-.26.548-.592a1.24 1.24 0 0 0 .208-.724 2.3 2.3 0 0 0-.608-1.364h.128l-1.14 1.04-.552.5c-.17.185-.37.34-.592.46-.453.146-.924.23-1.4.248-.452.04-.892.068-1.316.108a8.6 8.6 0 0 0-1.2.196 5.3 5.3 0 0 0-1.06.4c-.66.332-1.256.664-1.792.964a142 142 0 0 0-2.472 1.432l-.652.38-.168.096-.06.028.052-.044.16-.104.636-.4c.564-.348 1.388-.856 2.452-1.476a41 41 0 0 1 1.784-.984 5.2 5.2 0 0 1 1.084-.436 8 8 0 0 1 1.232-.208c.428-.048.868-.076 1.32-.116.457-.022.91-.106 1.344-.248.205-.112.389-.258.544-.432l.548-.504 1.136-1.044.068-.064.06.068c.384.406.618.931.664 1.488.008.295-.074.585-.236.832q-.247.357-.58.636a16.4 16.4 0 0 1-2.952 1.904l-.052-.192 6-.4 3.64-.24h.04l.028.02c.198.148.351.347.444.576a.8.8 0 0 1-.084.708v-.124a1.31 1.31 0 0 1 .336 1.164 1.17 1.17 0 0 1-.312.532c-.132.148-.272.268-.4.4-.556.516-1.124.992-1.68 1.456a59 59 0 0 1-3.292 2.54 20 20 0 0 1-3.2 1.932q-.398.182-.828.264a2 2 0 0 1-.4.04h-.4c-.54 0-1.048-.052-1.536-.096-1.944-.2-3.484-.468-4.544-.644l-1.2-.224-.312-.064zM109.904 117.172c-2.42.928-5.392 1.856-7.812 2.608a1.9 1.9 0 0 0-.876.452.665.665 0 0 0-.056.896.97.97 0 0 0 .756.156l1.78-.124a13 13 0 0 0-3.804 1.824c-.308.216-.636.504-.628.88a.83.83 0 0 0 .676.712c.349.053.706.028 1.044-.072q3.3-.732 6.568-1.628a1.94 1.94 0 0 0 1.436-1.12l1.012-1.6a2.7 2.7 0 0 0 .484-1.116 2.28 2.28 0 0 0-.58-1.852\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m52.388 104.126-7.2-17.364-.164-.528c-.632.38-6.6 4.096-7.82 10.4s-.8 21.312-.8 21.312l16.12-.52z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M36.84 99a.4.4 0 0 1 0 .096c0 .072 0 .16-.032.272-.028.24-.084.596-.132 1.056a62 62 0 0 0-.288 3.96c-.14 3.376-.136 8.124.112 13.552l-.1-.096c1.756 0 3.6 0 5.516-.036 3.932-.088 7.648-.3 10.88-.56l-.088.088c.188-4.032-.204-7.42-.336-9.804a75 75 0 0 1-.132-2.776v-.736a2 2 0 0 1 0-.252q.02.125.024.252 0 .271.036.732c.036.644.092 1.6.184 2.772.16 2.376.58 5.768.4 9.82v.084h-.08c-3.236.276-6.952.496-10.892.584-1.908.044-3.764.052-5.524.032h-.096v-.096c-.24-5.44-.212-10.188-.036-13.572.084-1.692.228-3.036.344-3.96.06-.46.128-.8.168-1.052 0-.112.036-.2.048-.272A.3.3 0 0 1 36.84 99M45.996 86.691q.209.04.4.128.23.084.448.196.293.135.568.3.732.424 1.376.968c1.053.895 1.907 2 2.508 3.244a9.4 9.4 0 0 1 .736 2.204q.056.238.076.48.038.199.028.4c-.04 0-.112-.584-.4-1.484a10.6 10.6 0 0 0-.62-1.532q-.463-.9-1.076-1.708a11 11 0 0 0-1.384-1.472 10 10 0 0 0-1.328-.988c-.8-.484-1.348-.7-1.332-.736M75.912 95.457s.052.06.124.192.188.32.316.572q.548 1.074.972 2.2a28 28 0 0 1 1.736 7.728 19.5 19.5 0 0 1-.16 4.372 31 31 0 0 1-.84 3.48 50 50 0 0 0-.596 2.324l-.148.636a1 1 0 0 1-.064.22.8.8 0 0 1 .024-.228c.024-.148.052-.368.108-.644.1-.56.28-1.364.536-2.344q.48-1.713.78-3.464c.206-1.433.257-2.884.152-4.328a29.6 29.6 0 0 0-1.664-7.692 28 28 0 0 0-.908-2.216c-.112-.24-.208-.436-.28-.588a1 1 0 0 1-.088-.22M70.42 106q.062.26.068.528c0 .172.032.38.032.628v.828a13 13 0 0 1-.288 2.148 15.3 15.3 0 0 1-.8 2.524q-.539 1.217-1.284 2.32-.616.895-1.372 1.676a8 8 0 0 1-.596.58 6 6 0 0 1-.476.4q-.201.178-.436.312c-.028-.032.58-.496 1.4-1.396q.721-.793 1.32-1.684.72-1.097 1.252-2.296c.333-.805.6-1.636.8-2.484q.244-1.044.328-2.112c.084-1.2.008-1.972.052-1.972\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M52.436 117.379s-.068-.04-.184-.136l-.5-.42a69 69 0 0 1-1.804-1.6 202 202 0 0 1-5.784-5.42 193 193 0 0 1-5.56-5.648c-.696-.74-1.252-1.34-1.632-1.764l-.432-.488a1 1 0 0 1-.14-.18q.094.066.172.152l.46.46 1.68 1.72a333 333 0 0 0 5.6 5.6 341 341 0 0 0 5.736 5.456l1.76 1.636.472.448q.088.083.156.184M78.308 88.145c.04.04-5.7 5.404-12.8 11.972s-12.932 11.884-12.972 11.82 5.696-5.4 12.8-11.972S78.272 88.1 78.308 88.145M89.028 110.402a2 2 0 0 1-.428-.168c-.272-.12-.66-.3-1.136-.532a74 74 0 0 1-3.672-1.912 78 78 0 0 1-3.568-2.1c-.448-.284-.8-.516-1.056-.684a1.8 1.8 0 0 1-.368-.276q.211.083.4.208l1.088.624a190 190 0 0 0 7.236 4.008l1.108.592q.214.095.396.24\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M57.5 47.845c-1.556-.988-1.932-3.276-1.088-4.912s2.628-2.632 4.448-2.928a8.48 8.48 0 0 1 7.304 2.4c1 1.036 1.816 2.4 3.176 2.856 1.2.4 2.52.04 3.776.204 1.68.216 3.124 1.412 4 2.876s1.22 3.164 1.42 4.852c.18 1.548.3 3.244 1.376 4.372s2.7 1.336 4 2.12c2.452 1.472 3.244 5.124 1.628 7.48-.516.752-1.256 1.44-1.316 2.352-.052.828.484 1.568.736 2.36.644 2.044-1.028 4.468-3.164 4.592-1.08.064-2.236-.36-3.2.124s-1.32 1.64-1.936 2.52a4.62 4.62 0 0 1-5.636 1.456c-.8-.4-1.544-1.032-2.428-.972s-1.572.8-2.44.976c-1.132.22-2.212-.616-2.884-1.552s-1.144-2.044-2-2.8c-1.132-1.004-2.72-1.252-4.152-1.748a11.7 11.7 0 0 1-6.608-16.4\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M73.948 68.175a3.2 3.2 0 0 1 1.264-.832h-.096q.132-.033.268-.048a1.26 1.26 0 0 1 .988.124c.55.196 1.007.594 1.276 1.112a2.76 2.76 0 0 1-.328 2.844 2.108 2.108 0 0 1-3.872-.724 2.62 2.62 0 0 1 .5-2.476\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M75.392 56.965c-.4-4.38-3.46-9.684-7.824-9.1l-13.56 3.84A2.58 2.58 0 0 0 51.78 54.4l1.472 29.524 14.964 10.724c-.044-2.66.964-14.764.964-14.74s5.6-1.088 6.536-8.44c.476-3.676.124-9.636-.324-14.504\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M74.692 63.2a.936.936 0 0 1-.88.972.897.897 0 0 1-.992-.8.935.935 0 0 1 .88-.972.896.896 0 0 1 .992.8M74.188 60.105c-.116.128-.84-.38-1.848-.348s-1.736.556-1.852.436c-.052-.052.06-.276.376-.52.427-.317.941-.493 1.472-.504a2.48 2.48 0 0 1 1.476.432c.32.228.432.448.376.504M64.972 63.2a.936.936 0 0 1-.876.972.897.897 0 0 1-.992-.8.936.936 0 0 1 .876-.972.896.896 0 0 1 .992.8M64.268 60.578c-.116.124-.84-.38-1.852-.348s-1.736.556-1.848.436c-.056-.056.056-.28.372-.524.43-.313.945-.488 1.476-.5a2.46 2.46 0 0 1 1.476.432c.316.228.428.448.376.504M68.144 67.96c0-.057.616-.185 1.632-.345.256-.032.5-.092.536-.268a1.3 1.3 0 0 0-.192-.76q-.4-.924-.82-1.94c-1.136-2.768-1.968-5.044-1.856-5.088s1.124 2.16 2.264 4.924c.272.684.536 1.332.8 1.956.173.306.23.663.164 1.008a.64.64 0 0 1-.4.4q-.215.066-.44.076c-1.048.076-1.684.076-1.688.036\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M69.18 79.89a18.6 18.6 0 0 1-9.88-2.335s2.52 4.96 9.824 4.068zM68.064 70.365a2.5 2.5 0 0 0-2.08-1.028 1.63 1.63 0 0 0-1.308.764 1.57 1.57 0 0 0 .072 1.628 1.545 1.545 0 0 0 1.656.544 3.65 3.65 0 0 0 1.46-.96c.132-.109.237-.246.308-.4a.51.51 0 0 0-.052-.512\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M65.192 68.746c.164 0 .196 1.08 1.156 1.832s2.124.596 2.136.752c0 .068-.252.22-.744.248a2.75 2.75 0 0 1-1.784-.568 2.4 2.4 0 0 1-.9-1.536c-.056-.46.06-.732.136-.728M64.596 56.402c-.092.28-1.104.176-2.288.352s-2.128.528-2.292.288c-.072-.116.084-.4.464-.656a4 4 0 0 1 3.488-.488c.44.168.664.376.628.504M73.732 56.64c-.172.232-.872 0-1.708.028s-1.544.196-1.712-.036c-.076-.116.032-.348.332-.576a2.49 2.49 0 0 1 2.756 0c.3.236.408.468.332.584\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M80.324 55.428a5.04 5.04 0 0 0-1.928-2.772 17 17 0 0 1-1.628-.948c-1.06-.852-1.304-2.336-1.956-3.528a5.54 5.54 0 0 0-4.212-2.8c-1.448-.148-2.944.288-4.356-.068-1.044-.264-1.956-.94-3.016-1.144-2.06-.4-3.976 1.088-5.472 2.56 0 1.476 1.172 2.464 2.3 3.412a5.13 5.13 0 0 0 4.144 1.092c1.128-.204 2.36-.776 3.336-.176s1.068 2.176 1.976 2.968c1.3 1.128 3.368.068 5.016.556 1.272.38 2.068 1.6 2.916 2.62s2.112 2 3.388 1.62a15 15 0 0 0-.508-3.392\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M64.848 49.202c-.924-.268-2.8-.864-3.308-1.664-1.076-1.744-2.976-2.932-4.916-2.824a4.66 4.66 0 0 0-4.196 3.688 6.7 6.7 0 0 0-5.76 3.708 7 7 0 0 0-.368.86 5.1 5.1 0 0 0-.34 4.28c.32.836.864 1.764.436 2.548s-1.544.824-2.4 1.12a3.39 3.39 0 0 0-2.132 3.78c.12.556.4 1.112.268 1.668s-.612.988-.996 1.44a4.218 4.218 0 0 0 2.472 6.86c.66.116 1.372.092 1.94.44.652.4.936 1.2 1.4 1.8a3.64 3.64 0 0 0 3.936 1.232c.284-.095.554-.23.8-.4.44.608 1.132 1.024 2.312 1.024l-.296-15.44a1.27 1.27 0 0 0 .932.736c2.476.56 2.84-4.544 2.288-5.928a14.4 14.4 0 0 0 2.484-2.612c.684-1.012 1.284-3.764 1.14-5.008.908.052 4.712-1.2 4.304-1.308\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M54.396 64.577c-.076-1.568-2-1.904-3.356-1.116-.748.432-1.316 1.296-1.248 2.964.184 4.44 4.6 3.34 4.604 3.2s.104-3.224 0-5.048\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M52.972 68c-.02 0-.076.06-.204.123a.8.8 0 0 1-.58.036c-.476-.152-.9-.88-.956-1.68-.026-.38.033-.76.172-1.116a.9.9 0 0 1 .556-.62.4.4 0 0 1 .468.196c.064.12.04.208.064.216s.092-.076.048-.26a.52.52 0 0 0-.188-.272.6.6 0 0 0-.432-.096 1.1 1.1 0 0 0-.8.724c-.172.393-.246.82-.216 1.248.064.892.56 1.712 1.2 1.872a.83.83 0 0 0 .704-.148c.16-.108.18-.224.164-.224\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M58.736 48c-.346.18-.649.432-.888.74-.436.604-.604 1.764-.324 3.072l.024.112-.112.028a4.3 4.3 0 0 0-2.86 2.52c-.134.345-.21.71-.228 1.08q.014.596.14 1.176.13.627.168 1.264c.03.463-.094.922-.352 1.308-.552.84-1.44 1.256-2.204 1.656a7.5 7.5 0 0 0-2.06 1.348 5.56 5.56 0 0 0-1.66 3.72c-.032.949.17 1.891.588 2.744.292.608.54.896.516.916a1.1 1.1 0 0 1-.188-.2 4.6 4.6 0 0 1-.436-.684 5.6 5.6 0 0 1-.7-2.8 5.7 5.7 0 0 1 1.676-3.92 7.6 7.6 0 0 1 2.124-1.416c.764-.4 1.6-.8 2.08-1.556.492-.672.272-1.552.144-2.348a6.6 6.6 0 0 1-.136-1.232c.016-.412.104-.818.26-1.2a4.5 4.5 0 0 1 3.076-2.64l-.088.14c-.26-1.368-.052-2.568.448-3.2.184-.24.423-.434.696-.564q.144-.053.296-.064M51.3 69.671c.348-.375.782-.66 1.264-.832h-.1q.134-.032.272-.048a1.26 1.26 0 0 1 .988.124A2.32 2.32 0 0 1 55 70.023a2.76 2.76 0 0 1-.324 2.848 2.112 2.112 0 0 1-3.876-.724 2.63 2.63 0 0 1 .5-2.476M74.229 66.198c.835-.096 1.871-.264 2.18-.56.46-.432.935-2.044 1.343-3.564.053-.196.085-.328.1-.364l-.32-.124a4 4 0 0 0-.115.4c-.216.8-.8 2.984-1.249 3.416-.536.504-5 .764-5.416.476-.255-.208-.86-2.148-1.2-3.46l-.032-.12-1.775-.048-.044.112c-.348.884-1.428 3.284-2.208 3.732-.98.556-4.8.288-5.076-.092s-.909-2.592-1.297-4.032l-.031-.128-5.42.22v.328l5.144-.208c.195.716.98 3.564 1.316 4 .46.612 4.544.744 5.532.18.987-.564 2.072-3.2 2.311-3.788l1.269.032c.2.744.88 3.2 1.291 3.512.413.312 2.62.152 2.873.132.251-.02.504-.02.823-.052\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m67.632 62.83.348-.568c-2.344-1.288-6.52-1.824-9.172-.44l.324.576c2.364-1.232 6.304-.772 8.5.432M77.636 62.044l.26-.608c-2.844-1.08-6.512-.728-8.72.84l.4.523c2.004-1.416 5.464-1.74 8.06-.755\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"m99.152 165.976-4.84 12s10.56 10.28 9.732 12.612l-23.78-10.12 8.036-19.152z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M87.596 174.311a1.06 1.06 0 0 0-1.144.824 1.02 1.02 0 0 0 .8 1.14 1.105 1.105 0 0 0 1.2-.876c.032-.52-.452-1.14-.968-1.096\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"m80.264 180.478.888-1.9 22.468 10.4s.86.912.424 1.6zM94.948 178.512c-.052.116-.656-.08-1.388.052s-1.24.488-1.328.4.372-.688 1.256-.832 1.532.268 1.46.38M97.004 180.604c-.024.124-.608.108-1.2.432s-.94.8-1.052.74.092-.744.848-1.132 1.448-.152 1.404-.04M97.148 184.195c-.116-.02-.028-.668.54-1.176s1.22-.532 1.228-.4-.476.316-.936.74-.712.872-.832.836M79.82 130.581s26.032-6.64 28.864-6.464 11.952 1.86 8.4 12.484-19.48 37.632-19.48 37.632l-13.4-5.636 8-19.424s-16.76 5.04-23.656 5.444-12.56-9.34-12.56-9.34z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M102.044 134q.38-.453.856-.8a12.2 12.2 0 0 1 2.448-1.524c.874-.409 1.79-.719 2.732-.924.716-.164 1.124-.348 1.14-.324a3.2 3.2 0 0 1-1.1.468 16 16 0 0 0-2.684.968c-.859.407-1.678.893-2.448 1.452-.58.428-.924.724-.944.684\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"M97.036 142.555q.044-.209.14-.4a35.2 35.2 0 0 1 2.2-4.26 36 36 0 0 1 2.792-3.896q.12-.168.28-.3a1.4 1.4 0 0 1-.216.348c-.176.256-.4.556-.64.912-.54.768-1.292 1.824-2.04 3.044s-1.348 2.372-1.784 3.2l-.52.984a1.4 1.4 0 0 1-.212.368\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M71.796 128.556c1.056-.428 4.324-1.524 5.464-1.58 1.772-.092 4.332 0 6 1.12 2.752 1.836 37.948 38.984 37.948 38.984l-9.876 12.14s-18.116-13.136-22.964-18.376-10.348-13.492-10.348-13.492-6.568 6.944-12.68 9.976c-3.804 1.888-13.116 4-21.128 3.296a12.232 12.232 0 0 1-10.678-8.706 12.2 12.2 0 0 1-.434-4.826v-.136q.276-1.79.748-3.54z\"\r\n ></path>\r\n <path\r\n fill=\"#F1F5F9\"\r\n d=\"m64.632 157.65.244-.16.728-.456c.64-.4 1.6-.996 2.8-1.796s2.684-1.812 4.332-3.088a36.2 36.2 0 0 0 5.224-4.84l.068-.076.04.096a27 27 0 0 0 2.2 3.86c.884 1.288 1.892 2.576 2.992 3.88s2.312 2.596 3.6 3.908a112 112 0 0 0 4.104 3.956c2.888 2.648 6.06 5.336 9.464 8.036s7.028 5.432 10.872 8.108h-.136l9.5-11.392.524-.628v.144c-7.412-7.724-14.464-15.076-20.88-21.756l-9.136-9.444c-1.44-1.468-2.828-2.892-4.184-4.236a100 100 0 0 0-2.02-1.94 15 15 0 0 0-2.052-1.704 9.8 9.8 0 0 0-3.532-1.2 7 7 0 0 0-1.2.024c-1.468.185-2.918.5-4.332.94-2.656.8-4.896 1.64-6.716 2.348s-3.2 1.3-4.164 1.7l-1.06.468c-.24.104-.368.152-.368.152l.36-.172 1.068-.48c.94-.4 2.336-1.012 4.152-1.736a89 89 0 0 1 6.712-2.4 25 25 0 0 1 4.352-.956q.6-.068 1.2-.032.62.069 1.22.24c.849.183 1.66.508 2.4.96.741.51 1.436 1.084 2.076 1.716a100 100 0 0 1 2.032 1.94c1.36 1.34 2.748 2.76 4.192 4.228l9.156 9.432 20.892 21.744.064.064-.06.072-.524.628c-3.252 3.904-6.436 7.716-9.504 11.392l-.06.072-.076-.052a218 218 0 0 1-10.88-8.124c-3.404-2.704-6.576-5.4-9.464-8.056-1.444-1.332-2.8-2.66-4.104-3.968s-2.484-2.632-3.6-3.928a44 44 0 0 1-2.992-3.9 26.4 26.4 0 0 1-2.196-3.892l.108.02a36.5 36.5 0 0 1-5.26 4.832 68 68 0 0 1-4.356 3.064c-1.216.792-2.176 1.376-2.82 1.772l-.736.44z\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M180.552 52.063H94.468a1.484 1.484 0 0 0-1.46 1.5v44.04a1.484 1.484 0 0 0 1.46 1.504h2.904v8.124l7.904-8.124h75.276a1.48 1.48 0 0 0 1.46-1.504v-44.04a1.47 1.47 0 0 0-.419-1.053 1.47 1.47 0 0 0-1.041-.447\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M94.752 52.063h85.516a1.745 1.745 0 0 1 1.748 1.747v6.444H93.008v-6.447a1.75 1.75 0 0 1 1.744-1.745\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M98.5 56.289a1.124 1.124 0 1 1-1.12-1.152 1.14 1.14 0 0 1 1.12 1.152M102.1 56.289a1.12 1.12 0 0 1-.714 1.018 1.122 1.122 0 0 1-1.514-.84 1.123 1.123 0 0 1 1.108-1.33 1.14 1.14 0 0 1 1.12 1.152M105.84 56.289a1.12 1.12 0 0 1-.713 1.018 1.125 1.125 0 0 1-1.445-1.485 1.13 1.13 0 0 1 1.038-.685 1.136 1.136 0 0 1 1.12 1.152\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M132.72 55.957c0 .52-.38.84-.984.84h-.436v.644h-.524v-2.328h.98c.584 0 .964.324.964.844m-.532 0c0-.256-.16-.4-.48-.4h-.408v.8h.4c.328.004.488-.148.488-.4M134.136 55.627v.48h-.116c-.276 0-.46.156-.46.5v.844h-.508v-1.788h.484v.236a.7.7 0 0 1 .6-.272M134.288 56.547a.955.955 0 0 1 1.12-.978.95.95 0 0 1 .722 1.299.95.95 0 0 1-.886.599.91.91 0 0 1-.956-.92m1.4 0a.442.442 0 0 0-.444-.508.446.446 0 0 0-.444.508.458.458 0 0 0 .259.468.446.446 0 0 0 .614-.28.4.4 0 0 0 .015-.188M136.404 56.543a.92.92 0 0 1 .603-.868.9.9 0 0 1 .369-.052.8.8 0 0 1 .78.456l-.4.216a.43.43 0 0 0-.4-.244.494.494 0 0 0-.451.494.494.494 0 0 0 .451.494.42.42 0 0 0 .4-.244l.4.216a.8.8 0 0 1-.78.452.91.91 0 0 1-.972-.92M140.1 56.694h-1.316a.466.466 0 0 0 .5.356.58.58 0 0 0 .436-.172l.268.3a.9.9 0 0 1-.72.288.91.91 0 0 1-.918-.55.9.9 0 0 1-.074-.37.9.9 0 0 1 .266-.66.9.9 0 0 1 .662-.26.88.88 0 0 1 .854.569.9.9 0 0 1 .054.359c.016.04.008.096-.012.14m-1.32-.304h.856a.392.392 0 0 0-.273-.352.4.4 0 0 0-.155-.02.4.4 0 0 0-.412.384zM140.292 57.273l.168-.372c.183.112.393.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.233-.004.464.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.82.568a1.5 1.5 0 0 1-.752-.192M142.008 57.273l.168-.372c.183.112.394.172.608.172.232 0 .32-.064.32-.16 0-.292-1.052 0-1.052-.708 0-.34.296-.58.8-.58.234-.004.465.05.672.156l-.168.368a1 1 0 0 0-.504-.132c-.224 0-.324.076-.324.168 0 .304 1.052 0 1.052.712 0 .332-.3.568-.8.568-.27.007-.536-.06-.772-.192M143.772 57.14a.31.31 0 0 1 .312-.312.312.312 0 1 1-.312.312M144.616 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .301.221.3.3 0 0 1 .013.132.3.3 0 0 1-.013.13.317.317 0 0 1-.602 0q-.02-.063-.013-.13M145.464 57.14a.32.32 0 0 1 .314-.352.31.31 0 0 1 .236.107.3.3 0 0 1 .066.114.3.3 0 0 1 .012.132.3.3 0 0 1-.012.13.32.32 0 0 1-.302.221.32.32 0 0 1-.301-.22q-.02-.064-.013-.131\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.652 86.895h-13.064a2.996 2.996 0 0 0-2.996 2.996v.5a2.996 2.996 0 0 0 2.996 2.995h13.064a2.996 2.996 0 0 0 2.996-2.995v-.5a2.996 2.996 0 0 0-2.996-2.997\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.936 90a.955.955 0 0 1 .984-.984.9.9 0 0 1 .688.284l-.124.128a.74.74 0 0 0-.556-.228.801.801 0 1 0 .302 1.543q.145-.061.254-.175l.124.128a.89.89 0 0 1-.688.284.954.954 0 0 1-.984-.98M166.036 90.049v.9h-.18v-.224a.53.53 0 0 1-.488.24c-.32 0-.516-.172-.516-.424s.14-.4.544-.4h.448v-.088a.36.36 0 0 0-.099-.3.36.36 0 0 0-.301-.1.7.7 0 0 0-.468.172l-.088-.144a.9.9 0 0 1 .576-.196.51.51 0 0 1 .547.336.5.5 0 0 1 .025.228m-.192.464v-.236h-.44c-.276 0-.364.108-.364.26s.132.272.356.272a.445.445 0 0 0 .448-.296M167.852 90.11v.84h-.188v-.82c0-.308-.156-.465-.424-.465a.475.475 0 0 0-.474.322q-.034.099-.022.203v.76h-.188v-1.453h.18v.269a.59.59 0 0 1 .536-.276.548.548 0 0 1 .58.62M168.236 90.225a.7.7 0 0 1 .2-.527.7.7 0 0 1 .524-.209.62.62 0 0 1 .556.284l-.144.1a.47.47 0 0 0-.4-.216.566.566 0 0 0-.52.566.565.565 0 0 0 .52.566.46.46 0 0 0 .4-.212l.144.1a.61.61 0 0 1-.556.288.71.71 0 0 1-.678-.455.7.7 0 0 1-.046-.285M171.092 90.283h-1.2a.52.52 0 0 0 .173.368.53.53 0 0 0 .383.136.55.55 0 0 0 .432-.188l.108.124a.69.69 0 0 1-.544.24.713.713 0 0 1-.744-.74.689.689 0 0 1 1.376 0s.016.036.016.06m-1.2-.148h1.008a.499.499 0 0 0-.853-.353.5.5 0 0 0-.147.353zM171.484 88.902h.192v2.048h-.192z\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M180.552 99.101a1.476 1.476 0 0 0 1.436-1.392v-.66c0-1.876 0-4.636-.02-8.188 0-7.116-.02-17.408-.032-30.124v-4.88a3.3 3.3 0 0 0-.028-.608 1.4 1.4 0 0 0-.24-.544 1.36 1.36 0 0 0-1.004-.58H95.032a4.5 4.5 0 0 0-.872.036 1.39 1.39 0 0 0-1.036 1.2c-.024 1.18 0 2.4 0 3.6v40.42a1.48 1.48 0 0 0 .4 1.172c.149.151.331.265.532.332.206.065.422.09.636.072h2.8v8.224l-.168-.068 7.912-8.12.024-.028h.04l54.48.036 15.348.028-15.348.024-54.48.04.068-.028-7.904 8.124-.164.172v-8.36l.1.096h-2.688a2 2 0 0 1-.7-.08 1.68 1.68 0 0 1-1.076-1.712v-43.94a1.6 1.6 0 0 1 1.2-1.364 4.3 4.3 0 0 1 .92-.044h72.272l10.772.044h2.58a1.51 1.51 0 0 1 1.12.648c.129.18.219.384.264.6q.045.319.032.64v4.88c0 12.716-.028 23.008-.036 30.124v8.852a1.5 1.5 0 0 1-.156.556c-.138.27-.352.492-.616.64-.16.087-.335.142-.516.164a1.3 1.3 0 0 1-.22-.004\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M173.552 72.582H102.48a3.544 3.544 0 0 0-3.544 3.544v.592a3.544 3.544 0 0 0 3.544 3.544h71.072a3.544 3.544 0 0 0 3.544-3.544v-.592a3.544 3.544 0 0 0-3.544-3.544\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M173.548 80.263h.108c.072 0 .18 0 .316-.028a3.6 3.6 0 0 0 1.2-.376c.271-.14.523-.317.748-.524a3.48 3.48 0 0 0 1.104-2.072q.033-.172.036-.348v-.364c0-.248 0-.5-.02-.76a3.53 3.53 0 0 0-1.848-2.74 3.8 3.8 0 0 0-.9-.328 4.6 4.6 0 0 0-1-.076h-12.264l-58.528.04a3.44 3.44 0 0 0-3.208 2.208 4.8 4.8 0 0 0-.224 2.036c.035.682.276 1.338.692 1.88.409.536.965.942 1.6 1.168.65.18 1.327.245 2 .192h19.6l26.316.024 17.744.032-17.744.032h-46.948a3.3 3.3 0 0 1-1.04-.196 3.64 3.64 0 0 1-2.444-3.228 11 11 0 0 1 0-1.064 3.6 3.6 0 0 1 .236-1.06 3.67 3.67 0 0 1 1.336-1.688c.305-.204.636-.365.984-.48a4.1 4.1 0 0 1 1.084-.164l58.54.032H173.3q.514-.015 1.02.084c.322.074.634.188.928.34a3.6 3.6 0 0 1 1.88 2.82v1.136q-.003.18-.036.356c-.067.433-.215.85-.436 1.228a3.4 3.4 0 0 1-.704.868q-.348.317-.768.528c-.375.19-.782.31-1.2.356q-.214.082-.436.136\"\r\n ></path>\r\n <path\r\n fill=\"#263238\"\r\n d=\"M169.332 76.965a.77.77 0 0 1-.25.56.76.76 0 0 1-.582.196c-.616 0-.98-.4-.98-1.156s.456-1.236 1.112-1.236c.209-.007.415.044.596.148l-.156.328a.75.75 0 0 0-.432-.116c-.428 0-.696.272-.696.8a.78.78 0 0 1 .608-.24.71.71 0 0 1 .721.425q.06.139.059.29m-.4.02c0-.244-.18-.4-.456-.4a.4.4 0 0 0-.322.093.4.4 0 0 0-.138.307c0 .22.168.4.472.4a.4.4 0 0 0 .44-.4zM169.552 76.524c0-.764.4-1.2.944-1.2s.948.432.948 1.2-.4 1.2-.948 1.2-.944-.436-.944-1.2m1.468 0c0-.564-.212-.82-.524-.82s-.52.256-.52.82.212.82.52.82.524-.26.524-.82M171.7 75.976c0-.4.216-.64.54-.64s.544.252.544.64a.54.54 0 0 1-.127.439.546.546 0 0 1-.957-.44m.8 0c0-.26-.104-.4-.276-.4s-.28.152-.28.4.112.4.28.4.276-.144.276-.4m1.08-.616h.32l-1.548 2.324h-.316zm-.4 1.712c0-.4.216-.64.54-.64a.65.65 0 0 1 .754.698.65.65 0 0 1-.479.567.65.65 0 0 1-.815-.625m.82 0c0-.256-.108-.4-.28-.4s-.28.148-.28.4.108.4.28.4.276-.144.276-.4z\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M137.82 73.504h-35.188a2.704 2.704 0 0 0-2.704 2.704v.448a2.704 2.704 0 0 0 2.704 2.704h35.188a2.704 2.704 0 0 0 2.704-2.704v-.448a2.704 2.704 0 0 0-2.704-2.704\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"m102.284 79.36 3.488-5.856h1.864l-3.44 5.856zM106.896 79.36l3.484-5.856h1.864l-3.436 5.856zM111.504 79.36l3.488-5.856h1.864l-3.436 5.856zM116.116 79.36l3.488-5.856h1.86l-3.436 5.856zM120.724 79.36l3.488-5.856h1.864l-3.436 5.856zM125.336 79.36l3.488-5.856h1.86l-3.436 5.856zM129.948 79.36l3.484-5.856h1.864l-3.436 5.856zM134.556 79.36l3.468-5.833c.55.064 1.067.296 1.48.664l-3.036 5.168z\"\r\n opacity=\"0.2\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M162.748 83.432c0 .056-10.844.104-24.22.104s-24.224-.048-24.224-.104 10.84-.104 24.224-.104 24.22.048 24.22.104\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { CreatingWorkspaceIllustration } from \"../../../../../../../../assets/illustrations/CreatingWorkspaceIllustration\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { LoadingIcon } from \"../../../../../../../../assets/icons/loading-icon\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function AddWorkspaceLoading() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\"}}\r\n className=\"w-full flex flex-col items-center gap-y-4\"\r\n >\r\n <CreatingWorkspaceIllustration />\r\n\r\n <h4 className=\"text-2xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.creating\"\r\n )}\r\n </h4>\r\n\r\n <div className=\"w-10 h-10 flex mt-4 items-center justify-center animate-spin\">\r\n <LoadingIcon />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","export function asArray<T>(v: T | T[]): T[] {\n return [].concat(v as unknown as []);\n}\n","import { ClassName } from '../types.js';\n\nexport function isPsuedoSelector(selector: string): boolean {\n return selector.startsWith(':');\n}\n\nexport function isStyleCondition(selector: string): boolean {\n return (\n isString(selector) &&\n (selector === '*' ||\n (selector.length > 1 && ':>~.+*'.includes(selector.slice(0, 1))) ||\n isImmediatePostcondition(selector))\n );\n}\n\nexport function isValidProperty(\n property: string,\n value: unknown,\n): value is string {\n return (\n (isString(value) || typeof value === 'number') &&\n !isCssVariables(property) &&\n !isPsuedoSelector(property) &&\n !isMediaQuery(property)\n );\n}\n\nexport function isMediaQuery(selector: string): boolean {\n return selector.startsWith('@media');\n}\n\nexport function isDirectClass(selector: string): boolean {\n return selector === '.';\n}\n\nexport function isCssVariables(selector: string): boolean {\n return selector === '--';\n}\n\nexport function isString(value: unknown): value is string {\n return value + '' === value;\n}\n\nexport function isClassName(value: unknown): value is ClassName {\n return isString(value) && value.length > 1 && value.startsWith('.');\n}\n\nexport function isImmediatePostcondition(\n value: unknown,\n): value is `&${string}` {\n return isString(value) && (value.startsWith('&') || isPsuedoSelector(value));\n}\n","export function joinTruthy(arr: unknown[], delimiter: string = ''): string {\n return arr.filter(Boolean).join(delimiter);\n}\n","// Stable hash function.\nexport function stableHash(prefix: string, seed: string): string {\n let hash = 0;\n if (seed.length === 0) return hash.toString();\n for (let i = 0; i < seed.length; i++) {\n const char = seed.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return `${prefix ?? 'cl'}_${hash.toString(36)}`;\n}\n","// Some properties need special handling\nexport function handlePropertyValue(property: string, value: string): string {\n if (property === 'content') {\n return `\"${value}\"`;\n }\n\n return value;\n}\n\nexport function camelCaseToDash(str: string): string {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function joinedProperty(property: string, value: string): string {\n return `${property}:${value}`;\n}\n\nexport function toClass(str: string): string {\n return str ? `.${str}` : '';\n}\n\nexport function appendString(base: string, line: string): string {\n return base ? `${base}\\n${line}` : line;\n}\n","import { Sheet } from './Sheet';\nimport { asArray } from './utils/asArray';\nimport { isImmediatePostcondition, isPsuedoSelector } from './utils/is';\nimport { joinTruthy } from './utils/joinTruthy';\nimport { stableHash } from './utils/stableHash';\nimport {\n camelCaseToDash,\n handlePropertyValue,\n joinedProperty,\n toClass,\n} from './utils/stringManipulators';\n\nexport class Rule {\n public hash: string;\n public joined: string;\n public key: string;\n\n constructor(\n private sheet: Sheet,\n public property: string,\n public value: string,\n private selector: Selector,\n ) {\n this.property = property;\n this.value = value;\n this.joined = joinedProperty(property, value);\n const joinedConditions = this.selector.preconditions.concat(\n this.selector.postconditions,\n );\n this.hash = this.selector.hasConditions\n ? (this.selector.scopeClassName as string)\n : stableHash(this.sheet.name, this.joined);\n this.key = joinTruthy([this.joined, joinedConditions, this.hash]);\n }\n\n public toString(): string {\n let selectors = mergeSelectors(this.selector.preconditions, {\n right: this.hash,\n });\n\n selectors = mergeSelectors(this.selector.postconditions, {\n left: selectors,\n });\n\n return `${selectors} {${Rule.genRule(this.property, this.value)}}`;\n }\n\n static genRule(property: string, value: string): string {\n const transformedProperty = camelCaseToDash(property);\n return (\n joinedProperty(\n transformedProperty,\n handlePropertyValue(property, value),\n ) + ';'\n );\n }\n}\n\nexport function mergeSelectors(\n selectors: string[],\n { left = '', right = '' }: { left?: string; right?: string } = {},\n): string {\n const output = selectors.reduce((selectors, current) => {\n if (isPsuedoSelector(current)) {\n return selectors + current;\n }\n\n if (isImmediatePostcondition(current)) {\n return selectors + current.slice(1);\n }\n\n return joinTruthy([selectors, current], ' ');\n\n // selector then postcondition\n }, left);\n\n // preconditions, then selector\n return joinTruthy([output, toClass(right)], ' ');\n}\n\nexport class Selector {\n public preconditions: string[] = [];\n public scopeClassName: string | null = null;\n public scopeName: string | null = null;\n public postconditions: string[] = [];\n\n constructor(\n private sheet: Sheet,\n scopeName: string | null = null,\n {\n preconditions,\n postconditions,\n }: {\n preconditions?: string[] | string | undefined;\n postconditions?: string[] | string | undefined;\n } = {},\n ) {\n this.preconditions = preconditions ? asArray(preconditions) : [];\n this.postconditions = postconditions ? asArray(postconditions) : [];\n this.setScope(scopeName);\n }\n\n private setScope(scopeName: string | null): Selector {\n if (!scopeName) {\n return this;\n }\n\n if (!this.scopeClassName) {\n this.scopeName = scopeName;\n this.scopeClassName = stableHash(\n this.sheet.name,\n // adding the count guarantees uniqueness across style.create calls\n scopeName + this.sheet.count,\n );\n }\n\n return this;\n }\n\n get hasConditions(): boolean {\n return this.preconditions.length > 0 || this.postconditions.length > 0;\n }\n\n addScope(scopeName: string): Selector {\n return new Selector(this.sheet, scopeName, {\n preconditions: this.preconditions,\n postconditions: this.postconditions,\n });\n }\n\n addPrecondition(precondition: string): Selector {\n return new Selector(this.sheet, this.scopeClassName, {\n postconditions: this.postconditions,\n preconditions: this.preconditions.concat(precondition),\n });\n }\n\n addPostcondition(postcondition: string): Selector {\n return new Selector(this.sheet, this.scopeClassName, {\n preconditions: this.preconditions,\n postconditions: this.postconditions.concat(postcondition),\n });\n }\n\n createRule(property: string, value: string): Rule {\n return new Rule(this.sheet, property, value, this);\n }\n}\n","import { Rule } from './Rule.js';\nimport { StoredStyles } from './types.js';\nimport { isString } from './utils/is.js';\nimport { appendString } from './utils/stringManipulators.js';\n\nexport class Sheet {\n private styleTag: HTMLStyleElement | undefined;\n\n // Hash->css\n private storedStyles: StoredStyles = {};\n\n // styles->hash\n private storedClasses: Record<string, string> = {};\n private style: string = '';\n public count = 0;\n public id: string;\n\n constructor(\n public name: string,\n private rootNode?: HTMLElement | null,\n ) {\n this.id = `flairup-${name}`;\n\n this.styleTag = this.createStyleTag();\n }\n\n getStyle(): string {\n return this.style;\n }\n\n append(css: string): void {\n this.style = appendString(this.style, css);\n }\n\n apply(): void {\n this.count++;\n\n if (!this.styleTag) {\n return;\n }\n\n this.styleTag.innerHTML = this.style;\n }\n\n isApplied(): boolean {\n return !!this.styleTag;\n }\n\n createStyleTag(): HTMLStyleElement | undefined {\n // check that we're in the browser and have access to the DOM\n if (\n typeof document === 'undefined' ||\n this.isApplied() ||\n // Explicitly disallow mounting to the DOM\n this.rootNode === null\n ) {\n return this.styleTag;\n }\n\n const styleTag = document.createElement('style');\n styleTag.type = 'text/css';\n styleTag.id = this.id;\n (this.rootNode ?? document.head).appendChild(styleTag);\n return styleTag;\n }\n\n addRule(rule: Rule): string {\n const storedClass = this.storedClasses[rule.key];\n\n if (isString(storedClass)) {\n return storedClass;\n }\n\n this.storedClasses[rule.key] = rule.hash;\n this.storedStyles[rule.hash] = [rule.property, rule.value];\n\n this.append(rule.toString());\n return rule.hash;\n }\n}\n","export function forIn<O extends Record<string, unknown>>(\n obj: O,\n fn: (key: string, value: O[string]) => void,\n): void {\n for (const key in obj) {\n fn(key.trim(), obj[key]);\n }\n}\n","import { joinTruthy } from './utils/joinTruthy';\n\nexport function cx(...args: unknown[]): string {\n const classes = args.reduce((classes: string[], arg) => {\n if (arg instanceof Set) {\n classes.push(...arg);\n } else if (typeof arg === 'string') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n classes.push(cx(...arg));\n } else if (typeof arg === 'object') {\n // @ts-expect-error - it is a string\n Object.entries(arg).forEach(([key, value]) => {\n if (value) {\n classes.push(key);\n }\n });\n }\n\n return classes;\n }, [] as string[]);\n\n return joinTruthy(classes, ' ').trim();\n}\n","import { Rule, Selector, mergeSelectors } from './Rule.js';\nimport { Sheet } from './Sheet.js';\nimport {\n CSSVariablesObject,\n ClassSet,\n CreateSheetInput,\n DirectClass,\n ScopedStyles,\n Styles,\n createSheetReturn,\n} from './types.js';\nimport { asArray } from './utils/asArray.js';\nimport { forIn } from './utils/forIn.js';\nimport {\n isCssVariables,\n isDirectClass,\n isMediaQuery,\n isStyleCondition,\n isValidProperty,\n} from './utils/is.js';\n\nexport { cx } from './cx.js';\n\nexport type { CreateSheetInput, Styles };\n\nexport function createSheet(\n name: string,\n rootNode?: HTMLElement | null,\n): createSheetReturn {\n const sheet = new Sheet(name, rootNode);\n\n return {\n create,\n getStyle: sheet.getStyle.bind(sheet),\n isApplied: sheet.isApplied.bind(sheet),\n };\n\n function create<K extends string>(styles: CreateSheetInput<K>) {\n const scopedStyles: ScopedStyles<K> = {} as ScopedStyles<K>;\n\n iteratePreconditions(sheet, styles, new Selector(sheet)).forEach(\n ([scopeName, styles, selector]) => {\n iterateStyles(sheet, styles as Styles, selector).forEach(\n (className) => {\n addScopedStyle(scopeName as K, className);\n },\n );\n },\n );\n\n // Commit the styles to the sheet.\n // Done only once per create call.\n // This way we do not update the DOM on every style.\n sheet.apply();\n\n return scopedStyles;\n\n function addScopedStyle(name: K, className: string) {\n scopedStyles[name as keyof ScopedStyles<K>] =\n scopedStyles[name as keyof ScopedStyles<K>] ?? new Set<string>();\n scopedStyles[name as keyof ScopedStyles<K>].add(className);\n }\n }\n}\n\n// This one plucks out all of the preconditions\n// and creates selector objects from them\nfunction iteratePreconditions(\n sheet: Sheet,\n styles: Styles,\n selector: Selector,\n) {\n const output: Array<[string, Styles, Selector]> = [];\n\n forIn(styles, (key: string, value) => {\n if (isStyleCondition(key)) {\n return iteratePreconditions(\n sheet,\n value as Styles,\n selector.addPrecondition(key),\n ).forEach((item) => output.push(item));\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - this is a valid case\n output.push([key, styles[key], selector.addScope(key)]);\n });\n\n return output;\n}\n\nfunction iterateStyles(\n sheet: Sheet,\n styles: Styles,\n selector: Selector,\n): ClassSet {\n const output: ClassSet = new Set<string>();\n // eslint-disable-next-line max-statements\n forIn(styles, (property, value) => {\n let res: string[] | Set<string> = [];\n\n // Postconditions\n if (isStyleCondition(property)) {\n res = iterateStyles(\n sheet,\n value as Styles,\n selector.addPostcondition(property),\n );\n // Direct classes: \".\": \"className\"\n } else if (isDirectClass(property)) {\n res = asArray(value as DirectClass);\n } else if (isMediaQuery(property)) {\n res = handleMediaQuery(sheet, value as Styles, property, selector);\n\n // \"--\": { \"--variable\": \"value\" }\n } else if (isCssVariables(property)) {\n res = cssVariablesBlock(sheet, value as CSSVariablesObject, selector);\n\n // \"property\": \"value\"\n } else if (isValidProperty(property, value)) {\n const rule = selector.createRule(property, value);\n sheet.addRule(rule);\n output.add(rule.hash);\n }\n\n return addEachClass(res, output);\n });\n\n return output;\n}\n\nfunction addEachClass(list: string[] | Set<string>, to: Set<string>) {\n list.forEach((className) => to.add(className));\n return to;\n}\n\n// eslint-disable-next-line max-statements\nfunction cssVariablesBlock(\n sheet: Sheet,\n styles: CSSVariablesObject,\n selector: Selector,\n) {\n const classes: ClassSet = new Set<string>();\n\n const chunkRows: string[] = [];\n forIn(styles, (property: string, value) => {\n if (isValidProperty(property, value)) {\n chunkRows.push(Rule.genRule(property, value));\n return;\n }\n const res = iterateStyles(sheet, value ?? {}, selector);\n addEachClass(res, classes);\n });\n\n if (!selector.scopeClassName) {\n return classes;\n }\n\n if (chunkRows.length) {\n const output = chunkRows.join(' ');\n sheet.append(\n `${mergeSelectors(selector.preconditions, {\n right: selector.scopeClassName,\n })} {${output}}`,\n );\n }\n\n classes.add(selector.scopeClassName);\n return classes;\n}\n\nfunction handleMediaQuery(\n sheet: Sheet,\n styles: Styles,\n mediaQuery: string,\n selector: Selector,\n) {\n sheet.append(mediaQuery + ' {');\n\n // iterateStyles will internally append each rule to the sheet\n // as needed. All we have to do is just open the block and close it after.\n const output = iterateStyles(sheet, styles, selector);\n\n sheet.append('}');\n\n return output;\n}\n","import * as React from \"react\";\r\n\r\nexport const UserIcon = ({ color = \"#0B89CE\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"18\"\r\n fill=\"none\"\r\n viewBox=\"0 0 16 18\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M7.997 11C3.684 11 0 11.68 0 14.4c0 2.721 3.66 3.425 7.997 3.425 4.313 0 7.997-.679 7.997-3.4S12.334 11 7.997 11\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M7.996 10.584a5.273 5.273 0 0 0 5.293-5.292A5.273 5.273 0 0 0 7.996 0a5.274 5.274 0 0 0-5.292 5.292 5.274 5.274 0 0 0 5.292 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const WorkFeedIcon = (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const BriefcaseIcon = ({ color = \"#687588\" }: { color?: string }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"26\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 26 25\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M.5 11.348c.063 2.923.238 7.921.263 8.473.089 1.178.54 2.37 1.242 3.21.978 1.178 2.182 1.705 3.86 1.705 2.32.012 4.878.012 7.361.012 2.494 0 4.914 0 6.958-.012 1.655 0 2.896-.54 3.861-1.705.703-.84 1.154-2.044 1.218-3.21.025-.464.15-5.89.225-8.473z\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M12.057 16.73v1.618a.938.938 0 0 0 1.875 0v-1.617a.938.938 0 0 0-1.875 0\"\r\n ></path>\r\n <path\r\n fill={color}\r\n d=\"M14.608 0c1.876 0 3.415 1.412 3.65 3.227h2.47a4.765 4.765 0 0 1 4.76 4.76v4.332c0 .315-.159.61-.42.783-2.578 1.706-5.638 2.842-8.848 3.286a.938.938 0 0 1-1.037-.697A2.26 2.26 0 0 0 12.988 14a2.28 2.28 0 0 0-2.224 1.696.94.94 0 0 1-1.033.68c-3.189-.445-6.237-1.575-8.81-3.274a.94.94 0 0 1-.42-.783V7.987c0-2.625 2.14-4.76 4.77-4.76h2.46C7.966 1.412 9.503.001 11.38 0zM11.38 1.875c-.84 0-1.544.576-1.754 1.352h6.735a1.82 1.82 0 0 0-1.753-1.352z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import { useInfiniteQuery, useQuery } from \"@tanstack/react-query\";\r\nimport { request } from \"graphql-request\";\r\nimport { WorkspaceProps } from \"../../../../types/workspace.types\";\r\nimport { GET_WORKSPACES } from \"./graphql\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\n\r\nexport type GetWorkspaceInput = {\r\n filter: { name: string; userId: string };\r\n page: number;\r\n perPage: number;\r\n sort: string;\r\n sortDir: string;\r\n};\r\n\r\ntype WorkspacesResponse = {\r\n workspaces: {\r\n meta: {\r\n total: number;\r\n currentPage: number;\r\n perPage: number;\r\n lastPage: number;\r\n };\r\n data: WorkspaceProps[];\r\n };\r\n};\r\n\r\nconst getWorkspaces = async (\r\n pageParam: number,\r\n options: Omit<GetWorkspaceInput, \"page\">,\r\n apiUrl?: string,\r\n accessToken?: string\r\n) => {\r\n const response = await request<WorkspacesResponse>(\r\n apiUrl as string,\r\n GET_WORKSPACES,\r\n {\r\n options: {\r\n ...options,\r\n page: pageParam,\r\n },\r\n },\r\n\r\n {\r\n \"x-access-token\": accessToken as string,\r\n }\r\n );\r\n\r\n return response?.workspaces;\r\n};\r\n\r\nexport const useApiGetWorkspaces = (\r\n options: Omit<GetWorkspaceInput, \"page\">\r\n): {\r\n workspaces: WorkspaceProps[] | undefined;\r\n isGetWorkspacesLoading: boolean;\r\n fetchNextPage: () => void;\r\n hasNextPage: boolean | undefined;\r\n isFetchingNextPage: boolean;\r\n} => {\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n\r\n const {\r\n data,\r\n isLoading: isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n } = useInfiniteQuery({\r\n queryKey: [\"workspaces\"],\r\n queryFn: ({ pageParam = 1 }) =>\r\n getWorkspaces(pageParam, options, widgetsApi, user?.accessToken),\r\n initialPageParam: 1,\r\n getNextPageParam: (lastPage) => {\r\n if (!lastPage) return undefined;\r\n const { currentPage, lastPage: last } = lastPage.meta;\r\n return currentPage < last ? currentPage + 1 : undefined;\r\n },\r\n });\r\n\r\n return {\r\n workspaces: data?.pages.flatMap((page) => page.data),\r\n isGetWorkspacesLoading,\r\n fetchNextPage,\r\n hasNextPage,\r\n isFetchingNextPage,\r\n };\r\n};\r\n","import React from \"react\";\r\nimport { CircledAddIcon } from \"../../../../../../assets/icons/CircledAddIcon\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { useOpen } from \"../../../../../../components/fromMirantes/hooks/use-open\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nimport { AddWorkspaceIcon } from \"../../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\n\r\nexport function AddWorkspaceButton() {\r\n const { locale } = useMirantesFoundation();\r\n const { isOpen, onOpen, onClose } = useOpen();\r\n\r\n return (\r\n <>\r\n <button\r\n onClick={onOpen}\r\n className=\"flex lg:bg-primary lg:p-4 rounded-2xl text-body-md font-bold text-white gap-x-2 items-center\"\r\n >\r\n <div className=\"lg:flex hidden items-center gap-x-2\">\r\n <CircledAddIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.create\"\r\n )}\r\n </div>\r\n\r\n <div className=\"lg:hidden\">\r\n <AddWorkspaceIcon />\r\n </div>\r\n </button>\r\n\r\n {isOpen && <AddWorkspaceModal onClose={onClose} />}\r\n </>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const CircledAddIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"25\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 25\"\r\n >\r\n <path\r\n fill=\"#fff\"\r\n d=\"M22 12.5c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M15.074 11.574h-2.15V9.426a.926.926 0 1 0-1.851 0v2.148H8.925a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const AddWorkspaceIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"33\"\r\n height=\"32\"\r\n fill=\"none\"\r\n viewBox=\"0 0 33 32\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M.5 16c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M26.5 16c0 5.515-4.486 10-10 10s-10-4.485-10-10 4.486-10 10-10 10 4.486 10 10\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#fff\"\r\n d=\"M19.574 15.074h-2.15v-2.147a.926.926 0 1 0-1.851 0v2.147h-2.148a.926.926 0 0 0 0 1.853h2.148v2.146a.926.926 0 1 0 1.852 0v-2.146h2.148a.927.927 0 0 0 0-1.853\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\nimport { WorkspaceGreetings } from \"../WorkspaceGreetings/WorkspaceGreetings\";\r\nimport { WorkspacePanelBar } from \"../WorkspacePanelBar/WorkspacePanelBar\";\r\n\r\nexport function DesktopWorkspaceBar() {\r\n return (\r\n <div className=\"w-full hidden lg:block h-[204px] bg-primary\">\r\n <div className=\"w-full h-full mx-auto relative max-w-[1216px] flex items-center\">\r\n <div className=\"flex-col w-full items-start flex\">\r\n <WorkspaceGreetings />\r\n </div>\r\n\r\n <WorkspacePanelBar />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceUserInfo } from \"../WorkspaceUserInfo/WorkspaceUserInfo\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceGreetings() {\r\n const { locale, user } = useMirantesFoundation();\r\n\r\n return (\r\n <div className=\"flex items-center w-full justify-between\">\r\n <div className=\"flex flex-col gap-y-2\">\r\n <h4 className=\"text-[2rem] text-white font-bold lg:leading-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}{\" \"}\r\n {user?.name}\r\n </h4>\r\n\r\n <span className=\"text-white text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings.label\"\r\n )}\r\n </span>\r\n </div>\r\n\r\n <WorkspaceUserInfo />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nimport {\r\n Avatar as ShadCnAvatar,\r\n AvatarFallback,\r\n AvatarImage,\r\n} from \"../../../components/ui/avatar\";\r\nimport { getInitials } from \"../../../components/fromMirantes\";\r\n\r\nexport function Avatar({\r\n name,\r\n onClick,\r\n src,\r\n className,\r\n}: {\r\n name: string;\r\n src?: string;\r\n onClick?: () => void;\r\n className?: string;\r\n}) {\r\n return (\r\n <ShadCnAvatar\r\n onClick={onClick}\r\n className={`h-10 w-10 hover:opacity-80 ${onClick ? \"cursor-pointer\" : \"\"} transition-all bg-[#0B89CE4D] ${className}`}\r\n >\r\n <AvatarImage src={src} alt={name} />\r\n <AvatarFallback className=\"text-white text-sm font-bold\">\r\n {getInitials(name ?? \"\")}\r\n </AvatarFallback>\r\n </ShadCnAvatar>\r\n );\r\n}\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn(\"aspect-square size-full\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n \"bg-muted flex size-full items-center justify-center rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import { Avatar } from \"../../../../../components/shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { WorkspaceUserInfoItem } from \"./WorkspaceUserInfoItem\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\n\r\nexport function WorkspaceUserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <div className=\"rounded-2xl flex items-stretch gap-x-4 bg-white min-w-[347px] px-6 py-5\">\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-14 h-14\"\r\n />\r\n\r\n <div className=\"flex flex-col items-start gap-y-2\">\r\n <h6 className=\"text-body-md font-bold\">{user?.name}</h6>\r\n <span className=\"text-body-sm text-gray-shade8\">{user?.role}</span>\r\n\r\n <span className=\"p-1 text-body-sm rounded-md font-bold text-orange-shade6 bg-orange-shade6/10\">\r\n 47%{\" \"}\r\n <span className=\"text-gray-shade8 font-normal\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.complete\"\r\n )}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-[1px] bg-border\" />\r\n\r\n <div className=\"flex flex-col gap-y-2\">\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.posts\"\r\n )}\r\n value={120}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.following\"\r\n )}\r\n value={1250}\r\n />\r\n <WorkspaceUserInfoItem\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.user.followers\"\r\n )}\r\n value={1250}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceUserInfoItem({\r\n label,\r\n value,\r\n}: {\r\n label: string;\r\n value: number;\r\n}) {\r\n return (\r\n <div className=\"flex items-center justify-between gap-x-14\">\r\n <span className=\"text-gray-shade8 text-sm font-normal\">{label}</span>\r\n\r\n\r\n <span className=\"p-1 text-body-sm font-medium rounded-md bg-primary/10 text-primary\">\r\n {value}\r\n </span>\r\n </div>\r\n );\r\n}\r\n","import { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\nimport { ChevronDownIcon } from \"lucide-react\";\r\nimport React from \"react\";\r\nimport { WorkspaceBarItems } from \"./WorkspaceItems/WorkspaceBarItems\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { AddWorkspaceButton } from \"./AddWorkspaceButton/AddWorkspaceButton\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function WorkspacePanelBar() {\r\n const { locale } = useMirantesFoundation();\r\n return (\r\n <motion.div\r\n className=\"h-[91px] divide-x divide-border bg-white rounded-2xl w-full -bottom-[65px] absolute flex items-center justify-between\"\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n >\r\n <WorkspaceBarItems />\r\n\r\n <div className=\"pl-14 pr-5 h-full flex gap-x-8 items-center\">\r\n <button className=\"flex text-gray-shade8 items-center button-empty gap-x-3\">\r\n <ExploreIcon />\r\n <span className=\"text-sm font-bold text-body-md\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.explore\"\r\n )}\r\n </span>\r\n <ChevronDownIcon className=\"text-gray-shade8 w-4 h-4\" />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </motion.div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { WorkspaceBarItem } from \"./WorkspaceBarItem\";\r\nimport { FeedIcon } from \"../../../../../../assets/icons/workspaces-panel/FeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { WorkspaceBarItemSkeleton } from \"./WorkspaceBarItemSkeleton\";\r\n\r\nexport function WorkspaceBarItems() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 3,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n return (\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n isCurrent\r\n active\r\n icon={<FeedIcon />}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n />\r\n {isGetWorkspacesLoading\r\n ? Array(3)\r\n .fill(0)\r\n .map((_, index) => <WorkspaceBarItemSkeleton key={index} />)\r\n : workspaces\r\n ?.slice(0, 3)\r\n ?.map((item) => (\r\n <WorkspaceBarItem\r\n workspace={item}\r\n description={item?.description}\r\n href={`/workspace/${item?.id}`}\r\n key={item?.id}\r\n icon={\r\n item?.icon ? (\r\n <span className=\"text-2xl\">{item?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n active\r\n label={item?.name}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import * as React from \"react\";\r\n\r\nexport const FeedIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"31\"\r\n height=\"31\"\r\n fill=\"none\"\r\n viewBox=\"0 0 31 31\"\r\n >\r\n <path\r\n fill=\"url(#paint0_linear_54380_31901)\"\r\n d=\"M15.436 18.675c-4.312 0-7.95.704-7.95 3.424 0 2.721 3.661 3.4 7.95 3.4 4.313 0 7.951-.704 7.951-3.423 0-2.721-3.662-3.401-7.95-3.401\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint1_linear_54380_31901)\"\r\n d=\"M15.436 16.084c2.92 0 5.262-2.355 5.262-5.292 0-2.938-2.342-5.292-5.262-5.292s-5.261 2.354-5.261 5.292 2.341 5.292 5.261 5.292\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint2_linear_54380_31901)\"\r\n d=\"M26.86 12.024c.755-2.972-1.46-5.64-4.28-5.64-.307 0-.6.033-.886.09-.039.01-.081.029-.104.062-.025.043-.006.1.022.138a7.26 7.26 0 0 1 1.334 4.213 7.2 7.2 0 0 1-1.23 4.052c-.08.119-.01.28.133.305a4 4 0 0 0 .604.058c2.054.054 3.898-1.275 4.407-3.278\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint3_linear_54380_31901)\"\r\n d=\"M29.012 19.021c-.377-.806-1.284-1.359-2.664-1.63-.652-.16-2.414-.385-4.054-.354-.025.003-.038.02-.04.031-.004.016.003.043.035.06.758.377 3.687 2.017 3.319 5.476-.016.15.104.28.253.257.72-.104 2.575-.505 3.15-1.753a2.4 2.4 0 0 0 0-2.087\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint4_linear_54380_31901)\"\r\n d=\"M9.306 6.475a4.4 4.4 0 0 0-.886-.091c-2.82 0-5.036 2.669-4.28 5.64.509 2.003 2.352 3.333 4.406 3.279q.31-.008.604-.059a.198.198 0 0 0 .134-.305 7.2 7.2 0 0 1-1.23-4.051c0-1.564.488-3.02 1.335-4.214.027-.037.047-.094.02-.137-.022-.035-.064-.053-.103-.062\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"url(#paint5_linear_54380_31901)\"\r\n d=\"M4.652 17.39c-1.38.272-2.287.825-2.663 1.63a2.4 2.4 0 0 0 0 2.089c.576 1.247 2.43 1.649 3.15 1.751.15.023.268-.105.253-.256-.368-3.458 2.56-5.098 3.32-5.476.03-.018.038-.044.034-.06-.002-.012-.014-.029-.039-.03-1.64-.032-3.403.193-4.055.353\"\r\n ></path>\r\n <defs>\r\n <linearGradient\r\n id=\"paint0_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"18.675\"\r\n y2=\"25.5\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint1_linear_54380_31901\"\r\n x1=\"15.436\"\r\n x2=\"15.436\"\r\n y1=\"5.5\"\r\n y2=\"16.084\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint2_linear_54380_31901\"\r\n x1=\"24.294\"\r\n x2=\"24.294\"\r\n y1=\"6.383\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint3_linear_54380_31901\"\r\n x1=\"25.751\"\r\n x2=\"25.751\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint4_linear_54380_31901\"\r\n x1=\"6.706\"\r\n x2=\"6.706\"\r\n y1=\"6.384\"\r\n y2=\"15.304\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n <linearGradient\r\n id=\"paint5_linear_54380_31901\"\r\n x1=\"5.248\"\r\n x2=\"5.248\"\r\n y1=\"17.034\"\r\n y2=\"22.863\"\r\n gradientUnits=\"userSpaceOnUse\"\r\n >\r\n <stop stopColor=\"#0B89CE\"></stop>\r\n <stop offset=\"1\" stopColor=\"#2C8EFE\"></stop>\r\n </linearGradient>\r\n </defs>\r\n </svg>\r\n);\r\n\r\n","import React from \"react\";\r\n\r\nexport function WorkspaceBarItemSkeleton() {\r\n return (\r\n <div className=\"items-center flex justify-center gap-x-4 col-span-1\">\r\n <div className=\"skeleton bg-gray-shade1/80 w-12 h-12 rounded-full\" />\r\n\r\n <div className=\"h-3 rounded-lg skeleton bg-gray-shade1/80 w-32\" />\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 1014; // You can change this to your design breakpoint\r\n\r\nexport function useMobile() {\r\n const [isMobile, setIsMobile] = useState<boolean>(false);\r\n\r\n useEffect(() => {\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n };\r\n\r\n checkIsMobile(); // Initial check\r\n window.addEventListener(\"resize\", checkIsMobile);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", checkIsMobile);\r\n };\r\n }, []);\r\n\r\n return { isMobile };\r\n}\r\n","import React from \"react\";\r\nimport { DesktopHeader } from \"./DesktopHeader/DesktopHeader\";\r\nimport { MobileHeader } from \"./MobileHeader/MobileHeader\";\r\n\r\nexport default function Header({ className }: { className?: string }) {\r\n return (\r\n <>\r\n <DesktopHeader className={className} />\r\n <MobileHeader className={className} />\r\n </>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\ninterface IMirantesLogo {\r\n className?: string;\r\n color?: string;\r\n}\r\n\r\nexport function MirantesLogo({ className, color }: IMirantesLogo) {\r\n return (\r\n <svg\r\n width=\"88\"\r\n height=\"32\"\r\n viewBox=\"0 0 88 32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill=\"#0B89CE\"\r\n />\r\n <path\r\n d=\"M26.1622 25.7427V15.5676H27.2454C27.8422 15.5676 28.3243 16.0497 28.3243 16.6465V26.8108H27.2303C26.64 26.8108 26.1622 26.333 26.1622 25.7427Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M31.5677 18.9254C31.5677 17.5762 31.546 16.4151 31.479 15.3492H32.1579C32.7352 15.3492 33.2087 15.8076 33.2239 16.387L33.2628 17.7276H33.3536C33.8552 16.0995 35.0595 15.0746 36.4044 15.0746C36.6314 15.0746 36.7914 15.1005 36.9731 15.1503V16.9427C36.9731 17.0876 36.8477 17.1978 36.705 17.1784C36.5817 17.1611 36.4477 17.1546 36.292 17.1546C34.8801 17.1546 33.879 18.3308 33.6066 19.9827C33.5612 20.2832 33.5158 20.6335 33.5158 21.0097V26.8108H32.6293C32.0455 26.8108 31.5698 26.3373 31.5698 25.7513V18.9254H31.5677Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M46.0563 26.8108C45.5093 26.8108 45.0509 26.3978 44.9947 25.853L44.9363 25.2973H44.8693C44.2661 26.24 43.1028 27.0832 41.559 27.0832C39.3666 27.0832 38.2488 25.3708 38.2488 23.6346C38.2488 20.7308 40.5753 19.1438 44.7569 19.1676V18.9189C44.7569 17.9265 44.5104 16.1405 42.2963 16.1405C41.7342 16.1405 41.159 16.2486 40.6272 16.4389C39.972 16.6746 39.2542 16.307 39.0466 15.6411L39.0315 15.5935C39.9266 14.9492 41.2239 14.5276 42.5882 14.5276C45.8985 14.5276 46.7028 17.0335 46.7028 19.44V23.9308C46.7028 24.973 46.7482 25.9892 46.8823 26.8086H46.0563V26.8108ZM44.7569 21.0832C42.5839 21.0357 40.119 21.4335 40.119 23.6346C40.119 24.9686 40.9796 25.6 41.998 25.6C43.4228 25.6 44.3288 24.6638 44.6445 23.7038C44.7115 23.494 44.7569 23.2584 44.7569 23.0486V21.0832Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M49.7296 18.6097C49.7296 17.4486 49.7058 16.4951 49.6323 15.5676H50.5556C51.1221 15.5676 51.5912 16.0086 51.6258 16.5751L51.6821 17.5135H51.6626C52.1967 16.454 53.4421 15.4184 55.2215 15.4184C56.7112 15.4184 59.0248 16.3394 59.0248 20.16V26.8108H58.3567C57.7707 26.8108 57.295 26.3351 57.295 25.7492V20.2789C57.295 18.4519 56.6312 16.9319 54.7307 16.9319C53.4031 16.9319 52.3718 17.8919 52.028 19.0378C51.9372 19.2951 51.8896 19.6476 51.8896 19.9978V26.8108H50.7977C50.2053 26.8108 49.7275 26.3308 49.7275 25.7405V18.6097H49.7296Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M64.8649 14.0238V15.3513H66.5708C67.1805 15.3513 67.6757 15.8465 67.6757 16.4562V17.0811H64.8649V23.1978C64.8649 24.6032 65.2497 25.4011 66.3589 25.4011H66.4065C67.0335 25.4011 67.5503 25.8876 67.587 26.5124L67.6043 26.8065C67.2194 26.9708 66.6097 27.0876 65.84 27.0876C64.9124 27.0876 64.1665 26.7827 63.6908 26.2205C63.1243 25.6108 62.9211 24.6032 62.9211 23.2692V17.0811H62.4022C61.734 17.0811 61.1913 16.5384 61.1913 15.8703V15.3513H62.9211V12.6357L63.0097 12.6119C63.9416 12.3524 64.8649 13.0551 64.8649 14.0238Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M70.8021 21.6216C70.8475 24.4065 72.5664 25.5546 74.5577 25.5546C75.2561 25.5546 75.8183 25.4919 76.2983 25.3924C77.0356 25.2368 77.7599 25.7103 77.9307 26.4454C77.2302 26.7741 76.0302 27.1481 74.2875 27.1481C70.9167 27.1481 68.9037 24.8541 68.9037 21.4357C68.9037 18.0173 70.8496 15.3254 74.0388 15.3254C77.6129 15.3254 78.5642 18.5795 78.5642 20.6616C78.5642 21.0832 78.5188 21.4119 78.4972 21.6216H70.8021ZM76.6399 20.1081C76.6615 18.7978 76.1188 16.7611 73.8788 16.7611C71.8658 16.7611 70.9837 18.6811 70.8237 20.1081H76.6399Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n <path\r\n d=\"M80.2594 26.3265C80.5037 25.5568 81.3232 25.1416 82.0972 25.3751C82.5059 25.4984 82.9491 25.5784 83.3816 25.5784C84.8302 25.5784 85.5091 24.8281 85.5091 23.8919C85.5091 22.9081 84.9426 22.3697 83.4724 21.8076C81.5048 21.0811 80.5772 19.9589 80.5772 18.6011C80.5772 16.7762 82.0021 15.2778 84.3545 15.2778C85.4637 15.2778 86.4367 15.6065 87.0464 15.9805L87.0335 16.0173C86.7956 16.7351 86.041 17.1265 85.3059 16.9449C85.0054 16.8713 84.6724 16.8238 84.307 16.8238C83.1308 16.8238 82.4735 17.5265 82.4735 18.3697C82.4735 19.3059 83.1286 19.7276 84.5556 20.2897C86.4562 21.0378 87.4291 22.0216 87.4291 23.7081C87.4291 25.6973 85.9351 27.1027 83.334 27.1027C82.1383 27.0984 81.0291 26.7957 80.2594 26.3265Z\"\r\n fill={color ?? \"#090B19\"}\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function MirantesLogoSmall({\r\n className,\r\n color = \"#0B89CE\",\r\n}: IMirantesLogo) {\r\n return (\r\n <svg\r\n height=\"32\"\r\n width=\"32\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n className={className}\r\n >\r\n <path\r\n d=\"M7.35135 32H3.70811C1.66054 32 0 30.3395 0 28.2919V0H3.41838C5.59135 0 7.35135 1.76 7.35135 3.93297V32Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M15.7835 30.9189H12.1424C10.0927 30.9189 8.43213 29.2584 8.43213 27.2087V3.45947H11.87C14.0321 3.45947 15.7835 5.21082 15.7835 7.37299V30.9189Z\"\r\n fill={color}\r\n />\r\n <path\r\n d=\"M23.3514 27.2432H19.8638C18.0887 27.2432 16.6487 25.8032 16.6487 24.0281V7.13513H19.9806C21.8422 7.13513 23.3514 8.64432 23.3514 10.5059V27.2432Z\"\r\n fill={color}\r\n />\r\n </svg>\r\n );\r\n}\r\n","import { BellIcon } from \"../../../../assets/icons/BellIcon\";\r\nimport { MirantesLogo } from \"../../../../assets/logos/MirantesLogo\";\r\nimport React, { useState } from \"react\";\r\nimport { UserInfo } from \"../components/UserInfo/UserInfo\";\r\nimport { Navbar } from \"../components/Navbar/Navbar\";\r\nimport { BaseInput } from \"../../../shared/BaseInput/BaseInput\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { AIIcon } from \"../../../../assets/icons/nav-icons/AIIcon\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport { MessagesIcon } from \"../../../../assets/icons/MessagesIcon\";\r\nimport { cn } from \"../../../../utils/utils\";\r\n\r\nexport function DesktopHeader({ className }: { className?: string }) {\r\n const { locale } = useMirantesFoundation();\r\n const [search, setSearch] = useState(\"\");\r\n const { Notification: NotificationsWrapper } = useMirantesFoundation();\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"hidden lg:block w-full z-[200] h-[70px] bg-white rounded-2xl sticky top-0\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex max-w-[1440px] px-8 h-full items-center justify-between w-full mx-auto\">\r\n <div className=\"flex items-center gap-x-6\">\r\n <button\r\n className=\"button-empty !p-0\"\r\n onClick={() => (window.location.href = \"/\")}\r\n >\r\n <MirantesLogo />\r\n </button>\r\n\r\n <BaseInput\r\n onChange={(e) => setSearch(e.target.value)}\r\n className=\"h-[46px]\"\r\n wrapperClassName=\"min-w-[400px]\"\r\n leftIcon={<AIIcon />}\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.search.placeholder\"\r\n )}\r\n value={search}\r\n />\r\n </div>\r\n\r\n <Navbar />\r\n\r\n <div className=\"flex items-center gap-x-6\">\r\n <button>\r\n <MessagesIcon />\r\n </button>\r\n {NotificationsWrapper}\r\n <UserInfo />\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import { ChevronDownIcon } from \"lucide-react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Avatar } from \"../../../../shared/avatar/avatar\";\r\nimport React from \"react\";\r\nimport { UserOptions } from \"./UserOptions\";\r\n\r\nexport function UserInfo() {\r\n const { user, locale } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <UserOptions\r\n trigger={\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n src={user?.avatar}\r\n className=\"w-8 h-8\"\r\n />\r\n\r\n <div className=\"flex items-center gap-x-2\">\r\n <div className=\"flex flex-col items-start\">\r\n <span className=\"text-body-sm font-semibold\">{user?.name}</span>\r\n <span className=\"text-body-sm text-gray-shade8\">\r\n {user?.slug}\r\n </span>\r\n </div>\r\n\r\n <ChevronDownIcon className=\"w-4 h-4\" />\r\n </div>\r\n </div>\r\n }\r\n />\r\n );\r\n}\r\n","import React, { useRef, RefObject } from \"react\";\r\nimport { MoreVerticalIcon } from \"lucide-react\";\r\nimport { useOpen } from \"../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../fromMirantes/hooks/use-outside-click\";\r\nimport { motion } from \"motion/react\";\r\n\r\nexport function Dropdown({\r\n children,\r\n className,\r\n trigger,\r\n}: {\r\n children: React.ReactNode;\r\n className?: string;\r\n trigger?: React.ReactNode;\r\n}) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { isOpen, toggle, onClose } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLDivElement>, onClose);\r\n\r\n return (\r\n <div className=\"relative inline-block\" ref={ref}>\r\n {trigger ? (\r\n <div className=\"cursor-pointer\" onClick={toggle}>\r\n {trigger}\r\n </div>\r\n ) : (\r\n <button\r\n onClick={toggle}\r\n className=\"p-2 rounded-full hover:bg-gray-100 focus:outline-none\"\r\n >\r\n <MoreVerticalIcon className=\"w-5 h-5\" />\r\n </button>\r\n )}\r\n {isOpen && (\r\n <motion.div\r\n style={{\r\n boxShadow: \"0px 0px 16px 5px rgb(11 137 206 / 0.09)\",\r\n }}\r\n initial={{ opacity: 0, y: -10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n exit={{ opacity: 0, y: -10 }}\r\n transition={{ duration: 0.2 }}\r\n className={`absolute right-0 mt-2 min-w-[200px] rounded-2xl bg-white p-2 z-50 ${className}`}\r\n >\r\n {children}\r\n </motion.div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import { Dropdown } from \"../../../../shared/dropdown/Dropdown\";\r\nimport React from \"react\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { useUserSessions } from \"../../../../../components/fromMirantes/utils/cookies-utils\";\r\nimport { AppKeys } from \"../../../../../components/fromMirantes/utils/app.keys\";\r\nimport { LogOut } from \"lucide-react\";\r\n\r\nexport function UserOptions({ trigger }: { trigger?: React.ReactNode }) {\r\n const { locale } = useMirantesFoundation();\r\n const { destroyCookie } = useUserSessions();\r\n\r\n const handleLogout = () => {\r\n destroyCookie(AppKeys.accessToken);\r\n destroyCookie(AppKeys.refreshToken);\r\n destroyCookie(AppKeys.userData);\r\n destroyCookie(AppKeys.userId);\r\n destroyCookie(AppKeys.userSlug);\r\n destroyCookie(AppKeys.userStatus);\r\n\r\n window.location.href = \"/\";\r\n };\r\n\r\n return (\r\n <Dropdown trigger={trigger}>\r\n <div className=\"w-full flex flex-col gap-y-4\">\r\n \r\n <div\r\n role=\"button\"\r\n onClick={handleLogout}\r\n className=\"px-4 group flex gap-x-2 cursor-pointer justify-start hover:font-medium py-2 w-full text-body-md text-gray-shade8 hover:text-primary transition-all hover:bg-primary/10 rounded-[10px]\"\r\n >\r\n <div className=\"w-5 h-5 flex items-center justify-center \">\r\n <LogOut className=\"w-5 h-5 text-gray-shade8 group-hover:text-primary\" />\r\n </div>\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.user.options.logout\"\r\n )}\r\n </div>\r\n </div>\r\n </Dropdown>\r\n );\r\n}\r\n","import { useMirantesFoundation } from \"../../../context/useMirantesFoundation\";\r\nimport { deleteCookie, getCookie, setCookie, OptionsType } from \"cookies-next\";\r\n\r\nexport const useUserSessions = () => {\r\n const { environment, mirantesDomain } = useMirantesFoundation();\r\n const resolvedDomain = environment === \"dev\" ? \"localhost\" : mirantesDomain;\r\n function saveCookie(name: string, value: string, options?: OptionsType) {\r\n setCookie(name, value, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function destroyCookie(name: string, options?: OptionsType) {\r\n deleteCookie(name, {\r\n sameSite: \"lax\",\r\n secure: environment !== \"dev\",\r\n path: \"/\",\r\n domain: resolvedDomain,\r\n ...options,\r\n });\r\n }\r\n\r\n function getSavedCookie(name: string) {\r\n return getCookie(name);\r\n }\r\n\r\n return {\r\n saveCookie,\r\n destroyCookie,\r\n getSavedCookie,\r\n };\r\n};\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { NavbarItem } from \"./NavbarItem\";\r\nimport { packageDictionary } from \"../../../../../locales/utils\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { TLocale } from \"../../../../../context/types\";\r\nimport { HomeIcon } from \"../../../../../assets/icons/nav-icons/HomeIcon\";\r\nimport { MCPIcon } from \"../../../../../assets/icons/nav-icons/MCPIcon\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/nav-icons/ExploreIcon\";\r\n\r\nexport function Navbar() {\r\n const { locale } = useMirantesFoundation();\r\n\r\n return (\r\n <nav className=\"flex items-center\">\r\n <NavbarItem\r\n isActive\r\n href=\"/\"\r\n label={packageDictionary(locale as TLocale, \"main.navbar.home\")}\r\n icon={<HomeIcon />}\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.mcp\")}\r\n icon={<MCPIcon />}\r\n href=\"/mcp\"\r\n />\r\n\r\n <NavbarItem\r\n label={packageDictionary(locale as TLocale, \"main.navbar.explore\")}\r\n icon={<ExploreIcon />}\r\n href=\"/explore\"\r\n />\r\n </nav>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { cn } from \"../../../../../utils/utils\";\r\n\r\ntype NavbarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n isActive?: boolean;\r\n href: string;\r\n};\r\n\r\nexport function NavbarItem({ icon, label, href, isActive }: NavbarItemProps) {\r\n return (\r\n <button\r\n onClick={() => (window.location.href = href)}\r\n className={cn(\r\n \"flex items-center px-5 h-[44px] transition-all text-body-sm font-bold text-gray-shade8 gap-x-2\",\r\n isActive && \"bg-primary/10 text-primary rounded-lg\"\r\n )}\r\n >\r\n <div className={cn(\"w-6 h-6 transition-all\", !isActive && \"grayscale\")}>\r\n {icon}\r\n </div>\r\n\r\n {label}\r\n </button>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport const HomeIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M8.12 17.318v-2.556c0-.647.526-1.173 1.179-1.177h2.395c.655 0 1.186.527 1.186 1.177v2.549c0 .562.457 1.018 1.022 1.022h1.635a2.88 2.88 0 0 0 2.036-.833c.54-.535.844-1.261.844-2.019v-7.26a2.06 2.06 0 0 0-.747-1.585l-5.55-4.408a2.596 2.596 0 0 0-3.299.06L3.39 6.636a2.06 2.06 0 0 0-.806 1.585v7.253a2.87 2.87 0 0 0 2.88 2.86H7.06c.273.001.535-.105.728-.296.193-.19.302-.45.302-.72z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const MCPIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M18.276 6.202c-.35-.22-.779-.24-1.144-.053l-1.235.623c-.457.23-.74.696-.74 1.214v4.86c0 .519.283.983.74 1.215l1.234.623a1.14 1.14 0 0 0 1.145-.053c.349-.22.557-.599.557-1.015V7.218c0-.416-.208-.796-.557-1.016\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M10.42 16.667H5.595c-2.018 0-3.427-1.392-3.427-3.385V7.551c0-1.994 1.409-3.384 3.427-3.384h4.827c2.018 0 3.427 1.39 3.427 3.384v5.731c0 1.993-1.409 3.384-3.427 3.384\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from \"react\";\r\n\r\nexport const ExploreIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"21\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 21 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M13.896 1.667h2.822c1.169 0 2.115.954 2.115 2.133v2.845a2.124 2.124 0 0 1-2.115 2.134h-2.822a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n fillRule=\"evenodd\"\r\n d=\"M4.282 1.667h2.822c1.168 0 2.115.954 2.115 2.133v2.845A2.124 2.124 0 0 1 7.104 8.78H4.282a2.124 2.124 0 0 1-2.115-2.134V3.8c0-1.179.947-2.133 2.115-2.133m0 9.554h2.822c1.168 0 2.115.955 2.115 2.133V16.2a2.125 2.125 0 0 1-2.115 2.133H4.282A2.125 2.125 0 0 1 2.167 16.2v-2.846c0-1.178.947-2.133 2.115-2.133m12.436 0h-2.822a2.124 2.124 0 0 0-2.115 2.133V16.2c0 1.178.947 2.133 2.115 2.133h2.822a2.125 2.125 0 0 0 2.115-2.133v-2.846a2.124 2.124 0 0 0-2.115-2.133\"\r\n clipRule=\"evenodd\"\r\n ></path>\r\n </svg>\r\n);\r\n","import * as React from \"react\";\r\n\r\nexport const AIIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n fill=\"none\"\r\n viewBox=\"0 0 20 20\"\r\n >\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 8.897s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499C5.858 17.14 5.55 20 5.55 20s-.306-2.86-1.499-4.052C2.859 14.755 0 14.448 0 14.448s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052M13.482 4.184s.306 2.859 1.5 4.052c1.192 1.193 4.052 1.5 4.052 1.5s-2.86.306-4.053 1.499-1.499 4.052-1.499 4.052-.306-2.859-1.5-4.052c-1.192-1.193-4.051-1.5-4.051-1.5s2.859-.306 4.052-1.499 1.5-4.052 1.5-4.052\"\r\n ></path>\r\n <path\r\n fill=\"#0B89CE\"\r\n d=\"M5.551 0s.307 2.859 1.5 4.052 4.052 1.5 4.052 1.5-2.86.306-4.052 1.499c-1.193 1.193-1.5 4.052-1.5 4.052s-.306-2.86-1.499-4.052C2.859 5.858 0 5.55 0 5.55s2.859-.306 4.052-1.499S5.552 0 5.552 0\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\n","import * as React from \"react\";\r\n\r\nexport const MessagesIcon = () => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n fill=\"#111827\"\r\n d=\"M12.02 2C6.21 2 2 6.74 2 12c0 1.68.49 3.41 1.35 4.99.16.26.18.59.07.9l-.67 2.24c-.15.54.31.94.82.78l2.02-.6c.55-.18.98.05 1.491.36 1.46.86 3.279 1.3 4.919 1.3 4.96 0 10-3.83 10-10C22 6.65 17.7 2 12.02 2\"\r\n opacity=\"0.4\"\r\n ></path>\r\n <path\r\n fill=\"#111827\"\r\n d=\"M7.37 10.73c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.27-1.28 1.28-.7 0-1.28-.58-1.28-1.28 0-.71.57-1.28 1.28-1.28m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28-.71-.01-1.28-.58-1.28-1.29 0-.7.58-1.28 1.28-1.27m4.61 0c.71 0 1.28.57 1.28 1.28 0 .7-.57 1.28-1.28 1.28s-1.28-.58-1.28-1.28c0-.71.57-1.28 1.28-1.28\"\r\n ></path>\r\n <rect width=\"10\" height=\"10\" x=\"13.002\" y=\"1\" fill=\"#E03137\" rx=\"5\"></rect>\r\n <rect\r\n width=\"10\"\r\n height=\"10\"\r\n x=\"13.002\"\r\n y=\"1\"\r\n stroke=\"#fff\"\r\n strokeWidth=\"2\"\r\n rx=\"5\"\r\n ></rect>\r\n </svg>\r\n);\r\n\r\n","import { Avatar } from \"../../../shared/avatar/avatar\";\r\nimport { useMirantesFoundation } from \"../../../../context/useMirantesFoundation\";\r\nimport React from \"react\";\r\nimport { packageDictionary } from \"../../../../locales/utils\";\r\nimport { TLocale } from \"../../../../context/types\";\r\nimport SearchSvg from \"../../../../assets/icons/Search\";\r\n\r\nimport { MenuIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../../utils/utils\";\r\n\r\nexport function MobileHeader({ className }: { className?: string }) {\r\n const { user, locale, Notification } = useMirantesFoundation();\r\n\r\n const handleRedirectToProfile = () => {\r\n window.location.href = `/profile/${locale}`;\r\n };\r\n\r\n return (\r\n <header\r\n className={cn(\r\n \"w-full sticky top-0 z-[200] bg-primary h-[80px] px-6 flex lg:hidden items-center justify-between\",\r\n className\r\n )}\r\n >\r\n <div className=\"flex items-center gap-x-2\">\r\n <Avatar\r\n onClick={handleRedirectToProfile}\r\n name={user?.name as string}\r\n className=\"w-[46px] h-[46px] bg-[#ffffff20]\"\r\n />\r\n\r\n <div className=\"flex flex-col gap-y-1\">\r\n <span className=\"text-[10px] text-white\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.greetings\"\r\n )}\r\n </span>\r\n\r\n <span className=\"text-body-sm text-white font-bold\">\r\n {user?.name}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-x-4\">\r\n <button className=\"w-8 h-8 rounded-full flex items-center justify-center bg-[#ffffff20]\">\r\n <div className=\"w-5 h-5 [&>svg_*]:fill-white flex items-center justify-center\">\r\n <SearchSvg />\r\n </div>\r\n </button>\r\n\r\n {Notification}\r\n\r\n <button>\r\n <MenuIcon className=\"w-6 h-6 text-white\" />\r\n </button>\r\n </div>\r\n </header>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nexport default function SearchSvg() {\r\n return (\r\n <svg\r\n width=\"21\"\r\n height=\"21\"\r\n viewBox=\"0 0 21 21\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M9.76639 1.52734C5.21636 1.52734 1.52783 5.21587 1.52783 9.7659C1.52783 14.3159 5.21636 18.0045 9.76639 18.0045C14.3164 18.0045 18.0049 14.3159 18.0049 9.7659C18.0049 5.21587 14.3164 1.52734 9.76639 1.52734ZM0.027832 9.7659C0.027832 4.38744 4.38793 0.0273438 9.76639 0.0273438C15.1448 0.0273438 19.5049 4.38744 19.5049 9.7659C19.5049 15.1444 15.1448 19.5045 9.76639 19.5045C4.38793 19.5045 0.027832 15.1444 0.027832 9.7659Z\"\r\n fill=\"#111827\"\r\n />\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.4871 15.9548C15.7796 15.6615 16.2545 15.6609 16.5477 15.9534L20.0718 19.4683C20.365 19.7608 20.3657 20.2357 20.0732 20.529C19.7806 20.8222 19.3058 20.8228 19.0125 20.5303L15.4885 17.0155C15.1952 16.7229 15.1946 16.2481 15.4871 15.9548Z\"\r\n fill=\"#111827\"\r\n />\r\n </svg>\r\n );\r\n}\r\n","import React, { useMemo } from \"react\";\r\nimport { MirantesFoundationContext } from \"./MirantesFoundationContext\";\r\nimport { IMirantesFoundationProviderProps } from \"./types\";\r\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\r\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\r\n\r\nexport default function MirantesFoundationProvider({\r\n children,\r\n Notification,\r\n queryClient,\r\n values: {\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n } = {},\r\n}: IMirantesFoundationProviderProps) {\r\n const value = useMemo(\r\n () => ({\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n Notification,\r\n }),\r\n [\r\n locale,\r\n Link,\r\n usePathname,\r\n user,\r\n mirantesDomain,\r\n environment,\r\n widgetsApi,\r\n hostUrl,\r\n isDev,\r\n Notification,\r\n ]\r\n );\r\n\r\n return (\r\n <MirantesFoundationContext.Provider value={value}>\r\n <QueryClientProvider client={queryClient as QueryClient}>\r\n {children}\r\n {isDev ? (\r\n <ReactQueryDevtools\r\n client={queryClient as QueryClient}\r\n initialIsOpen={false}\r\n />\r\n ) : null}\r\n </QueryClientProvider>\r\n </MirantesFoundationContext.Provider>\r\n );\r\n}\r\n","export default function joinUrlWithPathAndQuery(\r\n baseUrl: string,\r\n path: string,\r\n query?: Record<string, string>\r\n): string {\r\n try {\r\n if (!baseUrl.endsWith(\"/\")) {\r\n baseUrl += \"/\";\r\n }\r\n\r\n if (path.startsWith(\"/\")) {\r\n path = path.substring(1);\r\n }\r\n\r\n let url = baseUrl + path;\r\n\r\n if (query) {\r\n const queryParams = Object.keys(query)\r\n .map(\r\n (key) =>\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(query[key])\r\n )\r\n .join(\"&\");\r\n\r\n if (queryParams) {\r\n url += \"?\" + queryParams;\r\n }\r\n }\r\n\r\n return url;\r\n } catch {\r\n return \"\";\r\n }\r\n}\r\n","export default function stringToObj<T>(\r\n inputString: string,\r\n separator: string\r\n): T | undefined {\r\n const keyValuePairs: string[] = inputString.split(separator);\r\n\r\n let resultObj: T | undefined;\r\n\r\n for (const pair of keyValuePairs) {\r\n const [key, value] = pair.split(\"=\");\r\n if (!resultObj) resultObj = {} as T;\r\n\r\n if (value) {\r\n resultObj = {\r\n ...resultObj,\r\n [key]: value,\r\n };\r\n }\r\n }\r\n\r\n return resultObj;\r\n}\r\n","export default function getInitials(fullName: string): string {\r\n if (!fullName) return \"\";\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n\r\n if (parts.length === 0) return \"\";\r\n\r\n const firstInitial = parts[0][0]?.toUpperCase() ?? \"\";\r\n const lastInitial =\r\n parts.length > 1 ? parts[parts.length - 1][0]?.toUpperCase() ?? \"\" : \"\";\r\n\r\n return firstInitial + lastInitial;\r\n}\r\n","\"use client\";\r\n\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { SmileIcon } from \"lucide-react\";\r\nimport { Button } from \"../../ui/button\";\r\nimport EmojiPicker, { type EmojiClickData, Theme } from \"emoji-picker-react\";\r\n\r\nexport function EmojiButton({\r\n className,\r\n onChange,\r\n icon,\r\n containerClassName,\r\n}: {\r\n className?: string;\r\n containerClassName?: string;\r\n onChange: (emoji: string) => void;\r\n icon?: React.ReactNode;\r\n}) {\r\n const [showPicker, setShowPicker] = useState(false);\r\n const pickerRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n\r\n // Close the emoji picker when clicking outside\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n pickerRef.current &&\r\n !pickerRef.current.contains(event.target as Node) &&\r\n buttonRef.current &&\r\n !buttonRef.current.contains(event.target as Node)\r\n ) {\r\n setShowPicker(false);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const togglePicker = () => {\r\n setShowPicker(!showPicker);\r\n };\r\n\r\n const handleEmojiClick = (emojiData: EmojiClickData) => {\r\n const emoji = emojiData.emoji;\r\n onChange(emoji);\r\n };\r\n\r\n return (\r\n <div className={`relative ${className}`}>\r\n <Button\r\n type=\"button\"\r\n ref={buttonRef}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"!p-0 rounded-full flex items-center gap-x-2 hover:bg-transparent\"\r\n onClick={togglePicker}\r\n >\r\n {icon}\r\n </Button>\r\n\r\n {showPicker && (\r\n <div\r\n ref={pickerRef}\r\n className={`absolute bottom-12 left-0 z-50 ${containerClassName}`}\r\n >\r\n <EmojiPicker\r\n onEmojiClick={handleEmojiClick}\r\n theme={Theme.LIGHT}\r\n searchPlaceHolder=\"Buscar emoji\"\r\n width={320}\r\n height={400}\r\n previewConfig={{\r\n showPreview: false,\r\n }}\r\n />\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\nimport { motion } from \"motion/react\";\r\nimport { TLocale } from \"../../../../../../../../context/types\";\r\nimport { useMirantesFoundation } from \"../../../../../../../../context/useMirantesFoundation\";\r\nimport { packageDictionary } from \"../../../../../../../../locales/utils\";\r\nimport { useAddWorkspaceModal } from \"./useAddWorkspaceModal\";\r\nimport { BaseInput } from \"../../../../../../../../components/shared/BaseInput/BaseInput\";\r\nimport { SelectInput } from \"../../../../../../../../components/shared/select-input/select-input\";\r\nimport { Badge } from \"../../../../../../../../components/shared/badge/badge\";\r\nimport { DescriptionInput } from \"../../../../../../../../components/shared/description-input/description-input\";\r\nimport { useAddWorkspaceStore } from \"../../store/add-workspace.store\";\r\nimport { AddWorkspaceLoading } from \"../AddWorkspaceLoading/AddWorkspaceLoading\";\r\nimport { EmojiButton } from \"../../../../../../../shared/emogi-picker/emoji-picker\";\r\nimport { UserIcon } from \"../../../../../../../../assets/icons/use-icon\";\r\n\r\nexport function AddWorkspaceForm({ onClose }: { onClose: () => void }) {\r\n const { locale } = useMirantesFoundation();\r\n const { step, workspace } = useAddWorkspaceStore();\r\n const {\r\n errors,\r\n getError,\r\n watch,\r\n selectedInterests,\r\n onChangeDescription,\r\n onChangeName,\r\n onSelectInterest,\r\n interests,\r\n onSubmit,\r\n onRemoveInterest,\r\n isCreatingWorkspace,\r\n setValue,\r\n } = useAddWorkspaceModal();\r\n\r\n if (step === \"loading\") {\r\n return <AddWorkspaceLoading />;\r\n }\r\n\r\n return (\r\n <motion.div\r\n initial={{ opacity: 0, y: 10 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n transition={{ duration: 0.3, ease: \"easeInOut\", delay: 0.3 }}\r\n className=\"w-full flex flex-col gap-y-8\"\r\n >\r\n <h4 className=\"text-xl font-bold\">\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.title\"\r\n : \"component.workspace.panel.modal.title\"\r\n )}\r\n </h4>\r\n\r\n <form onSubmit={onSubmit} className=\"w-full flex flex-col gap-y-4\">\r\n <div className=\"relative\">\r\n <BaseInput\r\n leftIcon={\r\n <div className=\"w-8 h-8 rounded-lg border-2 flex items-center bottom-4 justify-center bg-primary/10 border-primary border-dotted\">\r\n <EmojiButton\r\n containerClassName=\"top-10 -left-4\"\r\n icon={\r\n watch(\"icon\") ? (\r\n <span className=\"text-lg\">{watch(\"icon\")}</span>\r\n ) : (\r\n <UserIcon />\r\n )\r\n }\r\n onChange={(emoji) => {\r\n setValue(\"icon\", emoji);\r\n }}\r\n />\r\n </div>\r\n }\r\n error={getError(errors?.name?.message)}\r\n required\r\n value={watch(\"name\")}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name\"\r\n )}\r\n onChange={(e) => onChangeName(e.target.value)}\r\n className=\"w-full bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.name.placeholder\"\r\n )}\r\n />\r\n </div>\r\n\r\n <SelectInput\r\n disableSelectedItem\r\n options={interests.map((interest) => ({\r\n id: interest.id,\r\n value: interest.name,\r\n }))}\r\n onChange={(id) => onSelectInterest(id)}\r\n className=\"bg-white\"\r\n placeholder={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests.placeholder\"\r\n )}\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.interests\"\r\n )}\r\n />\r\n\r\n {selectedInterests?.length > 0 && (\r\n <div className=\"flex flex-wrap w-full items-center gap-4\">\r\n {selectedInterests?.map((interest) => {\r\n const interestData = interests.find(\r\n (item) => item.id === interest\r\n );\r\n return (\r\n <Badge\r\n className=\"bg-white text-gray-shade8\"\r\n key={interest}\r\n label={interestData?.name ?? \"\"}\r\n onRemove={() => onRemoveInterest(interestData?.id ?? \"\")}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n\r\n <DescriptionInput\r\n maxLength={120}\r\n value={watch(\"description\")}\r\n onChange={onChangeDescription}\r\n textAreaClassName=\"bg-white\"\r\n label={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.description\"\r\n )}\r\n />\r\n\r\n <div className=\"w-full flex-col lg:flex-row mt-4 flex items-center gap-4\">\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"button\"\r\n onClick={onClose}\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.button.back\"\r\n )}\r\n </button>\r\n\r\n <button\r\n disabled={isCreatingWorkspace}\r\n type=\"submit\"\r\n className=\"flex-1 py-3 border w-full lg:w-auto border-primary text-white bg-primary font-bold lg:py-4\"\r\n >\r\n {packageDictionary(\r\n locale as TLocale,\r\n workspace?.id\r\n ? \"component.workspace.panel.modal.edit.button.save\"\r\n : \"component.workspace.panel.modal.form.button.create\"\r\n )}\r\n </button>\r\n </div>\r\n </form>\r\n </motion.div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Modal } from \"../../../../../../components/shared/modal\";\r\nimport { AddWorkspaceDone } from \"./components/AddWorkspaceDone/AddWorkspaceDone\";\r\nimport { useAddWorkspaceStore } from \"./store/add-workspace.store\";\r\nimport { AddWorkspaceForm } from \"./components/AddWorkspaceForm/AddWorkspaceForm\";\r\n\r\nexport function AddWorkspaceModal({ onClose }: { onClose: () => void }) {\r\n const { step, setStep, setWorkspace } = useAddWorkspaceStore();\r\n\r\n const handleClose = () => {\r\n setStep(\"form\");\r\n onClose();\r\n setWorkspace(undefined);\r\n };\r\n\r\n return (\r\n <Modal\r\n closeOnClickOutside={false}\r\n disableFullScreen\r\n hideCloseButton\r\n isOpen\r\n className=\"bg-gradient-to-b z-[101] !p-8 from-[#DEF3FF] to-[#FCFEFF] max-w-[26rem] lg:max-w-[31.25rem] w-full lg:min-w-[31.25rem]\"\r\n onClose={handleClose}\r\n >\r\n {step !== \"success\" && <AddWorkspaceForm onClose={handleClose} />}\r\n {step === \"success\" && <AddWorkspaceDone onClose={handleClose} />}\r\n </Modal>\r\n );\r\n}\r\n","import { packageDictionary } from \"../../../../../../locales/utils\";\r\nimport { EditIcon } from \"../../../../../../assets/icons/edit-icon\";\r\nimport { useMirantesFoundation } from \"../../../../../../context/useMirantesFoundation\";\r\nimport React, { RefObject } from \"react\";\r\nimport { TLocale } from \"../../../../../../context/types\";\r\nimport { DeleteIcon } from \"../../../../../../assets/icons/delete-icon\";\r\nimport { Palette } from \"../../../../../../styles/palette.const\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { ConfirmModal } from \"../../../../../../components/shared/modal/confirm-modal\";\r\nimport { useApiDeleteWorkspace } from \"../../../../../fromMirantes/WorkspacePanel/api/use-api-delete-workspace\";\r\nimport { WorkspaceProps } from \"../../../../../../types/workspace.types\";\r\nimport { useToast } from \"../../../../../../components/shared/toasts/toasts\";\r\nimport { AlertIllustration } from \"../../../../../../assets/illustrations/AlertIllustration\";\r\nimport { useAddWorkspaceStore } from \"../AddWorkspaceModal/store/add-workspace.store\";\r\nimport { AddWorkspaceModal } from \"../AddWorkspaceModal/AddWorkspaceModal\";\r\nexport function WorkspaceBarItemOptions({\r\n isOpen,\r\n ref,\r\n workspace,\r\n}: {\r\n isOpen: boolean;\r\n ref: RefObject<HTMLDivElement>;\r\n workspace?: WorkspaceProps;\r\n}) {\r\n const { setWorkspace } = useAddWorkspaceStore();\r\n const { successToast, errorToast } = useToast();\r\n const { widgetsApi, user } = useMirantesFoundation();\r\n const { deleteWorkspace, isDeletingWorkspace } = useApiDeleteWorkspace();\r\n const { locale } = useMirantesFoundation();\r\n const {\r\n isOpen: isOpenDelete,\r\n onOpen: onOpenDelete,\r\n onClose: onCloseDelete,\r\n } = useOpen();\r\n\r\n const {\r\n isOpen: isOpenEdit,\r\n onOpen: onOpenEdit,\r\n onClose: onCloseEdit,\r\n } = useOpen();\r\n\r\n const handleDeleteWorkspace = () => {\r\n deleteWorkspace(\r\n {\r\n accessToken: user?.accessToken as string,\r\n apiUrl: widgetsApi,\r\n id: workspace?.id as string,\r\n },\r\n {\r\n onSuccess() {\r\n successToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.success.description\"\r\n ),\r\n });\r\n },\r\n onError() {\r\n errorToast({\r\n title: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.title\"\r\n ),\r\n message: packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.toats.error.description\"\r\n ),\r\n });\r\n },\r\n }\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n <div\r\n ref={ref}\r\n className=\"p-2 min-w-[166px] absolute z-20 right-0 shadow-dark-1/10 rounded-2xl bg-white shadow-lg\"\r\n >\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (workspace) {\r\n onOpenEdit();\r\n setWorkspace(workspace);\r\n }\r\n }}\r\n className=\"flex items-center px-2 font-medium text-gray-shade8 justify-start w-full hover:bg-primary/10 py-2 gap-x-4\"\r\n >\r\n <EditIcon />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.edit\"\r\n )}\r\n </button>\r\n\r\n <button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n onOpenDelete();\r\n }}\r\n className=\"flex items-center px-2 font-medium text-red-shade6 justify-start w-full hover:bg-red-shade6/10 py-2 gap-x-4\"\r\n >\r\n <DeleteIcon color={Palette.red.shade6} />\r\n {packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete\"\r\n )}\r\n </button>\r\n </div>\r\n )}\r\n\r\n {isOpenDelete && (\r\n <ConfirmModal\r\n isOpen\r\n isLoading={isDeletingWorkspace}\r\n onClose={onCloseDelete}\r\n onConfirm={handleDeleteWorkspace}\r\n title={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.title\"\r\n )}\r\n description={packageDictionary(\r\n locale as TLocale,\r\n \"component.workspace.panel.modal.form.options.delete.confirm.description\"\r\n )}\r\n illustration={<AlertIllustration />}\r\n />\r\n )}\r\n\r\n {isOpenEdit && <AddWorkspaceModal onClose={onCloseEdit} />}\r\n </>\r\n );\r\n}\r\n","import { cn } from \"../../../../../../lib/utils\";\r\nimport React, { RefObject, useRef } from \"react\";\r\nimport { Tooltip } from \"../../../../../../components/shared/tooltip/tooltip\";\r\nimport { useOpen } from \"../../../../../fromMirantes/hooks/use-open\";\r\nimport { useOutsideClick } from \"../../../../../fromMirantes/hooks/use-outside-click\";\r\nimport { WorkspaceBarItemOptions } from \"./WorkspaceBarItemOptions\";\r\nimport { WorkspaceProps } from \"@/types/workspace.types\";\r\n\r\ntype WorkspaceBarItemProps = {\r\n icon: React.ReactNode;\r\n label: string;\r\n description?: string;\r\n href: string;\r\n disabled?: boolean;\r\n active?: boolean;\r\n isCurrent?: boolean;\r\n workspace?: WorkspaceProps;\r\n};\r\n\r\nexport function WorkspaceBarItem({\r\n icon,\r\n label,\r\n href,\r\n disabled,\r\n active,\r\n isCurrent,\r\n description,\r\n workspace,\r\n}: WorkspaceBarItemProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { onOpen, onClose, isOpen } = useOpen();\r\n useOutsideClick(ref as RefObject<HTMLElement>, onClose);\r\n\r\n const handleClick = () => {\r\n if (isCurrent) {\r\n onOpen();\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n return;\r\n }\r\n window.location.href = href;\r\n };\r\n\r\n const handleRightClick = (e: React.MouseEvent<HTMLDivElement>) => {\r\n e.preventDefault();\r\n onOpen();\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"col-span-1 flex relative hover:bg-primary/5 transition-all items-center justify-center gap-x-4\",\r\n isCurrent && \"bg-primary/5\"\r\n )}\r\n role=\"button\"\r\n onContextMenu={handleRightClick}\r\n >\r\n <div onClick={handleClick} className=\"w-full h-full\">\r\n <Tooltip className=\"bg-white -top-20\" content={description}>\r\n <div\r\n className={cn(\r\n \"w-8 md:w-12 h-8 lg:h-12 flex bg-primary/10 items-center justify-center rounded-full\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"w-5 h-5 flex items-center justify-center md:w-6 md:h-6 lg:w-8 lg:h-8\",\r\n !active && \"grayscale\"\r\n )}\r\n >\r\n {icon}\r\n </div>\r\n </div>\r\n\r\n <span\r\n className={cn(\r\n \"text-body-md hidden lg:block font-medium text-gray-shade8\",\r\n isCurrent && \"text-primary font-bold\"\r\n )}\r\n >\r\n {label}\r\n </span>\r\n </Tooltip>\r\n </div>\r\n\r\n <WorkspaceBarItemOptions\r\n workspace={workspace}\r\n ref={ref as RefObject<HTMLDivElement>}\r\n isOpen={isOpen}\r\n />\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ExploreIcon } from \"../../../../../assets/icons/ExploreIcon\";\r\n// import { AddWorkspaceIcon } from \"../../../../../assets/icons/workspaces-panel/AddWorkspaceIcon\";\r\nimport { WorkspaceBarItem } from \"../WorkspacePanelBar/WorkspaceItems/WorkspaceBarItem\";\r\nimport { WorkFeedIcon } from \"../../../../../assets/icons/WorkFeedIcon\";\r\nimport { BriefcaseIcon } from \"../../../../../assets/icons/BriefcaseIcon\";\r\nimport { useApiGetWorkspaces } from \"../../api/use-api-get-workspaces\";\r\nimport { useMirantesFoundation } from \"../../../../../context/useMirantesFoundation\";\r\nimport { Palette } from \"../../../../../styles/palette.const\";\r\nimport { AddWorkspaceButton } from \"../WorkspacePanelBar/AddWorkspaceButton/AddWorkspaceButton\";\r\n\r\nexport default function MobileWorkspaceBar() {\r\n const { user } = useMirantesFoundation();\r\n const { workspaces, isGetWorkspacesLoading } = useApiGetWorkspaces({\r\n filter: {\r\n name: \"\",\r\n userId: user?.id as string,\r\n },\r\n perPage: 2,\r\n sort: \"createdAt\",\r\n sortDir: \"desc\",\r\n });\r\n\r\n return (\r\n <div className=\"w-full z-[100] flex divide-x divide-border lg:hidden bg-white h-[64px] rounded-2xl max-w-[349px] fixed bottom-16 left-1/2 -translate-x-1/2\">\r\n <div className=\"flex-1 h-full rounded-l-2xl divide-x divide-border overflow-hidden grid grid-cols-3 lg:grid-cols-4\">\r\n <WorkspaceBarItem\r\n active\r\n icon={WorkFeedIcon}\r\n label=\"Feed\"\r\n href=\"/feed\"\r\n isCurrent\r\n />\r\n\r\n {workspaces\r\n ?.slice(0, 2)\r\n ?.map((workspace) => (\r\n <WorkspaceBarItem\r\n active\r\n key={workspace.id}\r\n icon={\r\n workspace?.icon ? (\r\n <span className=\"text-lg\">{workspace?.icon}</span>\r\n ) : (\r\n <BriefcaseIcon color={Palette.blue.shade1} />\r\n )\r\n }\r\n label={workspace.name}\r\n href={`/workspace/${workspace.id}`}\r\n />\r\n ))}\r\n </div>\r\n <div className=\"flex items-center gap-x-6 px-5\">\r\n <button className=\"scale-125\">\r\n <ExploreIcon />\r\n </button>\r\n\r\n <AddWorkspaceButton />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport MobileWorkspaceBar from \"./components/MobileWorspaceBar/MobileWorkspaceBar\";\r\nimport { DesktopWorkspaceBar } from \"./components/DesktopWorkspaceBar/DesktopWorkspaceBar\";\r\nimport { useMobile } from \"../../../hooks/useMobile\";\r\n\r\nexport default function WorkspacePanel() {\r\n const { isMobile } = useMobile();\r\n\r\n return <>{isMobile ? <MobileWorkspaceBar /> : <DesktopWorkspaceBar />}</>;\r\n}\r\n"]}
|