{"version":3,"file":"static/chunks/3154-7a3cdbcccbeccd34.js","mappings":"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","sources":["webpack://_N_E/./src/components/base/combo-box.tsx","webpack://_N_E/./src/components/common/buttons/copy-isin-button/copy-isin-button.tsx","webpack://_N_E/./src/components/common/buttons/innvest-button/invest-button.tsx","webpack://_N_E/./src/components/common/buttons/watchlist-button/components/watchlist-button-itself.tsx","webpack://_N_E/./src/components/common/buttons/watchlist-button/components/watchlist-toggle.tsx","webpack://_N_E/./src/components/common/buttons/watchlist-button/watchlist-button.tsx","webpack://_N_E/./src/components/common/rich-text/comment-rich-text.tsx","webpack://_N_E/./src/components/common/expandable-text.tsx","webpack://_N_E/./src/components/common/ranking/ranking.tsx","webpack://_N_E/./src/components/common/rich-text/use-comment-rich-text.tsx","webpack://_N_E/./src/components/icons/play.tsx","webpack://_N_E/./src/components/modals/wf-alert-dialog/wf-alert-dialog.tsx","webpack://_N_E/./src/hooks/use-element-first-seen.ts","webpack://_N_E/./src/stores/uderlying-follow-store.ts","webpack://_N_E/./src/stores/wikifolio-store.ts","webpack://_N_E/./src/utils/type-utils.ts","webpack://_N_E/"],"sourcesContent":["import { Children, cloneElement, JSXElementConstructor, ReactElement, ReactNode, useEffect, useState } from \"react\";\nimport { MenuItemProps, Menu, MenuProps, MenuButton, MenuItem, MenuList, MenuListProps, useMultiStyleConfig, BoxProps, Box } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { IconCaret } from \"src/components/icons\";\nimport { SpanFlex } from \".\";\n\n// Dev-Note: we need to use object here so that we support interface types\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype PossibleValueTypes = string | number | object;\n\ninterface IComboBoxItemProps extends Omit {\n value: ValueType;\n onClick?: () => void;\n}\n\ntype IComboBoxItem = ReactElement<\n IComboBoxItemProps,\n JSXElementConstructor>\n>;\n\nexport const ComboBoxItem = ({ value, onClick, ...menuItemProps }: IComboBoxItemProps) => {\n return ;\n};\n\ninterface IComboBoxProps extends Omit {\n placeholder?: ReactNode;\n value: ValueType | null;\n onChange?: (value: ValueType, label: ReactNode) => void;\n children: IComboBoxItem[];\n isDisabled?: boolean;\n menuListProps?: MenuListProps;\n inputBoxProps?: BoxProps;\n dataTestId?: string;\n}\n\nexport const ComboBox = ({\n placeholder,\n value,\n size,\n onChange,\n children,\n isDisabled = false,\n menuListProps,\n inputBoxProps = {},\n dataTestId,\n ...props\n}: IComboBoxProps) => {\n const { field: inputStyle } = useMultiStyleConfig(\"Input\", { size });\n const [label, setLabel] = useState(null);\n const { t } = useTranslation(\"common\");\n\n // if the value changes we need to update the label accordingly\n useEffect(() => {\n if (value === 0 || value) {\n const label = children.find(child => JSON.stringify(child.props.value) === JSON.stringify(value));\n setLabel(label ? label.props.children : null);\n } else {\n setLabel(null);\n }\n }, [children, value]);\n\n const showPlaceholder = value === null;\n\n return (\n \n \n {({ isOpen }) => (\n <>\n \n \n {showPlaceholder ? placeholder || t(\"choose\") : label}\n \n \n \n \n \n \n {Children.map>(children, child => {\n return cloneElement(child, {\n onClick: onChange ? () => onChange(child.props.value, child.props.children) : undefined,\n });\n })}\n \n \n )}\n \n \n );\n};\n","import { MouseEvent, ReactNode } from \"react\";\nimport { useClipboard } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { useCustomActivityMutation } from \"src/api/client/custom-activity.api\";\nimport { Button, ButtonProps } from \"src/components/base/button\";\nimport { useWfToast, EnumToastStatus } from \"src/hooks/use-wf-toast\";\n\ninterface ICopyIsinButtonProps extends ButtonProps {\n isin: string;\n children?: ReactNode;\n}\n\nexport const CopyIsinButton = ({ isin, onClick, children, ...buttonProps }: ICopyIsinButtonProps) => {\n const { t } = useTranslation(\"common\");\n const { onCopy } = useClipboard(isin);\n const toast = useWfToast();\n const createCustomActivity = useCustomActivityMutation();\n\n const handleOnClick = (event: MouseEvent) => {\n onCopy();\n toast({ status: EnumToastStatus.Info, title: t(\"copy-isin-success\") });\n onClick?.(event);\n createCustomActivity({ activity: \"CopiedIsin\", value: isin });\n };\n\n return (\n \n );\n};\n","import { MouseEvent } from \"react\";\nimport { useBoolean, useDisclosure } from \"@chakra-ui/react\";\nimport dynamic from \"next/dynamic\";\nimport { useTranslation } from \"next-i18next\";\nimport { useCustomActivityMutation } from \"src/api/client/custom-activity.api\";\nimport { EnumActivityType, useGenericActivityMutation } from \"src/api/client/generic-activity.api\";\nimport { Button, ButtonProps } from \"src/components/base/button\";\nimport { IInvestNowModalProps } from \"src/components/modals/invest-now-modal/invest-now-modal\";\n\ninterface IInvestButtonProps extends ButtonProps {\n wikifolioId: string;\n isin: string;\n wikifolioSecurityId?: string;\n}\n\nconst InvestNowModal = dynamic(\n () => import(\"src/components/modals/invest-now-modal/invest-now-modal\").then(component => component.InvestNowModal),\n {\n ssr: false,\n }\n);\n\nexport const InvestButton = ({ isin, wikifolioId, wikifolioSecurityId, onClick, children, ...buttonProps }: IInvestButtonProps) => {\n const { t } = useTranslation(\"common\");\n const modalDisclosure = useDisclosure();\n const [isLoading, setLoading] = useBoolean();\n const createCustomActivity = useCustomActivityMutation();\n const genericActivity = useGenericActivityMutation();\n\n const handleOnClick = (event: MouseEvent) => {\n setLoading.on();\n modalDisclosure.onOpen();\n onClick?.(event);\n };\n\n return (\n <>\n \n {children || t(\"invest\")}\n \n\n {modalDisclosure.isOpen && (\n {\n createCustomActivity({ activity: \"InvestClicked\", value: isin });\n genericActivity({\n activityTypeId: EnumActivityType.InvestButtonPressed,\n parameter: `wikifolioId=${wikifolioId}`,\n });\n }}\n onRequestSettled={setLoading.off}\n {...modalDisclosure}\n />\n )}\n \n );\n};\n","// TODO: https://wikifolio.atlassian.net/browse/WIKI-35898\n// eslint-disable-next-line no-restricted-imports\nimport { Box, BoxProps, Button, ButtonProps } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { IconFilledStar, IconOutlineStar } from \"src/components/icons\";\n\ninterface IWatchlistButtonItselfProps extends ButtonProps {\n wikifolioShortDescription: string;\n isOnWatchlist?: boolean;\n omitTitle?: boolean;\n titleBoxProps?: BoxProps;\n}\n\nexport const WatchlistButtonItself = ({\n wikifolioShortDescription,\n isOnWatchlist,\n omitTitle,\n titleBoxProps,\n ...buttonProps\n}: IWatchlistButtonItselfProps) => {\n const { size } = buttonProps;\n const IconStar = isOnWatchlist ? IconFilledStar : IconOutlineStar;\n const { t } = useTranslation(\"common\");\n const text = isOnWatchlist ? t(\"remove\") : t(\"watchlist\");\n\n return (\n }\n variant=\"outline\"\n data-gtm-wikifolio-short-description={wikifolioShortDescription}\n className={isOnWatchlist ? undefined : \"gtm-watchlist__add\"}\n aria-label={t(\"watchlist\")}\n {...buttonProps}\n >\n {!omitTitle && {text}}\n \n );\n};\n","// eslint-disable-next-line no-restricted-imports\nimport { ButtonProps, useDisclosure } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { IErrorResponse } from \"src/api/client/types\";\nimport { useAddWatchlistWikifoliosMutation, useRemoveWatchlistWikifoliosMutation } from \"src/api/client/watchlist.api\";\nimport { WfAlertDialog } from \"src/components/modals/wf-alert-dialog/wf-alert-dialog\";\nimport { useLinkBuilder } from \"src/hooks/use-link-builder\";\nimport { useWfToast, EnumToastStatus } from \"src/hooks/use-wf-toast\";\nimport { useUserStore } from \"src/stores/user-store\";\n\ninterface IButtonChildrenProps extends ButtonProps {\n isOnWatchlist?: boolean;\n}\n\ninterface IWatchlistToggleProps extends Omit {\n wikifolioId: string;\n wikifolioShortDescription: string;\n setOnWatchlist: (wikifolioId: string, isOnWatchlist: boolean) => void;\n children: (props: IButtonChildrenProps) => React.ReactNode;\n isOnWatchlist?: boolean;\n addedToWatchlistMessage?: string;\n removedFromWatchlistMessage?: string;\n}\n\nexport const WatchlistToggle = ({\n wikifolioId,\n wikifolioShortDescription,\n isOnWatchlist,\n addedToWatchlistMessage,\n removedFromWatchlistMessage,\n setOnWatchlist,\n children,\n}: IWatchlistToggleProps) => {\n const { t } = useTranslation(\"common\");\n const { openLoginModal } = useLinkBuilder();\n const { isLoggedIn } = useUserStore();\n const removeDialog = useDisclosure();\n const toast = useWfToast();\n\n const onError = (error: IErrorResponse) => {\n toast({\n status: EnumToastStatus.Error,\n title: error?.message || t(\"general-error\"),\n });\n };\n\n const { mutatePromise: add, isLoading: isLoadingAdd } = useAddWatchlistWikifoliosMutation(wikifolioId, {\n onSuccess: () => {\n toast({ status: EnumToastStatus.Success, title: addedToWatchlistMessage ?? t(\"add-wikifolio-success\") });\n setOnWatchlist(wikifolioId, true);\n },\n onError,\n });\n\n const { mutatePromise: remove, isLoading: isLoadingRemove } = useRemoveWatchlistWikifoliosMutation(wikifolioId, {\n onSuccess: () => {\n toast({ status: EnumToastStatus.Success, title: removedFromWatchlistMessage ?? t(\"remove-wikifolio-success\") });\n setOnWatchlist(wikifolioId, false);\n },\n onError,\n });\n\n const handleOnAdd = async () => {\n if (!isLoggedIn) {\n openLoginModal();\n return;\n }\n\n if (isOnWatchlist) {\n removeDialog.onOpen();\n } else {\n add({});\n }\n };\n\n const handleRemove = () => {\n removeDialog.onClose();\n remove();\n };\n\n const isLoading = isLoadingAdd || isLoadingRemove;\n\n return (\n <>\n {children({ isLoading, onClick: handleOnAdd })}\n\n \n \n );\n};\n","/* eslint-disable no-restricted-imports */\nimport { BoxProps, ButtonProps } from \"@chakra-ui/react\";\nimport { WatchlistButtonItself } from \"./components/watchlist-button-itself\";\nimport { WatchlistToggle } from \"./components/watchlist-toggle\";\n\ninterface IWatchlistButtonProps extends Omit {\n wikifolioId: string;\n wikifolioShortDescription: string;\n isOnWatchlist?: boolean;\n omitTitle?: boolean;\n addedToWatchlistMessage?: string;\n removedFromWatchlistMessage?: string;\n titleBoxProps?: BoxProps;\n setOnWatchlist: (wikifolioId: string, isOnWatchlist: boolean) => void;\n}\n\nexport const WatchlistButton = ({\n wikifolioId,\n wikifolioShortDescription,\n isOnWatchlist,\n omitTitle = false,\n addedToWatchlistMessage,\n removedFromWatchlistMessage,\n setOnWatchlist,\n titleBoxProps,\n ...buttonProps\n}: IWatchlistButtonProps) => (\n <>\n \n {({ isLoading, onClick }) => (\n \n )}\n \n \n);\n","import { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { useCommentRichText } from \"src/components/common/rich-text/use-comment-rich-text\";\n\n// xl is the biggest font-size for text-content\ntype IFontSizeKeys = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type ICommentRichTextFontSize = IFontSizeKeys | IFontSizeKeys[];\n\nexport interface ICommentRichTextProps extends Omit {\n text: string;\n fontSize?: ICommentRichTextFontSize;\n}\n\nexport const CommentRichText = forwardRef(({ text, fontSize, ...boxProps }: ICommentRichTextProps, ref) => {\n const sx = useCommentRichText();\n\n // Dev-Note: uncomment when we want to use Next.js agnostic links\n // useNextLink(ref);\n\n return ;\n});\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { Box, BoxProps, forwardRef, Text, useBoolean } from \"@chakra-ui/react\";\nimport debounce from \"lodash.debounce\";\nimport { useTranslation } from \"next-i18next\";\nimport { SimpleRichText } from \"src/components/common/rich-text/simple-rich-text\";\nimport { useElementFirstSeen } from \"src/hooks/use-element-first-seen\";\nimport { SpanBox } from \"../base\";\nimport { CommentRichText } from \"./rich-text/comment-rich-text\";\n\nconst WAIT_FOR_CHECK_MILLISECONDS = 350;\nconst DEBOUNCE_OPTION = { leading: false };\nconst EXPANDABLE_TEXT_EXPAND_TEST_ID = \"expandable-text-expand\";\n\ninterface IFormattedTextProps extends Omit {\n formattingType: \"plainText\" | \"userHtml\" | \"umbracoHtml\";\n text: string;\n}\nconst FormattedText = forwardRef(({ formattingType, text, ...props }: IFormattedTextProps, ref) => {\n switch (formattingType) {\n case \"plainText\":\n return (\n \n {text}\n \n );\n case \"umbracoHtml\":\n return ;\n case \"userHtml\":\n return ;\n }\n});\n\nexport interface IExpandableTextProps extends BoxProps {\n text: string;\n formattingType: \"plainText\" | \"userHtml\" | \"umbracoHtml\";\n textProps?: Omit;\n noOfLines?: number;\n canCalculateHeight?: boolean;\n}\n\nexport const ExpandableText = ({ text, noOfLines = 4, formattingType, textProps, canCalculateHeight = true, ...boxProps }: IExpandableTextProps) => {\n const { t } = useTranslation(\"common\");\n\n const [isExpanded, setExpanded] = useBoolean(false);\n const [isTextExpandable, setTextExpandable] = useState(false);\n const [commentHeight, setCommentHeight] = useState(\"unset\");\n const ref = useRef(null);\n\n useEffect(() => {\n if (!ref.current || !canCalculateHeight) {\n return;\n }\n const commentHeight = `${parseInt(getComputedStyle(ref.current).lineHeight) * noOfLines}px`;\n setCommentHeight(commentHeight);\n }, [ref, noOfLines, canCalculateHeight]);\n\n const checkIsTextExpandable = useCallback(() => {\n if (!ref.current) return;\n\n setTextExpandable(ref.current!.scrollHeight > ref.current!.clientHeight);\n }, [ref]);\n const checkIsTextExpandableDebounced = useCallback(\n () => debounce(checkIsTextExpandable, WAIT_FOR_CHECK_MILLISECONDS, DEBOUNCE_OPTION),\n [checkIsTextExpandable]\n );\n\n useEffect(() => {\n checkIsTextExpandable(); // init check\n\n window.addEventListener(\"resize\", checkIsTextExpandableDebounced);\n\n return () => {\n window.removeEventListener(\"resize\", checkIsTextExpandableDebounced);\n };\n }, [checkIsTextExpandable, checkIsTextExpandableDebounced]);\n\n useElementFirstSeen(ref, () => {\n checkIsTextExpandable();\n });\n\n useEffect(() => {\n if (!isExpanded || !canCalculateHeight) {\n return;\n }\n\n // set the height to full content - in order to start the animation\n ref.current!.style.height = ref.current!.scrollHeight + \"px\";\n }, [isExpanded, canCalculateHeight]);\n\n const handleExpandClick = () => {\n // Set the height of the element to its current height - in order to be able to animate the height\n ref.current!.style.height = ref.current!.clientHeight + \"px\";\n setExpanded.on();\n };\n\n const handleTransitionEnd = () => {\n // Reset the hardcoded height after animation ended\n // So the height is dynamically again if the content layout changes\n ref.current!.style.height = \"\";\n };\n\n const heightAnimationProps = {\n overflow: \"hidden\",\n transition: \"height 0.3s\",\n noOfLines: isExpanded ? undefined : noOfLines,\n maxHeight: isExpanded ? \"100%\" : commentHeight,\n };\n\n return (\n \n \n {isTextExpandable && !isExpanded && (\n \n \n {t(\"read-more\")}\n \n \n )}\n \n );\n};\n","import { Box, BoxProps, Flex, FlexProps, HStack } from \"@chakra-ui/react\";\nimport { DescriptionDefinition, DescriptionTerm } from \"src/components/base\";\nimport { WfPopover, PopoverButtonIconInfo } from \"src/components/base/wf-popover\";\nimport { IFractionDigits } from \"src/hooks/formatters/number-formatter\";\nimport { ITooltip } from \"src/types/common\";\nimport { IRankingValueSize, RankingValue } from \"./ranking-value\";\nimport { IRankingData } from \"./types\";\n\nexport interface IRanking {\n size: IRankingValueSize;\n fractionDigits?: IFractionDigits;\n tooltip?: ITooltip | null;\n data: IRankingData;\n isDescriptionListItem?: boolean;\n hidePoints?: boolean;\n labelProps?: BoxProps;\n}\n\nexport interface IRankingProps extends IRanking, FlexProps {}\n\nexport const Ranking = ({ data, size, fractionDigits, tooltip, isDescriptionListItem, hidePoints, labelProps, ...flexProps }: IRankingProps) => {\n return (\n \n \n \n \n \n \n {data.label}\n \n {tooltip && (\n \n \n \n )}\n \n \n );\n};\n","import { SystemStyleObject, useStyleConfig } from \"@chakra-ui/react\";\n\nexport const useCommentRichText = (): SystemStyleObject => {\n const linkGray = useStyleConfig(\"Link\", { variant: \"underline\", colorScheme: \"gray\" });\n\n return {\n \"ul, ol\": {\n ml: [3, 5],\n },\n li: {\n my: 2,\n },\n a: linkGray,\n };\n};\n","import { Icon } from \"@chakra-ui/react\";\nimport { TIconComponent } from \"./icon-component.types\";\n\nexport const IconPlay: TIconComponent = props => (\n \n \n \n \n \n);\n","import { ReactElement, RefObject, useRef } from \"react\";\nimport { AlertDialog, AlertDialogOverlay, AlertDialogContent, AlertDialogHeader, AlertDialogBody, AlertDialogFooter, Stack } from \"@chakra-ui/react\";\nimport { useTranslation } from \"next-i18next\";\nimport { Button, ButtonProps } from \"src/components/base/button\";\n\nexport interface IWfAlertDialogProps {\n isOpen: boolean;\n onClose: () => void;\n onConfirm: () => void;\n confirmButtonText: string;\n cancelButtonText?: string;\n confirmButtonProps?: Omit;\n header: string;\n body: string | ReactElement;\n wikifolioShortDescription?: string;\n finalFocusRef?: RefObject;\n}\n\nexport const WfAlertDialog = ({\n onClose,\n onConfirm,\n isOpen,\n confirmButtonText,\n cancelButtonText,\n confirmButtonProps,\n header,\n body,\n wikifolioShortDescription,\n finalFocusRef,\n}: IWfAlertDialogProps) => {\n const { t } = useTranslation(\"common\");\n const cancelRef = useRef(null);\n\n if (!isOpen) {\n return null;\n }\n\n return (\n \n \n \n {header}\n {body}\n \n \n \n \n \n \n \n \n \n );\n};\n","import { RefObject, useEffect, useMemo } from \"react\";\nimport { isServerSide } from \"src/utils/common-util\";\n\nexport const useElementFirstSeen = (ref: RefObject, onSeenCallback?: () => void) => {\n const intersectionObserver = useMemo(() => {\n if (!isServerSide() && typeof IntersectionObserver !== \"undefined\") {\n return new IntersectionObserver(\n function (this: IntersectionObserver, entries) {\n if (entries && entries[0].isIntersecting) {\n onSeenCallback?.();\n this.disconnect();\n }\n },\n { threshold: 1.0 }\n );\n }\n }, [onSeenCallback]);\n\n useEffect(() => {\n if (intersectionObserver && ref && ref.current) {\n intersectionObserver.observe(ref.current);\n }\n }, [intersectionObserver, ref]);\n};\n","import { proxy, useSnapshot } from \"valtio\";\n\nexport type TIsinWithFollowData = {\n isin: string;\n isFollowed: boolean;\n canBeFollowed: boolean;\n};\n\nexport type TUnderlyingFollowStoreData = Record>;\n\nexport const underlyingFollowStore = proxy({\n underlyingsFollowData: {} as TUnderlyingFollowStoreData,\n\n setUnderlyingsFollowData(underlyingsFollowData: TUnderlyingFollowStoreData) {\n underlyingFollowStore.underlyingsFollowData = underlyingsFollowData;\n },\n\n setIsFollowedUnderlying(underlyingIsin: string, isFollowed: boolean) {\n underlyingFollowStore.underlyingsFollowData[underlyingIsin] = {\n ...underlyingFollowStore.underlyingsFollowData[underlyingIsin],\n isFollowed,\n };\n },\n\n setCanBeFollowedUnderlying(underlyingIsin: string, canBeFollowed: boolean) {\n underlyingFollowStore.underlyingsFollowData[underlyingIsin] = {\n ...underlyingFollowStore.underlyingsFollowData[underlyingIsin],\n canBeFollowed,\n };\n },\n\n get canBeFollowedUnderlyingIsins(): string[] {\n return Object.keys(underlyingFollowStore.underlyingsFollowData).filter(key => underlyingFollowStore.underlyingsFollowData[key].canBeFollowed);\n },\n\n get followedUnderlyingIsins(): string[] {\n return Object.keys(underlyingFollowStore.underlyingsFollowData).filter(key => underlyingFollowStore.underlyingsFollowData[key].isFollowed);\n },\n});\n\nexport function useUnderlyingFollowStore() {\n return useSnapshot(underlyingFollowStore);\n}\n","import { proxy, useSnapshot } from \"valtio\";\n\nexport const wikifolioStore = proxy({\n watchlist: {} as { [key: string]: boolean },\n\n setOnWatchlist(wikifolioId: string, isOnWatchlist: boolean) {\n wikifolioStore.watchlist[wikifolioId] = isOnWatchlist;\n },\n\n canBeFollowedWikifolios: {} as Record,\n\n setCanBeFollowedWikifolio(wikifolioId: string, canBeFollowed: boolean) {\n wikifolioStore.canBeFollowedWikifolios[wikifolioId] = canBeFollowed;\n },\n});\n\nexport function useWikifolioStore() {\n return useSnapshot(wikifolioStore);\n}\n","export const isNumber = (value: unknown): value is number => typeof value === \"number\";\n\nexport const isString = (value: unknown): value is string => typeof value === \"string\";\n"],"names":["ComboBoxItem","value","onClick","menuItemProps","param","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","MenuItem","ComboBox","placeholder","size","onChange","children","isDisabled","menuListProps","inputBoxProps","dataTestId","props","field","inputStyle","useMultiStyleConfig","label","setLabel","useState","t","useTranslation","useEffect","find","child","JSON","stringify","showPlaceholder","Box","data-test-id","Menu","isOpen","jsxs","Fragment","MenuButton","pos","disabled","sx","SpanFlex","align","color","undefined","pr","insetY","right","IconCaret","boxSize","transition","transform","MenuList","overflow","Children","cloneElement","CopyIsinButton","isin","buttonProps","onCopy","useClipboard","toast","useWfToast","createCustomActivity","useCustomActivityMutation","handleOnClick","status","EnumToastStatus","title","event","activity","Button","className","data-isin","InvestNowModal","dynamic","Promise","all","__webpack_require__","e","then","bind","component","ssr","InvestButton","wikifolioId","wikifolioSecurityId","modalDisclosure","useDisclosure","isLoading","setLoading","useBoolean","genericActivity","useGenericActivityMutation","on","onOpen","data-gtm-action","onRequestSuccess","activityTypeId","EnumActivityType","parameter","concat","onRequestSettled","off","WatchlistButtonItself","wikifolioShortDescription","isOnWatchlist","omitTitle","titleBoxProps","IconStar","IconFilledStar","IconOutlineStar","text","jsx_runtime","leftIcon","variant","data-gtm-wikifolio-short-description","aria-label","WatchlistToggle","addedToWatchlistMessage","removedFromWatchlistMessage","setOnWatchlist","openLoginModal","useLinkBuilder","isLoggedIn","useUserStore","removeDialog","onError","error","message","mutatePromise","add","isLoadingAdd","useAddWatchlistWikifoliosMutation","onSuccess","remove","isLoadingRemove","useRemoveWatchlistWikifoliosMutation","handleOnAdd","handleRemove","onClose","WfAlertDialog","onConfirm","confirmButtonText","confirmButtonProps","header","body","WatchlistButton","CommentRichText","forwardRef","ref","fontSize","boxProps","useCommentRichText","dangerouslySetInnerHTML","__html","DEBOUNCE_OPTION","leading","FormattedText","formattingType","Text","SimpleRichText","ExpandableText","noOfLines","textProps","canCalculateHeight","isExpanded","setExpanded","isTextExpandable","setTextExpandable","commentHeight","setCommentHeight","useRef","current","parseInt","getComputedStyle","lineHeight","checkIsTextExpandable","useCallback","scrollHeight","clientHeight","checkIsTextExpandableDebounced","debounce","window","addEventListener","removeEventListener","useElementFirstSeen","style","height","handleExpandClick","handleTransitionEnd","position","onTransitionEnd","maxHeight","bottom","w","textAlign","backgroundImage","SpanBox","role","px","bgColor","fontWeight","Ranking","data","fractionDigits","tooltip","isDescriptionListItem","hidePoints","labelProps","flexProps","Flex","flexDir","mx","as","DescriptionTerm","maxW","RankingValue","HStack","DescriptionDefinition","alignItems","spacing","wordBreak","WfPopover","PopoverButtonIconInfo","ariaLabel","linkGray","useStyleConfig","colorScheme","ml","li","my","a","IconPlay","Icon","viewBox","border","rounded","borderColor","g","fill","fillRule","path","d","cancelButtonText","finalFocusRef","cancelRef","AlertDialog","leastDestructiveRef","AlertDialogOverlay","AlertDialogContent","AlertDialogHeader","AlertDialogBody","AlertDialogFooter","Stack","direction","onSeenCallback","intersectionObserver","useMemo","isServerSide","IntersectionObserver","entries","isIntersecting","disconnect","threshold","observe","underlyingFollowStore","proxy","underlyingsFollowData","setUnderlyingsFollowData","setIsFollowedUnderlying","underlyingIsin","isFollowed","setCanBeFollowedUnderlying","canBeFollowed","canBeFollowedUnderlyingIsins","Object","keys","filter","key","followedUnderlyingIsins","useUnderlyingFollowStore","useSnapshot","wikifolioStore","watchlist","canBeFollowedWikifolios","setCanBeFollowedWikifolio","useWikifolioStore","isNumber"],"sourceRoot":""}