@bikdotai/bik-component-library 0.0.821-3 → 0.0.821-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dist/cjs/assets/icons/ManifestGlass.svg.js +2 -0
  2. package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +1 -0
  3. package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
  4. package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
  5. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  6. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  7. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  8. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  9. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  10. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  11. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  12. package/dist/cjs/components/TypographyStyle.js +20 -41
  13. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  14. package/dist/cjs/components/agent-builder/AgentBuilder.js +2 -0
  15. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
  16. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +285 -0
  17. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  18. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
  19. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  20. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
  21. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  22. package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
  23. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
  24. package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
  25. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
  26. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
  27. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
  28. package/dist/cjs/components/agent-builder/components/InstructionsField.js +2 -0
  29. package/dist/cjs/components/agent-builder/components/InstructionsField.js.map +1 -0
  30. package/dist/cjs/components/agent-builder/components/MentionPicker.js +47 -0
  31. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
  32. package/dist/cjs/components/agent-builder/components/RichTextField.js +2 -0
  33. package/dist/cjs/components/agent-builder/components/RichTextField.js.map +1 -0
  34. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
  35. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
  36. package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
  37. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
  38. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
  39. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  40. package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
  41. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
  42. package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
  43. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
  44. package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
  45. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
  46. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
  47. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  48. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
  49. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  50. package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
  51. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
  52. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
  53. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  54. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
  55. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  56. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
  57. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  58. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
  59. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  60. package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
  61. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
  62. package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
  63. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
  64. package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
  65. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
  66. package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
  67. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
  68. package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
  69. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
  70. package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
  71. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
  72. package/dist/cjs/components/avatar/Avatar.js +1 -1
  73. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  74. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  75. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  76. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  77. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  78. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  79. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  80. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  81. package/dist/cjs/components/button/Button.js +1 -1
  82. package/dist/cjs/components/button/Button.js.map +1 -1
  83. package/dist/cjs/components/button/Button.styled.js +13 -13
  84. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  85. package/dist/cjs/components/button/themes.js +6 -6
  86. package/dist/cjs/components/button/themes.js.map +1 -1
  87. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  88. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  89. package/dist/cjs/components/checkBox/CheckBox.styled.js +20 -21
  90. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  91. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  92. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  93. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  94. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  95. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  96. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  97. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  98. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  99. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +8 -9
  100. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  101. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  102. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  103. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  104. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  105. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  106. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  107. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  108. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  109. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  110. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  111. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  112. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  113. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  114. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  115. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  116. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  117. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  118. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  119. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -20
  120. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  121. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  122. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  123. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  124. package/dist/cjs/components/icon-button/IconButton.styled.js +12 -18
  125. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  126. package/dist/cjs/components/icon-button/theme.js +1 -1
  127. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  128. package/dist/cjs/components/input/Input.js +1 -1
  129. package/dist/cjs/components/input/Input.js.map +1 -1
  130. package/dist/cjs/components/input/Input.styled.js +16 -27
  131. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  132. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  133. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  134. package/dist/cjs/components/list-item/ListItem.js +1 -1
  135. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  136. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  137. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  138. package/dist/cjs/components/list-item/themes.js +20 -32
  139. package/dist/cjs/components/list-item/themes.js.map +1 -1
  140. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  141. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  142. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  143. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  144. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  145. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  146. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  147. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  148. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  149. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  150. package/dist/cjs/components/tag/Tag.js +1 -1
  151. package/dist/cjs/components/tag/Tag.js.map +1 -1
  152. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  153. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  154. package/dist/cjs/components/tag/model.js.map +1 -1
  155. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  156. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  157. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  158. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  159. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  160. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  161. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  162. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  163. package/dist/cjs/constants/Theme.js +1 -1
  164. package/dist/cjs/constants/Theme.js.map +1 -1
  165. package/dist/cjs/editor/BikEditor.js +1 -1
  166. package/dist/cjs/editor/BikEditor.js.map +1 -1
  167. package/dist/cjs/editor/BikEditor.styles.js +14 -1
  168. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  169. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  170. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  171. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  172. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  173. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  174. package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
  175. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  176. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  177. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  178. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  179. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  180. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  181. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  182. package/dist/cjs/index.js +1 -1
  183. package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
  184. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
  185. package/dist/esm/assets/icons/playOutline.svg.js +6 -0
  186. package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
  187. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +59 -61
  188. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  189. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
  190. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +88 -124
  191. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  192. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
  193. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  194. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
  195. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  196. package/dist/esm/components/TypographyStyle.d.ts +0 -8
  197. package/dist/esm/components/TypographyStyle.js +40 -63
  198. package/dist/esm/components/TypographyStyle.js.map +1 -1
  199. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +18 -0
  200. package/dist/esm/components/agent-builder/AgentBuilder.js +190 -0
  201. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
  202. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +73 -0
  203. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +121 -0
  204. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +353 -0
  205. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  206. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
  207. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
  208. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  209. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
  210. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
  211. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  212. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
  213. package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
  214. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
  215. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
  216. package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
  217. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
  218. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
  219. package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
  220. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
  221. package/dist/esm/components/agent-builder/components/InstructionsField.d.ts +2 -0
  222. package/dist/esm/components/agent-builder/components/InstructionsField.js +81 -0
  223. package/dist/esm/components/agent-builder/components/InstructionsField.js.map +1 -0
  224. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +12 -0
  225. package/dist/esm/components/agent-builder/components/MentionPicker.js +154 -0
  226. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
  227. package/dist/esm/components/agent-builder/components/RichTextField.d.ts +21 -0
  228. package/dist/esm/components/agent-builder/components/RichTextField.js +66 -0
  229. package/dist/esm/components/agent-builder/components/RichTextField.js.map +1 -0
  230. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +19 -0
  231. package/dist/esm/components/agent-builder/components/SelectableListSection.js +79 -0
  232. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
  233. package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
  234. package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
  235. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
  236. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
  237. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
  238. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  239. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
  240. package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
  241. package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
  242. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
  243. package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
  244. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
  245. package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
  246. package/dist/esm/components/agent-builder/constants/steps.js +32 -0
  247. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
  248. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +53 -0
  249. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +118 -0
  250. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  251. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
  252. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
  253. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  254. package/dist/esm/components/agent-builder/index.d.ts +7 -0
  255. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
  256. package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
  257. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
  258. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
  259. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
  260. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  261. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
  262. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +112 -0
  263. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  264. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
  265. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
  266. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  267. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +55 -0
  268. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +95 -0
  269. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  270. package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
  271. package/dist/esm/components/agent-listing/AgentListing.js +141 -0
  272. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
  273. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +69 -0
  274. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
  275. package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
  276. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
  277. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +16 -0
  278. package/dist/esm/components/agent-listing/AgentListingFilters.js +81 -0
  279. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
  280. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
  281. package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
  282. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
  283. package/dist/esm/components/agent-listing/AgentTable.d.ts +10 -0
  284. package/dist/esm/components/agent-listing/AgentTable.js +33 -0
  285. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
  286. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +10 -0
  287. package/dist/esm/components/agent-listing/AgentTableRow.js +88 -0
  288. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
  289. package/dist/esm/components/agent-listing/index.d.ts +2 -0
  290. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  291. package/dist/esm/components/avatar/Avatar.js +73 -51
  292. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  293. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  294. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  295. package/dist/esm/components/avatar/AvatarHelper.d.ts +4 -5
  296. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  297. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  298. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  299. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  300. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  301. package/dist/esm/components/bik-layout/index.d.ts +0 -2
  302. package/dist/esm/components/button/Button.js +31 -31
  303. package/dist/esm/components/button/Button.js.map +1 -1
  304. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  305. package/dist/esm/components/button/Button.styled.js +20 -20
  306. package/dist/esm/components/button/Button.styled.js.map +1 -1
  307. package/dist/esm/components/button/model.d.ts +3 -3
  308. package/dist/esm/components/button/themes.d.ts +2 -2
  309. package/dist/esm/components/button/themes.js +17 -31
  310. package/dist/esm/components/button/themes.js.map +1 -1
  311. package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
  312. package/dist/esm/components/checkBox/CheckBox.js +83 -102
  313. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  314. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  315. package/dist/esm/components/checkBox/CheckBox.styled.js +9 -10
  316. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  317. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  318. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  319. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  320. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  321. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  322. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  323. package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
  324. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  325. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
  326. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  327. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  328. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +4 -5
  329. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  330. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  331. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  332. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  333. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  334. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -3
  335. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
  336. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  337. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
  338. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +87 -93
  339. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  340. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
  341. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
  342. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  343. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  344. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
  345. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  346. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -3
  347. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
  348. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  349. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  350. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  351. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  352. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  353. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
  354. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  355. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  356. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
  357. package/dist/esm/components/dropdown/type.d.ts +1 -6
  358. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -3
  359. package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
  360. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  361. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  362. package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
  363. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  364. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  365. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  366. package/dist/esm/components/icon-button/IconButton.js +32 -36
  367. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  368. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
  369. package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
  370. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  371. package/dist/esm/components/icon-button/model.d.ts +1 -12
  372. package/dist/esm/components/icon-button/theme.js +10 -12
  373. package/dist/esm/components/icon-button/theme.js.map +1 -1
  374. package/dist/esm/components/input/Input.js +115 -119
  375. package/dist/esm/components/input/Input.js.map +1 -1
  376. package/dist/esm/components/input/Input.model.d.ts +3 -2
  377. package/dist/esm/components/input/Input.styled.d.ts +1 -8
  378. package/dist/esm/components/input/Input.styled.js +22 -34
  379. package/dist/esm/components/input/Input.styled.js.map +1 -1
  380. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +2 -0
  381. package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
  382. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  383. package/dist/esm/components/list-item/List.model.d.ts +1 -2
  384. package/dist/esm/components/list-item/ListItem.js +38 -40
  385. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  386. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
  387. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  388. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  389. package/dist/esm/components/list-item/themes.d.ts +2 -2
  390. package/dist/esm/components/list-item/themes.js +6 -20
  391. package/dist/esm/components/list-item/themes.js.map +1 -1
  392. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  393. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
  394. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  395. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  396. package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
  397. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  398. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
  399. package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
  400. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  401. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
  402. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  403. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  404. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
  405. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  406. package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
  407. package/dist/esm/components/tag/Tag.d.ts +1 -1
  408. package/dist/esm/components/tag/Tag.js +18 -22
  409. package/dist/esm/components/tag/Tag.js.map +1 -1
  410. package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
  411. package/dist/esm/components/tag/Tag.styled.js +7 -7
  412. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  413. package/dist/esm/components/tag/model.d.ts +1 -5
  414. package/dist/esm/components/tag/model.js.map +1 -1
  415. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  416. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  417. package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
  418. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  419. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
  420. package/dist/esm/components/whats-new/WhatsNew.js +19 -23
  421. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  422. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
  423. package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
  424. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  425. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  426. package/dist/esm/constants/Theme.d.ts +0 -36
  427. package/dist/esm/constants/Theme.js +1 -21
  428. package/dist/esm/constants/Theme.js.map +1 -1
  429. package/dist/esm/editor/BikEditor.js +19 -18
  430. package/dist/esm/editor/BikEditor.js.map +1 -1
  431. package/dist/esm/editor/BikEditor.styles.js +13 -0
  432. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  433. package/dist/esm/editor/BikEditor.types.d.ts +14 -0
  434. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  435. package/dist/esm/editor/BikEditor.utils.js +76 -75
  436. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  437. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  438. package/dist/esm/editor/extensions/buildExtensions.js +31 -29
  439. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  440. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
  441. package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
  442. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  443. package/dist/esm/editor/extensions/mention/MentionDropdown.js +34 -28
  444. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  445. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  446. package/dist/esm/editor/extensions/mention/MentionExtension.js +81 -60
  447. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  448. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  449. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
  450. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  451. package/dist/esm/icons/index.d.ts +24 -24
  452. package/dist/esm/index.d.ts +2 -1
  453. package/dist/esm/index.js +806 -798
  454. package/dist/esm/index.js.map +1 -1
  455. package/package.json +3 -2
  456. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  457. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  458. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  459. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  460. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  461. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  462. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  463. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  464. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  465. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  466. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
  467. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  468. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  469. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
  470. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  471. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  472. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
  473. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
  474. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  475. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  476. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
  477. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  478. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
  479. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
  480. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  481. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
  482. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
  483. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  484. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  485. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
  486. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  487. package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
  488. package/dist/esm/components/dual-icon-button/model.d.ts +0 -12
