@bikdotai/bik-component-library 0.0.839 → 0.0.840-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/SearchFilter/index.js +1 -1
- package/dist/cjs/components/SearchFilter/index.js.map +1 -1
- package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
- package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +51 -39
- package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
- package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +2 -2
- package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +1 -1
- package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
- package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
- package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
- package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/MentionPicker.js +22 -22
- package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +4 -4
- package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js +6 -6
- package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +1 -1
- package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -1
- package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
- package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
- package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +3 -1
- package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
- package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
- package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +5 -3
- package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
- package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
- package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
- package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
- package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
- package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
- package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
- package/dist/cjs/components/agent-listing/AgentTableShimmer.js +2 -0
- package/dist/cjs/components/agent-listing/AgentTableShimmer.js.map +1 -0
- package/dist/cjs/components/agent-listing/DeleteAgentModal.js +1 -1
- package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
- package/dist/cjs/components/button/Button.styled.js +1 -0
- package/dist/cjs/components/button/Button.styled.js.map +1 -1
- package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
- package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js +1 -1
- package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/cjs/components/radioButton/RadioButton.js +1 -1
- package/dist/cjs/components/radioButton/RadioButton.js.map +1 -1
- package/dist/cjs/components/radioList/RadioList.js +1 -1
- package/dist/cjs/components/radioList/RadioList.js.map +1 -1
- package/dist/cjs/components/searchBar/searchBar.js +1 -1
- package/dist/cjs/components/searchBar/searchBar.js.map +1 -1
- package/dist/cjs/components/side-modal/SideModal.js +1 -1
- package/dist/cjs/components/side-modal/SideModal.js.map +1 -1
- package/dist/cjs/components/star-rating/Star.js +1 -1
- package/dist/cjs/components/star-rating/Star.js.map +1 -1
- package/dist/cjs/components/star-rating/StarRating.js +2 -2
- package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
- package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
- package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
- package/dist/cjs/components/thumbnail/Thumbnail.js +1 -1
- package/dist/cjs/components/thumbnail/Thumbnail.js.map +1 -1
- package/dist/cjs/components/zeroState/ZeroState.js +3 -3
- package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
- package/dist/cjs/editor/BikEditor.js +1 -1
- package/dist/cjs/editor/BikEditor.js.map +1 -1
- package/dist/cjs/editor/BikEditor.styles.js +97 -54
- package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
- package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
- package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
- package/dist/esm/components/SearchFilter/index.js +11 -10
- package/dist/esm/components/SearchFilter/index.js.map +1 -1
- package/dist/esm/components/agent-builder/AgentBuilder.js +106 -102
- package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
- package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +3 -6
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js +118 -106
- package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
- package/dist/esm/components/agent-builder/__fixtures__/agentValue.d.ts +11 -0
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +29 -21
- package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +27 -26
- package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
- package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +25 -25
- package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
- package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +24 -23
- package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
- package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +3 -1
- package/dist/esm/components/agent-builder/components/DiscardModal.js +33 -24
- package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
- package/dist/esm/components/agent-builder/components/GoLiveModal.js +23 -21
- package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
- package/dist/esm/components/agent-builder/components/MentionEditor.js +19 -19
- package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
- package/dist/esm/components/agent-builder/components/MentionPicker.js +177 -147
- package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
- package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +2 -0
- package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +111 -105
- package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
- package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +13 -4
- package/dist/esm/components/agent-builder/components/SelectableListSection.js +173 -148
- package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js +7 -7
- package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -1
- package/dist/esm/components/agent-builder/constants/tools.js +1 -1
- package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +104 -103
- package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +101 -102
- package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +144 -142
- package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +23 -79
- package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js +35 -23
- package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
- package/dist/esm/components/agent-listing/AgentListing.js +70 -65
- package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
- package/dist/esm/components/agent-listing/AgentTable.d.ts +2 -0
- package/dist/esm/components/agent-listing/AgentTable.js +16 -15
- package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
- package/dist/esm/components/agent-listing/AgentTableRow.js +11 -11
- package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
- package/dist/esm/components/agent-listing/AgentTableShimmer.d.ts +12 -0
- package/dist/esm/components/agent-listing/AgentTableShimmer.js +20 -0
- package/dist/esm/components/agent-listing/AgentTableShimmer.js.map +1 -0
- package/dist/esm/components/agent-listing/DeleteAgentModal.js +8 -8
- package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -1
- package/dist/esm/components/agent-listing/__fixtures__/agents.d.ts +3 -0
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +11 -10
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
- package/dist/esm/components/button/Button.styled.js +25 -19
- package/dist/esm/components/button/Button.styled.js.map +1 -1
- package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +28 -21
- package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
- package/dist/esm/components/dropdown/Dropdown.js +18 -13
- package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/input/Input.js +35 -34
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.model.d.ts +1 -0
- package/dist/esm/components/multi-level-dropdown/MenuItem.js +28 -27
- package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/esm/components/radioButton/RadioButton.js +10 -9
- package/dist/esm/components/radioButton/RadioButton.js.map +1 -1
- package/dist/esm/components/radioList/RadioList.js +28 -19
- package/dist/esm/components/radioList/RadioList.js.map +1 -1
- package/dist/esm/components/searchBar/searchBar.js +11 -10
- package/dist/esm/components/searchBar/searchBar.js.map +1 -1
- package/dist/esm/components/side-modal/SideModal.js +13 -5
- package/dist/esm/components/side-modal/SideModal.js.map +1 -1
- package/dist/esm/components/star-rating/Star.d.ts +1 -0
- package/dist/esm/components/star-rating/Star.js +32 -27
- package/dist/esm/components/star-rating/Star.js.map +1 -1
- package/dist/esm/components/star-rating/StarRating.js +17 -16
- package/dist/esm/components/star-rating/StarRating.js.map +1 -1
- package/dist/esm/components/template-preview/TemplatePreview.js +41 -40
- package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
- package/dist/esm/components/thumbnail/Thumbnail.js +3 -3
- package/dist/esm/components/thumbnail/Thumbnail.js.map +1 -1
- package/dist/esm/components/zeroState/ZeroState.js +20 -13
- package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
- package/dist/esm/editor/BikEditor.js +173 -160
- package/dist/esm/editor/BikEditor.js.map +1 -1
- package/dist/esm/editor/BikEditor.styles.d.ts +20 -3
- package/dist/esm/editor/BikEditor.styles.js +102 -57
- package/dist/esm/editor/BikEditor.styles.js.map +1 -1
- package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.d.ts +5 -8
- package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +87 -68
- package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,135 +1,132 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { jsxs as o, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import I from "../../../assets/icons/cross.svg.js";
|
|
3
|
+
import T from "../../../assets/icons/plus.svg.js";
|
|
4
|
+
import x from "styled-components";
|
|
5
|
+
import { DropdownPopover as w } from "../../dropdown/DropdownPopover/index.js";
|
|
6
|
+
import { RadioButton as u } from "../../radioButton/RadioButton.js";
|
|
7
|
+
import { TitleSmall as c, BodyCaption as l } from "../../TypographyStyle.js";
|
|
8
|
+
import { BASE_COLORS as h, COLORS as r } from "../../../constants/Theme.js";
|
|
9
|
+
import { SectionBodyWrap as k, CardRow as A, RadioCard as f, RadioCardText as g, FieldBlock as B, ChipWrap as O } from "../AgentBuilder.styled.js";
|
|
10
|
+
import { AiTextArea as R } from "../components/AiTextArea.js";
|
|
11
|
+
import { StepSectionHeader as D } from "../components/StepSectionHeader.js";
|
|
12
|
+
import { STEP_DEFINITIONS as L } from "../constants/steps.js";
|
|
13
|
+
import { useAgentBuilderContext as E } from "../context/AgentBuilderContext.js";
|
|
14
|
+
import { Button as v } from "../../button/Button.js";
|
|
15
|
+
import { unwrapDropdownValue as P } from "../../dropdown/utils.js";
|
|
16
|
+
const y = L[1], Y = () => {
|
|
17
|
+
const { value: b, patch: a, availableIntents: d, charLimits: C } = E(), { trigger: e } = b, s = (t) => a({
|
|
18
|
+
trigger: t === "manifest_intent" ? { ...e, mode: t, custom_intent: "" } : { ...e, mode: t, intents: [] }
|
|
19
|
+
}), S = (t) => {
|
|
20
|
+
e.intents.includes(t) || a({
|
|
21
|
+
trigger: { ...e, intents: [...e.intents, t] }
|
|
18
22
|
});
|
|
19
|
-
},
|
|
23
|
+
}, _ = (t) => a({
|
|
20
24
|
trigger: {
|
|
21
|
-
...
|
|
22
|
-
intents:
|
|
25
|
+
...e,
|
|
26
|
+
intents: e.intents.filter((i) => i !== t)
|
|
23
27
|
}
|
|
24
|
-
}), m = (t) => d.find((
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
|
|
28
|
+
}), m = (t) => d.find((i) => i.value === t)?.label ?? t, p = d.filter((t) => !e.intents.includes(t.value)).map((t) => ({ label: t.label, value: t.value }));
|
|
29
|
+
return /* @__PURE__ */ o("div", { children: [
|
|
30
|
+
/* @__PURE__ */ n(D, { title: y.title, helper: y.helper }),
|
|
31
|
+
/* @__PURE__ */ o(k, { children: [
|
|
32
|
+
/* @__PURE__ */ o(A, { children: [
|
|
33
|
+
/* @__PURE__ */ o(
|
|
34
|
+
f,
|
|
31
35
|
{
|
|
32
36
|
"data-test": "trigger-mode-manifest",
|
|
33
|
-
selected:
|
|
34
|
-
onClick: () =>
|
|
37
|
+
selected: e.mode === "manifest_intent",
|
|
38
|
+
onClick: () => s("manifest_intent"),
|
|
35
39
|
children: [
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
|
|
40
|
+
/* @__PURE__ */ n(
|
|
41
|
+
u,
|
|
38
42
|
{
|
|
39
|
-
isActive:
|
|
40
|
-
onValueChange: () =>
|
|
43
|
+
isActive: e.mode === "manifest_intent",
|
|
44
|
+
onValueChange: () => s("manifest_intent"),
|
|
41
45
|
skipSelectingOff: !0,
|
|
42
|
-
activeColor:
|
|
46
|
+
activeColor: h.brand[800]
|
|
43
47
|
}
|
|
44
48
|
),
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ o(g, { children: [
|
|
50
|
+
/* @__PURE__ */ n(c, { color: r.content.primary, children: "Manifest intent" }),
|
|
51
|
+
/* @__PURE__ */ n(l, { color: r.content.secondary, children: "Manifest's AI classifier routes conversations automatically — no keywords needed." })
|
|
48
52
|
] })
|
|
49
53
|
]
|
|
50
54
|
}
|
|
51
55
|
),
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
|
|
56
|
+
/* @__PURE__ */ o(
|
|
57
|
+
f,
|
|
54
58
|
{
|
|
55
59
|
"data-test": "trigger-mode-custom",
|
|
56
|
-
selected:
|
|
57
|
-
onClick: () =>
|
|
60
|
+
selected: e.mode === "custom_intent",
|
|
61
|
+
onClick: () => s("custom_intent"),
|
|
58
62
|
children: [
|
|
59
|
-
/* @__PURE__ */
|
|
60
|
-
|
|
63
|
+
/* @__PURE__ */ n(
|
|
64
|
+
u,
|
|
61
65
|
{
|
|
62
|
-
isActive:
|
|
63
|
-
onValueChange: () =>
|
|
66
|
+
isActive: e.mode === "custom_intent",
|
|
67
|
+
onValueChange: () => s("custom_intent"),
|
|
64
68
|
skipSelectingOff: !0,
|
|
65
|
-
activeColor:
|
|
69
|
+
activeColor: h.brand[800]
|
|
66
70
|
}
|
|
67
71
|
),
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ o(g, { children: [
|
|
73
|
+
/* @__PURE__ */ n(c, { color: r.content.primary, children: "Custom intent" }),
|
|
74
|
+
/* @__PURE__ */ n(l, { color: r.content.secondary, children: "Define your own trigger — use exact phrases or describe the customer's intent." })
|
|
71
75
|
] })
|
|
72
76
|
]
|
|
73
77
|
}
|
|
74
78
|
)
|
|
75
79
|
] }),
|
|
76
|
-
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
e.mode === "manifest_intent" ? /* @__PURE__ */ o(B, { children: [
|
|
81
|
+
/* @__PURE__ */ n(c, { color: r.content.primary, children: "If customer talks about" }),
|
|
82
|
+
e.intents.length > 0 && /* @__PURE__ */ n(O, { children: e.intents.map((t) => /* @__PURE__ */ n(
|
|
83
|
+
v,
|
|
84
|
+
{
|
|
85
|
+
"data-test": `intent-chip-${t}`,
|
|
86
|
+
size: "chip",
|
|
87
|
+
buttonType: "tertiaryGray",
|
|
88
|
+
buttonText: m(t),
|
|
89
|
+
TrailingIcon: I,
|
|
90
|
+
"aria-label": `Remove ${m(t)}`,
|
|
91
|
+
onClick: () => _(t)
|
|
92
|
+
},
|
|
93
|
+
t
|
|
94
|
+
)) }),
|
|
95
|
+
p.length > 0 && // Dashed "+ Intent" button on its own row under the chips;
|
|
96
|
+
// clicking it opens the intent list directly — no intermediate
|
|
97
|
+
// select input.
|
|
98
|
+
/* @__PURE__ */ n(F, { children: /* @__PURE__ */ n(
|
|
99
|
+
w,
|
|
100
|
+
{
|
|
101
|
+
"data-test": "intent-add-dropdown",
|
|
102
|
+
isSearchable: !0,
|
|
103
|
+
width: "200px",
|
|
104
|
+
placement: "bottom-start",
|
|
105
|
+
options: p,
|
|
106
|
+
onSelect: (t) => {
|
|
107
|
+
const i = P(t);
|
|
108
|
+
i && S(i);
|
|
109
|
+
},
|
|
110
|
+
children: /* @__PURE__ */ n(
|
|
111
|
+
v,
|
|
83
112
|
{
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
width: 14,
|
|
90
|
-
height: 14,
|
|
91
|
-
color: o.content.secondary
|
|
92
|
-
}
|
|
93
|
-
)
|
|
113
|
+
"data-test": "intent-add-button",
|
|
114
|
+
buttonType: "dashBold",
|
|
115
|
+
size: "medium",
|
|
116
|
+
LeadingIcon: T,
|
|
117
|
+
buttonText: "Intent"
|
|
94
118
|
}
|
|
95
119
|
)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
{
|
|
102
|
-
"data-test": "intent-add-dropdown",
|
|
103
|
-
isSearchable: !0,
|
|
104
|
-
width: "200px",
|
|
105
|
-
placement: "bottom-start",
|
|
106
|
-
options: h,
|
|
107
|
-
onSelect: (t) => {
|
|
108
|
-
const r = L(t);
|
|
109
|
-
r && S(r);
|
|
110
|
-
},
|
|
111
|
-
children: /* @__PURE__ */ i(R, { "data-test": "intent-add-button", type: "button", children: [
|
|
112
|
-
/* @__PURE__ */ e(
|
|
113
|
-
_,
|
|
114
|
-
{
|
|
115
|
-
width: 16,
|
|
116
|
-
height: 16,
|
|
117
|
-
color: o.content.secondary
|
|
118
|
-
}
|
|
119
|
-
),
|
|
120
|
-
/* @__PURE__ */ e(u, { color: o.content.secondary, children: "Intent" })
|
|
121
|
-
] })
|
|
122
|
-
}
|
|
123
|
-
)
|
|
124
|
-
] }),
|
|
125
|
-
/* @__PURE__ */ e(l, { color: o.content.secondary, children: "This agent takes over from your main assistant when this intent is detected. The changeover is automatic when you go live." })
|
|
126
|
-
] }) : /* @__PURE__ */ e(
|
|
127
|
-
D,
|
|
120
|
+
}
|
|
121
|
+
) }),
|
|
122
|
+
/* @__PURE__ */ n(l, { color: r.content.secondary, children: "This agent takes over from your main assistant when this intent is detected. The changeover is automatic when you go live." })
|
|
123
|
+
] }) : /* @__PURE__ */ n(
|
|
124
|
+
R,
|
|
128
125
|
{
|
|
129
126
|
"data-test": "custom-intent",
|
|
130
127
|
label: "Describe the trigger",
|
|
131
|
-
value:
|
|
132
|
-
onChange: (t) =>
|
|
128
|
+
value: e.custom_intent ?? "",
|
|
129
|
+
onChange: (t) => a({ trigger: { ...e, custom_intent: t } }),
|
|
133
130
|
maxLength: C.custom_intent,
|
|
134
131
|
placeholder: "e.g. The customer wants to cancel an order they placed.",
|
|
135
132
|
minHeight: "120px"
|
|
@@ -137,8 +134,10 @@ const v = E[1], U = () => {
|
|
|
137
134
|
)
|
|
138
135
|
] })
|
|
139
136
|
] });
|
|
140
|
-
}
|
|
137
|
+
}, F = x.div`
|
|
138
|
+
display: flex;
|
|
139
|
+
`;
|
|
141
140
|
export {
|
|
142
|
-
|
|
141
|
+
Y as Step2WhenItStepsIn
|
|
143
142
|
};
|
|
144
143
|
//# sourceMappingURL=Step2WhenItStepsIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step2WhenItStepsIn.js","sources":["../../../../../src/components/agent-builder/steps/Step2WhenItStepsIn.tsx"],"sourcesContent":["import CrossIcon from '@src/assets/icons/cross.svg';\nimport PlusIcon from '@src/assets/icons/plus.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 { RadioButton } from '@src/components/radioButton/RadioButton';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport { TriggerMode } from '../AgentBuilder.model';\nimport {\n\tAddChipButton,\n\tCardRow,\n\tChipCloseButton,\n\tChipWrap,\n\tFieldBlock,\n\tIntentChip,\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[1];\n\nexport const Step2WhenItStepsIn: React.FC = () => {\n\tconst { value, patch, availableIntents, charLimits } =\n\t\tuseAgentBuilderContext();\n\tconst { trigger } = value;\n\n\tconst setMode = (mode: TriggerMode) =>\n\t\tpatch({ trigger: { ...trigger, mode } });\n\n\tconst addIntent = (intentValue: string) => {\n\t\tif (!trigger.intents.includes(intentValue)) {\n\t\t\tpatch({\n\t\t\t\ttrigger: { ...trigger, intents: [...trigger.intents, intentValue] },\n\t\t\t});\n\t\t}\n\t};\n\n\tconst removeIntent = (intentValue: string) =>\n\t\tpatch({\n\t\t\ttrigger: {\n\t\t\t\t...trigger,\n\t\t\t\tintents: trigger.intents.filter((i) => i !== intentValue),\n\t\t\t},\n\t\t});\n\n\tconst labelFor = (v: string) =>\n\t\tavailableIntents.find((o) => o.value === v)?.label ?? v;\n\n\tconst remainingOptions: SingleOption[] = availableIntents\n\t\t.filter((o) => !trigger.intents.includes(o.value))\n\t\t.map((o) => ({ label: o.label, value: o.value }));\n\n\treturn (\n\t\t<div>\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\t\t\t<SectionBodyWrap>\n\t\t\t\t<CardRow>\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"trigger-mode-manifest\"\n\t\t\t\t\t\tselected={trigger.mode === 'manifest_intent'}\n\t\t\t\t\t\tonClick={() => setMode('manifest_intent')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={trigger.mode === 'manifest_intent'}\n\t\t\t\t\t\t\tonValueChange={() => setMode('manifest_intent')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tManifest intent\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tManifest's AI classifier routes conversations automatically\n\t\t\t\t\t\t\t\t— no keywords needed.\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"trigger-mode-custom\"\n\t\t\t\t\t\tselected={trigger.mode === 'custom_intent'}\n\t\t\t\t\t\tonClick={() => setMode('custom_intent')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={trigger.mode === 'custom_intent'}\n\t\t\t\t\t\t\tonValueChange={() => setMode('custom_intent')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={COLORS.content.brand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tCustom intent\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tDefine your own trigger — use exact phrases or describe the\n\t\t\t\t\t\t\t\tcustomer's intent.\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\t\t\t\t</CardRow>\n\n\t\t\t\t{trigger.mode === 'manifest_intent' ? (\n\t\t\t\t\t<FieldBlock>\n\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\tIf customer talks about\n\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t<ChipWrap>\n\t\t\t\t\t\t\t{trigger.intents.map((intent) => (\n\t\t\t\t\t\t\t\t<IntentChip key={intent} data-test={`intent-chip-${intent}`}>\n\t\t\t\t\t\t\t\t\t<BodySecondary color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\t\t\t{labelFor(intent)}\n\t\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t\t<ChipCloseButton\n\t\t\t\t\t\t\t\t\t\tonClick={() => removeIntent(intent)}\n\t\t\t\t\t\t\t\t\t\taria-label={`Remove ${labelFor(intent)}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<CrossIcon\n\t\t\t\t\t\t\t\t\t\t\twidth={14}\n\t\t\t\t\t\t\t\t\t\t\theight={14}\n\t\t\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ChipCloseButton>\n\t\t\t\t\t\t\t\t</IntentChip>\n\t\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t\t{remainingOptions.length > 0 && (\n\t\t\t\t\t\t\t\t// Clicking the button opens the intent list directly — no\n\t\t\t\t\t\t\t\t// intermediate select input.\n\t\t\t\t\t\t\t\t<DropdownPopover\n\t\t\t\t\t\t\t\t\tdata-test=\"intent-add-dropdown\"\n\t\t\t\t\t\t\t\t\tisSearchable\n\t\t\t\t\t\t\t\t\twidth=\"200px\"\n\t\t\t\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\t\t\t\toptions={remainingOptions}\n\t\t\t\t\t\t\t\t\tonSelect={(opt) => {\n\t\t\t\t\t\t\t\t\t\tconst v = unwrapDropdownValue(opt);\n\t\t\t\t\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\t\t\t\t\taddIntent(v);\n\t\t\t\t\t\t\t\t\t\t}\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\t\t<AddChipButton data-test=\"intent-add-button\" type=\"button\">\n\t\t\t\t\t\t\t\t\t\t<PlusIcon\n\t\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<BodySecondary color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\t\t\tIntent\n\t\t\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t\t</AddChipButton>\n\t\t\t\t\t\t\t\t</DropdownPopover>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ChipWrap>\n\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\tThis agent takes over from your main assistant when this intent is\n\t\t\t\t\t\t\tdetected. The changeover is automatic when you go live.\n\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t</FieldBlock>\n\t\t\t\t) : (\n\t\t\t\t\t<AiTextArea\n\t\t\t\t\t\tdata-test=\"custom-intent\"\n\t\t\t\t\t\tlabel=\"Describe the trigger\"\n\t\t\t\t\t\tvalue={trigger.custom_intent ?? ''}\n\t\t\t\t\t\tonChange={(text) =>\n\t\t\t\t\t\t\tpatch({ trigger: { ...trigger, custom_intent: text } })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmaxLength={charLimits.custom_intent}\n\t\t\t\t\t\tplaceholder=\"e.g. The customer wants to cancel an order they placed.\"\n\t\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</SectionBodyWrap>\n\t\t</div>\n\t);\n};\n"],"names":["STEP","STEP_DEFINITIONS","Step2WhenItStepsIn","value","patch","availableIntents","charLimits","useAgentBuilderContext","trigger","setMode","mode","addIntent","intentValue","removeIntent","i","labelFor","v","o","remainingOptions","jsx","StepSectionHeader","SectionBodyWrap","jsxs","CardRow","RadioCard","RadioButton","COLORS","RadioCardText","TitleSmall","BodyCaption","FieldBlock","ChipWrap","intent","IntentChip","BodySecondary","ChipCloseButton","CrossIcon","DropdownPopover","opt","unwrapDropdownValue","AddChipButton","PlusIcon","AiTextArea","text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Step2WhenItStepsIn.js","sources":["../../../../../src/components/agent-builder/steps/Step2WhenItStepsIn.tsx"],"sourcesContent":["import CrossIcon from '@src/assets/icons/cross.svg';\nimport PlusIcon from '@src/assets/icons/plus.svg';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '@src/components/button';\nimport { unwrapDropdownValue } from '@src/components/dropdown';\nimport { DropdownPopover } from '@src/components/dropdown/DropdownPopover';\nimport { SingleOption } from '@src/components/dropdown/type';\nimport { RadioButton } from '@src/components/radioButton/RadioButton';\nimport { BodyCaption, TitleSmall } from '@src/components/TypographyStyle';\nimport { BASE_COLORS, COLORS } from '@src/constants/Theme';\nimport { TriggerMode } from '../AgentBuilder.model';\nimport {\n\tCardRow,\n\tChipWrap,\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[1];\n\nexport const Step2WhenItStepsIn: React.FC = () => {\n\tconst { value, patch, availableIntents, charLimits } =\n\t\tuseAgentBuilderContext();\n\tconst { trigger } = value;\n\n\t// The two modes are mutually exclusive, so switching clears the other mode's\n\t// data — otherwise both manifest intents AND a custom intent get saved.\n\tconst setMode = (mode: TriggerMode) =>\n\t\tpatch({\n\t\t\ttrigger:\n\t\t\t\tmode === 'manifest_intent'\n\t\t\t\t\t? { ...trigger, mode, custom_intent: '' }\n\t\t\t\t\t: { ...trigger, mode, intents: [] },\n\t\t});\n\n\tconst addIntent = (intentValue: string) => {\n\t\tif (!trigger.intents.includes(intentValue)) {\n\t\t\tpatch({\n\t\t\t\ttrigger: { ...trigger, intents: [...trigger.intents, intentValue] },\n\t\t\t});\n\t\t}\n\t};\n\n\tconst removeIntent = (intentValue: string) =>\n\t\tpatch({\n\t\t\ttrigger: {\n\t\t\t\t...trigger,\n\t\t\t\tintents: trigger.intents.filter((i) => i !== intentValue),\n\t\t\t},\n\t\t});\n\n\tconst labelFor = (v: string) =>\n\t\tavailableIntents.find((o) => o.value === v)?.label ?? v;\n\n\tconst remainingOptions: SingleOption[] = availableIntents\n\t\t.filter((o) => !trigger.intents.includes(o.value))\n\t\t.map((o) => ({ label: o.label, value: o.value }));\n\n\treturn (\n\t\t<div>\n\t\t\t<StepSectionHeader title={STEP.title} helper={STEP.helper} />\n\t\t\t<SectionBodyWrap>\n\t\t\t\t<CardRow>\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"trigger-mode-manifest\"\n\t\t\t\t\t\tselected={trigger.mode === 'manifest_intent'}\n\t\t\t\t\t\tonClick={() => setMode('manifest_intent')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={trigger.mode === 'manifest_intent'}\n\t\t\t\t\t\t\tonValueChange={() => setMode('manifest_intent')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={BASE_COLORS.brand['800']}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tManifest intent\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tManifest's AI classifier routes conversations automatically\n\t\t\t\t\t\t\t\t— no keywords needed.\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\n\t\t\t\t\t<RadioCard\n\t\t\t\t\t\tdata-test=\"trigger-mode-custom\"\n\t\t\t\t\t\tselected={trigger.mode === 'custom_intent'}\n\t\t\t\t\t\tonClick={() => setMode('custom_intent')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioButton\n\t\t\t\t\t\t\tisActive={trigger.mode === 'custom_intent'}\n\t\t\t\t\t\t\tonValueChange={() => setMode('custom_intent')}\n\t\t\t\t\t\t\tskipSelectingOff\n\t\t\t\t\t\t\tactiveColor={BASE_COLORS.brand['800']}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RadioCardText>\n\t\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\t\tCustom intent\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\tDefine your own trigger — use exact phrases or describe the\n\t\t\t\t\t\t\t\tcustomer's intent.\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t</RadioCardText>\n\t\t\t\t\t</RadioCard>\n\t\t\t\t</CardRow>\n\n\t\t\t\t{trigger.mode === 'manifest_intent' ? (\n\t\t\t\t\t<FieldBlock>\n\t\t\t\t\t\t<TitleSmall color={COLORS.content.primary}>\n\t\t\t\t\t\t\tIf customer talks about\n\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t{trigger.intents.length > 0 && (\n\t\t\t\t\t\t\t<ChipWrap>\n\t\t\t\t\t\t\t\t{trigger.intents.map((intent) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={intent}\n\t\t\t\t\t\t\t\t\t\tdata-test={`intent-chip-${intent}`}\n\t\t\t\t\t\t\t\t\t\tsize=\"chip\"\n\t\t\t\t\t\t\t\t\t\tbuttonType=\"tertiaryGray\"\n\t\t\t\t\t\t\t\t\t\tbuttonText={labelFor(intent)}\n\t\t\t\t\t\t\t\t\t\tTrailingIcon={CrossIcon}\n\t\t\t\t\t\t\t\t\t\taria-label={`Remove ${labelFor(intent)}`}\n\t\t\t\t\t\t\t\t\t\tonClick={() => removeIntent(intent)}\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</ChipWrap>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{remainingOptions.length > 0 && (\n\t\t\t\t\t\t\t// Dashed \"+ Intent\" button on its own row under the chips;\n\t\t\t\t\t\t\t// clicking it opens the intent list directly — no intermediate\n\t\t\t\t\t\t\t// select input.\n\t\t\t\t\t\t\t<AddIntentRow>\n\t\t\t\t\t\t\t\t<DropdownPopover\n\t\t\t\t\t\t\t\t\tdata-test=\"intent-add-dropdown\"\n\t\t\t\t\t\t\t\t\tisSearchable\n\t\t\t\t\t\t\t\t\twidth=\"200px\"\n\t\t\t\t\t\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\t\t\t\t\t\toptions={remainingOptions}\n\t\t\t\t\t\t\t\t\tonSelect={(opt) => {\n\t\t\t\t\t\t\t\t\t\tconst v = unwrapDropdownValue(opt);\n\t\t\t\t\t\t\t\t\t\tif (v) {\n\t\t\t\t\t\t\t\t\t\t\taddIntent(v);\n\t\t\t\t\t\t\t\t\t\t}\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\t\t<Button\n\t\t\t\t\t\t\t\t\t\tdata-test=\"intent-add-button\"\n\t\t\t\t\t\t\t\t\t\tbuttonType=\"dashBold\"\n\t\t\t\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\t\t\t\tLeadingIcon={PlusIcon}\n\t\t\t\t\t\t\t\t\t\tbuttonText=\"Intent\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</DropdownPopover>\n\t\t\t\t\t\t\t</AddIntentRow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\tThis agent takes over from your main assistant when this intent is\n\t\t\t\t\t\t\tdetected. The changeover is automatic when you go live.\n\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t</FieldBlock>\n\t\t\t\t) : (\n\t\t\t\t\t<AiTextArea\n\t\t\t\t\t\tdata-test=\"custom-intent\"\n\t\t\t\t\t\tlabel=\"Describe the trigger\"\n\t\t\t\t\t\tvalue={trigger.custom_intent ?? ''}\n\t\t\t\t\t\tonChange={(text) =>\n\t\t\t\t\t\t\tpatch({ trigger: { ...trigger, custom_intent: text } })\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmaxLength={charLimits.custom_intent}\n\t\t\t\t\t\tplaceholder=\"e.g. The customer wants to cancel an order they placed.\"\n\t\t\t\t\t\tminHeight=\"120px\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</SectionBodyWrap>\n\t\t</div>\n\t);\n};\n\n// Keeps the dashed \"+ Intent\" button at its natural width on its own row.\nconst AddIntentRow = styled.div`\n\tdisplay: flex;\n`;\n"],"names":["STEP","STEP_DEFINITIONS","Step2WhenItStepsIn","value","patch","availableIntents","charLimits","useAgentBuilderContext","trigger","setMode","mode","addIntent","intentValue","removeIntent","labelFor","v","o","remainingOptions","jsx","StepSectionHeader","SectionBodyWrap","jsxs","CardRow","RadioCard","RadioButton","BASE_COLORS","RadioCardText","TitleSmall","COLORS","BodyCaption","FieldBlock","ChipWrap","intent","Button","CrossIcon","AddIntentRow","DropdownPopover","opt","unwrapDropdownValue","PlusIcon","AiTextArea","text","styled"],"mappings":"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"}
|