@bikdotai/bik-component-library 0.0.821-beta.4 → 0.0.821-beta.6

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 (498) hide show
  1. package/dist/cjs/assets/icons/ManifestGlass.svg.js +2 -0
  2. package/dist/cjs/assets/icons/ManifestGlass.svg.js.map +1 -0
  3. package/dist/cjs/assets/icons/playOutline.svg.js +2 -0
  4. package/dist/cjs/assets/icons/playOutline.svg.js.map +1 -0
  5. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js +1 -1
  6. package/dist/cjs/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  7. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js +1 -1
  8. package/dist/cjs/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  9. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  10. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  11. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  12. package/dist/cjs/components/TypographyStyle.js +20 -41
  13. package/dist/cjs/components/TypographyStyle.js.map +1 -1
  14. package/dist/cjs/components/agent-builder/AgentBuilder.js +2 -0
  15. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -0
  16. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +367 -0
  17. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  18. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +2 -0
  19. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  20. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +2 -0
  21. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  22. package/dist/cjs/components/agent-builder/components/AiTextArea.js +2 -0
  23. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -0
  24. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +2 -0
  25. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  26. package/dist/cjs/components/agent-builder/components/DiscardModal.js +2 -0
  27. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -0
  28. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +2 -0
  29. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -0
  30. package/dist/cjs/components/agent-builder/components/MentionEditor.js +2 -0
  31. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -0
  32. package/dist/cjs/components/agent-builder/components/MentionField.js +2 -0
  33. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -0
  34. package/dist/cjs/components/agent-builder/components/MentionPicker.js +47 -0
  35. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -0
  36. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -0
  37. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -0
  38. package/dist/cjs/components/agent-builder/components/StepRail.js +2 -0
  39. package/dist/cjs/components/agent-builder/components/StepRail.js.map +1 -0
  40. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +2 -0
  41. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  42. package/dist/cjs/components/agent-builder/components/UndoToast.js +2 -0
  43. package/dist/cjs/components/agent-builder/components/UndoToast.js.map +1 -0
  44. package/dist/cjs/components/agent-builder/constants/charLimits.js +2 -0
  45. package/dist/cjs/components/agent-builder/constants/charLimits.js.map +1 -0
  46. package/dist/cjs/components/agent-builder/constants/editorStyle.js +2 -0
  47. package/dist/cjs/components/agent-builder/constants/editorStyle.js.map +1 -0
  48. package/dist/cjs/components/agent-builder/constants/steps.js +2 -0
  49. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -0
  50. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +2 -0
  51. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  52. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js +2 -0
  53. package/dist/cjs/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  54. package/dist/cjs/components/agent-builder/steps/Step1About.js +2 -0
  55. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -0
  56. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -0
  57. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  58. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +2 -0
  59. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  60. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +2 -0
  61. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  62. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -0
  63. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  64. package/dist/cjs/components/agent-listing/AgentListing.js +2 -0
  65. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -0
  66. package/dist/cjs/components/agent-listing/AgentListing.styled.js +115 -0
  67. package/dist/cjs/components/agent-listing/AgentListing.styled.js.map +1 -0
  68. package/dist/cjs/components/agent-listing/AgentListingFilters.js +2 -0
  69. package/dist/cjs/components/agent-listing/AgentListingFilters.js.map +1 -0
  70. package/dist/cjs/components/agent-listing/AgentListingHeader.js +2 -0
  71. package/dist/cjs/components/agent-listing/AgentListingHeader.js.map +1 -0
  72. package/dist/cjs/components/agent-listing/AgentTable.js +2 -0
  73. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -0
  74. package/dist/cjs/components/agent-listing/AgentTableRow.js +2 -0
  75. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -0
  76. package/dist/cjs/components/avatar/Avatar.js +1 -1
  77. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  78. package/dist/cjs/components/avatar/Avatar.styled.js +4 -4
  79. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  80. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  81. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  82. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  83. package/dist/cjs/components/bik-layout/CommonStyles.js +1 -1
  84. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  85. package/dist/cjs/components/button/Button.js +1 -1
  86. package/dist/cjs/components/button/Button.js.map +1 -1
  87. package/dist/cjs/components/button/Button.styled.js +13 -13
  88. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  89. package/dist/cjs/components/button/themes.js +6 -6
  90. package/dist/cjs/components/button/themes.js.map +1 -1
  91. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  92. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  93. package/dist/cjs/components/checkBox/CheckBox.styled.js +20 -21
  94. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  95. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  96. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  97. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  98. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  99. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  100. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  101. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  102. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  103. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +8 -9
  104. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  105. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  106. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  107. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +1 -1
  108. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  109. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +9 -9
  110. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  111. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  112. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  113. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  114. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  115. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +1 -1
  116. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  117. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  118. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  119. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  120. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  121. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  122. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  123. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -20
  124. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  125. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  126. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  127. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  128. package/dist/cjs/components/icon-button/IconButton.styled.js +12 -18
  129. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  130. package/dist/cjs/components/icon-button/theme.js +1 -1
  131. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  132. package/dist/cjs/components/input/Input.js +1 -1
  133. package/dist/cjs/components/input/Input.js.map +1 -1
  134. package/dist/cjs/components/input/Input.styled.js +16 -27
  135. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  136. package/dist/cjs/components/input-with-vars/InputWithVariables.js +3 -3
  137. package/dist/cjs/components/input-with-vars/InputWithVariables.js.map +1 -1
  138. package/dist/cjs/components/list-item/ListItem.js +1 -1
  139. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  140. package/dist/cjs/components/list-item/ListItem.styled.js +6 -6
  141. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  142. package/dist/cjs/components/list-item/themes.js +20 -32
  143. package/dist/cjs/components/list-item/themes.js.map +1 -1
  144. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  145. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  146. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  147. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  148. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  149. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  150. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  151. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  152. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  153. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  154. package/dist/cjs/components/tag/Tag.js +1 -1
  155. package/dist/cjs/components/tag/Tag.js.map +1 -1
  156. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  157. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  158. package/dist/cjs/components/tag/model.js.map +1 -1
  159. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  160. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  161. package/dist/cjs/components/variable-picker-v3/model.js.map +1 -1
  162. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  163. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  164. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  165. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  166. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  167. package/dist/cjs/constants/Theme.js +1 -1
  168. package/dist/cjs/constants/Theme.js.map +1 -1
  169. package/dist/cjs/editor/BikEditor.js +1 -1
  170. package/dist/cjs/editor/BikEditor.js.map +1 -1
  171. package/dist/cjs/editor/BikEditor.styles.js +14 -1
  172. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  173. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  174. package/dist/cjs/editor/BikEditor.utils.js +2 -2
  175. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  176. package/dist/cjs/editor/extensions/buildExtensions.js +1 -1
  177. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  178. package/dist/cjs/editor/extensions/editorDropdown.styles.js +15 -10
  179. package/dist/cjs/editor/extensions/editorDropdown.styles.js.map +1 -1
  180. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  181. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  182. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  183. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  184. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  185. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  186. package/dist/cjs/index.js +1 -1
  187. package/dist/esm/assets/icons/ManifestGlass.svg.js +6 -0
  188. package/dist/esm/assets/icons/ManifestGlass.svg.js.map +1 -0
  189. package/dist/esm/assets/icons/playOutline.svg.js +6 -0
  190. package/dist/esm/assets/icons/playOutline.svg.js.map +1 -0
  191. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js +59 -61
  192. package/dist/esm/components/BikGiftedChat/Bubble/Bubble.js.map +1 -1
  193. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.d.ts +0 -6
  194. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js +88 -124
  195. package/dist/esm/components/BikGiftedChat/GiftedChat/Day.js.map +1 -1
  196. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +128 -225
  197. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  198. package/dist/esm/components/BikGiftedChat/GiftedChat/types.d.ts +2 -6
  199. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  200. package/dist/esm/components/TypographyStyle.d.ts +0 -8
  201. package/dist/esm/components/TypographyStyle.js +40 -63
  202. package/dist/esm/components/TypographyStyle.js.map +1 -1
  203. package/dist/esm/components/agent-builder/AgentBuilder.d.ts +18 -0
  204. package/dist/esm/components/agent-builder/AgentBuilder.js +203 -0
  205. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -0
  206. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +107 -0
  207. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +149 -0
  208. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +463 -0
  209. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -0
  210. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.d.ts +10 -0
  211. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +70 -0
  212. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -0
  213. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.d.ts +12 -0
  214. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +73 -0
  215. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -0
  216. package/dist/esm/components/agent-builder/components/AiTextArea.d.ts +14 -0
  217. package/dist/esm/components/agent-builder/components/AiTextArea.js +44 -0
  218. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -0
  219. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +25 -0
  220. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +207 -0
  221. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -0
  222. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +18 -0
  223. package/dist/esm/components/agent-builder/components/DiscardModal.js +54 -0
  224. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -0
  225. package/dist/esm/components/agent-builder/components/GoLiveModal.d.ts +18 -0
  226. package/dist/esm/components/agent-builder/components/GoLiveModal.js +73 -0
  227. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -0
  228. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +33 -0
  229. package/dist/esm/components/agent-builder/components/MentionEditor.js +99 -0
  230. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -0
  231. package/dist/esm/components/agent-builder/components/MentionField.d.ts +19 -0
  232. package/dist/esm/components/agent-builder/components/MentionField.js +61 -0
  233. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -0
  234. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +12 -0
  235. package/dist/esm/components/agent-builder/components/MentionPicker.js +167 -0
  236. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -0
  237. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +36 -0
  238. package/dist/esm/components/agent-builder/components/SelectableListSection.js +138 -0
  239. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -0
  240. package/dist/esm/components/agent-builder/components/StepRail.d.ts +2 -0
  241. package/dist/esm/components/agent-builder/components/StepRail.js +35 -0
  242. package/dist/esm/components/agent-builder/components/StepRail.js.map +1 -0
  243. package/dist/esm/components/agent-builder/components/StepSectionHeader.d.ts +7 -0
  244. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +15 -0
  245. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -0
  246. package/dist/esm/components/agent-builder/components/UndoToast.d.ts +7 -0
  247. package/dist/esm/components/agent-builder/components/UndoToast.js +27 -0
  248. package/dist/esm/components/agent-builder/components/UndoToast.js.map +1 -0
  249. package/dist/esm/components/agent-builder/constants/charLimits.d.ts +21 -0
  250. package/dist/esm/components/agent-builder/constants/charLimits.js +18 -0
  251. package/dist/esm/components/agent-builder/constants/charLimits.js.map +1 -0
  252. package/dist/esm/components/agent-builder/constants/editorStyle.d.ts +8 -0
  253. package/dist/esm/components/agent-builder/constants/editorStyle.js +10 -0
  254. package/dist/esm/components/agent-builder/constants/editorStyle.js.map +1 -0
  255. package/dist/esm/components/agent-builder/constants/steps.d.ts +13 -0
  256. package/dist/esm/components/agent-builder/constants/steps.js +32 -0
  257. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -0
  258. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +91 -0
  259. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +166 -0
  260. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -0
  261. package/dist/esm/components/agent-builder/hooks/useAgentDraft.d.ts +24 -0
  262. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js +27 -0
  263. package/dist/esm/components/agent-builder/hooks/useAgentDraft.js.map +1 -0
  264. package/dist/esm/components/agent-builder/index.d.ts +7 -0
  265. package/dist/esm/components/agent-builder/steps/Step1About.d.ts +2 -0
  266. package/dist/esm/components/agent-builder/steps/Step1About.js +43 -0
  267. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -0
  268. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.d.ts +2 -0
  269. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +148 -0
  270. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -0
  271. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.d.ts +2 -0
  272. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +193 -0
  273. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -0
  274. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +2 -0
  275. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +83 -0
  276. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -0
  277. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +61 -0
  278. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +96 -0
  279. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -0
  280. package/dist/esm/components/agent-listing/AgentListing.d.ts +18 -0
  281. package/dist/esm/components/agent-listing/AgentListing.js +141 -0
  282. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -0
  283. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +69 -0
  284. package/dist/esm/components/agent-listing/AgentListing.styled.d.ts +56 -0
  285. package/dist/esm/components/agent-listing/AgentListing.styled.js +145 -0
  286. package/dist/esm/components/agent-listing/AgentListing.styled.js.map +1 -0
  287. package/dist/esm/components/agent-listing/AgentListingFilters.d.ts +16 -0
  288. package/dist/esm/components/agent-listing/AgentListingFilters.js +81 -0
  289. package/dist/esm/components/agent-listing/AgentListingFilters.js.map +1 -0
  290. package/dist/esm/components/agent-listing/AgentListingHeader.d.ts +8 -0
  291. package/dist/esm/components/agent-listing/AgentListingHeader.js +40 -0
  292. package/dist/esm/components/agent-listing/AgentListingHeader.js.map +1 -0
  293. package/dist/esm/components/agent-listing/AgentTable.d.ts +10 -0
  294. package/dist/esm/components/agent-listing/AgentTable.js +33 -0
  295. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -0
  296. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +10 -0
  297. package/dist/esm/components/agent-listing/AgentTableRow.js +88 -0
  298. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -0
  299. package/dist/esm/components/agent-listing/index.d.ts +2 -0
  300. package/dist/esm/components/avatar/Avatar.d.ts +1 -2
  301. package/dist/esm/components/avatar/Avatar.js +73 -51
  302. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  303. package/dist/esm/components/avatar/Avatar.styled.js +8 -8
  304. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  305. package/dist/esm/components/avatar/AvatarHelper.d.ts +4 -5
  306. package/dist/esm/components/avatar/AvatarHelper.js +4 -4
  307. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  308. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  309. package/dist/esm/components/bik-layout/CommonStyles.js +1 -1
  310. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  311. package/dist/esm/components/bik-layout/index.d.ts +0 -2
  312. package/dist/esm/components/button/Button.js +31 -31
  313. package/dist/esm/components/button/Button.js.map +1 -1
  314. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  315. package/dist/esm/components/button/Button.styled.js +20 -20
  316. package/dist/esm/components/button/Button.styled.js.map +1 -1
  317. package/dist/esm/components/button/model.d.ts +3 -3
  318. package/dist/esm/components/button/themes.d.ts +2 -2
  319. package/dist/esm/components/button/themes.js +17 -31
  320. package/dist/esm/components/button/themes.js.map +1 -1
  321. package/dist/esm/components/checkBox/CheckBox.d.ts +1 -2
  322. package/dist/esm/components/checkBox/CheckBox.js +87 -124
  323. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  324. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +1 -1
  325. package/dist/esm/components/checkBox/CheckBox.styled.js +9 -10
  326. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  327. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  328. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  329. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  330. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  331. package/dist/esm/components/dropdown/Dropdown.js +67 -67
  332. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  333. package/dist/esm/components/dropdown/DropdownPopover/index.js +61 -74
  334. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  335. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +174 -183
  336. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  337. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  338. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +4 -5
  339. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  340. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  341. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  342. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  343. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  344. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -3
  345. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js +20 -29
  346. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  347. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -3
  348. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +87 -93
  349. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  350. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -3
  351. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +61 -68
  352. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  353. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  354. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -7
  355. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  356. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -3
  357. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js +10 -18
  358. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  359. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  360. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +18 -18
  361. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  362. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  363. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +17 -43
  364. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  365. package/dist/esm/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  366. package/dist/esm/components/dropdown/hooks/useDropdown.d.ts +0 -2
  367. package/dist/esm/components/dropdown/type.d.ts +1 -6
  368. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +1 -3
  369. package/dist/esm/components/dropdown-button/DropdownButton.js +17 -71
  370. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  371. package/dist/esm/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  372. package/dist/esm/components/dropdown-button/DropdownButton.style.js +9 -35
  373. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  374. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  375. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  376. package/dist/esm/components/icon-button/IconButton.js +32 -36
  377. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  378. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -3
  379. package/dist/esm/components/icon-button/IconButton.styled.js +14 -20
  380. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  381. package/dist/esm/components/icon-button/model.d.ts +1 -12
  382. package/dist/esm/components/icon-button/theme.js +10 -12
  383. package/dist/esm/components/icon-button/theme.js.map +1 -1
  384. package/dist/esm/components/input/Input.js +115 -119
  385. package/dist/esm/components/input/Input.js.map +1 -1
  386. package/dist/esm/components/input/Input.model.d.ts +3 -2
  387. package/dist/esm/components/input/Input.styled.d.ts +1 -8
  388. package/dist/esm/components/input/Input.styled.js +22 -34
  389. package/dist/esm/components/input/Input.styled.js.map +1 -1
  390. package/dist/esm/components/input-with-vars/InputWithVariables.d.ts +2 -0
  391. package/dist/esm/components/input-with-vars/InputWithVariables.js +81 -75
  392. package/dist/esm/components/input-with-vars/InputWithVariables.js.map +1 -1
  393. package/dist/esm/components/list-item/List.model.d.ts +1 -2
  394. package/dist/esm/components/list-item/ListItem.js +38 -40
  395. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  396. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -2
  397. package/dist/esm/components/list-item/ListItem.styled.js +8 -8
  398. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  399. package/dist/esm/components/list-item/themes.d.ts +2 -2
  400. package/dist/esm/components/list-item/themes.js +6 -20
  401. package/dist/esm/components/list-item/themes.js.map +1 -1
  402. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  403. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +28 -30
  404. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  405. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  406. package/dist/esm/components/multi-level-dropdown/MenuItem.js +54 -57
  407. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  408. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +0 -1
  409. package/dist/esm/components/multi-level-dropdown/MenuList.js +42 -46
  410. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  411. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +59 -95
  412. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  413. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  414. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +41 -50
  415. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  416. package/dist/esm/components/multi-level-dropdown/type.d.ts +0 -1
  417. package/dist/esm/components/tag/Tag.d.ts +1 -1
  418. package/dist/esm/components/tag/Tag.js +18 -22
  419. package/dist/esm/components/tag/Tag.js.map +1 -1
  420. package/dist/esm/components/tag/Tag.styled.d.ts +1 -3
  421. package/dist/esm/components/tag/Tag.styled.js +7 -7
  422. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  423. package/dist/esm/components/tag/model.d.ts +1 -5
  424. package/dist/esm/components/tag/model.js.map +1 -1
  425. package/dist/esm/components/variable-picker-v3/Content.js +69 -69
  426. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  427. package/dist/esm/components/variable-picker-v3/model.d.ts +2 -0
  428. package/dist/esm/components/variable-picker-v3/model.js.map +1 -1
  429. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -2
  430. package/dist/esm/components/whats-new/WhatsNew.js +19 -23
  431. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  432. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -2
  433. package/dist/esm/components/whats-new/WhatsNewButton.js +38 -34
  434. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  435. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  436. package/dist/esm/constants/Theme.d.ts +0 -36
  437. package/dist/esm/constants/Theme.js +1 -21
  438. package/dist/esm/constants/Theme.js.map +1 -1
  439. package/dist/esm/editor/BikEditor.js +19 -18
  440. package/dist/esm/editor/BikEditor.js.map +1 -1
  441. package/dist/esm/editor/BikEditor.styles.js +13 -0
  442. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  443. package/dist/esm/editor/BikEditor.types.d.ts +14 -0
  444. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  445. package/dist/esm/editor/BikEditor.utils.js +76 -75
  446. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  447. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  448. package/dist/esm/editor/extensions/buildExtensions.js +31 -29
  449. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  450. package/dist/esm/editor/extensions/editorDropdown.styles.d.ts +2 -8
  451. package/dist/esm/editor/extensions/editorDropdown.styles.js +22 -18
  452. package/dist/esm/editor/extensions/editorDropdown.styles.js.map +1 -1
  453. package/dist/esm/editor/extensions/mention/MentionDropdown.js +34 -28
  454. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  455. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +2 -2
  456. package/dist/esm/editor/extensions/mention/MentionExtension.js +81 -60
  457. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  458. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  459. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +28 -24
  460. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  461. package/dist/esm/icons/index.d.ts +24 -24
  462. package/dist/esm/index.d.ts +2 -1
  463. package/dist/esm/index.js +806 -798
  464. package/dist/esm/index.js.map +1 -1
  465. package/package.json +3 -2
  466. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  467. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  468. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  469. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  470. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  471. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  472. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  473. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  474. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  475. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  476. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -33
  477. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  478. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  479. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -272
  480. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  481. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  482. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -12
  483. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -53
  484. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  485. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  486. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -310
  487. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  488. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -2
  489. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -107
  490. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  491. package/dist/esm/components/dual-icon-button/DualIconButton.d.ts +0 -3
  492. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -53
  493. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  494. package/dist/esm/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  495. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -40
  496. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  497. package/dist/esm/components/dual-icon-button/index.d.ts +0 -2
  498. package/dist/esm/components/dual-icon-button/model.d.ts +0 -12
