@bikdotai/bik-component-library 0.0.821-beta.9 → 0.0.821

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 (513) 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/Shopify.svg.js +2 -0
  4. package/dist/cjs/assets/icons/Shopify.svg.js.map +1 -0
  5. package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
  6. package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
  7. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  8. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  9. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  10. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  11. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  12. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  13. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  14. package/dist/cjs/components/TypographyStyle.js +20 -41
  15. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  16. package/dist/cjs/components/agent-builder/AgentBuilder.js +2 -0
  17. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
  18. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +411 -0
  19. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  20. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
  21. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  22. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
  23. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  24. package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
  25. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
  26. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +2 -0
  27. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  28. package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
  29. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
  30. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
  31. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
  32. package/dist/cjs/components/agent-builder/components/MentionEditor.js +2 -0
  33. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -0
  34. package/dist/cjs/components/agent-builder/components/MentionField.js +2 -0
  35. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -0
  36. package/dist/cjs/components/agent-builder/components/MentionPicker.js +78 -0
  37. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
  38. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
  39. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
  40. package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
  41. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
  42. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
  43. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  44. package/dist/cjs/components/agent-builder/components/UndoToast.js +2 -0
  45. package/dist/cjs/components/agent-builder/components/UndoToast.js.map +1 -0
  46. package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
  47. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
  48. package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
  49. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
  50. package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
  51. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
  52. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
  53. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  54. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
  55. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  56. package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
  57. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
  58. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
  59. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  60. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
  61. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  62. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
  63. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  64. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
  65. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  66. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +2 -0
  67. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -0
  68. package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
  69. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
  70. package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
  71. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
  72. package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
  73. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
  74. package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
  75. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
  76. package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
  77. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
  78. package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
  79. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
  80. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +2 -0
  81. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -0
  82. package/dist/cjs/components/avatar/Avatar.js +1 -1
  83. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  84. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  85. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  86. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  87. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  88. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  89. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  90. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  91. package/dist/cjs/components/button/Button.js +1 -1
  92. package/dist/cjs/components/button/Button.js.map +1 -1
  93. package/dist/cjs/components/button/Button.styled.js +13 -13
  94. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  95. package/dist/cjs/components/button/themes.js +6 -6
  96. package/dist/cjs/components/button/themes.js.map +1 -1
  97. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  98. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  99. package/dist/cjs/components/checkBox/CheckBox.styled.js +20 -21
  100. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  101. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  102. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  103. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  104. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  105. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  106. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  107. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  108. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  109. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +8 -9
  110. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  111. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  112. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  113. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  114. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  115. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  116. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  117. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  118. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  119. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  120. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  121. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  122. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  123. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  124. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  125. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  126. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  127. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  128. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  129. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -20
  130. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  131. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  132. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  133. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  134. package/dist/cjs/components/icon-button/IconButton.styled.js +12 -18
  135. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  136. package/dist/cjs/components/icon-button/theme.js +1 -1
  137. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  138. package/dist/cjs/components/input/Input.js +1 -1
  139. package/dist/cjs/components/input/Input.js.map +1 -1
  140. package/dist/cjs/components/input/Input.styled.js +16 -27
  141. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  142. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  143. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  144. package/dist/cjs/components/list-item/ListItem.js +1 -1
  145. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  146. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  147. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  148. package/dist/cjs/components/list-item/themes.js +20 -32
  149. package/dist/cjs/components/list-item/themes.js.map +1 -1
  150. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  151. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  152. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  153. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  154. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  155. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  156. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  157. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  158. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  159. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  160. package/dist/cjs/components/tag/Tag.js +1 -1
  161. package/dist/cjs/components/tag/Tag.js.map +1 -1
  162. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  163. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  164. package/dist/cjs/components/tag/model.js.map +1 -1
  165. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  166. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  167. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  168. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  169. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  170. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  171. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  172. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  173. package/dist/cjs/constants/Theme.js +1 -1
  174. package/dist/cjs/constants/Theme.js.map +1 -1
  175. package/dist/cjs/editor/BikEditor.js +1 -1
  176. package/dist/cjs/editor/BikEditor.js.map +1 -1
  177. package/dist/cjs/editor/BikEditor.styles.js +14 -1
  178. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  179. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  180. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  181. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  182. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  183. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  184. package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
  185. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  186. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  187. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  188. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  189. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  190. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  191. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  192. package/dist/cjs/index.js +1 -1
  193. package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
  194. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
  195. package/dist/esm/assets/icons/Shopify.svg.js +6 -0
  196. package/dist/esm/assets/icons/Shopify.svg.js.map +1 -0
  197. package/dist/esm/assets/icons/playOutline.svg.js +6 -0
  198. package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
  199. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +59 -61
  200. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  201. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
  202. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +88 -124
  203. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  204. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
  205. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  206. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
  207. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  208. package/dist/esm/components/TypographyStyle.d.ts +0 -8
  209. package/dist/esm/components/TypographyStyle.js +40 -63
  210. package/dist/esm/components/TypographyStyle.js.map +1 -1
  211. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +18 -0
  212. package/dist/esm/components/agent-builder/AgentBuilder.js +203 -0
  213. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
  214. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +107 -0
  215. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +161 -0
  216. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +517 -0
  217. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  218. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
  219. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
  220. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  221. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
  222. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
  223. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  224. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
  225. package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
  226. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
  227. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +25 -0
  228. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +215 -0
  229. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  230. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
  231. package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
  232. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
  233. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
  234. package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
  235. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
  236. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +39 -0
  237. package/dist/esm/components/agent-builder/components/MentionEditor.js +100 -0
  238. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -0
  239. package/dist/esm/components/agent-builder/components/MentionField.d.ts +19 -0
  240. package/dist/esm/components/agent-builder/components/MentionField.js +64 -0
  241. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -0
  242. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +17 -0
  243. package/dist/esm/components/agent-builder/components/MentionPicker.js +268 -0
  244. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
  245. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +52 -0
  246. package/dist/esm/components/agent-builder/components/SelectableListSection.js +192 -0
  247. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
  248. package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
  249. package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
  250. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
  251. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
  252. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
  253. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  254. package/dist/esm/components/agent-builder/components/UndoToast.d.ts +7 -0
  255. package/dist/esm/components/agent-builder/components/UndoToast.js +27 -0
  256. package/dist/esm/components/agent-builder/components/UndoToast.js.map +1 -0
  257. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
  258. package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
  259. package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
  260. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
  261. package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
  262. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
  263. package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
  264. package/dist/esm/components/agent-builder/constants/steps.js +32 -0
  265. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
  266. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +98 -0
  267. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +174 -0
  268. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  269. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
  270. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
  271. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  272. package/dist/esm/components/agent-builder/index.d.ts +7 -0
  273. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
  274. package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
  275. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
  276. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
  277. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
  278. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  279. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
  280. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +218 -0
  281. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  282. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
  283. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
  284. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  285. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +61 -0
  286. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +96 -0
  287. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  288. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +10 -0
  289. package/dist/esm/components/agent-builder/utils/sourceIcons.js +10 -0
  290. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -0
  291. package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
  292. package/dist/esm/components/agent-listing/AgentListing.js +176 -0
  293. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
  294. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +78 -0
  295. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
  296. package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
  297. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
  298. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +18 -0
  299. package/dist/esm/components/agent-listing/AgentListingFilters.js +85 -0
  300. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
  301. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
  302. package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
  303. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
  304. package/dist/esm/components/agent-listing/AgentTable.d.ts +11 -0
  305. package/dist/esm/components/agent-listing/AgentTable.js +35 -0
  306. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
  307. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +12 -0
  308. package/dist/esm/components/agent-listing/AgentTableRow.js +108 -0
  309. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
  310. package/dist/esm/components/agent-listing/DeleteAgentModal.d.ts +16 -0
  311. package/dist/esm/components/agent-listing/DeleteAgentModal.js +69 -0
  312. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -0
  313. package/dist/esm/components/agent-listing/index.d.ts +2 -0
  314. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  315. package/dist/esm/components/avatar/Avatar.js +73 -51
  316. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  317. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  318. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  319. package/dist/esm/components/avatar/AvatarHelper.d.ts +4 -5
  320. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  321. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  322. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  323. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  324. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  325. package/dist/esm/components/bik-layout/index.d.ts +0 -2
  326. package/dist/esm/components/button/Button.js +31 -31
  327. package/dist/esm/components/button/Button.js.map +1 -1
  328. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  329. package/dist/esm/components/button/Button.styled.js +20 -20
  330. package/dist/esm/components/button/Button.styled.js.map +1 -1
  331. package/dist/esm/components/button/model.d.ts +3 -3
  332. package/dist/esm/components/button/themes.d.ts +2 -2
  333. package/dist/esm/components/button/themes.js +17 -31
  334. package/dist/esm/components/button/themes.js.map +1 -1
  335. package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
  336. package/dist/esm/components/checkBox/CheckBox.js +87 -124
  337. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  338. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  339. package/dist/esm/components/checkBox/CheckBox.styled.js +9 -10
  340. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  341. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  342. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  343. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  344. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  345. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  346. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  347. package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
  348. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  349. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
  350. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  351. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  352. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +4 -5
  353. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  354. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  355. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  356. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  357. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  358. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -3
  359. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
  360. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  361. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
  362. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +87 -93
  363. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  364. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
  365. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
  366. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  367. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  368. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
  369. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  370. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -3
  371. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
  372. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  373. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  374. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  375. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  376. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  377. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
  378. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  379. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  380. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
  381. package/dist/esm/components/dropdown/type.d.ts +1 -6
  382. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -3
  383. package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
  384. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  385. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  386. package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
  387. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  388. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  389. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  390. package/dist/esm/components/icon-button/IconButton.js +32 -36
  391. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  392. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
  393. package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
  394. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  395. package/dist/esm/components/icon-button/model.d.ts +1 -12
  396. package/dist/esm/components/icon-button/theme.js +10 -12
  397. package/dist/esm/components/icon-button/theme.js.map +1 -1
  398. package/dist/esm/components/input/Input.js +115 -119
  399. package/dist/esm/components/input/Input.js.map +1 -1
  400. package/dist/esm/components/input/Input.model.d.ts +3 -2
  401. package/dist/esm/components/input/Input.styled.d.ts +1 -8
  402. package/dist/esm/components/input/Input.styled.js +22 -34
  403. package/dist/esm/components/input/Input.styled.js.map +1 -1
  404. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +2 -0
  405. package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
  406. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  407. package/dist/esm/components/list-item/List.model.d.ts +1 -2
  408. package/dist/esm/components/list-item/ListItem.js +38 -40
  409. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  410. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
  411. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  412. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  413. package/dist/esm/components/list-item/themes.d.ts +2 -2
  414. package/dist/esm/components/list-item/themes.js +6 -20
  415. package/dist/esm/components/list-item/themes.js.map +1 -1
  416. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  417. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
  418. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  419. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  420. package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
  421. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  422. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
  423. package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
  424. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  425. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
  426. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  427. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  428. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
  429. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  430. package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
  431. package/dist/esm/components/tag/Tag.d.ts +1 -1
  432. package/dist/esm/components/tag/Tag.js +18 -22
  433. package/dist/esm/components/tag/Tag.js.map +1 -1
  434. package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
  435. package/dist/esm/components/tag/Tag.styled.js +7 -7
  436. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  437. package/dist/esm/components/tag/model.d.ts +1 -5
  438. package/dist/esm/components/tag/model.js.map +1 -1
  439. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  440. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  441. package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
  442. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  443. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
  444. package/dist/esm/components/whats-new/WhatsNew.js +19 -23
  445. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  446. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
  447. package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
  448. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  449. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  450. package/dist/esm/constants/Theme.d.ts +0 -36
  451. package/dist/esm/constants/Theme.js +1 -21
  452. package/dist/esm/constants/Theme.js.map +1 -1
  453. package/dist/esm/editor/BikEditor.js +19 -18
  454. package/dist/esm/editor/BikEditor.js.map +1 -1
  455. package/dist/esm/editor/BikEditor.styles.js +13 -0
  456. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  457. package/dist/esm/editor/BikEditor.types.d.ts +21 -0
  458. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  459. package/dist/esm/editor/BikEditor.utils.js +76 -75
  460. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  461. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  462. package/dist/esm/editor/extensions/buildExtensions.js +31 -29
  463. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  464. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
  465. package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
  466. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  467. package/dist/esm/editor/extensions/mention/MentionDropdown.d.ts +2 -0
  468. package/dist/esm/editor/extensions/mention/MentionDropdown.js +35 -28
  469. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  470. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  471. package/dist/esm/editor/extensions/mention/MentionExtension.js +91 -59
  472. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  473. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  474. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
  475. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  476. package/dist/esm/icons/index.d.ts +24 -24
  477. package/dist/esm/index.d.ts +2 -1
  478. package/dist/esm/index.js +806 -798
  479. package/dist/esm/index.js.map +1 -1
  480. package/package.json +3 -2
  481. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  482. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  483. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  484. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  485. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  486. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  487. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  488. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  489. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  490. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  491. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
  492. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  493. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  494. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
  495. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  496. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  497. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
  498. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
  499. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  500. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  501. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
  502. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  503. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
  504. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
  505. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  506. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
  507. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
  508. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  509. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  510. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
  511. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  512. package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
  513. 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;"}
