@bikdotai/bik-component-library 0.0.805-beta.18 → 0.0.805-beta.2
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/Bubble/Bubble.js +1 -1
- package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
- 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/BikGiftedChat/GiftedChat/types.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/cjs/components/avatar/Avatar.styled.js +3 -3
- package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
- package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
- package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
- package/dist/cjs/components/button/Button.js +1 -1
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/Button.styled.js +1 -1
- package/dist/cjs/components/button/Button.styled.js.map +1 -1
- package/dist/cjs/components/button/themes.js +1 -1
- package/dist/cjs/components/button/themes.js.map +1 -1
- package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +5 -6
- package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +7 -7
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +4 -8
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
- package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -10
- package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
- package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
- package/dist/cjs/components/icon-button/IconButton.js +1 -1
- package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
- package/dist/cjs/components/icon-button/IconButton.styled.js +3 -3
- package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
- package/dist/cjs/components/icon-button/theme.js +1 -1
- package/dist/cjs/components/icon-button/theme.js.map +1 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/input/Input.styled.js +1 -1
- package/dist/cjs/components/input/Input.styled.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.js +1 -1
- package/dist/cjs/components/list-item/ListItem.js.map +1 -1
- package/dist/cjs/components/list-item/ListItem.styled.js +1 -1
- package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
- package/dist/cjs/components/list-item/themes.js +1 -1
- package/dist/cjs/components/list-item/themes.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +30 -33
- package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
- package/dist/cjs/components/tag/Tag.js +1 -1
- package/dist/cjs/components/tag/Tag.js.map +1 -1
- package/dist/cjs/components/tag/Tag.styled.js +1 -1
- package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
- package/dist/cjs/components/tag/model.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
- package/dist/cjs/constants/Theme.js +1 -1
- package/dist/cjs/constants/Theme.js.map +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
- package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/src/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
- package/dist/cjs/src/components/avatar/Avatar.d.ts +2 -3
- package/dist/cjs/src/components/avatar/AvatarHelper.d.ts +4 -5
- package/dist/cjs/src/components/bik-layout/index.d.ts +0 -2
- package/dist/cjs/src/components/button/Button.styled.d.ts +1 -1
- package/dist/cjs/src/components/button/model.d.ts +3 -3
- package/dist/cjs/src/components/button/themes.d.ts +2 -2
- package/dist/cjs/src/components/country-code-picker/CountryCodePicker.d.ts +1 -1
- package/dist/cjs/src/components/country-code-picker/CountryPicker.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
- package/dist/cjs/src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
- package/dist/cjs/src/components/dropdown/hooks/useDropdown.d.ts +0 -2
- package/dist/cjs/src/components/dropdown/type.d.ts +1 -2
- package/dist/cjs/src/components/dropdown-button/DropdownButton.d.ts +1 -3
- package/dist/cjs/src/components/dropdown-button/DropdownButton.style.d.ts +2 -9
- package/dist/cjs/src/components/fab-menu/FABMenu.d.ts +1 -1
- package/dist/cjs/src/components/icon-button/IconButton.styled.d.ts +1 -3
- package/dist/cjs/src/components/icon-button/model.d.ts +1 -12
- package/dist/cjs/src/components/input/Input.model.d.ts +1 -2
- package/dist/cjs/src/components/input/Input.styled.d.ts +1 -16
- package/dist/cjs/src/components/list-item/List.model.d.ts +1 -1
- package/dist/cjs/src/components/list-item/ListItem.styled.d.ts +1 -1
- package/dist/cjs/src/components/list-item/themes.d.ts +2 -2
- package/dist/cjs/src/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
- package/dist/cjs/src/components/multi-level-dropdown/MenuItem.d.ts +0 -1
- package/dist/cjs/src/components/multi-level-dropdown/MenuList.d.ts +0 -1
- package/dist/cjs/src/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
- package/dist/cjs/src/components/multi-level-dropdown/type.d.ts +0 -1
- package/dist/cjs/src/components/tag/Tag.d.ts +1 -1
- package/dist/cjs/src/components/tag/Tag.stories.d.ts +5 -5
- package/dist/cjs/src/components/tag/Tag.styled.d.ts +1 -3
- package/dist/cjs/src/components/tag/model.d.ts +1 -5
- package/dist/cjs/src/components/whats-new/WhatsNew.d.ts +0 -2
- package/dist/cjs/src/components/whats-new/WhatsNew.types.d.ts +0 -2
- package/dist/cjs/src/constants/Theme.d.ts +0 -6
- package/dist/cjs/src/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
- package/dist/cjs/src/index.d.ts +0 -1
- package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +1 -1
- package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.js +1 -1
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.styled.js +6 -6
- package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/esm/components/avatar/AvatarHelper.js +1 -1
- package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
- package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
- package/dist/esm/components/button/Button.js +1 -1
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/Button.styled.js +1 -1
- package/dist/esm/components/button/Button.styled.js.map +1 -1
- package/dist/esm/components/button/themes.js +1 -1
- package/dist/esm/components/button/themes.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
- package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.js +1 -1
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +2 -3
- package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
- package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.js +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.style.js +4 -8
- package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
- package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
- package/dist/esm/components/icon-button/IconButton.js +1 -1
- package/dist/esm/components/icon-button/IconButton.js.map +1 -1
- package/dist/esm/components/icon-button/IconButton.styled.js +1 -1
- package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
- package/dist/esm/components/icon-button/theme.js +1 -1
- package/dist/esm/components/icon-button/theme.js.map +1 -1
- package/dist/esm/components/input/Input.js +1 -1
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.styled.js +1 -1
- package/dist/esm/components/input/Input.styled.js.map +1 -1
- package/dist/esm/components/list-item/ListItem.js +1 -1
- package/dist/esm/components/list-item/ListItem.js.map +1 -1
- package/dist/esm/components/list-item/ListItem.styled.js +1 -1
- package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
- package/dist/esm/components/list-item/themes.js +1 -1
- package/dist/esm/components/list-item/themes.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +1 -1
- package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.js +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuList.js +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
- package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
- package/dist/esm/components/tag/Tag.js +1 -1
- package/dist/esm/components/tag/Tag.js.map +1 -1
- package/dist/esm/components/tag/Tag.styled.js +1 -1
- package/dist/esm/components/tag/Tag.styled.js.map +1 -1
- package/dist/esm/components/tag/model.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNew.js +1 -1
- package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
- package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
- package/dist/esm/constants/Theme.js +1 -1
- package/dist/esm/constants/Theme.js.map +1 -1
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +1 -1
- package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/src/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
- package/dist/esm/src/components/avatar/Avatar.d.ts +2 -3
- package/dist/esm/src/components/avatar/AvatarHelper.d.ts +4 -5
- package/dist/esm/src/components/bik-layout/index.d.ts +0 -2
- package/dist/esm/src/components/button/Button.styled.d.ts +1 -1
- package/dist/esm/src/components/button/model.d.ts +3 -3
- package/dist/esm/src/components/button/themes.d.ts +2 -2
- package/dist/esm/src/components/country-code-picker/CountryCodePicker.d.ts +1 -1
- package/dist/esm/src/components/country-code-picker/CountryPicker.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
- package/dist/esm/src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
- package/dist/esm/src/components/dropdown/hooks/useDropdown.d.ts +0 -2
- package/dist/esm/src/components/dropdown/type.d.ts +1 -2
- package/dist/esm/src/components/dropdown-button/DropdownButton.d.ts +1 -3
- package/dist/esm/src/components/dropdown-button/DropdownButton.style.d.ts +2 -9
- package/dist/esm/src/components/fab-menu/FABMenu.d.ts +1 -1
- package/dist/esm/src/components/icon-button/IconButton.styled.d.ts +1 -3
- package/dist/esm/src/components/icon-button/model.d.ts +1 -12
- package/dist/esm/src/components/input/Input.model.d.ts +1 -2
- package/dist/esm/src/components/input/Input.styled.d.ts +1 -16
- package/dist/esm/src/components/list-item/List.model.d.ts +1 -1
- package/dist/esm/src/components/list-item/ListItem.styled.d.ts +1 -1
- package/dist/esm/src/components/list-item/themes.d.ts +2 -2
- package/dist/esm/src/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
- package/dist/esm/src/components/multi-level-dropdown/MenuItem.d.ts +0 -1
- package/dist/esm/src/components/multi-level-dropdown/MenuList.d.ts +0 -1
- package/dist/esm/src/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
- package/dist/esm/src/components/multi-level-dropdown/type.d.ts +0 -1
- package/dist/esm/src/components/tag/Tag.d.ts +1 -1
- package/dist/esm/src/components/tag/Tag.stories.d.ts +5 -5
- package/dist/esm/src/components/tag/Tag.styled.d.ts +1 -3
- package/dist/esm/src/components/tag/model.d.ts +1 -5
- package/dist/esm/src/components/whats-new/WhatsNew.d.ts +0 -2
- package/dist/esm/src/components/whats-new/WhatsNew.types.d.ts +0 -2
- package/dist/esm/src/constants/Theme.d.ts +0 -6
- package/dist/esm/src/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
- package/dist/esm/src/index.d.ts +0 -1
- package/package.json +2 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
- package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
- package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
- package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
- package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -26
- package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
- package/dist/cjs/src/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
- package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
- package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -13
- package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
- package/dist/cjs/src/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -3
- package/dist/cjs/src/components/dual-icon-button/DualIconButton.d.ts +0 -3
- package/dist/cjs/src/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
- package/dist/cjs/src/components/dual-icon-button/index.d.ts +0 -2
- package/dist/cjs/src/components/dual-icon-button/model.d.ts +0 -12
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
- package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
- package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
- package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
- package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -2
- package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -26
- package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
- package/dist/esm/src/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
- package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
- package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -13
- package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
- package/dist/esm/src/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -3
- package/dist/esm/src/components/dual-icon-button/DualIconButton.d.ts +0 -3
- package/dist/esm/src/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
- package/dist/esm/src/components/dual-icon-button/index.d.ts +0 -2
- package/dist/esm/src/components/dual-icon-button/model.d.ts +0 -12
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IconButtonType } from './model';
|
|
2
2
|
export declare const IconButton: import("styled-components").StyledComponent<"button", any, {
|
|
3
3
|
bordered?: boolean | undefined;
|
|
4
4
|
iconButtonType: IconButtonType;
|
|
5
5
|
isSelected?: boolean | undefined;
|
|
6
|
-
iconPadding?: number | undefined;
|
|
7
|
-
size?: IconButtonSize | undefined;
|
|
8
6
|
}, never>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export type IconButtonType = 'default' | 'negative' | 'positive' | 'warning' | 'ai'
|
|
3
|
-
export type IconButtonSize = 'default' | 'xs';
|
|
2
|
+
export type IconButtonType = 'default' | 'negative' | 'positive' | 'warning' | 'ai';
|
|
4
3
|
export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
4
|
/**
|
|
6
5
|
* Icon to render
|
|
@@ -31,11 +30,6 @@ export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
31
30
|
* @default default default
|
|
32
31
|
*/
|
|
33
32
|
iconButtonType?: IconButtonType;
|
|
34
|
-
/**
|
|
35
|
-
* Size of the icon button
|
|
36
|
-
* @default 'default'
|
|
37
|
-
*/
|
|
38
|
-
size?: IconButtonSize;
|
|
39
33
|
/**
|
|
40
34
|
* Add border to the button
|
|
41
35
|
* @default default false
|
|
@@ -46,10 +40,5 @@ export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
46
40
|
*/
|
|
47
41
|
isSelected?: boolean;
|
|
48
42
|
iconColor?: string;
|
|
49
|
-
/**
|
|
50
|
-
* Custom padding for the icon button container
|
|
51
|
-
* @default 6
|
|
52
|
-
*/
|
|
53
|
-
iconPadding?: number;
|
|
54
43
|
disabledTooltip?: string;
|
|
55
44
|
}
|
|
@@ -15,7 +15,6 @@ export interface InputProps {
|
|
|
15
15
|
icon: React.FC;
|
|
16
16
|
callback?: () => void;
|
|
17
17
|
};
|
|
18
|
-
leftIconStyle?: React.CSSProperties;
|
|
19
18
|
rightIcon?: {
|
|
20
19
|
icon: React.FC;
|
|
21
20
|
callback?: () => void;
|
|
@@ -55,7 +54,7 @@ export interface InputProps {
|
|
|
55
54
|
};
|
|
56
55
|
noKeyDownChange?: boolean;
|
|
57
56
|
skipFocus?: boolean;
|
|
58
|
-
version?: '1.0' | '2.0'
|
|
57
|
+
version?: '1.0' | '2.0';
|
|
59
58
|
textControl?: boolean;
|
|
60
59
|
noMaxCharCheck?: boolean;
|
|
61
60
|
tooltipText?: string;
|
|
@@ -10,7 +10,7 @@ export declare const InputWrapper: import("@emotion/styled").StyledComponent<{
|
|
|
10
10
|
isInvalid?: boolean | undefined;
|
|
11
11
|
state?: InputStateI | undefined;
|
|
12
12
|
variant?: InputVariant | undefined;
|
|
13
|
-
version?: "1.0" | "2.0" |
|
|
13
|
+
version?: "1.0" | "2.0" | undefined;
|
|
14
14
|
hightlightInputColor?: string | undefined;
|
|
15
15
|
hideBorder?: boolean | undefined;
|
|
16
16
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -55,21 +55,6 @@ export declare const InputContainerSmall: import("@emotion/styled").StyledCompon
|
|
|
55
55
|
height?: string | undefined;
|
|
56
56
|
type?: InputTypeI | undefined;
|
|
57
57
|
}, {}, {}>;
|
|
58
|
-
export declare const InputContainerXSmall: import("@emotion/styled").StyledComponent<{
|
|
59
|
-
[x: string]: any;
|
|
60
|
-
[x: number]: any;
|
|
61
|
-
[x: symbol]: any;
|
|
62
|
-
} & {
|
|
63
|
-
theme?: any;
|
|
64
|
-
} & {
|
|
65
|
-
as?: string | import("react").ComponentType<any> | undefined;
|
|
66
|
-
forwardedAs?: string | import("react").ComponentType<any> | undefined;
|
|
67
|
-
} & {
|
|
68
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
69
|
-
} & {
|
|
70
|
-
height?: string | undefined;
|
|
71
|
-
type?: InputTypeI | undefined;
|
|
72
|
-
}, {}, {}>;
|
|
73
58
|
export declare const InputHeader: import("@emotion/styled").StyledComponent<{
|
|
74
59
|
theme?: import("@emotion/react").Theme | undefined;
|
|
75
60
|
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
@@ -6,5 +6,5 @@ export declare const ListItem: import("@emotion/styled").StyledComponent<{
|
|
|
6
6
|
} & {
|
|
7
7
|
variant: Variant;
|
|
8
8
|
borderBottom?: string | undefined;
|
|
9
|
-
version?: "1.0" | "2.0" |
|
|
9
|
+
version?: "1.0" | "2.0" | undefined;
|
|
10
10
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Variant } from './List.model';
|
|
2
|
-
export declare function getColor(variant: Variant
|
|
3
|
-
export declare function getTheme(variant: Variant, version?: '1.0' | '2.0'
|
|
2
|
+
export declare function getColor(variant: Variant): string;
|
|
3
|
+
export declare function getTheme(variant: Variant, version?: '1.0' | '2.0'): import("@emotion/utils").SerializedStyles;
|
|
@@ -1,35 +1,25 @@
|
|
|
1
1
|
export declare const DropdownContainer: import("styled-components").StyledComponent<"div", any, {
|
|
2
2
|
width?: string | undefined;
|
|
3
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
4
3
|
}, never>;
|
|
5
4
|
export declare const OptionsContainer: import("styled-components").StyledComponent<"div", any, {
|
|
6
5
|
width?: string | undefined;
|
|
7
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
8
6
|
}, never>;
|
|
9
7
|
export declare const NoResultsContainer: import("styled-components").StyledComponent<"div", any, {
|
|
10
8
|
width?: string | undefined;
|
|
11
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
12
|
-
}, never>;
|
|
13
|
-
export declare const GroupedMenuListContainer: import("styled-components").StyledComponent<"div", any, {
|
|
14
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
15
9
|
}, never>;
|
|
10
|
+
export declare const GroupedMenuListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
16
11
|
export declare const StyledMenuList: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
17
|
-
export declare const MenuItemWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
18
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
19
|
-
}, never>;
|
|
12
|
+
export declare const MenuItemWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
20
13
|
export interface MenuItemContainerProps {
|
|
21
14
|
isSelected?: boolean;
|
|
22
15
|
isHovered?: boolean;
|
|
23
16
|
isSubMenuOpen?: boolean;
|
|
24
17
|
isDisabled?: boolean;
|
|
25
|
-
version?: '1.0' | '2.0' | '3.0';
|
|
26
18
|
}
|
|
27
19
|
export declare const MenuItemContainer: import("styled-components").StyledComponent<"div", any, MenuItemContainerProps, never>;
|
|
28
20
|
export declare const ContentContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
29
21
|
export declare const SubMenuWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
30
|
-
export declare const SubMenuListContainer: import("styled-components").StyledComponent<"div", any, {
|
|
31
|
-
version?: "1.0" | "2.0" | "3.0" | undefined;
|
|
32
|
-
}, never>;
|
|
22
|
+
export declare const SubMenuListContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
33
23
|
export declare const LeadingIconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
34
24
|
export declare const TrailingIconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
35
25
|
export declare const SubMenuContainer: import("styled-components").StyledComponent<"div", any, {
|
|
@@ -8,7 +8,6 @@ export interface MultiLevelDropdownProps extends FloaterProps {
|
|
|
8
8
|
allowParentSelection?: boolean;
|
|
9
9
|
maxLevels?: number;
|
|
10
10
|
hideGroupLabel?: boolean;
|
|
11
|
-
version?: '1.0' | '2.0' | '3.0';
|
|
12
11
|
onDropdownOutsideClick?: (isOutsideClick: any) => void;
|
|
13
12
|
onDropdownItemClick?: (option: MultiLevelDropdownOption, parents: MultiLevelDropdownOption[]) => void;
|
|
14
13
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TagProps } from './model';
|
|
2
2
|
export declare const Tag: {
|
|
3
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
3
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: TagProps): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
2
2
|
declare const _default: ComponentMeta<{
|
|
3
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
3
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: import("./model").TagProps): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
displayName: string;
|
|
5
5
|
}>;
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare const Default: ComponentStory<{
|
|
8
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
8
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: import("./model").TagProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
displayName: string;
|
|
10
10
|
}>;
|
|
11
11
|
export declare const WithIcons: ComponentStory<{
|
|
12
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
12
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: import("./model").TagProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
displayName: string;
|
|
14
14
|
}>;
|
|
15
15
|
export declare const WithIconTooltips: ComponentStory<{
|
|
16
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
16
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: import("./model").TagProps): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
displayName: string;
|
|
18
18
|
}>;
|
|
19
19
|
export declare const DarkTheme: ComponentStory<{
|
|
20
|
-
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding,
|
|
20
|
+
({ tagText, LeadingIcon, TrailingIcon, onLeadingIconClicked, leadingIconId, trailingIconId, onTrailingIconClicked, theme, type, variant, version, cursor, alignIcon, noBorder, tagHtmlText, contentPadding, leadingIconTooltip, trailingIconTooltip, tagColor, numberOfLines, backgroundColor, borderRadius, size, }: import("./model").TagProps): import("react/jsx-runtime").JSX.Element;
|
|
21
21
|
displayName: string;
|
|
22
22
|
}>;
|
|
@@ -7,13 +7,11 @@ export declare const Tag: import("@emotion/styled").StyledComponent<{
|
|
|
7
7
|
theme: TagTheme;
|
|
8
8
|
type: TagType;
|
|
9
9
|
variant: TagVariant;
|
|
10
|
-
version?: "1.0" | "2.0" |
|
|
10
|
+
version?: "1.0" | "2.0" | undefined;
|
|
11
11
|
cursor?: string | undefined;
|
|
12
12
|
alignIcon?: string | undefined;
|
|
13
13
|
noBorder?: boolean | undefined;
|
|
14
14
|
contentPadding?: number | undefined;
|
|
15
|
-
padding?: string | undefined;
|
|
16
|
-
height?: number | undefined;
|
|
17
15
|
backgroundColor?: string | undefined;
|
|
18
16
|
borderRadius?: string | number | undefined;
|
|
19
17
|
size?: "small" | "regular" | undefined;
|
|
@@ -92,11 +92,7 @@ export interface TagProps extends React.BaseHTMLAttributes<HTMLDivElement> {
|
|
|
92
92
|
*/
|
|
93
93
|
leadingIconTooltip?: Omit<TooltipProps, 'children'>;
|
|
94
94
|
tagText: string | number;
|
|
95
|
-
version?: '1.0' | '2.0'
|
|
96
|
-
/** Custom CSS padding string, e.g. '4px 8px' */
|
|
97
|
-
padding?: string;
|
|
98
|
-
/** Custom height in px */
|
|
99
|
-
height?: number;
|
|
95
|
+
version?: '1.0' | '2.0';
|
|
100
96
|
cursor?: string;
|
|
101
97
|
alignIcon?: string;
|
|
102
98
|
noBorder?: boolean;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
export declare const BASE_COLORS: {
|
|
2
2
|
brand: {
|
|
3
3
|
900: string;
|
|
4
|
-
850: string;
|
|
5
4
|
800: string;
|
|
6
|
-
700: string;
|
|
7
5
|
500: string;
|
|
8
6
|
100: string;
|
|
9
7
|
50: string;
|
|
@@ -56,7 +54,6 @@ export declare const COLORS: {
|
|
|
56
54
|
brandVeryLight: string;
|
|
57
55
|
pureWhite: string;
|
|
58
56
|
brandTint: string;
|
|
59
|
-
brandHovered: string;
|
|
60
57
|
negative: {
|
|
61
58
|
vibrant: string;
|
|
62
59
|
light: string;
|
|
@@ -117,7 +114,6 @@ export declare const COLORS: {
|
|
|
117
114
|
vibrant: string;
|
|
118
115
|
};
|
|
119
116
|
brandLightAlt: string;
|
|
120
|
-
brandSubdued: string;
|
|
121
117
|
blue: {
|
|
122
118
|
lightAlt: string;
|
|
123
119
|
};
|
|
@@ -349,7 +345,6 @@ export declare const DEFAULT_THEME: {
|
|
|
349
345
|
brandVeryLight: string;
|
|
350
346
|
pureWhite: string;
|
|
351
347
|
brandTint: string;
|
|
352
|
-
brandHovered: string;
|
|
353
348
|
negative: {
|
|
354
349
|
vibrant: string;
|
|
355
350
|
light: string;
|
|
@@ -410,7 +405,6 @@ export declare const DEFAULT_THEME: {
|
|
|
410
405
|
vibrant: string;
|
|
411
406
|
};
|
|
412
407
|
brandLightAlt: string;
|
|
413
|
-
brandSubdued: string;
|
|
414
408
|
blue: {
|
|
415
409
|
lightAlt: string;
|
|
416
410
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SVGProps } from 'react';
|
|
2
2
|
interface Props extends SVGProps<SVGSVGElement> {
|
|
3
|
+
size?: number | string;
|
|
3
4
|
color?: string;
|
|
4
5
|
}
|
|
5
|
-
declare const SvgChevronUp: ({
|
|
6
|
+
declare const SvgChevronUp: ({ size, color, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default SvgChevronUp;
|
package/dist/cjs/src/index.d.ts
CHANGED
|
@@ -17,7 +17,6 @@ export * from './components/spinner';
|
|
|
17
17
|
export * from './components/stepper';
|
|
18
18
|
export * from './components/tag';
|
|
19
19
|
export * from './components/icon-button';
|
|
20
|
-
export * from './components/dual-icon-button';
|
|
21
20
|
export * from './components/template-preview';
|
|
22
21
|
export * from './components/template-context-mapper';
|
|
23
22
|
export * from './components/fab-menu';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as i}from"react/jsx-runtime";import t,{useMemo as n,useCallback as
|
|
1
|
+
import{jsxs as e,jsx as i}from"react/jsx-runtime";import t,{useMemo as n,useCallback as o}from"react";import{COLORS as l}from"../../../constants/Theme.js";import{useWindowSize as r}from"../../../hooks/useWindowSize.js";import{MESSAGE_CHANNELS as a}from"../GiftedChat/types.js";import{Constants as s,isStringifiedArray as d}from"../GiftedChat/utils.js";import{GiftedChatAppType as c}from"./types.js";const g=t=>{var g,u,v,f;const{currentMessage:m,position:h,renderMessageText:b,renderTicks:y,renderTime:p,renderCustomView:j,isCustomViewBottom:T,isUnsatisfactoryMessageFn:I,messagesGroupedByAiTraceId:O,onPress:k,containerStyle:x,bubbleStyles:C,appType:A=c.Bik}=t,M=r(),w=m,G=A===c.Manifest,P=n((()=>w.category===s.ChatActivity.Category.ACTIVITY&&w.activityType===s.ChatActivity.Type.PRIVATE_NOTE),[w.category,w.activityType]),B=n((()=>{const[e,i]=d(null==w?void 0:w.message);return e&&i&&Array.isArray(i)}),[null==w?void 0:w.message]),S=n((()=>{var e,i,t;const n={borderRadius:8,minHeight:20,margin:0,flexGrow:M?1:0},o=(null==w?void 0:w.channelId)===a.GMAIL||(null==w?void 0:w.channelName)===a.GMAIL,r=(null==w?void 0:w.channelId)===a.SMTP||(null==w?void 0:w.channelName)===a.SMTP;let s={};if(G)return s="left"===h?C&&"object"==typeof C.left?C.left:{}:C&&"object"==typeof C.right?C.right:{},Object.assign({},s);if("left"===h)s=Object.assign(Object.assign({},M||o||r?{maxWidth:"100%"}:{}),P?{background:(null===(e=null==w?void 0:w.meta)||void 0===e?void 0:e.aiUsed)?"linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)":l.background.warning.light}:{backgroundColor:(null==w?void 0:w.isPrivateMail)?l.background.blue.light:l.surface.hovered});else{const e=I&&I({aiTraceId:null===(i=w.eventProperties)||void 0===i?void 0:i.aiTraceId,messagesGroupedByAiTraceId:O});s=Object.assign(Object.assign({backgroundColor:"failed"===w.status||e?l.background.negative.light:l.background.brandVeryLight},P?{background:(null===(t=null==w?void 0:w.meta)||void 0===t?void 0:t.aiUsed)?"linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)":l.background.warning.light}:{}),!M&&B?{maxWidth:500}:{})}return Object.assign(Object.assign({},n),s)}),[null==w?void 0:w.channelId,null==w?void 0:w.channelName,null===(g=null==w?void 0:w.meta)||void 0===g?void 0:g.aiUsed,null==w?void 0:w.status,null===(u=null==w?void 0:w.eventProperties)||void 0===u?void 0:u.aiTraceId,h,M,P,B,I,O,null==w?void 0:w.isPrivateMail,C,G]),V=o((()=>e("div",{children:[!T&&(null==j?void 0:j(t)),null==b?void 0:b(t),T&&(null==j?void 0:j(t))]})),[T,j,b,t]),L=n((()=>G&&"object"==typeof x?"left"===h&&"left"in x&&x.left&&"object"==typeof x.left?x.left:"right"===h&&"right"in x&&x.right&&"object"==typeof x.right?x.right:{}:{}),[G,x,h]);return i("div",Object.assign({style:Object.assign(Object.assign({display:"flex",marginTop:G?0:6,marginBottom:G?0:(null===(f=null===(v=null==m?void 0:m.messageInformation)||void 0===v?void 0:v.reactions)||void 0===f?void 0:f.length)>0?24:6,flexGrow:M?1:0},G?Object.assign({alignItems:"flex-end"},"right"===h?{cursor:"pointer"}:{}):{}),L)},G?{onClick:k}:{},{children:i("div",Object.assign({style:S},{children:e("div",{children:[i("div",Object.assign({id:m.chatActivityId||`message-${m.psqlId}`},{children:V()})),e("div",Object.assign({style:{display:"flex",flexDirection:"row",justifyContent:"flex-end",marginLeft:"32px"}},{children:[null==p?void 0:p(t),null==y?void 0:y(m)]}))]})}))}))},u=t.memo(g);export{u as Bubble,u as default};
|
|
2
2
|
//# sourceMappingURL=Bubble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","sources":["../../../../../src/components/BikGiftedChat/Bubble/Bubble.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { MESSAGE_CHANNELS } from '../GiftedChat/types';\nimport { Constants, isStringifiedArray } from '../GiftedChat/utils';\nimport { IMessage } from '../types';\nimport { BubbleProps, GiftedChatAppType } from './types';\n\nconst BubbleComponent = <TMessage extends IMessage = IMessage>(\n\tprops: BubbleProps<TMessage>,\n): React.ReactElement => {\n\tconst {\n\t\tcurrentMessage,\n\t\tposition,\n\t\trenderMessageText,\n\t\trenderTicks,\n\t\trenderTime,\n\t\trenderCustomView,\n\t\tisCustomViewBottom,\n\t\tisUnsatisfactoryMessageFn,\n\t\tmessagesGroupedByAiTraceId,\n\t\tonPress,\n\t\tcontainerStyle,\n\t\tbubbleStyles,\n\t\tappType = GiftedChatAppType.Bik,\n\t} = props;\n\n\tconst isMobile = useWindowSize();\n\tconst message = currentMessage as any;\n\tconst isManifestApp = appType === GiftedChatAppType.Manifest;\n\n\t// Check if message is a private note\n\tconst isPrivateNote = useMemo(\n\t\t() =>\n\t\t\tmessage.category === Constants.ChatActivity.Category.ACTIVITY &&\n\t\t\tmessage.activityType === Constants.ChatActivity.Type.PRIVATE_NOTE,\n\t\t[message.category, message.activityType],\n\t);\n\n\t// Check if message is a carousel (array of items)\n\tconst isCarouselMessage = useMemo(() => {\n\t\tconst [parsedSuccessfully, parsedMessage] = isStringifiedArray(\n\t\t\tmessage?.message,\n\t\t);\n\t\treturn parsedSuccessfully && parsedMessage && Array.isArray(parsedMessage);\n\t}, [message?.message]);\n\t// Generates wrapper styles for the message bubble\n\t// Handles position-based styling, channel-specific layouts, and message states\n\tconst wrapperStyles = useMemo((): React.CSSProperties => {\n\t\tconst baseStyles: React.CSSProperties = {\n\t\t\tborderRadius: 8,\n\t\t\tminHeight: 20,\n\t\t\tmargin: 0,\n\t\t\tflexGrow: isMobile ? 1 : 0,\n\t\t};\n\n\t\t// Check if message is from email channels\n\t\tconst isGmail =\n\t\t\tmessage?.channelId === MESSAGE_CHANNELS.GMAIL ||\n\t\t\tmessage?.channelName === MESSAGE_CHANNELS.GMAIL;\n\t\tconst isSmtp =\n\t\t\tmessage?.channelId === MESSAGE_CHANNELS.SMTP ||\n\t\t\tmessage?.channelName === MESSAGE_CHANNELS.SMTP;\n\n\t\tlet dynamicStyles: React.CSSProperties = {};\n\n\t\tif (isManifestApp) {\n\t\t\tif (position === 'left') {\n\t\t\t\tdynamicStyles =\n\t\t\t\t\tbubbleStyles && typeof bubbleStyles.left === 'object'\n\t\t\t\t\t\t? bubbleStyles.left\n\t\t\t\t\t\t: {};\n\t\t\t} else {\n\t\t\t\tdynamicStyles =\n\t\t\t\t\tbubbleStyles && typeof bubbleStyles.right === 'object'\n\t\t\t\t\t\t? bubbleStyles.right\n\t\t\t\t\t\t: {};\n\t\t\t}\n\t\t\treturn { ...dynamicStyles };\n\t\t} else {\n\t\t\tif (position === 'left') {\n\t\t\t\tdynamicStyles = {\n\t\t\t\t\t...(isMobile || isGmail || isSmtp ? { maxWidth: '100%' } : {}),\n\t\t\t\t\t...(isPrivateNote\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tbackground: message?.meta?.aiUsed\n\t\t\t\t\t\t\t\t\t? 'linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)'\n\t\t\t\t\t\t\t\t\t: COLORS.background.warning.light,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbackgroundColor: message?.isPrivateMail\n\t\t\t\t\t\t\t\t\t? COLORS.background.blue.light\n\t\t\t\t\t\t\t\t\t: COLORS.surface.hovered,\n\t\t\t\t\t\t }),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst isUnsatisfactory =\n\t\t\t\t\tisUnsatisfactoryMessageFn &&\n\t\t\t\t\tisUnsatisfactoryMessageFn({\n\t\t\t\t\t\taiTraceId: message.eventProperties?.aiTraceId,\n\t\t\t\t\t\tmessagesGroupedByAiTraceId,\n\t\t\t\t\t});\n\n\t\t\t\tdynamicStyles = {\n\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\tmessage.status === 'failed' || isUnsatisfactory\n\t\t\t\t\t\t\t? COLORS.background.negative.light\n\t\t\t\t\t\t\t: COLORS.background.brandVeryLight,\n\t\t\t\t\t...(isPrivateNote\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tbackground: message?.meta?.aiUsed\n\t\t\t\t\t\t\t\t\t? 'linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)'\n\t\t\t\t\t\t\t\t\t: COLORS.background.warning.light,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(!isMobile && isCarouselMessage ? { maxWidth: 500 } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tconst extraBubbleStyles: React.CSSProperties =\n\t\t\tbubbleStyles && typeof bubbleStyles === 'object'\n\t\t\t\t? 'left' in bubbleStyles || 'right' in bubbleStyles\n\t\t\t\t\t? position === 'left'\n\t\t\t\t\t\t? ((bubbleStyles as { left?: React.CSSProperties }).left ?? {})\n\t\t\t\t\t\t: ((bubbleStyles as { right?: React.CSSProperties }).right ?? {})\n\t\t\t\t\t: (bubbleStyles as React.CSSProperties)\n\t\t\t\t: {};\n\n\t\treturn { ...baseStyles, ...dynamicStyles, ...extraBubbleStyles };\n\t}, [\n\t\tmessage?.channelId,\n\t\tmessage?.channelName,\n\t\tmessage?.meta?.aiUsed,\n\t\tmessage?.status,\n\t\tmessage?.eventProperties?.aiTraceId,\n\t\tposition,\n\t\tisMobile,\n\t\tisPrivateNote,\n\t\tisCarouselMessage,\n\t\tisUnsatisfactoryMessageFn,\n\t\tmessagesGroupedByAiTraceId,\n\t\tmessage?.isPrivateMail,\n\t\tbubbleStyles,\n\t\tisManifestApp,\n\t]);\n\n\t// Renders the content of the message bubble\n\t// Handles custom views and message text in the correct order\n\tconst renderContent = useCallback(() => {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{!isCustomViewBottom && renderCustomView?.(props)}\n\n\t\t\t\t{renderMessageText?.(props)}\n\n\t\t\t\t{isCustomViewBottom && renderCustomView?.(props)}\n\t\t\t</div>\n\t\t);\n\t}, [isCustomViewBottom, renderCustomView, renderMessageText, props]);\n\n\tconst manifestContainerStyle = useMemo(() => {\n\t\tif (!isManifestApp || typeof containerStyle !== 'object') return {};\n\t\tif (\n\t\t\tposition === 'left' &&\n\t\t\t'left' in containerStyle &&\n\t\t\tcontainerStyle.left &&\n\t\t\ttypeof containerStyle.left === 'object'\n\t\t) {\n\t\t\treturn containerStyle.left;\n\t\t}\n\t\tif (\n\t\t\tposition === 'right' &&\n\t\t\t'right' in containerStyle &&\n\t\t\tcontainerStyle.right &&\n\t\t\ttypeof containerStyle.right === 'object'\n\t\t) {\n\t\t\treturn containerStyle.right;\n\t\t}\n\t\treturn {};\n\t}, [isManifestApp, containerStyle, position]);\n\n\tconst extraContainerStyle: React.CSSProperties =\n\t\t!isManifestApp && containerStyle && typeof containerStyle === 'object'\n\t\t\t? 'left' in containerStyle || 'right' in containerStyle\n\t\t\t\t? position === 'left'\n\t\t\t\t\t? ((containerStyle as { left?: React.CSSProperties }).left ?? {})\n\t\t\t\t\t: ((containerStyle as { right?: React.CSSProperties }).right ?? {})\n\t\t\t\t: (containerStyle as React.CSSProperties)\n\t\t\t: {};\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tmarginTop: isManifestApp ? 0 : 6,\n\t\t\t\tmarginBottom: isManifestApp\n\t\t\t\t\t? 0\n\t\t\t\t\t: currentMessage?.['messageInformation']?.reactions?.length > 0\n\t\t\t\t\t? 24\n\t\t\t\t\t: 6,\n\t\t\t\tflexGrow: isMobile ? 1 : 0,\n\t\t\t\t...(isManifestApp\n\t\t\t\t\t? {\n\t\t\t\t\t\t\talignItems: 'flex-end',\n\t\t\t\t\t\t\t...(position === 'right' ? { cursor: 'pointer' } : {}),\n\t\t\t\t\t }\n\t\t\t\t\t: {}),\n\t\t\t\t...manifestContainerStyle,\n\t\t\t\t...extraContainerStyle,\n\t\t\t}}\n\t\t\t{...(isManifestApp ? { onClick: onPress } : {})}\n\t\t>\n\t\t\t<div style={wrapperStyles}>\n\t\t\t\t<div>\n\t\t\t\t\t{/* Message content */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={\n\t\t\t\t\t\t\tcurrentMessage['chatActivityId'] ||\n\t\t\t\t\t\t\t`message-${currentMessage['psqlId']}`\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderContent()}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Message metadata (time and status) */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\tmarginLeft: '32px',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderTime?.(props)}\n\t\t\t\t\t\t{renderTicks?.(currentMessage)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// Export memoized version for performance\nexport const Bubble = React.memo(BubbleComponent) as typeof BubbleComponent;\n\nexport default Bubble;\n"],"names":["BubbleComponent","props","currentMessage","position","renderMessageText","renderTicks","renderTime","renderCustomView","isCustomViewBottom","isUnsatisfactoryMessageFn","messagesGroupedByAiTraceId","onPress","containerStyle","bubbleStyles","appType","GiftedChatAppType","Bik","isMobile","useWindowSize","message","isManifestApp","Manifest","isPrivateNote","useMemo","category","Constants","ChatActivity","Category","ACTIVITY","activityType","Type","PRIVATE_NOTE","isCarouselMessage","parsedSuccessfully","parsedMessage","isStringifiedArray","Array","isArray","wrapperStyles","baseStyles","borderRadius","minHeight","margin","flexGrow","isGmail","channelId","MESSAGE_CHANNELS","GMAIL","channelName","isSmtp","SMTP","dynamicStyles","left","right","Object","assign","maxWidth","background","_a","meta","aiUsed","COLORS","warning","light","backgroundColor","isPrivateMail","blue","surface","hovered","isUnsatisfactory","aiTraceId","_b","eventProperties","status","negative","brandVeryLight","_c","extraBubbleStyles","_d","_e","renderContent","useCallback","_jsxs","children","manifestContainerStyle","extraContainerStyle","_jsx","style","display","marginTop","marginBottom","_f","reactions","length","alignItems","cursor","onClick","id","flexDirection","justifyContent","marginLeft","Bubble","React","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","sources":["../../../../../src/components/BikGiftedChat/Bubble/Bubble.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { MESSAGE_CHANNELS } from '../GiftedChat/types';\nimport { Constants, isStringifiedArray } from '../GiftedChat/utils';\nimport { IMessage } from '../types';\nimport { BubbleProps, GiftedChatAppType } from './types';\n\nconst BubbleComponent = <TMessage extends IMessage = IMessage>(\n\tprops: BubbleProps<TMessage>,\n): React.ReactElement => {\n\tconst {\n\t\tcurrentMessage,\n\t\tposition,\n\t\trenderMessageText,\n\t\trenderTicks,\n\t\trenderTime,\n\t\trenderCustomView,\n\t\tisCustomViewBottom,\n\t\tisUnsatisfactoryMessageFn,\n\t\tmessagesGroupedByAiTraceId,\n\t\tonPress,\n\t\tcontainerStyle,\n\t\tbubbleStyles,\n\t\tappType = GiftedChatAppType.Bik,\n\t} = props;\n\n\tconst isMobile = useWindowSize();\n\tconst message = currentMessage as any;\n\tconst isManifestApp = appType === GiftedChatAppType.Manifest;\n\n\t// Check if message is a private note\n\tconst isPrivateNote = useMemo(\n\t\t() =>\n\t\t\tmessage.category === Constants.ChatActivity.Category.ACTIVITY &&\n\t\t\tmessage.activityType === Constants.ChatActivity.Type.PRIVATE_NOTE,\n\t\t[message.category, message.activityType],\n\t);\n\n\t// Check if message is a carousel (array of items)\n\tconst isCarouselMessage = useMemo(() => {\n\t\tconst [parsedSuccessfully, parsedMessage] = isStringifiedArray(\n\t\t\tmessage?.message,\n\t\t);\n\t\treturn parsedSuccessfully && parsedMessage && Array.isArray(parsedMessage);\n\t}, [message?.message]);\n\t// Generates wrapper styles for the message bubble\n\t// Handles position-based styling, channel-specific layouts, and message states\n\tconst wrapperStyles = useMemo((): React.CSSProperties => {\n\t\tconst baseStyles: React.CSSProperties = {\n\t\t\tborderRadius: 8,\n\t\t\tminHeight: 20,\n\t\t\tmargin: 0,\n\t\t\tflexGrow: isMobile ? 1 : 0,\n\t\t};\n\n\t\t// Check if message is from email channels\n\t\tconst isGmail =\n\t\t\tmessage?.channelId === MESSAGE_CHANNELS.GMAIL ||\n\t\t\tmessage?.channelName === MESSAGE_CHANNELS.GMAIL;\n\t\tconst isSmtp =\n\t\t\tmessage?.channelId === MESSAGE_CHANNELS.SMTP ||\n\t\t\tmessage?.channelName === MESSAGE_CHANNELS.SMTP;\n\n\t\tlet dynamicStyles: React.CSSProperties = {};\n\n\t\tif (isManifestApp) {\n\t\t\tif (position === 'left') {\n\t\t\t\tdynamicStyles =\n\t\t\t\t\tbubbleStyles && typeof bubbleStyles.left === 'object'\n\t\t\t\t\t\t? bubbleStyles.left\n\t\t\t\t\t\t: {};\n\t\t\t} else {\n\t\t\t\tdynamicStyles =\n\t\t\t\t\tbubbleStyles && typeof bubbleStyles.right === 'object'\n\t\t\t\t\t\t? bubbleStyles.right\n\t\t\t\t\t\t: {};\n\t\t\t}\n\t\t\treturn { ...dynamicStyles };\n\t\t} else {\n\t\t\tif (position === 'left') {\n\t\t\t\tdynamicStyles = {\n\t\t\t\t\t...(isMobile || isGmail || isSmtp ? { maxWidth: '100%' } : {}),\n\t\t\t\t\t...(isPrivateNote\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tbackground: message?.meta?.aiUsed\n\t\t\t\t\t\t\t\t\t? 'linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)'\n\t\t\t\t\t\t\t\t\t: COLORS.background.warning.light,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbackgroundColor: message?.isPrivateMail\n\t\t\t\t\t\t\t\t\t? COLORS.background.blue.light\n\t\t\t\t\t\t\t\t\t: COLORS.surface.hovered,\n\t\t\t\t\t\t }),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst isUnsatisfactory =\n\t\t\t\t\tisUnsatisfactoryMessageFn &&\n\t\t\t\t\tisUnsatisfactoryMessageFn({\n\t\t\t\t\t\taiTraceId: message.eventProperties?.aiTraceId,\n\t\t\t\t\t\tmessagesGroupedByAiTraceId,\n\t\t\t\t\t});\n\n\t\t\t\tdynamicStyles = {\n\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\tmessage.status === 'failed' || isUnsatisfactory\n\t\t\t\t\t\t\t? COLORS.background.negative.light\n\t\t\t\t\t\t\t: COLORS.background.brandVeryLight,\n\t\t\t\t\t...(isPrivateNote\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tbackground: message?.meta?.aiUsed\n\t\t\t\t\t\t\t\t\t? 'linear-gradient(90deg, #ffe6ee 0%, #fff0e7 100%)'\n\t\t\t\t\t\t\t\t\t: COLORS.background.warning.light,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t\t...(!isMobile && isCarouselMessage ? { maxWidth: 500 } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn { ...baseStyles, ...dynamicStyles };\n\t}, [\n\t\tmessage?.channelId,\n\t\tmessage?.channelName,\n\t\tmessage?.meta?.aiUsed,\n\t\tmessage?.status,\n\t\tmessage?.eventProperties?.aiTraceId,\n\t\tposition,\n\t\tisMobile,\n\t\tisPrivateNote,\n\t\tisCarouselMessage,\n\t\tisUnsatisfactoryMessageFn,\n\t\tmessagesGroupedByAiTraceId,\n\t\tmessage?.isPrivateMail,\n\t\tbubbleStyles,\n\t\tisManifestApp,\n\t]);\n\n\t// Renders the content of the message bubble\n\t// Handles custom views and message text in the correct order\n\tconst renderContent = useCallback(() => {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{!isCustomViewBottom && renderCustomView?.(props)}\n\n\t\t\t\t{renderMessageText?.(props)}\n\n\t\t\t\t{isCustomViewBottom && renderCustomView?.(props)}\n\t\t\t</div>\n\t\t);\n\t}, [isCustomViewBottom, renderCustomView, renderMessageText, props]);\n\n\tconst manifestContainerStyle = useMemo(() => {\n\t\tif (!isManifestApp || typeof containerStyle !== 'object') return {};\n\t\tif (\n\t\t\tposition === 'left' &&\n\t\t\t'left' in containerStyle &&\n\t\t\tcontainerStyle.left &&\n\t\t\ttypeof containerStyle.left === 'object'\n\t\t) {\n\t\t\treturn containerStyle.left;\n\t\t}\n\t\tif (\n\t\t\tposition === 'right' &&\n\t\t\t'right' in containerStyle &&\n\t\t\tcontainerStyle.right &&\n\t\t\ttypeof containerStyle.right === 'object'\n\t\t) {\n\t\t\treturn containerStyle.right;\n\t\t}\n\t\treturn {};\n\t}, [isManifestApp, containerStyle, position]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tmarginTop: isManifestApp ? 0 : 6,\n\t\t\t\tmarginBottom: isManifestApp\n\t\t\t\t\t? 0\n\t\t\t\t\t: currentMessage?.['messageInformation']?.reactions?.length > 0\n\t\t\t\t\t? 24\n\t\t\t\t\t: 6,\n\t\t\t\tflexGrow: isMobile ? 1 : 0,\n\t\t\t\t...(isManifestApp\n\t\t\t\t\t? {\n\t\t\t\t\t\t\talignItems: 'flex-end',\n\t\t\t\t\t\t\t...(position === 'right' ? { cursor: 'pointer' } : {}),\n\t\t\t\t\t }\n\t\t\t\t\t: {}),\n\t\t\t\t...manifestContainerStyle,\n\t\t\t}}\n\t\t\t{...(isManifestApp ? { onClick: onPress } : {})}\n\t\t>\n\t\t\t<div style={wrapperStyles}>\n\t\t\t\t<div>\n\t\t\t\t\t{/* Message content */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={\n\t\t\t\t\t\t\tcurrentMessage['chatActivityId'] ||\n\t\t\t\t\t\t\t`message-${currentMessage['psqlId']}`\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderContent()}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Message metadata (time and status) */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\tmarginLeft: '32px',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderTime?.(props)}\n\t\t\t\t\t\t{renderTicks?.(currentMessage)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// Export memoized version for performance\nexport const Bubble = React.memo(BubbleComponent) as typeof BubbleComponent;\n\nexport default Bubble;\n"],"names":["BubbleComponent","props","currentMessage","position","renderMessageText","renderTicks","renderTime","renderCustomView","isCustomViewBottom","isUnsatisfactoryMessageFn","messagesGroupedByAiTraceId","onPress","containerStyle","bubbleStyles","appType","GiftedChatAppType","Bik","isMobile","useWindowSize","message","isManifestApp","Manifest","isPrivateNote","useMemo","category","Constants","ChatActivity","Category","ACTIVITY","activityType","Type","PRIVATE_NOTE","isCarouselMessage","parsedSuccessfully","parsedMessage","isStringifiedArray","Array","isArray","wrapperStyles","baseStyles","borderRadius","minHeight","margin","flexGrow","isGmail","channelId","MESSAGE_CHANNELS","GMAIL","channelName","isSmtp","SMTP","dynamicStyles","left","right","Object","assign","maxWidth","background","_a","meta","aiUsed","COLORS","warning","light","backgroundColor","isPrivateMail","blue","surface","hovered","isUnsatisfactory","aiTraceId","_b","eventProperties","status","negative","brandVeryLight","_c","renderContent","useCallback","_jsxs","children","manifestContainerStyle","_jsx","style","display","marginTop","marginBottom","_d","reactions","length","alignItems","cursor","onClick","id","flexDirection","justifyContent","marginLeft","Bubble","React","memo"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as e}from"../../../_virtual/_tslib.js";import{jsx as
|
|
1
|
+
import{__rest as e}from"../../../_virtual/_tslib.js";import{jsx as r,Fragment as t,jsxs as i}from"react/jsx-runtime";import s,{forwardRef as n,useRef as a,useMemo as o,useImperativeHandle as l,useCallback as d}from"react";import{COLORS as g}from"../../../constants/Theme.js";import{useWindowSize as c}from"../../../hooks/useWindowSize.js";import{BodySecondary as u}from"../../TypographyStyle.js";import{GiftedChatAppType as p}from"../Bubble/types.js";import{Day as v}from"./Day.js";import{getMessagePlacement as h,shouldCenterAlign as m}from"./messageHelpers.js";import{useScrollToBottom as f,useInitialMountScroll as y,useScrollCleanup as b,useRestoreScrollPosition as j,useAutoScrollOnNewMessages as x,useResizeObserverForFirstMessage as M,useScrollHandler as T}from"./scrollHooks.js";import{MESSAGE_CHANNELS as O}from"./types.js";import{TOP_THRESHOLD as A,normalizeRef as w,isSameDay as k,Constants as _}from"./utils.js";var E=n(((n,E)=>{var S;const B=n||{},{messages:C=[],user:I,renderBubble:L,renderAvatar:R,renderDay:D,renderLoading:P,renderChatEmpty:$,listViewProps:F={},renderAvatarOnTop:U=!1,showUserAvatar:V=!1,showAvatarForEveryMessage:W=!1,inverted:G=!1,messageIdGenerator:H,topThreshold:N=A,appType:Y=p.Bik}=B,z=e(B,["messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","appType"]),X=c(),q=a(null),J=w(F.ref||E,q),K=a({isInitialMount:!0,isUserScrolling:!1,isLoadingOldMessages:!1,isAtBottom:!0,hasTriggeredEndReached:!1,lastMessagesLength:null!==(S=null==C?void 0:C.length)&&void 0!==S?S:0,previousScrollHeight:0,previousScrollTop:0,scrollTimeout:null}),Q=o((()=>C&&0!==C.length?[...C].reverse():[]),[C]),Z=f(J,K);l(E,(()=>J.current)),y(J,K,Q.length,Z),b(K),j(J,K,Q.length),x(J,K,C.length,Z),M(null==C?void 0:C[0],K,Z,H);const ee=T(K,F.onEndReached,F.onScroll,N),re=d((e=>{var r;return Boolean(e&&I&&(null===(r=e.user)||void 0===r?void 0:r._id)===I._id)}),[I]),te=d(((e,r)=>!!V&&(!!W||(!r||r.user._id!==e.user._id))),[V,W]),ie=d(((e,t,i)=>{const s=re(e)?"right":"left",n=Object.assign({currentMessage:e,previousMessage:t,nextMessage:i,position:s,user:I},z);return L?L(n):r("div",Object.assign({style:Object.assign(Object.assign({maxWidth:Y===p.Manifest?"50%":"70%",width:"fit-content"},Y===p.Manifest?{minWidth:"130px"}:{}),{padding:"8px 12px",borderRadius:Y===p.Manifest?16:4,border:"left"===s&&Y===p.Manifest?"1px solid rgb(224, 224, 224)":"none",backgroundColor:"right"===s?Y===p.Manifest?g.background.brandTint:g.background.brandLight:Y===p.Manifest?g.background.pureWhite:g.background.inactive,color:g.content.primary,wordBreak:"break-word"})},{children:r(u,{children:e.text})}))}),[re,I,L,z]),se=d(((e,r,t)=>{if(!te(e,t))return null;const i=re(e)?"right":"left";return R?R({currentMessage:e,previousMessage:r,nextMessage:t,position:i,user:I,renderAvatarOnTop:U,showUserAvatar:V,showAvatarForEveryMessage:W}):null}),[te,re,I,U,V,W,R]);return C&&0!==C.length?i("div",Object.assign({ref:J,style:Object.assign({flex:1,overflowY:"auto",overflowX:"hidden",display:"flex",flexDirection:"column"},F.style),onScroll:ee},{children:[r("div",{style:{flex:"1 0 auto"}}),r("div",Object.assign({style:{display:"flex",flexDirection:"column",flex:"0 0 auto"}},{children:Q.map(((e,t)=>{var n,a,o,l,d;const g=re(e)?"right":"left",c=Q[t-1],u=Q[t+1],f=!k(e,c),y=h(e,g),b=m(e),j=(null==e?void 0:e.channelId)===O.SMTP||(null==e?void 0:e.channelName)===O.SMTP,x=e.category===_.ChatActivity.Category.ACTIVITY&&e.activityType===_.ChatActivity.Type.PRIVATE_NOTE;return i(s.Fragment,{children:[f&&(D?D({createdAt:e.createdAt}):r(v,{createdAt:e.createdAt,appType:Y})),i("div",Object.assign({style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},X?{margin:"0 4px"}:{}),b?{}:{display:"flex"}),Y!==p.Manifest?X||2!==(null===(n=null==e?void 0:e.user)||void 0===n?void 0:n._id)?{marginRight:8}:{marginLeft:8}:{}),j&&!x&&X?{marginLeft:8,marginRight:8}:{}),{justifyContent:y,marginBottom:8})},{children:[!X&&"left"===g&&r("div",Object.assign({style:{margin:"0 8px"}},{children:se(e,c,u)})),r("div",Object.assign({id:`message-bubble-${null!==(a=e._id)&&void 0!==a?a:`${t}-${null!==(o=null==H?void 0:H())&&void 0!==o?o:"id"}`}`,style:Y===p.Manifest?{width:"100%"}:X&&j?{display:"flex",flexGrow:1}:{}},{children:ie(e,c,u)})),!X&&"right"===g&&r("div",Object.assign({style:{margin:"0 8px"}},{children:se(e,c,u)}))]}))]},null!==(l=e._id)&&void 0!==l?l:`${t}-${null!==(d=null==H?void 0:H())&&void 0!==d?d:"id"}`)}))}))]})):$?r(t,{children:$()}):null}));export{E as default};
|
|
2
2
|
//# sourceMappingURL=GiftedChat.js.map
|
|
@@ -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' : 'Show 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\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\n\t\t\treturn (\n\t\t\t\t!previousMessage ||\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{reversedMessages.map((message, index) => {\n\t\t\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\tconst shouldShowDay = !isSameDay(message, previousMessage);\n\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\tmessage['category'] === Constants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\tkey={message._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Day separator */}\n\t\t\t\t\t\t\t{shouldShowDay &&\n\t\t\t\t\t\t\t\t(renderDay ? (\n\t\t\t\t\t\t\t\t\trenderDay({ createdAt: message.createdAt })\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Day createdAt={message.createdAt} appType={appType} />\n\t\t\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t...(isCentered\n\t\t\t\t\t\t\t\t\t\t? {}\n\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...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t? !isMobile && message?.user?._id === 2\n\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: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\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: {}),\n\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\tmarginBottom: nextMessage\n\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? 4\n\t\t\t\t\t\t\t\t\t\t\t: 20\n\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\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{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{ marginRight: '4px', width: '24px', flexShrink: 0 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(message, previousMessage, nextMessage)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid={`message-bubble-${\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\tstyle={\n\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\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: isMobile && isSmtp\n\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1 }\n\t\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>\n\t\t\t\t\t\t\t\t\t{renderMessageBubble(message, previousMessage, nextMessage)}\n\t\t\t\t\t\t\t\t</div>\n\n\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{!isMobile && position === 'right' && (\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\tmarginLeft: '4px',\n\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\talignSelf: 'flex-start',\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{renderMessageAvatar(message, previousMessage, nextMessage)}\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</div>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t);\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":["CollapsibleBubbleText","_ref","text","isExpanded","onToggle","textRef","useRef","isOverflowing","setIsOverflowing","useState","useEffect","el","current","style","maxHeight","overflows","scrollHeight","_jsxs","_jsx","Object","assign","ref","overflow","children","BodySecondary","Button","buttonType","size","buttonText","onClick","GiftedChat","forwardRef","GiftedChatInner","props","forwardedRef","_b","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","Bik","isActivityMessage","extraProps","__rest","isMobile","useWindowSize","internalScrollRef","scrollRef","normalizeRef","scrollState","isInitialMount","isUserScrolling","isLoadingOldMessages","isAtBottom","hasTriggeredEndReached","lastMessagesLength","_a","length","previousScrollHeight","previousScrollTop","scrollTimeout","expandedMessages","setExpandedMessages","Set","reversedMessages","useMemo","reverse","scrollToBottom","useScrollToBottom","useImperativeHandle","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","onEndReached","onScroll","isUserMessage","useCallback","message","Boolean","_id","shouldShowAvatar","previousMessage","renderMessageBubble","nextMessage","position","isTopOfStack","isBottomOfStack","_c","_d","bubbleProps","currentMessage","messageId","has","maxWidth","Manifest","width","minWidth","padding","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","border","backgroundColor","COLORS","background","brandTint","brandLight","pureWhite","inactive","color","content","primary","wordBreak","_e","prev","next","delete","add","renderMessageAvatar","flex","overflowY","overflowX","display","flexDirection","height","map","index","shouldShowDay","isSameDay","placement","getMessagePlacement","isCentered","shouldCenterAlign","isSmtp","MESSAGE_CHANNELS","SMTP","isPrivateNote","Constants","ChatActivity","Category","ACTIVITY","Type","PRIVATE_NOTE","React","Fragment","createdAt","Day","margin","alignItems","marginRight","marginLeft","justifyContent","marginBottom","flexShrink","id","flexGrow","alignSelf","_f","_g","_Fragment"],"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\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n} from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\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 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\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\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\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, nextMessage?: IMessage) => {\n\t\t\tif (!showUserAvatar) return false;\n\t\t\tif (showAvatarForEveryMessage) return true;\n\n\t\t\t// Show avatar only when next message is from different user\n\t\t\treturn !nextMessage || nextMessage.user._id !== message.user._id;\n\t\t},\n\t\t[showUserAvatar, showAvatarForEveryMessage],\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\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\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\tborderRadius: appType === GiftedChatAppType.Manifest ? 16 : 4,\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<BodySecondary>{message.text}</BodySecondary>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\t[isUserMessage, user, renderBubble, extraProps],\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, nextMessage);\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...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{reversedMessages.map((message, index) => {\n\t\t\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\tconst shouldShowDay = !isSameDay(message, previousMessage);\n\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\tmessage['category'] === Constants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\tkey={message._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{/* Day separator */}\n\t\t\t\t\t\t\t{shouldShowDay &&\n\t\t\t\t\t\t\t\t(renderDay ? (\n\t\t\t\t\t\t\t\t\trenderDay({ createdAt: message.createdAt })\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Day createdAt={message.createdAt} appType={appType} />\n\t\t\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t...(isCentered ? {} : { display: 'flex' }),\n\t\t\t\t\t\t\t\t\t...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t? !isMobile && message?.user?._id === 2\n\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: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\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: {}),\n\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Left avatar (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t<div style={{ margin: '0 8px' }}>\n\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(message, previousMessage, nextMessage)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid={`message-bubble-${\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\tstyle={\n\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\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: isMobile && isSmtp\n\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1 }\n\t\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>\n\t\t\t\t\t\t\t\t\t{renderMessageBubble(message, previousMessage, nextMessage)}\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t{/* Right avatar (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t{!isMobile && position === 'right' && (\n\t\t\t\t\t\t\t\t\t<div style={{ margin: '0 8px' }}>\n\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(message, previousMessage, nextMessage)}\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</div>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t);\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":["GiftedChat","forwardRef","GiftedChatInner","props","forwardedRef","_b","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","Bik","extraProps","__rest","isMobile","useWindowSize","internalScrollRef","useRef","scrollRef","normalizeRef","ref","scrollState","isInitialMount","isUserScrolling","isLoadingOldMessages","isAtBottom","hasTriggeredEndReached","lastMessagesLength","_a","length","previousScrollHeight","previousScrollTop","scrollTimeout","reversedMessages","useMemo","reverse","scrollToBottom","useScrollToBottom","useImperativeHandle","current","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","onEndReached","onScroll","isUserMessage","useCallback","message","Boolean","_id","shouldShowAvatar","nextMessage","renderMessageBubble","previousMessage","position","bubbleProps","Object","assign","currentMessage","_jsx","style","maxWidth","Manifest","width","minWidth","padding","borderRadius","border","backgroundColor","COLORS","background","brandTint","brandLight","pureWhite","inactive","color","content","primary","wordBreak","children","BodySecondary","text","renderMessageAvatar","_jsxs","flex","overflowY","overflowX","display","flexDirection","map","index","shouldShowDay","isSameDay","placement","getMessagePlacement","isCentered","shouldCenterAlign","isSmtp","MESSAGE_CHANNELS","SMTP","isPrivateNote","Constants","ChatActivity","Category","ACTIVITY","Type","PRIVATE_NOTE","React","Fragment","createdAt","Day","margin","marginRight","marginLeft","justifyContent","marginBottom","id","_c","flexGrow","_d","_e","_Fragment"],"mappings":"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"}
|