@bikdotai/bik-component-library 0.0.839-beta.7 → 0.0.840-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  2. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  3. package/dist/cjs/components/SearchFilter/index.js +1 -1
  4. package/dist/cjs/components/SearchFilter/index.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  6. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +51 -39
  8. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
  10. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +2 -2
  14. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +1 -1
  16. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
  18. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  20. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
  22. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/components/MentionPicker.js +22 -22
  24. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +4 -4
  26. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +6 -6
  28. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  29. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +1 -1
  30. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  31. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  32. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  33. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  34. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  35. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +3 -1
  36. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  37. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  38. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  39. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  40. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  41. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +5 -3
  42. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  43. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  44. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  45. package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
  46. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
  47. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  48. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  49. package/dist/cjs/components/agent-listing/AgentTableShimmer.js +2 -0
  50. package/dist/cjs/components/agent-listing/AgentTableShimmer.js.map +1 -0
  51. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +1 -1
  52. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -1
  53. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
  54. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  55. package/dist/cjs/components/button/Button.styled.js +1 -0
  56. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  57. package/dist/cjs/components/button/themes.js +11 -11
  58. package/dist/cjs/components/button/themes.js.map +1 -1
  59. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
  60. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  61. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  62. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  63. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  64. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  65. package/dist/cjs/components/input/Input.js +1 -1
  66. package/dist/cjs/components/input/Input.js.map +1 -1
  67. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  68. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  69. package/dist/cjs/components/radioButton/RadioButton.js +1 -1
  70. package/dist/cjs/components/radioButton/RadioButton.js.map +1 -1
  71. package/dist/cjs/components/radioList/RadioList.js +1 -1
  72. package/dist/cjs/components/radioList/RadioList.js.map +1 -1
  73. package/dist/cjs/components/searchBar/searchBar.js +1 -1
  74. package/dist/cjs/components/searchBar/searchBar.js.map +1 -1
  75. package/dist/cjs/components/side-modal/SideModal.js +1 -1
  76. package/dist/cjs/components/side-modal/SideModal.js.map +1 -1
  77. package/dist/cjs/components/star-rating/Star.js +1 -1
  78. package/dist/cjs/components/star-rating/Star.js.map +1 -1
  79. package/dist/cjs/components/star-rating/StarRating.js +2 -2
  80. package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
  81. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  82. package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
  83. package/dist/cjs/components/thumbnail/Thumbnail.js +1 -1
  84. package/dist/cjs/components/thumbnail/Thumbnail.js.map +1 -1
  85. package/dist/cjs/components/zeroState/ZeroState.js +3 -3
  86. package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
  87. package/dist/cjs/editor/BikEditor.js +1 -1
  88. package/dist/cjs/editor/BikEditor.js.map +1 -1
  89. package/dist/cjs/editor/BikEditor.styles.js +97 -54
  90. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  91. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
  92. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  93. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js +2 -0
  94. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js.map +1 -0
  95. package/dist/cjs/icons/Media/Visual/FormkitSad.js +2 -0
  96. package/dist/cjs/icons/Media/Visual/FormkitSad.js.map +1 -0
  97. package/dist/cjs/icons/index.js +1 -1
  98. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +66 -61
  99. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  100. package/dist/esm/components/SearchFilter/index.js +11 -10
  101. package/dist/esm/components/SearchFilter/index.js.map +1 -1
  102. package/dist/esm/components/agent-builder/AgentBuilder.js +106 -102
  103. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  104. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +3 -6
  105. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +118 -106
  106. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  107. package/dist/esm/components/agent-builder/__fixtures__/agentValue.d.ts +11 -0
  108. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -21
  109. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  110. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +27 -26
  111. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  112. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +25 -25
  113. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  114. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +24 -23
  115. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  116. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +3 -1
  117. package/dist/esm/components/agent-builder/components/DiscardModal.js +33 -24
  118. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
  119. package/dist/esm/components/agent-builder/components/GoLiveModal.js +23 -21
  120. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  121. package/dist/esm/components/agent-builder/components/MentionEditor.js +19 -19
  122. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  123. package/dist/esm/components/agent-builder/components/MentionPicker.js +177 -147
  124. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  125. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +2 -0
  126. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +111 -105
  127. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  128. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +13 -4
  129. package/dist/esm/components/agent-builder/components/SelectableListSection.js +173 -148
  130. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  131. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +7 -7
  132. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  133. package/dist/esm/components/agent-builder/constants/tools.js +1 -1
  134. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  135. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +104 -103
  136. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  137. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +101 -102
  138. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  139. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +144 -142
  140. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  141. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +23 -79
  142. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  143. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +35 -23
  144. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  145. package/dist/esm/components/agent-listing/AgentListing.js +70 -65
  146. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  147. package/dist/esm/components/agent-listing/AgentTable.d.ts +2 -0
  148. package/dist/esm/components/agent-listing/AgentTable.js +16 -15
  149. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
  150. package/dist/esm/components/agent-listing/AgentTableRow.js +11 -11
  151. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  152. package/dist/esm/components/agent-listing/AgentTableShimmer.d.ts +12 -0
  153. package/dist/esm/components/agent-listing/AgentTableShimmer.js +20 -0
  154. package/dist/esm/components/agent-listing/AgentTableShimmer.js.map +1 -0
  155. package/dist/esm/components/agent-listing/DeleteAgentModal.js +8 -8
  156. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -1
  157. package/dist/esm/components/agent-listing/__fixtures__/agents.d.ts +3 -0
  158. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +11 -10
  159. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  160. package/dist/esm/components/button/Button.styled.js +25 -19
  161. package/dist/esm/components/button/Button.styled.js.map +1 -1
  162. package/dist/esm/components/button/themes.d.ts +1 -0
  163. package/dist/esm/components/button/themes.js +61 -51
  164. package/dist/esm/components/button/themes.js.map +1 -1
  165. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +28 -21
  166. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  167. package/dist/esm/components/dropdown/Dropdown.js +18 -13
  168. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  169. package/dist/esm/components/dropdown-button/DropdownButton.js +13 -13
  170. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  171. package/dist/esm/components/input/Input.js +35 -34
  172. package/dist/esm/components/input/Input.js.map +1 -1
  173. package/dist/esm/components/input/Input.model.d.ts +1 -0
  174. package/dist/esm/components/multi-level-dropdown/MenuItem.js +28 -27
  175. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  176. package/dist/esm/components/radioButton/RadioButton.js +10 -9
  177. package/dist/esm/components/radioButton/RadioButton.js.map +1 -1
  178. package/dist/esm/components/radioList/RadioList.js +28 -19
  179. package/dist/esm/components/radioList/RadioList.js.map +1 -1
  180. package/dist/esm/components/searchBar/searchBar.js +11 -10
  181. package/dist/esm/components/searchBar/searchBar.js.map +1 -1
  182. package/dist/esm/components/side-modal/SideModal.js +13 -5
  183. package/dist/esm/components/side-modal/SideModal.js.map +1 -1
  184. package/dist/esm/components/star-rating/Star.d.ts +1 -0
  185. package/dist/esm/components/star-rating/Star.js +32 -27
  186. package/dist/esm/components/star-rating/Star.js.map +1 -1
  187. package/dist/esm/components/star-rating/StarRating.js +17 -16
  188. package/dist/esm/components/star-rating/StarRating.js.map +1 -1
  189. package/dist/esm/components/template-preview/TemplatePreview.js +41 -40
  190. package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
  191. package/dist/esm/components/thumbnail/Thumbnail.js +3 -3
  192. package/dist/esm/components/thumbnail/Thumbnail.js.map +1 -1
  193. package/dist/esm/components/zeroState/ZeroState.js +20 -13
  194. package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
  195. package/dist/esm/editor/BikEditor.js +173 -160
  196. package/dist/esm/editor/BikEditor.js.map +1 -1
  197. package/dist/esm/editor/BikEditor.styles.d.ts +20 -3
  198. package/dist/esm/editor/BikEditor.styles.js +102 -57
  199. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  200. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.d.ts +5 -8
  201. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +87 -68
  202. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  203. package/dist/esm/icons/Media/Visual/FormkitNeutral.js +58 -0
  204. package/dist/esm/icons/Media/Visual/FormkitNeutral.js.map +1 -0
  205. package/dist/esm/icons/Media/Visual/FormkitSad.js +61 -0
  206. package/dist/esm/icons/Media/Visual/FormkitSad.js.map +1 -0
  207. package/dist/esm/icons/Media/Visual/index.d.ts +2 -0
  208. package/dist/esm/icons/index.d.ts +25 -25
  209. package/dist/esm/icons/index.js +420 -416
  210. package/dist/esm/icons/index.js.map +1 -1
  211. package/package.json +1 -1
