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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/dist/cjs/assets/icons/ManifestGlass.svg.js +2 -0
  2. package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +1 -0
  3. package/dist/cjs/assets/icons/Shopify.svg.js +2 -0
  4. package/dist/cjs/assets/icons/Shopify.svg.js.map +1 -0
  5. package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
  6. package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
  7. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  8. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  9. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  10. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  11. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  12. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  13. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  14. package/dist/cjs/components/TypographyStyle.js +20 -41
  15. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  16. package/dist/cjs/components/agent-builder/AgentBuilder.js +2 -0
  17. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
  18. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +411 -0
  19. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  20. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
  21. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  22. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
  23. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  24. package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
  25. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
  26. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +2 -0
  27. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  28. package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
  29. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
  30. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
  31. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
  32. package/dist/cjs/components/agent-builder/components/MentionEditor.js +2 -0
  33. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -0
  34. package/dist/cjs/components/agent-builder/components/MentionField.js +2 -0
  35. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -0
  36. package/dist/cjs/components/agent-builder/components/MentionPicker.js +78 -0
  37. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
  38. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
  39. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
  40. package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
  41. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
  42. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
  43. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  44. package/dist/cjs/components/agent-builder/components/UndoToast.js +2 -0
  45. package/dist/cjs/components/agent-builder/components/UndoToast.js.map +1 -0
  46. package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
  47. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
  48. package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
  49. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
  50. package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
  51. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
  52. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
  53. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  54. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
  55. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  56. package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
  57. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
  58. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
  59. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  60. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
  61. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  62. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
  63. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  64. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
  65. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  66. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +2 -0
  67. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -0
  68. package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
  69. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
  70. package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
  71. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
  72. package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
  73. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
  74. package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
  75. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
  76. package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
  77. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
  78. package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
  79. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
  80. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +2 -0
  81. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -0
  82. package/dist/cjs/components/avatar/Avatar.js +1 -1
  83. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  84. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  85. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  86. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  87. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  88. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  89. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  90. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  91. package/dist/cjs/components/button/Button.js +1 -1
  92. package/dist/cjs/components/button/Button.js.map +1 -1
  93. package/dist/cjs/components/button/Button.styled.js +13 -13
  94. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  95. package/dist/cjs/components/button/themes.js +6 -6
  96. package/dist/cjs/components/button/themes.js.map +1 -1
  97. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  98. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  99. package/dist/cjs/components/checkBox/CheckBox.styled.js +20 -21
  100. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  101. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  102. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  103. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  104. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  105. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  106. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  107. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  108. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  109. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +8 -9
  110. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  111. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  112. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  113. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  114. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  115. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  116. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  117. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  118. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  119. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  120. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  121. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  122. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  123. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  124. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  125. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  126. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  127. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  128. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  129. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -20
  130. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  131. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  132. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  133. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  134. package/dist/cjs/components/icon-button/IconButton.styled.js +12 -18
  135. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  136. package/dist/cjs/components/icon-button/theme.js +1 -1
  137. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  138. package/dist/cjs/components/input/Input.js +1 -1
  139. package/dist/cjs/components/input/Input.js.map +1 -1
  140. package/dist/cjs/components/input/Input.styled.js +16 -27
  141. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  142. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  143. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  144. package/dist/cjs/components/list-item/ListItem.js +1 -1
  145. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  146. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  147. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  148. package/dist/cjs/components/list-item/themes.js +20 -32
  149. package/dist/cjs/components/list-item/themes.js.map +1 -1
  150. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  151. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  152. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  153. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  154. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  155. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  156. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  157. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  158. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  159. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  160. package/dist/cjs/components/tag/Tag.js +1 -1
  161. package/dist/cjs/components/tag/Tag.js.map +1 -1
  162. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  163. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  164. package/dist/cjs/components/tag/model.js.map +1 -1
  165. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  166. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  167. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  168. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  169. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  170. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  171. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  172. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  173. package/dist/cjs/constants/Theme.js +1 -1
  174. package/dist/cjs/constants/Theme.js.map +1 -1
  175. package/dist/cjs/editor/BikEditor.js +1 -1
  176. package/dist/cjs/editor/BikEditor.js.map +1 -1
  177. package/dist/cjs/editor/BikEditor.styles.js +14 -1
  178. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  179. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  180. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  181. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  182. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  183. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  184. package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
  185. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  186. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  187. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  188. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  189. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  190. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  191. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  192. package/dist/cjs/index.js +1 -1
  193. package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
  194. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
  195. package/dist/esm/assets/icons/Shopify.svg.js +6 -0
  196. package/dist/esm/assets/icons/Shopify.svg.js.map +1 -0
  197. package/dist/esm/assets/icons/playOutline.svg.js +6 -0
  198. package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
  199. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +59 -61
  200. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  201. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
  202. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +88 -124
  203. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  204. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
  205. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  206. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
  207. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  208. package/dist/esm/components/TypographyStyle.d.ts +0 -8
  209. package/dist/esm/components/TypographyStyle.js +40 -63
  210. package/dist/esm/components/TypographyStyle.js.map +1 -1
  211. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +18 -0
  212. package/dist/esm/components/agent-builder/AgentBuilder.js +203 -0
  213. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
  214. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +107 -0
  215. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +161 -0
  216. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +517 -0
  217. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  218. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
  219. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
  220. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  221. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
  222. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
  223. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  224. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
  225. package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
  226. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
  227. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +25 -0
  228. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +215 -0
  229. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  230. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
  231. package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
  232. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
  233. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
  234. package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
  235. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
  236. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +39 -0
  237. package/dist/esm/components/agent-builder/components/MentionEditor.js +100 -0
  238. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -0
  239. package/dist/esm/components/agent-builder/components/MentionField.d.ts +19 -0
  240. package/dist/esm/components/agent-builder/components/MentionField.js +64 -0
  241. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -0
  242. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +17 -0
  243. package/dist/esm/components/agent-builder/components/MentionPicker.js +268 -0
  244. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
  245. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +52 -0
  246. package/dist/esm/components/agent-builder/components/SelectableListSection.js +192 -0
  247. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
  248. package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
  249. package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
  250. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
  251. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
  252. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
  253. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  254. package/dist/esm/components/agent-builder/components/UndoToast.d.ts +7 -0
  255. package/dist/esm/components/agent-builder/components/UndoToast.js +27 -0
  256. package/dist/esm/components/agent-builder/components/UndoToast.js.map +1 -0
  257. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
  258. package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
  259. package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
  260. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
  261. package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
  262. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
  263. package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
  264. package/dist/esm/components/agent-builder/constants/steps.js +32 -0
  265. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
  266. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +98 -0
  267. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +174 -0
  268. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  269. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
  270. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
  271. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  272. package/dist/esm/components/agent-builder/index.d.ts +7 -0
  273. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
  274. package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
  275. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
  276. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
  277. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
  278. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  279. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
  280. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +218 -0
  281. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  282. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
  283. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
  284. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  285. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +61 -0
  286. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +96 -0
  287. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  288. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +10 -0
  289. package/dist/esm/components/agent-builder/utils/sourceIcons.js +10 -0
  290. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -0
  291. package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
  292. package/dist/esm/components/agent-listing/AgentListing.js +176 -0
  293. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
  294. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +78 -0
  295. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
  296. package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
  297. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
  298. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +18 -0
  299. package/dist/esm/components/agent-listing/AgentListingFilters.js +85 -0
  300. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
  301. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
  302. package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
  303. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
  304. package/dist/esm/components/agent-listing/AgentTable.d.ts +11 -0
  305. package/dist/esm/components/agent-listing/AgentTable.js +35 -0
  306. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
  307. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +12 -0
  308. package/dist/esm/components/agent-listing/AgentTableRow.js +108 -0
  309. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
  310. package/dist/esm/components/agent-listing/DeleteAgentModal.d.ts +16 -0
  311. package/dist/esm/components/agent-listing/DeleteAgentModal.js +69 -0
  312. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -0
  313. package/dist/esm/components/agent-listing/index.d.ts +2 -0
  314. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  315. package/dist/esm/components/avatar/Avatar.js +73 -51
  316. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  317. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  318. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  319. package/dist/esm/components/avatar/AvatarHelper.d.ts +4 -5
  320. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  321. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  322. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  323. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  324. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  325. package/dist/esm/components/bik-layout/index.d.ts +0 -2
  326. package/dist/esm/components/button/Button.js +31 -31
  327. package/dist/esm/components/button/Button.js.map +1 -1
  328. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  329. package/dist/esm/components/button/Button.styled.js +20 -20
  330. package/dist/esm/components/button/Button.styled.js.map +1 -1
  331. package/dist/esm/components/button/model.d.ts +3 -3
  332. package/dist/esm/components/button/themes.d.ts +2 -2
  333. package/dist/esm/components/button/themes.js +17 -31
  334. package/dist/esm/components/button/themes.js.map +1 -1
  335. package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
  336. package/dist/esm/components/checkBox/CheckBox.js +87 -124
  337. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  338. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  339. package/dist/esm/components/checkBox/CheckBox.styled.js +9 -10
  340. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  341. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  342. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  343. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  344. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  345. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  346. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  347. package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
  348. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  349. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
  350. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  351. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  352. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +4 -5
  353. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  354. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  355. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  356. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  357. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  358. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -3
  359. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
  360. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  361. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
  362. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +87 -93
  363. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  364. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
  365. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
  366. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  367. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  368. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
  369. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  370. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -3
  371. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
  372. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  373. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  374. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  375. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  376. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  377. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
  378. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  379. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  380. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
  381. package/dist/esm/components/dropdown/type.d.ts +1 -6
  382. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -3
  383. package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
  384. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  385. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  386. package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
  387. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  388. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  389. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  390. package/dist/esm/components/icon-button/IconButton.js +32 -36
  391. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  392. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
  393. package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
  394. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  395. package/dist/esm/components/icon-button/model.d.ts +1 -12
  396. package/dist/esm/components/icon-button/theme.js +10 -12
  397. package/dist/esm/components/icon-button/theme.js.map +1 -1
  398. package/dist/esm/components/input/Input.js +115 -119
  399. package/dist/esm/components/input/Input.js.map +1 -1
  400. package/dist/esm/components/input/Input.model.d.ts +3 -2
  401. package/dist/esm/components/input/Input.styled.d.ts +1 -8
  402. package/dist/esm/components/input/Input.styled.js +22 -34
  403. package/dist/esm/components/input/Input.styled.js.map +1 -1
  404. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +2 -0
  405. package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
  406. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  407. package/dist/esm/components/list-item/List.model.d.ts +1 -2
  408. package/dist/esm/components/list-item/ListItem.js +38 -40
  409. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  410. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
  411. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  412. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  413. package/dist/esm/components/list-item/themes.d.ts +2 -2
  414. package/dist/esm/components/list-item/themes.js +6 -20
  415. package/dist/esm/components/list-item/themes.js.map +1 -1
  416. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  417. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
  418. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  419. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  420. package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
  421. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  422. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
  423. package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
  424. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  425. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
  426. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  427. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  428. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
  429. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  430. package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
  431. package/dist/esm/components/tag/Tag.d.ts +1 -1
  432. package/dist/esm/components/tag/Tag.js +18 -22
  433. package/dist/esm/components/tag/Tag.js.map +1 -1
  434. package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
  435. package/dist/esm/components/tag/Tag.styled.js +7 -7
  436. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  437. package/dist/esm/components/tag/model.d.ts +1 -5
  438. package/dist/esm/components/tag/model.js.map +1 -1
  439. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  440. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  441. package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
  442. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  443. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
  444. package/dist/esm/components/whats-new/WhatsNew.js +19 -23
  445. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  446. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
  447. package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
  448. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  449. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  450. package/dist/esm/constants/Theme.d.ts +0 -36
  451. package/dist/esm/constants/Theme.js +1 -21
  452. package/dist/esm/constants/Theme.js.map +1 -1
  453. package/dist/esm/editor/BikEditor.js +19 -18
  454. package/dist/esm/editor/BikEditor.js.map +1 -1
  455. package/dist/esm/editor/BikEditor.styles.js +13 -0
  456. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  457. package/dist/esm/editor/BikEditor.types.d.ts +21 -0
  458. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  459. package/dist/esm/editor/BikEditor.utils.js +76 -75
  460. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  461. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  462. package/dist/esm/editor/extensions/buildExtensions.js +31 -29
  463. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  464. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
  465. package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
  466. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  467. package/dist/esm/editor/extensions/mention/MentionDropdown.d.ts +2 -0
  468. package/dist/esm/editor/extensions/mention/MentionDropdown.js +35 -28
  469. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  470. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  471. package/dist/esm/editor/extensions/mention/MentionExtension.js +91 -59
  472. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  473. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  474. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
  475. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  476. package/dist/esm/icons/index.d.ts +24 -24
  477. package/dist/esm/index.d.ts +2 -1
  478. package/dist/esm/index.js +806 -798
  479. package/dist/esm/index.js.map +1 -1
  480. package/package.json +3 -2
  481. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  482. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  483. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  484. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  485. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  486. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  487. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  488. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  489. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  490. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  491. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
  492. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  493. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  494. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
  495. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  496. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  497. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
  498. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
  499. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  500. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  501. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
  502. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  503. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
  504. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
  505. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  506. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
  507. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
  508. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  509. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  510. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
  511. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  512. package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
  513. package/dist/esm/components/dual-icon-button/model.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"WhatsNewButton.js","sources":["../../../../src/components/whats-new/WhatsNewButton.tsx"],"sourcesContent":["import React from 'react';\nimport WhatsNewIcon from '../../assets/icons/whatsNew.svg';\nimport { COLORS } from '../../constants/Theme';\nimport { IconButton } from '../icon-button';\nimport { Tooltip } from '../tooltips';\nimport { WhatsNewIconContainer } from './WhatsNew.styles';\nimport { WhatsNewButtonProps } from './WhatsNew.types';\n\nexport const WhatsNewButton: React.FC<WhatsNewButtonProps> = ({\n\tonClick,\n\tnewContentCount = 0,\n\tisOpen = false,\n\tisLoading = false,\n\ttooltip = \"What's new\",\n\ttestId = 'whats-new-button',\n\ticonWidth = 24,\n\ticonHeight = 24,\n\ticonColor,\n\ticonPadding,\n\tcustomIcon: CustomIcon,\n}) => {\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div style={{ margin: '0px 8px' }}>\n\t\t\t\t{/* Simple loading spinner */}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\tborder: '2px solid #f3f3f3',\n\t\t\t\t\t\tborderTop: '2px solid #731DCF',\n\t\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\t\tanimation: 'spin 1s linear infinite',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<style>\n\t\t\t\t\t{`\n\t\t\t\t\t\t@keyframes spin {\n\t\t\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t\t\t}\n\t\t\t\t\t`}\n\t\t\t\t</style>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<WhatsNewIconContainer count={newContentCount}>\n\t\t\t<Tooltip body={tooltip} placement={'bottom'}>\n\t\t\t\t<IconButton\n\t\t\t\t\tIcon={\n\t\t\t\t\t\t(CustomIcon ?? WhatsNewIcon) as React.FC<\n\t\t\t\t\t\t\tReact.SVGAttributes<SVGElement>\n\t\t\t\t\t\t>\n\t\t\t\t\t}\n\t\t\t\t\twidth={iconWidth}\n\t\t\t\t\theight={iconHeight}\n\t\t\t\t\tisSelected={isOpen}\n\t\t\t\t\ticonColor={\n\t\t\t\t\t\ticonColor ??\n\t\t\t\t\t\t(isOpen ? COLORS.content.brand : COLORS.content.primary)\n\t\t\t\t\t}\n\t\t\t\t\tonClick={onClick}\n\t\t\t\t\tdata-testid={testId}\n\t\t\t\t/>\n\t\t\t</Tooltip>\n\t\t\t{newContentCount > 0 && (\n\t\t\t\t<div className=\"notification--count\">\n\t\t\t\t\t<div className=\"count--text\">{newContentCount}</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</WhatsNewIconContainer>\n\t);\n};\n"],"names":["WhatsNewButton","onClick","newContentCount","isOpen","isLoading","tooltip","testId","iconWidth","iconHeight","iconColor","iconPadding","CustomIcon","jsx","jsxs","WhatsNewIconContainer","Tooltip","IconButton","WhatsNewIcon","COLORS"],"mappings":"2TAQaA,EAAgD,CAAC,CAC7D,QAAAC,EACA,gBAAAC,EAAkB,EAClB,OAAAC,EAAS,GACT,UAAAC,EAAY,GACZ,QAAAC,EAAU,aACV,OAAAC,EAAS,mBACT,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,UAAAC,EACA,YAAAC,EACA,WAAYC,CACb,IACKP,SAED,MAAA,CAAI,MAAO,CAAE,OAAQ,WAErB,SAAA,CAAAQ,EAAAA,IAAC,MAAA,CACA,MAAO,CACN,MAAO,GACP,OAAQ,GACR,OAAQ,oBACR,UAAW,oBACX,aAAc,MACd,UAAW,yBAAA,CACZ,CAAA,QAEA,QAAA,CACC,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA,CAMF,CAAA,EACD,EAKDC,EAAAA,KAACC,EAAAA,sBAAA,CAAsB,MAAOZ,EAC7B,SAAA,CAAAU,EAAAA,IAACG,EAAAA,QAAA,CAAQ,KAAMV,EAAS,UAAW,SAClC,SAAAO,EAAAA,IAACI,EAAAA,WAAA,CACA,KACEL,GAAcM,EAAAA,QAIhB,MAAOV,EACP,OAAQC,EACR,WAAYL,EACZ,UACCM,IACCN,EAASe,EAAAA,OAAO,QAAQ,MAAQA,EAAAA,OAAO,QAAQ,SAEjD,QAAAjB,EACA,cAAaK,CAAA,CAAA,EAEf,EACCJ,EAAkB,GAClBU,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACd,SAAAA,EAAAA,IAAC,MAAA,CAAI,UAAU,cAAe,SAAAV,CAAA,CAAgB,CAAA,CAC/C,CAAA,EAEF"}