@@ -11,6 +11,8 @@ interface Props {
11
11
  * The editor passes activeIndex and onSelect — you handle all the visual rendering.
12
12
  */
13
13
  renderDropdown?: (props: MentionDropdownRenderProps) => React.ReactNode;
14
+ /** Close the menu without selecting (strips the typed trigger). Injected by the extension. */
15
+ dismiss?: () => void;
14
16
  }
15
17
  export declare const MentionDropdown: React.ForwardRefExoticComponent<Props & React.RefAttributes<any>>;
16
18
  export {};
@@ -1,46 +1,53 @@
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 b } from "react/jsx-runtime";
2
+ import { forwardRef as A, useState as I, useRef as x, useCallback as w, useImperativeHandle as v, useEffect as C } from "react";
3
+ import { DropdownContainer as D, DropdownItem as R, MentionAvatar as U, MentionAvatarFallback as E, MentionLabel as H, MentionPresenceDot as K } from "../editorDropdown.styles.js";
4
+ const S = A(
5
+ ({ items: r, query: g, command: u, renderItem: i, renderDropdown: a, dismiss: k }, y) => {
6
+ const [l, c] = I(0), f = x(null), s = x(null), M = w(
7
+ (n) => {
8
+ s.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] && u(r[n]);
12
17
  };
13
- return v(w, () => ({
14
- onKeyDown: ({ event: n }) => r.length ? n.key === "ArrowUp" ? (a((e) => {
18
+ return v(y, () => ({
19
+ onKeyDown: ({ event: n }) => a && s.current ? s.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
+ })), C(() => 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) => u(n),
31
+ registerKeyHandler: M,
32
+ onClose: k
33
+ }) }) : /* @__PURE__ */ t(D, { ref: f, children: r.map((n, e) => /* @__PURE__ */ t(
34
+ R,
28
35
  {
29
36
  $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 })
37
+ onMouseEnter: () => c(e),
38
+ onClick: () => h(e),
39
+ children: i ? i(n, e === l) : /* @__PURE__ */ b(p, { children: [
40
+ n.avatarUrl ? /* @__PURE__ */ t(U, { src: n.avatarUrl, alt: "" }) : /* @__PURE__ */ t(E, { children: n.label.charAt(0).toUpperCase() }),
41
+ /* @__PURE__ */ t(H, { children: n.label }),
42
+ n.isOnline !== void 0 && /* @__PURE__ */ t(K, { $online: n.isOnline })
36
43
  ] })
37
44
  },
38
45
  n.id
39
46
  )) }) : null;
40
47
  }
41
48
  );