@@ -4,23 +4,23 @@ import f from "@tiptap/extension-font-family";
4
4
  import c from "@tiptap/extension-hard-break";
5
5
  import x from "@tiptap/extension-highlight";
6
6
  import S from "@tiptap/extension-image";
7
- import k from "@tiptap/extension-link";
8
- import M from "../../node_modules/@tiptap/extension-paragraph/dist/index.js";
7
+ import M from "@tiptap/extension-link";
8
+ import k from "../../node_modules/@tiptap/extension-paragraph/dist/index.js";
9
9
  import b from "@tiptap/extension-placeholder";
10
10
  import y from "@tiptap/extension-subscript";
11
11
  import C from "@tiptap/extension-superscript";
12
12
  import E from "@tiptap/extension-text-align";
13
- import { TextStyle as P } from "@tiptap/extension-text-style";
14
- import T from "@tiptap/extension-underline";
15
- import H from "@tiptap/starter-kit";
16
- import { FontSizeExtension as w } from "./FontSizeExtension.js";
17
- import { buildAgentMentionExtension as B, buildTeamMentionExtension as D } from "./mention/MentionExtension.js";
18
- import { PasteExtension as I } from "./paste/PasteExtension.js";
19
- import { PasteNormalizationExtension as L } from "./plainClipboard/PasteNormalizationExtension.js";
20
- import { SectionDividerNode as g } from "./sectionDivider/SectionDividerNode.js";
21
- import { SendShortcutExtension as A } from "./sendShortcut/SendShortcutExtension.js";
22
- import { buildSlashCommandExtension as R } from "./slashCommand/SlashCommandExtension.js";
23
- import { VariableDecorationExtension as F } from "./variable/VariableDecorationExtension.js";
13
+ import { TextStyle as T } from "@tiptap/extension-text-style";
14
+ import P from "@tiptap/extension-underline";
15
+ import D from "@tiptap/starter-kit";
16
+ import { FontSizeExtension as g } from "./FontSizeExtension.js";
17
+ import { buildAgentMentionExtension as H, buildTeamMentionExtension as w } from "./mention/MentionExtension.js";
18
+ import { PasteExtension as B } from "./paste/PasteExtension.js";
19
+ import { PasteNormalizationExtension as I } from "./plainClipboard/PasteNormalizationExtension.js";
20
+ import { SectionDividerNode as L } from "./sectionDivider/SectionDividerNode.js";
21
+ import { SendShortcutExtension as O } from "./sendShortcut/SendShortcutExtension.js";
22
+ import { buildSlashCommandExtension as A } from "./slashCommand/SlashCommandExtension.js";
23
+ import { VariableDecorationExtension as R } from "./variable/VariableDecorationExtension.js";
24
24
  function ae(e) {
25
25
  const o = e.features?.richPaste ?? !1, i = e.features?.richTypography ?? !1, n = e.features?.allowedMarks, t = (r) => !n || n.includes(r), m = c.extend({
26
26
  addKeyboardShortcuts() {
@@ -28,7 +28,7 @@ function ae(e) {
28
28
  "Shift-Enter": () => this.editor.commands.setHardBreak()
29
29
  };
30
30
  }
31
- }), a = (r) => r === "0" || r === "0px" || r === "0pt" || r === "0em", l = M.extend({
31
+ }), a = (r) => r === "0" || r === "0px" || r === "0pt" || r === "0em", l = k.extend({
32
32
  addAttributes() {
33
33
  return {
34
34
  ...this.parent?.() ?? {},
@@ -43,7 +43,7 @@ function ae(e) {
43
43
  // Exclude Link and Underline from StarterKit — TipTap v3 bundles both.
44
44
  // Without this, two copies of each are registered and the StarterKit copy's
45
45
  // click handler calls window.open even when openOnClick: false is set.
46
- H.configure({
46
+ D.configure({
47
47
  link: !1,
48
48
  underline: !1,
49
49
  hardBreak: !1,
@@ -55,10 +55,10 @@ function ae(e) {
55
55
  }),
56
56
  l,
57
57
  m,
58
- ...t("underline") ? [T] : [],
58
+ ...t("underline") ? [P] : [],
59
59
  // Extend Link to strip addPasteRules() and addInputRules() so pasting a
60
60
  // URL never creates a hyperlink regardless of autolink/linkOnPaste values.
61
- k.extend({
61
+ M.extend({
62
62
  addPasteRules: () => [],
63
63
  addInputRules: () => []
64
64
  }).configure({
@@ -70,52 +70,54 @@ function ae(e) {
70
70
  class: "bik-link"
71
71
  }
72
72
  }),
73
- P,
73
+ T,
74
74
  b.configure({
75
75
  placeholder: e.placeholder ?? "Type a message..."
76
76
  }),
77
77
  // Consumer paste callback runs first. If it returns true the event is
78
78
  // consumed and neither PlainClipboardExtension nor the editor's default
79
79
  // paste handling will run for that event.
80
- ...e.onPaste ? [I.configure({ onPaste: e.onPaste })] : [],
81
- L.configure({
80
+ ...e.onPaste ? [B.configure({ onPaste: e.onPaste })] : [],
81
+ I.configure({
82
82
  preserveMarks: o,
83
83
  // Only email + signature (richPaste) keep the rich HTML paste pipeline.
84
84
  // Every other channel (WhatsApp, IG, FB, comments) forces plain-text
85
85
  // paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.
86
86
  plainOnly: !o
87
87
  }),
88
- A.configure({
88
+ O.configure({
89
89
  onSend: e.onSend,
90
90
  sendShortcut: e.sendShortcut,
91
91
  extraShortcuts: e.shortcuts ?? []
92
92
  }),
93
- F,
93
+ R,
94
94
  ...e.maxCharacters ? [h.configure({ limit: e.maxCharacters })] : [],
95
95
  // Always register SectionDividerNode so the custom <div data-section-divider>
96
96
  // node is part of the schema in every editor instance. This means imperative
97
97
  // callers (setBodyAndSections / setSectionContent) work even when no
98
98
  // `sections` prop was provided at mount time.
99
- g
99
+ L
100
100
  ], p = [
101
101
  ...e.mentions?.agents ? [
102
- B(
102
+ H(
103
103
  e.mentions.agents,
104
104
  e.onMentionSelected,
105
105
  e.renderMentionItem,
106
- e.renderMentionDropdown
106
+ e.renderMentionDropdown,
107
+ e.removeMentionTriggerOnDismiss
107
108
  )
108
109
  ] : [],
109
110
  ...e.mentions?.teams ? [
110
- D(
111
+ w(
111
112
  e.mentions.teams,
112
113
  e.onMentionSelected,
113
114
  e.renderMentionItem,
114
- e.renderMentionDropdown
115
+ e.renderMentionDropdown,
116
+ e.removeMentionTriggerOnDismiss
115
117
  )
116
118
  ] : [],
117
119
  ...e.slashCommands ? [
118
- R(
120
+ A(
119
121
  e.slashCommands,
120
122
  e.onSlashCommandSelected,
121
123
  e.renderSlashCommandItem,
@@ -126,7 +128,7 @@ function ae(e) {
126
128
  s,
127
129
  x.configure({ multicolor: !0 }),
128
130
  f,
129
- w,
131
+ g,
130
132
  E.configure({ types: ["heading", "paragraph"] }),
131
133
  y,
132
134
  C,
@@ -1 +1 @@
1
- {"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","StarterKit","Underline","Link","TextStyle","Placeholder","PasteExtension","PasteNormalizationExtension","SendShortcutExtension","VariableDecorationExtension","CharacterCount","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"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"}
1
+ {"version":3,"file":"buildExtensions.js","sources":["../../../../src/editor/extensions/buildExtensions.ts"],"sourcesContent":["import CharacterCount from '@tiptap/extension-character-count';\nimport Color from '@tiptap/extension-color';\nimport FontFamily from '@tiptap/extension-font-family';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport Highlight from '@tiptap/extension-highlight';\nimport Image from '@tiptap/extension-image';\nimport Link from '@tiptap/extension-link';\nimport Paragraph from '@tiptap/extension-paragraph';\nimport Placeholder from '@tiptap/extension-placeholder';\nimport Subscript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport { TextStyle } from '@tiptap/extension-text-style';\nimport Underline from '@tiptap/extension-underline';\nimport StarterKit from '@tiptap/starter-kit';\nimport type { ReactNode } from 'react';\nimport type {\n\tEditorFeatures,\n\tEditorSnapshot,\n\tKeyboardShortcut,\n\tMentionDropdownRenderProps,\n\tMentionItem,\n\tPasteData,\n\tSlashCommandDropdownRenderProps,\n\tSlashCommandItem,\n} from '../BikEditor.types';\nimport { FontSizeExtension } from './FontSizeExtension';\nimport {\n\tbuildAgentMentionExtension,\n\tbuildTeamMentionExtension,\n} from './mention/MentionExtension';\nimport { PasteExtension } from './paste/PasteExtension';\nimport { PasteNormalizationExtension } from './plainClipboard/PasteNormalizationExtension';\nimport { SectionDividerNode } from './sectionDivider/SectionDividerNode';\nimport { SendShortcutExtension } from './sendShortcut/SendShortcutExtension';\nimport { buildSlashCommandExtension } from './slashCommand/SlashCommandExtension';\nimport { VariableDecorationExtension } from './variable/VariableDecorationExtension';\n\ninterface ExtensionConfig {\n\tfeatures?: EditorFeatures;\n\tplaceholder?: string;\n\tmaxCharacters?: number;\n\thasSections?: boolean;\n\tmentions?: {\n\t\tagents?: { current: MentionItem[] };\n\t\tteams?: { current: MentionItem[] };\n\t};\n\tslashCommands?: { current: SlashCommandItem[] };\n\tonPaste?: (data: PasteData) => boolean | void;\n\tonSend?: (content: EditorSnapshot) => void;\n\tsendShortcut?:\n\t\t| { key: string; modifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'> }\n\t\t| Array<{\n\t\t\t\tkey: string;\n\t\t\t\tmodifiers?: Array<'mod' | 'ctrl' | 'shift' | 'alt'>;\n\t\t }>;\n\tshortcuts?: KeyboardShortcut[];\n\tonMentionSelected?: (item: MentionItem, char: '@' | '#') => void;\n\tonSlashCommandSelected?: (command: SlashCommandItem) => void;\n\trenderMentionItem?: (item: MentionItem, isActive: boolean) => ReactNode;\n\trenderMentionDropdown?: (props: MentionDropdownRenderProps) => ReactNode;\n\tremoveMentionTriggerOnDismiss?: boolean;\n\trenderSlashCommandItem?: (\n\t\titem: SlashCommandItem,\n\t\tisActive: boolean,\n\t) => ReactNode;\n\trenderSlashCommandDropdown?: (\n\t\tprops: SlashCommandDropdownRenderProps,\n\t) => ReactNode;\n}\n\nexport function buildExtensions(config: ExtensionConfig) {\n\tconst hasRichPaste = config.features?.richPaste ?? false;\n\tconst hasRichTypography = config.features?.richTypography ?? false;\n\n\t// When allowedMarks is specified only those marks are registered in the schema.\n\t// This disables rendering, keyboard shortcuts AND paste-preservation for the\n\t// excluded marks — all three come for free when the extension is absent.\n\tconst allowedMarks = config.features?.allowedMarks;\n\tconst isMark = (m: 'bold' | 'italic' | 'strike' | 'underline' | 'code') =>\n\t\t!allowedMarks || allowedMarks.includes(m);\n\n\t// Soft line break. Shift-Enter inserts a <br> inside the current block\n\t// (matches Gmail); plain Enter still splits the block into a new paragraph\n\t// via StarterKit's default. HardBreak is registered standalone — like Link\n\t// and Underline above — instead of through StarterKit, so we can bind ONLY\n\t// Shift-Enter here and leave Mod-Enter free for the send shortcut.\n\tconst softBreak = HardBreak.extend({\n\t\taddKeyboardShortcuts() {\n\t\t\treturn {\n\t\t\t\t'Shift-Enter': () => this.editor.commands.setHardBreak(),\n\t\t\t};\n\t\t},\n\t});\n\n\t// Paragraph that preserves a zero block-margin from the source (Gmail-style).\n\t// Most sources (ChatGPT, typed text) use plain <p> → no margin attr → the\n\t// editor/viewer default 1em margin provides the gap. Google-Docs-style\n\t// content uses margin:0 paragraphs and a separate blank-line paragraph for\n\t// spacing; we keep that margin:0 so the blank line — not stacked margins —\n\t// provides a single-line gap, exactly like Gmail. The paste pipeline also\n\t// sets margin:'0' on every paragraph when a paste contains blank-line\n\t// paragraphs (see applyParagraphSpacing), so spacing comes from EITHER the\n\t// margin OR the blank line, never both (no double gap).\n\tconst isZeroLen = (v: string) =>\n\t\tv === '0' || v === '0px' || v === '0pt' || v === '0em';\n\tconst ParagraphWithMargin = Paragraph.extend({\n\t\taddAttributes() {\n\t\t\treturn {\n\t\t\t\t...(this.parent?.() ?? {}),\n\t\t\t\tmargin: {\n\t\t\t\t\tdefault: null,\n\t\t\t\t\tparseHTML: (el: HTMLElement) =>\n\t\t\t\t\t\tisZeroLen(el.style.marginTop) && isZeroLen(el.style.marginBottom)\n\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\trenderHTML: (attrs: { margin?: string | null }) =>\n\t\t\t\t\t\tattrs.margin === '0' ? { style: 'margin: 0px' } : {},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\tconst base = [\n\t\t// Exclude Link and Underline from StarterKit — TipTap v3 bundles both.\n\t\t// Without this, two copies of each are registered and the StarterKit copy's\n\t\t// click handler calls window.open even when openOnClick: false is set.\n\t\tStarterKit.configure({\n\t\t\tlink: false,\n\t\t\tunderline: false,\n\t\t\thardBreak: false,\n\t\t\tparagraph: false,\n\t\t\tbold: isMark('bold') ? {} : false,\n\t\t\titalic: isMark('italic') ? {} : false,\n\t\t\tstrike: isMark('strike') ? {} : false,\n\t\t\tcode: isMark('code') ? {} : false,\n\t\t}),\n\t\tParagraphWithMargin,\n\t\tsoftBreak,\n\t\t...(isMark('underline') ? [Underline] : []),\n\t\t// Extend Link to strip addPasteRules() and addInputRules() so pasting a\n\t\t// URL never creates a hyperlink regardless of autolink/linkOnPaste values.\n\t\tLink.extend({\n\t\t\taddPasteRules: () => [],\n\t\t\taddInputRules: () => [],\n\t\t}).configure({\n\t\t\topenOnClick: false,\n\t\t\tautolink: false,\n\t\t\tlinkOnPaste: false,\n\t\t\tHTMLAttributes: {\n\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\tclass: 'bik-link',\n\t\t\t},\n\t\t}),\n\t\tTextStyle,\n\t\tPlaceholder.configure({\n\t\t\tplaceholder: config.placeholder ?? 'Type a message...',\n\t\t}),\n\t\t// Consumer paste callback runs first. If it returns true the event is\n\t\t// consumed and neither PlainClipboardExtension nor the editor's default\n\t\t// paste handling will run for that event.\n\t\t...(config.onPaste\n\t\t\t? [PasteExtension.configure({ onPaste: config.onPaste })]\n\t\t\t: []),\n\t\tPasteNormalizationExtension.configure({\n\t\t\tpreserveMarks: hasRichPaste,\n\t\t\t// Only email + signature (richPaste) keep the rich HTML paste pipeline.\n\t\t\t// Every other channel (WhatsApp, IG, FB, comments) forces plain-text\n\t\t\t// paste for BOTH Cmd/Ctrl+V and Cmd/Ctrl+Shift+V — no formatting.\n\t\t\tplainOnly: !hasRichPaste,\n\t\t}),\n\t\tSendShortcutExtension.configure({\n\t\t\tonSend: config.onSend,\n\t\t\tsendShortcut: config.sendShortcut,\n\t\t\textraShortcuts: config.shortcuts ?? [],\n\t\t}),\n\t\tVariableDecorationExtension,\n\t\t...(config.maxCharacters\n\t\t\t? [CharacterCount.configure({ limit: config.maxCharacters })]\n\t\t\t: []),\n\t\t// Always register SectionDividerNode so the custom <div data-section-divider>\n\t\t// node is part of the schema in every editor instance. This means imperative\n\t\t// callers (setBodyAndSections / setSectionContent) work even when no\n\t\t// `sections` prop was provided at mount time.\n\t\tSectionDividerNode,\n\t];\n\n\tconst mentionExtensions = [\n\t\t...(config.mentions?.agents\n\t\t\t? [\n\t\t\t\t\tbuildAgentMentionExtension(\n\t\t\t\t\t\tconfig.mentions.agents,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.mentions?.teams\n\t\t\t? [\n\t\t\t\t\tbuildTeamMentionExtension(\n\t\t\t\t\t\tconfig.mentions.teams,\n\t\t\t\t\t\tconfig.onMentionSelected,\n\t\t\t\t\t\tconfig.renderMentionItem,\n\t\t\t\t\t\tconfig.renderMentionDropdown,\n\t\t\t\t\t\tconfig.removeMentionTriggerOnDismiss,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t\t...(config.slashCommands\n\t\t\t? [\n\t\t\t\t\tbuildSlashCommandExtension(\n\t\t\t\t\t\tconfig.slashCommands,\n\t\t\t\t\t\tconfig.onSlashCommandSelected,\n\t\t\t\t\t\tconfig.renderSlashCommandItem,\n\t\t\t\t\t\tconfig.renderSlashCommandDropdown,\n\t\t\t\t\t),\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst richExtensions = hasRichTypography\n\t\t? [\n\t\t\t\tColor,\n\t\t\t\tHighlight.configure({ multicolor: true }),\n\t\t\t\tFontFamily,\n\t\t\t\tFontSizeExtension,\n\t\t\t\tTextAlign.configure({ types: ['heading', 'paragraph'] }),\n\t\t\t\tSubscript,\n\t\t\t\tSuperscript,\n\t\t\t\tImage,\n\t\t ]\n\t\t: [Color];\n\n\treturn [...base, ...mentionExtensions, ...richExtensions];\n}\n"],"names":["buildExtensions","config","hasRichPaste","hasRichTypography","allowedMarks","isMark","m","softBreak","HardBreak","isZeroLen","v","ParagraphWithMargin","Paragraph","el","attrs","base","StarterKit","Underline","Link","TextStyle","Placeholder","PasteExtension","PasteNormalizationExtension","SendShortcutExtension","VariableDecorationExtension","CharacterCount","SectionDividerNode","mentionExtensions","buildAgentMentionExtension","buildTeamMentionExtension","buildSlashCommandExtension","richExtensions","Color","Highlight","FontFamily","FontSizeExtension","TextAlign","Subscript","Superscript","Image"],"mappings":"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"}
@@ -8,11 +8,5 @@ export declare const MentionLabel: import('styled-components').StyledComponent<"
8
8
  export declare const MentionPresenceDot: import('styled-components').StyledComponent<"span", any, {
9
9
  $online?: boolean | undefined;
10
10
  }, never>;
11
- export declare const SlashLabel: import('styled-components').StyledComponent<"div", any, {
12
- numberOfLines?: number | undefined;
13
- color?: string | undefined;
14
- }, never>;
15
- export declare const SlashDescription: import('styled-components').StyledComponent<"div", any, {
16
- numberOfLines?: number | undefined;
17
- color?: string | undefined;
18
- }, never>;
11
+ export declare const SlashLabel: import('styled-components').StyledComponent<"span", any, {}, never>;
12
+ export declare const SlashDescription: import('styled-components').StyledComponent<"span", any, {}, never>;
@@ -1,31 +1,33 @@
1
1
  import t from "styled-components";
2
2
  import { COLORS as o } from "../../constants/Theme.js";
3
- import { BodyCaption as n } from "../../components/TypographyStyle.js";
4
- const c = t.div`
3
+ const i = t.div`
5
4
  background: ${o.surface.standard};
6
- border-radius: 4px;
5
+ border: 1px solid ${o.stroke.primary};
6
+ border-radius: 8px;
7
7
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
8
+ padding: 4px;
8
9
  min-width: 330px;
9
10
  max-height: 260px;
10
11
  overflow-y: auto;
11
12
  font-size: 14px;
12
13
  color: ${o.content.primary};
13
- `, p = t.div`
14
+ `, a = t.div`
14
15
  display: flex;
15
16
  align-items: center;
16
17
  gap: 8px;
17
- padding: 8px;
18
+ padding: 12px 16px;
18
19
  min-height: 43px;
20
+ border-radius: 6px;
19
21
  cursor: pointer;
20
22
  color: ${o.content.primary};
21
23
  background: ${({ $isActive: r }) => r ? o.surface.hovered : "transparent"};
22
- `, s = t.img`
24
+ `, p = t.img`
23
25
  width: 24px;
24
26
  height: 24px;
25
27
  border-radius: 50%;
26
28
  object-fit: cover;
27
29
  flex-shrink: 0;
28
- `, d = t.div`
30
+ `, s = t.div`
29
31
  width: 24px;
30
32
  height: 24px;
31
33
  border-radius: 50%;
@@ -37,30 +39,32 @@ const c = t.div`
37
39
  font-weight: 600;
38
40
  color: ${o.content.primary};
39
41
  flex-shrink: 0;
40
- `, l = t.span`
42
+ `, c = t.span`
41
43
  font-weight: 500;
42
44
  color: ${o.content.primary};
43
- `, h = t.span`
45
+ `, d = t.span`
44
46
  width: 8px;
45
47
  height: 8px;
46
48
  border-radius: 50%;
47
49
  background: ${({ $online: r }) => r ? o.content.positive : o.content.placeholder};
48
50
  margin-left: auto;
49
51
  flex-shrink: 0;
50
- `, x = t(n)`
52
+ `, x = t.span`
53
+ font-weight: 500;
51
54
  color: ${o.content.primary};
52
- `, f = t(n)`
55
+ `, l = t.span`
56
+ font-size: 12px;
53
57
  color: ${o.content.secondary};
54
58
  margin-left: auto;
55
59
  `;
56
60
  export {
57
- c as DropdownContainer,
58
- p as DropdownItem,
59
- s as MentionAvatar,
60
- d as MentionAvatarFallback,
61
- l as MentionLabel,
62
- h as MentionPresenceDot,
63
- f as SlashDescription,
61
+ i as DropdownContainer,
62
+ a as DropdownItem,
63
+ p as MentionAvatar,
64
+ s as MentionAvatarFallback,
65
+ c as MentionLabel,
66
+ d as MentionPresenceDot,
67
+ l as SlashDescription,
64
68
  x as SlashLabel
65
69
  };
66
70
  //# sourceMappingURL=editorDropdown.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorDropdown.styles.js","sources":["../../../../src/editor/extensions/editorDropdown.styles.ts"],"sourcesContent":["import { BodyCaption } from '@src/index';\nimport styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const DropdownContainer = styled.div`\n\tbackground: ${COLORS.surface.standard};\n\tborder-radius: 4px;\n\tbox-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n\tmin-width: 330px;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\tfont-size: 14px;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const DropdownItem = styled.div<{ $isActive?: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 8px;\n\tmin-height: 43px;\n\tcursor: pointer;\n\tcolor: ${COLORS.content.primary};\n\tbackground: ${({ $isActive }) =>\n\t\t$isActive ? COLORS.surface.hovered : 'transparent'};\n`;\n\nexport const MentionAvatar = styled.img`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tflex-shrink: 0;\n`;\n\nexport const MentionAvatarFallback = styled.div`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground: ${COLORS.surface.hovered};\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tcolor: ${COLORS.content.primary};\n\tflex-shrink: 0;\n`;\n\nexport const MentionLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const MentionPresenceDot = styled.span<{ $online?: boolean }>`\n\twidth: 8px;\n\theight: 8px;\n\tborder-radius: 50%;\n\tbackground: ${({ $online }) =>\n\t\t$online ? COLORS.content.positive : COLORS.content.placeholder};\n\tmargin-left: auto;\n\tflex-shrink: 0;\n`;\n\nexport const SlashLabel = styled(BodyCaption)`\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const SlashDescription = styled(BodyCaption)`\n\tcolor: ${COLORS.content.secondary};\n\tmargin-left: auto;\n`;\n"],"names":["DropdownContainer","styled","COLORS","DropdownItem","$isActive","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot","$online","SlashLabel","BodyCaption","SlashDescription"],"mappings":";;;AAIO,MAAMA,IAAoBC,EAAO;AAAA,eACzBC,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAO5BA,EAAO,QAAQ,OAAO;AAAA,GAGnBC,IAAeF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOzBC,EAAO,QAAQ,OAAO;AAAA,eACjB,CAAC,EAAE,WAAAE,QAChBA,IAAYF,EAAO,QAAQ,UAAU,aAAa;AAAA,GAGvCG,IAAgBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvBK,IAAwBL,EAAO;AAAA;AAAA;AAAA;AAAA,eAI7BC,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM3BA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAInBK,IAAeN,EAAO;AAAA;AAAA,UAEzBC,EAAO,QAAQ,OAAO;AAAA,GAGnBM,IAAqBP,EAAO;AAAA;AAAA;AAAA;AAAA,eAI1B,CAAC,EAAE,SAAAQ,EAAA,MAChBA,IAAUP,EAAO,QAAQ,WAAWA,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA,GAKnDQ,IAAaT,EAAOU,CAAW;AAAA,UAClCT,EAAO,QAAQ,OAAO;AAAA,GAGnBU,IAAmBX,EAAOU,CAAW;AAAA,UACxCT,EAAO,QAAQ,SAAS;AAAA;AAAA;"}
1
+ {"version":3,"file":"editorDropdown.styles.js","sources":["../../../../src/editor/extensions/editorDropdown.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const DropdownContainer = styled.div`\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n\tpadding: 4px;\n\tmin-width: 330px;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\tfont-size: 14px;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const DropdownItem = styled.div<{ $isActive?: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 12px 16px;\n\tmin-height: 43px;\n\tborder-radius: 6px;\n\tcursor: pointer;\n\tcolor: ${COLORS.content.primary};\n\tbackground: ${({ $isActive }) =>\n\t\t$isActive ? COLORS.surface.hovered : 'transparent'};\n`;\n\nexport const MentionAvatar = styled.img`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tflex-shrink: 0;\n`;\n\nexport const MentionAvatarFallback = styled.div`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground: ${COLORS.surface.hovered};\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tcolor: ${COLORS.content.primary};\n\tflex-shrink: 0;\n`;\n\nexport const MentionLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const MentionPresenceDot = styled.span<{ $online?: boolean }>`\n\twidth: 8px;\n\theight: 8px;\n\tborder-radius: 50%;\n\tbackground: ${({ $online }) =>\n\t\t$online ? COLORS.content.positive : COLORS.content.placeholder};\n\tmargin-left: auto;\n\tflex-shrink: 0;\n`;\n\nexport const SlashLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const SlashDescription = styled.span`\n\tfont-size: 12px;\n\tcolor: ${COLORS.content.secondary};\n\tmargin-left: auto;\n`;\n"],"names":["DropdownContainer","styled","COLORS","DropdownItem","$isActive","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot","$online","SlashLabel","SlashDescription"],"mappings":";;AAGO,MAAMA,IAAoBC,EAAO;AAAA,eACzBC,EAAO,QAAQ,QAAQ;AAAA,qBACjBA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQhCA,EAAO,QAAQ,OAAO;AAAA,GAGnBC,IAAeF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQzBC,EAAO,QAAQ,OAAO;AAAA,eACjB,CAAC,EAAE,WAAAE,QAChBA,IAAYF,EAAO,QAAQ,UAAU,aAAa;AAAA,GAGvCG,IAAgBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvBK,IAAwBL,EAAO;AAAA;AAAA;AAAA;AAAA,eAI7BC,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM3BA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAInBK,IAAeN,EAAO;AAAA;AAAA,UAEzBC,EAAO,QAAQ,OAAO;AAAA,GAGnBM,IAAqBP,EAAO;AAAA;AAAA;AAAA;AAAA,eAI1B,CAAC,EAAE,SAAAQ,EAAA,MAChBA,IAAUP,EAAO,QAAQ,WAAWA,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA,GAKnDQ,IAAaT,EAAO;AAAA;AAAA,UAEvBC,EAAO,QAAQ,OAAO;AAAA,GAGnBS,IAAmBV,EAAO;AAAA;AAAA,UAE7BC,EAAO,QAAQ,SAAS;AAAA;AAAA;"}
@@ -1,46 +1,52 @@
1
- import { jsx as t, Fragment as h, jsxs as x } from "react/jsx-runtime";
2
- import { forwardRef as k, useState as M, useRef as b, useCallback as g, useImperativeHandle as v, useEffect as A } from "react";
3
- import { DropdownContainer as D, DropdownItem as I, MentionAvatar as y, MentionAvatarFallback as C, MentionLabel as U, MentionPresenceDot as E } from "../editorDropdown.styles.js";
4
- const R = k(
5
- ({ items: r, query: p, command: c, renderItem: s, renderDropdown: i }, w) => {
6
- const [l, a] = M(0), u = b(null), f = g((n) => {
7
- const e = u.current;
1
+ import { jsx as t, Fragment as p, jsxs as M } from "react/jsx-runtime";
2
+ import { forwardRef as b, useState as A, useRef as x, useCallback as w, useImperativeHandle as I, useEffect as v } from "react";
3
+ import { DropdownContainer as D, DropdownItem as C, MentionAvatar as R, MentionAvatarFallback as U, MentionLabel as E, MentionPresenceDot as H } from "../editorDropdown.styles.js";
4
+ const K = b(
5
+ ({ items: r, query: g, command: s, renderItem: i, renderDropdown: a }, k) => {
6
+ const [l, c] = A(0), f = x(null), u = x(null), y = w(
7
+ (n) => {
8
+ u.current = n;
9
+ },
10
+ []
11
+ ), d = w((n) => {
12
+ const e = f.current;
8
13
  if (!e) return;
9
14
  e.children[n]?.scrollIntoView({ block: "nearest" });
10
- }, []), d = (n) => {
11
- r[n] && c(r[n]);
15
+ }, []), h = (n) => {
16
+ r[n] && s(r[n]);
12
17
  };
13
- return v(w, () => ({
14
- onKeyDown: ({ event: n }) => r.length ? n.key === "ArrowUp" ? (a((e) => {
18
+ return I(k, () => ({
19
+ onKeyDown: ({ event: n }) => a && u.current ? u.current(n) : r.length ? n.key === "ArrowUp" ? (c((e) => {
15
20
  const o = (e + r.length - 1) % r.length;
16
- return f(o), o;
17
- }), !0) : n.key === "ArrowDown" ? (a((e) => {
21
+ return d(o), o;
22
+ }), !0) : n.key === "ArrowDown" ? (c((e) => {
18
23
  const o = (e + 1) % r.length;
19
- return f(o), o;
20
- }), !0) : n.key === "Enter" ? (d(l), !0) : !1 : !1
21
- })), A(() => a(0), [r]), r.length ? i ? /* @__PURE__ */ t(h, { children: i({
24
+ return d(o), o;
25
+ }), !0) : n.key === "Enter" ? (h(l), !0) : !1 : !1
26
+ })), v(() => c(0), [r]), r.length ? a ? /* @__PURE__ */ t(p, { children: a({
22
27
  items: r,
23
- query: p,
28
+ query: g,
24
29
  activeIndex: l,
25
- onSelect: (n) => c(n)
26
- }) }) : /* @__PURE__ */ t(D, { ref: u, children: r.map((n, e) => /* @__PURE__ */ t(
27
- I,
30
+ onSelect: (n) => s(n),
31
+ registerKeyHandler: y
32
+ }) }) : /* @__PURE__ */ t(D, { ref: f, children: r.map((n, e) => /* @__PURE__ */ t(
33
+ C,
28
34
  {
29
35
  $isActive: e === l,
30
- onMouseEnter: () => a(e),
31
- onClick: () => d(e),
32
- children: s ? s(n, e === l) : /* @__PURE__ */ x(h, { children: [
33
- n.avatarUrl ? /* @__PURE__ */ t(y, { src: n.avatarUrl, alt: "" }) : /* @__PURE__ */ t(C, { children: n.label.charAt(0).toUpperCase() }),
34
- /* @__PURE__ */ t(U, { children: n.label }),
35
- n.isOnline !== void 0 && /* @__PURE__ */ t(E, { $online: n.isOnline })
36
+ onMouseEnter: () => c(e),
37
+ onClick: () => h(e),
38
+ children: i ? i(n, e === l) : /* @__PURE__ */ M(p, { children: [
39
+ n.avatarUrl ? /* @__PURE__ */ t(R, { src: n.avatarUrl, alt: "" }) : /* @__PURE__ */ t(U, { children: n.label.charAt(0).toUpperCase() }),
40
+ /* @__PURE__ */ t(E, { children: n.label }),
41
+ n.isOnline !== void 0 && /* @__PURE__ */ t(H, { $online: n.isOnline })
36
42
  ] })
37
43
  },
38
44
  n.id
39
45
  )) }) : null;
40
46
  }
41
47
  );
42
- R.displayName = "MentionDropdown";
48
+ K.displayName = "MentionDropdown";
43
49
  export {
44
- R as MentionDropdown
50
+ K as MentionDropdown
45
51
  };
46
52
  //# sourceMappingURL=MentionDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\tif (!items.length) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","scrollToIndex","useCallback","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":";;;AAkCO,MAAMA,IAAkBC;AAAA,EAC9B,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,EAAA,GAAkBC,MAAQ;AAC/D,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAeC,EAAuB,IAAI,GAE1CC,IAAgBC,EAAY,CAACC,MAAkB;AACpD,YAAMC,IAAYL,EAAa;AAC/B,UAAI,CAACK,EAAW;AAEhB,MADaA,EAAU,SAASD,CAAK,GAC/B,eAAe,EAAE,OAAO,UAAA,CAAW;AAAA,IAC1C,GAAG,CAAA,CAAE,GAECE,IAAS,CAACC,MAAc;AAC7B,MAAIhB,EAAMgB,CAAC,KAAGd,EAAQF,EAAMgB,CAAC,CAAC;AAAA,IAC/B;AA+BA,WA7BAC,EAAoBZ,GAAK,OAAO;AAAA,MAC/B,WAAW,CAAC,EAAE,OAAAa,QACRlB,EAAM,SACPkB,EAAM,QAAQ,aACjBX,EAAiB,CAACY,MAAS;AAC1B,cAAMC,KAAQD,IAAOnB,EAAM,SAAS,KAAKA,EAAM;AAC/C,eAAAW,EAAcS,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,eACjBX,EAAiB,CAACY,MAAS;AAC1B,cAAMC,KAAQD,IAAO,KAAKnB,EAAM;AAChC,eAAAW,EAAcS,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,WACjBH,EAAOT,CAAa,GACb,MAED,KArBmB;AAAA,IAsB3B,EACC,GAEFe,EAAU,MAAMd,EAAiB,CAAC,GAAG,CAACP,CAAK,CAAC,GAEvCA,EAAM,SAGPI,2BAGA,UAAAA,EAAe;AAAA,MACf,OAAAJ;AAAA,MACA,OAAAC;AAAA,MACA,aAAaK;AAAA,MACb,UAAU,CAACgB,MAASpB,EAAQoB,CAAI;AAAA,IAAA,CAChC,GACF,IAKD,gBAAAC,EAACC,KAAkB,KAAKf,GACtB,YAAM,IAAI,CAACa,GAAMN,MACjB,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QAEA,WAAWT,MAAMV;AAAA,QACjB,cAAc,MAAMC,EAAiBS,CAAC;AAAA,QACtC,SAAS,MAAMD,EAAOC,CAAC;AAAA,QAEtB,cACAb,EAAWmB,GAAMN,MAAMV,CAAa,IAEpC,gBAAAoB,EAAAC,GAAA,EACE,UAAA;AAAA,UAAAL,EAAK,YACL,gBAAAC,EAACK,GAAA,EAAc,KAAKN,EAAK,WAAW,KAAI,GAAA,CAAG,IAE3C,gBAAAC,EAACM,KACC,UAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,eACvB;AAAA,UAED,gBAAAC,EAACO,GAAA,EAAc,UAAAR,EAAK,MAAA,CAAM;AAAA,UACzBA,EAAK,aAAa,4BACjBS,GAAA,EAAmB,SAAST,EAAK,SAAA,CAAU;AAAA,QAAA,EAAA,CAE9C;AAAA,MAAA;AAAA,MApBIA,EAAK;AAAA,IAAA,CAuBX,GACF,IA5CyB;AAAA,EA8C3B;AACD;AACAxB,EAAgB,cAAc;"}
1
+ {"version":3,"file":"MentionDropdown.js","sources":["../../../../../src/editor/extensions/mention/MentionDropdown.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport type {\n\tMentionDropdownRenderProps,\n\tMentionItem,\n} from '../../BikEditor.types';\nimport {\n\tDropdownContainer,\n\tDropdownItem,\n\tMentionAvatar,\n\tMentionAvatarFallback,\n\tMentionLabel,\n\tMentionPresenceDot,\n} from '../editorDropdown.styles';\n\ninterface Props {\n\titems: MentionItem[];\n\tquery: string;\n\tcommand: (item: MentionItem) => void;\n\t/** Custom per-row renderer. Receives the item and whether it is the active row. */\n\trenderItem?: (item: MentionItem, isActive: boolean) => React.ReactNode;\n\t/**\n\t * Full custom dropdown renderer. Takes priority over renderItem.\n\t * The editor passes activeIndex and onSelect — you handle all the visual rendering.\n\t */\n\trenderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown }, ref) => {\n\t\tconst [selectedIndex, setSelectedIndex] = useState(0);\n\t\tconst containerRef = useRef<HTMLDivElement>(null);\n\t\t// A custom dropdown (renderDropdown) can claim keyboard nav for itself.\n\t\tconst customKeyHandlerRef = useRef<\n\t\t\t((event: KeyboardEvent) => boolean) | null\n\t\t>(null);\n\n\t\tconst registerKeyHandler = useCallback(\n\t\t\t(handler: ((event: KeyboardEvent) => boolean) | null) => {\n\t\t\t\tcustomKeyHandlerRef.current = handler;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\t// A custom dropdown that registered a handler owns navigation.\n\t\t\t\tif (renderDropdown && customKeyHandlerRef.current) {\n\t\t\t\t\treturn customKeyHandlerRef.current(event);\n\t\t\t\t}\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\tif (!items.length) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t\tregisterKeyHandler,\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","customKeyHandlerRef","registerKeyHandler","useCallback","handler","scrollToIndex","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":";;;AAkCO,MAAMA,IAAkBC;AAAA,EAC9B,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,EAAA,GAAkBC,MAAQ;AAC/D,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAeC,EAAuB,IAAI,GAE1CC,IAAsBD,EAE1B,IAAI,GAEAE,IAAqBC;AAAA,MAC1B,CAACC,MAAwD;AACxD,QAAAH,EAAoB,UAAUG;AAAA,MAC/B;AAAA,MACA,CAAA;AAAA,IAAC,GAGIC,IAAgBF,EAAY,CAACG,MAAkB;AACpD,YAAMC,IAAYR,EAAa;AAC/B,UAAI,CAACQ,EAAW;AAEhB,MADaA,EAAU,SAASD,CAAK,GAC/B,eAAe,EAAE,OAAO,UAAA,CAAW;AAAA,IAC1C,GAAG,CAAA,CAAE,GAECE,IAAS,CAACC,MAAc;AAC7B,MAAInB,EAAMmB,CAAC,KAAGjB,EAAQF,EAAMmB,CAAC,CAAC;AAAA,IAC/B;AAmCA,WAjCAC,EAAoBf,GAAK,OAAO;AAAA,MAC/B,WAAW,CAAC,EAAE,OAAAgB,QAETjB,KAAkBO,EAAoB,UAClCA,EAAoB,QAAQU,CAAK,IAEpCrB,EAAM,SACPqB,EAAM,QAAQ,aACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAOtB,EAAM,SAAS,KAAKA,EAAM;AAC/C,eAAAe,EAAcQ,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,eACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAO,KAAKtB,EAAM;AAChC,eAAAe,EAAcQ,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,WACjBH,EAAOZ,CAAa,GACb,MAED,KArBmB;AAAA,IAsB3B,EACC,GAEFkB,EAAU,MAAMjB,EAAiB,CAAC,GAAG,CAACP,CAAK,CAAC,GAEvCA,EAAM,SAGPI,2BAGA,UAAAA,EAAe;AAAA,MACf,OAAAJ;AAAA,MACA,OAAAC;AAAA,MACA,aAAaK;AAAA,MACb,UAAU,CAACmB,MAASvB,EAAQuB,CAAI;AAAA,MAChC,oBAAAb;AAAA,IAAA,CACA,GACF,IAKD,gBAAAc,EAACC,KAAkB,KAAKlB,GACtB,YAAM,IAAI,CAACgB,GAAMN,MACjB,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QAEA,WAAWT,MAAMb;AAAA,QACjB,cAAc,MAAMC,EAAiBY,CAAC;AAAA,QACtC,SAAS,MAAMD,EAAOC,CAAC;AAAA,QAEtB,cACAhB,EAAWsB,GAAMN,MAAMb,CAAa,IAEpC,gBAAAuB,EAAAC,GAAA,EACE,UAAA;AAAA,UAAAL,EAAK,YACL,gBAAAC,EAACK,GAAA,EAAc,KAAKN,EAAK,WAAW,KAAI,GAAA,CAAG,IAE3C,gBAAAC,EAACM,KACC,UAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,eACvB;AAAA,UAED,gBAAAC,EAACO,GAAA,EAAc,UAAAR,EAAK,MAAA,CAAM;AAAA,UACzBA,EAAK,aAAa,4BACjBS,GAAA,EAAmB,SAAST,EAAK,SAAA,CAAU;AAAA,QAAA,EAAA,CAE9C;AAAA,MAAA;AAAA,MApBIA,EAAK;AAAA,IAAA,CAuBX,GACF,IA7CyB;AAAA,EA+C3B;AACD;AACA3B,EAAgB,cAAc;"}
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { MentionDropdownRenderProps, MentionItem } from '../../BikEditor.types';
3
3
  export declare function buildAgentMentionExtension(agentsRef: {
4
4
  current: MentionItem[];
5
- }, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
5
+ }, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode, removeTriggerOnDismiss?: boolean): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
6
6
  export declare function buildTeamMentionExtension(teamsRef: {
7
7
  current: MentionItem[];
8
- }, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
8
+ }, onSelect?: (item: MentionItem, char: '@' | '#') => void, renderItem?: (item: MentionItem, isActive: boolean) => ReactNode, renderDropdown?: (props: MentionDropdownRenderProps) => ReactNode, removeTriggerOnDismiss?: boolean): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
@@ -1,84 +1,105 @@
1
- import { mergeAttributes as s } from "../../../node_modules/@tiptap/core/dist/index.js";
2
- import u from "@tiptap/extension-mention";
3
- import { ReactRenderer as c } from "@tiptap/react";
4
- import { createSuggestionPopup as m } from "../suggestionPopup.js";
5
- import { MentionDropdown as d } from "./MentionDropdown.js";
6
- function l(a, r = "@", i, o) {
1
+ import { mergeAttributes as m } from "../../../node_modules/@tiptap/core/dist/index.js";
2
+ import c from "@tiptap/extension-mention";
3
+ import { ReactRenderer as g } from "@tiptap/react";
4
+ import { createSuggestionPopup as f } from "../suggestionPopup.js";
5
+ import { MentionDropdown as k } from "./MentionDropdown.js";
6
+ function b(r, o) {
7
+ const { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a } = r;
7
8
  return () => {
8
- let e, t;
9
+ let s, i, t;
9
10
  return {
10
- onStart: (n) => {
11
- e = new c(d, {
12
- props: { ...n, renderItem: i, renderDropdown: o },
13
- editor: n.editor
14
- }), t = m(e.element, n.clientRect);
11
+ onStart: (e) => {
12
+ t = e, o.picked = !1, s = new g(k, {
13
+ props: { ...e, renderItem: n, renderDropdown: d },
14
+ editor: e.editor
15
+ }), i = f(s.element, e.clientRect);
15
16
  },
16
- onUpdate: (n) => {
17
- if (e.updateProps({ ...n, renderItem: i, renderDropdown: o }), !n.items?.length) {
18
- t.hide();
17
+ onUpdate: (e) => {
18
+ if (t = e, s.updateProps({ ...e, renderItem: n, renderDropdown: d }), !e.items?.length) {
19
+ i.hide();
19
20
  return;
20
21
  }
21
- t.show(), t.updatePosition(n.clientRect);
22
+ i.show(), i.updatePosition(e.clientRect);
22
23
  },
23
- onKeyDown: (n) => n.event.key === "Escape" ? (t.hide(), !0) : e.ref?.onKeyDown(n) ?? !1,
24
+ onKeyDown: (e) => e.event.key === "Escape" ? (i.hide(), !0) : s.ref?.onKeyDown(e) ?? !1,
24
25
  onExit: () => {
25
- t.destroy(), e.destroy();
26
+ if (i.destroy(), s.destroy(), a && !o.picked && t?.editor && t?.range) {
27
+ const { editor: e, range: u } = t;
28
+ setTimeout(() => {
29
+ e.isDestroyed || e.chain().deleteRange(u).run();
30
+ }, 0);
31
+ }
26
32
  }
27
33
  };
28
34
  };
29
35
  }
30
- function w(a, r, i, o) {
31
- return u.extend({ name: "mentionAgent" }).configure({
32
- HTMLAttributes: { class: "bik-mention bik-mention--agent" },
33
- renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
34
- renderHTML: ({ options: e, node: t }) => [
35
- "span",
36
- s(e.HTMLAttributes),
37
- `${e.suggestion.char}${t.attrs.label}`
38
- ],
39
- suggestion: {
40
- char: "@",
41
- allowSpaces: !0,
42
- items: ({ query: e }) => a.current.filter(
43
- (t) => t.label.toLowerCase().includes(e.toLowerCase())
44
- ),
45
- command: ({ editor: e, range: t, props: n }) => {
46
- e.chain().focus().deleteRange(t).insertContent({
47
- type: "mentionAgent",
48
- attrs: { id: n.id, label: n.label }
49
- }).run(), r?.(n, "@");
50
- },
51
- render: l(r, "@", i, o)
36
+ function l(r, o, n, d, a, s) {
37
+ const i = { picked: !1 };
38
+ return c.extend({
39
+ name: r,
40
+ addAttributes() {
41
+ return {
42
+ ...this.parent?.(),
43
+ kind: {
44
+ default: null,
45
+ parseHTML: (t) => t.getAttribute("data-kind"),
46
+ renderHTML: (t) => t.kind ? { "data-kind": String(t.kind) } : {}
47
+ }
48
+ };
52
49
  }
53
- });
54
- }
55
- function L(a, r, i, o) {
56
- return u.extend({ name: "mentionTeam" }).configure({
57
- HTMLAttributes: { class: "bik-mention bik-mention--team" },
58
- renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
59
- renderHTML: ({ options: e, node: t }) => [
50
+ }).configure({
51
+ HTMLAttributes: { class: o },
52
+ renderText: ({ options: t, node: e }) => `${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`,
53
+ renderHTML: ({ options: t, node: e }) => [
60
54
  "span",
61
- s(e.HTMLAttributes),
62
- `${e.suggestion.char}${t.attrs.label}`
55
+ m(
56
+ t.HTMLAttributes,
57
+ e.attrs.kind ? { "data-kind": String(e.attrs.kind) } : {}
58
+ ),
59
+ `${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`
63
60
  ],
64
61
  suggestion: {
65
- char: "#",
62
+ char: n,
66
63
  allowSpaces: !0,
67
- items: ({ query: e }) => a.current.filter(
68
- (t) => t.label.toLowerCase().includes(e.toLowerCase())
64
+ items: ({ query: t }) => d.current.filter(
65
+ (e) => e.label.toLowerCase().includes(t.toLowerCase())
69
66
  ),
70
- command: ({ editor: e, range: t, props: n }) => {
71
- e.chain().focus().deleteRange(t).insertContent({
72
- type: "mentionTeam",
73
- attrs: { id: n.id, label: n.label }
74
- }).run(), r?.(n, "#");
67
+ command: ({ editor: t, range: e, props: u }) => {
68
+ i.picked = !0, t.chain().focus().deleteRange(e).insertContent({
69
+ type: r,
70
+ attrs: {
71
+ id: u.id,
72
+ label: u.label,
73
+ kind: u.meta?.kind ?? null
74
+ }
75
+ }).run(), a?.(u, n);
75
76
  },
76
- render: l(r, "#", i, o)
77
+ render: b(s, i)
77
78
  }
78
79
  });
79
80
  }
81
+ function x(r, o, n, d, a) {
82
+ return l(
83
+ "mentionAgent",
84
+ "bik-mention bik-mention--agent",
85
+ "@",
86
+ r,
87
+ o,
88
+ { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a }
89
+ );
90
+ }
91
+ function y(r, o, n, d, a) {
92
+ return l(
93
+ "mentionTeam",
94
+ "bik-mention bik-mention--team",
95
+ "#",
96
+ r,
97
+ o,
98
+ { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a }
99
+ );
100
+ }
80
101
  export {
81
- w as buildAgentMentionExtension,
82
- L as buildTeamMentionExtension
102
+ x as buildAgentMentionExtension,
103
+ y as buildTeamMentionExtension
83
104
  };
84
105
  //# sourceMappingURL=MentionExtension.js.map