@bikdotai/bik-component-library 0.0.838 → 0.0.839-0
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/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/cjs/components/accordion/Accordion.js +1 -1
- package/dist/cjs/components/accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/add-variableV2/AddVariableV2.js +1 -1
- package/dist/cjs/components/add-variableV2/AddVariableV2.js.map +1 -1
- package/dist/cjs/components/alerts/Alert.js +1 -1
- package/dist/cjs/components/alerts/Alert.js.map +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.js +1 -1
- package/dist/cjs/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +66 -61
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/esm/components/accordion/Accordion.js +5 -4
- package/dist/esm/components/accordion/Accordion.js.map +1 -1
- package/dist/esm/components/add-variableV2/AddVariableV2.js +41 -39
- package/dist/esm/components/add-variableV2/AddVariableV2.js.map +1 -1
- package/dist/esm/components/alerts/Alert.js +1 -0
- package/dist/esm/components/alerts/Alert.js.map +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +51 -43
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.js +19 -17
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GiftedChat.js","sources":["../../../../../src/components/BikGiftedChat/GiftedChat/GiftedChat.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { Button } from '../../button';\nimport { BodySecondary } from '../../TypographyStyle';\nimport { BubbleProps, GiftedChatAppType } from '../Bubble/types';\nimport { IMessage } from '../types';\nimport { Day } from './Day';\nimport { getMessagePlacement, shouldCenterAlign } from './messageHelpers';\nimport {\n\tuseAutoScrollOnNewMessages,\n\tuseInitialMountScroll,\n\tuseResizeObserverForFirstMessage,\n\tuseRestoreScrollPosition,\n\tuseScrollCleanup,\n\tuseScrollHandler,\n\tuseScrollToBottom,\n} from './scrollHooks';\nimport { AvatarProps, GiftedChatProps, MESSAGE_CHANNELS } from './types';\nimport { isSameDay, normalizeRef } from './utils';\nimport { Constants, TOP_THRESHOLD } from './utils';\n\nconst COLLAPSED_MAX_HEIGHT = 204;\n\nconst CollapsibleBubbleText: React.FC<{\n\ttext: string;\n\tisExpanded: boolean;\n\tonToggle: () => void;\n}> = ({ text, isExpanded, onToggle }) => {\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflowing, setIsOverflowing] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst el = textRef.current;\n\t\tif (el) {\n\t\t\t// Temporarily remove max-height to measure true scroll height\n\t\t\tel.style.maxHeight = 'none';\n\t\t\tconst overflows = el.scrollHeight > COLLAPSED_MAX_HEIGHT;\n\t\t\tel.style.maxHeight = isExpanded ? 'none' : `${COLLAPSED_MAX_HEIGHT}px`;\n\t\t\tsetIsOverflowing(overflows);\n\t\t}\n\t}, [text, isExpanded]);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={textRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: isExpanded ? 'none' : COLLAPSED_MAX_HEIGHT,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<BodySecondary>{text}</BodySecondary>\n\t\t\t</div>\n\t\t\t{isOverflowing && (\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tbuttonText={isExpanded ? 'Show less' : 'Read more'}\n\t\t\t\t\tonClick={onToggle}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nconst GiftedChatInner = (\n\tprops: Omit<GiftedChatProps<IMessage>, 'ref'>,\n\tforwardedRef: React.Ref<HTMLDivElement>,\n) => {\n\tconst {\n\t\tmessages = [],\n\t\tuser,\n\t\trenderBubble,\n\t\trenderAvatar,\n\t\trenderDay,\n\t\trenderLoading,\n\t\trenderChatEmpty,\n\t\tlistViewProps = {},\n\t\trenderAvatarOnTop = false,\n\t\tshowUserAvatar = false,\n\t\tshowAvatarForEveryMessage = false,\n\t\tinverted = false,\n\t\tmessageIdGenerator,\n\t\ttopThreshold = TOP_THRESHOLD,\n\t\tappType = GiftedChatAppType.Bik,\n\t\tmaxHeight,\n\t\tisActivityMessage,\n\t\t...extraProps\n\t} = props || {};\n\n\tconst isMobile = useWindowSize();\n\n\tconst internalScrollRef = useRef<HTMLDivElement | null>(null);\n\tconst scrollRef = normalizeRef(\n\t\tlistViewProps.ref || forwardedRef,\n\t\tinternalScrollRef,\n\t);\n\n\tconst scrollState = useRef({\n\t\tisInitialMount: true,\n\t\tisUserScrolling: false,\n\t\tisLoadingOldMessages: false,\n\t\tisAtBottom: true,\n\t\thasTriggeredEndReached: false,\n\t\tlastMessagesLength: messages?.length ?? 0,\n\t\tpreviousScrollHeight: 0,\n\t\tpreviousScrollTop: 0,\n\t\tscrollTimeout: null,\n\t});\n\n\tconst [expandedMessages, setExpandedMessages] = useState<\n\t\tSet<string | number>\n\t>(new Set());\n\n\t// Reverse messages so newest appears last in DOM (natural reading order)\n\tconst reversedMessages = useMemo(() => {\n\t\tif (!messages || messages.length === 0) return [] as IMessage[];\n\t\treturn [...messages].reverse() as IMessage[];\n\t}, [messages]);\n\n\t// Group consecutive same-day messages so each day separator can stick\n\t// within its own section and get pushed out by the next day's separator.\n\tconst dayGroups = useMemo(() => {\n\t\tconst groups: { createdAt: IMessage['createdAt']; indices: number[] }[] =\n\t\t\t[];\n\t\treversedMessages.forEach((message, index) => {\n\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\tif (index === 0 || !isSameDay(message, previousMessage)) {\n\t\t\t\tgroups.push({ createdAt: message.createdAt, indices: [index] });\n\t\t\t} else {\n\t\t\t\tgroups[groups.length - 1].indices.push(index);\n\t\t\t}\n\t\t});\n\t\treturn groups;\n\t}, [reversedMessages]);\n\n\tconst scrollToBottom = useScrollToBottom(scrollRef, scrollState);\n\n\tuseImperativeHandle(forwardedRef, () => scrollRef.current!);\n\n\tuseInitialMountScroll(\n\t\tscrollRef,\n\t\tscrollState,\n\t\treversedMessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseScrollCleanup(scrollState);\n\n\tuseRestoreScrollPosition(scrollRef, scrollState, reversedMessages.length);\n\n\tuseAutoScrollOnNewMessages(\n\t\tscrollRef,\n\t\tscrollState,\n\t\tmessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseResizeObserverForFirstMessage(\n\t\tmessages?.[0],\n\t\tscrollState,\n\t\tscrollToBottom,\n\t\tmessageIdGenerator,\n\t);\n\n\tconst handleScroll = useScrollHandler(\n\t\tscrollState,\n\t\tlistViewProps.onEndReached,\n\t\tlistViewProps.onScroll,\n\t\ttopThreshold,\n\t);\n\n\t// Check if a message belongs to the current user\n\tconst isUserMessage = useCallback(\n\t\t(message: IMessage) => {\n\t\t\treturn Boolean(message && user && message.user?._id === user._id);\n\t\t},\n\t\t[user],\n\t);\n\n\t// Determine if avatar should be shown for this message\n\tconst shouldShowAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage) => {\n\t\t\tif (!showUserAvatar) return false;\n\t\t\tif (showAvatarForEveryMessage) return true;\n\n\t\t\t// Show avatar on the first message in a consecutive sender stack,\n\t\t\t// or when an activity interrupts the stack, or when the current message itself is an activity\n\t\t\treturn (\n\t\t\t\t!previousMessage ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(message) : false) ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(previousMessage) : false) ||\n\t\t\t\tpreviousMessage.user._id !== message.user._id\n\t\t\t);\n\t\t},\n\t\t[showUserAvatar, showAvatarForEveryMessage, isActivityMessage],\n\t);\n\n\t// Render a message bubble (or call custom renderBubble)\n\tconst renderMessageBubble = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\tconst isTopOfStack = previousMessage?.user?._id !== message?.user?._id;\n\t\t\tconst isBottomOfStack = nextMessage?.user?._id !== message?.user?._id;\n\n\t\t\tconst bubbleProps: BubbleProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\t...extraProps,\n\t\t\t};\n\n\t\t\t// Use custom render function if provided\n\t\t\tif (renderBubble) {\n\t\t\t\treturn renderBubble(bubbleProps);\n\t\t\t}\n\n\t\t\t// Default bubble rendering\n\t\t\tconst messageId = message._id;\n\t\t\tconst isExpanded = expandedMessages.has(messageId);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: appType === GiftedChatAppType.Manifest ? '50%' : '70%',\n\t\t\t\t\t\twidth: 'fit-content',\n\t\t\t\t\t\t...(appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t? { minWidth: '130px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\tpadding: '8px 12px',\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\t\tposition === 'right' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\t\tposition === 'right' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborder:\n\t\t\t\t\t\t\tposition === 'left' && appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? '1px solid rgb(224, 224, 224)'\n\t\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\tposition === 'right'\n\t\t\t\t\t\t\t\t? appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t? COLORS.background.brandTint\n\t\t\t\t\t\t\t\t\t: COLORS.background.brandLight\n\t\t\t\t\t\t\t\t: appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? COLORS.background.pureWhite\n\t\t\t\t\t\t\t\t: COLORS.background.inactive,\n\t\t\t\t\t\tcolor: COLORS.content.primary,\n\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CollapsibleBubbleText\n\t\t\t\t\t\ttext={message.text ?? ''}\n\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\tonToggle={() =>\n\t\t\t\t\t\t\tsetExpandedMessages((prev) => {\n\t\t\t\t\t\t\t\tconst next = new Set(prev);\n\t\t\t\t\t\t\t\tif (isExpanded) next.delete(messageId);\n\t\t\t\t\t\t\t\telse next.add(messageId);\n\t\t\t\t\t\t\t\treturn next;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\t[isUserMessage, user, renderBubble, extraProps, expandedMessages],\n\t);\n\n\t// Render a message avatar (or call custom renderAvatar)\n\tconst renderMessageAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst shouldShow = shouldShowAvatar(message, previousMessage);\n\n\t\t\tif (!shouldShow) return null;\n\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\n\t\t\tconst avatarProps: AvatarProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\trenderAvatarOnTop,\n\t\t\t\tshowUserAvatar,\n\t\t\t\tshowAvatarForEveryMessage,\n\t\t\t};\n\n\t\t\treturn renderAvatar ? renderAvatar(avatarProps) : null;\n\t\t},\n\t\t[\n\t\t\tshouldShowAvatar,\n\t\t\tisUserMessage,\n\t\t\tuser,\n\t\t\trenderAvatarOnTop,\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\trenderAvatar,\n\t\t],\n\t);\n\n\t// Render: Empty State\n\tif (!messages || messages.length === 0) {\n\t\treturn renderChatEmpty ? <>{renderChatEmpty()}</> : null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={scrollRef as React.RefObject<HTMLDivElement>}\n\t\t\tstyle={{\n\t\t\t\tflex: 1,\n\t\t\t\toverflowY: 'auto',\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\t...(maxHeight ? { maxHeight, height: maxHeight } : {}),\n\t\t\t\t...listViewProps.style,\n\t\t\t}}\n\t\t\tonScroll={handleScroll}\n\t\t>\n\t\t\t{/* Spacer to push messages to bottom (newest appears last in DOM) */}\n\t\t\t<div style={{ flex: '1 0 auto' }} />\n\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dayGroups.map((group, groupIndex) => (\n\t\t\t\t\t<div key={`day-group-${groupIndex}`}>\n\t\t\t\t\t\t{/* Day separator — sticks to top while this day scrolls past */}\n\t\t\t\t\t\t{renderDay ? (\n\t\t\t\t\t\t\t<div style={{ position: 'sticky', top: 0, zIndex: 2 }}>\n\t\t\t\t\t\t\t\t{renderDay({ createdAt: group.createdAt })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Day\n\t\t\t\t\t\t\t\tcreatedAt={group.createdAt}\n\t\t\t\t\t\t\t\tappType={appType}\n\t\t\t\t\t\t\t\tscrollRootRef={scrollRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{group.indices.map((index) => {\n\t\t\t\t\t\t\tconst message = reversedMessages[index];\n\t\t\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t\t\tconst position = isSmtp\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: isUserMessage(message)\n\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t: 'left';\n\t\t\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\t\t\tconst isActivity =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY && !isPrivateNote;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\tmessage._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isCentered\n\t\t\t\t\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t\t\t\t\t: { display: 'flex', alignItems: 'flex-start' }),\n\t\t\t\t\t\t\t\t\t\t\t...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t? !isMobile && position === 'right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8, marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && isPrivateNote ? { marginRight: 16 } : {}),\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t? // SMTP: flat 24px between mails, no same/different-user split.\n\t\t\t\t\t\t\t\t\t\t\t\t nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 24\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t\t\t\t\t\t\t: nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t? nextMessage?.user?._id === message?.user?._id\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 4\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 20\n\t\t\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t\t\t\t// Activity cards: no left/bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t...(isActivity ? { marginLeft: 0, marginBottom: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{/* Left avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid={`message-bubble-${\n\t\t\t\t\t\t\t\t\t\t\t\tmessage._id ??\n\t\t\t\t\t\t\t\t\t\t\t\t`${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isMobile || isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1, width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderMessageBubble(\n\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* Right avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'right' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\talignSelf: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef<HTMLDivElement, GiftedChatProps<IMessage>>(\n\tGiftedChatInner,\n);\n"],"names":["COLLAPSED_MAX_HEIGHT","CollapsibleBubbleText","text","isExpanded","onToggle","textRef","useRef","isOverflowing","setIsOverflowing","useState","useEffect","el","overflows","jsxs","Fragment","jsx","BodySecondary","Button","GiftedChatInner","props","forwardedRef","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","maxHeight","isActivityMessage","extraProps","isMobile","useWindowSize","internalScrollRef","scrollRef","normalizeRef","scrollState","expandedMessages","setExpandedMessages","reversedMessages","useMemo","dayGroups","groups","message","index","previousMessage","isSameDay","scrollToBottom","useScrollToBottom","useImperativeHandle","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","isUserMessage","useCallback","shouldShowAvatar","renderMessageBubble","nextMessage","position","isTopOfStack","isBottomOfStack","bubbleProps","messageId","COLORS","prev","next","renderMessageAvatar","group","groupIndex","Day","isSmtp","MESSAGE_CHANNELS","placement","getMessagePlacement","isCentered","shouldCenterAlign","isPrivateNote","Constants","isActivity","React","GiftedChat","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GiftedChat.js","sources":["../../../../../src/components/BikGiftedChat/GiftedChat/GiftedChat.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { Button } from '../../button';\nimport { BodySecondary } from '../../TypographyStyle';\nimport { BubbleProps, GiftedChatAppType } from '../Bubble/types';\nimport { IMessage } from '../types';\nimport { Day } from './Day';\nimport { getMessagePlacement, shouldCenterAlign } from './messageHelpers';\nimport {\n\tuseAutoScrollOnNewMessages,\n\tuseInitialMountScroll,\n\tuseResizeObserverForFirstMessage,\n\tuseRestoreScrollPosition,\n\tuseScrollCleanup,\n\tuseScrollHandler,\n\tuseScrollToBottom,\n} from './scrollHooks';\nimport { AvatarProps, GiftedChatProps, MESSAGE_CHANNELS } from './types';\nimport { isSameDay, normalizeRef } from './utils';\nimport { Constants, TOP_THRESHOLD } from './utils';\n\nconst COLLAPSED_MAX_HEIGHT = 204;\n\nconst CollapsibleBubbleText: React.FC<{\n\ttext: string;\n\tisExpanded: boolean;\n\tonToggle: () => void;\n}> = ({ text, isExpanded, onToggle }) => {\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflowing, setIsOverflowing] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst el = textRef.current;\n\t\tif (el) {\n\t\t\t// Temporarily remove max-height to measure true scroll height\n\t\t\tel.style.maxHeight = 'none';\n\t\t\tconst overflows = el.scrollHeight > COLLAPSED_MAX_HEIGHT;\n\t\t\tel.style.maxHeight = isExpanded ? 'none' : `${COLLAPSED_MAX_HEIGHT}px`;\n\t\t\tsetIsOverflowing(overflows);\n\t\t}\n\t}, [text, isExpanded]);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={textRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: isExpanded ? 'none' : COLLAPSED_MAX_HEIGHT,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<BodySecondary>{text}</BodySecondary>\n\t\t\t</div>\n\t\t\t{isOverflowing && (\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tbuttonText={isExpanded ? 'Show less' : 'Read more'}\n\t\t\t\t\tonClick={onToggle}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nconst GiftedChatInner = (\n\tprops: Omit<GiftedChatProps<IMessage>, 'ref'>,\n\tforwardedRef: React.Ref<HTMLDivElement>,\n) => {\n\tconst {\n\t\tmessages = [],\n\t\tuser,\n\t\trenderBubble,\n\t\trenderAvatar,\n\t\trenderDay,\n\t\trenderLoading,\n\t\trenderChatEmpty,\n\t\tlistViewProps = {},\n\t\trenderAvatarOnTop = false,\n\t\tshowUserAvatar = false,\n\t\tshowAvatarForEveryMessage = false,\n\t\tinverted = false,\n\t\tmessageIdGenerator,\n\t\ttopThreshold = TOP_THRESHOLD,\n\t\tappType = GiftedChatAppType.Bik,\n\t\tmaxHeight,\n\t\tisActivityMessage,\n\t\t...extraProps\n\t} = props || {};\n\n\tconst isMobile = useWindowSize();\n\n\tconst internalScrollRef = useRef<HTMLDivElement | null>(null);\n\tconst scrollRef = normalizeRef(\n\t\tlistViewProps.ref || forwardedRef,\n\t\tinternalScrollRef,\n\t);\n\n\tconst scrollState = useRef({\n\t\tisInitialMount: true,\n\t\tisUserScrolling: false,\n\t\tisLoadingOldMessages: false,\n\t\tisAtBottom: true,\n\t\thasTriggeredEndReached: false,\n\t\tlastMessagesLength: messages?.length ?? 0,\n\t\tpreviousScrollHeight: 0,\n\t\tpreviousScrollTop: 0,\n\t\tscrollTimeout: null,\n\t});\n\n\tconst [expandedMessages, setExpandedMessages] = useState<\n\t\tSet<string | number>\n\t>(new Set());\n\n\t// Reverse messages so newest appears last in DOM (natural reading order)\n\tconst reversedMessages = useMemo(() => {\n\t\tif (!messages || messages.length === 0) return [] as IMessage[];\n\t\treturn [...messages].reverse() as IMessage[];\n\t}, [messages]);\n\n\t// Group consecutive same-day messages so each day separator can stick\n\t// within its own section and get pushed out by the next day's separator.\n\tconst dayGroups = useMemo(() => {\n\t\tconst groups: { createdAt: IMessage['createdAt']; indices: number[] }[] =\n\t\t\t[];\n\t\treversedMessages.forEach((message, index) => {\n\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\tif (index === 0 || !isSameDay(message, previousMessage)) {\n\t\t\t\tgroups.push({ createdAt: message.createdAt, indices: [index] });\n\t\t\t} else {\n\t\t\t\tgroups[groups.length - 1].indices.push(index);\n\t\t\t}\n\t\t});\n\t\treturn groups;\n\t}, [reversedMessages]);\n\n\tconst scrollToBottom = useScrollToBottom(scrollRef, scrollState);\n\n\tuseImperativeHandle(forwardedRef, () => scrollRef.current!);\n\n\tuseInitialMountScroll(\n\t\tscrollRef,\n\t\tscrollState,\n\t\treversedMessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseScrollCleanup(scrollState);\n\n\tuseRestoreScrollPosition(scrollRef, scrollState, reversedMessages.length);\n\n\tuseAutoScrollOnNewMessages(\n\t\tscrollRef,\n\t\tscrollState,\n\t\tmessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseResizeObserverForFirstMessage(\n\t\tmessages?.[0],\n\t\tscrollState,\n\t\tscrollToBottom,\n\t\tmessageIdGenerator,\n\t);\n\n\tconst handleScroll = useScrollHandler(\n\t\tscrollState,\n\t\tlistViewProps.onEndReached,\n\t\tlistViewProps.onScroll,\n\t\ttopThreshold,\n\t);\n\n\t// Check if a message belongs to the current user\n\tconst isUserMessage = useCallback(\n\t\t(message: IMessage) => {\n\t\t\treturn Boolean(message && user && message.user?._id === user._id);\n\t\t},\n\t\t[user],\n\t);\n\n\t// Determine if avatar should be shown for this message\n\tconst shouldShowAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage) => {\n\t\t\tif (!showUserAvatar) return false;\n\t\t\tif (showAvatarForEveryMessage) return true;\n\n\t\t\tif (isUserMessage(message)) return true;\n\n\t\t\t// Show avatar on the first message in a consecutive sender stack,\n\t\t\t// or when an activity interrupts the stack, or when the current message itself is an activity\n\t\t\treturn (\n\t\t\t\t!previousMessage ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(message) : false) ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(previousMessage) : false) ||\n\t\t\t\tpreviousMessage.user._id !== message.user._id\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\tisActivityMessage,\n\t\t\tisUserMessage,\n\t\t],\n\t);\n\n\t// Render a message bubble (or call custom renderBubble)\n\tconst renderMessageBubble = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\tconst isTopOfStack = previousMessage?.user?._id !== message?.user?._id;\n\t\t\tconst isBottomOfStack = nextMessage?.user?._id !== message?.user?._id;\n\n\t\t\tconst bubbleProps: BubbleProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\t...extraProps,\n\t\t\t};\n\n\t\t\t// Use custom render function if provided\n\t\t\tif (renderBubble) {\n\t\t\t\treturn renderBubble(bubbleProps);\n\t\t\t}\n\n\t\t\t// Default bubble rendering\n\t\t\tconst messageId = message._id;\n\t\t\tconst isExpanded = expandedMessages.has(messageId);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: appType === GiftedChatAppType.Manifest ? '50%' : '70%',\n\t\t\t\t\t\twidth: 'fit-content',\n\t\t\t\t\t\t...(appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t? { minWidth: '130px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\tpadding: '8px 12px',\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderTopRightRadius: 12,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomRightRadius: 12,\n\t\t\t\t\t\tborder:\n\t\t\t\t\t\t\tposition === 'left' && appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? '1px solid rgb(224, 224, 224)'\n\t\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\tposition === 'right'\n\t\t\t\t\t\t\t\t? appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t? COLORS.background.brandTint\n\t\t\t\t\t\t\t\t\t: COLORS.background.brandLight\n\t\t\t\t\t\t\t\t: appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? COLORS.background.pureWhite\n\t\t\t\t\t\t\t\t: COLORS.background.inactive,\n\t\t\t\t\t\tcolor: COLORS.content.primary,\n\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CollapsibleBubbleText\n\t\t\t\t\t\ttext={message.text ?? ''}\n\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\tonToggle={() =>\n\t\t\t\t\t\t\tsetExpandedMessages((prev) => {\n\t\t\t\t\t\t\t\tconst next = new Set(prev);\n\t\t\t\t\t\t\t\tif (isExpanded) next.delete(messageId);\n\t\t\t\t\t\t\t\telse next.add(messageId);\n\t\t\t\t\t\t\t\treturn next;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\t[isUserMessage, user, renderBubble, extraProps, expandedMessages],\n\t);\n\n\t// Render a message avatar (or call custom renderAvatar)\n\tconst renderMessageAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst shouldShow = shouldShowAvatar(message, previousMessage);\n\n\t\t\tif (!shouldShow) return null;\n\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\n\t\t\tconst avatarProps: AvatarProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\trenderAvatarOnTop,\n\t\t\t\tshowUserAvatar,\n\t\t\t\tshowAvatarForEveryMessage,\n\t\t\t};\n\n\t\t\treturn renderAvatar ? renderAvatar(avatarProps) : null;\n\t\t},\n\t\t[\n\t\t\tshouldShowAvatar,\n\t\t\tisUserMessage,\n\t\t\tuser,\n\t\t\trenderAvatarOnTop,\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\trenderAvatar,\n\t\t],\n\t);\n\n\t// Render: Empty State\n\tif (!messages || messages.length === 0) {\n\t\treturn renderChatEmpty ? <>{renderChatEmpty()}</> : null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={scrollRef as React.RefObject<HTMLDivElement>}\n\t\t\tstyle={{\n\t\t\t\tflex: 1,\n\t\t\t\toverflowY: 'auto',\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\t...(maxHeight ? { maxHeight, height: maxHeight } : {}),\n\t\t\t\t...listViewProps.style,\n\t\t\t}}\n\t\t\tonScroll={handleScroll}\n\t\t>\n\t\t\t{/* Spacer to push messages to bottom (newest appears last in DOM) */}\n\t\t\t<div style={{ flex: '1 0 auto' }} />\n\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dayGroups.map((group, groupIndex) => (\n\t\t\t\t\t<div key={`day-group-${groupIndex}`}>\n\t\t\t\t\t\t{/* Day separator — sticks to top while this day scrolls past */}\n\t\t\t\t\t\t{renderDay ? (\n\t\t\t\t\t\t\t<div style={{ position: 'sticky', top: 0, zIndex: 2 }}>\n\t\t\t\t\t\t\t\t{renderDay({ createdAt: group.createdAt })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Day\n\t\t\t\t\t\t\t\tcreatedAt={group.createdAt}\n\t\t\t\t\t\t\t\tappType={appType}\n\t\t\t\t\t\t\t\tscrollRootRef={scrollRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{group.indices.map((index) => {\n\t\t\t\t\t\t\tconst message = reversedMessages[index];\n\t\t\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t\t\tconst position = isSmtp\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: isUserMessage(message)\n\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t: 'left';\n\t\t\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\t\t\tconst isActivity =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY && !isPrivateNote;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\tmessage._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isCentered\n\t\t\t\t\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t\t\t\t\t: { display: 'flex', alignItems: 'flex-start' }),\n\t\t\t\t\t\t\t\t\t\t\t...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t? !isMobile && position === 'right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8, marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && isPrivateNote ? { marginRight: 16 } : {}),\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t? // SMTP: flat 24px between mails, no same/different-user split.\n\t\t\t\t\t\t\t\t\t\t\t\t nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 24\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t\t\t\t\t\t\t: nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t? nextMessage?.user?._id === message?.user?._id\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isUserMessage(message)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 20\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 4\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 20\n\t\t\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t\t\t\t// Activity cards: no left/bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t...(isActivity ? { marginLeft: 0, marginBottom: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{/* Left avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid={`message-bubble-${\n\t\t\t\t\t\t\t\t\t\t\t\tmessage._id ??\n\t\t\t\t\t\t\t\t\t\t\t\t`${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isMobile || isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1, width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderMessageBubble(\n\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* Right avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'right' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\talignSelf: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef<HTMLDivElement, GiftedChatProps<IMessage>>(\n\tGiftedChatInner,\n);\n"],"names":["COLLAPSED_MAX_HEIGHT","CollapsibleBubbleText","text","isExpanded","onToggle","textRef","useRef","isOverflowing","setIsOverflowing","useState","useEffect","el","overflows","jsxs","Fragment","jsx","BodySecondary","Button","GiftedChatInner","props","forwardedRef","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","maxHeight","isActivityMessage","extraProps","isMobile","useWindowSize","internalScrollRef","scrollRef","normalizeRef","scrollState","expandedMessages","setExpandedMessages","reversedMessages","useMemo","dayGroups","groups","message","index","previousMessage","isSameDay","scrollToBottom","useScrollToBottom","useImperativeHandle","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","isUserMessage","useCallback","shouldShowAvatar","renderMessageBubble","nextMessage","position","isTopOfStack","isBottomOfStack","bubbleProps","messageId","COLORS","prev","next","renderMessageAvatar","group","groupIndex","Day","isSmtp","MESSAGE_CHANNELS","placement","getMessagePlacement","isCentered","shouldCenterAlign","isPrivateNote","Constants","isActivity","React","GiftedChat","forwardRef"],"mappings":";;;;;;;;;;;;AA8BA,MAAMA,IAAuB,KAEvBC,KAID,CAAC,EAAE,MAAAC,GAAM,YAAAC,GAAY,UAAAC,QAAe;AACxC,QAAMC,IAAUC,EAAuB,IAAI,GACrC,CAACC,GAAeC,CAAgB,IAAIC,EAAS,EAAK;AAExD,SAAAC,GAAU,MAAM;AACf,UAAMC,IAAKN,EAAQ;AACnB,QAAIM,GAAI;AAEP,MAAAA,EAAG,MAAM,YAAY;AACrB,YAAMC,IAAYD,EAAG,eAAeX;AACpC,MAAAW,EAAG,MAAM,YAAYR,IAAa,SAAS,GAAGH,CAAoB,MAClEQ,EAAiBI,CAAS;AAAA,IAC3B;AAAA,EACD,GAAG,CAACV,GAAMC,CAAU,CAAC,GAGpB,gBAAAU,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,KAAKV;AAAA,QACL,OAAO;AAAA,UACN,WAAWF,IAAa,SAASH;AAAA,UACjC,UAAU;AAAA,QAAA;AAAA,QAGX,UAAA,gBAAAe,EAACC,MAAe,UAAAd,EAAA,CAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAErBK,KACA,gBAAAQ;AAAA,MAACE;AAAA,MAAA;AAAA,QACA,YAAW;AAAA,QACX,MAAK;AAAA,QACL,YAAYd,IAAa,cAAc;AAAA,QACvC,SAASC;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GAEF;AAEF,GAEMc,KAAkB,CACvBC,GACAC,MACI;AACJ,QAAM;AAAA,IACL,UAAAC,IAAW,CAAA;AAAA,IACX,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC,IAAgB,CAAA;AAAA,IAChB,mBAAAC,IAAoB;AAAA,IACpB,gBAAAC,IAAiB;AAAA,IACjB,2BAAAC,IAA4B;AAAA,IAC5B,UAAAC,KAAW;AAAA,IACX,oBAAAC;AAAA,IACA,cAAAC,IAAeC;AAAA,IACf,SAAAC,IAAUC,EAAkB;AAAA,IAC5B,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACArB,KAAS,CAAA,GAEPsB,IAAWC,GAAA,GAEXC,IAAoBrC,EAA8B,IAAI,GACtDsC,IAAYC;AAAA,IACjBjB,EAAc,OAAOR;AAAA,IACrBuB;AAAA,EAAA,GAGKG,IAAcxC,EAAO;AAAA,IAC1B,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,wBAAwB;AAAA,IACxB,oBAAoBe,GAAU,UAAU;AAAA,IACxC,sBAAsB;AAAA,IACtB,mBAAmB;AAAA,IACnB,eAAe;AAAA,EAAA,CACf,GAEK,CAAC0B,GAAkBC,CAAmB,IAAIvC,EAE9C,oBAAI,KAAK,GAGLwC,IAAmBC,EAAQ,MAC5B,CAAC7B,KAAYA,EAAS,WAAW,IAAU,CAAA,IACxC,CAAC,GAAGA,CAAQ,EAAE,QAAA,GACnB,CAACA,CAAQ,CAAC,GAIP8B,IAAYD,EAAQ,MAAM;AAC/B,UAAME,IACL,CAAA;AACD,WAAAH,EAAiB,QAAQ,CAACI,GAASC,MAAU;AAC5C,YAAMC,IAAkBN,EAAiBK,IAAQ,CAAC;AAClD,MAAIA,MAAU,KAAK,CAACE,GAAUH,GAASE,CAAe,IACrDH,EAAO,KAAK,EAAE,WAAWC,EAAQ,WAAW,SAAS,CAACC,CAAK,GAAG,IAE9DF,EAAOA,EAAO,SAAS,CAAC,EAAE,QAAQ,KAAKE,CAAK;AAAA,IAE9C,CAAC,GACMF;AAAA,EACR,GAAG,CAACH,CAAgB,CAAC,GAEfQ,IAAiBC,GAAkBd,GAAWE,CAAW;AAE/D,EAAAa,GAAoBvC,GAAc,MAAMwB,EAAU,OAAQ,GAE1DgB;AAAA,IACChB;AAAA,IACAE;AAAA,IACAG,EAAiB;AAAA,IACjBQ;AAAA,EAAA,GAGDI,GAAiBf,CAAW,GAE5BgB,GAAyBlB,GAAWE,GAAaG,EAAiB,MAAM,GAExEc;AAAA,IACCnB;AAAA,IACAE;AAAA,IACAzB,EAAS;AAAA,IACToC;AAAA,EAAA,GAGDO;AAAA,IACC3C,IAAW,CAAC;AAAA,IACZyB;AAAA,IACAW;AAAA,IACAxB;AAAA,EAAA;AAGD,QAAMgC,KAAeC;AAAA,IACpBpB;AAAA,IACAlB,EAAc;AAAA,IACdA,EAAc;AAAA,IACdM;AAAA,EAAA,GAIKiC,IAAgBC;AAAA,IACrB,CAACf,MACO,GAAQA,KAAW/B,KAAQ+B,EAAQ,MAAM,QAAQ/B,EAAK;AAAA,IAE9D,CAACA,CAAI;AAAA,EAAA,GAIA+C,IAAmBD;AAAA,IACxB,CAACf,GAAmBE,MACdzB,IACDC,KAEAoC,EAAcd,CAAO,IAAU,KAKlC,CAACE,MACAhB,IAAoBA,EAAkBc,CAAO,IAAI,QACjDd,IAAoBA,EAAkBgB,CAAe,IAAI,OAC1DA,EAAgB,KAAK,QAAQF,EAAQ,KAAK,MAXf;AAAA,IAc7B;AAAA,MACCvB;AAAA,MACAC;AAAA,MACAQ;AAAA,MACA4B;AAAA,IAAA;AAAA,EACD,GAIKG,KAAsBF;AAAA,IAC3B,CAACf,GAAmBE,GAA4BgB,MAA2B;AAC1E,YAAMC,IAAWL,EAAcd,CAAO,IAAI,UAAU,QAC9CoB,IAAelB,GAAiB,MAAM,QAAQF,GAAS,MAAM,KAC7DqB,IAAkBH,GAAa,MAAM,QAAQlB,GAAS,MAAM,KAE5DsB,IAAqC;AAAA,QAC1C,gBAAgBtB;AAAA,QAChB,iBAAAE;AAAA,QACA,aAAAgB;AAAA,QACA,UAAAC;AAAA,QACA,MAAAlD;AAAA,QACA,GAAGkB;AAAA,MAAA;AAIJ,UAAIjB;AACH,eAAOA,EAAaoD,CAAW;AAIhC,YAAMC,IAAYvB,EAAQ,KACpBlD,IAAa4C,EAAiB,IAAI6B,CAAS;AAEjD,aACC,gBAAA7D;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,OAAO;AAAA,YACN,UAAUqB,MAAYC,EAAkB,WAAW,QAAQ;AAAA,YAC3D,OAAO;AAAA,YACP,GAAID,MAAYC,EAAkB,WAC/B,EAAE,UAAU,QAAA,IACZ,CAAA;AAAA,YACH,SAAS;AAAA,YACT,qBACCmC,MAAa,SAAUC,IAAe,KAAK,IAAK;AAAA,YACjD,sBAAsB;AAAA,YACtB,wBACCD,MAAa,SAAUE,IAAkB,KAAK,IAAK;AAAA,YACpD,yBAAyB;AAAA,YACzB,QACCF,MAAa,UAAUpC,MAAYC,EAAkB,WAClD,iCACA;AAAA,YACJ,iBACCmC,MAAa,UACVpC,MAAYC,EAAkB,WAC7BwC,EAAO,WAAW,YAClBA,EAAO,WAAW,aACnBzC,MAAYC,EAAkB,WAC9BwC,EAAO,WAAW,YAClBA,EAAO,WAAW;AAAA,YACtB,OAAOA,EAAO,QAAQ;AAAA,YACtB,WAAW;AAAA,UAAA;AAAA,UAGZ,UAAA,gBAAA9D;AAAA,YAACd;AAAA,YAAA;AAAA,cACA,MAAMoD,EAAQ,QAAQ;AAAA,cACtB,YAAAlD;AAAA,cACA,UAAU,MACT6C,EAAoB,CAAC8B,MAAS;AAC7B,sBAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,uBAAI3E,IAAY4E,EAAK,OAAOH,CAAS,IAChCG,EAAK,IAAIH,CAAS,GAChBG;AAAA,cACR,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAEH;AAAA,MAAA;AAAA,IAGH;AAAA,IACA,CAACZ,GAAe7C,GAAMC,GAAciB,GAAYO,CAAgB;AAAA,EAAA,GAI3DiC,IAAsBZ;AAAA,IAC3B,CAACf,GAAmBE,GAA4BgB,MAA2B;AAG1E,UAAI,CAFeF,EAAiBhB,GAASE,CAAe,EAE3C,QAAO;AAExB,YAAMiB,IAAWL,EAAcd,CAAO,IAAI,UAAU;AAapD,aAAO7B,IAAeA,EAXqB;AAAA,QAC1C,gBAAgB6B;AAAA,QAChB,iBAAAE;AAAA,QACA,aAAAgB;AAAA,QACA,UAAAC;AAAA,QACA,MAAAlD;AAAA,QACA,mBAAAO;AAAA,QACA,gBAAAC;AAAA,QACA,2BAAAC;AAAA,MAAA,CAG6C,IAAI;AAAA,IACnD;AAAA,IACA;AAAA,MACCsC;AAAA,MACAF;AAAA,MACA7C;AAAA,MACAO;AAAA,MACAC;AAAA,MACAC;AAAA,MACAP;AAAA,IAAA;AAAA,EACD;AAID,SAAI,CAACH,KAAYA,EAAS,WAAW,IAC7BM,IAAkB,gBAAAZ,EAAAD,GAAA,EAAG,UAAAa,EAAA,EAAgB,CAAE,IAAM,OAIpD,gBAAAd;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,KAAK+B;AAAA,MACL,OAAO;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,QACX,SAAS;AAAA,QACT,eAAe;AAAA,QACf,GAAIN,IAAY,EAAE,WAAAA,GAAW,QAAQA,EAAA,IAAc,CAAA;AAAA,QACnD,GAAGV,EAAc;AAAA,MAAA;AAAA,MAElB,UAAUqC;AAAA,MAGV,UAAA;AAAA,QAAA,gBAAAlD,EAAC,OAAA,EAAI,OAAO,EAAE,MAAM,cAAc;AAAA,QAElC,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,OAAO;AAAA,cACN,SAAS;AAAA,cACT,eAAe;AAAA,cACf,MAAM;AAAA,YAAA;AAAA,YAGN,YAAU,IAAI,CAACkE,GAAOC,wBACrB,OAAA,EAEC,UAAA;AAAA,cAAAzD,sBACC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,KAAK,GAAG,QAAQ,KAChD,YAAU,EAAE,WAAWwD,EAAM,UAAA,CAAW,GAC1C,IAEA,gBAAAlE;AAAA,gBAACoE;AAAA,gBAAA;AAAA,kBACA,WAAWF,EAAM;AAAA,kBACjB,SAAA7C;AAAA,kBACA,eAAeQ;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGhBqC,EAAM,QAAQ,IAAI,CAAC3B,MAAU;AAC7B,sBAAMD,IAAUJ,EAAiBK,CAAK,GAChC8B,IACL/B,GAAU,cAAiBgC,EAAiB,QAC5ChC,GAAU,gBAAmBgC,EAAiB,MACzCb,IAAWY,IACd,SACAjB,EAAcd,CAAO,IACrB,UACA,QACGE,IAAkBN,EAAiBK,IAAQ,CAAC,GAC5CiB,IAActB,EAAiBK,IAAQ,CAAC,GACxCgC,IAAYC,GAAoBlC,GAASmB,CAAQ,GACjDgB,IAAaC,GAAkBpC,CAAO,GAEtCqC,IACLrC,EAAQ,aACPsC,EAAU,aAAa,SAAS,YACjCtC,EAAQ,iBACPsC,EAAU,aAAa,KAAK,cACxBC,KACLvC,EAAQ,aACPsC,EAAU,aAAa,SAAS,YAAY,CAACD;AAC/C,uBACC,gBAAA3E;AAAA,kBAAC8E,GAAM;AAAA,kBAAN;AAAA,oBAMA,UAAA,gBAAAhF;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACA,OAAO;AAAA,0BACN,GAAI4B,IAAW,EAAE,QAAQ,QAAA,IAAY,CAAA;AAAA,0BACrC,GAAI+C,IACD,CAAA,IACA,EAAE,SAAS,QAAQ,YAAY,aAAA;AAAA,0BAClC,GAAIpD,MAAYC,EAAkB,WAC/B,CAACI,KAAY+B,MAAa,UACzB,EAAE,YAAY,MACd,EAAE,aAAa,EAAA,IAChB,CAAA;AAAA,0BACH,GAAIY,KAAU,CAACM,KAAiBjD,IAC7B,EAAE,YAAY,GAAG,aAAa,EAAA,IAC9B,CAAA;AAAA,0BACH,GAAI2C,KAAUM,IAAgB,EAAE,aAAa,GAAA,IAAO,CAAA;AAAA,0BACpD,gBAAgBJ;AAAA,0BAChB,cAAcF;AAAA;AAAA,4BAEXb,IACC,KACA;AAAA,8BACDA,IACAA,GAAa,MAAM,QAAQlB,GAAS,MAAM,MACzCc,EAAcd,CAAO,IACpB,KACA,IACD,KACD;AAAA;AAAA,0BAEH,GAAIuC,KAAa,EAAE,YAAY,GAAG,cAAc,EAAA,IAAM,CAAA;AAAA,wBAAC;AAAA,wBAIvD,UAAA;AAAA,0BAAA,CAACnD,KAAY+B,MAAa,UAC1B,gBAAAzD;AAAA,4BAAC;AAAA,4BAAA;AAAA,8BACA,OAAO;AAAA,gCACN,aAAa;AAAA,gCACb,OAAO;AAAA,gCACP,YAAY;AAAA,8BAAA;AAAA,8BAGZ,UAAAiE;AAAA,gCACA3B;AAAA,gCACAE;AAAA,gCACAgB;AAAA,8BAAA;AAAA,4BACD;AAAA,0BAAA;AAAA,0BAKF,gBAAAxD;AAAA,4BAAC;AAAA,4BAAA;AAAA,8BACA,IAAI,kBACHsC,EAAQ,OACR,GAAGC,CAAK,IAAIrB,IAAA,KAA0B,IAAI,EAC3C;AAAA,8BACA,OACCG,MAAYC,EAAkB,WAC3B,EAAE,OAAO,WACTI,KAAY2C,IACZ,EAAE,SAAS,QAAQ,UAAU,GAAG,OAAO,OAAA,IACvC,CAAA;AAAA,8BAGH,UAAAd;AAAA,gCACAjB;AAAA,gCACAE;AAAA,gCACAgB;AAAA,8BAAA;AAAA,4BACD;AAAA,0BAAA;AAAA,0BAIA,CAAC9B,KAAY+B,MAAa,WAC1B,gBAAAzD;AAAA,4BAAC;AAAA,4BAAA;AAAA,8BACA,OAAO;AAAA,gCACN,YAAY;AAAA,gCACZ,OAAO;AAAA,gCACP,YAAY;AAAA,gCACZ,WAAW;AAAA,8BAAA;AAAA,8BAGX,UAAAiE;AAAA,gCACA3B;AAAA,gCACAE;AAAA,gCACAgB;AAAA,8BAAA;AAAA,4BACD;AAAA,0BAAA;AAAA,wBACD;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAEF;AAAA,kBA3FClB,EAAQ,OAAO,GAAGC,CAAK,IAAIrB,IAAA,KAA0B,IAAI;AAAA,gBAAA;AAAA,cA8F7D,CAAC;AAAA,YAAA,EAAA,GArIQ,aAAaiD,CAAU,EAsIjC,CACA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGH,GAEAY,KAAeC;AAAA,EACd7E;AACD;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as o, Fragment as g, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { useState as f, useRef as u, useEffect as l } from "react";
|
|
3
|
-
import { TitleRegular as h, BodySecondary as
|
|
4
|
-
import
|
|
3
|
+
import { TitleRegular as h, BodySecondary as v } from "../TypographyStyle.js";
|
|
4
|
+
import y, { AccordionHeaderGroup as w, AccordionHeaderGroup2 as _ } from "./Accordion.style.js";
|
|
5
5
|
import s from "./AccordionArrow.js";
|
|
6
6
|
import { Button as k } from "../button/Button.js";
|
|
7
7
|
import { IconButton as x } from "../icon-button/IconButton.js";
|
|
@@ -30,7 +30,7 @@ const O = (e) => {
|
|
|
30
30
|
r.current.style.maxHeight = r.current.scrollHeight + "px";
|
|
31
31
|
}, 100);
|
|
32
32
|
}, [i, e?.refresh, r?.current?.scrollHeight]), /* @__PURE__ */ o(
|
|
33
|
-
|
|
33
|
+
y,
|
|
34
34
|
{
|
|
35
35
|
className: "accordion",
|
|
36
36
|
isActive: i,
|
|
@@ -47,6 +47,7 @@ const O = (e) => {
|
|
|
47
47
|
/* @__PURE__ */ o(
|
|
48
48
|
"div",
|
|
49
49
|
{
|
|
50
|
+
"data-test": "bik-accordion-overview",
|
|
50
51
|
className: `accordion__overview ${i ? "active" : ""}`,
|
|
51
52
|
style: e?.containerStyle ?? {},
|
|
52
53
|
onClick: (t) => a(!i, t),
|
|
@@ -127,7 +128,7 @@ const O = (e) => {
|
|
|
127
128
|
}
|
|
128
129
|
)
|
|
129
130
|
] }),
|
|
130
|
-
e?.caption && /* @__PURE__ */ n("div", { className: "accordion__overview__caption", children: /* @__PURE__ */ n(
|
|
131
|
+
e?.caption && /* @__PURE__ */ n("div", { className: "accordion__overview__caption", children: /* @__PURE__ */ n(v, { children: /* @__PURE__ */ n("div", { style: e.captionStyle, children: e.caption }) }) })
|
|
131
132
|
]
|
|
132
133
|
}
|
|
133
134
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import React, { LegacyRef, useEffect, useRef, useState } from 'react';\nimport { BodySecondary, TitleRegular } from '@src/components/TypographyStyle';\nimport { Button } from '../button';\nimport { IconButton } from '../icon-button';\nimport { AccordionProps } from './Accordion.model';\nimport AccordionStyle, {\n\tAccordionHeaderGroup,\n\tAccordionHeaderGroup2,\n} from './Accordion.style';\nimport BikAccordionArrow from './AccordionArrow';\n\nexport const BikAccordion: React.FC<AccordionProps> = (props) => {\n\tconst [isActive, setIsActive] = useState<boolean>(false);\n\tconst accordionArrowRef = useRef<HTMLDivElement>(null);\n\tconst accordionContentRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tif (props.autoOpen) {\n\t\t\ttoggleAccordion(props.autoOpen, {});\n\t\t}\n\t}, [props.autoOpen]);\n\n\t// Listen to changes in the isOpen prop to control the accordion state\n\tuseEffect(() => {\n\t\tif (props.isOpen !== undefined) {\n\t\t\ttoggleAccordion(props.isOpen, {});\n\t\t}\n\t}, [props.isOpen]);\n\n\tconst toggleAccordion = (state: boolean, event: any) => {\n\t\tif (!accordionContentRef.current || !accordionArrowRef.current) return;\n\t\tif (event.type === 'keydown' && event.key !== 'Enter') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update state only if it's different from the current state\n\t\tif (state !== isActive) {\n\t\t\tsetIsActive(state);\n\t\t}\n\n\t\tif (state) {\n\t\t\taccordionContentRef.current.style.maxHeight =\n\t\t\t\t(props.childrenMaxHeight ?? accordionContentRef.current.scrollHeight) +\n\t\t\t\t'px';\n\t\t\taccordionArrowRef.current.style.transform = 'rotate(180deg)';\n\t\t\taccordionArrowRef.current.style.transition =\n\t\t\t\t'transform 0.25s ease-in-out';\n\t\t\taccordionContentRef.current.style.transition =\n\t\t\t\t'max-height 0.25s ease-in-out';\n\t\t} else {\n\t\t\taccordionContentRef.current.style.maxHeight = '';\n\t\t\taccordionArrowRef.current.style.transform = 'rotate(0deg)';\n\t\t\taccordionArrowRef.current.style.transition =\n\t\t\t\t'transform 0.25s ease-in-out';\n\t\t\taccordionContentRef.current.style.transition = 'padding 0s';\n\t\t}\n\n\t\tprops.onToggleAccordion?.(state);\n\t};\n\n\t// Monitor changes in accordion content\n\tuseEffect(() => {\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tif (isActive && accordionContentRef.current) {\n\t\t\t\taccordionContentRef.current.style.maxHeight =\n\t\t\t\t\taccordionContentRef.current.scrollHeight + 'px';\n\t\t\t}\n\t\t});\n\n\t\tif (accordionContentRef.current) {\n\t\t\tobserver.observe(accordionContentRef.current, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t});\n\t\t}\n\n\t\t// Cleanup observer on unmount\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [isActive]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisActive &&\n\t\t\tprops?.refresh &&\n\t\t\taccordionContentRef?.current?.scrollHeight &&\n\t\t\t!props.childrenMaxHeight\n\t\t) {\n\t\t\tsetTimeout(() => {\n\t\t\t\taccordionContentRef.current!.style.maxHeight =\n\t\t\t\t\taccordionContentRef.current!.scrollHeight + 'px';\n\t\t\t}, 100);\n\t\t}\n\t}, [isActive, props?.refresh, accordionContentRef?.current?.scrollHeight]);\n\n\treturn (\n\t\t<AccordionStyle\n\t\t\tclassName=\"accordion\"\n\t\t\tisActive={isActive}\n\t\t\twidth={props?.width}\n\t\t\tcontentMargin={props?.contentMargin}\n\t\t\theaderPadding={props.headerPadding}\n\t\t\tskipHoverState={props.skipHoverHeader}\n\t\t\tshowBorders={props.showBorders}\n\t\t\tborderColor={props.borderColor}\n\t\t\tbackgroundColor={props.backgroundColor}\n\t\t\topenDirection={props.openDirection}\n\t\t\tborderRadius={props.borderRadius}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`accordion__overview ${isActive ? 'active' : ''}`}\n\t\t\t\tstyle={props?.containerStyle ?? {}}\n\t\t\t\tonClick={(event) => toggleAccordion(!isActive, event)}\n\t\t\t\tonKeyDown={(event) => toggleAccordion(!isActive, event)}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t>\n\t\t\t\t{!props.rightActionComponent && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"accordion__overview__header\"\n\t\t\t\t\t\t\tstyle={props.headerStyles ?? {}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AccordionHeaderGroup>\n\t\t\t\t\t\t\t\t{typeof props.header === 'string' ? (\n\t\t\t\t\t\t\t\t\t<TitleRegular>{props?.header}</TitleRegular>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprops.header\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.buttonLinkText && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tbuttonText={props.buttonLinkText}\n\t\t\t\t\t\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\t\t\t\t\t\tdarkMode\n\t\t\t\t\t\t\t\t\t\tonClick={props.onButtonLinkClick}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</AccordionHeaderGroup>\n\t\t\t\t\t\t\t<AccordionHeaderGroup2>\n\t\t\t\t\t\t\t\t{props.headerButtons && (\n\t\t\t\t\t\t\t\t\t<div className=\"accordion__overview__header-buttons\">\n\t\t\t\t\t\t\t\t\t\t{props.headerButtons?.map((button) => (\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\tkey={button.title}\n\t\t\t\t\t\t\t\t\t\t\t\tIcon={button.icon}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\tbutton.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={button.style}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={button.title}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<BikAccordionArrow\n\t\t\t\t\t\t\t\t\tarrowColor={props.arrowColor}\n\t\t\t\t\t\t\t\t\tisNewIcon={true}\n\t\t\t\t\t\t\t\t\tref={accordionArrowRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</AccordionHeaderGroup2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{props?.subHeader ? props?.subHeader : null}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{props.rightActionComponent && (\n\t\t\t\t\t<div className=\"accordion__overview__header\">\n\t\t\t\t\t\t<div className=\"accordion__overview__title-wrapper\">\n\t\t\t\t\t\t\t<BikAccordionArrow\n\t\t\t\t\t\t\t\tarrowColor={props.arrowColor}\n\t\t\t\t\t\t\t\tisNewIcon={true}\n\t\t\t\t\t\t\t\tref={accordionArrowRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{typeof props.header === 'string' ? (\n\t\t\t\t\t\t\t\t<TitleRegular>{props?.header}</TitleRegular>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tprops.header\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\tif (e.key === 'Enter') e.stopPropagation();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.rightActionComponent}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{props?.caption && (\n\t\t\t\t\t<div className=\"accordion__overview__caption\">\n\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t<div style={props.captionStyle}>{props.caption}</div>\n\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={accordionContentRef as LegacyRef<HTMLDivElement>}\n\t\t\t\tclassName=\"accordion__content\"\n\t\t\t>\n\t\t\t\t{props.children}\n\t\t\t</div>\n\t\t</AccordionStyle>\n\t);\n};\n"],"names":["BikAccordion","props","isActive","setIsActive","useState","accordionArrowRef","useRef","accordionContentRef","useEffect","toggleAccordion","state","event","observer","jsxs","AccordionStyle","Fragment","AccordionHeaderGroup","jsx","TitleRegular","Button","AccordionHeaderGroup2","button","IconButton","e","BikAccordionArrow","BodySecondary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import React, { LegacyRef, useEffect, useRef, useState } from 'react';\nimport { BodySecondary, TitleRegular } from '@src/components/TypographyStyle';\nimport { Button } from '../button';\nimport { IconButton } from '../icon-button';\nimport { AccordionProps } from './Accordion.model';\nimport AccordionStyle, {\n\tAccordionHeaderGroup,\n\tAccordionHeaderGroup2,\n} from './Accordion.style';\nimport BikAccordionArrow from './AccordionArrow';\n\nexport const BikAccordion: React.FC<AccordionProps> = (props) => {\n\tconst [isActive, setIsActive] = useState<boolean>(false);\n\tconst accordionArrowRef = useRef<HTMLDivElement>(null);\n\tconst accordionContentRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tif (props.autoOpen) {\n\t\t\ttoggleAccordion(props.autoOpen, {});\n\t\t}\n\t}, [props.autoOpen]);\n\n\t// Listen to changes in the isOpen prop to control the accordion state\n\tuseEffect(() => {\n\t\tif (props.isOpen !== undefined) {\n\t\t\ttoggleAccordion(props.isOpen, {});\n\t\t}\n\t}, [props.isOpen]);\n\n\tconst toggleAccordion = (state: boolean, event: any) => {\n\t\tif (!accordionContentRef.current || !accordionArrowRef.current) return;\n\t\tif (event.type === 'keydown' && event.key !== 'Enter') {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update state only if it's different from the current state\n\t\tif (state !== isActive) {\n\t\t\tsetIsActive(state);\n\t\t}\n\n\t\tif (state) {\n\t\t\taccordionContentRef.current.style.maxHeight =\n\t\t\t\t(props.childrenMaxHeight ?? accordionContentRef.current.scrollHeight) +\n\t\t\t\t'px';\n\t\t\taccordionArrowRef.current.style.transform = 'rotate(180deg)';\n\t\t\taccordionArrowRef.current.style.transition =\n\t\t\t\t'transform 0.25s ease-in-out';\n\t\t\taccordionContentRef.current.style.transition =\n\t\t\t\t'max-height 0.25s ease-in-out';\n\t\t} else {\n\t\t\taccordionContentRef.current.style.maxHeight = '';\n\t\t\taccordionArrowRef.current.style.transform = 'rotate(0deg)';\n\t\t\taccordionArrowRef.current.style.transition =\n\t\t\t\t'transform 0.25s ease-in-out';\n\t\t\taccordionContentRef.current.style.transition = 'padding 0s';\n\t\t}\n\n\t\tprops.onToggleAccordion?.(state);\n\t};\n\n\t// Monitor changes in accordion content\n\tuseEffect(() => {\n\t\tconst observer = new MutationObserver(() => {\n\t\t\tif (isActive && accordionContentRef.current) {\n\t\t\t\taccordionContentRef.current.style.maxHeight =\n\t\t\t\t\taccordionContentRef.current.scrollHeight + 'px';\n\t\t\t}\n\t\t});\n\n\t\tif (accordionContentRef.current) {\n\t\t\tobserver.observe(accordionContentRef.current, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t});\n\t\t}\n\n\t\t// Cleanup observer on unmount\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [isActive]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tisActive &&\n\t\t\tprops?.refresh &&\n\t\t\taccordionContentRef?.current?.scrollHeight &&\n\t\t\t!props.childrenMaxHeight\n\t\t) {\n\t\t\tsetTimeout(() => {\n\t\t\t\taccordionContentRef.current!.style.maxHeight =\n\t\t\t\t\taccordionContentRef.current!.scrollHeight + 'px';\n\t\t\t}, 100);\n\t\t}\n\t}, [isActive, props?.refresh, accordionContentRef?.current?.scrollHeight]);\n\n\treturn (\n\t\t<AccordionStyle\n\t\t\tclassName=\"accordion\"\n\t\t\tisActive={isActive}\n\t\t\twidth={props?.width}\n\t\t\tcontentMargin={props?.contentMargin}\n\t\t\theaderPadding={props.headerPadding}\n\t\t\tskipHoverState={props.skipHoverHeader}\n\t\t\tshowBorders={props.showBorders}\n\t\t\tborderColor={props.borderColor}\n\t\t\tbackgroundColor={props.backgroundColor}\n\t\t\topenDirection={props.openDirection}\n\t\t\tborderRadius={props.borderRadius}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-test=\"bik-accordion-overview\"\n\t\t\t\tclassName={`accordion__overview ${isActive ? 'active' : ''}`}\n\t\t\t\tstyle={props?.containerStyle ?? {}}\n\t\t\t\tonClick={(event) => toggleAccordion(!isActive, event)}\n\t\t\t\tonKeyDown={(event) => toggleAccordion(!isActive, event)}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex={0}\n\t\t\t>\n\t\t\t\t{!props.rightActionComponent && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"accordion__overview__header\"\n\t\t\t\t\t\t\tstyle={props.headerStyles ?? {}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AccordionHeaderGroup>\n\t\t\t\t\t\t\t\t{typeof props.header === 'string' ? (\n\t\t\t\t\t\t\t\t\t<TitleRegular>{props?.header}</TitleRegular>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprops.header\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.buttonLinkText && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tbuttonText={props.buttonLinkText}\n\t\t\t\t\t\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\t\t\t\t\t\tdarkMode\n\t\t\t\t\t\t\t\t\t\tonClick={props.onButtonLinkClick}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</AccordionHeaderGroup>\n\t\t\t\t\t\t\t<AccordionHeaderGroup2>\n\t\t\t\t\t\t\t\t{props.headerButtons && (\n\t\t\t\t\t\t\t\t\t<div className=\"accordion__overview__header-buttons\">\n\t\t\t\t\t\t\t\t\t\t{props.headerButtons?.map((button) => (\n\t\t\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\t\t\tkey={button.title}\n\t\t\t\t\t\t\t\t\t\t\t\tIcon={button.icon}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\tbutton.onClick();\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={button.style}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={button.title}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<BikAccordionArrow\n\t\t\t\t\t\t\t\t\tarrowColor={props.arrowColor}\n\t\t\t\t\t\t\t\t\tisNewIcon={true}\n\t\t\t\t\t\t\t\t\tref={accordionArrowRef}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</AccordionHeaderGroup2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{props?.subHeader ? props?.subHeader : null}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t{props.rightActionComponent && (\n\t\t\t\t\t<div className=\"accordion__overview__header\">\n\t\t\t\t\t\t<div className=\"accordion__overview__title-wrapper\">\n\t\t\t\t\t\t\t<BikAccordionArrow\n\t\t\t\t\t\t\t\tarrowColor={props.arrowColor}\n\t\t\t\t\t\t\t\tisNewIcon={true}\n\t\t\t\t\t\t\t\tref={accordionArrowRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{typeof props.header === 'string' ? (\n\t\t\t\t\t\t\t\t<TitleRegular>{props?.header}</TitleRegular>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tprops.header\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\tif (e.key === 'Enter') e.stopPropagation();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.rightActionComponent}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{props?.caption && (\n\t\t\t\t\t<div className=\"accordion__overview__caption\">\n\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t<div style={props.captionStyle}>{props.caption}</div>\n\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tref={accordionContentRef as LegacyRef<HTMLDivElement>}\n\t\t\t\tclassName=\"accordion__content\"\n\t\t\t>\n\t\t\t\t{props.children}\n\t\t\t</div>\n\t\t</AccordionStyle>\n\t);\n};\n"],"names":["BikAccordion","props","isActive","setIsActive","useState","accordionArrowRef","useRef","accordionContentRef","useEffect","toggleAccordion","state","event","observer","jsxs","AccordionStyle","Fragment","AccordionHeaderGroup","jsx","TitleRegular","Button","AccordionHeaderGroup2","button","IconButton","e","BikAccordionArrow","BodySecondary"],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { jsx as l, jsxs as
|
|
1
|
+
import { jsx as l, jsxs as d, Fragment as b } from "react/jsx-runtime";
|
|
2
2
|
import Z from "../../assets/icons/back_icon.svg.js";
|
|
3
3
|
import ee from "../../assets/icons/chevronRightAlt.svg.js";
|
|
4
4
|
import P from "../../assets/icons/cross.svg.js";
|
|
5
5
|
import ae from "../../assets/icons/plus.svg.js";
|
|
6
6
|
import ie from "../../assets/icons/undo.svg.js";
|
|
7
|
-
import { memo as te, useState as
|
|
7
|
+
import { memo as te, useState as u, useEffect as N } from "react";
|
|
8
8
|
import { AddVariableStyled as le } from "./AddVariableV2.styled.js";
|
|
9
9
|
import { COLORS as F } from "../../constants/Theme.js";
|
|
10
10
|
import { CloseButtonContainer as ne } from "../modals/modal.styled.js";
|
|
11
11
|
import { BodySecondary as se, TitleSmall as W, BodyCaption as v } from "../TypographyStyle.js";
|
|
12
12
|
import { IconButton as j } from "../icon-button/IconButton.js";
|
|
13
13
|
import { SearchBar as re } from "../searchBar/searchBar.js";
|
|
14
|
-
import { Switch as
|
|
15
|
-
import { Tooltip as
|
|
14
|
+
import { Switch as de } from "../switch/Switch.js";
|
|
15
|
+
import { Tooltip as ce } from "../tooltips/Tooltip.js";
|
|
16
16
|
import { Button as oe } from "../button/Button.js";
|
|
17
17
|
const Le = te(
|
|
18
18
|
(t) => {
|
|
@@ -22,9 +22,9 @@ const Le = te(
|
|
|
22
22
|
needsBorder: M = !0,
|
|
23
23
|
styledCloseBtn: I = !1,
|
|
24
24
|
readonly: x = !1
|
|
25
|
-
} = t, [o, K] =
|
|
25
|
+
} = t, [o, K] = u({}), [w, y] = u(), [s, C] = u(""), [c, g] = u(""), [U, m] = u(!0), D = /.*\..*/, [q, L] = u(
|
|
26
26
|
t.data
|
|
27
|
-
), [f, R] =
|
|
27
|
+
), [f, R] = u(!0);
|
|
28
28
|
N(() => {
|
|
29
29
|
const e = {};
|
|
30
30
|
h.forEach((i) => {
|
|
@@ -44,9 +44,9 @@ const Le = te(
|
|
|
44
44
|
}, [t.reRender]), N(() => {
|
|
45
45
|
let e = t.data;
|
|
46
46
|
s && (e = [o[s]]), T(e, f).length > 0 ? m(!0) : m(!1);
|
|
47
|
-
}, [
|
|
47
|
+
}, [c]);
|
|
48
48
|
const T = (e, i = !1) => e.flatMap((a) => Object.keys(a.variables).filter(
|
|
49
|
-
(n) => a.variables[n].displayName?.toLowerCase().includes(
|
|
49
|
+
(n) => a.variables[n].displayName?.toLowerCase().includes(c.toLowerCase()) && (!i || a.variables[n].isAvailable === i) || V(a.variables[n])
|
|
50
50
|
)), S = (e, i) => {
|
|
51
51
|
const a = h.find((n) => n.displayName === i);
|
|
52
52
|
if (a) {
|
|
@@ -64,7 +64,7 @@ const Le = te(
|
|
|
64
64
|
const a = Object.keys(e.variables);
|
|
65
65
|
for (let n = 0; n < a.length; n++) {
|
|
66
66
|
const r = a[n];
|
|
67
|
-
if (e.variables && e.variables[r].displayName.toLowerCase().includes(
|
|
67
|
+
if (e.variables && e.variables[r].displayName.toLowerCase().includes(c.toLowerCase()) && e.variables[r].isAvailable === f) {
|
|
68
68
|
i = !0;
|
|
69
69
|
break;
|
|
70
70
|
}
|
|
@@ -80,9 +80,9 @@ const Le = te(
|
|
|
80
80
|
const n = o[s];
|
|
81
81
|
a = t.data.filter((r) => r.displayName === s).map((r) => _(r, n)).filter((r) => r != null);
|
|
82
82
|
}
|
|
83
|
-
L(a),
|
|
83
|
+
L(a), c && (a = T(a, e)), a.length > 0 ? m(!0) : m(!1);
|
|
84
84
|
} else
|
|
85
|
-
L(t.data),
|
|
85
|
+
L(t.data), c ? T(t.data, e).length > 0 ? m(!0) : m(!1) : m(!0);
|
|
86
86
|
};
|
|
87
87
|
function _(e, i, a = {}) {
|
|
88
88
|
if (i)
|
|
@@ -103,8 +103,8 @@ const Le = te(
|
|
|
103
103
|
}
|
|
104
104
|
const B = (e) => {
|
|
105
105
|
const i = e.item.description;
|
|
106
|
-
return e.readonly ? /* @__PURE__ */ l("div", { children: /* @__PURE__ */ l(E, { item: e.item, readonly: e.readonly }) }) : /* @__PURE__ */ l(
|
|
107
|
-
|
|
106
|
+
return e.readonly ? /* @__PURE__ */ l("div", { children: /* @__PURE__ */ l(E, { item: e.item, readonly: e.readonly }) }) : /* @__PURE__ */ l(b, { children: /* @__PURE__ */ l(
|
|
107
|
+
ce,
|
|
108
108
|
{
|
|
109
109
|
body: "",
|
|
110
110
|
tooltipContent: /* @__PURE__ */ l(
|
|
@@ -129,10 +129,10 @@ const Le = te(
|
|
|
129
129
|
size: "chip",
|
|
130
130
|
disabled: e.readonly ? !e.item.isSubHeader : !1,
|
|
131
131
|
LeadingIcon: e.item.isSubHeader || e.readonly ? void 0 : ae,
|
|
132
|
-
TrailingIcon: () => e.item.isSubHeader ? /* @__PURE__ */ l("div", { className: "icon-trailing", style: { display: "flex" }, children: /* @__PURE__ */ l(ee, {}) }) : /* @__PURE__ */ l(
|
|
132
|
+
TrailingIcon: () => e.item.isSubHeader ? /* @__PURE__ */ l("div", { className: "icon-trailing", style: { display: "flex" }, children: /* @__PURE__ */ l(ee, {}) }) : /* @__PURE__ */ l(b, {}),
|
|
133
133
|
buttonText: e.item.displayName
|
|
134
134
|
}
|
|
135
|
-
), O = (e, i) => f && !e.isAvailable ? /* @__PURE__ */ l(
|
|
135
|
+
), O = (e, i) => f && !e.isAvailable ? /* @__PURE__ */ l(b, {}) : /* @__PURE__ */ l(
|
|
136
136
|
"div",
|
|
137
137
|
{
|
|
138
138
|
onClick: e.isSubHeader ? () => {
|
|
@@ -214,7 +214,7 @@ const Le = te(
|
|
|
214
214
|
top: `${t.topPosition ? t.topPosition : t.pickerSize === "small" ? "300px" : "60px"}`,
|
|
215
215
|
left: `${t.leftPosition ? t.leftPosition + 24 : 430}px`
|
|
216
216
|
};
|
|
217
|
-
return /* @__PURE__ */ l("div", { id: "varList", tabIndex: -1, children: /* @__PURE__ */
|
|
217
|
+
return /* @__PURE__ */ l("div", { id: "varList", tabIndex: -1, children: /* @__PURE__ */ d(
|
|
218
218
|
le,
|
|
219
219
|
{
|
|
220
220
|
style: J,
|
|
@@ -246,13 +246,14 @@ const Le = te(
|
|
|
246
246
|
)
|
|
247
247
|
}
|
|
248
248
|
),
|
|
249
|
-
t.showVariable && /* @__PURE__ */
|
|
250
|
-
/* @__PURE__ */
|
|
251
|
-
$ && /* @__PURE__ */
|
|
249
|
+
t.showVariable && /* @__PURE__ */ d("div", { className: "popup", children: [
|
|
250
|
+
/* @__PURE__ */ d("div", { className: "sticky__bar", children: [
|
|
251
|
+
$ && /* @__PURE__ */ d("div", { className: "header__bar", children: [
|
|
252
252
|
/* @__PURE__ */ l("div", { className: "add__variable", children: "Add a new variable" }),
|
|
253
253
|
!I && /* @__PURE__ */ l(
|
|
254
254
|
"div",
|
|
255
255
|
{
|
|
256
|
+
"data-test": "add-variable-close",
|
|
256
257
|
onClick: () => {
|
|
257
258
|
t.setShowVariable(!1);
|
|
258
259
|
},
|
|
@@ -271,7 +272,7 @@ const Le = te(
|
|
|
271
272
|
}
|
|
272
273
|
)
|
|
273
274
|
] }),
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
+
/* @__PURE__ */ d(
|
|
275
276
|
"div",
|
|
276
277
|
{
|
|
277
278
|
className: "search__bar",
|
|
@@ -289,12 +290,12 @@ const Le = te(
|
|
|
289
290
|
},
|
|
290
291
|
onEnter: () => {
|
|
291
292
|
},
|
|
292
|
-
reset: !
|
|
293
|
+
reset: !c,
|
|
293
294
|
placeholder: "Search...",
|
|
294
295
|
variant: "default"
|
|
295
296
|
}
|
|
296
297
|
),
|
|
297
|
-
/* @__PURE__ */
|
|
298
|
+
/* @__PURE__ */ d(
|
|
298
299
|
"div",
|
|
299
300
|
{
|
|
300
301
|
style: {
|
|
@@ -306,8 +307,9 @@ const Le = te(
|
|
|
306
307
|
children: [
|
|
307
308
|
/* @__PURE__ */ l(se, { style: { color: F.content.secondary }, children: "Show only recommended variables" }),
|
|
308
309
|
/* @__PURE__ */ l(
|
|
309
|
-
|
|
310
|
+
de,
|
|
310
311
|
{
|
|
312
|
+
"data-test": "add-variable-recommended-toggle",
|
|
311
313
|
value: f,
|
|
312
314
|
onValueChange: async (e) => await A(e)
|
|
313
315
|
}
|
|
@@ -318,8 +320,8 @@ const Le = te(
|
|
|
318
320
|
]
|
|
319
321
|
}
|
|
320
322
|
),
|
|
321
|
-
s && w[s].length > 0 && /* @__PURE__ */
|
|
322
|
-
/* @__PURE__ */
|
|
323
|
+
s && w[s].length > 0 && /* @__PURE__ */ d("div", { className: "nav__bar", children: [
|
|
324
|
+
/* @__PURE__ */ d("div", { className: "left__nav", children: [
|
|
323
325
|
/* @__PURE__ */ l(
|
|
324
326
|
j,
|
|
325
327
|
{
|
|
@@ -338,12 +340,12 @@ const Le = te(
|
|
|
338
340
|
}
|
|
339
341
|
}
|
|
340
342
|
),
|
|
341
|
-
/* @__PURE__ */
|
|
343
|
+
/* @__PURE__ */ d("div", { className: "block", children: [
|
|
342
344
|
/* @__PURE__ */ l(W, { children: o[s].displayName }),
|
|
343
345
|
o[s].description && /* @__PURE__ */ l(v, { children: o[s].description })
|
|
344
346
|
] })
|
|
345
347
|
] }),
|
|
346
|
-
/* @__PURE__ */
|
|
348
|
+
/* @__PURE__ */ d("div", { className: "right__nav", children: [
|
|
347
349
|
/* @__PURE__ */ l(
|
|
348
350
|
j,
|
|
349
351
|
{
|
|
@@ -361,7 +363,7 @@ const Le = te(
|
|
|
361
363
|
] })
|
|
362
364
|
] })
|
|
363
365
|
] }),
|
|
364
|
-
!U && /* @__PURE__ */
|
|
366
|
+
!U && /* @__PURE__ */ d(
|
|
365
367
|
"div",
|
|
366
368
|
{
|
|
367
369
|
style: {
|
|
@@ -373,17 +375,17 @@ const Le = te(
|
|
|
373
375
|
},
|
|
374
376
|
children: [
|
|
375
377
|
/* @__PURE__ */ l(W, { children: "No results found!" }),
|
|
376
|
-
f ? /* @__PURE__ */ l(v, { children: "Sorry we could not find any recommended variables" }) : /* @__PURE__ */ l(v, { children: `Sorry we could not find any results for "${
|
|
378
|
+
f ? /* @__PURE__ */ l(v, { children: "Sorry we could not find any recommended variables" }) : /* @__PURE__ */ l(v, { children: `Sorry we could not find any results for "${c}"` })
|
|
377
379
|
]
|
|
378
380
|
}
|
|
379
381
|
),
|
|
380
|
-
/* @__PURE__ */ l("div", { className: "wrapper", children: /* @__PURE__ */ l("div", { className: "list__map", children: /* @__PURE__ */
|
|
382
|
+
/* @__PURE__ */ l("div", { className: "wrapper", children: /* @__PURE__ */ l("div", { className: "list__map", children: /* @__PURE__ */ d("div", { className: "items", children: [
|
|
381
383
|
!s && q.map((e) => {
|
|
382
384
|
let i = [];
|
|
383
|
-
return
|
|
384
|
-
(a) => e.variables[a].displayName?.toLowerCase().includes(
|
|
385
|
-
)), /* @__PURE__ */
|
|
386
|
-
|
|
385
|
+
return c && (i = Object.keys(e.variables).filter(
|
|
386
|
+
(a) => e.variables[a].displayName?.toLowerCase().includes(c.toLowerCase()) || V(e.variables[a])
|
|
387
|
+
)), /* @__PURE__ */ d(b, { children: [
|
|
388
|
+
c ? i.length > 0 ? /* @__PURE__ */ d("div", { className: "block", children: [
|
|
387
389
|
/* @__PURE__ */ l("div", { className: "heading__font", children: e?.displayName }),
|
|
388
390
|
/* @__PURE__ */ l(
|
|
389
391
|
v,
|
|
@@ -395,7 +397,7 @@ const Le = te(
|
|
|
395
397
|
children: e?.description
|
|
396
398
|
}
|
|
397
399
|
)
|
|
398
|
-
] }) : /* @__PURE__ */ l(
|
|
400
|
+
] }) : /* @__PURE__ */ l(b, {}) : /* @__PURE__ */ d("div", { className: "block", children: [
|
|
399
401
|
/* @__PURE__ */ l("div", { className: "heading__font", children: e?.displayName }),
|
|
400
402
|
/* @__PURE__ */ l(
|
|
401
403
|
v,
|
|
@@ -405,7 +407,7 @@ const Le = te(
|
|
|
405
407
|
}
|
|
406
408
|
)
|
|
407
409
|
] }),
|
|
408
|
-
Object.keys(e.variables).map((a) =>
|
|
410
|
+
Object.keys(e.variables).map((a) => c ? e.variables[a].displayName?.toLowerCase().includes(c.toLowerCase()) || V(
|
|
409
411
|
e.variables[a]
|
|
410
412
|
) ? /* @__PURE__ */ l(
|
|
411
413
|
"div",
|
|
@@ -419,7 +421,7 @@ const Le = te(
|
|
|
419
421
|
}
|
|
420
422
|
)
|
|
421
423
|
}
|
|
422
|
-
) : /* @__PURE__ */ l(
|
|
424
|
+
) : /* @__PURE__ */ l(b, {}) : /* @__PURE__ */ l(
|
|
423
425
|
"div",
|
|
424
426
|
{
|
|
425
427
|
onClick: e.variables[a].isSubHeader ? () => H(e, a) : () => z(e, a),
|
|
@@ -435,12 +437,12 @@ const Le = te(
|
|
|
435
437
|
] });
|
|
436
438
|
}),
|
|
437
439
|
s && /* @__PURE__ */ l("div", { className: "list__map", children: /* @__PURE__ */ l("div", { className: "items", style: { marginTop: 16 }, children: Object.keys(o[s].variables).map(
|
|
438
|
-
(e, i) =>
|
|
440
|
+
(e, i) => c ? o[s].variables[e].displayName?.toLowerCase().includes(c.toLowerCase()) || V(
|
|
439
441
|
o[s].variables[e]
|
|
440
442
|
) ? O(
|
|
441
443
|
o[s].variables[e],
|
|
442
444
|
e
|
|
443
|
-
) : /* @__PURE__ */ l(
|
|
445
|
+
) : /* @__PURE__ */ l(b, {}) : O(
|
|
444
446
|
o[s].variables[e],
|
|
445
447
|
e
|
|
446
448
|
)
|