42
- R.displayName = "MentionDropdown";
49
+ S.displayName = "MentionDropdown";
43
50
  export {
44
- R as MentionDropdown
51
+ S as MentionDropdown
45
52
  };
46
53
  //# 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\t/** Close the menu without selecting (strips the typed trigger). Injected by the extension. */\n\tdismiss?: () => void;\n}\n\nexport const MentionDropdown = forwardRef<any, Props>(\n\t({ items, query, command, renderItem, renderDropdown, dismiss }, 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\tonClose: dismiss,\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","dismiss","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":";;;AAoCO,MAAMA,IAAkBC;AAAA,EAC9B,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,GAAgB,SAAAC,EAAA,GAAWC,MAAQ;AACxE,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,MAAIpB,EAAMoB,CAAC,KAAGlB,EAAQF,EAAMoB,CAAC,CAAC;AAAA,IAC/B;AAmCA,WAjCAC,EAAoBf,GAAK,OAAO;AAAA,MAC/B,WAAW,CAAC,EAAE,OAAAgB,QAETlB,KAAkBQ,EAAoB,UAClCA,EAAoB,QAAQU,CAAK,IAEpCtB,EAAM,SACPsB,EAAM,QAAQ,aACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAOvB,EAAM,SAAS,KAAKA,EAAM;AAC/C,eAAAgB,EAAcQ,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,eACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAO,KAAKvB,EAAM;AAChC,eAAAgB,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,CAACR,CAAK,CAAC,GAEvCA,EAAM,SAGPI,2BAGA,UAAAA,EAAe;AAAA,MACf,OAAAJ;AAAA,MACA,OAAAC;AAAA,MACA,aAAaM;AAAA,MACb,UAAU,CAACmB,MAASxB,EAAQwB,CAAI;AAAA,MAChC,oBAAAb;AAAA,MACA,SAASR;AAAA,IAAA,CACT,GACF,IAKD,gBAAAsB,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,cACAjB,EAAWuB,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,IA9CyB;AAAA,EAgD3B;AACD;AACA5B,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>;