@bikdotai/bik-component-library 0.0.841-beta.0 → 0.0.841

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