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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) 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 +29 -151
  4. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +5 -5
  6. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/MentionEditor.js +2 -2
  8. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/MentionField.js +1 -1
  10. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/MentionPicker.js +13 -13
  12. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +3 -3
  14. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/constants/steps.js +1 -1
  16. package/dist/cjs/components/agent-builder/constants/steps.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  18. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/steps/Step1About.js +1 -1
  20. package/dist/cjs/components/agent-builder/steps/Step1About.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +2 -2
  22. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  24. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  26. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +4 -4
  28. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  29. package/dist/cjs/components/button/Button.js +1 -1
  30. package/dist/cjs/components/button/Button.js.map +1 -1
  31. package/dist/cjs/components/button/Button.styled.js +2 -2
  32. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  33. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  34. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  35. package/dist/cjs/components/tag/Tag.js +1 -1
  36. package/dist/cjs/components/tag/Tag.js.map +1 -1
  37. package/dist/cjs/components/tag/Tag.styled.js +4 -4
  38. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  39. package/dist/cjs/components/tag/model.js.map +1 -1
  40. package/dist/cjs/icons/BIK AI specific/WandSparkles.js +1 -1
  41. package/dist/cjs/icons/BIK AI specific/WandSparkles.js.map +1 -1
  42. package/dist/cjs/icons/Informational/General/MessageSource.js +2 -0
  43. package/dist/cjs/icons/Informational/General/MessageSource.js.map +1 -0
  44. package/dist/cjs/icons/index.js +1 -1
  45. package/dist/cjs/index.js +1 -1
  46. package/dist/esm/components/agent-builder/AgentBuilder.js +97 -103
  47. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  48. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +0 -76
  49. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +0 -68
  50. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +59 -224
  51. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  52. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +132 -135
  53. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  54. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +0 -2
  55. package/dist/esm/components/agent-builder/components/MentionEditor.js +45 -47
  56. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  57. package/dist/esm/components/agent-builder/components/MentionField.js +51 -52
  58. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -1
  59. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +0 -5
  60. package/dist/esm/components/agent-builder/components/MentionPicker.js +132 -134
  61. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  62. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +0 -2
  63. package/dist/esm/components/agent-builder/components/SelectableListSection.js +46 -48
  64. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  65. package/dist/esm/components/agent-builder/constants/steps.d.ts +1 -31
  66. package/dist/esm/components/agent-builder/constants/steps.js +6 -15
  67. package/dist/esm/components/agent-builder/constants/steps.js.map +1 -1
  68. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +1 -13
  69. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +148 -157
  70. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  71. package/dist/esm/components/agent-builder/index.d.ts +2 -5
  72. package/dist/esm/components/agent-builder/steps/Step1About.js +13 -15
  73. package/dist/esm/components/agent-builder/steps/Step1About.js.map +1 -1
  74. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +48 -55
  75. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  76. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +157 -158
  77. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  78. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.d.ts +0 -11
  79. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +23 -127
  80. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  81. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +2 -7
  82. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +2 -2
  83. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  84. package/dist/esm/components/button/Button.js +21 -19
  85. package/dist/esm/components/button/Button.js.map +1 -1
  86. package/dist/esm/components/button/Button.styled.d.ts +1 -0
  87. package/dist/esm/components/button/Button.styled.js +5 -5
  88. package/dist/esm/components/button/Button.styled.js.map +1 -1
  89. package/dist/esm/components/button/model.d.ts +5 -0
  90. package/dist/esm/components/dropdown-button/DropdownButton.d.ts +5 -0
  91. package/dist/esm/components/dropdown-button/DropdownButton.js +4 -3
  92. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  93. package/dist/esm/components/tag/Tag.d.ts +1 -1
  94. package/dist/esm/components/tag/Tag.js +48 -41
  95. package/dist/esm/components/tag/Tag.js.map +1 -1
  96. package/dist/esm/components/tag/Tag.styled.d.ts +3 -0
  97. package/dist/esm/components/tag/Tag.styled.js +6 -9
  98. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  99. package/dist/esm/components/tag/model.d.ts +11 -0
  100. package/dist/esm/components/tag/model.js.map +1 -1
  101. package/dist/esm/icons/BIK AI specific/WandSparkles.js +1 -1
  102. package/dist/esm/icons/BIK AI specific/WandSparkles.js.map +1 -1
  103. package/dist/esm/icons/Informational/General/MessageSource.d.ts +7 -0
  104. package/dist/esm/icons/Informational/General/MessageSource.js +46 -0
  105. package/dist/esm/icons/Informational/General/MessageSource.js.map +1 -0
  106. package/dist/esm/icons/Informational/General/index.d.ts +1 -0
  107. package/dist/esm/icons/index.d.ts +25 -25
  108. package/dist/esm/icons/index.js +294 -292
  109. package/dist/esm/icons/index.js.map +1 -1
  110. package/dist/esm/index.js +636 -644
  111. package/dist/esm/index.js.map +1 -1
  112. package/package.json +1 -1
  113. package/dist/cjs/components/agent-builder/components/ChannelSelectModal.js +0 -2
  114. package/dist/cjs/components/agent-builder/components/ChannelSelectModal.js.map +0 -1
  115. package/dist/cjs/components/agent-builder/components/ChannelsSection.js +0 -2
  116. package/dist/cjs/components/agent-builder/components/ChannelsSection.js.map +0 -1
  117. package/dist/cjs/components/agent-builder/constants/channels.js +0 -2
  118. package/dist/cjs/components/agent-builder/constants/channels.js.map +0 -1
  119. package/dist/esm/components/agent-builder/components/ChannelSelectModal.d.ts +0 -26
  120. package/dist/esm/components/agent-builder/components/ChannelSelectModal.js +0 -121
  121. package/dist/esm/components/agent-builder/components/ChannelSelectModal.js.map +0 -1
  122. package/dist/esm/components/agent-builder/components/ChannelsSection.d.ts +0 -10
  123. package/dist/esm/components/agent-builder/components/ChannelsSection.js +0 -183
  124. package/dist/esm/components/agent-builder/components/ChannelsSection.js.map +0 -1
  125. package/dist/esm/components/agent-builder/constants/channels.d.ts +0 -56
  126. package/dist/esm/components/agent-builder/constants/channels.js +0 -41
  127. package/dist/esm/components/agent-builder/constants/channels.js.map +0 -1
