@bikdotai/bik-component-library 0.0.836-beta.2 → 0.0.836-beta.3

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 (128) 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 +41 -23
  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/CreateSubAgentPanel.js +1 -1
  10. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  14. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/MentionPicker.js +2 -2
  16. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +1 -1
  18. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +6 -6
  20. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +1 -1
  22. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  24. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +3 -1
  26. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  28. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  29. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  30. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  31. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  32. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  33. package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
  34. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
  35. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  36. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  37. package/dist/cjs/components/agent-listing/AgentTableShimmer.js +2 -0
  38. package/dist/cjs/components/agent-listing/AgentTableShimmer.js.map +1 -0
  39. package/dist/cjs/components/button/Button.styled.js +3 -7
  40. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  41. package/dist/cjs/components/button/themes.js +3 -3
  42. package/dist/cjs/components/button/themes.js.map +1 -1
  43. package/dist/cjs/components/checkBox/CheckBox.js +1 -1
  44. package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
  45. package/dist/cjs/components/checkBox/CheckBox.styled.js +10 -7
  46. package/dist/cjs/components/checkBox/CheckBox.styled.js.map +1 -1
  47. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  48. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  49. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  50. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  51. package/dist/cjs/components/whats-new/WhatsNewButton.js +2 -2
  52. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  53. package/dist/cjs/editor/BikEditor.js +1 -1
  54. package/dist/cjs/editor/BikEditor.js.map +1 -1
  55. package/dist/cjs/editor/BikEditor.styles.js +74 -42
  56. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  57. package/dist/esm/components/agent-builder/AgentBuilder.js +80 -77
  58. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  59. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +3 -0
  60. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +106 -84
  61. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  62. package/dist/esm/components/agent-builder/__fixtures__/agentValue.d.ts +11 -0
  63. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -21
  64. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  65. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +21 -21
  66. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  67. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +24 -23
  68. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  69. package/dist/esm/components/agent-builder/components/DiscardModal.js +15 -8
  70. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
  71. package/dist/esm/components/agent-builder/components/GoLiveModal.js +11 -11
  72. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  73. package/dist/esm/components/agent-builder/components/MentionPicker.js +41 -40
  74. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  75. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +22 -21
  76. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  77. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +13 -4
  78. package/dist/esm/components/agent-builder/components/SelectableListSection.js +167 -144
  79. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  80. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +7 -7
  81. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  82. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +104 -103
  83. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  84. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +84 -82
  85. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  86. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +20 -19
  87. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  88. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +23 -79
  89. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  90. package/dist/esm/components/agent-listing/AgentListing.js +70 -65
  91. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  92. package/dist/esm/components/agent-listing/AgentTable.d.ts +2 -0
  93. package/dist/esm/components/agent-listing/AgentTable.js +16 -15
  94. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
  95. package/dist/esm/components/agent-listing/AgentTableRow.js +7 -7
  96. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  97. package/dist/esm/components/agent-listing/AgentTableShimmer.d.ts +12 -0
  98. package/dist/esm/components/agent-listing/AgentTableShimmer.js +20 -0
  99. package/dist/esm/components/agent-listing/AgentTableShimmer.js.map +1 -0
  100. package/dist/esm/components/agent-listing/__fixtures__/agents.d.ts +3 -0
  101. package/dist/esm/components/button/Button.styled.js +25 -24
  102. package/dist/esm/components/button/Button.styled.js.map +1 -1
  103. package/dist/esm/components/button/themes.d.ts +1 -1
  104. package/dist/esm/components/button/themes.js +1 -1
  105. package/dist/esm/components/button/themes.js.map +1 -1
  106. package/dist/esm/components/checkBox/CheckBox.js +16 -17
  107. package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
  108. package/dist/esm/components/checkBox/CheckBox.styled.d.ts +0 -1
  109. package/dist/esm/components/checkBox/CheckBox.styled.js +11 -9
  110. package/dist/esm/components/checkBox/CheckBox.styled.js.map +1 -1
  111. package/dist/esm/components/dropdown/Dropdown.js +18 -13
  112. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  113. package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -1
  114. package/dist/esm/components/whats-new/WhatsNew.js +17 -19
  115. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  116. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -1
  117. package/dist/esm/components/whats-new/WhatsNewButton.js +32 -37
  118. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  119. package/dist/esm/editor/BikEditor.js +173 -160
  120. package/dist/esm/editor/BikEditor.js.map +1 -1
  121. package/dist/esm/editor/BikEditor.styles.d.ts +20 -3
  122. package/dist/esm/editor/BikEditor.styles.js +78 -44
  123. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  124. package/package.json +1 -1
  125. package/dist/cjs/utils/rgba.js +0 -2
  126. package/dist/cjs/utils/rgba.js.map +0 -1
  127. package/dist/esm/utils/rgba.js +0 -10
  128. package/dist/esm/utils/rgba.js.map +0 -1
