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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  2. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  3. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  4. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  5. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  6. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  7. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  8. package/dist/cjs/components/TypographyStyle.js +41 -20
  9. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  10. package/dist/cjs/components/avatar/Avatar.js +1 -1
  11. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  12. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  13. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  14. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  15. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  16. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  17. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +2 -0
  18. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +1 -0
  19. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +2 -0
  20. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +1 -0
  21. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +294 -0
  22. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +1 -0
  23. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +2 -0
  24. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +1 -0
  25. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  26. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  27. package/dist/cjs/components/button/Button.js +1 -1
  28. package/dist/cjs/components/button/Button.js.map +1 -1
  29. package/dist/cjs/components/button/Button.styled.js +13 -13
  30. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  31. package/dist/cjs/components/button/themes.js +6 -6
  32. package/dist/cjs/components/button/themes.js.map +1 -1
  33. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  34. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  35. package/dist/cjs/components/checkBox/CheckBox.styled.js +21 -20
  36. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  37. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  38. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  39. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  40. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  41. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  42. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  43. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  44. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  45. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +9 -8
  46. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  47. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  48. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  49. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  50. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  51. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  52. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  53. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  54. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  55. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +6 -2
  56. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  57. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  58. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  59. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  60. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  61. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  62. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  63. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  64. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  65. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +20 -6
  66. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  67. package/dist/cjs/components/dual-icon-button/DualIconButton.js +2 -0
  68. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +1 -0
  69. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +33 -0
  70. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +1 -0
  71. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  72. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  73. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  74. package/dist/cjs/components/icon-button/IconButton.styled.js +18 -12
  75. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  76. package/dist/cjs/components/icon-button/theme.js +1 -1
  77. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  78. package/dist/cjs/components/input/Input.js +1 -1
  79. package/dist/cjs/components/input/Input.js.map +1 -1
  80. package/dist/cjs/components/input/Input.styled.js +27 -16
  81. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  82. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  83. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  84. package/dist/cjs/components/list-item/ListItem.js +1 -1
  85. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  86. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  87. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  88. package/dist/cjs/components/list-item/themes.js +32 -20
  89. package/dist/cjs/components/list-item/themes.js.map +1 -1
  90. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  91. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  92. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  93. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  94. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  95. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  96. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  97. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  98. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +32 -29
  99. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  100. package/dist/cjs/components/tag/Tag.js +1 -1
  101. package/dist/cjs/components/tag/Tag.js.map +1 -1
  102. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  103. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  104. package/dist/cjs/components/tag/model.js.map +1 -1
  105. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  106. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  107. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  108. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  109. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  110. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  111. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  112. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  113. package/dist/cjs/constants/Theme.js +1 -1
  114. package/dist/cjs/constants/Theme.js.map +1 -1
  115. package/dist/cjs/editor/BikEditor.js +1 -1
  116. package/dist/cjs/editor/BikEditor.js.map +1 -1
  117. package/dist/cjs/editor/BikEditor.styles.js +1 -14
  118. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  119. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  120. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  121. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  122. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  123. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  124. package/dist/cjs/editor/extensions/editorDropdown.styles.js +10 -15
  125. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  126. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  127. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  128. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  129. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  130. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  131. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  132. package/dist/cjs/index.js +1 -1
  133. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +88 -73
  134. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  135. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +6 -0
  136. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +124 -88
  137. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  138. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +225 -128
  139. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  140. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +6 -2
  141. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  142. package/dist/esm/components/TypographyStyle.d.ts +8 -0
  143. package/dist/esm/components/TypographyStyle.js +63 -40
  144. package/dist/esm/components/TypographyStyle.js.map +1 -1
  145. package/dist/esm/components/avatar/Avatar.d.ts +2 -1
  146. package/dist/esm/components/avatar/Avatar.js +51 -73
  147. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  148. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  149. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  150. package/dist/esm/components/avatar/AvatarHelper.d.ts +5 -4
  151. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  152. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  153. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  154. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +33 -0
  155. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +272 -0
  156. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +1 -0
  157. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +27 -0
  158. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +12 -0
  159. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +53 -0
  160. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +1 -0
  161. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +44 -0
  162. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +310 -0
  163. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +1 -0
  164. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +2 -0
  165. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +107 -0
  166. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +1 -0
  167. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  168. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  169. package/dist/esm/components/bik-layout/index.d.ts +2 -0
  170. package/dist/esm/components/button/Button.js +31 -31
  171. package/dist/esm/components/button/Button.js.map +1 -1
  172. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  173. package/dist/esm/components/button/Button.styled.js +20 -20
  174. package/dist/esm/components/button/Button.styled.js.map +1 -1
  175. package/dist/esm/components/button/model.d.ts +3 -3
  176. package/dist/esm/components/button/themes.d.ts +2 -2
  177. package/dist/esm/components/button/themes.js +31 -17
  178. package/dist/esm/components/button/themes.js.map +1 -1
  179. package/dist/esm/components/checkBox/CheckBox.d.ts +2 -1
  180. package/dist/esm/components/checkBox/CheckBox.js +124 -87
  181. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  182. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  183. package/dist/esm/components/checkBox/CheckBox.styled.js +10 -9
  184. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  185. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  186. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  187. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  188. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  189. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  190. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  191. package/dist/esm/components/dropdown/DropdownPopover/index.js +74 -61
  192. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  193. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +183 -174
  194. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  195. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  196. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +5 -4
  197. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  198. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  199. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  200. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  201. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  202. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +3 -1
  203. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +29 -20
  204. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  205. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +3 -1
  206. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +93 -87
  207. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  208. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +3 -1
  209. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +68 -61
  210. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  211. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +2 -1
  212. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +7 -2
  213. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  214. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +3 -1
  215. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +18 -10
  216. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  217. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  218. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  219. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  220. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +1 -0
  221. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +43 -17
  222. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  223. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +2 -0
  224. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +2 -0
  225. package/dist/esm/components/dropdown/type.d.ts +6 -1
  226. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +3 -1
  227. package/dist/esm/components/dropdown-button/DropdownButton.js +71 -17
  228. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  229. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +9 -2
  230. package/dist/esm/components/dropdown-button/DropdownButton.style.js +35 -9
  231. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  232. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +3 -0
  233. package/dist/esm/components/dual-icon-button/DualIconButton.js +53 -0
  234. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +1 -0
  235. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +7 -0
  236. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +40 -0
  237. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +1 -0
  238. package/dist/esm/components/dual-icon-button/index.d.ts +2 -0
  239. package/dist/esm/components/dual-icon-button/model.d.ts +12 -0
  240. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  241. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  242. package/dist/esm/components/icon-button/IconButton.js +36 -32
  243. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  244. package/dist/esm/components/icon-button/IconButton.styled.d.ts +3 -1
  245. package/dist/esm/components/icon-button/IconButton.styled.js +20 -14
  246. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  247. package/dist/esm/components/icon-button/model.d.ts +12 -1
  248. package/dist/esm/components/icon-button/theme.js +12 -10
  249. package/dist/esm/components/icon-button/theme.js.map +1 -1
  250. package/dist/esm/components/input/Input.js +119 -115
  251. package/dist/esm/components/input/Input.js.map +1 -1
  252. package/dist/esm/components/input/Input.model.d.ts +2 -3
  253. package/dist/esm/components/input/Input.styled.d.ts +8 -1
  254. package/dist/esm/components/input/Input.styled.js +34 -22
  255. package/dist/esm/components/input/Input.styled.js.map +1 -1
  256. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +0 -2
  257. package/dist/esm/components/input-with-vars/InputWithVariables.js +75 -81
  258. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  259. package/dist/esm/components/list-item/List.model.d.ts +2 -1
  260. package/dist/esm/components/list-item/ListItem.js +40 -38
  261. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  262. package/dist/esm/components/list-item/ListItem.styled.d.ts +2 -1
  263. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  264. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  265. package/dist/esm/components/list-item/themes.d.ts +2 -2
  266. package/dist/esm/components/list-item/themes.js +20 -6
  267. package/dist/esm/components/list-item/themes.js.map +1 -1
  268. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +1 -0
  269. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +30 -28
  270. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  271. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +1 -0
  272. package/dist/esm/components/multi-level-dropdown/MenuItem.js +57 -54
  273. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  274. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +1 -0
  275. package/dist/esm/components/multi-level-dropdown/MenuList.js +46 -42
  276. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  277. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +95 -59
  278. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  279. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +13 -3
  280. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +50 -41
  281. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  282. package/dist/esm/components/multi-level-dropdown/type.d.ts +1 -0
  283. package/dist/esm/components/tag/Tag.d.ts +1 -1
  284. package/dist/esm/components/tag/Tag.js +22 -18
  285. package/dist/esm/components/tag/Tag.js.map +1 -1
  286. package/dist/esm/components/tag/Tag.styled.d.ts +3 -1
  287. package/dist/esm/components/tag/Tag.styled.js +7 -7
  288. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  289. package/dist/esm/components/tag/model.d.ts +5 -1
  290. package/dist/esm/components/tag/model.js.map +1 -1
  291. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  292. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  293. package/dist/esm/components/variable-picker-v3/model.d.ts +0 -2
  294. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  295. package/dist/esm/components/whats-new/WhatsNew.d.ts +2 -0
  296. package/dist/esm/components/whats-new/WhatsNew.js +23 -19
  297. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  298. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +2 -0
  299. package/dist/esm/components/whats-new/WhatsNewButton.js +34 -38
  300. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  301. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  302. package/dist/esm/constants/Theme.d.ts +36 -0
  303. package/dist/esm/constants/Theme.js +21 -1
  304. package/dist/esm/constants/Theme.js.map +1 -1
  305. package/dist/esm/editor/BikEditor.js +18 -19
  306. package/dist/esm/editor/BikEditor.js.map +1 -1
  307. package/dist/esm/editor/BikEditor.styles.js +0 -13
  308. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  309. package/dist/esm/editor/BikEditor.types.d.ts +0 -14
  310. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  311. package/dist/esm/editor/BikEditor.utils.js +75 -76
  312. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  313. package/dist/esm/editor/extensions/buildExtensions.d.ts +0 -1
  314. package/dist/esm/editor/extensions/buildExtensions.js +29 -31
  315. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  316. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +8 -2
  317. package/dist/esm/editor/extensions/editorDropdown.styles.js +18 -22
  318. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  319. package/dist/esm/editor/extensions/mention/MentionDropdown.js +28 -34
  320. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  321. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  322. package/dist/esm/editor/extensions/mention/MentionExtension.js +60 -81
  323. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  324. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +1 -2
  325. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +24 -28
  326. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  327. package/dist/esm/icons/index.d.ts +24 -24
  328. package/dist/esm/index.d.ts +1 -2
  329. package/dist/esm/index.js +798 -806
  330. package/dist/esm/index.js.map +1 -1
  331. package/package.json +2 -3
  332. package/dist/cjs/assets/icons/ManifestGlass.svg.js +0 -2
  333. package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +0 -1
  334. package/dist/cjs/assets/icons/playOutline.svg.js +0 -2
  335. package/dist/cjs/assets/icons/playOutline.svg.js.map +0 -1
  336. package/dist/cjs/components/agent-builder/AgentBuilder.js +0 -2
  337. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +0 -1
  338. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +0 -285
  339. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +0 -1
  340. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +0 -2
  341. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +0 -1
  342. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +0 -2
  343. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +0 -1
  344. package/dist/cjs/components/agent-builder/components/AiTextArea.js +0 -2
  345. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +0 -1
  346. package/dist/cjs/components/agent-builder/components/DiscardModal.js +0 -2
  347. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +0 -1
  348. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +0 -2
  349. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +0 -1
  350. package/dist/cjs/components/agent-builder/components/InstructionsField.js +0 -2
  351. package/dist/cjs/components/agent-builder/components/InstructionsField.js.map +0 -1
  352. package/dist/cjs/components/agent-builder/components/MentionPicker.js +0 -47
  353. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +0 -1
  354. package/dist/cjs/components/agent-builder/components/RichTextField.js +0 -2
  355. package/dist/cjs/components/agent-builder/components/RichTextField.js.map +0 -1
  356. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +0 -2
  357. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +0 -1
  358. package/dist/cjs/components/agent-builder/components/StepRail.js +0 -2
  359. package/dist/cjs/components/agent-builder/components/StepRail.js.map +0 -1
  360. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +0 -2
  361. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +0 -1
  362. package/dist/cjs/components/agent-builder/constants/charLimits.js +0 -2
  363. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +0 -1
  364. package/dist/cjs/components/agent-builder/constants/editorStyle.js +0 -2
  365. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +0 -1
  366. package/dist/cjs/components/agent-builder/constants/steps.js +0 -2
  367. package/dist/cjs/components/agent-builder/constants/steps.js.map +0 -1
  368. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +0 -2
  369. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +0 -1
  370. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +0 -2
  371. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +0 -1
  372. package/dist/cjs/components/agent-builder/steps/Step1About.js +0 -2
  373. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +0 -1
  374. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +0 -2
  375. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +0 -1
  376. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +0 -2
  377. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +0 -1
  378. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +0 -2
  379. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +0 -1
  380. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +0 -4
  381. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +0 -1
  382. package/dist/cjs/components/agent-listing/AgentListing.js +0 -2
  383. package/dist/cjs/components/agent-listing/AgentListing.js.map +0 -1
  384. package/dist/cjs/components/agent-listing/AgentListing.styled.js +0 -115
  385. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +0 -1
  386. package/dist/cjs/components/agent-listing/AgentListingFilters.js +0 -2
  387. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +0 -1
  388. package/dist/cjs/components/agent-listing/AgentListingHeader.js +0 -2
  389. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +0 -1
  390. package/dist/cjs/components/agent-listing/AgentTable.js +0 -2
  391. package/dist/cjs/components/agent-listing/AgentTable.js.map +0 -1
  392. package/dist/cjs/components/agent-listing/AgentTableRow.js +0 -2
  393. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +0 -1
  394. package/dist/esm/assets/icons/ManifestGlass.svg.js +0 -6
  395. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +0 -1
  396. package/dist/esm/assets/icons/playOutline.svg.js +0 -6
  397. package/dist/esm/assets/icons/playOutline.svg.js.map +0 -1
  398. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +0 -18
  399. package/dist/esm/components/agent-builder/AgentBuilder.js +0 -190
  400. package/dist/esm/components/agent-builder/AgentBuilder.js.map +0 -1
  401. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +0 -73
  402. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +0 -121
  403. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +0 -353
  404. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +0 -1
  405. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +0 -10
  406. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +0 -70
  407. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +0 -1
  408. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +0 -12
  409. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +0 -73
  410. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +0 -1
  411. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +0 -14
  412. package/dist/esm/components/agent-builder/components/AiTextArea.js +0 -44
  413. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +0 -1
  414. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +0 -18
  415. package/dist/esm/components/agent-builder/components/DiscardModal.js +0 -54
  416. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +0 -1
  417. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +0 -18
  418. package/dist/esm/components/agent-builder/components/GoLiveModal.js +0 -73
  419. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +0 -1
  420. package/dist/esm/components/agent-builder/components/InstructionsField.d.ts +0 -2
  421. package/dist/esm/components/agent-builder/components/InstructionsField.js +0 -81
  422. package/dist/esm/components/agent-builder/components/InstructionsField.js.map +0 -1
  423. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +0 -12
  424. package/dist/esm/components/agent-builder/components/MentionPicker.js +0 -154
  425. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +0 -1
  426. package/dist/esm/components/agent-builder/components/RichTextField.d.ts +0 -21
  427. package/dist/esm/components/agent-builder/components/RichTextField.js +0 -66
  428. package/dist/esm/components/agent-builder/components/RichTextField.js.map +0 -1
  429. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +0 -19
  430. package/dist/esm/components/agent-builder/components/SelectableListSection.js +0 -79
  431. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +0 -1
  432. package/dist/esm/components/agent-builder/components/StepRail.d.ts +0 -2
  433. package/dist/esm/components/agent-builder/components/StepRail.js +0 -35
  434. package/dist/esm/components/agent-builder/components/StepRail.js.map +0 -1
  435. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +0 -7
  436. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +0 -15
  437. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +0 -1
  438. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +0 -21
  439. package/dist/esm/components/agent-builder/constants/charLimits.js +0 -18
  440. package/dist/esm/components/agent-builder/constants/charLimits.js.map +0 -1
  441. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +0 -8
  442. package/dist/esm/components/agent-builder/constants/editorStyle.js +0 -10
  443. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +0 -1
  444. package/dist/esm/components/agent-builder/constants/steps.d.ts +0 -13
  445. package/dist/esm/components/agent-builder/constants/steps.js +0 -32
  446. package/dist/esm/components/agent-builder/constants/steps.js.map +0 -1
  447. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +0 -53
  448. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +0 -118
  449. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +0 -1
  450. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +0 -24
  451. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +0 -27
  452. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +0 -1
  453. package/dist/esm/components/agent-builder/index.d.ts +0 -7
  454. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +0 -2
  455. package/dist/esm/components/agent-builder/steps/Step1About.js +0 -43
  456. package/dist/esm/components/agent-builder/steps/Step1About.js.map +0 -1
  457. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +0 -2
  458. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +0 -148
  459. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +0 -1
  460. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +0 -2
  461. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +0 -112
  462. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +0 -1
  463. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +0 -2
  464. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +0 -83
  465. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +0 -1
  466. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +0 -55
  467. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +0 -95
  468. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +0 -1
  469. package/dist/esm/components/agent-listing/AgentListing.d.ts +0 -18
  470. package/dist/esm/components/agent-listing/AgentListing.js +0 -141
  471. package/dist/esm/components/agent-listing/AgentListing.js.map +0 -1
  472. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +0 -69
  473. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +0 -56
  474. package/dist/esm/components/agent-listing/AgentListing.styled.js +0 -145
  475. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +0 -1
  476. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +0 -16
  477. package/dist/esm/components/agent-listing/AgentListingFilters.js +0 -81
  478. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +0 -1
  479. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +0 -8
  480. package/dist/esm/components/agent-listing/AgentListingHeader.js +0 -40
  481. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +0 -1
  482. package/dist/esm/components/agent-listing/AgentTable.d.ts +0 -10
  483. package/dist/esm/components/agent-listing/AgentTable.js +0 -33
  484. package/dist/esm/components/agent-listing/AgentTable.js.map +0 -1
  485. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +0 -10
  486. package/dist/esm/components/agent-listing/AgentTableRow.js +0 -88
  487. package/dist/esm/components/agent-listing/AgentTableRow.js.map +0 -1
  488. package/dist/esm/components/agent-listing/index.d.ts +0 -2