@@ -1,21 +1,20 @@
1
1
  import { jsxs as o, jsx as n } from "react/jsx-runtime";
2
- import x from "../../../assets/icons/cross.svg.js";
3
- import w from "../../../assets/icons/plus.svg.js";
4
- import k from "styled-components";
5
- import { DropdownPopover as A } from "../../dropdown/DropdownPopover/index.js";
6
- import { RadioButton as u } from "../../radioButton/RadioButton.js";
7
- import { TitleSmall as l, BodyCaption as d } from "../../TypographyStyle.js";
8
- import { BASE_COLORS as g, COLORS as r } from "../../../constants/Theme.js";
9
- import { SectionBodyWrap as B, CardRow as L, RadioCard as f, RadioCardText as v, FieldBlock as O, ChipWrap as R } from "../AgentBuilder.styled.js";
10
- import { AiTextArea as E } from "../components/AiTextArea.js";
2
+ import T from "../../../assets/icons/cross.svg.js";
3
+ import _ 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 h } from "../../radioButton/RadioButton.js";
7
+ import { TitleSmall as c, BodyCaption as l } from "../../TypographyStyle.js";
8
+ import { BASE_COLORS as u, 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
11
  import { StepSectionHeader as D } from "../components/StepSectionHeader.js";
12
- import { STEP_DEFINITION_TEMPLATES as P, resolveAppToken as $ } from "../constants/steps.js";
13
- import { useAgentBuilderContext as F } from "../context/AgentBuilderContext.js";
14
- import { appTypeLabel as W } from "../utils/mentionSerialization.js";
15
- import { Button as y } from "../../button/Button.js";
16
- import { unwrapDropdownValue as j } from "../../dropdown/utils.js";
17
- const b = P[1], ot = () => {
18
- const { value: T, patch: a, availableIntents: m, charLimits: C, applicationType: S } = F(), { trigger: e } = T, c = W(S), s = (t) => a({ trigger: { ...e, mode: t } }), _ = (t) => {
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({ trigger: { ...e, mode: t } }), S = (t) => {
19
18
  e.intents.includes(t) || a({
20
19
  trigger: { ...e, intents: [...e.intents, t] }
21
20
  });
@@ -24,17 +23,11 @@ const b = P[1], ot = () => {
24
23
  ...e,
25
24
  intents: e.intents.filter((i) => i !== t)
26
25
  }
27
- }), p = (t) => m.find((i) => i.value === t)?.label ?? t, h = m.filter((t) => !e.intents.includes(t.value)).map((t) => ({ label: t.label, value: t.value }));
26
+ }), 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 }));
28
27
  return /* @__PURE__ */ o("div", { children: [
29
- /* @__PURE__ */ n(
30
- D,
31
- {
32
- title: b.title,
33
- helper: $(b.helper, c)
34
- }
35
- ),
36
- /* @__PURE__ */ o(B, { children: [
37
- /* @__PURE__ */ o(L, { children: [
28
+ /* @__PURE__ */ n(D, { title: y.title, helper: y.helper }),
29
+ /* @__PURE__ */ o(k, { children: [
30
+ /* @__PURE__ */ o(A, { children: [
38
31
  /* @__PURE__ */ o(
39
32
  f,
40
33
  {
@@ -43,17 +36,17 @@ const b = P[1], ot = () => {
43
36
  onClick: () => s("manifest_intent"),
44
37
  children: [
45
38
  /* @__PURE__ */ n(
46
- u,
39
+ h,
47
40
  {
48
41
  isActive: e.mode === "manifest_intent",
49
42
  onValueChange: () => s("manifest_intent"),
50
43
  skipSelectingOff: !0,
51
- activeColor: g.brand[800]
44
+ activeColor: u.brand[800]
52
45
  }
53
46
  ),
54
- /* @__PURE__ */ o(v, { children: [
55
- /* @__PURE__ */ n(l, { color: r.content.primary, children: `${c} intent` }),
56
- /* @__PURE__ */ n(d, { color: r.content.secondary, children: `${c}'s AI classifier routes conversations automatically — no keywords needed.` })
47
+ /* @__PURE__ */ o(g, { children: [
48
+ /* @__PURE__ */ n(c, { color: r.content.primary, children: "Manifest intent" }),
49
+ /* @__PURE__ */ n(l, { color: r.content.secondary, children: "Manifest's AI classifier routes conversations automatically — no keywords needed." })
57
50
  ] })
58
51
  ]
59
52
  }
@@ -66,67 +59,67 @@ const b = P[1], ot = () => {
66
59
  onClick: () => s("custom_intent"),
67
60
  children: [
68
61
  /* @__PURE__ */ n(
69
- u,
62
+ h,
70
63
  {
71
64
  isActive: e.mode === "custom_intent",
72
65
  onValueChange: () => s("custom_intent"),
73
66
  skipSelectingOff: !0,
74
- activeColor: g.brand[800]
67
+ activeColor: u.brand[800]
75
68
  }
76
69
  ),
77
- /* @__PURE__ */ o(v, { children: [
78
- /* @__PURE__ */ n(l, { color: r.content.primary, children: "Custom intent" }),
79
- /* @__PURE__ */ n(d, { color: r.content.secondary, children: "Define your own trigger — use exact phrases or describe the customer's intent." })
70
+ /* @__PURE__ */ o(g, { children: [
71
+ /* @__PURE__ */ n(c, { color: r.content.primary, children: "Custom intent" }),
72
+ /* @__PURE__ */ n(l, { color: r.content.secondary, children: "Define your own trigger — use exact phrases or describe the customer's intent." })
80
73
  ] })
81
74
  ]
82
75
  }
83
76
  )
84
77
  ] }),
85
- e.mode === "manifest_intent" ? /* @__PURE__ */ o(O, { children: [
86
- /* @__PURE__ */ n(l, { color: r.content.primary, children: "If customer talks about" }),
87
- e.intents.length > 0 && /* @__PURE__ */ n(R, { children: e.intents.map((t) => /* @__PURE__ */ n(
88
- y,
78
+ e.mode === "manifest_intent" ? /* @__PURE__ */ o(B, { children: [
79
+ /* @__PURE__ */ n(c, { color: r.content.primary, children: "If customer talks about" }),
80
+ e.intents.length > 0 && /* @__PURE__ */ n(O, { children: e.intents.map((t) => /* @__PURE__ */ n(
81
+ v,
89
82
  {
90
83
  "data-test": `intent-chip-${t}`,
91
84
  size: "chip",
92
85
  buttonType: "tertiaryGray",
93
- buttonText: p(t),
94
- TrailingIcon: x,
95
- "aria-label": `Remove ${p(t)}`,
86
+ buttonText: m(t),
87
+ TrailingIcon: T,
88
+ "aria-label": `Remove ${m(t)}`,
96
89
  onClick: () => I(t)
97
90
  },
98
91
  t
99
92
  )) }),
100
- h.length > 0 && // Dashed "+ Intent" button on its own row under the chips;
93
+ p.length > 0 && // Dashed "+ Intent" button on its own row under the chips;
101
94
  // clicking it opens the intent list directly — no intermediate
102
95
  // select input.
103
- /* @__PURE__ */ n(z, { children: /* @__PURE__ */ n(
104
- A,
96
+ /* @__PURE__ */ n(F, { children: /* @__PURE__ */ n(
97
+ w,
105
98
  {
106
99
  "data-test": "intent-add-dropdown",
107
100
  isSearchable: !0,
108
101
  width: "200px",
109
102
  placement: "bottom-start",
110
- options: h,
103
+ options: p,
111
104
  onSelect: (t) => {
112
- const i = j(t);
113
- i && _(i);
105
+ const i = P(t);
106
+ i && S(i);
114
107
  },
115
108
  children: /* @__PURE__ */ n(
116
- y,
109
+ v,
117
110
  {
118
111
  "data-test": "intent-add-button",
119
112
  buttonType: "dashBold",
120
113
  size: "medium",
121
- LeadingIcon: w,
114
+ LeadingIcon: _,
122
115
  buttonText: "Intent"
123
116
  }
124
117
  )
125
118
  }
126
119
  ) }),
127
- /* @__PURE__ */ n(d, { 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." })
120
+ /* @__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." })
128
121
  ] }) : /* @__PURE__ */ n(
129
- E,
122
+ R,
130
123
  {
131
124
  "data-test": "custom-intent",
132
125
  label: "Describe the trigger",
@@ -139,10 +132,10 @@ const b = P[1], ot = () => {
139
132
  )
140
133
  ] })
141
134
  ] });
142
- }, z = k.div`
135
+ }, F = x.div`
143
136
  display: flex;
144
137
  `;
145
138
  export {
146
- ot as Step2WhenItStepsIn
139
+ Y as Step2WhenItStepsIn
147
140
  };
148
141
  //# 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 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 { resolveAppToken, STEP_DEFINITION_TEMPLATES } from '../constants/steps';\nimport { useAgentBuilderContext } from '../context/AgentBuilderContext';\nimport { appTypeLabel } from '../utils/mentionSerialization';\n\nconst STEP = STEP_DEFINITION_TEMPLATES[1];\n\nexport const Step2WhenItStepsIn: React.FC = () => {\n\tconst { value, patch, availableIntents, charLimits, applicationType } =\n\t\tuseAgentBuilderContext();\n\tconst { trigger } = value;\n\n\t// The first trigger mode is the host product's own intent classifier, so it's\n\t// named after whichever product the merchant is in — \"Manifest intent\" in\n\t// Manifest, \"BIK intent\" in BIK. `trigger.mode` stays `'manifest_intent'`:\n\t// it's a bik-models TriggerMode the backend keys off, not a label.\n\tconst appLabel = appTypeLabel(applicationType);\n\n\t// Only the mode changes here. The modes are mutually exclusive on save, but the\n\t// unselected one's data is kept until the merchant leaves this step (see\n\t// `triggerForSelectedMode` in AgentBuilderContext) — so toggling the radio to\n\t// compare the two options doesn't delete what they already picked or typed.\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\n\t\t\t\ttitle={STEP.title}\n\t\t\t\thelper={resolveAppToken(STEP.helper, appLabel)}\n\t\t\t/>\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\t{`${appLabel} 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\t{`${appLabel}'s AI classifier routes conversations automatically — 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&apos;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_DEFINITION_TEMPLATES","Step2WhenItStepsIn","value","patch","availableIntents","charLimits","applicationType","useAgentBuilderContext","trigger","appLabel","appTypeLabel","setMode","mode","addIntent","intentValue","removeIntent","labelFor","v","o","remainingOptions","jsx","StepSectionHeader","resolveAppToken","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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"}
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// Only the mode changes here. The modes are mutually exclusive on save, but the\n\t// unselected one's data is kept until the merchant leaves this step (see\n\t// `triggerForSelectedMode` in AgentBuilderContext) — so toggling the radio to\n\t// compare the two options doesn't delete what they already picked or typed.\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={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&apos;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&apos;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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"}