@@ -1,84 +1,28 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { RadioButton as d } from "../../radioButton/RadioButton.js";
3
- import { TitleSmall as a, BodyCaption as l } from "../../TypographyStyle.js";
4
- import { COLORS as o } from "../../../constants/Theme.js";
5
- import { SectionBodyWrap as u, FieldBlock as v, CardRow as g, RadioCard as h, RadioCardText as s } from "../AgentBuilder.styled.js";
6
- import { AiTextArea as C } from "../components/AiTextArea.js";
7
- import { StepSectionHeader as S } from "../components/StepSectionHeader.js";
8
- import { STEP_DEFINITIONS as y } from "../constants/steps.js";
9
- import { useAgentBuilderContext as x } from "../context/AgentBuilderContext.js";
10
- const m = y[3], _ = () => {
11
- const { value: p, patch: c, charLimits: f } = x(), { handover: n } = p, r = (i) => c({ handover: { ...n, method: i } });
12
- return /* @__PURE__ */ t("div", { className: "bik-agent-step bik-agent-step--handover", children: [
13
- /* @__PURE__ */ e(S, { title: m.title, helper: m.helper }),
14
- /* @__PURE__ */ t(u, { children: [
15
- /* @__PURE__ */ e(
16
- C,
17
- {
18
- "data-test": "handover-when",
19
- label: "Handover when",
20
- value: n.when,
21
- onChange: (i) => c({ handover: { ...n, when: i } }),
22
- maxLength: f.handoverWhen,
23
- placeholder: "e.g. Hand over if the customer is angry or requests a human agent.",
24
- minHeight: "120px"
25
- }
26
- ),
27
- /* @__PURE__ */ t(v, { children: [
28
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Handover method" }),
29
- /* @__PURE__ */ t(g, { children: [
30
- /* @__PURE__ */ t(
31
- h,
32
- {
33
- "data-test": "handover-method-default",
34
- selected: n.method === "default",
35
- onClick: () => r("default"),
36
- children: [
37
- /* @__PURE__ */ e(
38
- d,
39
- {
40
- isActive: n.method === "default",
41
- onValueChange: () => r("default"),
42
- skipSelectingOff: !0,
43
- activeColor: o.content.brand
44
- }
45
- ),
46
- /* @__PURE__ */ t(s, { children: [
47
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Use default settings" }),
48
- /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Defined in Customize > Agent handover" })
49
- ] })
50
- ]
51
- }
52
- ),
53
- /* @__PURE__ */ t(
54
- h,
55
- {
56
- "data-test": "handover-method-specific",
57
- selected: n.method === "specific_channels",
58
- onClick: () => r("specific_channels"),
59
- children: [
60
- /* @__PURE__ */ e(
61
- d,
62
- {
63
- isActive: n.method === "specific_channels",
64
- onValueChange: () => r("specific_channels"),
65
- skipSelectingOff: !0,
66
- activeColor: o.content.brand
67
- }
68
- ),
69
- /* @__PURE__ */ t(s, { children: [
70
- /* @__PURE__ */ e(a, { color: o.content.primary, children: "Choose specific channels" }),
71
- /* @__PURE__ */ e(l, { color: o.content.secondary, children: "Always hands over regardless of business hours." })
72
- ] })
73
- ]
74
- }
75
- )
76
- ] })
77
- ] })
78
- ] })
1
+ import { jsxs as h, jsx as e } from "react/jsx-runtime";
2
+ import { SectionBodyWrap as s } from "../AgentBuilder.styled.js";
3
+ import { AiTextArea as m } from "../components/AiTextArea.js";
4
+ import { StepSectionHeader as p } from "../components/StepSectionHeader.js";
5
+ import { STEP_DEFINITIONS as d } from "../constants/steps.js";
6
+ import { useAgentBuilderContext as l } from "../context/AgentBuilderContext.js";
7
+ const r = d[3], S = () => {
8
+ const { value: n, patch: o, charLimits: a } = l(), { handover: t } = n;
9
+ return /* @__PURE__ */ h("div", { className: "bik-agent-step bik-agent-step--handover", children: [
10
+ /* @__PURE__ */ e(p, { title: r.title, helper: r.helper }),
11
+ /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(
12
+ m,
13
+ {
14
+ "data-test": "handover-when",
15
+ label: "Handover when",
16
+ value: t.when,
17
+ onChange: (i) => o({ handover: { ...t, when: i } }),
18
+ maxLength: a.handoverWhen,
19
+ placeholder: "e.g. Hand over if the customer is angry or requests a human agent.",
20
+ minHeight: "120px"
21
+ }
22
+ ) })
79
23
  ] });
80
24
  };
81
25
  export {
82
- _ as Step4HandoverRules
26
+ S as Step4HandoverRules
83
27
  };
84
28
  //# sourceMappingURL=Step4HandoverRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Step4HandoverRules.js","sources":["../../../../../src/components/agent-builder/steps/Step4HandoverRules.tsx"],"sourcesContent":["import React from 'react';\nimport { RadioButton } from '@src/components/radioButton/RadioButton';\nimport { BodyCaption, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { HandoverMethod } from '../AgentBuilder.model';\nimport {\n\tCardRow,\n\tFieldBlock,\n\tRadioCard,\n\tRadioCardText,\n\tSectionBodyWrap,\n} from '../AgentBuilder.styled';\nimport { AiTextArea } from '../components/AiTextArea';\nimport { StepSectionHeader } from '../components/StepSectionHeader';\nimport { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\nconst STEP = STEP_DEFINITIONS[3];\n\nexport const Step4HandoverRules: React.FC = () => {\n\tconst { value, patch, charLimits } = useAgentBuilderContext();\n\tconst { handover } = value;\n\n\tconst setMethod = (method: HandoverMethod) =>\n\t\tpatch({ handover: { ...handover, method } });\n\n\treturn (\n\t\t<div className=\"bik-agent-step bik-agent-step--handover\">\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\n\t\t\t<SectionBodyWrap>\n\t\t\t\t<AiTextArea\n\t\t\t\t\tdata-test=\"handover-when\"\n\t\t\t\t\tlabel=\"Handover when\"\n\t\t\t\t\tvalue={handover.when}\n\t\t\t\t\tonChange={(text) => patch({ handover: { ...handover, when: text } })}\n\t\t\t\t\tmaxLength={charLimits.handoverWhen}\n\t\t\t\t\tplaceholder=\"e.g. Hand over if the customer is angry or requests a human agent.\"\n\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t/>\n\n\t\t\t\t<FieldBlock>\n\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\tHandover method\n\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t<CardRow>\n\t\t\t\t\t\t<RadioCard\n\t\t\t\t\t\t\tdata-test=\"handover-method-default\"\n\t\t\t\t\t\t\tselected={handover.method === 'default'}\n\t\t\t\t\t\t\tonClick={() => setMethod('default')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\t\tisActive={handover.method === 'default'}\n\t\t\t\t\t\t\t\tonValueChange={() => setMethod('default')}\n\t\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t\tUse default settings\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\tDefined in Customize &gt; Agent handover\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t\t</RadioCard>\n\n\t\t\t\t\t\t<RadioCard\n\t\t\t\t\t\t\tdata-test=\"handover-method-specific\"\n\t\t\t\t\t\t\tselected={handover.method === 'specific_channels'}\n\t\t\t\t\t\t\tonClick={() => setMethod('specific_channels')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\t\tisActive={handover.method === 'specific_channels'}\n\t\t\t\t\t\t\t\tonValueChange={() => setMethod('specific_channels')}\n\t\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t\tChoose specific channels\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\tAlways hands over regardless of business hours.\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t\t</RadioCard>\n\t\t\t\t\t</CardRow>\n\t\t\t\t</FieldBlock>\n\t\t\t</SectionBodyWrap>\n\t\t</div>\n\t);\n};\n"],"names":["STEP","STEP_DEFINITIONS","Step4HandoverRules","value","patch","charLimits","useAgentBuilderContext","handover","setMethod","method","jsxs","jsx","StepSectionHeader","SectionBodyWrap","AiTextArea","text","FieldBlock","TitleSmall","COLORS","CardRow","RadioCard","RadioButton","RadioCardText","BodyCaption"],"mappings":";;;;;;;;;AAiBA,MAAMA,IAAOC,EAAiB,CAAC,GAElBC,IAA+B,MAAM;AACjD,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAA,GAC/B,EAAE,UAAAC,MAAaJ,GAEfK,IAAY,CAACC,MAClBL,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,QAAAE,EAAA,GAAU;AAE5C,SACC,gBAAAC,EAAC,OAAA,EAAI,WAAU,2CACd,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,OAAOZ,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,sBAE1Da,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,OAAM;AAAA,UACN,OAAOP,EAAS;AAAA,UAChB,UAAU,CAACQ,MAASX,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,MAAMQ,EAAA,GAAQ;AAAA,UACnE,WAAWV,EAAW;AAAA,UACtB,aAAY;AAAA,UACZ,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,wBAGVW,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAL,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,mBAE3C;AAAA,0BACCC,GAAA,EACA,UAAA;AAAA,UAAA,gBAAAT;AAAA,YAACU;AAAA,YAAA;AAAA,cACA,aAAU;AAAA,cACV,UAAUb,EAAS,WAAW;AAAA,cAC9B,SAAS,MAAMC,EAAU,SAAS;AAAA,cAElC,UAAA;AAAA,gBAAA,gBAAAG;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACA,UAAUd,EAAS,WAAW;AAAA,oBAC9B,eAAe,MAAMC,EAAU,SAAS;AAAA,oBACxC,kBAAgB;AAAA,oBAChB,aAAaU,EAAO,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAE5BI,GAAA,EACA,UAAA;AAAA,kBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,wBAE3C;AAAA,oCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,wCAAA,CAE9C;AAAA,gBAAA,EAAA,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD,gBAAAR;AAAA,YAACU;AAAA,YAAA;AAAA,cACA,aAAU;AAAA,cACV,UAAUb,EAAS,WAAW;AAAA,cAC9B,SAAS,MAAMC,EAAU,mBAAmB;AAAA,cAE5C,UAAA;AAAA,gBAAA,gBAAAG;AAAA,kBAACU;AAAA,kBAAA;AAAA,oBACA,UAAUd,EAAS,WAAW;AAAA,oBAC9B,eAAe,MAAMC,EAAU,mBAAmB;AAAA,oBAClD,kBAAgB;AAAA,oBAChB,aAAaU,EAAO,QAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,kCAE5BI,GAAA,EACA,UAAA;AAAA,kBAAA,gBAAAX,EAACM,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAS,UAAA,4BAE3C;AAAA,oCACCK,GAAA,EAAY,OAAOL,EAAO,QAAQ,WAAW,UAAA,kDAAA,CAE9C;AAAA,gBAAA,EAAA,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACD,EAAA,CACD;AAAA,MAAA,EAAA,CACD;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
1
+ {"version":3,"file":"Step4HandoverRules.js","sources":["../../../../../src/components/agent-builder/steps/Step4HandoverRules.tsx"],"sourcesContent":["import React from 'react';\nimport { SectionBodyWrap } from '../AgentBuilder.styled';\nimport { AiTextArea } from '../components/AiTextArea';\nimport { StepSectionHeader } from '../components/StepSectionHeader';\nimport { STEP_DEFINITIONS } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\n\nconst STEP = STEP_DEFINITIONS[3];\n\n// The \"Handover method\" radio section was removed: the method is UI-only and the\n// consumer always sends the seeded default ('default'); handover.method stays on\n// the value shape untouched.\nexport const Step4HandoverRules: React.FC = () => {\n\tconst { value, patch, charLimits } = useAgentBuilderContext();\n\tconst { handover } = value;\n\n\treturn (\n\t\t<div className=\"bik-agent-step bik-agent-step--handover\">\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\n\t\t\t<SectionBodyWrap>\n\t\t\t\t<AiTextArea\n\t\t\t\t\tdata-test=\"handover-when\"\n\t\t\t\t\tlabel=\"Handover when\"\n\t\t\t\t\tvalue={handover.when}\n\t\t\t\t\tonChange={(text) => patch({ handover: { ...handover, when: text } })}\n\t\t\t\t\tmaxLength={charLimits.handoverWhen}\n\t\t\t\t\tplaceholder=\"e.g. Hand over if the customer is angry or requests a human agent.\"\n\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t/>\n\t\t\t</SectionBodyWrap>\n\t\t</div>\n\t);\n};\n"],"names":["STEP","STEP_DEFINITIONS","Step4HandoverRules","value","patch","charLimits","useAgentBuilderContext","handover","jsxs","jsx","StepSectionHeader","SectionBodyWrap","AiTextArea","text"],"mappings":";;;;;;AAOA,MAAMA,IAAOC,EAAiB,CAAC,GAKlBC,IAA+B,MAAM;AACjD,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,YAAAC,EAAA,IAAeC,EAAA,GAC/B,EAAE,UAAAC,MAAaJ;AAErB,SACC,gBAAAK,EAAC,OAAA,EAAI,WAAU,2CACd,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAkB,OAAOV,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,sBAE1DW,GAAA,EACA,UAAA,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACA,aAAU;AAAA,QACV,OAAM;AAAA,QACN,OAAOL,EAAS;AAAA,QAChB,UAAU,CAACM,MAAST,EAAM,EAAE,UAAU,EAAE,GAAGG,GAAU,MAAMM,EAAA,GAAQ;AAAA,QACnE,WAAWR,EAAW;AAAA,QACtB,aAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,EACX,CACD;AAAA,EAAA,GACD;AAEF;"}
@@ -1,33 +1,34 @@
1
1
  import { jsxs as z, jsx as i, Fragment as Q } from "react/jsx-runtime";
2
- import { useState as D, useCallback as n } from "react";
2
+ import { useState as T, useCallback as n } from "react";
3
3
  import { TablePagination as U } from "../TablePagination/TablePagination.js";
4
4
  import { ZeroState as W } from "../zeroState/ZeroState.js";
5
5
  import { Page as X, Body as Y, EmptyHolder as _ } from "./AgentListing.styled.js";
6
6
  import { AgentListingFilters as ee } from "./AgentListingFilters.js";
7
7
  import { AgentListingHeader as te } from "./AgentListingHeader.js";
8
8
  import { AgentTable as ne } from "./AgentTable.js";
9
- import { DeleteAgentModal as oe } from "./DeleteAgentModal.js";
10
- import { unwrapDropdownValue as ie } from "../dropdown/utils.js";
11
- const ae = ({
12
- config: L,
13
- onSearchChange: f,
14
- onSearchSubmit: r,
9
+ import { AgentTableShimmer as oe } from "./AgentTableShimmer.js";
10
+ import { DeleteAgentModal as ie } from "./DeleteAgentModal.js";
11
+ import { unwrapDropdownValue as ae } from "../dropdown/utils.js";
12
+ const re = ({
13
+ config: D,
14
+ onSearchChange: u,
15
+ onSearchSubmit: l,
15
16
  onFilterChange: g,
16
17
  onSortChange: d,
17
- onNewAgent: A,
18
- onBrowseTemplates: c,
19
- onRunAgent: S,
20
- onEditAgent: b,
21
- onDeleteAgent: s,
22
- onRowClick: m,
23
- ...R
18
+ onNewAgent: f,
19
+ onBrowseTemplates: m,
20
+ onRunAgent: A,
21
+ onEditAgent: S,
22
+ onDeleteAgent: r,
23
+ onRowClick: c,
24
+ ...L
24
25
  }) => {
25
- const [a, h] = D(
26
+ const [a, h] = T(
26
27
  null
27
- ), [C, N] = D(!1), {
28
- agents: w,
29
- isLoading: p,
30
- searchValue: T,
28
+ ), [b, w] = T(!1), {
29
+ agents: C,
30
+ isLoading: N,
31
+ searchValue: R,
31
32
  searchPlaceholder: v = "Search",
32
33
  filterOptions: x,
33
34
  filterPlaceholder: B = "Filters",
@@ -36,99 +37,103 @@ const ae = ({
36
37
  title: I = "AI Agents",
37
38
  headerActions: O,
38
39
  pagination: o,
39
- emptyState: u,
40
+ emptyState: p,
40
41
  debugLog: y
41
- } = L, k = !p && w.length === 0, t = n(
42
- (e, ...l) => {
43
- y && console.log(`[AgentListing] ${e}`, ...l);
42
+ } = D, k = !N && C.length === 0, t = n(
43
+ (e, ...s) => {
44
+ y && console.log(`[AgentListing] ${e}`, ...s);
44
45
  },
45
46
  [y]
46
47
  ), j = n(
47
48
  (e) => {
48
- t("onSearchChange", e), f(e);
49
+ t("onSearchChange", e), u(e);
49
50
  },
50
- [t, f]
51
+ [t, u]
51
52
  ), H = n(
52
53
  (e) => {
53
- t("onSearchSubmit", e), r?.(e);
54
+ t("onSearchSubmit", e), l?.(e);
54
55
  },
55
- [t, r]
56
- ), V = n(
56
+ [t, l]
57
+ ), M = n(
57
58
  (e) => {
58
59
  t("onFilterChange", e), g?.(e);
59
60
  },
60
61
  [t, g]
61
- ), q = n(
62
+ ), V = n(
62
63
  (e) => {
63
64
  t("onSortChange", e), d?.(e);
64
65
  },
65
66
  [t, d]
66
67
  ), P = n(() => {
67
- t("onNewAgent"), A();
68
- }, [t, A]), M = n(() => {
69
- t("onBrowseTemplates"), c?.();
70
- }, [t, c]), Z = n(
68
+ t("onNewAgent"), f();
69
+ }, [t, f]), q = n(() => {
70
+ t("onBrowseTemplates"), m?.();
71
+ }, [t, m]), Z = n(
71
72
  (e) => {
72
- t("onRunAgent", e.id), S(e);
73
+ t("onRunAgent", e.id), A(e);
73
74
  },
74
- [t, S]
75
+ [t, A]
75
76
  ), $ = n(
76
77
  (e) => {
77
- t("onEditAgent", e.id), b(e);
78
+ t("onEditAgent", e.id), S(e);
78
79
  },
79
- [t, b]
80
+ [t, S]
80
81
  ), G = n(
81
82
  (e) => {
82
- t("onRowClick", e.id), m?.(e);
83
+ t("onRowClick", e.id), c?.(e);
83
84
  },
84
- [t, m]
85
+ [t, c]
85
86
  ), J = n(
86
87
  (e) => {
87
88
  t("onDeleteAgent", e.id), h(e);
88
89
  },
89
90
  [t]
90
91
  ), K = n(async () => {
91
- if (!(!a || !s)) {
92
- N(!0);
92
+ if (!(!a || !r)) {
93
+ w(!0);
93
94
  try {
94
- await s(a), h(null);
95
+ await r(a), h(null);
95
96
  } finally {
96
- N(!1);
97
+ w(!1);
97
98
  }
98
99
  }
99
- }, [a, s]);
100
- return /* @__PURE__ */ z(X, { "data-test": R["data-test"] ?? "agent-listing", children: [
100
+ }, [a, r]);
101
+ return /* @__PURE__ */ z(X, { "data-test": L["data-test"] ?? "agent-listing", children: [
101
102
  /* @__PURE__ */ i(
102
103
  te,
103
104
  {
104
105
  title: I,
105
106
  onNewAgent: P,
106
- onBrowseTemplates: c ? M : void 0,
107
+ onBrowseTemplates: m ? q : void 0,
107
108
  headerActions: O
108
109
  }
109
110
  ),
110
111
  /* @__PURE__ */ i(
111
112
  ee,
112
113
  {
113
- searchValue: T,
114
+ searchValue: R,
114
115
  onSearchChange: j,
115
- onSearchSubmit: r ? H : void 0,
116
+ onSearchSubmit: l ? H : void 0,
116
117
  searchPlaceholder: v,
117
118
  filterOptions: x,
118
- onFilterChange: g ? V : void 0,
119
+ onFilterChange: g ? M : void 0,
119
120
  filterPlaceholder: B,
120
121
  sortOptions: E,
121
122
  selectedSort: F,
122
- onSortChange: d ? q : void 0
123
+ onSortChange: d ? V : void 0
123
124
  }
124
125
  ),
125
- /* @__PURE__ */ i(Y, { children: p || k ? /* @__PURE__ */ i(_, { children: /* @__PURE__ */ i(
126
+ /* @__PURE__ */ i(Y, { children: N ? (
127
+ // Table-shaped shimmer: refetches (page/page-size/sort/search) load in
128
+ // place instead of collapsing to a spinner. Keep the page
129
+ // height by matching the current page size.
130
+ /* @__PURE__ */ i(oe, { rows: Math.min(o?.pageSize ?? 5, 10) })
131
+ ) : k ? /* @__PURE__ */ i(_, { children: /* @__PURE__ */ i(
126
132
  W,
127
133
  {
128
- isLoading: p,
129
- title: u?.title ?? "No agents yet",
130
- subTitle: u?.subTitle ?? "Create your first AI agent to start automating conversations.",
131
- actionButton: u?.actionButton ?? {
134
+ title: p?.title ?? "No agents yet",
135
+ subTitle: p?.subTitle ?? "Create your first AI agent to start automating conversations.",
136
+ actionButton: p?.actionButton ?? {
132
137
  buttonText: "New AI agent",
133
138
  buttonType: "primary",
134
139
  size: "small",
@@ -139,11 +144,11 @@ const ae = ({
139
144
  /* @__PURE__ */ i(
140
145
  ne,
141
146
  {
142
- agents: w,
147
+ agents: C,
143
148
  onRunAgent: Z,
144
149
  onEditAgent: $,
145
- onDeleteAgent: s ? J : void 0,
146
- onRowClick: m ? G : void 0
150
+ onDeleteAgent: r ? J : void 0,
151
+ onRowClick: c ? G : void 0
147
152
  }
148
153
  ),
149
154
  o && o.totalRows > 0 && /* @__PURE__ */ i(
@@ -155,25 +160,25 @@ const ae = ({
155
160
  hidePageSizeOptions: o.hidePageSizeOptions,
156
161
  updatePageNumber: o.onPageChange,
157
162
  updatePageSize: (e) => {
158
- const l = Number(ie(e));
159
- Number.isNaN(l) || o.onPageSizeChange(l);
163
+ const s = Number(ae(e));
164
+ Number.isNaN(s) || o.onPageSizeChange(s);
160
165
  }
161
166
  }
162
167
  )
163
168
  ] }) }),
164
169
  a && /* @__PURE__ */ i(
165
- oe,
170
+ ie,
166
171
  {
167
172
  agentName: a.name,
168
- isDeleting: C,
169
- onClose: () => C ? void 0 : h(null),
173
+ isDeleting: b,
174
+ onClose: () => b ? void 0 : h(null),
170
175
  onConfirm: K
171
176
  }
172
177
  )
173
178
  ] });
174
179
  };
175
- ae.displayName = "AgentListing";
180
+ re.displayName = "AgentListing";
176
181
  export {
177
- ae as AgentListing
182
+ re as AgentListing
178
183
  };
179
184
  //# sourceMappingURL=AgentListing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentListing.js","sources":["../../../../src/components/agent-listing/AgentListing.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownOption } from '@src/components/dropdown/type';\nimport { TablePagination } from '@src/components/TablePagination/TablePagination';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { AgentListingProps, AgentListItem } from './AgentListing.model';\nimport { Body, EmptyHolder, Page } from './AgentListing.styled';\nimport { AgentListingFilters } from './AgentListingFilters';\nimport { AgentListingHeader } from './AgentListingHeader';\nimport { AgentTable } from './AgentTable';\nimport { DeleteAgentModal } from './DeleteAgentModal';\n\n/**\n * Full body of the \"AI Agents\" listing screen (header + filters + table).\n * Presentational and fully controlled — the consumer owns data, search, sort,\n * pagination and routing. Render it inside your app shell (next to the sidebar).\n *\n * @example\n * <AgentListing\n * agents={rows}\n * searchValue={search}\n * onSearchChange={setSearch}\n * onNewAgent={() => router.push('/agents/new')}\n * onRunAgent={runAgent}\n * onEditAgent={(a) => router.push(`/agents/${a.id}`)}\n * />\n */\nexport const AgentListing: React.FC<AgentListingProps> = ({\n\tconfig,\n\tonSearchChange,\n\tonSearchSubmit,\n\tonFilterChange,\n\tonSortChange,\n\tonNewAgent,\n\tonBrowseTemplates,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n\t...rest\n}) => {\n\t// Agent pending delete-confirmation (null = dialog closed).\n\tconst [pendingDelete, setPendingDelete] = useState<AgentListItem | null>(\n\t\tnull,\n\t);\n\tconst [isDeleting, setIsDeleting] = useState(false);\n\tconst {\n\t\tagents,\n\t\tisLoading,\n\t\tsearchValue,\n\t\tsearchPlaceholder = 'Search',\n\t\tfilterOptions,\n\t\tfilterPlaceholder = 'Filters',\n\t\tsortOptions,\n\t\tselectedSort,\n\t\ttitle = 'AI Agents',\n\t\theaderActions,\n\t\tpagination,\n\t\temptyState,\n\t\tdebugLog,\n\t} = config;\n\n\tconst showEmpty = !isLoading && agents.length === 0;\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentListing] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleSearchChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchChange', v);\n\t\t\tonSearchChange(v);\n\t\t},\n\t\t[logAction, onSearchChange],\n\t);\n\tconst handleSearchSubmit = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchSubmit', v);\n\t\t\tonSearchSubmit?.(v);\n\t\t},\n\t\t[logAction, onSearchSubmit],\n\t);\n\tconst handleFilterChange = useCallback(\n\t\t(selected: DropdownOption | DropdownOption[]) => {\n\t\t\tlogAction('onFilterChange', selected);\n\t\t\tonFilterChange?.(selected);\n\t\t},\n\t\t[logAction, onFilterChange],\n\t);\n\tconst handleSortChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSortChange', v);\n\t\t\tonSortChange?.(v);\n\t\t},\n\t\t[logAction, onSortChange],\n\t);\n\tconst handleNewAgent = useCallback(() => {\n\t\tlogAction('onNewAgent');\n\t\tonNewAgent();\n\t}, [logAction, onNewAgent]);\n\tconst handleBrowseTemplates = useCallback(() => {\n\t\tlogAction('onBrowseTemplates');\n\t\tonBrowseTemplates?.();\n\t}, [logAction, onBrowseTemplates]);\n\tconst handleRunAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRunAgent', agent.id);\n\t\t\tonRunAgent(agent);\n\t\t},\n\t\t[logAction, onRunAgent],\n\t);\n\tconst handleEditAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onEditAgent', agent.id);\n\t\t\tonEditAgent(agent);\n\t\t},\n\t\t[logAction, onEditAgent],\n\t);\n\tconst handleRowClick = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRowClick', agent.id);\n\t\t\tonRowClick?.(agent);\n\t\t},\n\t\t[logAction, onRowClick],\n\t);\n\t// Row delete just opens the confirm dialog; the actual delete runs on confirm.\n\tconst handleDeleteRequest = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onDeleteAgent', agent.id);\n\t\t\tsetPendingDelete(agent);\n\t\t},\n\t\t[logAction],\n\t);\n\tconst handleConfirmDelete = useCallback(async () => {\n\t\tif (!pendingDelete || !onDeleteAgent) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsDeleting(true);\n\t\ttry {\n\t\t\tawait onDeleteAgent(pendingDelete);\n\t\t\tsetPendingDelete(null);\n\t\t} finally {\n\t\t\tsetIsDeleting(false);\n\t\t}\n\t}, [pendingDelete, onDeleteAgent]);\n\n\treturn (\n\t\t<Page data-test={rest['data-test'] ?? 'agent-listing'}>\n\t\t\t<AgentListingHeader\n\t\t\t\ttitle={title}\n\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\tonBrowseTemplates={\n\t\t\t\t\tonBrowseTemplates ? handleBrowseTemplates : undefined\n\t\t\t\t}\n\t\t\t\theaderActions={headerActions}\n\t\t\t/>\n\n\t\t\t<AgentListingFilters\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={handleSearchChange}\n\t\t\t\tonSearchSubmit={onSearchSubmit ? handleSearchSubmit : undefined}\n\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\tfilterOptions={filterOptions}\n\t\t\t\tonFilterChange={onFilterChange ? handleFilterChange : undefined}\n\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\tsortOptions={sortOptions}\n\t\t\t\tselectedSort={selectedSort}\n\t\t\t\tonSortChange={onSortChange ? handleSortChange : undefined}\n\t\t\t/>\n\n\t\t\t<Body>\n\t\t\t\t{isLoading || showEmpty ? (\n\t\t\t\t\t<EmptyHolder>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\ttitle={emptyState?.title ?? 'No agents yet'}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\temptyState?.subTitle ??\n\t\t\t\t\t\t\t\t'Create your first AI agent to start automating conversations.'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionButton={\n\t\t\t\t\t\t\t\temptyState?.actionButton ?? {\n\t\t\t\t\t\t\t\t\tbuttonText: 'New AI agent',\n\t\t\t\t\t\t\t\t\tbuttonType: 'primary',\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t\tonClick: handleNewAgent,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</EmptyHolder>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AgentTable\n\t\t\t\t\t\t\tagents={agents}\n\t\t\t\t\t\t\tonRunAgent={handleRunAgent}\n\t\t\t\t\t\t\tonEditAgent={handleEditAgent}\n\t\t\t\t\t\t\tonDeleteAgent={onDeleteAgent ? handleDeleteRequest : undefined}\n\t\t\t\t\t\t\tonRowClick={onRowClick ? handleRowClick : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{pagination && pagination.totalRows > 0 && (\n\t\t\t\t\t\t\t<TablePagination\n\t\t\t\t\t\t\t\tpageNumber={pagination.pageNumber}\n\t\t\t\t\t\t\t\tpageSize={pagination.pageSize}\n\t\t\t\t\t\t\t\ttotalRows={pagination.totalRows}\n\t\t\t\t\t\t\t\thidePageSizeOptions={pagination.hidePageSizeOptions}\n\t\t\t\t\t\t\t\tupdatePageNumber={pagination.onPageChange}\n\t\t\t\t\t\t\t\tupdatePageSize={(opt) => {\n\t\t\t\t\t\t\t\t\tconst value = Number(unwrapDropdownValue(opt));\n\t\t\t\t\t\t\t\t\tif (!Number.isNaN(value)) {\n\t\t\t\t\t\t\t\t\t\tpagination.onPageSizeChange(value);\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)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Body>\n\n\t\t\t{pendingDelete && (\n\t\t\t\t<DeleteAgentModal\n\t\t\t\t\tagentName={pendingDelete.name}\n\t\t\t\t\tisDeleting={isDeleting}\n\t\t\t\t\tonClose={() => (isDeleting ? undefined : setPendingDelete(null))}\n\t\t\t\t\tonConfirm={handleConfirmDelete}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Page>\n\t);\n};\n\nAgentListing.displayName = 'AgentListing';\n"],"names":["AgentListing","config","onSearchChange","onSearchSubmit","onFilterChange","onSortChange","onNewAgent","onBrowseTemplates","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","rest","pendingDelete","setPendingDelete","useState","isDeleting","setIsDeleting","agents","isLoading","searchValue","searchPlaceholder","filterOptions","filterPlaceholder","sortOptions","selectedSort","title","headerActions","pagination","emptyState","debugLog","showEmpty","logAction","useCallback","action","args","handleSearchChange","v","handleSearchSubmit","handleFilterChange","selected","handleSortChange","handleNewAgent","handleBrowseTemplates","handleRunAgent","agent","handleEditAgent","handleRowClick","handleDeleteRequest","handleConfirmDelete","Page","jsx","AgentListingHeader","AgentListingFilters","Body","EmptyHolder","ZeroState","jsxs","Fragment","AgentTable","TablePagination","opt","value","unwrapDropdownValue","DeleteAgentModal"],"mappings":"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"}
1
+ {"version":3,"file":"AgentListing.js","sources":["../../../../src/components/agent-listing/AgentListing.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownOption } from '@src/components/dropdown/type';\nimport { TablePagination } from '@src/components/TablePagination/TablePagination';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { AgentListingProps, AgentListItem } from './AgentListing.model';\nimport { Body, EmptyHolder, Page } from './AgentListing.styled';\nimport { AgentListingFilters } from './AgentListingFilters';\nimport { AgentListingHeader } from './AgentListingHeader';\nimport { AgentTable } from './AgentTable';\nimport { AgentTableShimmer } from './AgentTableShimmer';\nimport { DeleteAgentModal } from './DeleteAgentModal';\n\n/**\n * Full body of the \"AI Agents\" listing screen (header + filters + table).\n * Presentational and fully controlled — the consumer owns data, search, sort,\n * pagination and routing. Render it inside your app shell (next to the sidebar).\n *\n * @example\n * <AgentListing\n * agents={rows}\n * searchValue={search}\n * onSearchChange={setSearch}\n * onNewAgent={() => router.push('/agents/new')}\n * onRunAgent={runAgent}\n * onEditAgent={(a) => router.push(`/agents/${a.id}`)}\n * />\n */\nexport const AgentListing: React.FC<AgentListingProps> = ({\n\tconfig,\n\tonSearchChange,\n\tonSearchSubmit,\n\tonFilterChange,\n\tonSortChange,\n\tonNewAgent,\n\tonBrowseTemplates,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n\t...rest\n}) => {\n\t// Agent pending delete-confirmation (null = dialog closed).\n\tconst [pendingDelete, setPendingDelete] = useState<AgentListItem | null>(\n\t\tnull,\n\t);\n\tconst [isDeleting, setIsDeleting] = useState(false);\n\tconst {\n\t\tagents,\n\t\tisLoading,\n\t\tsearchValue,\n\t\tsearchPlaceholder = 'Search',\n\t\tfilterOptions,\n\t\tfilterPlaceholder = 'Filters',\n\t\tsortOptions,\n\t\tselectedSort,\n\t\ttitle = 'AI Agents',\n\t\theaderActions,\n\t\tpagination,\n\t\temptyState,\n\t\tdebugLog,\n\t} = config;\n\n\tconst showEmpty = !isLoading && agents.length === 0;\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentListing] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleSearchChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchChange', v);\n\t\t\tonSearchChange(v);\n\t\t},\n\t\t[logAction, onSearchChange],\n\t);\n\tconst handleSearchSubmit = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSearchSubmit', v);\n\t\t\tonSearchSubmit?.(v);\n\t\t},\n\t\t[logAction, onSearchSubmit],\n\t);\n\tconst handleFilterChange = useCallback(\n\t\t(selected: DropdownOption | DropdownOption[]) => {\n\t\t\tlogAction('onFilterChange', selected);\n\t\t\tonFilterChange?.(selected);\n\t\t},\n\t\t[logAction, onFilterChange],\n\t);\n\tconst handleSortChange = useCallback(\n\t\t(v: string) => {\n\t\t\tlogAction('onSortChange', v);\n\t\t\tonSortChange?.(v);\n\t\t},\n\t\t[logAction, onSortChange],\n\t);\n\tconst handleNewAgent = useCallback(() => {\n\t\tlogAction('onNewAgent');\n\t\tonNewAgent();\n\t}, [logAction, onNewAgent]);\n\tconst handleBrowseTemplates = useCallback(() => {\n\t\tlogAction('onBrowseTemplates');\n\t\tonBrowseTemplates?.();\n\t}, [logAction, onBrowseTemplates]);\n\tconst handleRunAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRunAgent', agent.id);\n\t\t\tonRunAgent(agent);\n\t\t},\n\t\t[logAction, onRunAgent],\n\t);\n\tconst handleEditAgent = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onEditAgent', agent.id);\n\t\t\tonEditAgent(agent);\n\t\t},\n\t\t[logAction, onEditAgent],\n\t);\n\tconst handleRowClick = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onRowClick', agent.id);\n\t\t\tonRowClick?.(agent);\n\t\t},\n\t\t[logAction, onRowClick],\n\t);\n\t// Row delete just opens the confirm dialog; the actual delete runs on confirm.\n\tconst handleDeleteRequest = useCallback(\n\t\t(agent: AgentListItem) => {\n\t\t\tlogAction('onDeleteAgent', agent.id);\n\t\t\tsetPendingDelete(agent);\n\t\t},\n\t\t[logAction],\n\t);\n\tconst handleConfirmDelete = useCallback(async () => {\n\t\tif (!pendingDelete || !onDeleteAgent) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsDeleting(true);\n\t\ttry {\n\t\t\tawait onDeleteAgent(pendingDelete);\n\t\t\tsetPendingDelete(null);\n\t\t} finally {\n\t\t\tsetIsDeleting(false);\n\t\t}\n\t}, [pendingDelete, onDeleteAgent]);\n\n\treturn (\n\t\t<Page data-test={rest['data-test'] ?? 'agent-listing'}>\n\t\t\t<AgentListingHeader\n\t\t\t\ttitle={title}\n\t\t\t\tonNewAgent={handleNewAgent}\n\t\t\t\tonBrowseTemplates={\n\t\t\t\t\tonBrowseTemplates ? handleBrowseTemplates : undefined\n\t\t\t\t}\n\t\t\t\theaderActions={headerActions}\n\t\t\t/>\n\n\t\t\t<AgentListingFilters\n\t\t\t\tsearchValue={searchValue}\n\t\t\t\tonSearchChange={handleSearchChange}\n\t\t\t\tonSearchSubmit={onSearchSubmit ? handleSearchSubmit : undefined}\n\t\t\t\tsearchPlaceholder={searchPlaceholder}\n\t\t\t\tfilterOptions={filterOptions}\n\t\t\t\tonFilterChange={onFilterChange ? handleFilterChange : undefined}\n\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\tsortOptions={sortOptions}\n\t\t\t\tselectedSort={selectedSort}\n\t\t\t\tonSortChange={onSortChange ? handleSortChange : undefined}\n\t\t\t/>\n\n\t\t\t<Body>\n\t\t\t\t{isLoading ? (\n\t\t\t\t\t// Table-shaped shimmer: refetches (page/page-size/sort/search) load in\n\t\t\t\t\t// place instead of collapsing to a spinner. Keep the page\n\t\t\t\t\t// height by matching the current page size.\n\t\t\t\t\t<AgentTableShimmer rows={Math.min(pagination?.pageSize ?? 5, 10)} />\n\t\t\t\t) : showEmpty ? (\n\t\t\t\t\t<EmptyHolder>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\ttitle={emptyState?.title ?? 'No agents yet'}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\temptyState?.subTitle ??\n\t\t\t\t\t\t\t\t'Create your first AI agent to start automating conversations.'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionButton={\n\t\t\t\t\t\t\t\temptyState?.actionButton ?? {\n\t\t\t\t\t\t\t\t\tbuttonText: 'New AI agent',\n\t\t\t\t\t\t\t\t\tbuttonType: 'primary',\n\t\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t\t\tonClick: handleNewAgent,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</EmptyHolder>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AgentTable\n\t\t\t\t\t\t\tagents={agents}\n\t\t\t\t\t\t\tonRunAgent={handleRunAgent}\n\t\t\t\t\t\t\tonEditAgent={handleEditAgent}\n\t\t\t\t\t\t\tonDeleteAgent={onDeleteAgent ? handleDeleteRequest : undefined}\n\t\t\t\t\t\t\tonRowClick={onRowClick ? handleRowClick : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{pagination && pagination.totalRows > 0 && (\n\t\t\t\t\t\t\t<TablePagination\n\t\t\t\t\t\t\t\tpageNumber={pagination.pageNumber}\n\t\t\t\t\t\t\t\tpageSize={pagination.pageSize}\n\t\t\t\t\t\t\t\ttotalRows={pagination.totalRows}\n\t\t\t\t\t\t\t\thidePageSizeOptions={pagination.hidePageSizeOptions}\n\t\t\t\t\t\t\t\tupdatePageNumber={pagination.onPageChange}\n\t\t\t\t\t\t\t\tupdatePageSize={(opt) => {\n\t\t\t\t\t\t\t\t\tconst value = Number(unwrapDropdownValue(opt));\n\t\t\t\t\t\t\t\t\tif (!Number.isNaN(value)) {\n\t\t\t\t\t\t\t\t\t\tpagination.onPageSizeChange(value);\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)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Body>\n\n\t\t\t{pendingDelete && (\n\t\t\t\t<DeleteAgentModal\n\t\t\t\t\tagentName={pendingDelete.name}\n\t\t\t\t\tisDeleting={isDeleting}\n\t\t\t\t\tonClose={() => (isDeleting ? undefined : setPendingDelete(null))}\n\t\t\t\t\tonConfirm={handleConfirmDelete}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Page>\n\t);\n};\n\nAgentListing.displayName = 'AgentListing';\n"],"names":["AgentListing","config","onSearchChange","onSearchSubmit","onFilterChange","onSortChange","onNewAgent","onBrowseTemplates","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","rest","pendingDelete","setPendingDelete","useState","isDeleting","setIsDeleting","agents","isLoading","searchValue","searchPlaceholder","filterOptions","filterPlaceholder","sortOptions","selectedSort","title","headerActions","pagination","emptyState","debugLog","showEmpty","logAction","useCallback","action","args","handleSearchChange","v","handleSearchSubmit","handleFilterChange","selected","handleSortChange","handleNewAgent","handleBrowseTemplates","handleRunAgent","agent","handleEditAgent","handleRowClick","handleDeleteRequest","handleConfirmDelete","Page","jsx","AgentListingHeader","AgentListingFilters","Body","AgentTableShimmer","EmptyHolder","ZeroState","jsxs","Fragment","AgentTable","TablePagination","opt","value","unwrapDropdownValue","DeleteAgentModal"],"mappings":"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"}
@@ -7,5 +7,7 @@ interface AgentTableProps {
7
7
  onDeleteAgent?: (agent: AgentListItem) => void;
8
8
  onRowClick?: (agent: AgentListItem) => void;
9
9
  }
10
+ /** Column header row — shared with the loading shimmer so the two can't drift. */
11
+ export declare const AgentTableHeader: React.FC;
10
12
  export declare const AgentTable: React.FC<AgentTableProps>;
11
13
  export {};
@@ -3,33 +3,34 @@ import { TitleSmall as h } from "../TypographyStyle.js";
3
3
  import { COLORS as m } from "../../constants/Theme.js";
4
4
  import { TableCard as g, TableScroll as p, HeaderGridRow as s, HeaderCell as e } from "./AgentListing.styled.js";
5
5
  import { AgentTableRow as T } from "./AgentTableRow.js";
6
- const i = ({ children: l }) => /* @__PURE__ */ r(h, { color: m.content.primary, children: l }), C = ({
7
- agents: l,
6
+ const l = ({ children: i }) => /* @__PURE__ */ r(h, { color: m.content.primary, children: i }), b = () => /* @__PURE__ */ c(s, { children: [
7
+ /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(l, { children: "Agent name" }) }),
8
+ /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(l, { children: "Trigger" }) }),
9
+ /* @__PURE__ */ r(e, { align: "right", children: /* @__PURE__ */ r(l, { children: "Trigger count" }) }),
10
+ /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(l, { children: "Status" }) }),
11
+ /* @__PURE__ */ r(e, { align: "center", children: /* @__PURE__ */ r(l, { children: "Actions" }) })
12
+ ] }), C = ({
13
+ agents: i,
8
14
  onRunAgent: o,
9
- onEditAgent: d,
10
- onDeleteAgent: t,
15
+ onEditAgent: t,
16
+ onDeleteAgent: d,
11
17
  onRowClick: a
12
18
  }) => /* @__PURE__ */ r(g, { children: /* @__PURE__ */ c(p, { children: [
13
- /* @__PURE__ */ c(s, { children: [
14
- /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(i, { children: "Agent name" }) }),
15
- /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(i, { children: "Trigger" }) }),
16
- /* @__PURE__ */ r(e, { align: "right", children: /* @__PURE__ */ r(i, { children: "Trigger count" }) }),
17
- /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(i, { children: "Status" }) }),
18
- /* @__PURE__ */ r(e, { align: "center", children: /* @__PURE__ */ r(i, { children: "Actions" }) })
19
- ] }),
20
- l.map((n) => /* @__PURE__ */ r(
19
+ /* @__PURE__ */ r(b, {}),
20
+ i.map((n) => /* @__PURE__ */ r(
21
21
  T,
22
22
  {
23
23
  agent: n,
24
24
  onRunAgent: o,
25
- onEditAgent: d,
26
- onDeleteAgent: t,
25
+ onEditAgent: t,
26
+ onDeleteAgent: d,
27
27
  onRowClick: a
28
28
  },
29
29
  n.id
30
30
  ))
31
31
  ] }) });
32
32
  export {
33
- C as AgentTable
33
+ C as AgentTable,
34
+ b as AgentTableHeader
34
35
  };
35
36
  //# sourceMappingURL=AgentTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTable.js","sources":["../../../../src/components/agent-listing/AgentTable.tsx"],"sourcesContent":["import React from 'react';\nimport { TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentListItem } from './AgentListing.model';\nimport {\n\tHeaderCell,\n\tHeaderGridRow,\n\tTableCard,\n\tTableScroll,\n} from './AgentListing.styled';\nimport { AgentTableRow } from './AgentTableRow';\n\ninterface AgentTableProps {\n\tagents: AgentListItem[];\n\tonRunAgent: (agent: AgentListItem) => void;\n\tonEditAgent: (agent: AgentListItem) => void;\n\tonDeleteAgent?: (agent: AgentListItem) => void;\n\tonRowClick?: (agent: AgentListItem) => void;\n}\n\nconst HeaderLabel: React.FC<{ children: React.ReactNode }> = ({ children }) => (\n\t<TitleSmall color={COLORS.content.primary}>{children}</TitleSmall>\n);\n\nexport const AgentTable: React.FC<AgentTableProps> = ({\n\tagents,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n}) => (\n\t<TableCard>\n\t\t<TableScroll>\n\t\t\t<HeaderGridRow>\n\t\t\t\t<HeaderCell>\n\t\t\t\t\t<HeaderLabel>Agent name</HeaderLabel>\n\t\t\t\t</HeaderCell>\n\t\t\t\t<HeaderCell>\n\t\t\t\t\t<HeaderLabel>Trigger</HeaderLabel>\n\t\t\t\t</HeaderCell>\n\t\t\t\t<HeaderCell align=\"right\">\n\t\t\t\t\t<HeaderLabel>Trigger count</HeaderLabel>\n\t\t\t\t</HeaderCell>\n\t\t\t\t<HeaderCell>\n\t\t\t\t\t<HeaderLabel>Status</HeaderLabel>\n\t\t\t\t</HeaderCell>\n\t\t\t\t<HeaderCell align=\"center\">\n\t\t\t\t\t<HeaderLabel>Actions</HeaderLabel>\n\t\t\t\t</HeaderCell>\n\t\t\t</HeaderGridRow>\n\n\t\t\t{agents.map((agent) => (\n\t\t\t\t<AgentTableRow\n\t\t\t\t\tkey={agent.id}\n\t\t\t\t\tagent={agent}\n\t\t\t\t\tonRunAgent={onRunAgent}\n\t\t\t\t\tonEditAgent={onEditAgent}\n\t\t\t\t\tonDeleteAgent={onDeleteAgent}\n\t\t\t\t\tonRowClick={onRowClick}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</TableScroll>\n\t</TableCard>\n);\n"],"names":["HeaderLabel","children","jsx","TitleSmall","COLORS","AgentTable","agents","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","TableCard","jsxs","TableScroll","HeaderGridRow","HeaderCell","agent","AgentTableRow"],"mappings":";;;;;AAoBA,MAAMA,IAAuD,CAAC,EAAE,UAAAC,EAAA,MAC/D,gBAAAC,EAACC,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAU,UAAAH,EAAA,CAAS,GAGzCI,IAAwC,CAAC;AAAA,EACrD,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AACD,MACC,gBAAAR,EAACS,GAAA,EACA,UAAA,gBAAAC,EAACC,GAAA,EACA,UAAA;AAAA,EAAA,gBAAAD,EAACE,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAZ,EAACa,GAAA,EACA,UAAA,gBAAAb,EAACF,GAAA,EAAY,UAAA,aAAA,CAAU,GACxB;AAAA,IACA,gBAAAE,EAACa,GAAA,EACA,UAAA,gBAAAb,EAACF,GAAA,EAAY,qBAAO,GACrB;AAAA,sBACCe,GAAA,EAAW,OAAM,SACjB,UAAA,gBAAAb,EAACF,GAAA,EAAY,2BAAa,EAAA,CAC3B;AAAA,IACA,gBAAAE,EAACa,GAAA,EACA,UAAA,gBAAAb,EAACF,GAAA,EAAY,oBAAM,GACpB;AAAA,sBACCe,GAAA,EAAW,OAAM,UACjB,UAAA,gBAAAb,EAACF,GAAA,EAAY,qBAAO,EAAA,CACrB;AAAA,EAAA,GACD;AAAA,EAECM,EAAO,IAAI,CAACU,MACZ,gBAAAd;AAAA,IAACe;AAAA,IAAA;AAAA,MAEA,OAAAD;AAAA,MACA,YAAAT;AAAA,MACA,aAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,IAAA;AAAA,IALKM,EAAM;AAAA,EAAA,CAOZ;AAAA,EAAA,CACF,EAAA,CACD;"}
1
+ {"version":3,"file":"AgentTable.js","sources":["../../../../src/components/agent-listing/AgentTable.tsx"],"sourcesContent":["import React from 'react';\nimport { TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentListItem } from './AgentListing.model';\nimport {\n\tHeaderCell,\n\tHeaderGridRow,\n\tTableCard,\n\tTableScroll,\n} from './AgentListing.styled';\nimport { AgentTableRow } from './AgentTableRow';\n\ninterface AgentTableProps {\n\tagents: AgentListItem[];\n\tonRunAgent: (agent: AgentListItem) => void;\n\tonEditAgent: (agent: AgentListItem) => void;\n\tonDeleteAgent?: (agent: AgentListItem) => void;\n\tonRowClick?: (agent: AgentListItem) => void;\n}\n\nconst HeaderLabel: React.FC<{ children: React.ReactNode }> = ({ children }) => (\n\t<TitleSmall color={COLORS.content.primary}>{children}</TitleSmall>\n);\n\n/** Column header row — shared with the loading shimmer so the two can't drift. */\nexport const AgentTableHeader: React.FC = () => (\n\t<HeaderGridRow>\n\t\t<HeaderCell>\n\t\t\t<HeaderLabel>Agent name</HeaderLabel>\n\t\t</HeaderCell>\n\t\t<HeaderCell>\n\t\t\t<HeaderLabel>Trigger</HeaderLabel>\n\t\t</HeaderCell>\n\t\t<HeaderCell align=\"right\">\n\t\t\t<HeaderLabel>Trigger count</HeaderLabel>\n\t\t</HeaderCell>\n\t\t<HeaderCell>\n\t\t\t<HeaderLabel>Status</HeaderLabel>\n\t\t</HeaderCell>\n\t\t<HeaderCell align=\"center\">\n\t\t\t<HeaderLabel>Actions</HeaderLabel>\n\t\t</HeaderCell>\n\t</HeaderGridRow>\n);\n\nexport const AgentTable: React.FC<AgentTableProps> = ({\n\tagents,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n}) => (\n\t<TableCard>\n\t\t<TableScroll>\n\t\t\t<AgentTableHeader />\n\n\t\t\t{agents.map((agent) => (\n\t\t\t\t<AgentTableRow\n\t\t\t\t\tkey={agent.id}\n\t\t\t\t\tagent={agent}\n\t\t\t\t\tonRunAgent={onRunAgent}\n\t\t\t\t\tonEditAgent={onEditAgent}\n\t\t\t\t\tonDeleteAgent={onDeleteAgent}\n\t\t\t\t\tonRowClick={onRowClick}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</TableScroll>\n\t</TableCard>\n);\n"],"names":["HeaderLabel","children","jsx","TitleSmall","COLORS","AgentTableHeader","jsxs","HeaderGridRow","HeaderCell","AgentTable","agents","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","TableCard","TableScroll","agent","AgentTableRow"],"mappings":";;;;;AAoBA,MAAMA,IAAuD,CAAC,EAAE,UAAAC,EAAA,MAC/D,gBAAAC,EAACC,GAAA,EAAW,OAAOC,EAAO,QAAQ,SAAU,UAAAH,EAAA,CAAS,GAIzCI,IAA6B,MACzC,gBAAAC,EAACC,GAAA,EACA,UAAA;AAAA,EAAA,gBAAAL,EAACM,GAAA,EACA,UAAA,gBAAAN,EAACF,GAAA,EAAY,UAAA,aAAA,CAAU,GACxB;AAAA,EACA,gBAAAE,EAACM,GAAA,EACA,UAAA,gBAAAN,EAACF,GAAA,EAAY,qBAAO,GACrB;AAAA,oBACCQ,GAAA,EAAW,OAAM,SACjB,UAAA,gBAAAN,EAACF,GAAA,EAAY,2BAAa,EAAA,CAC3B;AAAA,EACA,gBAAAE,EAACM,GAAA,EACA,UAAA,gBAAAN,EAACF,GAAA,EAAY,oBAAM,GACpB;AAAA,oBACCQ,GAAA,EAAW,OAAM,UACjB,UAAA,gBAAAN,EAACF,GAAA,EAAY,qBAAO,EAAA,CACrB;AAAA,EAAA,CACD,GAGYS,IAAwC,CAAC;AAAA,EACrD,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AACD,MACC,gBAAAZ,EAACa,GAAA,EACA,UAAA,gBAAAT,EAACU,GAAA,EACA,UAAA;AAAA,EAAA,gBAAAd,EAACG,GAAA,EAAiB;AAAA,EAEjBK,EAAO,IAAI,CAACO,MACZ,gBAAAf;AAAA,IAACgB;AAAA,IAAA;AAAA,MAEA,OAAAD;AAAA,MACA,YAAAN;AAAA,MACA,aAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,IAAA;AAAA,IALKG,EAAM;AAAA,EAAA,CAOZ;AAAA,EAAA,CACF,EAAA,CACD;"}
@@ -3,10 +3,10 @@ import b from "../../assets/icons/delete.svg.js";
3
3
  import v from "../../assets/icons/edit.svg.js";
4
4
  import w from "../../assets/icons/playOutline.svg.js";
5
5
  import D from "../../assets/icons/vertical_dots.svg.js";
6
- import { DropdownPopover as T } from "../dropdown/DropdownPopover/index.js";
7
- import { TitleSmall as g, BodyCaption as x, BodyPrimary as s } from "../TypographyStyle.js";
6
+ import { DropdownPopover as S } from "../dropdown/DropdownPopover/index.js";
7
+ import { TitleSmall as T, BodyCaption as x, BodySecondary as s } from "../TypographyStyle.js";
8
8
  import { COLORS as o } from "../../constants/Theme.js";
9
- import { ActionButton as p, BodyGridRow as S, Cell as n, ActionGroup as C } from "./AgentListing.styled.js";
9
+ import { ActionButton as p, BodyGridRow as g, Cell as n, ActionGroup as C } from "./AgentListing.styled.js";
10
10
  import { Tag as L } from "../tag/Tag.js";
11
11
  import { Tooltip as O } from "../tooltips/Tooltip.js";
12
12
  import { unwrapDropdownValue as P } from "../dropdown/utils.js";
@@ -15,7 +15,7 @@ const R = (e) => {
15
15
  case "topic":
16
16
  return `Topic: ${e.label ?? ""}`;
17
17
  case "phrases":
18
- return `Phrases: ${(e.items ?? []).join(", ")}`;
18
+ return e.items?.length ? `Phrases: ${e.items.join(", ")}` : "Phrases";
19
19
  default:
20
20
  return e.label ?? "";
21
21
  }
@@ -85,14 +85,14 @@ const R = (e) => {
85
85
  }
86
86
  );
87
87
  return /* @__PURE__ */ r(
88
- S,
88
+ g,
89
89
  {
90
90
  "data-test": `agent-row-${e.id}`,
91
91
  clickable: !!l,
92
92
  onClick: l ? () => l(e) : void 0,
93
93
  children: [
94
94
  /* @__PURE__ */ r(n, { children: [
95
- /* @__PURE__ */ t(g, { numberOfLines: 1, color: o.content.primary, children: e.name }),
95
+ /* @__PURE__ */ t(T, { numberOfLines: 1, color: o.content.primary, children: e.name }),
96
96
  /* @__PURE__ */ r(x, { numberOfLines: 1, color: o.content.secondary, children: [
97
97
  "Created: ",
98
98
  e.createdAtLabel
@@ -116,7 +116,7 @@ const R = (e) => {
116
116
  style: { display: "flex" },
117
117
  onClick: (i) => i.stopPropagation(),
118
118
  children: /* @__PURE__ */ t(
119
- T,
119
+ S,
120
120
  {
121
121
  "data-test": `agent-row-menu-${e.id}`,
122
122
  options: f,
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTableRow.js","sources":["../../../../src/components/agent-listing/AgentTableRow.tsx"],"sourcesContent":["import DeleteIcon from '@src/assets/icons/delete.svg';\nimport EditIcon from '@src/assets/icons/edit.svg';\nimport PlayOutlineIcon from '@src/assets/icons/playOutline.svg';\nimport MoreIcon from '@src/assets/icons/vertical_dots.svg';\nimport React from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownPopover } from '@src/components/dropdown/DropdownPopover';\nimport { SingleOption } from '@src/components/dropdown/type';\nimport { Tag } from '@src/components/tag';\nimport { Tooltip } from '@src/components/tooltips';\nimport {\n\tBodyCaption,\n\tBodyPrimary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentListItem, AgentTriggerSummary } from './AgentListing.model';\nimport {\n\tActionButton,\n\tActionGroup,\n\tBodyGridRow,\n\tCell,\n} from './AgentListing.styled';\n\nconst triggerToText = (trigger: AgentTriggerSummary): string => {\n\tswitch (trigger.kind) {\n\t\tcase 'topic':\n\t\t\treturn `Topic: ${trigger.label ?? ''}`;\n\t\tcase 'phrases':\n\t\t\treturn `Phrases: ${(trigger.items ?? []).join(', ')}`;\n\t\tcase 'custom':\n\t\tdefault:\n\t\t\treturn trigger.label ?? '';\n\t}\n};\n\ninterface AgentTableRowProps {\n\tagent: AgentListItem;\n\tonRunAgent: (agent: AgentListItem) => void;\n\tonEditAgent: (agent: AgentListItem) => void;\n\t/** When set, render a delete action (the listing handles confirmation). */\n\tonDeleteAgent?: (agent: AgentListItem) => void;\n\tonRowClick?: (agent: AgentListItem) => void;\n}\n\nexport const AgentTableRow: React.FC<AgentTableRowProps> = ({\n\tagent,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n}) => {\n\tconst isLive = agent.status === 'live';\n\n\tconst handleRun = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (agent.isRunDisabled) {\n\t\t\treturn;\n\t\t}\n\t\tonRunAgent(agent);\n\t};\n\n\t// Edit + Delete live in the \"⋮\" menu beside the run button.\n\tconst menuOptions: SingleOption[] = [\n\t\t{\n\t\t\tlabel: 'Edit',\n\t\t\tvalue: 'edit',\n\t\t\tleadingIcon: (\n\t\t\t\t<EditIcon width={16} height={16} color={COLORS.content.secondary} />\n\t\t\t),\n\t\t},\n\t\t...(onDeleteAgent\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Delete',\n\t\t\t\t\t\tvalue: 'delete',\n\t\t\t\t\t\t// Rendered red (icon + label) via customComponent.\n\t\t\t\t\t\tcustomComponent: (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t\t\t\t\tcolor: COLORS.content.negative,\n\t\t\t\t\t\t\t\t\tfontFamily: 'Inter',\n\t\t\t\t\t\t\t\t\tfontSize: 14,\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<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.negative}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst handleMenuSelect = (value: string | undefined) => {\n\t\tif (value === 'edit') {\n\t\t\tonEditAgent(agent);\n\t\t} else if (value === 'delete') {\n\t\t\tonDeleteAgent?.(agent);\n\t\t}\n\t};\n\n\tconst playButton = (\n\t\t<ActionButton\n\t\t\tdata-test={`agent-row-run-${agent.id}`}\n\t\t\tdisabled={agent.isRunDisabled}\n\t\t\tonClick={handleRun}\n\t\t\taria-label=\"Run agent\"\n\t\t>\n\t\t\t<PlayOutlineIcon\n\t\t\t\twidth={20}\n\t\t\t\theight={20}\n\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t/>\n\t\t</ActionButton>\n\t);\n\n\treturn (\n\t\t<BodyGridRow\n\t\t\tdata-test={`agent-row-${agent.id}`}\n\t\t\tclickable={!!onRowClick}\n\t\t\tonClick={onRowClick ? () => onRowClick(agent) : undefined}\n\t\t>\n\t\t\t<Cell>\n\t\t\t\t<TitleSmall numberOfLines={1} color={COLORS.content.primary}>\n\t\t\t\t\t{agent.name}\n\t\t\t\t</TitleSmall>\n\t\t\t\t<BodyCaption numberOfLines={1} color={COLORS.content.secondary}>\n\t\t\t\t\tCreated: {agent.createdAtLabel}\n\t\t\t\t</BodyCaption>\n\t\t\t</Cell>\n\n\t\t\t<Cell>\n\t\t\t\t<BodyPrimary numberOfLines={2} color={COLORS.content.primary}>\n\t\t\t\t\t{triggerToText(agent.trigger)}\n\t\t\t\t</BodyPrimary>\n\t\t\t</Cell>\n\n\t\t\t<Cell align=\"right\">\n\t\t\t\t<BodyPrimary color={COLORS.content.primary}>\n\t\t\t\t\t{agent.triggerCount}\n\t\t\t\t</BodyPrimary>\n\t\t\t</Cell>\n\n\t\t\t<Cell>\n\t\t\t\t<Tag\n\t\t\t\t\ttagText={isLive ? 'Live' : 'Draft'}\n\t\t\t\t\ttype={isLive ? 'positive' : 'neutral'}\n\t\t\t\t\tvariant=\"regular\"\n\t\t\t\t/>\n\t\t\t</Cell>\n\n\t\t\t<Cell align=\"center\">\n\t\t\t\t<ActionGroup>\n\t\t\t\t\t{agent.isRunDisabled && agent.runDisabledTooltip ? (\n\t\t\t\t\t\t<Tooltip body={agent.runDisabledTooltip} placement=\"top\">\n\t\t\t\t\t\t\t<span style={{ display: 'flex' }}>{playButton}</span>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplayButton\n\t\t\t\t\t)}\n\t\t\t\t\t{/* Stop the row's onClick from firing when interacting with the menu. */}\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{ display: 'flex' }}\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownPopover\n\t\t\t\t\t\t\tdata-test={`agent-row-menu-${agent.id}`}\n\t\t\t\t\t\t\toptions={menuOptions}\n\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\twidth=\"160px\"\n\t\t\t\t\t\t\tonSelect={(opt) => handleMenuSelect(unwrapDropdownValue(opt))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ActionButton\n\t\t\t\t\t\t\t\tdata-test={`agent-row-menu-button-${agent.id}`}\n\t\t\t\t\t\t\t\taria-label=\"More actions\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MoreIcon\n\t\t\t\t\t\t\t\t\twidth={20}\n\t\t\t\t\t\t\t\t\theight={20}\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</ActionButton>\n\t\t\t\t\t\t</DropdownPopover>\n\t\t\t\t\t</span>\n\t\t\t\t</ActionGroup>\n\t\t\t</Cell>\n\t\t</BodyGridRow>\n\t);\n};\n"],"names":["triggerToText","trigger","AgentTableRow","agent","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","isLive","handleRun","e","menuOptions","jsx","EditIcon","COLORS","jsxs","DeleteIcon","handleMenuSelect","value","playButton","ActionButton","PlayOutlineIcon","BodyGridRow","Cell","TitleSmall","BodyCaption","BodyPrimary","Tag","ActionGroup","Tooltip","DropdownPopover","opt","unwrapDropdownValue","MoreIcon"],"mappings":"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"}
1
+ {"version":3,"file":"AgentTableRow.js","sources":["../../../../src/components/agent-listing/AgentTableRow.tsx"],"sourcesContent":["import DeleteIcon from '@src/assets/icons/delete.svg';\nimport EditIcon from '@src/assets/icons/edit.svg';\nimport PlayOutlineIcon from '@src/assets/icons/playOutline.svg';\nimport MoreIcon from '@src/assets/icons/vertical_dots.svg';\nimport React from 'react';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownPopover } from '@src/components/dropdown/DropdownPopover';\nimport { SingleOption } from '@src/components/dropdown/type';\nimport { Tag } from '@src/components/tag';\nimport { Tooltip } from '@src/components/tooltips';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { AgentListItem, AgentTriggerSummary } from './AgentListing.model';\nimport {\n\tActionButton,\n\tActionGroup,\n\tBodyGridRow,\n\tCell,\n} from './AgentListing.styled';\n\nconst triggerToText = (trigger: AgentTriggerSummary): string => {\n\tswitch (trigger.kind) {\n\t\tcase 'topic':\n\t\t\treturn `Topic: ${trigger.label ?? ''}`;\n\t\tcase 'phrases':\n\t\t\t// No enumerable phrase list (free-text trigger) → just the word.\n\t\t\treturn trigger.items?.length\n\t\t\t\t? `Phrases: ${trigger.items.join(', ')}`\n\t\t\t\t: 'Phrases';\n\t\tcase 'custom':\n\t\tdefault:\n\t\t\treturn trigger.label ?? '';\n\t}\n};\n\ninterface AgentTableRowProps {\n\tagent: AgentListItem;\n\tonRunAgent: (agent: AgentListItem) => void;\n\tonEditAgent: (agent: AgentListItem) => void;\n\t/** When set, render a delete action (the listing handles confirmation). */\n\tonDeleteAgent?: (agent: AgentListItem) => void;\n\tonRowClick?: (agent: AgentListItem) => void;\n}\n\nexport const AgentTableRow: React.FC<AgentTableRowProps> = ({\n\tagent,\n\tonRunAgent,\n\tonEditAgent,\n\tonDeleteAgent,\n\tonRowClick,\n}) => {\n\tconst isLive = agent.status === 'live';\n\n\tconst handleRun = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (agent.isRunDisabled) {\n\t\t\treturn;\n\t\t}\n\t\tonRunAgent(agent);\n\t};\n\n\t// Edit + Delete live in the \"⋮\" menu beside the run button.\n\tconst menuOptions: SingleOption[] = [\n\t\t{\n\t\t\tlabel: 'Edit',\n\t\t\tvalue: 'edit',\n\t\t\tleadingIcon: (\n\t\t\t\t<EditIcon width={16} height={16} color={COLORS.content.secondary} />\n\t\t\t),\n\t\t},\n\t\t...(onDeleteAgent\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Delete',\n\t\t\t\t\t\tvalue: 'delete',\n\t\t\t\t\t\t// Rendered red (icon + label) via customComponent.\n\t\t\t\t\t\tcustomComponent: (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t\t\t\t\tcolor: COLORS.content.negative,\n\t\t\t\t\t\t\t\t\tfontFamily: 'Inter',\n\t\t\t\t\t\t\t\t\tfontSize: 14,\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<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.negative}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t ]\n\t\t\t: []),\n\t];\n\n\tconst handleMenuSelect = (value: string | undefined) => {\n\t\tif (value === 'edit') {\n\t\t\tonEditAgent(agent);\n\t\t} else if (value === 'delete') {\n\t\t\tonDeleteAgent?.(agent);\n\t\t}\n\t};\n\n\tconst playButton = (\n\t\t<ActionButton\n\t\t\tdata-test={`agent-row-run-${agent.id}`}\n\t\t\tdisabled={agent.isRunDisabled}\n\t\t\tonClick={handleRun}\n\t\t\taria-label=\"Run agent\"\n\t\t>\n\t\t\t<PlayOutlineIcon\n\t\t\t\twidth={20}\n\t\t\t\theight={20}\n\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t/>\n\t\t</ActionButton>\n\t);\n\n\treturn (\n\t\t<BodyGridRow\n\t\t\tdata-test={`agent-row-${agent.id}`}\n\t\t\tclickable={!!onRowClick}\n\t\t\tonClick={onRowClick ? () => onRowClick(agent) : undefined}\n\t\t>\n\t\t\t<Cell>\n\t\t\t\t<TitleSmall numberOfLines={1} color={COLORS.content.primary}>\n\t\t\t\t\t{agent.name}\n\t\t\t\t</TitleSmall>\n\t\t\t\t<BodyCaption numberOfLines={1} color={COLORS.content.secondary}>\n\t\t\t\t\tCreated: {agent.createdAtLabel}\n\t\t\t\t</BodyCaption>\n\t\t\t</Cell>\n\n\t\t\t<Cell>\n\t\t\t\t<BodySecondary numberOfLines={2} color={COLORS.content.primary}>\n\t\t\t\t\t{triggerToText(agent.trigger)}\n\t\t\t\t</BodySecondary>\n\t\t\t</Cell>\n\n\t\t\t<Cell align=\"right\">\n\t\t\t\t<BodySecondary color={COLORS.content.primary}>\n\t\t\t\t\t{agent.triggerCount}\n\t\t\t\t</BodySecondary>\n\t\t\t</Cell>\n\n\t\t\t<Cell>\n\t\t\t\t<Tag\n\t\t\t\t\ttagText={isLive ? 'Live' : 'Draft'}\n\t\t\t\t\ttype={isLive ? 'positive' : 'neutral'}\n\t\t\t\t\tvariant=\"regular\"\n\t\t\t\t/>\n\t\t\t</Cell>\n\n\t\t\t<Cell align=\"center\">\n\t\t\t\t<ActionGroup>\n\t\t\t\t\t{agent.isRunDisabled && agent.runDisabledTooltip ? (\n\t\t\t\t\t\t<Tooltip body={agent.runDisabledTooltip} placement=\"top\">\n\t\t\t\t\t\t\t<span style={{ display: 'flex' }}>{playButton}</span>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplayButton\n\t\t\t\t\t)}\n\t\t\t\t\t{/* Stop the row's onClick from firing when interacting with the menu. */}\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{ display: 'flex' }}\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownPopover\n\t\t\t\t\t\t\tdata-test={`agent-row-menu-${agent.id}`}\n\t\t\t\t\t\t\toptions={menuOptions}\n\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\twidth=\"160px\"\n\t\t\t\t\t\t\tonSelect={(opt) => handleMenuSelect(unwrapDropdownValue(opt))}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ActionButton\n\t\t\t\t\t\t\t\tdata-test={`agent-row-menu-button-${agent.id}`}\n\t\t\t\t\t\t\t\taria-label=\"More actions\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MoreIcon\n\t\t\t\t\t\t\t\t\twidth={20}\n\t\t\t\t\t\t\t\t\theight={20}\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</ActionButton>\n\t\t\t\t\t\t</DropdownPopover>\n\t\t\t\t\t</span>\n\t\t\t\t</ActionGroup>\n\t\t\t</Cell>\n\t\t</BodyGridRow>\n\t);\n};\n"],"names":["triggerToText","trigger","AgentTableRow","agent","onRunAgent","onEditAgent","onDeleteAgent","onRowClick","isLive","handleRun","e","menuOptions","jsx","EditIcon","COLORS","jsxs","DeleteIcon","handleMenuSelect","value","playButton","ActionButton","PlayOutlineIcon","BodyGridRow","Cell","TitleSmall","BodyCaption","BodySecondary","Tag","ActionGroup","Tooltip","DropdownPopover","opt","unwrapDropdownValue","MoreIcon"],"mappings":"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"}