@@ -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 M from "@tiptap/extension-link";
8
- import k from "../../node_modules/@tiptap/extension-paragraph/dist/index.js";
7
+ import k from "@tiptap/extension-link";
8
+ import M 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 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";
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";
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 = k.extend({
31
+ }), a = (r) => r === "0" || r === "0px" || r === "0pt" || r === "0em", l = M.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
- D.configure({
46
+ H.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") ? [P] : [],
58
+ ...t("underline") ? [T] : [],
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
- M.extend({
61
+ k.extend({
62
62
  addPasteRules: () => [],
63
63
  addInputRules: () => []
64
64
  }).configure({
@@ -70,54 +70,52 @@ function ae(e) {
70
70
  class: "bik-link"
71
71
  }
72
72
  }),
73
- T,
73
+ P,
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 ? [B.configure({ onPaste: e.onPaste })] : [],
81
- I.configure({
80
+ ...e.onPaste ? [I.configure({ onPaste: e.onPaste })] : [],
81
+ L.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
- O.configure({
88
+ A.configure({
89
89
  onSend: e.onSend,
90
90
  sendShortcut: e.sendShortcut,
91
91
  extraShortcuts: e.shortcuts ?? []
92
92
  }),
93
- R,
93
+ F,
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
- L
99
+ g
100
100
  ], p = [
101
101
  ...e.mentions?.agents ? [
102
- H(
102
+ B(
103
103
  e.mentions.agents,
104
104
  e.onMentionSelected,
105
105
  e.renderMentionItem,
106
- e.renderMentionDropdown,
107
- e.removeMentionTriggerOnDismiss
106
+ e.renderMentionDropdown
108
107
  )
109
108
  ] : [],
110
109
  ...e.mentions?.teams ? [
111
- w(
110
+ D(
112
111
  e.mentions.teams,
113
112
  e.onMentionSelected,
114
113
  e.renderMentionItem,
115
- e.renderMentionDropdown,
116
- e.removeMentionTriggerOnDismiss
114
+ e.renderMentionDropdown
117
115
  )
118
116
  ] : [],
119
117
  ...e.slashCommands ? [
120
- A(
118
+ R(
121
119
  e.slashCommands,
122
120
  e.onSlashCommandSelected,
123
121
  e.renderSlashCommandItem,
@@ -128,7 +126,7 @@ function ae(e) {
128
126
  s,
129
127
  x.configure({ multicolor: !0 }),
130
128
  f,
131
- g,
129
+ w,
132
130
  E.configure({ types: ["heading", "paragraph"] }),
133
131
  y,
134
132
  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\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":";;;;;;;;;;;;;;;;;;;;;;;AAuEO,SAASA,GAAgBC,GAAyB;AACxD,QAAMC,IAAeD,EAAO,UAAU,aAAa,IAC7CE,IAAoBF,EAAO,UAAU,kBAAkB,IAKvDG,IAAeH,EAAO,UAAU,cAChCI,IAAS,CAACC,MACf,CAACF,KAAgBA,EAAa,SAASE,CAAC,GAOnCC,IAAYC,EAAU,OAAO;AAAA,IAClC,uBAAuB;AACtB,aAAO;AAAA,QACN,eAAe,MAAM,KAAK,OAAO,SAAS,aAAA;AAAA,MAAa;AAAA,IAEzD;AAAA,EAAA,CACA,GAWKC,IAAY,CAACC,MAClBA,MAAM,OAAOA,MAAM,SAASA,MAAM,SAASA,MAAM,OAC5CC,IAAsBC,EAAU,OAAO;AAAA,IAC5C,gBAAgB;AACf,aAAO;AAAA,QACN,GAAI,KAAK,SAAA,KAAc,CAAA;AAAA,QACvB,QAAQ;AAAA,UACP,SAAS;AAAA,UACT,WAAW,CAACC,MACXJ,EAAUI,EAAG,MAAM,SAAS,KAAKJ,EAAUI,EAAG,MAAM,YAAY,IAC7D,MACA;AAAA,UACJ,YAAY,CAACC,MACZA,EAAM,WAAW,MAAM,EAAE,OAAO,kBAAkB,CAAA;AAAA,QAAC;AAAA,MACrD;AAAA,IAEF;AAAA,EAAA,CACA,GAEKC,IAAO;AAAA;AAAA;AAAA;AAAA,IAIZC,EAAW,UAAU;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,MAAMX,EAAO,MAAM,IAAI,CAAA,IAAK;AAAA,MAC5B,QAAQA,EAAO,QAAQ,IAAI,CAAA,IAAK;AAAA,MAChC,QAAQA,EAAO,QAAQ,IAAI,CAAA,IAAK;AAAA,MAChC,MAAMA,EAAO,MAAM,IAAI,KAAK;AAAA,IAAA,CAC5B;AAAA,IACDM;AAAA,IACAJ;AAAA,IACA,GAAIF,EAAO,WAAW,IAAI,CAACY,CAAS,IAAI,CAAA;AAAA;AAAA;AAAA,IAGxCC,EAAK,OAAO;AAAA,MACX,eAAe,MAAM,CAAA;AAAA,MACrB,eAAe,MAAM,CAAA;AAAA,IAAC,CACtB,EAAE,UAAU;AAAA,MACZ,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,gBAAgB;AAAA,QACf,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR,CACA;AAAA,IACDC;AAAA,IACAC,EAAY,UAAU;AAAA,MACrB,aAAanB,EAAO,eAAe;AAAA,IAAA,CACnC;AAAA;AAAA;AAAA;AAAA,IAID,GAAIA,EAAO,UACR,CAACoB,EAAe,UAAU,EAAE,SAASpB,EAAO,SAAS,CAAC,IACtD,CAAA;AAAA,IACHqB,EAA4B,UAAU;AAAA,MACrC,eAAepB;AAAA;AAAA;AAAA;AAAA,MAIf,WAAW,CAACA;AAAA,IAAA,CACZ;AAAA,IACDqB,EAAsB,UAAU;AAAA,MAC/B,QAAQtB,EAAO;AAAA,MACf,cAAcA,EAAO;AAAA,MACrB,gBAAgBA,EAAO,aAAa,CAAA;AAAA,IAAC,CACrC;AAAA,IACDuB;AAAA,IACA,GAAIvB,EAAO,gBACR,CAACwB,EAAe,UAAU,EAAE,OAAOxB,EAAO,eAAe,CAAC,IAC1D,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKHyB;AAAA,EAAA,GAGKC,IAAoB;AAAA,IACzB,GAAI1B,EAAO,UAAU,SAClB;AAAA,MACA2B;AAAA,QACC3B,EAAO,SAAS;AAAA,QAChBA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,IACH,GAAIA,EAAO,UAAU,QAClB;AAAA,MACA4B;AAAA,QACC5B,EAAO,SAAS;AAAA,QAChBA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,IACH,GAAIA,EAAO,gBACR;AAAA,MACA6B;AAAA,QACC7B,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,EAAC,GAGC8B,IAAiB5B,IACpB;AAAA,IACA6B;AAAA,IACAC,EAAU,UAAU,EAAE,YAAY,IAAM;AAAA,IACxCC;AAAA,IACAC;AAAA,IACAC,EAAU,UAAU,EAAE,OAAO,CAAC,WAAW,WAAW,GAAG;AAAA,IACvDC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,IAEA,CAACP,CAAK;AAET,SAAO,CAAC,GAAGjB,GAAM,GAAGY,GAAmB,GAAGI,CAAc;AACzD;"}
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":";;;;;;;;;;;;;;;;;;;;;;;AAsEO,SAASA,GAAgBC,GAAyB;AACxD,QAAMC,IAAeD,EAAO,UAAU,aAAa,IAC7CE,IAAoBF,EAAO,UAAU,kBAAkB,IAKvDG,IAAeH,EAAO,UAAU,cAChCI,IAAS,CAACC,MACf,CAACF,KAAgBA,EAAa,SAASE,CAAC,GAOnCC,IAAYC,EAAU,OAAO;AAAA,IAClC,uBAAuB;AACtB,aAAO;AAAA,QACN,eAAe,MAAM,KAAK,OAAO,SAAS,aAAA;AAAA,MAAa;AAAA,IAEzD;AAAA,EAAA,CACA,GAWKC,IAAY,CAACC,MAClBA,MAAM,OAAOA,MAAM,SAASA,MAAM,SAASA,MAAM,OAC5CC,IAAsBC,EAAU,OAAO;AAAA,IAC5C,gBAAgB;AACf,aAAO;AAAA,QACN,GAAI,KAAK,SAAA,KAAc,CAAA;AAAA,QACvB,QAAQ;AAAA,UACP,SAAS;AAAA,UACT,WAAW,CAACC,MACXJ,EAAUI,EAAG,MAAM,SAAS,KAAKJ,EAAUI,EAAG,MAAM,YAAY,IAC7D,MACA;AAAA,UACJ,YAAY,CAACC,MACZA,EAAM,WAAW,MAAM,EAAE,OAAO,kBAAkB,CAAA;AAAA,QAAC;AAAA,MACrD;AAAA,IAEF;AAAA,EAAA,CACA,GAEKC,IAAO;AAAA;AAAA;AAAA;AAAA,IAIZC,EAAW,UAAU;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,MAAMX,EAAO,MAAM,IAAI,CAAA,IAAK;AAAA,MAC5B,QAAQA,EAAO,QAAQ,IAAI,CAAA,IAAK;AAAA,MAChC,QAAQA,EAAO,QAAQ,IAAI,CAAA,IAAK;AAAA,MAChC,MAAMA,EAAO,MAAM,IAAI,KAAK;AAAA,IAAA,CAC5B;AAAA,IACDM;AAAA,IACAJ;AAAA,IACA,GAAIF,EAAO,WAAW,IAAI,CAACY,CAAS,IAAI,CAAA;AAAA;AAAA;AAAA,IAGxCC,EAAK,OAAO;AAAA,MACX,eAAe,MAAM,CAAA;AAAA,MACrB,eAAe,MAAM,CAAA;AAAA,IAAC,CACtB,EAAE,UAAU;AAAA,MACZ,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,gBAAgB;AAAA,QACf,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IACR,CACA;AAAA,IACDC;AAAA,IACAC,EAAY,UAAU;AAAA,MACrB,aAAanB,EAAO,eAAe;AAAA,IAAA,CACnC;AAAA;AAAA;AAAA;AAAA,IAID,GAAIA,EAAO,UACR,CAACoB,EAAe,UAAU,EAAE,SAASpB,EAAO,SAAS,CAAC,IACtD,CAAA;AAAA,IACHqB,EAA4B,UAAU;AAAA,MACrC,eAAepB;AAAA;AAAA;AAAA;AAAA,MAIf,WAAW,CAACA;AAAA,IAAA,CACZ;AAAA,IACDqB,EAAsB,UAAU;AAAA,MAC/B,QAAQtB,EAAO;AAAA,MACf,cAAcA,EAAO;AAAA,MACrB,gBAAgBA,EAAO,aAAa,CAAA;AAAA,IAAC,CACrC;AAAA,IACDuB;AAAA,IACA,GAAIvB,EAAO,gBACR,CAACwB,EAAe,UAAU,EAAE,OAAOxB,EAAO,eAAe,CAAC,IAC1D,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKHyB;AAAA,EAAA,GAGKC,IAAoB;AAAA,IACzB,GAAI1B,EAAO,UAAU,SAClB;AAAA,MACA2B;AAAA,QACC3B,EAAO,SAAS;AAAA,QAChBA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,IACH,GAAIA,EAAO,UAAU,QAClB;AAAA,MACA4B;AAAA,QACC5B,EAAO,SAAS;AAAA,QAChBA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,IACH,GAAIA,EAAO,gBACR;AAAA,MACA6B;AAAA,QACC7B,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,QACPA,EAAO;AAAA,MAAA;AAAA,IACR,IAEA,CAAA;AAAA,EAAC,GAGC8B,IAAiB5B,IACpB;AAAA,IACA6B;AAAA,IACAC,EAAU,UAAU,EAAE,YAAY,IAAM;AAAA,IACxCC;AAAA,IACAC;AAAA,IACAC,EAAU,UAAU,EAAE,OAAO,CAAC,WAAW,WAAW,GAAG;AAAA,IACvDC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,IAEA,CAACP,CAAK;AAET,SAAO,CAAC,GAAGjB,GAAM,GAAGY,GAAmB,GAAGI,CAAc;AACzD;"}
@@ -8,5 +8,11 @@ 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<"span", any, {}, never>;
12
- export declare const SlashDescription: import('styled-components').StyledComponent<"span", any, {}, 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>;
@@ -1,33 +1,31 @@
1
1
  import t from "styled-components";
2
2
  import { COLORS as o } from "../../constants/Theme.js";
3
- const i = t.div`
3
+ import { BodyCaption as n } from "../../components/TypographyStyle.js";
4
+ const c = t.div`
4
5
  background: ${o.surface.standard};
5
- border: 1px solid ${o.stroke.primary};
6
- border-radius: 8px;
6
+ border-radius: 4px;
7
7
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
8
- padding: 4px;
9
8
  min-width: 330px;
10
9
  max-height: 260px;
11
10
  overflow-y: auto;
12
11
  font-size: 14px;
13
12
  color: ${o.content.primary};
14
- `, a = t.div`
13
+ `, p = t.div`
15
14
  display: flex;
16
15
  align-items: center;
17
16
  gap: 8px;
18
- padding: 12px 16px;
17
+ padding: 8px;
19
18
  min-height: 43px;
20
- border-radius: 6px;
21
19
  cursor: pointer;
22
20
  color: ${o.content.primary};
23
21
  background: ${({ $isActive: r }) => r ? o.surface.hovered : "transparent"};
24
- `, p = t.img`
22
+ `, s = t.img`
25
23
  width: 24px;
26
24
  height: 24px;
27
25
  border-radius: 50%;
28
26
  object-fit: cover;
29
27
  flex-shrink: 0;
30
- `, s = t.div`
28
+ `, d = t.div`
31
29
  width: 24px;
32
30
  height: 24px;
33
31
  border-radius: 50%;
@@ -39,32 +37,30 @@ const i = t.div`
39
37
  font-weight: 600;
40
38
  color: ${o.content.primary};
41
39
  flex-shrink: 0;
42
- `, c = t.span`
40
+ `, l = t.span`
43
41
  font-weight: 500;
44
42
  color: ${o.content.primary};
45
- `, d = t.span`
43
+ `, h = t.span`
46
44
  width: 8px;
47
45
  height: 8px;
48
46
  border-radius: 50%;
49
47
  background: ${({ $online: r }) => r ? o.content.positive : o.content.placeholder};
50
48
  margin-left: auto;
51
49
  flex-shrink: 0;
52
- `, x = t.span`
53
- font-weight: 500;
50
+ `, x = t(n)`
54
51
  color: ${o.content.primary};
55
- `, l = t.span`
56
- font-size: 12px;
52
+ `, f = t(n)`
57
53
  color: ${o.content.secondary};
58
54
  margin-left: auto;
59
55
  `;
60
56
  export {
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,
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,
68
64
  x as SlashLabel
69
65
  };
70
66
  //# sourceMappingURL=editorDropdown.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorDropdown.styles.js","sources":["../../../../src/editor/extensions/editorDropdown.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const DropdownContainer = styled.div`\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbox-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n\tpadding: 4px;\n\tmin-width: 330px;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\tfont-size: 14px;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const DropdownItem = styled.div<{ $isActive?: boolean }>`\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tpadding: 12px 16px;\n\tmin-height: 43px;\n\tborder-radius: 6px;\n\tcursor: pointer;\n\tcolor: ${COLORS.content.primary};\n\tbackground: ${({ $isActive }) =>\n\t\t$isActive ? COLORS.surface.hovered : 'transparent'};\n`;\n\nexport const MentionAvatar = styled.img`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tobject-fit: cover;\n\tflex-shrink: 0;\n`;\n\nexport const MentionAvatarFallback = styled.div`\n\twidth: 24px;\n\theight: 24px;\n\tborder-radius: 50%;\n\tbackground: ${COLORS.surface.hovered};\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tcolor: ${COLORS.content.primary};\n\tflex-shrink: 0;\n`;\n\nexport const MentionLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const MentionPresenceDot = styled.span<{ $online?: boolean }>`\n\twidth: 8px;\n\theight: 8px;\n\tborder-radius: 50%;\n\tbackground: ${({ $online }) =>\n\t\t$online ? COLORS.content.positive : COLORS.content.placeholder};\n\tmargin-left: auto;\n\tflex-shrink: 0;\n`;\n\nexport const SlashLabel = styled.span`\n\tfont-weight: 500;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const SlashDescription = styled.span`\n\tfont-size: 12px;\n\tcolor: ${COLORS.content.secondary};\n\tmargin-left: auto;\n`;\n"],"names":["DropdownContainer","styled","COLORS","DropdownItem","$isActive","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot","$online","SlashLabel","SlashDescription"],"mappings":";;AAGO,MAAMA,IAAoBC,EAAO;AAAA,eACzBC,EAAO,QAAQ,QAAQ;AAAA,qBACjBA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQhCA,EAAO,QAAQ,OAAO;AAAA,GAGnBC,IAAeF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQzBC,EAAO,QAAQ,OAAO;AAAA,eACjB,CAAC,EAAE,WAAAE,QAChBA,IAAYF,EAAO,QAAQ,UAAU,aAAa;AAAA,GAGvCG,IAAgBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvBK,IAAwBL,EAAO;AAAA;AAAA;AAAA;AAAA,eAI7BC,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM3BA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAInBK,IAAeN,EAAO;AAAA;AAAA,UAEzBC,EAAO,QAAQ,OAAO;AAAA,GAGnBM,IAAqBP,EAAO;AAAA;AAAA;AAAA;AAAA,eAI1B,CAAC,EAAE,SAAAQ,EAAA,MAChBA,IAAUP,EAAO,QAAQ,WAAWA,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA,GAKnDQ,IAAaT,EAAO;AAAA;AAAA,UAEvBC,EAAO,QAAQ,OAAO;AAAA,GAGnBS,IAAmBV,EAAO;AAAA;AAAA,UAE7BC,EAAO,QAAQ,SAAS;AAAA;AAAA;"}
1
+ {"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,52 +1,46 @@
1
- import { jsx as t, Fragment as p, jsxs as M } from "react/jsx-runtime";
2
- import { forwardRef as b, useState as A, useRef as x, useCallback as w, useImperativeHandle as I, useEffect as v } from "react";
3
- import { DropdownContainer as D, DropdownItem as C, MentionAvatar as R, MentionAvatarFallback as U, MentionLabel as E, MentionPresenceDot as H } from "../editorDropdown.styles.js";
4
- const K = b(
5
- ({ items: r, query: g, command: s, renderItem: i, renderDropdown: a }, k) => {
6
- const [l, c] = A(0), f = x(null), u = x(null), y = w(
7
- (n) => {
8
- u.current = n;
9
- },
10
- []
11
- ), d = w((n) => {
12
- const e = f.current;
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;
13
8
  if (!e) return;
14
9
  e.children[n]?.scrollIntoView({ block: "nearest" });
15
- }, []), h = (n) => {
16
- r[n] && s(r[n]);
10
+ }, []), d = (n) => {
11
+ r[n] && c(r[n]);
17
12
  };
18
- return I(k, () => ({
19
- onKeyDown: ({ event: n }) => a && u.current ? u.current(n) : r.length ? n.key === "ArrowUp" ? (c((e) => {
13
+ return v(w, () => ({
14
+ onKeyDown: ({ event: n }) => r.length ? n.key === "ArrowUp" ? (a((e) => {
20
15
  const o = (e + r.length - 1) % r.length;
21
- return d(o), o;
22
- }), !0) : n.key === "ArrowDown" ? (c((e) => {
16
+ return f(o), o;
17
+ }), !0) : n.key === "ArrowDown" ? (a((e) => {
23
18
  const o = (e + 1) % r.length;
24
- return d(o), o;
25
- }), !0) : n.key === "Enter" ? (h(l), !0) : !1 : !1
26
- })), v(() => c(0), [r]), r.length ? a ? /* @__PURE__ */ t(p, { children: a({
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({
27
22
  items: r,
28
- query: g,
23
+ query: p,
29
24
  activeIndex: l,
30
- onSelect: (n) => s(n),
31
- registerKeyHandler: y
32
- }) }) : /* @__PURE__ */ t(D, { ref: f, children: r.map((n, e) => /* @__PURE__ */ t(
33
- C,
25
+ onSelect: (n) => c(n)
26
+ }) }) : /* @__PURE__ */ t(D, { ref: u, children: r.map((n, e) => /* @__PURE__ */ t(
27
+ I,
34
28
  {
35
29
  $isActive: e === l,
36
- onMouseEnter: () => c(e),
37
- onClick: () => h(e),
38
- children: i ? i(n, e === l) : /* @__PURE__ */ M(p, { children: [
39
- n.avatarUrl ? /* @__PURE__ */ t(R, { src: n.avatarUrl, alt: "" }) : /* @__PURE__ */ t(U, { children: n.label.charAt(0).toUpperCase() }),
40
- /* @__PURE__ */ t(E, { children: n.label }),
41
- n.isOnline !== void 0 && /* @__PURE__ */ t(H, { $online: n.isOnline })
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 })
42
36
  ] })
43
37
  },
44
38
  n.id
45
39
  )) }) : null;
46
40
  }
47
41
  );
48
- K.displayName = "MentionDropdown";
42
+ R.displayName = "MentionDropdown";
49
43
  export {
50
- K as MentionDropdown
44
+ R as MentionDropdown
51
45
  };
52
46
  //# 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\t\t// A custom dropdown (renderDropdown) can claim keyboard nav for itself.\n\t\tconst customKeyHandlerRef = useRef<\n\t\t\t((event: KeyboardEvent) => boolean) | null\n\t\t>(null);\n\n\t\tconst registerKeyHandler = useCallback(\n\t\t\t(handler: ((event: KeyboardEvent) => boolean) | null) => {\n\t\t\t\tcustomKeyHandlerRef.current = handler;\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tconst scrollToIndex = useCallback((index: number) => {\n\t\t\tconst container = containerRef.current;\n\t\t\tif (!container) return;\n\t\t\tconst item = container.children[index] as HTMLElement | undefined;\n\t\t\titem?.scrollIntoView({ block: 'nearest' });\n\t\t}, []);\n\n\t\tconst select = (i: number) => {\n\t\t\tif (items[i]) command(items[i]);\n\t\t};\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tonKeyDown: ({ event }: { event: KeyboardEvent }) => {\n\t\t\t\t// A custom dropdown that registered a handler owns navigation.\n\t\t\t\tif (renderDropdown && customKeyHandlerRef.current) {\n\t\t\t\t\treturn customKeyHandlerRef.current(event);\n\t\t\t\t}\n\t\t\t\tif (!items.length) return false;\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + items.length - 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tsetSelectedIndex((prev) => {\n\t\t\t\t\t\tconst next = (prev + 1) % items.length;\n\t\t\t\t\t\tscrollToIndex(next);\n\t\t\t\t\t\treturn next;\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (event.key === 'Enter') {\n\t\t\t\t\tselect(selectedIndex);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t}));\n\n\t\tuseEffect(() => setSelectedIndex(0), [items]);\n\n\t\tif (!items.length) return null;\n\n\t\t// Full custom dropdown — editor still manages keyboard nav via selectedIndex\n\t\tif (renderDropdown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{renderDropdown({\n\t\t\t\t\t\titems,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tactiveIndex: selectedIndex,\n\t\t\t\t\t\tonSelect: (item) => command(item),\n\t\t\t\t\t\tregisterKeyHandler,\n\t\t\t\t\t})}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<DropdownContainer ref={containerRef}>\n\t\t\t\t{items.map((item, i) => (\n\t\t\t\t\t<DropdownItem\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t$isActive={i === selectedIndex}\n\t\t\t\t\t\tonMouseEnter={() => setSelectedIndex(i)}\n\t\t\t\t\t\tonClick={() => select(i)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\trenderItem(item, i === selectedIndex)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.avatarUrl ? (\n\t\t\t\t\t\t\t\t\t<MentionAvatar src={item.avatarUrl} alt=\"\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<MentionAvatarFallback>\n\t\t\t\t\t\t\t\t\t\t{item.label.charAt(0).toUpperCase()}\n\t\t\t\t\t\t\t\t\t</MentionAvatarFallback>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<MentionLabel>{item.label}</MentionLabel>\n\t\t\t\t\t\t\t\t{item.isOnline !== undefined && (\n\t\t\t\t\t\t\t\t\t<MentionPresenceDot $online={item.isOnline} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownItem>\n\t\t\t\t))}\n\t\t\t</DropdownContainer>\n\t\t);\n\t},\n);\nMentionDropdown.displayName = 'MentionDropdown';\n"],"names":["MentionDropdown","forwardRef","items","query","command","renderItem","renderDropdown","ref","selectedIndex","setSelectedIndex","useState","containerRef","useRef","customKeyHandlerRef","registerKeyHandler","useCallback","handler","scrollToIndex","index","container","select","i","useImperativeHandle","event","prev","next","useEffect","item","jsx","DropdownContainer","DropdownItem","jsxs","Fragment","MentionAvatar","MentionAvatarFallback","MentionLabel","MentionPresenceDot"],"mappings":";;;AAkCO,MAAMA,IAAkBC;AAAA,EAC9B,CAAC,EAAE,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,EAAA,GAAkBC,MAAQ;AAC/D,UAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAS,CAAC,GAC9CC,IAAeC,EAAuB,IAAI,GAE1CC,IAAsBD,EAE1B,IAAI,GAEAE,IAAqBC;AAAA,MAC1B,CAACC,MAAwD;AACxD,QAAAH,EAAoB,UAAUG;AAAA,MAC/B;AAAA,MACA,CAAA;AAAA,IAAC,GAGIC,IAAgBF,EAAY,CAACG,MAAkB;AACpD,YAAMC,IAAYR,EAAa;AAC/B,UAAI,CAACQ,EAAW;AAEhB,MADaA,EAAU,SAASD,CAAK,GAC/B,eAAe,EAAE,OAAO,UAAA,CAAW;AAAA,IAC1C,GAAG,CAAA,CAAE,GAECE,IAAS,CAACC,MAAc;AAC7B,MAAInB,EAAMmB,CAAC,KAAGjB,EAAQF,EAAMmB,CAAC,CAAC;AAAA,IAC/B;AAmCA,WAjCAC,EAAoBf,GAAK,OAAO;AAAA,MAC/B,WAAW,CAAC,EAAE,OAAAgB,QAETjB,KAAkBO,EAAoB,UAClCA,EAAoB,QAAQU,CAAK,IAEpCrB,EAAM,SACPqB,EAAM,QAAQ,aACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAOtB,EAAM,SAAS,KAAKA,EAAM;AAC/C,eAAAe,EAAcQ,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,eACjBd,EAAiB,CAACe,MAAS;AAC1B,cAAMC,KAAQD,IAAO,KAAKtB,EAAM;AAChC,eAAAe,EAAcQ,CAAI,GACXA;AAAA,MACR,CAAC,GACM,MAEJF,EAAM,QAAQ,WACjBH,EAAOZ,CAAa,GACb,MAED,KArBmB;AAAA,IAsB3B,EACC,GAEFkB,EAAU,MAAMjB,EAAiB,CAAC,GAAG,CAACP,CAAK,CAAC,GAEvCA,EAAM,SAGPI,2BAGA,UAAAA,EAAe;AAAA,MACf,OAAAJ;AAAA,MACA,OAAAC;AAAA,MACA,aAAaK;AAAA,MACb,UAAU,CAACmB,MAASvB,EAAQuB,CAAI;AAAA,MAChC,oBAAAb;AAAA,IAAA,CACA,GACF,IAKD,gBAAAc,EAACC,KAAkB,KAAKlB,GACtB,YAAM,IAAI,CAACgB,GAAMN,MACjB,gBAAAO;AAAA,MAACE;AAAA,MAAA;AAAA,QAEA,WAAWT,MAAMb;AAAA,QACjB,cAAc,MAAMC,EAAiBY,CAAC;AAAA,QACtC,SAAS,MAAMD,EAAOC,CAAC;AAAA,QAEtB,cACAhB,EAAWsB,GAAMN,MAAMb,CAAa,IAEpC,gBAAAuB,EAAAC,GAAA,EACE,UAAA;AAAA,UAAAL,EAAK,YACL,gBAAAC,EAACK,GAAA,EAAc,KAAKN,EAAK,WAAW,KAAI,GAAA,CAAG,IAE3C,gBAAAC,EAACM,KACC,UAAAP,EAAK,MAAM,OAAO,CAAC,EAAE,eACvB;AAAA,UAED,gBAAAC,EAACO,GAAA,EAAc,UAAAR,EAAK,MAAA,CAAM;AAAA,UACzBA,EAAK,aAAa,4BACjBS,GAAA,EAAmB,SAAST,EAAK,SAAA,CAAU;AAAA,QAAA,EAAA,CAE9C;AAAA,MAAA;AAAA,MApBIA,EAAK;AAAA,IAAA,CAuBX,GACF,IA7CyB;AAAA,EA+C3B;AACD;AACA3B,EAAgB,cAAc;"}
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;"}
@@ -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, removeTriggerOnDismiss?: boolean): 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): 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, removeTriggerOnDismiss?: boolean): 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): import('@tiptap/core').Node<import('@tiptap/extension-mention').MentionOptions<any, import('@tiptap/extension-mention').MentionNodeAttrs>, any>;
@@ -1,105 +1,84 @@
1
- import { mergeAttributes as m } from "../../../node_modules/@tiptap/core/dist/index.js";
2
- import c from "@tiptap/extension-mention";
3
- import { ReactRenderer as g } from "@tiptap/react";
4
- import { createSuggestionPopup as f } from "../suggestionPopup.js";
5
- import { MentionDropdown as k } from "./MentionDropdown.js";
6
- function b(r, o) {
7
- const { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a } = r;
1
+ import { mergeAttributes as s } from "../../../node_modules/@tiptap/core/dist/index.js";
2
+ import u from "@tiptap/extension-mention";
3
+ import { ReactRenderer as c } from "@tiptap/react";
4
+ import { createSuggestionPopup as m } from "../suggestionPopup.js";
5
+ import { MentionDropdown as d } from "./MentionDropdown.js";
6
+ function l(a, r = "@", i, o) {
8
7
  return () => {
9
- let s, i, t;
8
+ let e, t;
10
9
  return {
11
- onStart: (e) => {
12
- t = e, o.picked = !1, s = new g(k, {
13
- props: { ...e, renderItem: n, renderDropdown: d },
14
- editor: e.editor
15
- }), i = f(s.element, e.clientRect);
10
+ onStart: (n) => {
11
+ e = new c(d, {
12
+ props: { ...n, renderItem: i, renderDropdown: o },
13
+ editor: n.editor
14
+ }), t = m(e.element, n.clientRect);
16
15
  },
17
- onUpdate: (e) => {
18
- if (t = e, s.updateProps({ ...e, renderItem: n, renderDropdown: d }), !e.items?.length) {
19
- i.hide();
16
+ onUpdate: (n) => {
17
+ if (e.updateProps({ ...n, renderItem: i, renderDropdown: o }), !n.items?.length) {
18
+ t.hide();
20
19
  return;
21
20
  }
22
- i.show(), i.updatePosition(e.clientRect);
21
+ t.show(), t.updatePosition(n.clientRect);
23
22
  },
24
- onKeyDown: (e) => e.event.key === "Escape" ? (i.hide(), !0) : s.ref?.onKeyDown(e) ?? !1,
23
+ onKeyDown: (n) => n.event.key === "Escape" ? (t.hide(), !0) : e.ref?.onKeyDown(n) ?? !1,
25
24
  onExit: () => {
26
- if (i.destroy(), s.destroy(), a && !o.picked && t?.editor && t?.range) {
27
- const { editor: e, range: u } = t;
28
- setTimeout(() => {
29
- e.isDestroyed || e.chain().deleteRange(u).run();
30
- }, 0);
31
- }
25
+ t.destroy(), e.destroy();
32
26
  }
33
27
  };
34
28
  };
35
29
  }
36
- function l(r, o, n, d, a, s) {
37
- const i = { picked: !1 };
38
- return c.extend({
39
- name: r,
40
- addAttributes() {
41
- return {
42
- ...this.parent?.(),
43
- kind: {
44
- default: null,
45
- parseHTML: (t) => t.getAttribute("data-kind"),
46
- renderHTML: (t) => t.kind ? { "data-kind": String(t.kind) } : {}
47
- }
48
- };
49
- }
50
- }).configure({
51
- HTMLAttributes: { class: o },
52
- renderText: ({ options: t, node: e }) => `${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`,
53
- renderHTML: ({ options: t, node: e }) => [
30
+ function w(a, r, i, o) {
31
+ return u.extend({ name: "mentionAgent" }).configure({
32
+ HTMLAttributes: { class: "bik-mention bik-mention--agent" },
33
+ renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
34
+ renderHTML: ({ options: e, node: t }) => [
54
35
  "span",
55
- m(
56
- t.HTMLAttributes,
57
- e.attrs.kind ? { "data-kind": String(e.attrs.kind) } : {}
58
- ),
59
- `${e.attrs.kind ? "" : t.suggestion.char}${e.attrs.label}`
36
+ s(e.HTMLAttributes),
37
+ `${e.suggestion.char}${t.attrs.label}`
60
38
  ],
61
39
  suggestion: {
62
- char: n,
40
+ char: "@",
63
41
  allowSpaces: !0,
64
- items: ({ query: t }) => d.current.filter(
65
- (e) => e.label.toLowerCase().includes(t.toLowerCase())
42
+ items: ({ query: e }) => a.current.filter(
43
+ (t) => t.label.toLowerCase().includes(e.toLowerCase())
66
44
  ),
67
- command: ({ editor: t, range: e, props: u }) => {
68
- i.picked = !0, t.chain().focus().deleteRange(e).insertContent({
69
- type: r,
70
- attrs: {
71
- id: u.id,
72
- label: u.label,
73
- kind: u.meta?.kind ?? null
74
- }
75
- }).run(), a?.(u, n);
45
+ command: ({ editor: e, range: t, props: n }) => {
46
+ e.chain().focus().deleteRange(t).insertContent({
47
+ type: "mentionAgent",
48
+ attrs: { id: n.id, label: n.label }
49
+ }).run(), r?.(n, "@");
76
50
  },
77
- render: b(s, i)
51
+ render: l(r, "@", i, o)
78
52
  }
79
53
  });
80
54
  }
81
- function x(r, o, n, d, a) {
82
- return l(
83
- "mentionAgent",
84
- "bik-mention bik-mention--agent",
85
- "@",
86
- r,
87
- o,
88
- { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a }
89
- );
90
- }
91
- function y(r, o, n, d, a) {
92
- return l(
93
- "mentionTeam",
94
- "bik-mention bik-mention--team",
95
- "#",
96
- r,
97
- o,
98
- { renderItem: n, renderDropdown: d, removeTriggerOnDismiss: a }
99
- );
55
+ function L(a, r, i, o) {
56
+ return u.extend({ name: "mentionTeam" }).configure({
57
+ HTMLAttributes: { class: "bik-mention bik-mention--team" },
58
+ renderText: ({ options: e, node: t }) => `${e.suggestion.char}${t.attrs.label}`,
59
+ renderHTML: ({ options: e, node: t }) => [
60
+ "span",
61
+ s(e.HTMLAttributes),
62
+ `${e.suggestion.char}${t.attrs.label}`
63
+ ],
64
+ suggestion: {
65
+ char: "#",
66
+ allowSpaces: !0,
67
+ items: ({ query: e }) => a.current.filter(
68
+ (t) => t.label.toLowerCase().includes(e.toLowerCase())
69
+ ),
70
+ command: ({ editor: e, range: t, props: n }) => {
71
+ e.chain().focus().deleteRange(t).insertContent({
72
+ type: "mentionTeam",
73
+ attrs: { id: n.id, label: n.label }
74
+ }).run(), r?.(n, "#");
75
+ },
76
+ render: l(r, "#", i, o)
77
+ }
78
+ });
100
79
  }
101
80
  export {
102
- x as buildAgentMentionExtension,
103
- y as buildTeamMentionExtension
81
+ w as buildAgentMentionExtension,
82
+ L as buildTeamMentionExtension
104
83
  };
105
84
  //# sourceMappingURL=MentionExtension.js.map