@@ -11,9 +11,11 @@ export interface SelectableItem {
11
11
  /**
12
12
  * When set, this row shows an edit (Configure) icon that calls this instead of
13
13
  * the section-level `onConfigure`. Use for rows that open their own drawer
14
- * (e.g. a configured Rest API / email-handover tool).
14
+ * (e.g. a configured Rest API / email-handover tool). A pending promise
15
+ * disables the row's edit button until it settles (e.g. while the consumer
16
+ * fetches the sub-agent's data before opening its drawer).
15
17
  */
16
- onConfigure?: () => void;
18
+ onConfigure?: () => void | Promise<void>;
17
19
  }
18
20
  /** A tool source for the empty-state picker (Tools): a button → its searchable list. */
19
21
  export interface SourceGroup {
@@ -45,9 +47,10 @@ interface SelectableListSectionProps {
45
47
  };
46
48
  /**
47
49
  * When provided, each row shows an edit (Configure) icon next to Delete.
48
- * Omit for tools (Delete only).
50
+ * Omit for tools (Delete only). A pending promise disables the edit buttons
51
+ * until it settles.
49
52
  */
50
- onConfigure?: (id: string) => void;
53
+ onConfigure?: (id: string) => void | Promise<void>;
51
54
  /**
52
55
  * Tool sources (e.g. Manifest / Shopify). When set, the empty state shows a
53
56
  * button per source; clicking one reveals a searchable dropdown of just that
@@ -81,6 +84,12 @@ interface SelectableListSectionProps {
81
84
  noun: string;
82
85
  zIndex?: number;
83
86
  };
87
+ /**
88
+ * Open the `@` picker popover above the trigger instead of below. Use inside
89
+ * a drawer where the section sits near the bottom — opening downward
90
+ * stretches the drawer and leaves a gap.
91
+ */
92
+ pickerOpensUp?: boolean;
84
93
  }