1
+ {"version":3,"file":"WhatsNewButton.js","sources":["../../../../src/components/whats-new/WhatsNewButton.tsx"],"sourcesContent":["import React from 'react';\nimport WhatsNewIcon from '../../assets/icons/whatsNew.svg';\nimport { COLORS } from '../../constants/Theme';\nimport { Tooltip } from '../tooltips';\nimport { WhatsNewIconContainer } from './WhatsNew.styles';\nimport { WhatsNewButtonProps } from './WhatsNew.types';\n\nexport const WhatsNewButton: React.FC<WhatsNewButtonProps> = ({\n\tonClick,\n\tnewContentCount = 0,\n\tisOpen = false,\n\tisLoading = false,\n\ttooltip = \"What's new\",\n\ttestId = 'whats-new-button',\n\ticonWidth = 32,\n\ticonHeight = 32,\n\tcustomIcon: CustomIcon,\n}) => {\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<div style={{ margin: '0px 8px' }}>\n\t\t\t\t{/* Simple loading spinner */}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\tborder: '2px solid #f3f3f3',\n\t\t\t\t\t\tborderTop: '2px solid #731DCF',\n\t\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\t\tanimation: 'spin 1s linear infinite',\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<style>\n\t\t\t\t\t{`\n\t\t\t\t\t\t@keyframes spin {\n\t\t\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t\t\t}\n\t\t\t\t\t`}\n\t\t\t\t</style>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<WhatsNewIconContainer count={newContentCount}>\n\t\t\t<div\n\t\t\t\tclassName={`main-icon-class ${isOpen ? 'icon-active' : ''}`}\n\t\t\t\tstyle={{\n\t\t\t\t\tcolor: isOpen ? COLORS.content.brand : COLORS.content.primary,\n\t\t\t\t}}\n\t\t\t\tonClick={onClick}\n\t\t\t\tdata-testid={testId}\n\t\t\t>\n\t\t\t\t<Tooltip body={tooltip} placement={'bottom'}>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{CustomIcon ? (\n\t\t\t\t\t\t\t<CustomIcon\n\t\t\t\t\t\t\t\twidth={iconWidth}\n\t\t\t\t\t\t\t\theight={iconHeight}\n\t\t\t\t\t\t\t\tcolor={isOpen ? COLORS.content.brand : COLORS.content.primary}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<WhatsNewIcon width={iconWidth} height={iconHeight} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</Tooltip>\n\t\t\t\t{newContentCount > 0 && (\n\t\t\t\t\t<div className=\"notification--count\">\n\t\t\t\t\t\t<div className=\"count--text\">{newContentCount}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</WhatsNewIconContainer>\n\t);\n};\n"],"names":["WhatsNewButton","onClick","newContentCount","isOpen","isLoading","tooltip","testId","iconWidth","iconHeight","CustomIcon","jsx","WhatsNewIconContainer","jsxs","COLORS","Tooltip","WhatsNewIcon"],"mappings":"iRAOaA,EAAgD,CAAC,CAC7D,QAAAC,EACA,gBAAAC,EAAkB,EAClB,OAAAC,EAAS,GACT,UAAAC,EAAY,GACZ,QAAAC,EAAU,aACV,OAAAC,EAAS,mBACT,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,WAAYC,CACb,IACKL,SAED,MAAA,CAAI,MAAO,CAAE,OAAQ,WAErB,SAAA,CAAAM,EAAAA,IAAC,MAAA,CACA,MAAO,CACN,MAAO,GACP,OAAQ,GACR,OAAQ,oBACR,UAAW,oBACX,aAAc,MACd,UAAW,yBAAA,CACZ,CAAA,QAEA,QAAA,CACC,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA,CAMF,CAAA,EACD,EAKDA,EAAAA,IAACC,EAAAA,sBAAA,CAAsB,MAAOT,EAC7B,SAAAU,EAAAA,KAAC,MAAA,CACA,UAAW,mBAAmBT,EAAS,cAAgB,EAAE,GACzD,MAAO,CACN,MAAOA,EAASU,EAAAA,OAAO,QAAQ,MAAQA,EAAAA,OAAO,QAAQ,OAAA,EAEvD,QAAAZ,EACA,cAAaK,EAEb,SAAA,CAAAI,EAAAA,IAACI,EAAAA,SAAQ,KAAMT,EAAS,UAAW,SAClC,SAAAK,EAAAA,IAAC,OACC,SAAAD,EACAC,EAAAA,IAACD,EAAA,CACA,MAAOF,EACP,OAAQC,EACR,MAAOL,EAASU,EAAAA,OAAO,QAAQ,MAAQA,EAAAA,OAAO,QAAQ,OAAA,CAAA,QAGtDE,UAAA,CAAa,MAAOR,EAAW,OAAQC,CAAA,CAAY,EAEtD,EACD,EACCN,EAAkB,GAClBQ,EAAAA,IAAC,MAAA,CAAI,UAAU,sBACd,SAAAA,EAAAA,IAAC,MAAA,CAAI,UAAU,cAAe,SAAAR,CAAA,CAAgB,CAAA,CAC/C,CAAA,CAAA,CAAA,EAGH"}
@@ -1 +1 @@
1
- {"version":3,"file":"WhatsNewPanel.js","sources":["../../../../src/components/whats-new/WhatsNewPanel.tsx"],"sourcesContent":["import { differenceInBusinessDays, format } from 'date-fns';\nimport React, { useMemo, useState } from 'react';\nimport SearchIconSvg from '../../assets/icons/searchIcon.svg';\nimport WhatsNewIcon from '../../assets/icons/whatsNew.svg';\nimport { COLORS } from '../../constants/Theme';\nimport { Button } from '../button';\nimport { VideoModal } from '../feature-announcements/VideoModal';\nimport { SearchBar } from '../searchBar';\nimport { SideModal } from '../side-modal';\nimport {\n\tBodyPrimary,\n\tCaption,\n\tTitleMedium,\n\tTitleRegular,\n\tTitleSmall,\n} from '../TypographyStyle';\nimport {\n\tBackgroundImageContainer,\n\tMainCardContainer,\n\tMainContainer,\n\tWhatsNewWrapper,\n} from './WhatsNew.styles';\nimport { WhatsNewContent, WhatsNewPanelProps } from './WhatsNew.types';\n\nexport const WhatsNewPanel: React.FC<WhatsNewPanelProps> = ({\n\tisOpen,\n\tonClose,\n\tcontent,\n\tisLoading = false,\n\ttitle = \"What's new on BIK\",\n\tsearchPlaceholder = 'Search posts',\n\temptyStateTitle = 'Nothing new!',\n\temptyStateDescription = 'There are no new updates or features at the moment. Check back soon!',\n\tnoResultsText = 'Sorry, no results found.',\n\twidth = '480px',\n\tonContentClick,\n\trenderCustomContent,\n}) => {\n\tconst [searchText, setSearchText] = useState('');\n\tconst [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n\tconst [videoUrl, setVideoUrl] = useState('');\n\n\tconst ifNewContent = (contentItem: WhatsNewContent): boolean => {\n\t\tif (!contentItem.createdAt) return false;\n\t\tconst createdAt = contentItem.createdAt.toDate\n\t\t\t? contentItem.createdAt.toDate()\n\t\t\t: new Date(contentItem.createdAt);\n\t\treturn differenceInBusinessDays(new Date(), createdAt) < 7;\n\t};\n\n\tconst modifiedWhatsNewContent = useMemo(() => {\n\t\tif (!searchText.trim()) return content;\n\n\t\tconst searchLower = searchText.toLowerCase();\n\t\treturn content.filter(\n\t\t\t(item) =>\n\t\t\t\titem.title.toLowerCase().includes(searchLower) ||\n\t\t\t\titem.body.toLowerCase().includes(searchLower) ||\n\t\t\t\t(item.content && item.content.toLowerCase().includes(searchLower)),\n\t\t);\n\t}, [content, searchText]);\n\n\tconst handleContentClick = (contentItem: WhatsNewContent) => {\n\t\tconst action = contentItem.primaryButton?.action;\n\t\tif (action === 'Play Video' || (!action && contentItem.productVideo)) {\n\t\t\tif (contentItem.productVideo) {\n\t\t\t\tsetVideoUrl(contentItem.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t}\n\t\t} else {\n\t\t\tconst redirectionUrl =\n\t\t\t\tcontentItem.primaryButton?.redirectionUrl || contentItem.redirectUrl;\n\t\t\tif (redirectionUrl) {\n\t\t\t\tconst isExternal = redirectionUrl.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(redirectionUrl, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = redirectionUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (onContentClick) {\n\t\t\tonContentClick(contentItem);\n\t\t}\n\t};\n\n\tconst isWhatsNewContentEmpty = content.length === 0;\n\tconst isModifiedWhatsNewContentEmpty = modifiedWhatsNewContent.length === 0;\n\n\tif (!isOpen) {\n\t\treturn <></>;\n\t}\n\n\treturn (\n\t\t<SideModal\n\t\t\twidth={width}\n\t\t\tonClose={onClose}\n\t\t\theader=\"\"\n\t\t\theaderCustomComponent={\n\t\t\t\t<TitleMedium color={COLORS.background.inverse}>{title}</TitleMedium>\n\t\t\t}\n\t\t\theaderStyle={{ background: COLORS.background.brandLight }}\n\t\t\thideFooter={true}\n\t\t>\n\t\t\t<MainContainer>\n\t\t\t\t<div className=\"mt-8\">\n\t\t\t\t\t<SearchBar\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tisEnabled={!isWhatsNewContentEmpty}\n\t\t\t\t\t\tonChange={(inputText: string) => {\n\t\t\t\t\t\t\tsetSearchText(inputText);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonEnter={(inputText: string) => {\n\t\t\t\t\t\t\tsetSearchText(inputText);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\tsearchValue={searchText}\n\t\t\t\t\t\tonClickCross={() => {\n\t\t\t\t\t\t\tsetSearchText('');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<WhatsNewWrapper>\n\t\t\t\t\t{isWhatsNewContentEmpty || isModifiedWhatsNewContentEmpty ? (\n\t\t\t\t\t\t<div className=\"no--data--found\">\n\t\t\t\t\t\t\t<div className=\"icon--wrapper\">\n\t\t\t\t\t\t\t\t{isWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t\t<WhatsNewIcon width={32} height={32} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<SearchIconSvg width={32} height={32} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{isWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<TitleRegular>{emptyStateTitle}</TitleRegular>\n\t\t\t\t\t\t\t\t\t<BodyPrimary\n\t\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text--align\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ maxWidth: 300 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{emptyStateDescription}\n\t\t\t\t\t\t\t\t\t</BodyPrimary>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : isModifiedWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t<BodyPrimary\n\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\tclassName=\"text--align\"\n\t\t\t\t\t\t\t\t\tstyle={{ maxWidth: 300 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{noResultsText}\n\t\t\t\t\t\t\t\t</BodyPrimary>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"scroller\">\n\t\t\t\t\t\t\t{modifiedWhatsNewContent.map((contentItem, index) => {\n\t\t\t\t\t\t\t\tif (renderCustomContent) {\n\t\t\t\t\t\t\t\t\treturn renderCustomContent(contentItem);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MainCardContainer\n\t\t\t\t\t\t\t\t\t\tclassName=\"padding--16 mb-mt-8\"\n\t\t\t\t\t\t\t\t\t\tkey={`whats-new-${index}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BackgroundImageContainer\n\t\t\t\t\t\t\t\t\t\t\timageUrl={contentItem.image}\n\t\t\t\t\t\t\t\t\t\t\theight=\"209px\"\n\t\t\t\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ borderRadius: '4px' }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"mt-20 full--width\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"created--at flex flex--row\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ifNewContent(contentItem) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"new--content--tag\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Caption>New</Caption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t<Caption style={{ color: COLORS.content.placeholder }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{contentItem.createdAt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? format(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.createdAt.toDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? contentItem.createdAt.toDate()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: new Date(contentItem.createdAt),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'dd MMMM yyyy',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</Caption>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"mt--8\">\n\t\t\t\t\t\t\t\t\t\t\t<TitleSmall>{contentItem.title}</TitleSmall>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: contentItem.body }}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"card--desc mt--12\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex--row mt-20 full--width\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonText={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.buttonText ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Explore the feature'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleContentClick(contentItem)}\n\t\t\t\t\t\t\t\t\t\t\t\tmatchParentWidth={true}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MainCardContainer>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</WhatsNewWrapper>\n\t\t\t</MainContainer>\n\t\t\t<VideoModal\n\t\t\t\tisOpen={isVideoModalOpen}\n\t\t\t\tvideoUrl={videoUrl}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tsetIsVideoModalOpen(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</SideModal>\n\t);\n};\n"],"names":["WhatsNewPanel","isOpen","onClose","content","isLoading","title","searchPlaceholder","emptyStateTitle","emptyStateDescription","noResultsText","width","onContentClick","renderCustomContent","searchText","setSearchText","useState","isVideoModalOpen","setIsVideoModalOpen","videoUrl","setVideoUrl","ifNewContent","contentItem","createdAt","differenceInBusinessDays","modifiedWhatsNewContent","useMemo","searchLower","item","handleContentClick","action","redirectionUrl","isWhatsNewContentEmpty","isModifiedWhatsNewContentEmpty","jsxs","SideModal","jsx","TitleMedium","COLORS","MainContainer","SearchBar","inputText","WhatsNewWrapper","WhatsNewIcon","SearchIconSvg","Fragment","TitleRegular","BodyPrimary","index","MainCardContainer","BackgroundImageContainer","Caption","format","TitleSmall","Button","VideoModal"],"mappings":"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"}
1
+ {"version":3,"file":"WhatsNewPanel.js","sources":["../../../../src/components/whats-new/WhatsNewPanel.tsx"],"sourcesContent":["import { differenceInBusinessDays, format } from 'date-fns';\nimport React, { useMemo, useState } from 'react';\nimport SearchIconSvg from '../../assets/icons/searchIcon.svg';\nimport WhatsNewIcon from '../../assets/icons/whatsNew.svg';\nimport { COLORS } from '../../constants/Theme';\nimport { Button } from '../button';\nimport { VideoModal } from '../feature-announcements/VideoModal';\nimport { SearchBar } from '../searchBar';\nimport { SideModal } from '../side-modal';\nimport {\n\tBodyPrimary,\n\tCaption,\n\tTitleMedium,\n\tTitleRegular,\n\tTitleSmall,\n} from '../TypographyStyle';\nimport {\n\tBackgroundImageContainer,\n\tMainCardContainer,\n\tMainContainer,\n\tWhatsNewWrapper,\n} from './WhatsNew.styles';\nimport { WhatsNewContent, WhatsNewPanelProps } from './WhatsNew.types';\n\nexport const WhatsNewPanel: React.FC<WhatsNewPanelProps> = ({\n\tisOpen,\n\tonClose,\n\tcontent,\n\tisLoading = false,\n\ttitle = \"What's new on BIK\",\n\tsearchPlaceholder = 'Search posts',\n\temptyStateTitle = 'Nothing new!',\n\temptyStateDescription = 'There are no new updates or features at the moment. Check back soon!',\n\tnoResultsText = 'Sorry, no results found.',\n\twidth = '480px',\n\tonContentClick,\n\trenderCustomContent,\n}) => {\n\tconst [searchText, setSearchText] = useState('');\n\tconst [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n\tconst [videoUrl, setVideoUrl] = useState('');\n\n\tconst ifNewContent = (contentItem: WhatsNewContent): boolean => {\n\t\tif (!contentItem.createdAt) return false;\n\t\tconst createdAt = contentItem.createdAt.toDate\n\t\t\t? contentItem.createdAt.toDate()\n\t\t\t: new Date(contentItem.createdAt);\n\t\treturn differenceInBusinessDays(new Date(), createdAt) < 7;\n\t};\n\n\tconst modifiedWhatsNewContent = useMemo(() => {\n\t\tif (!searchText.trim()) return content;\n\n\t\tconst searchLower = searchText.toLowerCase();\n\t\treturn content.filter(\n\t\t\t(item) =>\n\t\t\t\titem.title.toLowerCase().includes(searchLower) ||\n\t\t\t\titem.body.toLowerCase().includes(searchLower) ||\n\t\t\t\t(item.content && item.content.toLowerCase().includes(searchLower)),\n\t\t);\n\t}, [content, searchText]);\n\n\tconst handleContentClick = (contentItem: WhatsNewContent) => {\n\t\tconst action = contentItem.primaryButton?.action;\n\t\tif (action === 'Play Video' || (!action && contentItem.productVideo)) {\n\t\t\tif (contentItem.productVideo) {\n\t\t\t\tsetVideoUrl(contentItem.productVideo);\n\t\t\t\tsetIsVideoModalOpen(true);\n\t\t\t}\n\t\t} else {\n\t\t\tconst redirectionUrl =\n\t\t\t\tcontentItem.primaryButton?.redirectionUrl || contentItem.redirectUrl;\n\t\t\tif (redirectionUrl) {\n\t\t\t\tconst isExternal = redirectionUrl.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(redirectionUrl, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = redirectionUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (onContentClick) {\n\t\t\tonContentClick(contentItem);\n\t\t}\n\t};\n\n\tconst isWhatsNewContentEmpty = content.length === 0;\n\tconst isModifiedWhatsNewContentEmpty = modifiedWhatsNewContent.length === 0;\n\n\tif (!isOpen) {\n\t\treturn <></>;\n\t}\n\n\treturn (\n\t\t<SideModal\n\t\t\twidth={width}\n\t\t\tonClose={onClose}\n\t\t\theader=\"\"\n\t\t\theaderCustomComponent={\n\t\t\t\t<TitleMedium color={COLORS.background.inverse}>{title}</TitleMedium>\n\t\t\t}\n\t\t\theaderStyle={{ background: COLORS.background.brandLight }}\n\t\t\thideFooter={true}\n\t\t>\n\t\t\t<MainContainer>\n\t\t\t\t<div className=\"mt-8\">\n\t\t\t\t\t<SearchBar\n\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\tisEnabled={!isWhatsNewContentEmpty}\n\t\t\t\t\t\tonChange={(inputText: string) => {\n\t\t\t\t\t\t\tsetSearchText(inputText);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonEnter={(inputText: string) => {\n\t\t\t\t\t\t\tsetSearchText(inputText);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\tsearchValue={searchText}\n\t\t\t\t\t\tonClickCross={() => {\n\t\t\t\t\t\t\tsetSearchText('');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<WhatsNewWrapper>\n\t\t\t\t\t{isWhatsNewContentEmpty || isModifiedWhatsNewContentEmpty ? (\n\t\t\t\t\t\t<div className=\"no--data--found\">\n\t\t\t\t\t\t\t<div className=\"icon--wrapper\">\n\t\t\t\t\t\t\t\t{isWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t\t<WhatsNewIcon width={32} height={32} />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<SearchIconSvg width={32} height={32} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{isWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<TitleRegular>{emptyStateTitle}</TitleRegular>\n\t\t\t\t\t\t\t\t\t<BodyPrimary\n\t\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text--align\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ maxWidth: 300 }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{emptyStateDescription}\n\t\t\t\t\t\t\t\t\t</BodyPrimary>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : isModifiedWhatsNewContentEmpty ? (\n\t\t\t\t\t\t\t\t<BodyPrimary\n\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\tclassName=\"text--align\"\n\t\t\t\t\t\t\t\t\tstyle={{ maxWidth: 300 }}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{noResultsText}\n\t\t\t\t\t\t\t\t</BodyPrimary>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"scroller\">\n\t\t\t\t\t\t\t{modifiedWhatsNewContent.map((contentItem, index) => {\n\t\t\t\t\t\t\t\tif (renderCustomContent) {\n\t\t\t\t\t\t\t\t\treturn renderCustomContent(contentItem);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MainCardContainer\n\t\t\t\t\t\t\t\t\t\tclassName=\"padding--16 mb-mt-8\"\n\t\t\t\t\t\t\t\t\t\tkey={`whats-new-${index}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BackgroundImageContainer\n\t\t\t\t\t\t\t\t\t\t\timageUrl={contentItem.image}\n\t\t\t\t\t\t\t\t\t\t\theight=\"209px\"\n\t\t\t\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ borderRadius: '4px' }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"mt-20 full--width\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"created--at flex flex--row\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ifNewContent(contentItem) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"new--content--tag\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Caption>New</Caption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t<Caption style={{ color: COLORS.content.placeholder }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{contentItem.createdAt\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? format(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.createdAt.toDate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? contentItem.createdAt.toDate()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: new Date(contentItem.createdAt),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'dd MMMM yyyy',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''}\n\t\t\t\t\t\t\t\t\t\t\t\t</Caption>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"mt--8\">\n\t\t\t\t\t\t\t\t\t\t\t<TitleSmall>{contentItem.title}</TitleSmall>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: contentItem.body }}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"card--desc mt--12\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex--row mt-20 full--width\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonText={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentItem.buttonText ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Explore the feature'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleContentClick(contentItem)}\n\t\t\t\t\t\t\t\t\t\t\t\tmatchParentWidth={true}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</MainCardContainer>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</WhatsNewWrapper>\n\t\t\t</MainContainer>\n\t\t\t<VideoModal\n\t\t\t\tisOpen={isVideoModalOpen}\n\t\t\t\tvideoUrl={videoUrl}\n\t\t\t\tonClose={() => {\n\t\t\t\t\tsetIsVideoModalOpen(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</SideModal>\n\t);\n};\n"],"names":["WhatsNewPanel","isOpen","onClose","content","isLoading","title","searchPlaceholder","emptyStateTitle","emptyStateDescription","noResultsText","width","onContentClick","renderCustomContent","searchText","setSearchText","useState","isVideoModalOpen","setIsVideoModalOpen","videoUrl","setVideoUrl","ifNewContent","contentItem","createdAt","differenceInBusinessDays","modifiedWhatsNewContent","useMemo","searchLower","item","handleContentClick","action","redirectionUrl","isWhatsNewContentEmpty","isModifiedWhatsNewContentEmpty","jsxs","SideModal","jsx","TitleMedium","COLORS","MainContainer","SearchBar","inputText","WhatsNewWrapper","WhatsNewIcon","SearchIconSvg","Fragment","TitleRegular","BodyPrimary","index","MainCardContainer","BackgroundImageContainer","Caption","format","TitleSmall","Button","VideoModal"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={brand:{900:"#28034E",850:"#360A63",800:"#4B1583",700:"#5E3A83",500:"#731DCF",100:"#F3EDF9",50:"#EFE6F9",10:"#F9F3FF",7:"#F7F2FC",5:"#FDFBFF"},grayscale:{900:"#212121",700:"#616161",500:"#9E9E9E",400:"#BDBDBD",200:"#E0E0E0",100:"#F0F0F0",70:"#F7F7F7",50:"#FAFAFA",white:"#FFFFFF",alpha:"#00000088"},negative:{900:"#B92321",700:"#D53434",100:"#FFCED4",50:"#FFEBEF"},warning:{900:"#99631B",500:"#FEC02D",100:"#FFEABE",50:"#FFF7E5"},positive:{900:"#00580E",700:"#1A872C",100:"#C3E4C4",50:"#E6F4E7"},bikAi:{500:"linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)",100:"linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)",50:"linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)"}},t={background:{inactive:e.grayscale[200],base:e.grayscale[100],inverse:e.brand[900],inverseLight:e.brand[800],brand:e.brand[500],brandLight:e.brand[50],brandVeryLight:e.brand[10],brandUltraLight:e.brand[7],brandGhost:e.brand[5],pureWhite:e.grayscale.white,brandTint:e.brand[100],brandHovered:e.brand[850],negative:{vibrant:e.negative[700],light:e.negative[50]},warning:{vibrant:e.warning[500],light:e.warning[50]},positive:{vibrant:e.positive[700],light:e.positive[50]},blue:{light:"#E5F2FF"}},icon:{placeholder:"#9E9E9E"},scrim:{standard:"#00000099"},surface:{standard:e.grayscale.white,subdued:e.grayscale[50],hovered:e.grayscale[100],grey:e.grayscale[70],ai:e.bikAi[500],aiLight:e.bikAi[50]},content:{primary:e.grayscale[900],secondary:e.grayscale[700],placeholder:e.grayscale[500],inactive:e.grayscale[400],brand:e.brand[500],primaryInverse:e.grayscale.white,secondaryInverse:"#ffffffcc",negative:e.negative[900],warning:e.warning[900],positive:e.positive[900],blue:"#28458F",ai:e.bikAi[500]},stroke:{primary:e.grayscale[200],brand:e.brand[500],negative:{lightAlt:e.negative[100],vibrant:e.negative[700]},warning:{lightAlt:e.warning[100],vibrant:e.warning[500]},positive:{lightAlt:e.positive[100],vibrant:e.positive[700]},brandLightAlt:"#DDCCF0",brandSubdued:e.brand[700],blue:{lightAlt:"#C3D5E5"},ai:{lightAlt:"#FEBAD2",vibrant:"#F23275"}},special:{whatsapp:{brand:"#25D366",gradient:"linear-gradient(360deg, #20B038 0%, #60D66A 100%)",dark:"#455A64",gradientArr:["#20B038","#60D66A"]},brand:{google:"#DD4B39",facebook:"#1877F2"}},text:{primary:e.grayscale[900],secondary:e.grayscale[700],placeholder:e.grayscale[500],disabled:e.grayscale[400],white:e.grayscale.white,brand:e.brand[500],altPrimary:e.brand[900],altSecondary:e.brand[800]}},i={display:{fontWeight:"400",fontSize:32,lineHeight:40,letterSpacing:0},titleXLarge:{fontWeight:"600",fontSize:32,lineHeight:40,letterSpacing:0},titleLarge:{fontWeight:"600",fontSize:28,lineHeight:40,letterSpacing:0},titleMedium:{fontWeight:"600",fontSize:20,lineHeight:28,letterSpacing:0},titleRegular:{fontWeight:"600",fontSize:16,lineHeight:24,letterSpacing:0},titleSmall:{fontWeight:"600",fontSize:14,lineHeight:20,letterSpacing:0},titleTiny:{fontWeight:"600",fontSize:12,lineHeight:16,letterSpacing:0},bodyPrimary:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},bodyLarge:{fontWeight:"400",fontSize:20,lineHeight:28,letterSpacing:0},bodySecondary:{fontWeight:"400",fontSize:14,lineHeight:20,letterSpacing:0},caption:{fontWeight:"400",fontSize:12,lineHeight:16,letterSpacing:0},bodyTinySemiBold:{fontWeight:"600",fontSize:12,lineHeight:16,letterSpacing:0},tiny:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0},subHeading:{fontWeight:"600",fontSize:10,lineHeight:12,letterSpacing:0},title1:{fontWeight:"600",fontSize:24,lineHeight:32,letterSpacing:0},title1Mobile:{fontWeight:"600",fontSize:20,lineHeight:30,letterSpacing:0},title2:{fontWeight:"600",fontSize:20,lineHeight:28,letterSpacing:0},title2Mobile:{fontWeight:"600",fontSize:18,lineHeight:24,letterSpacing:0},title3:{fontWeight:"600",fontSize:16,lineHeight:24,letterSpacing:0},title3Mobile:{fontWeight:"500",fontSize:14,lineHeight:20,letterSpacing:0},title4:{fontWeight:"400",fontSize:14,lineHeight:20,letterSpacing:0},textPlaceholder:{fontWeight:"400",fontSize:12,lineHeight:16,letterSpacing:0},title4Mobile:{fontWeight:"400",fontSize:10,lineHeight:16,letterSpacing:0},bodyRegularMobile:{fontWeight:"400",fontSize:14,lineHeight:18,letterSpacing:0},bodyRegular:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},bodySmall:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0},buttonLarge:{fontWeight:"600",fontSize:16,lineHeight:20,letterSpacing:0},buttonRegular:{fontWeight:"600",fontSize:14,lineHeight:20,letterSpacing:0},captionMobile:{fontWeight:"500",fontSize:10,lineHeight:12,letterSpacing:0},captionBold:{fontWeight:"700",fontSize:12,lineHeight:16,letterSpacing:0},text1Bold:{fontWeight:"700",fontSize:10,lineHeight:14,letterSpacing:0},toast:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},toastMobile:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0}},n={colorsV2:t,fonts:i};exports.BASE_COLORS=e;exports.COLORS=t;exports.DEFAULT_THEME=n;exports.FONTS=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={brand:{900:"#28034E",800:"#4B1583",500:"#731DCF",100:"#F3EDF9",50:"#EFE6F9",10:"#F9F3FF"},grayscale:{900:"#212121",700:"#616161",500:"#9E9E9E",400:"#BDBDBD",200:"#E0E0E0",100:"#F0F0F0",70:"#F7F7F7",50:"#FAFAFA",white:"#FFFFFF",alpha:"#00000088"},negative:{900:"#B92321",700:"#D53434",100:"#FFCED4",50:"#FFEBEF"},warning:{900:"#99631B",500:"#FEC02D",100:"#FFEABE",50:"#FFF7E5"},positive:{900:"#00580E",700:"#1A872C",100:"#C3E4C4",50:"#E6F4E7"},bikAi:{500:"linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)",100:"linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)",50:"linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)"}},t={background:{inactive:e.grayscale[200],base:e.grayscale[100],inverse:e.brand[900],inverseLight:e.brand[800],brand:e.brand[500],brandLight:e.brand[50],brandVeryLight:e.brand[10],pureWhite:e.grayscale.white,brandTint:e.brand[100],negative:{vibrant:e.negative[700],light:e.negative[50]},warning:{vibrant:e.warning[500],light:e.warning[50]},positive:{vibrant:e.positive[700],light:e.positive[50]},blue:{light:"#E5F2FF"}},icon:{placeholder:"#9E9E9E"},scrim:{standard:"#00000099"},surface:{standard:e.grayscale.white,subdued:e.grayscale[50],hovered:e.grayscale[100],grey:e.grayscale[70],ai:e.bikAi[500],aiLight:e.bikAi[50]},content:{primary:e.grayscale[900],secondary:e.grayscale[700],placeholder:e.grayscale[500],inactive:e.grayscale[400],brand:e.brand[500],primaryInverse:e.grayscale.white,secondaryInverse:"#ffffffcc",negative:e.negative[900],warning:e.warning[900],positive:e.positive[900],blue:"#28458F",ai:e.bikAi[500]},stroke:{primary:e.grayscale[200],brand:e.brand[500],negative:{lightAlt:e.negative[100],vibrant:e.negative[700]},warning:{lightAlt:e.warning[100],vibrant:e.warning[500]},positive:{lightAlt:e.positive[100],vibrant:e.positive[700]},brandLightAlt:"#DDCCF0",blue:{lightAlt:"#C3D5E5"},ai:{lightAlt:"#FEBAD2",vibrant:"#F23275"}},special:{whatsapp:{brand:"#25D366",gradient:"linear-gradient(360deg, #20B038 0%, #60D66A 100%)",dark:"#455A64",gradientArr:["#20B038","#60D66A"]},brand:{google:"#DD4B39",facebook:"#1877F2"}},text:{primary:e.grayscale[900],secondary:e.grayscale[700],placeholder:e.grayscale[500],disabled:e.grayscale[400],white:e.grayscale.white,brand:e.brand[500],altPrimary:e.brand[900],altSecondary:e.brand[800]}},i={display:{fontWeight:"400",fontSize:32,lineHeight:40,letterSpacing:0},titleXLarge:{fontWeight:"600",fontSize:32,lineHeight:40,letterSpacing:0},titleLarge:{fontWeight:"600",fontSize:28,lineHeight:40,letterSpacing:0},titleMedium:{fontWeight:"600",fontSize:20,lineHeight:28,letterSpacing:0},titleRegular:{fontWeight:"600",fontSize:16,lineHeight:24,letterSpacing:0},titleSmall:{fontWeight:"600",fontSize:14,lineHeight:20,letterSpacing:0},bodyPrimary:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},bodyLarge:{fontWeight:"400",fontSize:20,lineHeight:28,letterSpacing:0},bodySecondary:{fontWeight:"400",fontSize:14,lineHeight:20,letterSpacing:0},caption:{fontWeight:"400",fontSize:12,lineHeight:16,letterSpacing:0},tiny:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0},subHeading:{fontWeight:"600",fontSize:10,lineHeight:12,letterSpacing:0},title1:{fontWeight:"600",fontSize:24,lineHeight:32,letterSpacing:0},title1Mobile:{fontWeight:"600",fontSize:20,lineHeight:30,letterSpacing:0},title2:{fontWeight:"600",fontSize:20,lineHeight:28,letterSpacing:0},title2Mobile:{fontWeight:"600",fontSize:18,lineHeight:24,letterSpacing:0},title3:{fontWeight:"600",fontSize:16,lineHeight:24,letterSpacing:0},title3Mobile:{fontWeight:"500",fontSize:14,lineHeight:20,letterSpacing:0},title4:{fontWeight:"400",fontSize:14,lineHeight:20,letterSpacing:0},textPlaceholder:{fontWeight:"400",fontSize:12,lineHeight:16,letterSpacing:0},title4Mobile:{fontWeight:"400",fontSize:10,lineHeight:16,letterSpacing:0},bodyRegularMobile:{fontWeight:"400",fontSize:14,lineHeight:18,letterSpacing:0},bodyRegular:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},bodySmall:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0},buttonLarge:{fontWeight:"600",fontSize:16,lineHeight:20,letterSpacing:0},buttonRegular:{fontWeight:"600",fontSize:14,lineHeight:20,letterSpacing:0},captionMobile:{fontWeight:"500",fontSize:10,lineHeight:12,letterSpacing:0},captionBold:{fontWeight:"700",fontSize:12,lineHeight:16,letterSpacing:0},text1Bold:{fontWeight:"700",fontSize:10,lineHeight:14,letterSpacing:0},toast:{fontWeight:"400",fontSize:16,lineHeight:24,letterSpacing:0},toastMobile:{fontWeight:"400",fontSize:10,lineHeight:12,letterSpacing:0}},n={colorsV2:t,fonts:i};exports.BASE_COLORS=e;exports.COLORS=t;exports.DEFAULT_THEME=n;exports.FONTS=i;
2
2
  //# sourceMappingURL=Theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.js","sources":["../../../src/constants/Theme.ts"],"sourcesContent":["export const BASE_COLORS = {\n\tbrand: {\n\t\t900: '#28034E',\n\t\t850: '#360A63',\n\t\t800: '#4B1583',\n\t\t700: '#5E3A83',\n\t\t500: '#731DCF',\n\t\t100: '#F3EDF9',\n\t\t50: '#EFE6F9',\n\t\t10: '#F9F3FF',\n\t\t7: '#F7F2FC',\n\t\t5: '#FDFBFF',\n\t},\n\tgrayscale: {\n\t\t900: '#212121',\n\t\t700: '#616161',\n\t\t500: '#9E9E9E',\n\t\t400: '#BDBDBD',\n\t\t200: '#E0E0E0',\n\t\t100: '#F0F0F0',\n\t\t70: '#F7F7F7',\n\t\t50: '#FAFAFA',\n\t\twhite: '#FFFFFF',\n\t\talpha: '#00000088',\n\t},\n\tnegative: {\n\t\t900: '#B92321',\n\t\t700: '#D53434',\n\t\t100: '#FFCED4',\n\t\t50: '#FFEBEF',\n\t},\n\twarning: {\n\t\t900: '#99631B',\n\t\t500: '#FEC02D',\n\t\t100: '#FFEABE',\n\t\t50: '#FFF7E5',\n\t},\n\tpositive: {\n\t\t900: '#00580E',\n\t\t700: '#1A872C',\n\t\t100: '#C3E4C4',\n\t\t50: '#E6F4E7',\n\t},\n\tbikAi: {\n\t\t500: 'linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)',\n\t\t100: 'linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)',\n\t\t50: 'linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)',\n\t},\n};\n\nexport const COLORS = {\n\tbackground: {\n\t\tinactive: BASE_COLORS.grayscale['200'],\n\t\tbase: BASE_COLORS.grayscale['100'],\n\t\tinverse: BASE_COLORS.brand['900'],\n\t\tinverseLight: BASE_COLORS.brand['800'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tbrandLight: BASE_COLORS.brand['50'],\n\t\tbrandVeryLight: BASE_COLORS.brand['10'],\n\t\tbrandUltraLight: BASE_COLORS.brand['7'],\n\t\tbrandGhost: BASE_COLORS.brand['5'],\n\t\tpureWhite: BASE_COLORS.grayscale.white,\n\t\tbrandTint: BASE_COLORS.brand['100'],\n\t\tbrandHovered: BASE_COLORS.brand['850'],\n\t\tnegative: {\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t\tlight: BASE_COLORS.negative['50'],\n\t\t},\n\t\twarning: {\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t\tlight: BASE_COLORS.warning['50'],\n\t\t},\n\t\tpositive: {\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t\tlight: BASE_COLORS.positive['50'],\n\t\t},\n\t\tblue: {\n\t\t\tlight: '#E5F2FF',\n\t\t},\n\t},\n\ticon: { placeholder: '#9E9E9E' },\n\tscrim: {\n\t\tstandard: '#00000099',\n\t},\n\tsurface: {\n\t\tstandard: BASE_COLORS.grayscale['white'],\n\t\tsubdued: BASE_COLORS.grayscale['50'],\n\t\thovered: BASE_COLORS.grayscale['100'],\n\t\tgrey: BASE_COLORS.grayscale['70'],\n\t\tai: BASE_COLORS.bikAi['500'],\n\t\taiLight: BASE_COLORS.bikAi['50'],\n\t},\n\tcontent: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tinactive: BASE_COLORS.grayscale['400'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tprimaryInverse: BASE_COLORS.grayscale['white'],\n\t\tsecondaryInverse: '#ffffffcc',\n\t\tnegative: BASE_COLORS.negative['900'],\n\t\twarning: BASE_COLORS.warning['900'],\n\t\tpositive: BASE_COLORS.positive['900'],\n\t\tblue: '#28458F',\n\t\tai: BASE_COLORS.bikAi['500'],\n\t},\n\tstroke: {\n\t\tprimary: BASE_COLORS.grayscale['200'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tnegative: {\n\t\t\tlightAlt: BASE_COLORS.negative['100'],\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t},\n\t\twarning: {\n\t\t\tlightAlt: BASE_COLORS.warning['100'],\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t},\n\t\tpositive: {\n\t\t\tlightAlt: BASE_COLORS.positive['100'],\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t},\n\t\tbrandLightAlt: '#DDCCF0',\n\t\tbrandSubdued: BASE_COLORS.brand['700'],\n\t\tblue: {\n\t\t\tlightAlt: '#C3D5E5',\n\t\t},\n\t\tai: {\n\t\t\tlightAlt: '#FEBAD2',\n\t\t\tvibrant: '#F23275',\n\t\t},\n\t},\n\tspecial: {\n\t\twhatsapp: {\n\t\t\tbrand: '#25D366',\n\t\t\tgradient: 'linear-gradient(360deg, #20B038 0%, #60D66A 100%)',\n\t\t\tdark: '#455A64',\n\t\t\tgradientArr: ['#20B038', '#60D66A'],\n\t\t},\n\t\tbrand: {\n\t\t\tgoogle: '#DD4B39',\n\t\t\tfacebook: '#1877F2',\n\t\t},\n\t},\n\ttext: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tdisabled: BASE_COLORS.grayscale['400'],\n\t\twhite: BASE_COLORS.grayscale['white'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\taltPrimary: BASE_COLORS.brand['900'],\n\t\taltSecondary: BASE_COLORS.brand['800'],\n\t},\n};\n\nexport const FONTS = {\n\tdisplay: {\n\t\tfontWeight: '400',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleXLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 28,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleMedium: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitleRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitleSmall: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitleTiny: {\n\t\tfontWeight: '600',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyPrimary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\tbodyLarge: {\n\t\tfontWeight: '400',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\tbodySecondary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaption: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyTinySemiBold: {\n\t\tfontWeight: '600',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttiny: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tsubHeading: {\n\t\tfontWeight: '600',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\n\ttitle1: {\n\t\tfontWeight: '600',\n\t\tfontSize: 24,\n\t\tlineHeight: 32,\n\t\tletterSpacing: 0,\n\t},\n\ttitle1Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 30,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 18,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3Mobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttextPlaceholder: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4Mobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegularMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 18,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegular: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\n\tbodySmall: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionMobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionBold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttext1Bold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 10,\n\t\tlineHeight: 14,\n\t\tletterSpacing: 0,\n\t},\n\ttoast: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttoastMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n};\n\n// For backward compatibility\nexport const DEFAULT_THEME = {\n\tcolorsV2: COLORS,\n\tfonts: FONTS,\n};\n"],"names":["BASE_COLORS","COLORS","FONTS","DEFAULT_THEME"],"mappings":"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"}
1
+ {"version":3,"file":"Theme.js","sources":["../../../src/constants/Theme.ts"],"sourcesContent":["export const BASE_COLORS = {\n\tbrand: {\n\t\t900: '#28034E',\n\t\t800: '#4B1583',\n\t\t500: '#731DCF',\n\t\t100: '#F3EDF9',\n\t\t50: '#EFE6F9',\n\t\t10: '#F9F3FF',\n\t},\n\tgrayscale: {\n\t\t900: '#212121',\n\t\t700: '#616161',\n\t\t500: '#9E9E9E',\n\t\t400: '#BDBDBD',\n\t\t200: '#E0E0E0',\n\t\t100: '#F0F0F0',\n\t\t70: '#F7F7F7',\n\t\t50: '#FAFAFA',\n\t\twhite: '#FFFFFF',\n\t\talpha: '#00000088',\n\t},\n\tnegative: {\n\t\t900: '#B92321',\n\t\t700: '#D53434',\n\t\t100: '#FFCED4',\n\t\t50: '#FFEBEF',\n\t},\n\twarning: {\n\t\t900: '#99631B',\n\t\t500: '#FEC02D',\n\t\t100: '#FFEABE',\n\t\t50: '#FFF7E5',\n\t},\n\tpositive: {\n\t\t900: '#00580E',\n\t\t700: '#1A872C',\n\t\t100: '#C3E4C4',\n\t\t50: '#E6F4E7',\n\t},\n\tbikAi: {\n\t\t500: 'linear-gradient(93deg, #FF166A 0.37%, #FB5F08 100%)',\n\t\t100: 'linear-gradient(93deg, #FEBAD2 0.37%, #FDD1B9 100%)',\n\t\t50: 'linear-gradient(93deg, #FFE6EE 0.37%, #FFF0E7 100%)',\n\t},\n};\n\nexport const COLORS = {\n\tbackground: {\n\t\tinactive: BASE_COLORS.grayscale['200'],\n\t\tbase: BASE_COLORS.grayscale['100'],\n\t\tinverse: BASE_COLORS.brand['900'],\n\t\tinverseLight: BASE_COLORS.brand['800'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tbrandLight: BASE_COLORS.brand['50'],\n\t\tbrandVeryLight: BASE_COLORS.brand['10'],\n\t\tpureWhite: BASE_COLORS.grayscale.white,\n\t\tbrandTint: BASE_COLORS.brand['100'],\n\t\tnegative: {\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t\tlight: BASE_COLORS.negative['50'],\n\t\t},\n\t\twarning: {\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t\tlight: BASE_COLORS.warning['50'],\n\t\t},\n\t\tpositive: {\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t\tlight: BASE_COLORS.positive['50'],\n\t\t},\n\t\tblue: {\n\t\t\tlight: '#E5F2FF',\n\t\t},\n\t},\n\ticon: { placeholder: '#9E9E9E' },\n\tscrim: {\n\t\tstandard: '#00000099',\n\t},\n\tsurface: {\n\t\tstandard: BASE_COLORS.grayscale['white'],\n\t\tsubdued: BASE_COLORS.grayscale['50'],\n\t\thovered: BASE_COLORS.grayscale['100'],\n\t\tgrey: BASE_COLORS.grayscale['70'],\n\t\tai: BASE_COLORS.bikAi['500'],\n\t\taiLight: BASE_COLORS.bikAi['50'],\n\t},\n\tcontent: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tinactive: BASE_COLORS.grayscale['400'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tprimaryInverse: BASE_COLORS.grayscale['white'],\n\t\tsecondaryInverse: '#ffffffcc',\n\t\tnegative: BASE_COLORS.negative['900'],\n\t\twarning: BASE_COLORS.warning['900'],\n\t\tpositive: BASE_COLORS.positive['900'],\n\t\tblue: '#28458F',\n\t\tai: BASE_COLORS.bikAi['500'],\n\t},\n\tstroke: {\n\t\tprimary: BASE_COLORS.grayscale['200'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\tnegative: {\n\t\t\tlightAlt: BASE_COLORS.negative['100'],\n\t\t\tvibrant: BASE_COLORS.negative['700'],\n\t\t},\n\t\twarning: {\n\t\t\tlightAlt: BASE_COLORS.warning['100'],\n\t\t\tvibrant: BASE_COLORS.warning['500'],\n\t\t},\n\t\tpositive: {\n\t\t\tlightAlt: BASE_COLORS.positive['100'],\n\t\t\tvibrant: BASE_COLORS.positive['700'],\n\t\t},\n\t\tbrandLightAlt: '#DDCCF0',\n\t\tblue: {\n\t\t\tlightAlt: '#C3D5E5',\n\t\t},\n\t\tai: {\n\t\t\tlightAlt: '#FEBAD2',\n\t\t\tvibrant: '#F23275',\n\t\t},\n\t},\n\tspecial: {\n\t\twhatsapp: {\n\t\t\tbrand: '#25D366',\n\t\t\tgradient: 'linear-gradient(360deg, #20B038 0%, #60D66A 100%)',\n\t\t\tdark: '#455A64',\n\t\t\tgradientArr: ['#20B038', '#60D66A'],\n\t\t},\n\t\tbrand: {\n\t\t\tgoogle: '#DD4B39',\n\t\t\tfacebook: '#1877F2',\n\t\t},\n\t},\n\ttext: {\n\t\tprimary: BASE_COLORS.grayscale['900'],\n\t\tsecondary: BASE_COLORS.grayscale['700'],\n\t\tplaceholder: BASE_COLORS.grayscale['500'],\n\t\tdisabled: BASE_COLORS.grayscale['400'],\n\t\twhite: BASE_COLORS.grayscale['white'],\n\t\tbrand: BASE_COLORS.brand['500'],\n\t\taltPrimary: BASE_COLORS.brand['900'],\n\t\taltSecondary: BASE_COLORS.brand['800'],\n\t},\n};\n\nexport const FONTS = {\n\tdisplay: {\n\t\tfontWeight: '400',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleXLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 32,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 28,\n\t\tlineHeight: 40,\n\t\tletterSpacing: 0,\n\t},\n\ttitleMedium: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitleRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitleSmall: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbodyPrimary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\tbodyLarge: {\n\t\tfontWeight: '400',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\tbodySecondary: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaption: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttiny: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tsubHeading: {\n\t\tfontWeight: '600',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\n\ttitle1: {\n\t\tfontWeight: '600',\n\t\tfontSize: 24,\n\t\tlineHeight: 32,\n\t\tletterSpacing: 0,\n\t},\n\ttitle1Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 30,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2: {\n\t\tfontWeight: '600',\n\t\tfontSize: 20,\n\t\tlineHeight: 28,\n\t\tletterSpacing: 0,\n\t},\n\ttitle2Mobile: {\n\t\tfontWeight: '600',\n\t\tfontSize: 18,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttitle3Mobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\ttextPlaceholder: {\n\t\tfontWeight: '400',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttitle4Mobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegularMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 14,\n\t\tlineHeight: 18,\n\t\tletterSpacing: 0,\n\t},\n\tbodyRegular: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\n\tbodySmall: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonLarge: {\n\t\tfontWeight: '600',\n\t\tfontSize: 16,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tbuttonRegular: {\n\t\tfontWeight: '600',\n\t\tfontSize: 14,\n\t\tlineHeight: 20,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionMobile: {\n\t\tfontWeight: '500',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n\tcaptionBold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 12,\n\t\tlineHeight: 16,\n\t\tletterSpacing: 0,\n\t},\n\ttext1Bold: {\n\t\tfontWeight: '700',\n\t\tfontSize: 10,\n\t\tlineHeight: 14,\n\t\tletterSpacing: 0,\n\t},\n\ttoast: {\n\t\tfontWeight: '400',\n\t\tfontSize: 16,\n\t\tlineHeight: 24,\n\t\tletterSpacing: 0,\n\t},\n\ttoastMobile: {\n\t\tfontWeight: '400',\n\t\tfontSize: 10,\n\t\tlineHeight: 12,\n\t\tletterSpacing: 0,\n\t},\n};\n\n// For backward compatibility\nexport const DEFAULT_THEME = {\n\tcolorsV2: COLORS,\n\tfonts: FONTS,\n};\n"],"names":["BASE_COLORS","COLORS","FONTS","DEFAULT_THEME"],"mappings":"gFAAO,MAAMA,EAAc,CAC1B,MAAO,CACN,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,GAAI,UACJ,GAAI,SAAA,EAEL,UAAW,CACV,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,GAAI,UACJ,GAAI,UACJ,MAAO,UACP,MAAO,WAAA,EAER,SAAU,CACT,IAAK,UACL,IAAK,UACL,IAAK,UACL,GAAI,SAAA,EAEL,QAAS,CACR,IAAK,UACL,IAAK,UACL,IAAK,UACL,GAAI,SAAA,EAEL,SAAU,CACT,IAAK,UACL,IAAK,UACL,IAAK,UACL,GAAI,SAAA,EAEL,MAAO,CACN,IAAK,sDACL,IAAK,sDACL,GAAI,qDAAA,CAEN,EAEaC,EAAS,CACrB,WAAY,CACX,SAAUD,EAAY,UAAU,GAAK,EACrC,KAAMA,EAAY,UAAU,GAAK,EACjC,QAASA,EAAY,MAAM,GAAK,EAChC,aAAcA,EAAY,MAAM,GAAK,EACrC,MAAOA,EAAY,MAAM,GAAK,EAC9B,WAAYA,EAAY,MAAM,EAAI,EAClC,eAAgBA,EAAY,MAAM,EAAI,EACtC,UAAWA,EAAY,UAAU,MACjC,UAAWA,EAAY,MAAM,GAAK,EAClC,SAAU,CACT,QAASA,EAAY,SAAS,GAAK,EACnC,MAAOA,EAAY,SAAS,EAAI,CAAA,EAEjC,QAAS,CACR,QAASA,EAAY,QAAQ,GAAK,EAClC,MAAOA,EAAY,QAAQ,EAAI,CAAA,EAEhC,SAAU,CACT,QAASA,EAAY,SAAS,GAAK,EACnC,MAAOA,EAAY,SAAS,EAAI,CAAA,EAEjC,KAAM,CACL,MAAO,SAAA,CACR,EAED,KAAM,CAAE,YAAa,SAAA,EACrB,MAAO,CACN,SAAU,WAAA,EAEX,QAAS,CACR,SAAUA,EAAY,UAAU,MAChC,QAASA,EAAY,UAAU,EAAI,EACnC,QAASA,EAAY,UAAU,GAAK,EACpC,KAAMA,EAAY,UAAU,EAAI,EAChC,GAAIA,EAAY,MAAM,GAAK,EAC3B,QAASA,EAAY,MAAM,EAAI,CAAA,EAEhC,QAAS,CACR,QAASA,EAAY,UAAU,GAAK,EACpC,UAAWA,EAAY,UAAU,GAAK,EACtC,YAAaA,EAAY,UAAU,GAAK,EACxC,SAAUA,EAAY,UAAU,GAAK,EACrC,MAAOA,EAAY,MAAM,GAAK,EAC9B,eAAgBA,EAAY,UAAU,MACtC,iBAAkB,YAClB,SAAUA,EAAY,SAAS,GAAK,EACpC,QAASA,EAAY,QAAQ,GAAK,EAClC,SAAUA,EAAY,SAAS,GAAK,EACpC,KAAM,UACN,GAAIA,EAAY,MAAM,GAAK,CAAA,EAE5B,OAAQ,CACP,QAASA,EAAY,UAAU,GAAK,EACpC,MAAOA,EAAY,MAAM,GAAK,EAC9B,SAAU,CACT,SAAUA,EAAY,SAAS,GAAK,EACpC,QAASA,EAAY,SAAS,GAAK,CAAA,EAEpC,QAAS,CACR,SAAUA,EAAY,QAAQ,GAAK,EACnC,QAASA,EAAY,QAAQ,GAAK,CAAA,EAEnC,SAAU,CACT,SAAUA,EAAY,SAAS,GAAK,EACpC,QAASA,EAAY,SAAS,GAAK,CAAA,EAEpC,cAAe,UACf,KAAM,CACL,SAAU,SAAA,EAEX,GAAI,CACH,SAAU,UACV,QAAS,SAAA,CACV,EAED,QAAS,CACR,SAAU,CACT,MAAO,UACP,SAAU,oDACV,KAAM,UACN,YAAa,CAAC,UAAW,SAAS,CAAA,EAEnC,MAAO,CACN,OAAQ,UACR,SAAU,SAAA,CACX,EAED,KAAM,CACL,QAASA,EAAY,UAAU,GAAK,EACpC,UAAWA,EAAY,UAAU,GAAK,EACtC,YAAaA,EAAY,UAAU,GAAK,EACxC,SAAUA,EAAY,UAAU,GAAK,EACrC,MAAOA,EAAY,UAAU,MAC7B,MAAOA,EAAY,MAAM,GAAK,EAC9B,WAAYA,EAAY,MAAM,GAAK,EACnC,aAAcA,EAAY,MAAM,GAAK,CAAA,CAEvC,EAEaE,EAAQ,CACpB,QAAS,CACR,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,WAAY,CACX,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,aAAc,CACb,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,WAAY,CACX,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,UAAW,CACV,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,cAAe,CACd,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,QAAS,CACR,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,KAAM,CACL,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,WAAY,CACX,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAGhB,OAAQ,CACP,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,aAAc,CACb,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,OAAQ,CACP,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,aAAc,CACb,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,OAAQ,CACP,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,aAAc,CACb,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,OAAQ,CACP,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,gBAAiB,CAChB,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,aAAc,CACb,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,kBAAmB,CAClB,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAGhB,UAAW,CACV,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,cAAe,CACd,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,cAAe,CACd,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,UAAW,CACV,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,MAAO,CACN,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,EAEhB,YAAa,CACZ,WAAY,MACZ,SAAU,GACV,WAAY,GACZ,cAAe,CAAA,CAEjB,EAGaC,EAAgB,CAC5B,SAAUF,EACV,MAAOC,CACR"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),te=require("../node_modules/@tiptap/core/dist/index.js"),D=require("@tiptap/react"),c=require("react"),ne=require("./BikEditor.styles.js"),U=require("./BikEditor.types.js"),s=require("./BikEditor.utils.js"),oe=require("./extensions/buildExtensions.js"),re=require("./floating/LinkBubbleMenu.js");function se(g){return Object.entries(g).map(([h,f])=>`${h.replace(/([A-Z])/g,m=>`-${m.toLowerCase()}`)}:${f}`).join(";")}const ie=(g,h)=>{const{initialContent:f,sections:m,features:k,disabled:N,maxCharacters:y,shortcuts:W,sendShortcut:$,mentions:l,slashCommands:d,link:J,onPaste:Q,onReady:R,onChange:x,onSend:p,onFocus:B,onBlur:b,onSelectionChange:A,minHeight:V,maxHeight:Z,style:G,className:K,editorClassName:E,editorStyle:z}=g,X=m?.length?s.buildSectionedContent(s.normalizeHtml(f??""),m.map(e=>({...e,content:s.normalizeHtml(e.content)}))):s.normalizeHtml(f??""),C=c.useRef([]),H=c.useRef(!1),I=c.useRef(R);I.current=R;const T=c.useRef(x);T.current=x;const L=c.useRef(A);L.current=A;const v=c.useRef(U.DEFAULT_FORMAT_STATE),F=c.useRef(B);F.current=B;const M=c.useRef(b);M.current=b;const q=c.useRef(p);q.current=p;const O=c.useRef(l?.agents??[]);O.current=l?.agents??[];const P=c.useRef(l?.teams??[]);P.current=l?.teams??[];const w=c.useRef(d?.items??[]);w.current=d?.items??[];const o=D.useEditor({extensions:oe.buildExtensions({features:k,placeholder:g.placeholder,maxCharacters:y,hasSections:(m?.length??0)>0,mentions:{agents:l?O:void 0,teams:l?P:void 0},slashCommands:d?w:void 0,onPaste:Q,onSend:p?e=>q.current?.(e):void 0,sendShortcut:$,shortcuts:W,onMentionSelected:l?.onSelect,onSlashCommandSelected:d?.onSelect,renderMentionItem:l?.renderItem,renderMentionDropdown:l?.renderDropdown,renderSlashCommandItem:d?.renderItem,renderSlashCommandDropdown:d?.renderDropdown}),content:X,editable:!N,immediatelyRender:!1,editorProps:{attributes:{...E?{class:E}:{},...z?{style:se(z)}:{}}},onUpdate:({editor:e})=>{T.current?.(s.extractContent(e))},onTransaction:({editor:e})=>{const t=s.extractActiveFormats(e),n=v.current;(n.bold!==t.bold||n.italic!==t.italic||n.underline!==t.underline||n.strike!==t.strike||n.bulletList!==t.bulletList||n.orderedList!==t.orderedList||n.blockquote!==t.blockquote||n.codeBlock!==t.codeBlock||n.superscript!==t.superscript||n.subscript!==t.subscript||n.textAlign!==t.textAlign||n.fontFamily!==t.fontFamily||n.fontSize!==t.fontSize||n.color!==t.color||n.highlight!==t.highlight||n.link?.href!==t.link?.href)&&(v.current=t,L.current?.(t))},onFocus:()=>F.current?.(),onBlur:()=>M.current?.()});function i(e){o?e(o):C.current.push(e)}return c.useEffect(()=>{o&&(C.current.length>0&&C.current.splice(0).forEach(t=>t(o)),H.current||(H.current=!0,I.current?.()))},[o]),c.useImperativeHandle(h,()=>({focus:e=>i(t=>t.commands.focus(e)),blur:()=>i(e=>e.commands.blur()),clearContent:()=>i(e=>e.commands.clearContent(!0)),setContent:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.setContent(t,{emitUpdate:!0}))},insertContent:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContent(t))},insertInlineContent:e=>{i(t=>s.insertInlineHtml(t,e))},insertAtStart:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(1,t))},insertBlock:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(n.state.doc.content.size,t))},appendInline:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(n.state.doc.content.size-1,t))},insertAtEnd(e){this.insertBlock(e)},appendContent(e){this.appendInline(e)},getContent:()=>o?s.extractContent(o):{html:"",text:"",isEmpty:!0,characterCount:0},getJSON:()=>o?.getJSON()??null,getMentions:()=>{const e=new Set,t=new Set;return o?(o.state.doc.descendants(n=>{n.type.name==="mentionAgent"&&n.attrs.id!=null?e.add(String(n.attrs.id)):n.type.name==="mentionTeam"&&n.attrs.id!=null&&t.add(String(n.attrs.id))}),{agentIds:Array.from(e),teamIds:Array.from(t)}):{agentIds:[],teamIds:[]}},getCursorPosition:()=>{if(!o)return{from:0,to:0};const{from:e,to:t}=o.state.selection;return{from:e,to:t}},insertAtPosition:(e,t)=>{const n=s.normalizeHtml(t);i(r=>r.commands.insertContentAt(e,n))},getSelectedText:()=>{if(!o)return"";const{state:e}=o,{from:t,to:n,empty:r}=e.selection;if(!r)return e.doc.textBetween(t,n," ");const a=e.schema.marks.link;if(a){const u=te.getMarkRange(e.doc.resolve(t),a);if(u)return e.doc.textBetween(u.from,u.to," ")}return""},getCharacterCount:()=>({count:o?.storage.characterCount?.characters?.()??o?.getText().length??0,limit:y??null}),getSectionContent:e=>o?s.extractSectionContent(o,e):{html:"",text:"",isEmpty:!0,characterCount:0},setSectionContent:(e,t)=>{const n=s.normalizeHtml(t);i(r=>s.setSectionContentInEditor(r,e,n))},focusSection:e=>{i(t=>{if(e==="body"){let r=t.state.doc.content.size-1;t.state.doc.descendants((a,u)=>(a.type.name==="sectionDivider"&&r===t.state.doc.content.size-1&&(r=u-1),r===t.state.doc.content.size-1)),r<1&&(r=1),t.chain().focus().setTextSelection(r).run();return}let n=-1;t.state.doc.descendants((r,a)=>{if(n!==-1)return!1;r.type.name==="sectionDivider"&&r.attrs.sectionId===e&&(n=a+r.nodeSize+1)}),n!==-1&&t.chain().focus().setTextSelection(n).run()})},clearSection:e=>{i(t=>s.setSectionContentInEditor(t,e,"<p></p>"))},getBodyContent:()=>o?s.extractBodyContent(o):{html:"",text:"",isEmpty:!0,characterCount:0},setBodyContent:e=>{const t=s.normalizeHtml(e);i(n=>s.setSectionContentInEditor(n,"body",t))},setBodyAndSections:(e,t)=>{const n=s.buildSectionedContent(s.normalizeHtml(e),t.map(r=>({id:r.id,content:s.normalizeHtml(r.content)})));i(r=>r.commands.setContent(n,{emitUpdate:!0}))},appendBodyContent:e=>{const t=s.normalizeHtml(e);i(n=>{const r=s.findSectionEndPos(n,"body");n.commands.insertContentAt(r-1,t,{parseOptions:{preserveWhitespace:!0}})})},insertAtSectionStart:(e,t)=>{const n=s.normalizeHtml(t);i(r=>{const a=s.findSectionStartPos(r,e);a!==-1&&r.commands.insertContentAt(a,n,{parseOptions:{preserveWhitespace:!0}})})},insertAtSectionEnd:(e,t)=>{const n=s.normalizeHtml(t);i(r=>{const a=s.findSectionEndPos(r,e);r.commands.insertContentAt(a,n,{parseOptions:{preserveWhitespace:!0}})})},getActiveFormats:()=>o?s.extractActiveFormats(o):U.DEFAULT_FORMAT_STATE,actions:{toggleBold:()=>o?.chain().focus().toggleBold().run(),toggleItalic:()=>o?.chain().focus().toggleItalic().run(),toggleUnderline:()=>o?.chain().focus().toggleUnderline().run(),toggleStrike:()=>o?.chain().focus().toggleStrike().run(),toggleBulletList:()=>o?.chain().focus().toggleBulletList().run(),toggleOrderedList:()=>o?.chain().focus().toggleOrderedList().run(),toggleBlockquote:()=>o?.chain().focus().toggleBlockquote().run(),toggleCodeBlock:()=>o?.chain().focus().toggleCodeBlock().run(),setTextAlign:e=>o?.chain().focus().setTextAlign(e).run(),setFontFamily:e=>o?.chain().focus().setFontFamily(e).run(),setFontSize:e=>o?.chain().focus().setFontSize(e).run(),setColor:e=>o?.chain().focus().setColor(e).run(),setHighlight:e=>o?.chain().focus().toggleHighlight({color:e}).run(),unsetColor:()=>o?.chain().focus().unsetColor().run(),unsetHighlight:()=>o?.chain().focus().unsetHighlight().run(),setLink:(e,t)=>{o&&(t!==void 0?o.chain().focus().extendMarkRange("link").command(({tr:n,state:r})=>{const{from:a,to:u}=n.selection,j=r.schema.marks.link;if(!j)return!1;const Y=r.schema.text(t,[j.create({href:e})]),ee=r.schema.text(" ");return n.replaceWith(a,u,[Y,ee]),!0}).run():o.chain().focus().extendMarkRange("link").setLink({href:e}).insertContent(" ").run())},updateLink:e=>o?.chain().focus().extendMarkRange("link").setLink({href:e}).run(),removeLink:()=>o?.chain().focus().extendMarkRange("link").unsetLink().run(),insertEmoji:e=>o?.chain().focus().insertContent(e).run(),insertVariable:e=>o?.chain().focus().insertContent(`{{${e}}}`).run(),insertHtml:e=>o?.commands.insertContent(s.normalizeHtml(e)),undo:()=>o?.chain().focus().undo().run(),redo:()=>o?.chain().focus().redo().run(),canUndo:()=>o?.can().undo()??!1,canRedo:()=>o?.can().redo()??!1,toggleSuperscript:()=>o?.chain().focus().toggleSuperscript().run(),toggleSubscript:()=>o?.chain().focus().toggleSubscript().run(),insertImage:e=>o?.chain().focus().setImage({src:e}).run()}}),[o]),o?S.jsxs(ne.BikEditorShell,{minHeight:V,maxHeight:Z,tightParagraphs:!k?.richPaste,style:G,className:K,children:[S.jsx(D.EditorContent,{editor:o}),S.jsx(re.LinkBubbleMenu,{editor:o,renderLinkTooltip:J?.renderTooltip})]}):null},_=c.forwardRef(ie);_.displayName="BikEditor";exports.BikEditor=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),te=require("../node_modules/@tiptap/core/dist/index.js"),j=require("@tiptap/react"),c=require("react"),ne=require("./BikEditor.styles.js"),U=require("./BikEditor.types.js"),s=require("./BikEditor.utils.js"),oe=require("./extensions/buildExtensions.js"),re=require("./floating/LinkBubbleMenu.js");function se(g){return Object.entries(g).map(([h,f])=>`${h.replace(/([A-Z])/g,m=>`-${m.toLowerCase()}`)}:${f}`).join(";")}const ie=(g,h)=>{const{initialContent:f,sections:m,features:k,disabled:N,maxCharacters:y,shortcuts:W,sendShortcut:$,mentions:l,slashCommands:d,link:J,onPaste:Q,onReady:R,onChange:x,onSend:p,onFocus:B,onBlur:b,onSelectionChange:A,minHeight:V,maxHeight:Z,style:G,className:K,editorClassName:E,editorStyle:z}=g,X=m?.length?s.buildSectionedContent(s.normalizeHtml(f??""),m.map(e=>({...e,content:s.normalizeHtml(e.content)}))):s.normalizeHtml(f??""),C=c.useRef([]),H=c.useRef(!1),T=c.useRef(R);T.current=R;const I=c.useRef(x);I.current=x;const v=c.useRef(A);v.current=A;const L=c.useRef(U.DEFAULT_FORMAT_STATE),F=c.useRef(B);F.current=B;const M=c.useRef(b);M.current=b;const q=c.useRef(p);q.current=p;const O=c.useRef(l?.agents??[]);O.current=l?.agents??[];const P=c.useRef(l?.teams??[]);P.current=l?.teams??[];const w=c.useRef(d?.items??[]);w.current=d?.items??[];const o=j.useEditor({extensions:oe.buildExtensions({features:k,placeholder:g.placeholder,maxCharacters:y,hasSections:(m?.length??0)>0,mentions:{agents:l?O:void 0,teams:l?P:void 0},slashCommands:d?w:void 0,onPaste:Q,onSend:p?e=>q.current?.(e):void 0,sendShortcut:$,shortcuts:W,onMentionSelected:l?.onSelect,onSlashCommandSelected:d?.onSelect,renderMentionItem:l?.renderItem,renderMentionDropdown:l?.renderDropdown,removeMentionTriggerOnDismiss:l?.removeTriggerOnDismiss,renderSlashCommandItem:d?.renderItem,renderSlashCommandDropdown:d?.renderDropdown}),content:X,editable:!N,immediatelyRender:!1,editorProps:{attributes:{...E?{class:E}:{},...z?{style:se(z)}:{}}},onUpdate:({editor:e})=>{I.current?.(s.extractContent(e))},onTransaction:({editor:e})=>{const t=s.extractActiveFormats(e),n=L.current;(n.bold!==t.bold||n.italic!==t.italic||n.underline!==t.underline||n.strike!==t.strike||n.bulletList!==t.bulletList||n.orderedList!==t.orderedList||n.blockquote!==t.blockquote||n.codeBlock!==t.codeBlock||n.superscript!==t.superscript||n.subscript!==t.subscript||n.textAlign!==t.textAlign||n.fontFamily!==t.fontFamily||n.fontSize!==t.fontSize||n.color!==t.color||n.highlight!==t.highlight||n.link?.href!==t.link?.href)&&(L.current=t,v.current?.(t))},onFocus:()=>F.current?.(),onBlur:()=>M.current?.()});function i(e){o?e(o):C.current.push(e)}return c.useEffect(()=>{o&&(C.current.length>0&&C.current.splice(0).forEach(t=>t(o)),H.current||(H.current=!0,T.current?.()))},[o]),c.useImperativeHandle(h,()=>({focus:e=>i(t=>t.commands.focus(e)),blur:()=>i(e=>e.commands.blur()),clearContent:()=>i(e=>e.commands.clearContent(!0)),setContent:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.setContent(t,{emitUpdate:!0}))},insertContent:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContent(t))},insertInlineContent:e=>{i(t=>s.insertInlineHtml(t,e))},insertAtStart:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(1,t))},insertBlock:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(n.state.doc.content.size,t))},appendInline:e=>{const t=s.normalizeHtml(e);i(n=>n.commands.insertContentAt(n.state.doc.content.size-1,t))},insertAtEnd(e){this.insertBlock(e)},appendContent(e){this.appendInline(e)},getContent:()=>o?s.extractContent(o):{html:"",text:"",isEmpty:!0,characterCount:0},getJSON:()=>o?.getJSON()??null,getMentions:()=>{const e=new Set,t=new Set;return o?(o.state.doc.descendants(n=>{n.type.name==="mentionAgent"&&n.attrs.id!=null?e.add(String(n.attrs.id)):n.type.name==="mentionTeam"&&n.attrs.id!=null&&t.add(String(n.attrs.id))}),{agentIds:Array.from(e),teamIds:Array.from(t)}):{agentIds:[],teamIds:[]}},getCursorPosition:()=>{if(!o)return{from:0,to:0};const{from:e,to:t}=o.state.selection;return{from:e,to:t}},insertAtPosition:(e,t)=>{const n=s.normalizeHtml(t);i(r=>r.commands.insertContentAt(e,n))},getSelectedText:()=>{if(!o)return"";const{state:e}=o,{from:t,to:n,empty:r}=e.selection;if(!r)return e.doc.textBetween(t,n," ");const a=e.schema.marks.link;if(a){const u=te.getMarkRange(e.doc.resolve(t),a);if(u)return e.doc.textBetween(u.from,u.to," ")}return""},getCharacterCount:()=>({count:o?.storage.characterCount?.characters?.()??o?.getText().length??0,limit:y??null}),getSectionContent:e=>o?s.extractSectionContent(o,e):{html:"",text:"",isEmpty:!0,characterCount:0},setSectionContent:(e,t)=>{const n=s.normalizeHtml(t);i(r=>s.setSectionContentInEditor(r,e,n))},focusSection:e=>{i(t=>{if(e==="body"){let r=t.state.doc.content.size-1;t.state.doc.descendants((a,u)=>(a.type.name==="sectionDivider"&&r===t.state.doc.content.size-1&&(r=u-1),r===t.state.doc.content.size-1)),r<1&&(r=1),t.chain().focus().setTextSelection(r).run();return}let n=-1;t.state.doc.descendants((r,a)=>{if(n!==-1)return!1;r.type.name==="sectionDivider"&&r.attrs.sectionId===e&&(n=a+r.nodeSize+1)}),n!==-1&&t.chain().focus().setTextSelection(n).run()})},clearSection:e=>{i(t=>s.setSectionContentInEditor(t,e,"<p></p>"))},getBodyContent:()=>o?s.extractBodyContent(o):{html:"",text:"",isEmpty:!0,characterCount:0},setBodyContent:e=>{const t=s.normalizeHtml(e);i(n=>s.setSectionContentInEditor(n,"body",t))},setBodyAndSections:(e,t)=>{const n=s.buildSectionedContent(s.normalizeHtml(e),t.map(r=>({id:r.id,content:s.normalizeHtml(r.content)})));i(r=>r.commands.setContent(n,{emitUpdate:!0}))},appendBodyContent:e=>{const t=s.normalizeHtml(e);i(n=>{const r=s.findSectionEndPos(n,"body");n.commands.insertContentAt(r-1,t,{parseOptions:{preserveWhitespace:!0}})})},insertAtSectionStart:(e,t)=>{const n=s.normalizeHtml(t);i(r=>{const a=s.findSectionStartPos(r,e);a!==-1&&r.commands.insertContentAt(a,n,{parseOptions:{preserveWhitespace:!0}})})},insertAtSectionEnd:(e,t)=>{const n=s.normalizeHtml(t);i(r=>{const a=s.findSectionEndPos(r,e);r.commands.insertContentAt(a,n,{parseOptions:{preserveWhitespace:!0}})})},getActiveFormats:()=>o?s.extractActiveFormats(o):U.DEFAULT_FORMAT_STATE,actions:{toggleBold:()=>o?.chain().focus().toggleBold().run(),toggleItalic:()=>o?.chain().focus().toggleItalic().run(),toggleUnderline:()=>o?.chain().focus().toggleUnderline().run(),toggleStrike:()=>o?.chain().focus().toggleStrike().run(),toggleBulletList:()=>o?.chain().focus().toggleBulletList().run(),toggleOrderedList:()=>o?.chain().focus().toggleOrderedList().run(),toggleBlockquote:()=>o?.chain().focus().toggleBlockquote().run(),toggleCodeBlock:()=>o?.chain().focus().toggleCodeBlock().run(),setTextAlign:e=>o?.chain().focus().setTextAlign(e).run(),setFontFamily:e=>o?.chain().focus().setFontFamily(e).run(),setFontSize:e=>o?.chain().focus().setFontSize(e).run(),setColor:e=>o?.chain().focus().setColor(e).run(),setHighlight:e=>o?.chain().focus().toggleHighlight({color:e}).run(),unsetColor:()=>o?.chain().focus().unsetColor().run(),unsetHighlight:()=>o?.chain().focus().unsetHighlight().run(),setLink:(e,t)=>{o&&(t!==void 0?o.chain().focus().extendMarkRange("link").command(({tr:n,state:r})=>{const{from:a,to:u}=n.selection,D=r.schema.marks.link;if(!D)return!1;const Y=r.schema.text(t,[D.create({href:e})]),ee=r.schema.text(" ");return n.replaceWith(a,u,[Y,ee]),!0}).run():o.chain().focus().extendMarkRange("link").setLink({href:e}).insertContent(" ").run())},updateLink:e=>o?.chain().focus().extendMarkRange("link").setLink({href:e}).run(),removeLink:()=>o?.chain().focus().extendMarkRange("link").unsetLink().run(),insertEmoji:e=>o?.chain().focus().insertContent(e).run(),insertVariable:e=>o?.chain().focus().insertContent(`{{${e}}}`).run(),insertHtml:e=>o?.commands.insertContent(s.normalizeHtml(e)),undo:()=>o?.chain().focus().undo().run(),redo:()=>o?.chain().focus().redo().run(),canUndo:()=>o?.can().undo()??!1,canRedo:()=>o?.can().redo()??!1,toggleSuperscript:()=>o?.chain().focus().toggleSuperscript().run(),toggleSubscript:()=>o?.chain().focus().toggleSubscript().run(),insertImage:e=>o?.chain().focus().setImage({src:e}).run()}}),[o]),o?S.jsxs(ne.BikEditorShell,{minHeight:V,maxHeight:Z,tightParagraphs:!k?.richPaste,style:G,className:K,children:[S.jsx(j.EditorContent,{editor:o}),S.jsx(re.LinkBubbleMenu,{editor:o,renderLinkTooltip:J?.renderTooltip})]}):null},_=c.forwardRef(ie);_.displayName="BikEditor";exports.BikEditor=_;
2
2
  //# sourceMappingURL=BikEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BikEditor.js","sources":["../../../src/editor/BikEditor.tsx"],"sourcesContent":["'use client';\n\n/**\n * IMPLEMENTATION LAYER — TipTap-specific.\n * If the underlying editor is swapped, this file changes; BikEditor.types.ts and\n * src/editor/index.ts (the consumer contract) do NOT change.\n */\nimport { Editor, getMarkRange } from '@tiptap/core';\nimport { EditorContent, useEditor } from '@tiptap/react';\nimport React, {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n} from 'react';\nimport { BikEditorShell } from './BikEditor.styles';\nimport {\n\tBikEditorProps,\n\tBikEditorRef,\n\tDEFAULT_FORMAT_STATE,\n\tFormatState,\n} from './BikEditor.types';\nimport {\n\tbuildSectionedContent,\n\textractActiveFormats,\n\textractBodyContent,\n\textractContent,\n\textractSectionContent,\n\tfindSectionEndPos,\n\tfindSectionStartPos,\n\tinsertInlineHtml,\n\tnormalizeHtml,\n\tsetSectionContentInEditor,\n} from './BikEditor.utils';\nimport { buildExtensions } from './extensions/buildExtensions';\nimport { LinkBubbleMenu } from './floating/LinkBubbleMenu';\n\n/** Convert React.CSSProperties to an inline CSS string for editorProps.attributes. */\nfunction cssToString(style: React.CSSProperties): string {\n\treturn Object.entries(style)\n\t\t.map(\n\t\t\t([k, v]) => `${k.replace(/([A-Z])/g, (c) => `-${c.toLowerCase()}`)}:${v}`,\n\t\t)\n\t\t.join(';');\n}\n\nconst BikEditorInner = (\n\tprops: BikEditorProps,\n\tref: React.Ref<BikEditorRef>,\n) => {\n\tconst {\n\t\tinitialContent,\n\t\tsections,\n\t\tfeatures,\n\t\tdisabled,\n\t\tmaxCharacters,\n\t\tshortcuts,\n\t\tsendShortcut,\n\t\tmentions,\n\t\tslashCommands,\n\t\tlink,\n\t\tonPaste,\n\t\tonReady,\n\t\tonChange,\n\t\tonSend,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonSelectionChange,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tstyle,\n\t\tclassName,\n\t\teditorClassName,\n\t\teditorStyle,\n\t} = props;\n\n\tconst initialEditorContent = sections?.length\n\t\t? buildSectionedContent(\n\t\t\t\tnormalizeHtml(initialContent ?? ''),\n\t\t\t\tsections.map((s) => ({ ...s, content: normalizeHtml(s.content) })),\n\t\t )\n\t\t: normalizeHtml(initialContent ?? '');\n\n\t// ── Command queue ─────────────────────────────────────────────────────────\n\t// TipTap's useEditor initializes asynchronously; the editor instance is null\n\t// until the first commit. Any imperative method called before the editor is\n\t// ready is enqueued here and flushed automatically once it becomes non-null.\n\t// Consumers never need setTimeout or readiness guards.\n\tconst pendingQueue = useRef<Array<(e: Editor) => void>>([]);\n\tconst hasCalledOnReady = useRef(false);\n\t// Keep stable refs to all callbacks so useEditor receives the same function\n\t// identity on every render — prevents TipTap from re-registering event\n\t// handlers every time the parent re-renders with new inline function props.\n\tconst onReadyRef = useRef(onReady);\n\tonReadyRef.current = onReady;\n\tconst onChangeRef = useRef(onChange);\n\tonChangeRef.current = onChange;\n\tconst onSelectionChangeRef = useRef(onSelectionChange);\n\tonSelectionChangeRef.current = onSelectionChange;\n\tconst prevFormatsRef = useRef<FormatState>(DEFAULT_FORMAT_STATE);\n\tconst onFocusRef = useRef(onFocus);\n\tonFocusRef.current = onFocus;\n\tconst onBlurRef = useRef(onBlur);\n\tonBlurRef.current = onBlur;\n\tconst onSendRef = useRef(onSend);\n\tonSendRef.current = onSend;\n\tconst agentMentionsRef = useRef(mentions?.agents ?? []);\n\tagentMentionsRef.current = mentions?.agents ?? [];\n\tconst teamMentionsRef = useRef(mentions?.teams ?? []);\n\tteamMentionsRef.current = mentions?.teams ?? [];\n\tconst slashCommandsRef = useRef(slashCommands?.items ?? []);\n\tslashCommandsRef.current = slashCommands?.items ?? [];\n\n\tconst editor = useEditor({\n\t\textensions: buildExtensions({\n\t\t\tfeatures,\n\t\t\tplaceholder: props.placeholder,\n\t\t\tmaxCharacters,\n\t\t\thasSections: (sections?.length ?? 0) > 0,\n\t\t\tmentions: {\n\t\t\t\tagents: mentions ? agentMentionsRef : undefined,\n\t\t\t\tteams: mentions ? teamMentionsRef : undefined,\n\t\t\t},\n\t\t\tslashCommands: slashCommands ? slashCommandsRef : undefined,\n\t\t\tonPaste,\n\t\t\tonSend: onSend ? (snapshot) => onSendRef.current?.(snapshot) : undefined,\n\t\t\tsendShortcut,\n\t\t\tshortcuts,\n\t\t\tonMentionSelected: mentions?.onSelect,\n\t\t\tonSlashCommandSelected: slashCommands?.onSelect,\n\t\t\trenderMentionItem: mentions?.renderItem,\n\t\t\trenderMentionDropdown: mentions?.renderDropdown,\n\t\t\trenderSlashCommandItem: slashCommands?.renderItem,\n\t\t\trenderSlashCommandDropdown: slashCommands?.renderDropdown,\n\t\t}),\n\t\tcontent: initialEditorContent,\n\t\teditable: !disabled,\n\t\timmediatelyRender: false, // SSR-safe — NEVER remove this\n\t\teditorProps: {\n\t\t\tattributes: {\n\t\t\t\t...(editorClassName ? { class: editorClassName } : {}),\n\t\t\t\t...(editorStyle ? { style: cssToString(editorStyle) } : {}),\n\t\t\t},\n\t\t},\n\t\tonUpdate: ({ editor: e }) => {\n\t\t\tonChangeRef.current?.(extractContent(e));\n\t\t},\n\t\tonTransaction: ({ editor: e }) => {\n\t\t\tconst next = extractActiveFormats(e);\n\t\t\tconst prev = prevFormatsRef.current;\n\t\t\tconst changed =\n\t\t\t\tprev.bold !== next.bold ||\n\t\t\t\tprev.italic !== next.italic ||\n\t\t\t\tprev.underline !== next.underline ||\n\t\t\t\tprev.strike !== next.strike ||\n\t\t\t\tprev.bulletList !== next.bulletList ||\n\t\t\t\tprev.orderedList !== next.orderedList ||\n\t\t\t\tprev.blockquote !== next.blockquote ||\n\t\t\t\tprev.codeBlock !== next.codeBlock ||\n\t\t\t\tprev.superscript !== next.superscript ||\n\t\t\t\tprev.subscript !== next.subscript ||\n\t\t\t\tprev.textAlign !== next.textAlign ||\n\t\t\t\tprev.fontFamily !== next.fontFamily ||\n\t\t\t\tprev.fontSize !== next.fontSize ||\n\t\t\t\tprev.color !== next.color ||\n\t\t\t\tprev.highlight !== next.highlight ||\n\t\t\t\tprev.link?.href !== next.link?.href;\n\t\t\tif (changed) {\n\t\t\t\tprevFormatsRef.current = next;\n\t\t\t\tonSelectionChangeRef.current?.(next);\n\t\t\t}\n\t\t},\n\t\tonFocus: () => onFocusRef.current?.(),\n\t\tonBlur: () => onBlurRef.current?.(),\n\t});\n\n\t// ── enqueue ───────────────────────────────────────────────────────────────\n\t// Run immediately if the editor is ready; otherwise defer to the queue.\n\t// Closures passed to enqueue MUST capture all parameters explicitly —\n\t// they must NOT close over `editor` (which would be null at enqueue time).\n\tfunction enqueue(op: (e: Editor) => void): void {\n\t\tif (editor) {\n\t\t\top(editor);\n\t\t} else {\n\t\t\tpendingQueue.current.push(op);\n\t\t}\n\t}\n\n\t// Flush the pending queue and fire onReady when editor transitions null → ready.\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\t\tif (pendingQueue.current.length > 0) {\n\t\t\tconst queue = pendingQueue.current.splice(0);\n\t\t\tqueue.forEach((op) => op(editor));\n\t\t}\n\t\tif (!hasCalledOnReady.current) {\n\t\t\thasCalledOnReady.current = true;\n\t\t\tonReadyRef.current?.();\n\t\t}\n\t}, [editor]);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\t// ── Focus ────────────────────────────────────────────────────────\n\t\t\tfocus: (position) => enqueue((e) => e.commands.focus(position)),\n\t\t\tblur: () => enqueue((e) => e.commands.blur()),\n\n\t\t\t// ── Content ──────────────────────────────────────────────────────\n\t\t\tclearContent: () => enqueue((e) => e.commands.clearContent(true)),\n\t\t\tsetContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.setContent(normalised, { emitUpdate: true }));\n\t\t\t},\n\t\t\tinsertContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContent(normalised));\n\t\t\t},\n\t\t\tinsertInlineContent: (html) => {\n\t\t\t\tenqueue((e) => insertInlineHtml(e, html));\n\t\t\t},\n\t\t\tinsertAtStart: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(1, normalised));\n\t\t\t},\n\t\t\tinsertBlock: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\tappendInline: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// doc.content.size is after the last </p> (block boundary).\n\t\t\t\t// Subtract 1 to land inside the last paragraph so text appends\n\t\t\t\t// inline rather than being wrapped in a new paragraph each call.\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size - 1, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\t// Backwards-compatible aliases\n\t\t\tinsertAtEnd(html) {\n\t\t\t\tthis.insertBlock(html);\n\t\t\t},\n\t\t\tappendContent(html) {\n\t\t\t\tthis.appendInline(html);\n\t\t\t},\n\t\t\tgetContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tgetJSON: () => editor?.getJSON() ?? null,\n\t\t\tgetMentions: () => {\n\t\t\t\tconst agentIds = new Set<string>();\n\t\t\t\tconst teamIds = new Set<string>();\n\t\t\t\tif (!editor) return { agentIds: [], teamIds: [] };\n\t\t\t\teditor.state.doc.descendants((node) => {\n\t\t\t\t\tif (node.type.name === 'mentionAgent' && node.attrs['id'] != null) {\n\t\t\t\t\t\tagentIds.add(String(node.attrs['id']));\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tnode.type.name === 'mentionTeam' &&\n\t\t\t\t\t\tnode.attrs['id'] != null\n\t\t\t\t\t) {\n\t\t\t\t\t\tteamIds.add(String(node.attrs['id']));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn { agentIds: Array.from(agentIds), teamIds: Array.from(teamIds) };\n\t\t\t},\n\n\t\t\t// ── Selection ────────────────────────────────────────────────────\n\t\t\tgetCursorPosition: () => {\n\t\t\t\tif (!editor) return { from: 0, to: 0 };\n\t\t\t\tconst { from, to } = editor.state.selection;\n\t\t\t\treturn { from, to };\n\t\t\t},\n\t\t\tinsertAtPosition: (pos, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(pos, normalised));\n\t\t\t},\n\t\t\tgetSelectedText: () => {\n\t\t\t\tif (!editor) return '';\n\t\t\t\tconst { state } = editor;\n\t\t\t\tconst { from, to, empty } = state.selection;\n\t\t\t\tif (!empty) {\n\t\t\t\t\treturn state.doc.textBetween(from, to, ' ');\n\t\t\t\t}\n\t\t\t\t// When the cursor is inside a link with nothing selected, return the\n\t\t\t\t// full link text — useful for pre-filling a link modal's text field.\n\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\tif (linkMarkType) {\n\t\t\t\t\tconst range = getMarkRange(state.doc.resolve(from), linkMarkType);\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\treturn state.doc.textBetween(range.from, range.to, ' ');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\t// ── Character count ───────────────────────────────────────────────\n\t\t\tgetCharacterCount: () => ({\n\t\t\t\tcount:\n\t\t\t\t\teditor?.storage.characterCount?.characters?.() ??\n\t\t\t\t\teditor?.getText().length ??\n\t\t\t\t\t0,\n\t\t\t\tlimit: maxCharacters ?? null,\n\t\t\t}),\n\n\t\t\t// ── Sections ─────────────────────────────────────────────────────\n\t\t\tgetSectionContent: (sectionId) =>\n\t\t\t\teditor\n\t\t\t\t\t? extractSectionContent(editor, sectionId)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\n\t\t\tsetSectionContent: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, normalised));\n\t\t\t},\n\n\t\t\tfocusSection: (sectionId) => {\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tif (sectionId === 'body') {\n\t\t\t\t\t\tlet endOfBody = e.state.doc.content.size - 1;\n\t\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\t\tendOfBody === e.state.doc.content.size - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tendOfBody = pos - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn endOfBody === e.state.doc.content.size - 1;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (endOfBody < 1) endOfBody = 1;\n\t\t\t\t\t\te.chain().focus().setTextSelection(endOfBody).run();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet targetPos = -1;\n\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (targetPos !== -1) return false;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\tnode.attrs['sectionId'] === sectionId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// pos + nodeSize lands right after the divider;\n\t\t\t\t\t\t\t// +1 more puts us inside the first paragraph of that section.\n\t\t\t\t\t\t\ttargetPos = pos + node.nodeSize + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (targetPos !== -1) {\n\t\t\t\t\t\te.chain().focus().setTextSelection(targetPos).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tclearSection: (sectionId) => {\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, '<p></p>'));\n\t\t\t},\n\n\t\t\t// ── Convenience body shorthands ───────────────────────────────────\n\t\t\tgetBodyContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractBodyContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tsetBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, 'body', normalised));\n\t\t\t},\n\t\t\tsetBodyAndSections: (body, sections) => {\n\t\t\t\tconst html = buildSectionedContent(\n\t\t\t\t\tnormalizeHtml(body),\n\t\t\t\t\tsections.map((s) => ({\n\t\t\t\t\t\tid: s.id,\n\t\t\t\t\t\tcontent: normalizeHtml(s.content),\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t\tenqueue((e) => e.commands.setContent(html, { emitUpdate: true }));\n\t\t\t},\n\t\t\tappendBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// findSectionEndPos returns the position of the first divider (or\n\t\t\t\t// doc.content.size), which is the block boundary after the last </p>.\n\t\t\t\t// Subtract 1 to stay inside the last paragraph so successive calls\n\t\t\t\t// append inline text rather than creating a new paragraph each time.\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst boundaryPos = findSectionEndPos(e, 'body');\n\t\t\t\t\te.commands.insertContentAt(boundaryPos - 1, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionStart: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionStartPos(e, sectionId);\n\t\t\t\t\tif (pos !== -1)\n\t\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionEnd: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionEndPos(e, sectionId);\n\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\t// ── Formats & actions ─────────────────────────────────────────────\n\t\t\tgetActiveFormats: () =>\n\t\t\t\teditor ? extractActiveFormats(editor) : DEFAULT_FORMAT_STATE,\n\t\t\tactions: {\n\t\t\t\ttoggleBold: () => editor?.chain().focus().toggleBold().run(),\n\t\t\t\ttoggleItalic: () => editor?.chain().focus().toggleItalic().run(),\n\t\t\t\ttoggleUnderline: () => editor?.chain().focus().toggleUnderline().run(),\n\t\t\t\ttoggleStrike: () => editor?.chain().focus().toggleStrike().run(),\n\t\t\t\ttoggleBulletList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBulletList().run(),\n\t\t\t\ttoggleOrderedList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleOrderedList().run(),\n\t\t\t\ttoggleBlockquote: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBlockquote().run(),\n\t\t\t\ttoggleCodeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n\t\t\t\tsetTextAlign: (align) =>\n\t\t\t\t\teditor?.chain().focus().setTextAlign(align).run(),\n\t\t\t\tsetFontFamily: (font) =>\n\t\t\t\t\teditor?.chain().focus().setFontFamily(font).run(),\n\t\t\t\tsetFontSize: (size) => editor?.chain().focus().setFontSize(size).run(),\n\t\t\t\tsetColor: (color) => editor?.chain().focus().setColor(color).run(),\n\t\t\t\tsetHighlight: (color) =>\n\t\t\t\t\teditor?.chain().focus().toggleHighlight({ color }).run(),\n\t\t\t\tunsetColor: () => editor?.chain().focus().unsetColor().run(),\n\t\t\t\tunsetHighlight: () => editor?.chain().focus().unsetHighlight().run(),\n\t\t\t\tsetLink: (href, text) => {\n\t\t\t\t\tif (!editor) return;\n\t\t\t\t\tif (text !== undefined) {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.command(({ tr, state }) => {\n\t\t\t\t\t\t\t\tconst { from, to } = tr.selection;\n\t\t\t\t\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\t\t\t\t\tif (!linkMarkType) return false;\n\t\t\t\t\t\t\t\tconst linkNode = state.schema.text(text, [\n\t\t\t\t\t\t\t\t\tlinkMarkType.create({ href }),\n\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\tconst space = state.schema.text(' ');\n\t\t\t\t\t\t\t\ttr.replaceWith(from, to, [linkNode, space]);\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t\t.insertContent(' ')\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateLink: (href) =>\n\t\t\t\t\teditor\n\t\t\t\t\t\t?.chain()\n\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t.run(),\n\t\t\t\tremoveLink: () =>\n\t\t\t\t\teditor?.chain().focus().extendMarkRange('link').unsetLink().run(),\n\t\t\t\tinsertEmoji: (emoji) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(emoji).run(),\n\t\t\t\tinsertVariable: (variableName) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(`{{${variableName}}}`).run(),\n\t\t\t\tinsertHtml: (html) =>\n\t\t\t\t\teditor?.commands.insertContent(normalizeHtml(html)),\n\t\t\t\tundo: () => editor?.chain().focus().undo().run(),\n\t\t\t\tredo: () => editor?.chain().focus().redo().run(),\n\t\t\t\tcanUndo: () => editor?.can().undo() ?? false,\n\t\t\t\tcanRedo: () => editor?.can().redo() ?? false,\n\t\t\t\ttoggleSuperscript: () =>\n\t\t\t\t\teditor?.chain().focus().toggleSuperscript().run(),\n\t\t\t\ttoggleSubscript: () => editor?.chain().focus().toggleSubscript().run(),\n\t\t\t\tinsertImage: (src) => editor?.chain().focus().setImage({ src }).run(),\n\t\t\t},\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[editor],\n\t);\n\n\tif (!editor) return null;\n\n\treturn (\n\t\t<BikEditorShell\n\t\t\tminHeight={minHeight}\n\t\t\tmaxHeight={maxHeight}\n\t\t\ttightParagraphs={!features?.richPaste}\n\t\t\tstyle={style}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<EditorContent editor={editor} />\n\t\t\t<LinkBubbleMenu editor={editor} renderLinkTooltip={link?.renderTooltip} />\n\t\t</BikEditorShell>\n\t);\n};\n\nexport const BikEditor = forwardRef<BikEditorRef, BikEditorProps>(\n\tBikEditorInner,\n);\nBikEditor.displayName = 'BikEditor';\n"],"names":["cssToString","style","k","v","c","BikEditorInner","props","ref","initialContent","sections","features","disabled","maxCharacters","shortcuts","sendShortcut","mentions","slashCommands","link","onPaste","onReady","onChange","onSend","onFocus","onBlur","onSelectionChange","minHeight","maxHeight","className","editorClassName","editorStyle","initialEditorContent","buildSectionedContent","normalizeHtml","s","pendingQueue","useRef","hasCalledOnReady","onReadyRef","onChangeRef","onSelectionChangeRef","prevFormatsRef","DEFAULT_FORMAT_STATE","onFocusRef","onBlurRef","onSendRef","agentMentionsRef","teamMentionsRef","slashCommandsRef","editor","useEditor","buildExtensions","snapshot","extractContent","next","extractActiveFormats","prev","enqueue","op","useEffect","useImperativeHandle","position","e","html","normalised","insertInlineHtml","agentIds","teamIds","node","from","to","pos","state","empty","linkMarkType","range","getMarkRange","sectionId","extractSectionContent","setSectionContentInEditor","endOfBody","targetPos","extractBodyContent","body","boundaryPos","findSectionEndPos","findSectionStartPos","align","font","size","color","href","text","tr","linkNode","space","emoji","variableName","src","jsxs","BikEditorShell","jsx","EditorContent","LinkBubbleMenu","BikEditor","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"BikEditor.js","sources":["../../../src/editor/BikEditor.tsx"],"sourcesContent":["'use client';\n\n/**\n * IMPLEMENTATION LAYER — TipTap-specific.\n * If the underlying editor is swapped, this file changes; BikEditor.types.ts and\n * src/editor/index.ts (the consumer contract) do NOT change.\n */\nimport { Editor, getMarkRange } from '@tiptap/core';\nimport { EditorContent, useEditor } from '@tiptap/react';\nimport React, {\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n} from 'react';\nimport { BikEditorShell } from './BikEditor.styles';\nimport {\n\tBikEditorProps,\n\tBikEditorRef,\n\tDEFAULT_FORMAT_STATE,\n\tFormatState,\n} from './BikEditor.types';\nimport {\n\tbuildSectionedContent,\n\textractActiveFormats,\n\textractBodyContent,\n\textractContent,\n\textractSectionContent,\n\tfindSectionEndPos,\n\tfindSectionStartPos,\n\tinsertInlineHtml,\n\tnormalizeHtml,\n\tsetSectionContentInEditor,\n} from './BikEditor.utils';\nimport { buildExtensions } from './extensions/buildExtensions';\nimport { LinkBubbleMenu } from './floating/LinkBubbleMenu';\n\n/** Convert React.CSSProperties to an inline CSS string for editorProps.attributes. */\nfunction cssToString(style: React.CSSProperties): string {\n\treturn Object.entries(style)\n\t\t.map(\n\t\t\t([k, v]) => `${k.replace(/([A-Z])/g, (c) => `-${c.toLowerCase()}`)}:${v}`,\n\t\t)\n\t\t.join(';');\n}\n\nconst BikEditorInner = (\n\tprops: BikEditorProps,\n\tref: React.Ref<BikEditorRef>,\n) => {\n\tconst {\n\t\tinitialContent,\n\t\tsections,\n\t\tfeatures,\n\t\tdisabled,\n\t\tmaxCharacters,\n\t\tshortcuts,\n\t\tsendShortcut,\n\t\tmentions,\n\t\tslashCommands,\n\t\tlink,\n\t\tonPaste,\n\t\tonReady,\n\t\tonChange,\n\t\tonSend,\n\t\tonFocus,\n\t\tonBlur,\n\t\tonSelectionChange,\n\t\tminHeight,\n\t\tmaxHeight,\n\t\tstyle,\n\t\tclassName,\n\t\teditorClassName,\n\t\teditorStyle,\n\t} = props;\n\n\tconst initialEditorContent = sections?.length\n\t\t? buildSectionedContent(\n\t\t\t\tnormalizeHtml(initialContent ?? ''),\n\t\t\t\tsections.map((s) => ({ ...s, content: normalizeHtml(s.content) })),\n\t\t )\n\t\t: normalizeHtml(initialContent ?? '');\n\n\t// ── Command queue ─────────────────────────────────────────────────────────\n\t// TipTap's useEditor initializes asynchronously; the editor instance is null\n\t// until the first commit. Any imperative method called before the editor is\n\t// ready is enqueued here and flushed automatically once it becomes non-null.\n\t// Consumers never need setTimeout or readiness guards.\n\tconst pendingQueue = useRef<Array<(e: Editor) => void>>([]);\n\tconst hasCalledOnReady = useRef(false);\n\t// Keep stable refs to all callbacks so useEditor receives the same function\n\t// identity on every render — prevents TipTap from re-registering event\n\t// handlers every time the parent re-renders with new inline function props.\n\tconst onReadyRef = useRef(onReady);\n\tonReadyRef.current = onReady;\n\tconst onChangeRef = useRef(onChange);\n\tonChangeRef.current = onChange;\n\tconst onSelectionChangeRef = useRef(onSelectionChange);\n\tonSelectionChangeRef.current = onSelectionChange;\n\tconst prevFormatsRef = useRef<FormatState>(DEFAULT_FORMAT_STATE);\n\tconst onFocusRef = useRef(onFocus);\n\tonFocusRef.current = onFocus;\n\tconst onBlurRef = useRef(onBlur);\n\tonBlurRef.current = onBlur;\n\tconst onSendRef = useRef(onSend);\n\tonSendRef.current = onSend;\n\tconst agentMentionsRef = useRef(mentions?.agents ?? []);\n\tagentMentionsRef.current = mentions?.agents ?? [];\n\tconst teamMentionsRef = useRef(mentions?.teams ?? []);\n\tteamMentionsRef.current = mentions?.teams ?? [];\n\tconst slashCommandsRef = useRef(slashCommands?.items ?? []);\n\tslashCommandsRef.current = slashCommands?.items ?? [];\n\n\tconst editor = useEditor({\n\t\textensions: buildExtensions({\n\t\t\tfeatures,\n\t\t\tplaceholder: props.placeholder,\n\t\t\tmaxCharacters,\n\t\t\thasSections: (sections?.length ?? 0) > 0,\n\t\t\tmentions: {\n\t\t\t\tagents: mentions ? agentMentionsRef : undefined,\n\t\t\t\tteams: mentions ? teamMentionsRef : undefined,\n\t\t\t},\n\t\t\tslashCommands: slashCommands ? slashCommandsRef : undefined,\n\t\t\tonPaste,\n\t\t\tonSend: onSend ? (snapshot) => onSendRef.current?.(snapshot) : undefined,\n\t\t\tsendShortcut,\n\t\t\tshortcuts,\n\t\t\tonMentionSelected: mentions?.onSelect,\n\t\t\tonSlashCommandSelected: slashCommands?.onSelect,\n\t\t\trenderMentionItem: mentions?.renderItem,\n\t\t\trenderMentionDropdown: mentions?.renderDropdown,\n\t\t\tremoveMentionTriggerOnDismiss: mentions?.removeTriggerOnDismiss,\n\t\t\trenderSlashCommandItem: slashCommands?.renderItem,\n\t\t\trenderSlashCommandDropdown: slashCommands?.renderDropdown,\n\t\t}),\n\t\tcontent: initialEditorContent,\n\t\teditable: !disabled,\n\t\timmediatelyRender: false, // SSR-safe — NEVER remove this\n\t\teditorProps: {\n\t\t\tattributes: {\n\t\t\t\t...(editorClassName ? { class: editorClassName } : {}),\n\t\t\t\t...(editorStyle ? { style: cssToString(editorStyle) } : {}),\n\t\t\t},\n\t\t},\n\t\tonUpdate: ({ editor: e }) => {\n\t\t\tonChangeRef.current?.(extractContent(e));\n\t\t},\n\t\tonTransaction: ({ editor: e }) => {\n\t\t\tconst next = extractActiveFormats(e);\n\t\t\tconst prev = prevFormatsRef.current;\n\t\t\tconst changed =\n\t\t\t\tprev.bold !== next.bold ||\n\t\t\t\tprev.italic !== next.italic ||\n\t\t\t\tprev.underline !== next.underline ||\n\t\t\t\tprev.strike !== next.strike ||\n\t\t\t\tprev.bulletList !== next.bulletList ||\n\t\t\t\tprev.orderedList !== next.orderedList ||\n\t\t\t\tprev.blockquote !== next.blockquote ||\n\t\t\t\tprev.codeBlock !== next.codeBlock ||\n\t\t\t\tprev.superscript !== next.superscript ||\n\t\t\t\tprev.subscript !== next.subscript ||\n\t\t\t\tprev.textAlign !== next.textAlign ||\n\t\t\t\tprev.fontFamily !== next.fontFamily ||\n\t\t\t\tprev.fontSize !== next.fontSize ||\n\t\t\t\tprev.color !== next.color ||\n\t\t\t\tprev.highlight !== next.highlight ||\n\t\t\t\tprev.link?.href !== next.link?.href;\n\t\t\tif (changed) {\n\t\t\t\tprevFormatsRef.current = next;\n\t\t\t\tonSelectionChangeRef.current?.(next);\n\t\t\t}\n\t\t},\n\t\tonFocus: () => onFocusRef.current?.(),\n\t\tonBlur: () => onBlurRef.current?.(),\n\t});\n\n\t// ── enqueue ───────────────────────────────────────────────────────────────\n\t// Run immediately if the editor is ready; otherwise defer to the queue.\n\t// Closures passed to enqueue MUST capture all parameters explicitly —\n\t// they must NOT close over `editor` (which would be null at enqueue time).\n\tfunction enqueue(op: (e: Editor) => void): void {\n\t\tif (editor) {\n\t\t\top(editor);\n\t\t} else {\n\t\t\tpendingQueue.current.push(op);\n\t\t}\n\t}\n\n\t// Flush the pending queue and fire onReady when editor transitions null → ready.\n\tuseEffect(() => {\n\t\tif (!editor) return;\n\t\tif (pendingQueue.current.length > 0) {\n\t\t\tconst queue = pendingQueue.current.splice(0);\n\t\t\tqueue.forEach((op) => op(editor));\n\t\t}\n\t\tif (!hasCalledOnReady.current) {\n\t\t\thasCalledOnReady.current = true;\n\t\t\tonReadyRef.current?.();\n\t\t}\n\t}, [editor]);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\t// ── Focus ────────────────────────────────────────────────────────\n\t\t\tfocus: (position) => enqueue((e) => e.commands.focus(position)),\n\t\t\tblur: () => enqueue((e) => e.commands.blur()),\n\n\t\t\t// ── Content ──────────────────────────────────────────────────────\n\t\t\tclearContent: () => enqueue((e) => e.commands.clearContent(true)),\n\t\t\tsetContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.setContent(normalised, { emitUpdate: true }));\n\t\t\t},\n\t\t\tinsertContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContent(normalised));\n\t\t\t},\n\t\t\tinsertInlineContent: (html) => {\n\t\t\t\tenqueue((e) => insertInlineHtml(e, html));\n\t\t\t},\n\t\t\tinsertAtStart: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(1, normalised));\n\t\t\t},\n\t\t\tinsertBlock: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\tappendInline: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// doc.content.size is after the last </p> (block boundary).\n\t\t\t\t// Subtract 1 to land inside the last paragraph so text appends\n\t\t\t\t// inline rather than being wrapped in a new paragraph each call.\n\t\t\t\tenqueue((e) =>\n\t\t\t\t\te.commands.insertContentAt(e.state.doc.content.size - 1, normalised),\n\t\t\t\t);\n\t\t\t},\n\t\t\t// Backwards-compatible aliases\n\t\t\tinsertAtEnd(html) {\n\t\t\t\tthis.insertBlock(html);\n\t\t\t},\n\t\t\tappendContent(html) {\n\t\t\t\tthis.appendInline(html);\n\t\t\t},\n\t\t\tgetContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tgetJSON: () => editor?.getJSON() ?? null,\n\t\t\tgetMentions: () => {\n\t\t\t\tconst agentIds = new Set<string>();\n\t\t\t\tconst teamIds = new Set<string>();\n\t\t\t\tif (!editor) return { agentIds: [], teamIds: [] };\n\t\t\t\teditor.state.doc.descendants((node) => {\n\t\t\t\t\tif (node.type.name === 'mentionAgent' && node.attrs['id'] != null) {\n\t\t\t\t\t\tagentIds.add(String(node.attrs['id']));\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tnode.type.name === 'mentionTeam' &&\n\t\t\t\t\t\tnode.attrs['id'] != null\n\t\t\t\t\t) {\n\t\t\t\t\t\tteamIds.add(String(node.attrs['id']));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn { agentIds: Array.from(agentIds), teamIds: Array.from(teamIds) };\n\t\t\t},\n\n\t\t\t// ── Selection ────────────────────────────────────────────────────\n\t\t\tgetCursorPosition: () => {\n\t\t\t\tif (!editor) return { from: 0, to: 0 };\n\t\t\t\tconst { from, to } = editor.state.selection;\n\t\t\t\treturn { from, to };\n\t\t\t},\n\t\t\tinsertAtPosition: (pos, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => e.commands.insertContentAt(pos, normalised));\n\t\t\t},\n\t\t\tgetSelectedText: () => {\n\t\t\t\tif (!editor) return '';\n\t\t\t\tconst { state } = editor;\n\t\t\t\tconst { from, to, empty } = state.selection;\n\t\t\t\tif (!empty) {\n\t\t\t\t\treturn state.doc.textBetween(from, to, ' ');\n\t\t\t\t}\n\t\t\t\t// When the cursor is inside a link with nothing selected, return the\n\t\t\t\t// full link text — useful for pre-filling a link modal's text field.\n\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\tif (linkMarkType) {\n\t\t\t\t\tconst range = getMarkRange(state.doc.resolve(from), linkMarkType);\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\treturn state.doc.textBetween(range.from, range.to, ' ');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\t// ── Character count ───────────────────────────────────────────────\n\t\t\tgetCharacterCount: () => ({\n\t\t\t\tcount:\n\t\t\t\t\teditor?.storage.characterCount?.characters?.() ??\n\t\t\t\t\teditor?.getText().length ??\n\t\t\t\t\t0,\n\t\t\t\tlimit: maxCharacters ?? null,\n\t\t\t}),\n\n\t\t\t// ── Sections ─────────────────────────────────────────────────────\n\t\t\tgetSectionContent: (sectionId) =>\n\t\t\t\teditor\n\t\t\t\t\t? extractSectionContent(editor, sectionId)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\n\t\t\tsetSectionContent: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, normalised));\n\t\t\t},\n\n\t\t\tfocusSection: (sectionId) => {\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tif (sectionId === 'body') {\n\t\t\t\t\t\tlet endOfBody = e.state.doc.content.size - 1;\n\t\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\t\tendOfBody === e.state.doc.content.size - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tendOfBody = pos - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn endOfBody === e.state.doc.content.size - 1;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (endOfBody < 1) endOfBody = 1;\n\t\t\t\t\t\te.chain().focus().setTextSelection(endOfBody).run();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet targetPos = -1;\n\t\t\t\t\te.state.doc.descendants((node, pos) => {\n\t\t\t\t\t\tif (targetPos !== -1) return false;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnode.type.name === 'sectionDivider' &&\n\t\t\t\t\t\t\tnode.attrs['sectionId'] === sectionId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// pos + nodeSize lands right after the divider;\n\t\t\t\t\t\t\t// +1 more puts us inside the first paragraph of that section.\n\t\t\t\t\t\t\ttargetPos = pos + node.nodeSize + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif (targetPos !== -1) {\n\t\t\t\t\t\te.chain().focus().setTextSelection(targetPos).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tclearSection: (sectionId) => {\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, sectionId, '<p></p>'));\n\t\t\t},\n\n\t\t\t// ── Convenience body shorthands ───────────────────────────────────\n\t\t\tgetBodyContent: () =>\n\t\t\t\teditor\n\t\t\t\t\t? extractBodyContent(editor)\n\t\t\t\t\t: { html: '', text: '', isEmpty: true, characterCount: 0 },\n\t\t\tsetBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => setSectionContentInEditor(e, 'body', normalised));\n\t\t\t},\n\t\t\tsetBodyAndSections: (body, sections) => {\n\t\t\t\tconst html = buildSectionedContent(\n\t\t\t\t\tnormalizeHtml(body),\n\t\t\t\t\tsections.map((s) => ({\n\t\t\t\t\t\tid: s.id,\n\t\t\t\t\t\tcontent: normalizeHtml(s.content),\n\t\t\t\t\t})),\n\t\t\t\t);\n\t\t\t\tenqueue((e) => e.commands.setContent(html, { emitUpdate: true }));\n\t\t\t},\n\t\t\tappendBodyContent: (html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\t// findSectionEndPos returns the position of the first divider (or\n\t\t\t\t// doc.content.size), which is the block boundary after the last </p>.\n\t\t\t\t// Subtract 1 to stay inside the last paragraph so successive calls\n\t\t\t\t// append inline text rather than creating a new paragraph each time.\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst boundaryPos = findSectionEndPos(e, 'body');\n\t\t\t\t\te.commands.insertContentAt(boundaryPos - 1, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionStart: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionStartPos(e, sectionId);\n\t\t\t\t\tif (pos !== -1)\n\t\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tinsertAtSectionEnd: (sectionId, html) => {\n\t\t\t\tconst normalised = normalizeHtml(html);\n\t\t\t\tenqueue((e) => {\n\t\t\t\t\tconst pos = findSectionEndPos(e, sectionId);\n\t\t\t\t\te.commands.insertContentAt(pos, normalised, {\n\t\t\t\t\t\tparseOptions: { preserveWhitespace: true },\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\t// ── Formats & actions ─────────────────────────────────────────────\n\t\t\tgetActiveFormats: () =>\n\t\t\t\teditor ? extractActiveFormats(editor) : DEFAULT_FORMAT_STATE,\n\t\t\tactions: {\n\t\t\t\ttoggleBold: () => editor?.chain().focus().toggleBold().run(),\n\t\t\t\ttoggleItalic: () => editor?.chain().focus().toggleItalic().run(),\n\t\t\t\ttoggleUnderline: () => editor?.chain().focus().toggleUnderline().run(),\n\t\t\t\ttoggleStrike: () => editor?.chain().focus().toggleStrike().run(),\n\t\t\t\ttoggleBulletList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBulletList().run(),\n\t\t\t\ttoggleOrderedList: () =>\n\t\t\t\t\teditor?.chain().focus().toggleOrderedList().run(),\n\t\t\t\ttoggleBlockquote: () =>\n\t\t\t\t\teditor?.chain().focus().toggleBlockquote().run(),\n\t\t\t\ttoggleCodeBlock: () => editor?.chain().focus().toggleCodeBlock().run(),\n\t\t\t\tsetTextAlign: (align) =>\n\t\t\t\t\teditor?.chain().focus().setTextAlign(align).run(),\n\t\t\t\tsetFontFamily: (font) =>\n\t\t\t\t\teditor?.chain().focus().setFontFamily(font).run(),\n\t\t\t\tsetFontSize: (size) => editor?.chain().focus().setFontSize(size).run(),\n\t\t\t\tsetColor: (color) => editor?.chain().focus().setColor(color).run(),\n\t\t\t\tsetHighlight: (color) =>\n\t\t\t\t\teditor?.chain().focus().toggleHighlight({ color }).run(),\n\t\t\t\tunsetColor: () => editor?.chain().focus().unsetColor().run(),\n\t\t\t\tunsetHighlight: () => editor?.chain().focus().unsetHighlight().run(),\n\t\t\t\tsetLink: (href, text) => {\n\t\t\t\t\tif (!editor) return;\n\t\t\t\t\tif (text !== undefined) {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.command(({ tr, state }) => {\n\t\t\t\t\t\t\t\tconst { from, to } = tr.selection;\n\t\t\t\t\t\t\t\tconst linkMarkType = state.schema.marks['link'];\n\t\t\t\t\t\t\t\tif (!linkMarkType) return false;\n\t\t\t\t\t\t\t\tconst linkNode = state.schema.text(text, [\n\t\t\t\t\t\t\t\t\tlinkMarkType.create({ href }),\n\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\tconst space = state.schema.text(' ');\n\t\t\t\t\t\t\t\ttr.replaceWith(from, to, [linkNode, space]);\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t} else {\n\t\t\t\t\t\teditor\n\t\t\t\t\t\t\t.chain()\n\t\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t\t.insertContent(' ')\n\t\t\t\t\t\t\t.run();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdateLink: (href) =>\n\t\t\t\t\teditor\n\t\t\t\t\t\t?.chain()\n\t\t\t\t\t\t.focus()\n\t\t\t\t\t\t.extendMarkRange('link')\n\t\t\t\t\t\t.setLink({ href })\n\t\t\t\t\t\t.run(),\n\t\t\t\tremoveLink: () =>\n\t\t\t\t\teditor?.chain().focus().extendMarkRange('link').unsetLink().run(),\n\t\t\t\tinsertEmoji: (emoji) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(emoji).run(),\n\t\t\t\tinsertVariable: (variableName) =>\n\t\t\t\t\teditor?.chain().focus().insertContent(`{{${variableName}}}`).run(),\n\t\t\t\tinsertHtml: (html) =>\n\t\t\t\t\teditor?.commands.insertContent(normalizeHtml(html)),\n\t\t\t\tundo: () => editor?.chain().focus().undo().run(),\n\t\t\t\tredo: () => editor?.chain().focus().redo().run(),\n\t\t\t\tcanUndo: () => editor?.can().undo() ?? false,\n\t\t\t\tcanRedo: () => editor?.can().redo() ?? false,\n\t\t\t\ttoggleSuperscript: () =>\n\t\t\t\t\teditor?.chain().focus().toggleSuperscript().run(),\n\t\t\t\ttoggleSubscript: () => editor?.chain().focus().toggleSubscript().run(),\n\t\t\t\tinsertImage: (src) => editor?.chain().focus().setImage({ src }).run(),\n\t\t\t},\n\t\t}),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[editor],\n\t);\n\n\tif (!editor) return null;\n\n\treturn (\n\t\t<BikEditorShell\n\t\t\tminHeight={minHeight}\n\t\t\tmaxHeight={maxHeight}\n\t\t\ttightParagraphs={!features?.richPaste}\n\t\t\tstyle={style}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t<EditorContent editor={editor} />\n\t\t\t<LinkBubbleMenu editor={editor} renderLinkTooltip={link?.renderTooltip} />\n\t\t</BikEditorShell>\n\t);\n};\n\nexport const BikEditor = forwardRef<BikEditorRef, BikEditorProps>(\n\tBikEditorInner,\n);\nBikEditor.displayName = 'BikEditor';\n"],"names":["cssToString","style","k","v","c","BikEditorInner","props","ref","initialContent","sections","features","disabled","maxCharacters","shortcuts","sendShortcut","mentions","slashCommands","link","onPaste","onReady","onChange","onSend","onFocus","onBlur","onSelectionChange","minHeight","maxHeight","className","editorClassName","editorStyle","initialEditorContent","buildSectionedContent","normalizeHtml","s","pendingQueue","useRef","hasCalledOnReady","onReadyRef","onChangeRef","onSelectionChangeRef","prevFormatsRef","DEFAULT_FORMAT_STATE","onFocusRef","onBlurRef","onSendRef","agentMentionsRef","teamMentionsRef","slashCommandsRef","editor","useEditor","buildExtensions","snapshot","extractContent","next","extractActiveFormats","prev","enqueue","op","useEffect","useImperativeHandle","position","e","html","normalised","insertInlineHtml","agentIds","teamIds","node","from","to","pos","state","empty","linkMarkType","range","getMarkRange","sectionId","extractSectionContent","setSectionContentInEditor","endOfBody","targetPos","extractBodyContent","body","boundaryPos","findSectionEndPos","findSectionStartPos","align","font","size","color","href","text","tr","linkNode","space","emoji","variableName","src","jsxs","BikEditorShell","jsx","EditorContent","LinkBubbleMenu","BikEditor","forwardRef"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("../constants/Theme.js"),a=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},r=a(i),o=r.default.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("styled-components"),t=require("../constants/Theme.js"),r=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},a=r(i),o=a.default.div`