@@ -0,0 +1,99 @@
1
+ import { jsxs as i, jsx as d } from "react/jsx-runtime";
2
+ import { useRef as A, useState as B, useCallback as L, useEffect as p, useMemo as j } from "react";
3
+ import { TitleSmall as w, BodyCaption as F } from "../../TypographyStyle.js";
4
+ import { COLORS as h } from "../../../constants/Theme.js";
5
+ import { FieldBlock as N, FieldLabelRow as _, AiTextAreaShell as G } from "../AgentBuilder.styled.js";
6
+ import { AGENT_EDITOR_STYLE as J } from "../constants/editorStyle.js";
7
+ import { buildMentionHtml as P, instructionsToEditorHtml as Y, editorDocToInstructions as $ } from "../utils/mentionSerialization.js";
8
+ import { MentionPicker as q } from "./MentionPicker.js";
9
+ import { BikEditor as z } from "../../../editor/BikEditor.js";
10
+ const tt = ({
11
+ label: S,
12
+ value: e,
13
+ onChange: g,
14
+ maxLength: a,
15
+ placeholder: C,
16
+ minHeight: x = "200px",
17
+ resetKey: l,
18
+ mentionItems: n,
19
+ tools: T,
20
+ onMentionSelect: b,
21
+ onFocus: E,
22
+ registerInsert: r,
23
+ action: k,
24
+ ...H
25
+ }) => {
26
+ const c = A(null), [O, s] = B(e.length), m = L(
27
+ (t, o, D) => {
28
+ const f = c.current;
29
+ if (!f)
30
+ return;
31
+ const M = n.find(
32
+ (u) => String(u.id) === String(o) && u.meta?.kind === t
33
+ ), y = D ?? M?.label ?? o;
34
+ f.insertInlineContent(
35
+ `${P(String(o), y, t)} `
36
+ );
37
+ },
38
+ [n]
39
+ );
40
+ p(() => {
41
+ if (r)
42
+ return r(m), () => r(null);
43
+ }, [r, m]);
44
+ const R = j(
45
+ () => Y(e, n),
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ [l]
48
+ );
49
+ return p(
50
+ () => s(e.length),
51
+ // eslint-disable-next-line react-hooks/exhaustive-deps
52
+ [l]
53
+ ), /* @__PURE__ */ i(N, { children: [
54
+ /* @__PURE__ */ i(_, { children: [
55
+ /* @__PURE__ */ d(w, { color: h.content.primary, children: S }),
56
+ /* @__PURE__ */ i(F, { color: h.content.secondary, children: [
57
+ O,
58
+ "/",
59
+ a
60
+ ] })
61
+ ] }),
62
+ /* @__PURE__ */ i(G, { minHeight: x, "data-test": H["data-test"], children: [
63
+ /* @__PURE__ */ d(
64
+ z,
65
+ {
66
+ ref: c,
67
+ initialContent: R,
68
+ placeholder: C,
69
+ maxCharacters: a,
70
+ minHeight: "120px",
71
+ maxHeight: "320px",
72
+ style: { border: "none" },
73
+ editorStyle: J,
74
+ onFocus: E,
75
+ mentions: {
76
+ agents: n,
77
+ removeTriggerOnDismiss: !0,
78
+ renderDropdown: (t) => /* @__PURE__ */ d(q, { ...t }),
79
+ onSelect: (t) => {
80
+ const o = t.meta?.kind;
81
+ o && b?.(o, String(t.id));
82
+ }
83
+ },
84
+ onChange: (t) => {
85
+ s(t.characterCount);
86
+ const o = c.current?.getJSON() ?? null;
87
+ g($(o, T));
88
+ }
89
+ },
90
+ l
91
+ ),
92
+ k
93
+ ] })
94
+ ] });
95
+ };
96
+ export {
97
+ tt as MentionEditor
98
+ };
99
+ //# sourceMappingURL=MentionEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionEditor.js","sources":["../../../../../src/components/agent-builder/components/MentionEditor.tsx"],"sourcesContent":["import { BikEditor, BikEditorRef, MentionItem } from '@src/editor';\nimport React, {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { BodyCaption, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentTool } from '../AgentBuilder.model';\nimport {\n\tAiTextAreaShell,\n\tFieldBlock,\n\tFieldLabelRow,\n} from '../AgentBuilder.styled';\nimport { AGENT_EDITOR_STYLE } from '../constants/editorStyle';\nimport {\n\tbuildMentionHtml,\n\teditorDocToInstructions,\n\tinstructionsToEditorHtml,\n\tMentionKindMeta,\n} from '../utils/mentionSerialization';\nimport { MentionPicker } from './MentionPicker';\n\ntype InsertFn = (kind: 'tool' | 'subagent', id: string, label?: string) => void;\n\ninterface MentionEditorProps {\n\tlabel: string;\n\tvalue: string;\n\tonChange: (text: string) => void;\n\tmaxLength: number;\n\tplaceholder?: string;\n\tminHeight?: string;\n\t/** Changing this remounts the editor with fresh content. */\n\tresetKey?: string | number;\n\t/** Items shown in the `@` picker (tools, and sub-agents where allowed). */\n\tmentionItems: MentionItem[];\n\t/** Tools used to serialise mention nodes back to `{{tool:KEY}}`. */\n\ttools: AgentTool[];\n\t/** Called when an item is picked from the `@` menu (to attach it upstream). */\n\tonMentionSelect?: (kind: 'tool' | 'subagent', id: string) => void;\n\tonFocus?: () => void;\n\t/** Receives an insert-at-cursor fn (and null on unmount) for side-panel adds. */\n\tregisterInsert?: (fn: InsertFn | null) => void;\n\t/** Optional action(s) rendered inside the shell, below the editor. */\n\taction?: React.ReactNode;\n\t'data-test'?: string;\n}\n\n/**\n * Presentational BikEditor field with `@` mentions. Stores firebase token text\n * (`{{tool:KEY}}` / `{{subagent:ID}}`). Context-free — both the builder's\n * Step-3 fields and the create-sub-agent drawer compose it.\n */\nexport const MentionEditor: React.FC<MentionEditorProps> = ({\n\tlabel,\n\tvalue,\n\tonChange,\n\tmaxLength,\n\tplaceholder,\n\tminHeight = '200px',\n\tresetKey,\n\tmentionItems,\n\ttools,\n\tonMentionSelect,\n\tonFocus,\n\tregisterInsert,\n\taction,\n\t...rest\n}) => {\n\tconst editorRef = useRef<BikEditorRef>(null);\n\tconst [count, setCount] = useState(value.length);\n\n\tconst insert = useCallback<InsertFn>(\n\t\t(kind, id, overrideLabel) => {\n\t\t\tconst editor = editorRef.current;\n\t\t\tif (!editor) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst item = mentionItems.find(\n\t\t\t\t(m) =>\n\t\t\t\t\tString(m.id) === String(id) &&\n\t\t\t\t\t(m.meta as unknown as MentionKindMeta | undefined)?.kind === kind,\n\t\t\t);\n\t\t\tconst finalLabel = overrideLabel ?? item?.label ?? id;\n\t\t\teditor.insertInlineContent(\n\t\t\t\t`${buildMentionHtml(String(id), finalLabel, kind)}&nbsp;`,\n\t\t\t);\n\t\t},\n\t\t[mentionItems],\n\t);\n\n\tuseEffect(() => {\n\t\tif (!registerInsert) {\n\t\t\treturn;\n\t\t}\n\t\tregisterInsert(insert);\n\t\treturn () => registerInsert(null);\n\t}, [registerInsert, insert]);\n\n\t// Mount-only initial HTML; recomputed (editor remounted via key) on resetKey.\n\tconst initialHtml = useMemo(\n\t\t() => instructionsToEditorHtml(value, mentionItems),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[resetKey],\n\t);\n\n\tuseEffect(\n\t\t() => setCount(value.length),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[resetKey],\n\t);\n\n\treturn (\n\t\t<FieldBlock>\n\t\t\t<FieldLabelRow>\n\t\t\t\t<TitleSmall color={COLORS.content.primary}>{label}</TitleSmall>\n\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t{count}/{maxLength}\n\t\t\t\t</BodyCaption>\n\t\t\t</FieldLabelRow>\n\n\t\t\t<AiTextAreaShell minHeight={minHeight} data-test={rest['data-test']}>\n\t\t\t\t<BikEditor\n\t\t\t\t\tkey={resetKey}\n\t\t\t\t\tref={editorRef}\n\t\t\t\t\tinitialContent={initialHtml}\n\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\tmaxCharacters={maxLength}\n\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t\tmaxHeight=\"320px\"\n\t\t\t\t\tstyle={{ border: 'none' }}\n\t\t\t\t\teditorStyle={AGENT_EDITOR_STYLE}\n\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\tmentions={{\n\t\t\t\t\t\tagents: mentionItems,\n\t\t\t\t\t\tremoveTriggerOnDismiss: true,\n\t\t\t\t\t\trenderDropdown: (props) => <MentionPicker {...props} />,\n\t\t\t\t\t\tonSelect: (item) => {\n\t\t\t\t\t\t\tconst kind = (item.meta as unknown as MentionKindMeta | undefined)\n\t\t\t\t\t\t\t\t?.kind;\n\t\t\t\t\t\t\tif (kind) {\n\t\t\t\t\t\t\t\tonMentionSelect?.(kind, String(item.id));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\tonChange={(snapshot) => {\n\t\t\t\t\t\tsetCount(snapshot.characterCount);\n\t\t\t\t\t\tconst doc = editorRef.current?.getJSON() ?? null;\n\t\t\t\t\t\tonChange(editorDocToInstructions(doc, tools));\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{action}\n\t\t\t</AiTextAreaShell>\n\t\t</FieldBlock>\n\t);\n};\n"],"names":["MentionEditor","label","value","onChange","maxLength","placeholder","minHeight","resetKey","mentionItems","tools","onMentionSelect","onFocus","registerInsert","action","rest","editorRef","useRef","count","setCount","useState","insert","useCallback","kind","id","overrideLabel","editor","item","m","finalLabel","buildMentionHtml","useEffect","initialHtml","useMemo","instructionsToEditorHtml","FieldBlock","jsxs","FieldLabelRow","jsx","TitleSmall","COLORS","BodyCaption","AiTextAreaShell","BikEditor","AGENT_EDITOR_STYLE","props","MentionPicker","snapshot","doc","editorDocToInstructions"],"mappings":";;;;;;;;;AAuDO,MAAMA,KAA8C,CAAC;AAAA,EAC3D,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AACL,QAAMC,IAAYC,EAAqB,IAAI,GACrC,CAACC,GAAOC,CAAQ,IAAIC,EAASjB,EAAM,MAAM,GAEzCkB,IAASC;AAAA,IACd,CAACC,GAAMC,GAAIC,MAAkB;AAC5B,YAAMC,IAASV,EAAU;AACzB,UAAI,CAACU;AACJ;AAED,YAAMC,IAAOlB,EAAa;AAAA,QACzB,CAACmB,MACA,OAAOA,EAAE,EAAE,MAAM,OAAOJ,CAAE,KACzBI,EAAE,MAAiD,SAASL;AAAA,MAAA,GAEzDM,IAAaJ,KAAiBE,GAAM,SAASH;AACnD,MAAAE,EAAO;AAAA,QACN,GAAGI,EAAiB,OAAON,CAAE,GAAGK,GAAYN,CAAI,CAAC;AAAA,MAAA;AAAA,IAEnD;AAAA,IACA,CAACd,CAAY;AAAA,EAAA;AAGd,EAAAsB,EAAU,MAAM;AACf,QAAKlB;AAGL,aAAAA,EAAeQ,CAAM,GACd,MAAMR,EAAe,IAAI;AAAA,EACjC,GAAG,CAACA,GAAgBQ,CAAM,CAAC;AAG3B,QAAMW,IAAcC;AAAA,IACnB,MAAMC,EAAyB/B,GAAOM,CAAY;AAAA;AAAA,IAElD,CAACD,CAAQ;AAAA,EAAA;AAGV,SAAAuB;AAAA,IACC,MAAMZ,EAAShB,EAAM,MAAM;AAAA;AAAA,IAE3B,CAACK,CAAQ;AAAA,EAAA,qBAIR2B,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAU,UAAAtC,GAAM;AAAA,MAClD,gBAAAkC,EAACK,GAAA,EAAY,OAAOD,EAAO,QAAQ,WACjC,UAAA;AAAA,QAAAtB;AAAA,QAAM;AAAA,QAAEb;AAAA,MAAA,EAAA,CACV;AAAA,IAAA,GACD;AAAA,sBAECqC,GAAA,EAAgB,WAAAnC,GAAsB,aAAWQ,EAAK,WAAW,GACjE,UAAA;AAAA,MAAA,gBAAAuB;AAAA,QAACK;AAAA,QAAA;AAAA,UAEA,KAAK3B;AAAA,UACL,gBAAgBgB;AAAA,UAChB,aAAA1B;AAAA,UACA,eAAeD;AAAA,UACf,WAAU;AAAA,UACV,WAAU;AAAA,UACV,OAAO,EAAE,QAAQ,OAAA;AAAA,UACjB,aAAauC;AAAA,UACb,SAAAhC;AAAA,UACA,UAAU;AAAA,YACT,QAAQH;AAAA,YACR,wBAAwB;AAAA,YACxB,gBAAgB,CAACoC,MAAU,gBAAAP,EAACQ,GAAA,EAAe,GAAGD,GAAO;AAAA,YACrD,UAAU,CAAClB,MAAS;AACnB,oBAAMJ,IAAQI,EAAK,MAChB;AACH,cAAIJ,KACHZ,IAAkBY,GAAM,OAAOI,EAAK,EAAE,CAAC;AAAA,YAEzC;AAAA,UAAA;AAAA,UAED,UAAU,CAACoB,MAAa;AACvB,YAAA5B,EAAS4B,EAAS,cAAc;AAChC,kBAAMC,IAAMhC,EAAU,SAAS,QAAA,KAAa;AAC5C,YAAAZ,EAAS6C,EAAwBD,GAAKtC,CAAK,CAAC;AAAA,UAC7C;AAAA,QAAA;AAAA,QA1BKF;AAAA,MAAA;AAAA,MA4BLM;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACD;AAEF;"}
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ import { MentionFieldKey } from '../context/AgentBuilderContext';
3
+ interface MentionFieldProps {
4
+ /** Which AgentValue field this editor reads / writes. */
5
+ fieldKey: MentionFieldKey;
6
+ label: string;
7
+ placeholder?: string;
8
+ maxLength: number;
9
+ minHeight?: string;
10
+ 'data-test'?: string;
11
+ }
12
+ /**
13
+ * Context-bound {@link MentionEditor} for the builder's Step-3 Instructions /
14
+ * Guardrails. Both `@` tools and sub-agents are offered; the field registers its
15
+ * insert + focus with the context so side-panel adds drop a chip into whichever
16
+ * field was last focused, and remounts on `mentionResetKey`.
17
+ */
18
+ export declare const MentionField: React.FC<MentionFieldProps>;
19
+ export {};
@@ -0,0 +1,61 @@
1
+ import { jsx as A } from "react/jsx-runtime";
2
+ import { useMemo as C, useCallback as u } from "react";
3
+ import { useAgentBuilderContext as I } from "../context/AgentBuilderContext.js";
4
+ import { buildAgentMentionItems as T, appTypeLabel as $ } from "../utils/mentionSerialization.js";
5
+ import { MentionEditor as d } from "./MentionEditor.js";
6
+ const E = ({
7
+ fieldKey: o,
8
+ label: m,
9
+ placeholder: c,
10
+ maxLength: p,
11
+ minHeight: b,
12
+ ...g
13
+ }) => {
14
+ const {
15
+ value: t,
16
+ patch: n,
17
+ availableTools: a,
18
+ availableSubAgents: i,
19
+ applicationType: r,
20
+ mentionResetKey: M,
21
+ registerMentionField: l,
22
+ notifyMentionFocus: f
23
+ } = I(), v = C(
24
+ () => T(
25
+ a,
26
+ i,
27
+ $(r)
28
+ ),
29
+ [a, i, r]
30
+ ), F = u(
31
+ (e) => l(o, e),
32
+ [l, o]
33
+ ), x = u(
34
+ (e, s) => {
35
+ e === "tool" ? t.tools.includes(s) || n({ tools: [...t.tools, s] }) : t.subagents.includes(s) || n({ subagents: [...t.subagents, s] });
36
+ },
37
+ [n, t.tools, t.subagents]
38
+ );
39
+ return /* @__PURE__ */ A(
40
+ d,
41
+ {
42
+ label: m,
43
+ value: t[o] ?? "",
44
+ onChange: (e) => n({ [o]: e }),
45
+ maxLength: p,
46
+ placeholder: c,
47
+ minHeight: b,
48
+ resetKey: `${t.id}:${o}:${M}`,
49
+ mentionItems: v,
50
+ tools: a,
51
+ onMentionSelect: x,
52
+ onFocus: () => f(o),
53
+ registerInsert: F,
54
+ "data-test": g["data-test"]
55
+ }
56
+ );
57
+ };
58
+ export {
59
+ E as MentionField
60
+ };
61
+ //# sourceMappingURL=MentionField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionField.js","sources":["../../../../../src/components/agent-builder/components/MentionField.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { AgentValue } from '../AgentBuilder.model';\nimport {\n\tMentionFieldKey,\n\tuseAgentBuilderContext,\n} from '../context/AgentBuilderContext';\nimport {\n\tappTypeLabel,\n\tbuildAgentMentionItems,\n} from '../utils/mentionSerialization';\nimport { MentionEditor } from './MentionEditor';\n\ninterface MentionFieldProps {\n\t/** Which AgentValue field this editor reads / writes. */\n\tfieldKey: MentionFieldKey;\n\tlabel: string;\n\tplaceholder?: string;\n\tmaxLength: number;\n\tminHeight?: string;\n\t'data-test'?: string;\n}\n\n/**\n * Context-bound {@link MentionEditor} for the builder's Step-3 Instructions /\n * Guardrails. Both `@` tools and sub-agents are offered; the field registers its\n * insert + focus with the context so side-panel adds drop a chip into whichever\n * field was last focused, and remounts on `mentionResetKey`.\n */\nexport const MentionField: React.FC<MentionFieldProps> = ({\n\tfieldKey,\n\tlabel,\n\tplaceholder,\n\tmaxLength,\n\tminHeight,\n\t...rest\n}) => {\n\tconst {\n\t\tvalue,\n\t\tpatch,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tapplicationType,\n\t\tmentionResetKey,\n\t\tregisterMentionField,\n\t\tnotifyMentionFocus,\n\t} = useAgentBuilderContext();\n\n\tconst mentionItems = useMemo(\n\t\t() =>\n\t\t\tbuildAgentMentionItems(\n\t\t\t\tavailableTools,\n\t\t\t\tavailableSubAgents,\n\t\t\t\tappTypeLabel(applicationType),\n\t\t\t),\n\t\t[availableTools, availableSubAgents, applicationType],\n\t);\n\n\tconst registerInsert = useCallback(\n\t\t(fn: Parameters<typeof registerMentionField>[1]) =>\n\t\t\tregisterMentionField(fieldKey, fn),\n\t\t[registerMentionField, fieldKey],\n\t);\n\n\tconst onMentionSelect = useCallback(\n\t\t(kind: 'tool' | 'subagent', id: string) => {\n\t\t\tif (kind === 'tool') {\n\t\t\t\tif (!value.tools.includes(id)) {\n\t\t\t\t\tpatch({ tools: [...value.tools, id] });\n\t\t\t\t}\n\t\t\t} else if (!value.subagents.includes(id)) {\n\t\t\t\tpatch({ subagents: [...value.subagents, id] });\n\t\t\t}\n\t\t},\n\t\t[patch, value.tools, value.subagents],\n\t);\n\n\treturn (\n\t\t<MentionEditor\n\t\t\tlabel={label}\n\t\t\tvalue={(value[fieldKey] as string | undefined) ?? ''}\n\t\t\tonChange={(text) => patch({ [fieldKey]: text } as Partial<AgentValue>)}\n\t\t\tmaxLength={maxLength}\n\t\t\tplaceholder={placeholder}\n\t\t\tminHeight={minHeight}\n\t\t\tresetKey={`${value.id}:${fieldKey}:${mentionResetKey}`}\n\t\t\tmentionItems={mentionItems}\n\t\t\ttools={availableTools}\n\t\t\tonMentionSelect={onMentionSelect}\n\t\t\tonFocus={() => notifyMentionFocus(fieldKey)}\n\t\t\tregisterInsert={registerInsert}\n\t\t\tdata-test={rest['data-test']}\n\t\t/>\n\t);\n};\n"],"names":["MentionField","fieldKey","label","placeholder","maxLength","minHeight","rest","value","patch","availableTools","availableSubAgents","applicationType","mentionResetKey","registerMentionField","notifyMentionFocus","useAgentBuilderContext","mentionItems","useMemo","buildAgentMentionItems","appTypeLabel","registerInsert","useCallback","fn","onMentionSelect","kind","id","jsx","MentionEditor","text"],"mappings":";;;;;AA4BO,MAAMA,IAA4C,CAAC;AAAA,EACzD,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AACL,QAAM;AAAA,IACL,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACGC,EAAA,GAEEC,IAAeC;AAAA,IACpB,MACCC;AAAA,MACCT;AAAA,MACAC;AAAA,MACAS,EAAaR,CAAe;AAAA,IAAA;AAAA,IAE9B,CAACF,GAAgBC,GAAoBC,CAAe;AAAA,EAAA,GAG/CS,IAAiBC;AAAA,IACtB,CAACC,MACAT,EAAqBZ,GAAUqB,CAAE;AAAA,IAClC,CAACT,GAAsBZ,CAAQ;AAAA,EAAA,GAG1BsB,IAAkBF;AAAA,IACvB,CAACG,GAA2BC,MAAe;AAC1C,MAAID,MAAS,SACPjB,EAAM,MAAM,SAASkB,CAAE,KAC3BjB,EAAM,EAAE,OAAO,CAAC,GAAGD,EAAM,OAAOkB,CAAE,GAAG,IAE3BlB,EAAM,UAAU,SAASkB,CAAE,KACtCjB,EAAM,EAAE,WAAW,CAAC,GAAGD,EAAM,WAAWkB,CAAE,GAAG;AAAA,IAE/C;AAAA,IACA,CAACjB,GAAOD,EAAM,OAAOA,EAAM,SAAS;AAAA,EAAA;AAGrC,SACC,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAAzB;AAAA,MACA,OAAQK,EAAMN,CAAQ,KAA4B;AAAA,MAClD,UAAU,CAAC2B,MAASpB,EAAM,EAAE,CAACP,CAAQ,GAAG2B,GAA6B;AAAA,MACrE,WAAAxB;AAAA,MACA,aAAAD;AAAA,MACA,WAAAE;AAAA,MACA,UAAU,GAAGE,EAAM,EAAE,IAAIN,CAAQ,IAAIW,CAAe;AAAA,MACpD,cAAAI;AAAA,MACA,OAAOP;AAAA,MACP,iBAAAc;AAAA,MACA,SAAS,MAAMT,EAAmBb,CAAQ;AAAA,MAC1C,gBAAAmB;AAAA,MACA,aAAWd,EAAK,WAAW;AAAA,IAAA;AAAA,EAAA;AAG9B;"}
@@ -0,0 +1,12 @@
1
+ import { MentionDropdownRenderProps } from '../../../editor';
2
+ import { default as React } from 'react';
3
+ /**
4
+ * `@` reference picker. Drills:
5
+ * root → Tools → <source> (Manifest / Shopify / …) → tool
6
+ * → Sub-agent → sub-agent
7
+ * ("Add condition" and "Variables" are intentionally not shown yet.)
8
+ *
9
+ * Owns keyboard navigation (↑/↓ move, →/Enter activate, ← go back) over the
10
+ * CURRENTLY visible rows — registered with the editor via `registerKeyHandler`.
11
+ */
12
+ export declare const MentionPicker: React.FC<MentionDropdownRenderProps>;
@@ -0,0 +1,167 @@
1
+ import { jsxs as h, jsx as x } from "react/jsx-runtime";
2
+ import T from "../../../assets/icons/chevronLeft.svg.js";
3
+ import j from "../../../assets/icons/chevronRight.svg.js";
4
+ import { useState as C, useMemo as c, useEffect as E, useRef as M } from "react";
5
+ import k from "styled-components";
6
+ import { TitleSmall as N, BodySecondary as z } from "../../TypographyStyle.js";
7
+ import { COLORS as r } from "../../../constants/Theme.js";
8
+ import { toolSourceLabel as R } from "../utils/mentionSerialization.js";
9
+ const D = [
10
+ { key: "tool", label: "Tools" },
11
+ { key: "subagent", label: "Sub-agent" }
12
+ ], u = (t) => t.meta, L = (t) => u(t)?.plainLabel ?? t.label, H = ({
13
+ items: t,
14
+ onSelect: m,
15
+ registerKeyHandler: d
16
+ }) => {
17
+ const [P, y] = C(null), [l, v] = C(null), [w, p] = C(0), a = c(
18
+ () => t.filter((e) => u(e)?.kind === "tool"),
19
+ [t]
20
+ ), f = c(
21
+ () => t.filter((e) => u(e)?.kind === "subagent"),
22
+ [t]
23
+ ), S = c(() => {
24
+ const e = [];
25
+ return a.forEach((n) => {
26
+ const b = u(n)?.source ?? "other";
27
+ e.includes(b) || e.push(b);
28
+ }), e;
29
+ }, [a]), g = c(
30
+ () => D.filter(
31
+ (e) => e.key === "tool" ? a.length > 0 : f.length > 0
32
+ ),
33
+ [a.length, f.length]
34
+ ), A = g.length === 1 ? g[0].key : null, o = P ?? A, s = o ? o === "subagent" ? A ? null : { title: "Sub-agent", onBack: () => y(null) } : l ? { title: R(l), onBack: () => v(null) } : A ? null : { title: "Tools", onBack: () => y(null) } : null, i = c(() => o ? o === "subagent" ? f.map((e) => ({
35
+ id: String(e.id),
36
+ label: L(e),
37
+ drillsIn: !1,
38
+ onActivate: () => m(e)
39
+ })) : l ? a.filter((e) => (u(e)?.source ?? "other") === l).map((e) => ({
40
+ id: String(e.id),
41
+ label: L(e),
42
+ drillsIn: !1,
43
+ onActivate: () => m(e)
44
+ })) : S.map((e) => ({
45
+ id: e,
46
+ label: R(e),
47
+ drillsIn: !0,
48
+ onActivate: () => v(e)
49
+ })) : g.map((e) => ({
50
+ id: e.key,
51
+ label: e.label,
52
+ drillsIn: !0,
53
+ onActivate: () => {
54
+ y(e.key), v(null);
55
+ }
56
+ })), [
57
+ o,
58
+ g,
59
+ l,
60
+ a,
61
+ f,
62
+ S,
63
+ m
64
+ ]);
65
+ E(() => p(0), [o, l, t]);
66
+ const $ = M({ rows: i, activeIndex: w, header: s });
67
+ $.current = { rows: i, activeIndex: w, header: s }, E(() => {
68
+ if (d)
69
+ return d((e) => {
70
+ const { rows: n, activeIndex: b, header: B } = $.current;
71
+ switch (e.key) {
72
+ case "ArrowDown":
73
+ return n.length && p((I) => (I + 1) % n.length), !0;
74
+ case "ArrowUp":
75
+ return n.length && p((I) => (I + n.length - 1) % n.length), !0;
76
+ case "ArrowRight":
77
+ case "Enter":
78
+ return n[b]?.onActivate(), !0;
79
+ case "ArrowLeft":
80
+ return B ? (B.onBack(), !0) : !1;
81
+ default:
82
+ return !1;
83
+ }
84
+ }), () => d(null);
85
+ }, [d]);
86
+ const O = o ? i.length && !i[0].drillsIn ? "items" : "sources" : "categories";
87
+ return /* @__PURE__ */ h(G, { className: `bik-mention-picker bik-mention-picker--${O}`, children: [
88
+ s && /* @__PURE__ */ h(
89
+ q,
90
+ {
91
+ type: "button",
92
+ onClick: s.onBack,
93
+ style: { background: r.surface.subdued },
94
+ children: [
95
+ /* @__PURE__ */ x(T, { width: 12, height: 12 }),
96
+ /* @__PURE__ */ h(N, { children: [
97
+ " ",
98
+ s.title
99
+ ] })
100
+ ]
101
+ }
102
+ ),
103
+ i.length === 0 ? /* @__PURE__ */ x(F, { children: o === "subagent" ? "No sub-agents available" : "No tools available" }) : i.map((e, n) => /* @__PURE__ */ h(
104
+ U,
105
+ {
106
+ type: "button",
107
+ $active: n === w,
108
+ onMouseEnter: () => p(n),
109
+ onClick: e.onActivate,
110
+ children: [
111
+ /* @__PURE__ */ x(z, { color: r.content.primary, children: e.label }),
112
+ e.drillsIn && /* @__PURE__ */ x(j, { width: 12, height: 12 })
113
+ ]
114
+ },
115
+ e.id
116
+ ))
117
+ ] });
118
+ }, G = k.div`
119
+ display: flex;
120
+ flex-direction: column;
121
+ min-width: 240px;
122
+ max-height: 280px;
123
+ overflow-y: auto;
124
+ background: ${r.surface.standard};
125
+ border: 1px solid ${r.stroke.primary};
126
+ border-radius: 4px;
127
+ box-shadow: 0px -2px 8px 0px #0000001f;
128
+ `, U = k.button`
129
+ display: flex;
130
+ justify-content: space-between;
131
+ align-items: center;
132
+ gap: 2px;
133
+ width: 100%;
134
+ padding: 8px 10px;
135
+ height: 48px;
136
+ border: none;
137
+ border-bottom: 1px solid ${r.stroke.primary};
138
+ background: ${(t) => t.$active ? r.surface.subdued : "transparent"};
139
+ cursor: pointer;
140
+ text-align: left;
141
+
142
+ &:hover {
143
+ background: ${r.surface.subdued};
144
+ }
145
+ `, q = k.button`
146
+ display: flex;
147
+ align-items: center;
148
+ padding: 12px 16px;
149
+ border: none;
150
+ border-bottom: 1px solid ${r.stroke.primary};
151
+ background: transparent;
152
+ cursor: pointer;
153
+ font-family: Inter;
154
+ font-size: 12px;
155
+ font-weight: 600;
156
+ height: 48px;
157
+ gap: 4px;
158
+ `, F = k.div`
159
+ padding: 12px 10px;
160
+ font-family: Inter;
161
+ font-size: 13px;
162
+ color: ${r.content.secondary};
163
+ `;
164
+ export {
165
+ H as MentionPicker
166
+ };
167
+ //# sourceMappingURL=MentionPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MentionPicker.js","sources":["../../../../../src/components/agent-builder/components/MentionPicker.tsx"],"sourcesContent":["import ChevronLeft from '@src/assets/icons/chevronLeft.svg';\nimport ChevronRight from '@src/assets/icons/chevronRight.svg';\nimport type { MentionDropdownRenderProps, MentionItem } from '@src/editor';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { BodySecondary, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tMentionKindMeta,\n\ttoolSourceLabel,\n} from '../utils/mentionSerialization';\n\ntype Category = 'tool' | 'subagent';\n\nconst CATEGORIES: { key: Category; label: string }[] = [\n\t{ key: 'tool', label: 'Tools' },\n\t{ key: 'subagent', label: 'Sub-agent' },\n];\n\nconst metaOf = (item: MentionItem): MentionKindMeta | undefined =>\n\titem.meta as unknown as MentionKindMeta | undefined;\n\nconst rowLabel = (item: MentionItem): string =>\n\tmetaOf(item)?.plainLabel ?? item.label;\n\n/** One navigable row in the picker's current view. */\ntype PickerRowModel = {\n\tid: string;\n\tlabel: string;\n\t/** Drill-in rows show a chevron; leaf (selectable) rows do not. */\n\tdrillsIn: boolean;\n\tonActivate: () => void;\n};\n\n/**\n * `@` reference picker. Drills:\n * root → Tools → <source> (Manifest / Shopify / …) → tool\n * → Sub-agent → sub-agent\n * (\"Add condition\" and \"Variables\" are intentionally not shown yet.)\n *\n * Owns keyboard navigation (↑/↓ move, →/Enter activate, ← go back) over the\n * CURRENTLY visible rows — registered with the editor via `registerKeyHandler`.\n */\nexport const MentionPicker: React.FC<MentionDropdownRenderProps> = ({\n\titems,\n\tonSelect,\n\tregisterKeyHandler,\n}) => {\n\tconst [category, setCategory] = useState<Category | null>(null);\n\tconst [source, setSource] = useState<string | null>(null);\n\tconst [activeIndex, setActiveIndex] = useState(0);\n\n\tconst tools = useMemo(\n\t\t() => items.filter((i) => metaOf(i)?.kind === 'tool'),\n\t\t[items],\n\t);\n\tconst subAgents = useMemo(\n\t\t() => items.filter((i) => metaOf(i)?.kind === 'subagent'),\n\t\t[items],\n\t);\n\tconst sources = useMemo(() => {\n\t\tconst acc: string[] = [];\n\t\ttools.forEach((t) => {\n\t\t\tconst s = metaOf(t)?.source ?? 'other';\n\t\t\tif (!acc.includes(s)) {\n\t\t\t\tacc.push(s);\n\t\t\t}\n\t\t});\n\t\treturn acc;\n\t}, [tools]);\n\n\t// Only show categories that actually have items. When just one is available\n\t// (e.g. the sub-agent drawer offers tools only), skip the category selector.\n\tconst availableCategories = useMemo(\n\t\t() =>\n\t\t\tCATEGORIES.filter((c) =>\n\t\t\t\tc.key === 'tool' ? tools.length > 0 : subAgents.length > 0,\n\t\t\t),\n\t\t[tools.length, subAgents.length],\n\t);\n\tconst soleCategory =\n\t\tavailableCategories.length === 1 ? availableCategories[0].key : null;\n\tconst activeCategory = category ?? soleCategory;\n\n\t// Title shown above the current view, and whether we can go back a level.\n\t// With a sole category there is no root to go back to (no category header).\n\tconst header: { title: string; onBack: () => void } | null = !activeCategory\n\t\t? null\n\t\t: activeCategory === 'subagent'\n\t\t? soleCategory\n\t\t\t? null\n\t\t\t: { title: 'Sub-agent', onBack: () => setCategory(null) }\n\t\t: source\n\t\t? { title: toolSourceLabel(source), onBack: () => setSource(null) }\n\t\t: soleCategory\n\t\t? null\n\t\t: { title: 'Tools', onBack: () => setCategory(null) };\n\n\t// Build the navigable rows for the current view.\n\tconst rows: PickerRowModel[] = useMemo(() => {\n\t\tif (!activeCategory) {\n\t\t\treturn availableCategories.map((c) => ({\n\t\t\t\tid: c.key,\n\t\t\t\tlabel: c.label,\n\t\t\t\tdrillsIn: true,\n\t\t\t\tonActivate: () => {\n\t\t\t\t\tsetCategory(c.key);\n\t\t\t\t\tsetSource(null);\n\t\t\t\t},\n\t\t\t}));\n\t\t}\n\t\tif (activeCategory === 'subagent') {\n\t\t\treturn subAgents.map((item) => ({\n\t\t\t\tid: String(item.id),\n\t\t\t\tlabel: rowLabel(item),\n\t\t\t\tdrillsIn: false,\n\t\t\t\tonActivate: () => onSelect(item),\n\t\t\t}));\n\t\t}\n\t\tif (!source) {\n\t\t\treturn sources.map((s) => ({\n\t\t\t\tid: s,\n\t\t\t\tlabel: toolSourceLabel(s),\n\t\t\t\tdrillsIn: true,\n\t\t\t\tonActivate: () => setSource(s),\n\t\t\t}));\n\t\t}\n\t\treturn tools\n\t\t\t.filter((t) => (metaOf(t)?.source ?? 'other') === source)\n\t\t\t.map((item) => ({\n\t\t\t\tid: String(item.id),\n\t\t\t\tlabel: rowLabel(item),\n\t\t\t\tdrillsIn: false,\n\t\t\t\tonActivate: () => onSelect(item),\n\t\t\t}));\n\t}, [\n\t\tactiveCategory,\n\t\tavailableCategories,\n\t\tsource,\n\t\ttools,\n\t\tsubAgents,\n\t\tsources,\n\t\tonSelect,\n\t]);\n\n\t// Reset highlight whenever the view (or filtered result set) changes.\n\tuseEffect(() => setActiveIndex(0), [activeCategory, source, items]);\n\n\t// Keep the latest rows/index reachable from the stable key handler.\n\tconst navRef = useRef({ rows, activeIndex, header });\n\tnavRef.current = { rows, activeIndex, header };\n\n\tuseEffect(() => {\n\t\tif (!registerKeyHandler) {\n\t\t\treturn;\n\t\t}\n\t\tregisterKeyHandler((event) => {\n\t\t\tconst { rows: r, activeIndex: i, header: h } = navRef.current;\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tif (r.length) setActiveIndex((p) => (p + 1) % r.length);\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tif (r.length) setActiveIndex((p) => (p + r.length - 1) % r.length);\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\tcase 'Enter':\n\t\t\t\t\tr[i]?.onActivate();\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tif (h) {\n\t\t\t\t\t\th.onBack();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\tdefault:\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\treturn () => registerKeyHandler(null);\n\t}, [registerKeyHandler]);\n\n\tconst variant = !activeCategory\n\t\t? 'categories'\n\t\t: rows.length && !rows[0].drillsIn\n\t\t? 'items'\n\t\t: 'sources';\n\n\treturn (\n\t\t<PickerCard className={`bik-mention-picker bik-mention-picker--${variant}`}>\n\t\t\t{header && (\n\t\t\t\t<PickerBack\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={header.onBack}\n\t\t\t\t\tstyle={{ background: COLORS.surface.subdued }}\n\t\t\t\t>\n\t\t\t\t\t<ChevronLeft width={12} height={12} />\n\t\t\t\t\t<TitleSmall> {header.title}</TitleSmall>\n\t\t\t\t</PickerBack>\n\t\t\t)}\n\t\t\t{rows.length === 0 ? (\n\t\t\t\t<PickerEmpty>\n\t\t\t\t\t{activeCategory === 'subagent'\n\t\t\t\t\t\t? 'No sub-agents available'\n\t\t\t\t\t\t: 'No tools available'}\n\t\t\t\t</PickerEmpty>\n\t\t\t) : (\n\t\t\t\trows.map((row, i) => (\n\t\t\t\t\t<PickerRow\n\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t$active={i === activeIndex}\n\t\t\t\t\t\tonMouseEnter={() => setActiveIndex(i)}\n\t\t\t\t\t\tonClick={row.onActivate}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BodySecondary color={COLORS.content.primary}>\n\t\t\t\t\t\t\t{row.label}\n\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t{row.drillsIn && <ChevronRight width={12} height={12} />}\n\t\t\t\t\t</PickerRow>\n\t\t\t\t))\n\t\t\t)}\n\t\t</PickerCard>\n\t);\n};\n\nconst PickerCard = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 240px;\n\tmax-height: 280px;\n\toverflow-y: auto;\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 4px;\n\tbox-shadow: 0px -2px 8px 0px #0000001f;\n`;\n\nconst PickerRow = styled.button<{ $active?: boolean }>`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 2px;\n\twidth: 100%;\n\tpadding: 8px 10px;\n\theight: 48px;\n\tborder: none;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tbackground: ${(p) => (p.$active ? COLORS.surface.subdued : 'transparent')};\n\tcursor: pointer;\n\ttext-align: left;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.subdued};\n\t}\n`;\n\nconst PickerBack = styled.button`\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 12px 16px;\n\tborder: none;\n\tborder-bottom: 1px solid ${COLORS.stroke.primary};\n\tbackground: transparent;\n\tcursor: pointer;\n\tfont-family: Inter;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\theight: 48px;\n\tgap: 4px;\n`;\n\nconst PickerEmpty = styled.div`\n\tpadding: 12px 10px;\n\tfont-family: Inter;\n\tfont-size: 13px;\n\tcolor: ${COLORS.content.secondary};\n`;\n"],"names":["CATEGORIES","metaOf","item","rowLabel","MentionPicker","items","onSelect","registerKeyHandler","category","setCategory","useState","source","setSource","activeIndex","setActiveIndex","tools","useMemo","i","subAgents","sources","acc","t","s","availableCategories","c","soleCategory","activeCategory","header","toolSourceLabel","rows","useEffect","navRef","useRef","event","r","h","p","variant","jsxs","PickerCard","PickerBack","COLORS","jsx","ChevronLeft","TitleSmall","PickerEmpty","row","PickerRow","BodySecondary","ChevronRight","styled"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { default as React } from 'react';
2
+ import { SingleOption } from '../../dropdown/type';
3
+ export interface SelectableItem {
4
+ id: string;
5
+ label: string;
6
+ }
7
+ interface SelectableListSectionProps {
8
+ title: string;
9
+ helper?: string;
10
+ items: SelectableItem[];
11
+ /**
12
+ * Options shown in the add dropdown. Pass ALL items (not just unselected
13
+ * ones) when re-picking an already-added item is allowed (e.g. to insert its
14
+ * mention again) — the chip list still shows each item only once.
15
+ */
16
+ addableOptions: SingleOption[];
17
+ onAdd: (id: string) => void;
18
+ onRemove: (id: string) => void;
19
+ dataTestPrefix: string;
20
+ emptyText: string;
21
+ /**
22
+ * Adds a "create new" entry at the top of the add dropdown (e.g. "Create
23
+ * sub-agent"). Selecting it calls `onSelect` instead of `onAdd`.
24
+ */
25
+ createOption?: {
26
+ label: string;
27
+ onSelect: () => void;
28
+ };
29
+ /**
30
+ * When provided, each row's kebab menu gains a "Configure" action (above
31
+ * "Delete"). Omit for tools (Delete only).
32
+ */
33
+ onConfigure?: (id: string) => void;
34
+ }
35
+ export declare const SelectableListSection: React.FC<SelectableListSectionProps>;
36
+ export {};
@@ -0,0 +1,138 @@
1
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import L from "../../../assets/icons/delete.svg.js";
3
+ import R from "../../../assets/icons/plus.svg.js";
4
+ import k from "../../../assets/icons/vertical_dots.svg.js";
5
+ import { useState as B } from "react";
6
+ import { DropdownPopover as I } from "../../dropdown/DropdownPopover/index.js";
7
+ import { Dropdown as O } from "../../dropdown/Dropdown.js";
8
+ import { BodySecondary as g, TitleSmall as U, BodyCaption as w } from "../../TypographyStyle.js";
9
+ import { COLORS as n } from "../../../constants/Theme.js";
10
+ import { SideSection as V, SideSectionHeader as W, AddIconButton as j, SelectableRow as x, RowText as z, RowMenuButton as f } from "../AgentBuilder.styled.js";
11
+ const y = "__bik_create_new__", A = "__bik_configure__", v = "__bik_delete__", X = ({
12
+ title: i,
13
+ helper: h,
14
+ items: m,
15
+ addableOptions: d,
16
+ onAdd: $,
17
+ onRemove: _,
18
+ dataTestPrefix: t,
19
+ emptyText: E,
20
+ createOption: l,
21
+ onConfigure: a
22
+ }) => {
23
+ const [b, S] = B(!1), C = d.length > 0 || !!l, p = l ? [
24
+ ...d,
25
+ {
26
+ label: l.label,
27
+ value: y,
28
+ searchKey: l.label,
29
+ customComponent: /* @__PURE__ */ o(
30
+ "div",
31
+ {
32
+ style: {
33
+ width: "100%",
34
+ textAlign: "center",
35
+ color: n.content.brand,
36
+ fontFamily: "Inter",
37
+ fontSize: 14,
38
+ fontWeight: 600
39
+ },
40
+ children: l.label
41
+ }
42
+ )
43
+ }
44
+ ] : d, D = [
45
+ ...a ? [{ label: "Configure", value: A }] : [],
46
+ {
47
+ label: "Delete",
48
+ value: v,
49
+ customComponent: /* @__PURE__ */ o(g, { color: n.content.negative, children: "Delete" })
50
+ }
51
+ ];
52
+ return /* @__PURE__ */ s(V, { children: [
53
+ /* @__PURE__ */ s(W, { children: [
54
+ /* @__PURE__ */ o(U, { color: n.content.primary, children: i }),
55
+ C && /* @__PURE__ */ o(
56
+ j,
57
+ {
58
+ "data-test": `${t}-add`,
59
+ onClick: () => S((e) => !e),
60
+ "aria-label": `Add ${i}`,
61
+ children: /* @__PURE__ */ o(R, { width: 20, height: 20, color: n.content.brand })
62
+ }
63
+ )
64
+ ] }),
65
+ h && /* @__PURE__ */ o(w, { color: n.content.secondary, children: h }),
66
+ b && p.length > 0 && /* @__PURE__ */ o(
67
+ O,
68
+ {
69
+ "data-test": `${t}-dropdown`,
70
+ size: "small",
71
+ width: "100%",
72
+ isSearchable: !0,
73
+ placeHolder: `Select ${i.toLowerCase()}`,
74
+ options: p,
75
+ onSelect: (e) => {
76
+ const c = (Array.isArray(e) ? e[0] : e)?.value;
77
+ S(!1), c && (c === y ? l?.onSelect() : $(c));
78
+ }
79
+ }
80
+ ),
81
+ m.length === 0 && !b ? /* @__PURE__ */ o(w, { color: n.content.placeholder, children: E }) : m.map((e) => /* @__PURE__ */ s(
82
+ x,
83
+ {
84
+ "data-test": `${t}-row-${e.id}`,
85
+ children: [
86
+ /* @__PURE__ */ o(z, { children: /* @__PURE__ */ o(g, { numberOfLines: 1, color: n.content.primary, children: e.label }) }),
87
+ a ? (
88
+ // Multiple actions (Configure + Delete) → kebab menu.
89
+ /* @__PURE__ */ o(
90
+ I,
91
+ {
92
+ placement: "bottom-end",
93
+ options: D,
94
+ width: "150px",
95
+ "data-test": `${t}-menu-${e.id}`,
96
+ onSelect: (r) => {
97
+ const u = (Array.isArray(r) ? r[0] : r)?.value;
98
+ u === A ? a?.(e.id) : u === v && _(e.id);
99
+ },
100
+ children: /* @__PURE__ */ o(f, { "aria-label": `Options for ${e.label}`, children: /* @__PURE__ */ o(
101
+ k,
102
+ {
103
+ width: 16,
104
+ height: 16,
105
+ color: n.content.secondary
106
+ }
107
+ ) })
108
+ }
109
+ )
110
+ ) : (
111
+ // Delete-only → direct delete icon, no kebab/popover.
112
+ /* @__PURE__ */ o(
113
+ f,
114
+ {
115
+ "data-test": `${t}-delete-${e.id}`,
116
+ "aria-label": `Delete ${e.label}`,
117
+ onClick: () => _(e.id),
118
+ children: /* @__PURE__ */ o(
119
+ L,
120
+ {
121
+ width: 16,
122
+ height: 16,
123
+ color: n.content.secondary
124
+ }
125
+ )
126
+ }
127
+ )
128
+ )
129
+ ]
130
+ },
131
+ e.id
132
+ ))
133
+ ] });
134
+ };
135
+ export {
136
+ X as SelectableListSection
137
+ };
138
+ //# sourceMappingURL=SelectableListSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableListSection.js","sources":["../../../../../src/components/agent-builder/components/SelectableListSection.tsx"],"sourcesContent":["import DeleteIcon from '@src/assets/icons/delete.svg';\nimport PlusIcon from '@src/assets/icons/plus.svg';\nimport VerticalDotsIcon from '@src/assets/icons/vertical_dots.svg';\nimport React, { useState } from 'react';\nimport { Dropdown, DropdownPopover } from '@src/components/dropdown';\nimport { SingleOption } from '@src/components/dropdown/type';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAddIconButton,\n\tRowMenuButton,\n\tRowText,\n\tSelectableRow,\n\tSideSection,\n\tSideSectionHeader,\n} from '../AgentBuilder.styled';\n\nexport interface SelectableItem {\n\tid: string;\n\tlabel: string;\n}\n\n/** Sentinel value for the \"create new\" entry in the add dropdown. */\nconst CREATE_OPTION_VALUE = '__bik_create_new__';\n/** Sentinels for the per-row kebab menu actions. */\nconst ROW_CONFIGURE_VALUE = '__bik_configure__';\nconst ROW_DELETE_VALUE = '__bik_delete__';\n\ninterface SelectableListSectionProps {\n\ttitle: string;\n\thelper?: string;\n\titems: SelectableItem[];\n\t/**\n\t * Options shown in the add dropdown. Pass ALL items (not just unselected\n\t * ones) when re-picking an already-added item is allowed (e.g. to insert its\n\t * mention again) — the chip list still shows each item only once.\n\t */\n\taddableOptions: SingleOption[];\n\tonAdd: (id: string) => void;\n\tonRemove: (id: string) => void;\n\tdataTestPrefix: string;\n\temptyText: string;\n\t/**\n\t * Adds a \"create new\" entry at the top of the add dropdown (e.g. \"Create\n\t * sub-agent\"). Selecting it calls `onSelect` instead of `onAdd`.\n\t */\n\tcreateOption?: { label: string; onSelect: () => void };\n\t/**\n\t * When provided, each row's kebab menu gains a \"Configure\" action (above\n\t * \"Delete\"). Omit for tools (Delete only).\n\t */\n\tonConfigure?: (id: string) => void;\n}\n\nexport const SelectableListSection: React.FC<SelectableListSectionProps> = ({\n\ttitle,\n\thelper,\n\titems,\n\taddableOptions,\n\tonAdd,\n\tonRemove,\n\tdataTestPrefix,\n\temptyText,\n\tcreateOption,\n\tonConfigure,\n}) => {\n\tconst [adding, setAdding] = useState(false);\n\tconst showAddButton = addableOptions.length > 0 || !!createOption;\n\t// \"Create new\" is a brand-coloured footer row at the BOTTOM of the dropdown,\n\t// separated from the selectable items by a divider.\n\tconst dropdownOptions: SingleOption[] = createOption\n\t\t? [\n\t\t\t\t...addableOptions,\n\t\t\t\t{\n\t\t\t\t\tlabel: createOption.label,\n\t\t\t\t\tvalue: CREATE_OPTION_VALUE,\n\t\t\t\t\tsearchKey: createOption.label,\n\t\t\t\t\tcustomComponent: (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\tcolor: COLORS.content.brand,\n\t\t\t\t\t\t\t\tfontFamily: 'Inter',\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{createOption.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t ]\n\t\t: addableOptions;\n\n\t// Per-row kebab menu: Delete (red) always; Configure above it when allowed.\n\tconst rowMenuOptions: SingleOption[] = [\n\t\t...(onConfigure\n\t\t\t? [{ label: 'Configure', value: ROW_CONFIGURE_VALUE }]\n\t\t\t: []),\n\t\t{\n\t\t\tlabel: 'Delete',\n\t\t\tvalue: ROW_DELETE_VALUE,\n\t\t\tcustomComponent: (\n\t\t\t\t<BodySecondary color={COLORS.content.negative}>Delete</BodySecondary>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<SideSection>\n\t\t\t<SideSectionHeader>\n\t\t\t\t<TitleSmall color={COLORS.content.primary}>{title}</TitleSmall>\n\t\t\t\t{showAddButton && (\n\t\t\t\t\t<AddIconButton\n\t\t\t\t\t\tdata-test={`${dataTestPrefix}-add`}\n\t\t\t\t\t\tonClick={() => setAdding((v) => !v)}\n\t\t\t\t\t\taria-label={`Add ${title}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PlusIcon width={20} height={20} color={COLORS.content.brand} />\n\t\t\t\t\t</AddIconButton>\n\t\t\t\t)}\n\t\t\t</SideSectionHeader>\n\n\t\t\t{helper && (\n\t\t\t\t<BodyCaption color={COLORS.content.secondary}>{helper}</BodyCaption>\n\t\t\t)}\n\n\t\t\t{adding && dropdownOptions.length > 0 && (\n\t\t\t\t<Dropdown\n\t\t\t\t\tdata-test={`${dataTestPrefix}-dropdown`}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\tisSearchable\n\t\t\t\t\tplaceHolder={`Select ${title.toLowerCase()}`}\n\t\t\t\t\toptions={dropdownOptions}\n\t\t\t\t\tonSelect={(opt) => {\n\t\t\t\t\t\tconst single = Array.isArray(opt) ? opt[0] : opt;\n\t\t\t\t\t\tconst v = (single as SingleOption)?.value;\n\t\t\t\t\t\tsetAdding(false);\n\t\t\t\t\t\tif (!v) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (v === CREATE_OPTION_VALUE) {\n\t\t\t\t\t\t\tcreateOption?.onSelect();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonAdd(v);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{items.length === 0 && !adding ? (\n\t\t\t\t<BodyCaption color={COLORS.content.placeholder}>\n\t\t\t\t\t{emptyText}\n\t\t\t\t</BodyCaption>\n\t\t\t) : (\n\t\t\t\titems.map((item) => (\n\t\t\t\t\t<SelectableRow\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\tdata-test={`${dataTestPrefix}-row-${item.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RowText>\n\t\t\t\t\t\t\t<BodySecondary numberOfLines={1} color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t</RowText>\n\t\t\t\t\t\t{onConfigure ? (\n\t\t\t\t\t\t\t// Multiple actions (Configure + Delete) → kebab menu.\n\t\t\t\t\t\t\t<DropdownPopover\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t\toptions={rowMenuOptions}\n\t\t\t\t\t\t\t\twidth=\"150px\"\n\t\t\t\t\t\t\t\tdata-test={`${dataTestPrefix}-menu-${item.id}`}\n\t\t\t\t\t\t\t\tonSelect={(opt) => {\n\t\t\t\t\t\t\t\t\tconst single = Array.isArray(opt) ? opt[0] : opt;\n\t\t\t\t\t\t\t\t\tconst v = (single as SingleOption)?.value;\n\t\t\t\t\t\t\t\t\tif (v === ROW_CONFIGURE_VALUE) {\n\t\t\t\t\t\t\t\t\t\tonConfigure?.(item.id);\n\t\t\t\t\t\t\t\t\t} else if (v === ROW_DELETE_VALUE) {\n\t\t\t\t\t\t\t\t\t\tonRemove(item.id);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<RowMenuButton aria-label={`Options for ${item.label}`}>\n\t\t\t\t\t\t\t\t\t<VerticalDotsIcon\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</RowMenuButton>\n\t\t\t\t\t\t\t</DropdownPopover>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t// Delete-only → direct delete icon, no kebab/popover.\n\t\t\t\t\t\t\t<RowMenuButton\n\t\t\t\t\t\t\t\tdata-test={`${dataTestPrefix}-delete-${item.id}`}\n\t\t\t\t\t\t\t\taria-label={`Delete ${item.label}`}\n\t\t\t\t\t\t\t\tonClick={() => onRemove(item.id)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DeleteIcon\n\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</RowMenuButton>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SelectableRow>\n\t\t\t\t))\n\t\t\t)}\n\t\t</SideSection>\n\t);\n};\n"],"names":["CREATE_OPTION_VALUE","ROW_CONFIGURE_VALUE","ROW_DELETE_VALUE","SelectableListSection","title","helper","items","addableOptions","onAdd","onRemove","dataTestPrefix","emptyText","createOption","onConfigure","adding","setAdding","useState","showAddButton","dropdownOptions","jsx","COLORS","rowMenuOptions","BodySecondary","SideSection","jsxs","SideSectionHeader","TitleSmall","AddIconButton","v","PlusIcon","BodyCaption","Dropdown","opt","item","SelectableRow","RowText","DropdownPopover","RowMenuButton","VerticalDotsIcon","DeleteIcon"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { default as React } from 'react';
2
+ export declare const StepRail: React.FC;