85
94
  export declare const SelectableListSection: React.FC<SelectableListSectionProps>;
86
95
  export {};
@@ -1,82 +1,90 @@
1
- import { jsx as o, jsxs as i, Fragment as j } from "react/jsx-runtime";
2
- import ne from "../../../assets/icons/delete.svg.js";
3
- import te from "../../../assets/icons/edit.svg.js";
4
- import F from "../../../assets/icons/plus.svg.js";
5
- import { useState as v, useRef as K, useEffect as le } from "react";
6
- import E from "styled-components";
7
- import { TitleSmall as re, BodyCaption as U, BodySecondary as C } from "../../TypographyStyle.js";
1
+ import { jsx as o, jsxs as i, Fragment as q } from "react/jsx-runtime";
2
+ import ce from "../../../assets/icons/delete.svg.js";
3
+ import ie from "../../../assets/icons/edit.svg.js";
4
+ import U from "../../../assets/icons/plus.svg.js";
5
+ import { useState as f, useRef as J, useEffect as de } from "react";
6
+ import _ from "styled-components";
7
+ import { TitleSmall as se, BodyCaption as v, BodySecondary as ue } from "../../TypographyStyle.js";
8
8
  import { COLORS as d } from "../../../constants/Theme.js";
9
- import { SideSection as ce, SideSectionHeader as ie, AddIconButton as de, SourceButtonRow as se, SourceButton as V, SelectableRow as ae, RowText as ue, RowActions as he, RowMenuButton as q, RowActionDivider as fe } from "../AgentBuilder.styled.js";
10
- import { renderSourceIcon as A, SOURCE_ICONS as pe } from "../utils/sourceIcons.js";
11
- import { MentionPicker as me } from "./MentionPicker.js";
12
- import { Dropdown as J } from "../../dropdown/Dropdown.js";
13
- import { unwrapDropdownValue as P } from "../../dropdown/utils.js";
14
- import { Button as Se } from "../../button/Button.js";
15
- import { DeleteConfirmationModal as we } from "../../states-modal/DeleteConfirmationModal.js";
16
- const Q = "__bik_create_new__", He = ({
17
- title: u,
18
- helper: _,
19
- items: s,
20
- addableOptions: f,
21
- onAdd: g,
22
- onRemove: R,
23
- dataTestPrefix: t,
24
- emptyText: Y,
25
- createOption: n,
26
- onConfigure: D,
27
- sourceGroups: p,
9
+ import { SideSection as ae, SideSectionHeader as he, AddIconButton as pe, SourceButtonRow as fe, SourceButton as P, SelectableRow as me, RowText as Se, RowActions as ge, RowMenuButton as Q, RowActionDivider as we } from "../AgentBuilder.styled.js";
10
+ import { renderSourceIcon as A, SOURCE_ICONS as ye } from "../utils/sourceIcons.js";
11
+ import { MentionPicker as ve } from "./MentionPicker.js";
12
+ import { Dropdown as X } from "../../dropdown/Dropdown.js";
13
+ import { unwrapDropdownValue as Y } from "../../dropdown/utils.js";
14
+ import { Button as $e } from "../../button/Button.js";
15
+ import { DeleteConfirmationModal as be } from "../../states-modal/DeleteConfirmationModal.js";
16
+ import { Tooltip as E } from "../../tooltips/Tooltip.js";
17
+ const Z = "__bik_create_new__", Ke = ({
18
+ title: s,
19
+ helper: D,
20
+ items: a,
21
+ addableOptions: m,
22
+ onAdd: $,
23
+ onRemove: I,
24
+ dataTestPrefix: l,
25
+ emptyText: T,
26
+ createOption: t,
27
+ onConfigure: R,
28
+ sourceGroups: S,
28
29
  mentionItems: B,
29
- actionSources: m,
30
- confirmDelete: h
30
+ actionSources: g,
31
+ confirmDelete: p,
32
+ pickerOpensUp: L
31
33
  }) => {
32
- const [a, c] = v(!1), [I, $] = v(null), [Z, y] = v(null), S = !!p && p.length > 0, b = p?.find((e) => e.source === Z), l = B !== void 0, L = K(null), z = K(null), [w, x] = v(null);
33
- le(() => {
34
- if (!l || !a)
34
+ const [h, r] = f(!1), [z, b] = f(null), [x, H] = f(null), [O, C] = f(null), w = !!S && S.length > 0, k = S?.find((e) => e.source === O), c = B !== void 0, M = J(null), N = J(null), [y, W] = f(null);
35
+ de(() => {
36
+ if (!c || !h)
35
37
  return;
36
- const e = (k) => {
37
- const W = k.target;
38
- !L.current?.contains(W) && !z.current?.contains(W) && c(!1);
39
- }, r = (k) => {
40
- k.key === "Escape" && c(!1);
38
+ const e = (u) => {
39
+ const V = u.target;
40
+ !M.current?.contains(V) && !N.current?.contains(V) && r(!1);
41
+ }, n = (u) => {
42
+ u.key === "Escape" && r(!1);
41
43
  };
42
- return document.addEventListener("mousedown", e), document.addEventListener("keydown", r), () => {
43
- document.removeEventListener("mousedown", e), document.removeEventListener("keydown", r);
44
+ return document.addEventListener("mousedown", e), document.addEventListener("keydown", n), () => {
45
+ document.removeEventListener("mousedown", e), document.removeEventListener("keydown", n);
44
46
  };
45
- }, [l, a]);
46
- const G = S ? l || s.length > 0 : l || f.length > 0 || !!n && s.length > 0, T = s.length === 0 && !!n && !S && !l, H = !!m && m.length > 0, O = (S || H) && s.length === 0, ee = () => {
47
- if (l) {
48
- x(null), c((e) => !e);
47
+ }, [c, h]);
48
+ const ee = w ? c || a.length > 0 : c || m.length > 0 || !!t && a.length > 0, oe = a.length === 0 && !!t && !w && !c, j = !!g && g.length > 0, ne = (w || j) && a.length === 0, te = () => {
49
+ if (c) {
50
+ W(null), r((e) => !e);
49
51
  return;
50
52
  }
51
- if (S) {
52
- y(null), c((e) => !e);
53
+ if (w) {
54
+ C(null), r((e) => !e);
53
55
  return;
54
56
  }
55
- if (f.length === 0 && n) {
56
- n.onSelect();
57
+ if (m.length === 0 && t) {
58
+ t.onSelect();
57
59
  return;
58
60
  }
59
- c((e) => !e);
60
- }, oe = () => s.map((e) => {
61
- const r = e.onConfigure ?? (D ? () => D(e.id) : void 0);
61
+ r((e) => !e);
62
+ }, le = (e, n) => {
63
+ if (x)
64
+ return;
65
+ const u = n();
66
+ u && typeof u.then == "function" && (H(e), u.finally(() => H(null)));
67
+ }, re = () => a.map((e) => {
68
+ const n = e.onConfigure ?? (R ? () => R(e.id) : void 0);
62
69
  return /* @__PURE__ */ i(
63
- ae,
70
+ me,
64
71
  {
65
- "data-test": `${t}-row-${e.id}`,
72
+ "data-test": `${l}-row-${e.id}`,
66
73
  children: [
67
74
  A(e.icon),
68
- /* @__PURE__ */ o(ue, { children: /* @__PURE__ */ o(C, { numberOfLines: 1, color: d.content.primary, children: e.label }) }),
69
- /* @__PURE__ */ i(he, { children: [
70
- r && // Configurable rows (sub-agents, Rest API / email tools) get an
75
+ /* @__PURE__ */ o(E, { body: e.label, placement: "top", children: /* @__PURE__ */ o(Se, { children: /* @__PURE__ */ o(ue, { numberOfLines: 1, color: d.content.primary, children: e.label }) }) }),
76
+ /* @__PURE__ */ i(ge, { children: [
77
+ n && // Configurable rows (sub-agents, Rest API / email tools) get an
71
78
  // always-visible edit icon.
72
- /* @__PURE__ */ o(
73
- q,
79
+ /* @__PURE__ */ o(E, { body: "Edit", placement: "top", children: /* @__PURE__ */ o(
80
+ Q,
74
81
  {
75
- "data-test": `${t}-edit-${e.id}`,
82
+ "data-test": `${l}-edit-${e.id}`,
76
83
  "aria-label": `Edit ${e.label}`,
77
- onClick: r,
84
+ disabled: x !== null,
85
+ onClick: () => le(e.id, n),
78
86
  children: /* @__PURE__ */ o(
79
- te,
87
+ ie,
80
88
  {
81
89
  width: 16,
82
90
  height: 16,
@@ -84,16 +92,16 @@ const Q = "__bik_create_new__", He = ({
84
92
  }
85
93
  )
86
94
  }
87
- ),
88
- r && /* @__PURE__ */ o(fe, { "aria-hidden": !0 }),
89
- /* @__PURE__ */ o(
90
- q,
95
+ ) }),
96
+ n && /* @__PURE__ */ o(we, { "aria-hidden": !0 }),
97
+ /* @__PURE__ */ o(E, { body: "Delete", placement: "top", children: /* @__PURE__ */ o(
98
+ Q,
91
99
  {
92
- "data-test": `${t}-delete-${e.id}`,
100
+ "data-test": `${l}-delete-${e.id}`,
93
101
  "aria-label": `Delete ${e.label}`,
94
- onClick: () => h ? $(e.id) : R(e.id),
102
+ onClick: () => p ? b(e.id) : I(e.id),
95
103
  children: /* @__PURE__ */ o(
96
- ne,
104
+ ce,
97
105
  {
98
106
  width: 16,
99
107
  height: 16,
@@ -101,18 +109,18 @@ const Q = "__bik_create_new__", He = ({
101
109
  }
102
110
  )
103
111
  }
104
- )
112
+ ) })
105
113
  ] })
106
114
  ]
107
115
  },
108
116
  e.id
109
117
  );
110
- }), M = n ? [
111
- ...f,
118
+ }), F = t ? [
119
+ ...m,
112
120
  {
113
- label: n.label,
114
- value: Q,
115
- searchKey: n.label,
121
+ label: t.label,
122
+ value: Z,
123
+ searchKey: t.label,
116
124
  customComponent: /* @__PURE__ */ o(
117
125
  "div",
118
126
  {
@@ -124,163 +132,180 @@ const Q = "__bik_create_new__", He = ({
124
132
  fontSize: 14,
125
133
  fontWeight: 600
126
134
  },
127
- children: n.label
135
+ children: t.label
128
136
  }
129
137
  )
130
138
  }
131
- ] : f, N = l ? /* @__PURE__ */ o(
132
- me,
139
+ ] : m, K = c ? /* @__PURE__ */ o(
140
+ ve,
133
141
  {
134
142
  items: B ?? [],
135
143
  query: "",
136
144
  activeIndex: 0,
137
- initialSource: w ?? void 0,
145
+ initialSource: y ?? void 0,
138
146
  onSelect: (e) => {
139
- c(!1), g(String(e.id));
147
+ r(!1), $(String(e.id));
140
148
  },
141
- onClose: () => c(!1),
142
- onCreateSubAgent: n ? () => {
143
- c(!1), n.onSelect();
149
+ onClose: () => r(!1),
150
+ onCreateSubAgent: t ? () => {
151
+ r(!1), t.onSelect();
144
152
  } : void 0,
145
- toolActions: H ? m?.map((e) => ({
153
+ toolActions: j ? g?.map((e) => ({
146
154
  ...e,
147
155
  onSelect: () => {
148
- c(!1), e.onSelect();
156
+ r(!1), e.onSelect();
149
157
  }
150
158
  })) : void 0
151
159
  },
152
- w ?? "__root__"
160
+ y ?? "__root__"
153
161
  ) : null;
154
- return /* @__PURE__ */ i(ce, { children: [
155
- /* @__PURE__ */ i(ie, { children: [
156
- /* @__PURE__ */ o(re, { color: d.content.primary, children: u }),
157
- G && /* @__PURE__ */ i(ve, { ref: L, children: [
162
+ return /* @__PURE__ */ i(ae, { children: [
163
+ /* @__PURE__ */ i(he, { children: [
164
+ /* @__PURE__ */ o(se, { color: d.content.primary, children: s }),
165
+ ee && /* @__PURE__ */ i(Ce, { ref: M, children: [
158
166
  /* @__PURE__ */ o(
159
- de,
167
+ pe,
160
168
  {
161
- "data-test": `${t}-add`,
162
- onClick: ee,
163
- "aria-label": `Add ${u}`,
164
- children: /* @__PURE__ */ o(F, { width: 20, height: 20, color: d.content.brand })
169
+ "data-test": `${l}-add`,
170
+ onClick: te,
171
+ "aria-label": `Add ${s}`,
172
+ children: /* @__PURE__ */ o(U, { width: 16, height: 16, color: d.content.primary })
165
173
  }
166
174
  ),
167
- l && a && w === null && /* @__PURE__ */ o(X, { "data-test": `${t}-picker`, children: N })
175
+ c && h && y === null && /* @__PURE__ */ o(
176
+ G,
177
+ {
178
+ $up: L,
179
+ "data-test": `${l}-picker`,
180
+ children: K
181
+ }
182
+ )
168
183
  ] })
169
184
  ] }),
170
- _ && /* @__PURE__ */ o(U, { color: d.content.secondary, children: _ }),
171
- O ? /* @__PURE__ */ i(ge, { ref: l ? z : void 0, children: [
172
- /* @__PURE__ */ i(se, { "data-test": `${t}-sources`, children: [
173
- p?.map((e) => /* @__PURE__ */ i(
174
- V,
185
+ D && /* @__PURE__ */ o(v, { color: d.content.secondary, children: D }),
186
+ ne ? /* @__PURE__ */ i(ke, { ref: c ? N : void 0, children: [
187
+ /* @__PURE__ */ i(fe, { "data-test": `${l}-sources`, children: [
188
+ S?.map((e) => /* @__PURE__ */ i(
189
+ P,
175
190
  {
176
191
  type: "button",
177
- "data-test": `${t}-source-${e.source}`,
192
+ "data-test": `${l}-source-${e.source}`,
178
193
  onClick: () => {
179
- if (l) {
180
- x(e.source), c(!0);
194
+ if (c) {
195
+ W(e.source), r(!0);
181
196
  return;
182
197
  }
183
- y(e.source);
198
+ C(e.source);
184
199
  },
185
200
  children: [
186
- A(pe[e.source], -4),
187
- /* @__PURE__ */ o(C, { color: d.content.primary, children: e.label })
201
+ A(ye[e.source], -4),
202
+ /* @__PURE__ */ o(v, { color: d.content.primary, children: e.label })
188
203
  ]
189
204
  },
190
205
  e.source
191
206
  )),
192
- m?.map((e) => /* @__PURE__ */ i(
193
- V,
207
+ g?.map((e) => /* @__PURE__ */ i(
208
+ P,
194
209
  {
195
210
  type: "button",
196
- "data-test": `${t}-action-${e.source}`,
197
- onClick: e.onSelect,
211
+ "data-test": `${l}-action-${e.source}`,
212
+ onClick: () => {
213
+ r(!1), e.onSelect();
214
+ },
198
215
  children: [
199
216
  A(e.icon, -4),
200
- /* @__PURE__ */ o(C, { color: d.content.primary, children: e.label })
217
+ /* @__PURE__ */ o(v, { color: d.content.primary, children: e.label })
201
218
  ]
202
219
  },
203
220
  e.source
204
221
  ))
205
222
  ] }),
206
- l && a && w !== null && /* @__PURE__ */ o(X, { $align: "left", "data-test": `${t}-picker`, children: N }),
207
- !l && b && /* @__PURE__ */ o(
208
- J,
223
+ c && h && y !== null && /* @__PURE__ */ o(
224
+ G,
225
+ {
226
+ $align: "left",
227
+ $up: L,
228
+ "data-test": `${l}-picker`,
229
+ children: K
230
+ }
231
+ ),
232
+ !c && k && /* @__PURE__ */ o(
233
+ X,
209
234
  {
210
- "data-test": `${t}-dropdown`,
235
+ "data-test": `${l}-dropdown`,
211
236
  size: "small",
212
237
  width: "100%",
213
238
  isSearchable: !0,
214
- placeHolder: `Search ${b.label} tools`,
215
- options: b.options,
239
+ placeHolder: `Search ${k.label} tools`,
240
+ options: k.options,
216
241
  onSelect: (e) => {
217
- const r = P(e);
218
- y(null), c(!1), r && g(r);
242
+ const n = Y(e);
243
+ C(null), r(!1), n && $(n);
219
244
  }
220
245
  }
221
246
  )
222
- ] }) : /* @__PURE__ */ i(j, { children: [
223
- !l && a && M.length > 0 && /* @__PURE__ */ o(
224
- J,
247
+ ] }) : /* @__PURE__ */ i(q, { children: [
248
+ !c && h && F.length > 0 && /* @__PURE__ */ o(
249
+ X,
225
250
  {
226
- "data-test": `${t}-dropdown`,
251
+ "data-test": `${l}-dropdown`,
227
252
  size: "small",
228
253
  width: "100%",
229
254
  isSearchable: !0,
230
- placeHolder: `Select ${u.toLowerCase()}`,
231
- options: M,
255
+ placeHolder: `Select ${s.toLowerCase()}`,
256
+ options: F,
232
257
  onSelect: (e) => {
233
- const r = P(e);
234
- c(!1), r && (r === Q ? n?.onSelect() : g(r));
258
+ const n = Y(e);
259
+ r(!1), n && (n === Z ? t?.onSelect() : $(n));
235
260
  }
236
261
  }
237
262
  ),
238
- s.length === 0 && !a ? /* @__PURE__ */ i(j, { children: [
239
- /* @__PURE__ */ o(U, { color: d.content.placeholder, children: Y }),
240
- T && n && /* @__PURE__ */ o(
241
- Se,
263
+ a.length === 0 && !h ? /* @__PURE__ */ i(q, { children: [
264
+ /* @__PURE__ */ o(v, { color: d.content.placeholder, children: T }),
265
+ oe && t && /* @__PURE__ */ o(
266
+ $e,
242
267
  {
243
- "data-test": `${t}-create`,
268
+ "data-test": `${l}-create`,
244
269
  buttonType: "secondary",
245
270
  size: "small",
246
271
  matchParentWidth: !0,
247
- LeadingIcon: F,
248
- buttonText: n.label,
249
- onClick: n.onSelect
272
+ LeadingIcon: U,
273
+ buttonText: t.label,
274
+ onClick: t.onSelect
250
275
  }
251
276
  )
252
- ] }) : oe()
277
+ ] }) : re()
253
278
  ] }),
254
- h && I && /* @__PURE__ */ o(
255
- we,
279
+ p && z && /* @__PURE__ */ o(
280
+ be,
256
281
  {
257
- "data-test": `${t}-delete-confirm`,
258
- header: `Delete this ${h.noun}?`,
259
- subHeader: `Deleting this ${h.noun} will also remove it from your instructions, wherever it's referenced.`,
282
+ "data-test": `${l}-delete-confirm`,
283
+ header: `Delete this ${p.noun}?`,
284
+ subHeader: `Deleting this ${p.noun} will also remove it from your instructions, wherever it's referenced.`,
260
285
  confirmationText: "Delete",
261
- zIndex: h.zIndex,
286
+ zIndex: p.zIndex,
262
287
  onDeleteConfirmed: () => {
263
- R(I), $(null);
288
+ I(z), b(null);
264
289
  },
265
- onCancelClicked: () => $(null)
290
+ onCancelClicked: () => b(null)
266
291
  }
267
292
  )
268
293
  ] });
269
- }, ve = E.div`
294
+ }, Ce = _.div`
270
295
  position: relative;
271
296
  display: flex;
272
- `, ge = E.div`
297
+ `, ke = _.div`
273
298
  position: relative;
274
299
  display: flex;
275
300
  flex-direction: column;
276
301
  gap: 8px;
277
- `, X = E.div`
302
+ `, G = _.div`
278
303
  position: absolute;
279
- top: calc(100% + 4px);
280
- ${(u) => u.$align === "left" ? "left: 0;" : "right: 0;"}
304
+ ${(s) => s.$up ? "bottom: calc(100% + 4px);" : "top: calc(100% + 4px);"}
305
+ ${(s) => s.$align === "left" ? "left: 0;" : "right: 0;"}
281
306
  z-index: 30;
282
307
  `;
283
308
  export {
284
- He as SelectableListSection
309
+ Ke as SelectableListSection
285
310
  };
286
311
  //# sourceMappingURL=SelectableListSection.js.map