2
2
  position: relative;
3
3
  width: 100%;
4
4
 
@@ -52,6 +52,19 @@
52
52
  .bik-mention--team {
53
53
  color: ${t.COLORS.content.brand};
54
54
  }
55
+ /* Typed mention chips (agent-builder): distinct colour per reference kind. */
56
+ .bik-mention[data-kind='tool'] {
57
+ color: #1570ef;
58
+ background: #eff8ff;
59
+ border-radius: 4px;
60
+ font-weight: 500;
61
+ }
62
+ .bik-mention[data-kind='subagent'] {
63
+ color: #6938ef;
64
+ background: #f4f3ff;
65
+ border-radius: 4px;
66
+ font-weight: 500;
67
+ }
55
68
  .bik-variable {
56
69
  }
57
70
 
@@ -1 +1 @@
1
- {"version":3,"file":"BikEditor.styles.js","sources":["../../../src/editor/BikEditor.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '../constants/Theme';\n\nexport const BikEditorShell = styled.div<{\n\tminHeight?: string;\n\tmaxHeight?: string;\n\ttightParagraphs?: boolean;\n}>`\n\tposition: relative;\n\twidth: 100%;\n\n\t.ProseMirror {\n\t\tmin-height: ${({ minHeight }) => minHeight ?? '80px'};\n\t\tmax-height: ${({ maxHeight }) => maxHeight ?? 'none'};\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t\tpadding: 8px 12px;\n\t\tfont-size: 14px;\n\t\tline-height: 1.5;\n\t\tword-break: break-word;\n\n\t\t/* Paragraph spacing.\n\t\t Email/signature (rich): paragraphs carry the browser-default 1em block\n\t\t margin — the SAME spacing the sent HTML gets (we emit plain <p>, which\n\t\t renders against the default <p> margin in Gmail and our email viewer),\n\t\t so editor view == emitted HTML == Gmail. A single Enter = a new\n\t\t paragraph with a visible gap, like pasted Gmail/ChatGPT/Docs content.\n\t\t Other channels (WhatsApp/IG/FB/comments) are plain-text messaging, with\n\t\t no paragraph-gap concept — paragraphs are tight (margin:0) regardless of\n\t\t typed vs pasted. (A margin:0 attr still overrides to tight either way.) */\n\t\tp {\n\t\t\tmargin: ${({ tightParagraphs }) => (tightParagraphs ? '0' : '1em 0')};\n\t\t\tpadding: 0;\n\t\t}\n\n\t\tul,\n\t\tol {\n\t\t\tmargin: 0;\n\t\t\tpadding-left: 1.5em;\n\t\t}\n\n\t\tli + li {\n\t\t\tmargin-top: 2px;\n\t\t}\n\n\t\tp.is-editor-empty:first-child::before {\n\t\t\tcontent: attr(data-placeholder);\n\t\t\tfloat: left;\n\t\t\tcolor: #adb5bd;\n\t\t\tpointer-events: none;\n\t\t\theight: 0;\n\t\t}\n\t}\n\n\t.bik-mention {\n\t\tcolor: ${COLORS.content.brand};\n\t\tpadding: 1px 4px;\n\t}\n\t.bik-mention--team {\n\t\tcolor: ${COLORS.content.brand};\n\t}\n\t.bik-variable {\n\t}\n\n\ta,\n\t.bik-link {\n\t\tcolor: #4f46e5;\n\t\ttext-decoration: underline;\n\t\ttext-decoration-color: #a5b4fc;\n\t\ttext-underline-offset: 2px;\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tcolor: #3730a3;\n\t\t\ttext-decoration-color: #6366f1;\n\t\t}\n\t}\n`;\n"],"names":["BikEditorShell","styled","minHeight","maxHeight","tightParagraphs","COLORS"],"mappings":"uNAGaA,EAAiBC,EAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,gBASrB,CAAC,CAAE,UAAAC,KAAgBA,GAAa,MAAM;AAAA,gBACtC,CAAC,CAAE,UAAAC,KAAgBA,GAAa,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAkBzC,CAAC,CAAE,gBAAAC,CAAA,IAAuBA,EAAkB,IAAM,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAwB5DC,EAAAA,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,WAIpBA,EAAAA,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"BikEditor.styles.js","sources":["../../../src/editor/BikEditor.styles.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '../constants/Theme';\n\nexport const BikEditorShell = styled.div<{\n\tminHeight?: string;\n\tmaxHeight?: string;\n\ttightParagraphs?: boolean;\n}>`\n\tposition: relative;\n\twidth: 100%;\n\n\t.ProseMirror {\n\t\tmin-height: ${({ minHeight }) => minHeight ?? '80px'};\n\t\tmax-height: ${({ maxHeight }) => maxHeight ?? 'none'};\n\t\toverflow-y: auto;\n\t\toutline: none;\n\t\tpadding: 8px 12px;\n\t\tfont-size: 14px;\n\t\tline-height: 1.5;\n\t\tword-break: break-word;\n\n\t\t/* Paragraph spacing.\n\t\t Email/signature (rich): paragraphs carry the browser-default 1em block\n\t\t margin — the SAME spacing the sent HTML gets (we emit plain <p>, which\n\t\t renders against the default <p> margin in Gmail and our email viewer),\n\t\t so editor view == emitted HTML == Gmail. A single Enter = a new\n\t\t paragraph with a visible gap, like pasted Gmail/ChatGPT/Docs content.\n\t\t Other channels (WhatsApp/IG/FB/comments) are plain-text messaging, with\n\t\t no paragraph-gap concept — paragraphs are tight (margin:0) regardless of\n\t\t typed vs pasted. (A margin:0 attr still overrides to tight either way.) */\n\t\tp {\n\t\t\tmargin: ${({ tightParagraphs }) => (tightParagraphs ? '0' : '1em 0')};\n\t\t\tpadding: 0;\n\t\t}\n\n\t\tul,\n\t\tol {\n\t\t\tmargin: 0;\n\t\t\tpadding-left: 1.5em;\n\t\t}\n\n\t\tli + li {\n\t\t\tmargin-top: 2px;\n\t\t}\n\n\t\tp.is-editor-empty:first-child::before {\n\t\t\tcontent: attr(data-placeholder);\n\t\t\tfloat: left;\n\t\t\tcolor: #adb5bd;\n\t\t\tpointer-events: none;\n\t\t\theight: 0;\n\t\t}\n\t}\n\n\t.bik-mention {\n\t\tcolor: ${COLORS.content.brand};\n\t\tpadding: 1px 4px;\n\t}\n\t.bik-mention--team {\n\t\tcolor: ${COLORS.content.brand};\n\t}\n\t/* Typed mention chips (agent-builder): distinct colour per reference kind. */\n\t.bik-mention[data-kind='tool'] {\n\t\tcolor: #1570ef;\n\t\tbackground: #eff8ff;\n\t\tborder-radius: 4px;\n\t\tfont-weight: 500;\n\t}\n\t.bik-mention[data-kind='subagent'] {\n\t\tcolor: #6938ef;\n\t\tbackground: #f4f3ff;\n\t\tborder-radius: 4px;\n\t\tfont-weight: 500;\n\t}\n\t.bik-variable {\n\t}\n\n\ta,\n\t.bik-link {\n\t\tcolor: #4f46e5;\n\t\ttext-decoration: underline;\n\t\ttext-decoration-color: #a5b4fc;\n\t\ttext-underline-offset: 2px;\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tcolor: #3730a3;\n\t\t\ttext-decoration-color: #6366f1;\n\t\t}\n\t}\n`;\n"],"names":["BikEditorShell","styled","minHeight","maxHeight","tightParagraphs","COLORS"],"mappings":"uNAGaA,EAAiBC,EAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,gBASrB,CAAC,CAAE,UAAAC,KAAgBA,GAAa,MAAM;AAAA,gBACtC,CAAC,CAAE,UAAAC,KAAgBA,GAAa,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAkBzC,CAAC,CAAE,gBAAAC,CAAA,IAAuBA,EAAkB,IAAM,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAwB5DC,EAAAA,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,WAIpBA,EAAAA,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}