@bikdotai/bik-component-library 0.0.853 → 0.0.855

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 (110) hide show
  1. package/dist/cjs/components/add-variableV2/AddDataPill.js +10 -0
  2. package/dist/cjs/components/add-variableV2/AddDataPill.js.map +1 -0
  3. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  4. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +11 -11
  6. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +5 -5
  8. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/MentionEditor.js +7 -1
  10. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/MentionField.js +1 -1
  12. package/dist/cjs/components/agent-builder/components/MentionField.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/MentionPicker.js +41 -14
  14. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +6 -5
  16. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js +2 -2
  18. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/VariableInlineField.js +65 -0
  20. package/dist/cjs/components/agent-builder/components/VariableInlineField.js.map +1 -0
  21. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js +10 -0
  22. package/dist/cjs/components/agent-builder/components/VariableTriggerArea.js.map +1 -0
  23. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  24. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  26. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.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/utils/mentionSerialization.js +4 -4
  30. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  31. package/dist/cjs/components/toaster/Toaster.js +1 -1
  32. package/dist/cjs/components/toaster/Toaster.js.map +1 -1
  33. package/dist/cjs/components/toaster/Toaster.styled.js +7 -7
  34. package/dist/cjs/components/toaster/Toaster.styled.js.map +1 -1
  35. package/dist/cjs/components/variable-picker-v3/Content.js +1 -1
  36. package/dist/cjs/components/variable-picker-v3/Content.js.map +1 -1
  37. package/dist/cjs/editor/BikEditor.js +1 -1
  38. package/dist/cjs/editor/BikEditor.js.map +1 -1
  39. package/dist/cjs/editor/BikEditor.styles.js +8 -0
  40. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  41. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  42. package/dist/cjs/editor/extensions/mention/MentionDropdown.js +1 -1
  43. package/dist/cjs/editor/extensions/mention/MentionDropdown.js.map +1 -1
  44. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  45. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  46. package/dist/cjs/index.js +1 -1
  47. package/dist/esm/components/add-variableV2/AddDataPill.d.ts +24 -0
  48. package/dist/esm/components/add-variableV2/AddDataPill.js +33 -0
  49. package/dist/esm/components/add-variableV2/AddDataPill.js.map +1 -0
  50. package/dist/esm/components/add-variableV2/index.d.ts +1 -0
  51. package/dist/esm/components/agent-builder/AgentBuilder.js +76 -74
  52. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  53. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +8 -0
  54. package/dist/esm/components/agent-builder/components/ConfigToolPanel.d.ts +8 -0
  55. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +182 -136
  56. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  57. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +3 -0
  58. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +195 -188
  59. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  60. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +12 -0
  61. package/dist/esm/components/agent-builder/components/MentionEditor.js +144 -103
  62. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  63. package/dist/esm/components/agent-builder/components/MentionField.js +48 -45
  64. package/dist/esm/components/agent-builder/components/MentionField.js.map +1 -1
  65. package/dist/esm/components/agent-builder/components/MentionPicker.d.ts +14 -1
  66. package/dist/esm/components/agent-builder/components/MentionPicker.js +286 -218
  67. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  68. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +8 -0
  69. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +192 -176
  70. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  71. package/dist/esm/components/agent-builder/components/ToolInstructionsField.d.ts +9 -0
  72. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js +67 -48
  73. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  74. package/dist/esm/components/agent-builder/components/VariableInlineField.d.ts +26 -0
  75. package/dist/esm/components/agent-builder/components/VariableInlineField.js +149 -0
  76. package/dist/esm/components/agent-builder/components/VariableInlineField.js.map +1 -0
  77. package/dist/esm/components/agent-builder/components/VariableTriggerArea.d.ts +46 -0
  78. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js +118 -0
  79. package/dist/esm/components/agent-builder/components/VariableTriggerArea.js.map +1 -0
  80. package/dist/esm/components/agent-builder/constants/tools.d.ts +1 -1
  81. package/dist/esm/components/agent-builder/constants/tools.js +14 -13
  82. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  83. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +7 -0
  84. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +99 -96
  85. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  86. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +164 -160
  87. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  88. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +14 -4
  89. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +54 -36
  90. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  91. package/dist/esm/components/toaster/Toaster.js +30 -25
  92. package/dist/esm/components/toaster/Toaster.js.map +1 -1
  93. package/dist/esm/components/toaster/Toaster.styled.js +5 -5
  94. package/dist/esm/components/toaster/Toaster.styled.js.map +1 -1
  95. package/dist/esm/components/variable-picker-v3/Content.js +16 -15
  96. package/dist/esm/components/variable-picker-v3/Content.js.map +1 -1
  97. package/dist/esm/editor/BikEditor.js +40 -34
  98. package/dist/esm/editor/BikEditor.js.map +1 -1
  99. package/dist/esm/editor/BikEditor.styles.js +20 -12
  100. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  101. package/dist/esm/editor/BikEditor.types.d.ts +9 -0
  102. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  103. package/dist/esm/editor/extensions/mention/MentionDropdown.js +28 -28
  104. package/dist/esm/editor/extensions/mention/MentionDropdown.js.map +1 -1
  105. package/dist/esm/editor/extensions/mention/MentionExtension.js +23 -19
  106. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  107. package/dist/esm/icons/index.d.ts +25 -25
  108. package/dist/esm/index.js +543 -541
  109. package/dist/esm/index.js.map +1 -1
  110. package/package.json +1 -1
@@ -4,9 +4,9 @@ import k from "../../assets/icons/check.svg.js";
4
4
  import v from "../../assets/icons/cross.svg.js";
5
5
  import I from "../../assets/icons/errorInfo.svg.js";
6
6
  import S from "../../assets/icons/info.svg.js";
7
- import P, { useRef as R, useState as g, useEffect as h, useContext as D } from "react";
8
- import W from "react-dom";
9
- import { cssTransition as E, toast as r, ToastContainer as L } from "react-toastify";
7
+ import P, { useRef as R, useState as T, useEffect as h, useContext as D } from "react";
8
+ import L from "react-dom";
9
+ import { cssTransition as W, toast as r, ToastContainer as E } from "react-toastify";
10
10
  import { ToasterStyled as _ } from "./Toaster.styled.js";
11
11
  import { TitleSmall as O, BodySecondary as b, BodyCaption as G } from "../TypographyStyle.js";
12
12
  import { COLORS as n } from "../../constants/Theme.js";
@@ -26,25 +26,25 @@ const z = (t) => /* @__PURE__ */ s(
26
26
  ]
27
27
  }
28
28
  ), y = (t) => {
29
- const o = t.type === "default" ? n.content.primary : t.type === "success" ? n.content.positive : t.type === "error" ? n.content.negative : t.type === "warning" ? n.content.warning : n.content.brand, [i, a] = g(t.duration || -1);
29
+ const o = t.type === "default" ? n.content.primary : t.type === "success" ? n.content.positive : t.type === "error" ? n.content.negative : t.type === "warning" ? n.content.warning : n.content.brand, [i, c] = T(t.duration || -1);
30
30
  h(() => {
31
31
  if (!t.duration || t.duration <= 0) {
32
- a(-1);
32
+ c(-1);
33
33
  return;
34
34
  }
35
- a(t.duration);
36
- const c = setInterval(() => {
37
- a((B) => {
35
+ c(t.duration);
36
+ const a = setInterval(() => {
37
+ c((B) => {
38
38
  const f = B - 1;
39
- return f <= 0 ? (clearInterval(c), -1) : f;
39
+ return f <= 0 ? (clearInterval(a), -1) : f;
40
40
  });
41
41
  }, 1e3);
42
- return () => clearInterval(c);
42
+ return () => clearInterval(a);
43
43
  }, [t.duration]);
44
44
  const l = t.blocking && i === -1 ? !1 : t.blocking && i > 0, d = () => {
45
45
  !l && t.closeToast && t.closeToast();
46
- }, u = (c) => {
47
- c.key === "Enter" && !l && t.closeToast && t.closeToast();
46
+ }, u = (a) => {
47
+ a.key === "Enter" && !l && t.closeToast && t.closeToast();
48
48
  };
49
49
  return /* @__PURE__ */ e(
50
50
  "div",
@@ -56,14 +56,19 @@ const z = (t) => /* @__PURE__ */ s(
56
56
  display: "flex",
57
57
  cursor: l ? "not-allowed" : "pointer",
58
58
  alignSelf: `${t.alignTop ? "flex-start" : "center"}`,
59
- opacity: l ? 0.5 : 1
59
+ opacity: l ? 0.5 : 1,
60
+ // Pin to the toast's right edge. react-toastify clones this element
61
+ // without adding the `Toastify__close-button` class, so the toast's
62
+ // own stylesheet cannot position it.
63
+ marginLeft: "auto",
64
+ flexShrink: 0
60
65
  },
61
66
  onClick: d,
62
67
  onKeyDown: u,
63
68
  children: i > 0 ? /* @__PURE__ */ e(z, { duration: i }) : /* @__PURE__ */ e(v, { height: 20, width: 20, color: o })
64
69
  }
65
70
  );
66
- }, T = (t) => {
71
+ }, g = (t) => {
67
72
  const o = n.content.placeholder, { toasterText: i } = D(m);
68
73
  return /* @__PURE__ */ e(w, { children: /* @__PURE__ */ s(
69
74
  "div",
@@ -162,21 +167,21 @@ const z = (t) => /* @__PURE__ */ s(
162
167
  }
163
168
  ) });
164
169
  }, X = (t) => {
165
- const o = R(t.toastId || "default-toast"), [i, a] = g(t.text), l = E({
170
+ const o = R(t.toastId || "default-toast"), [i, c] = T(t.text), l = W({
166
171
  enter: "Toastify__slide-enter",
167
172
  exit: "Toastify__slide-exit"
168
173
  }), d = t.type === "default" ? null : t.type === "success" ? /* @__PURE__ */ e(k, { width: 20, height: 20, color: n.content.positive }) : t.type === "error" ? /* @__PURE__ */ e(I, { width: 20, height: 20, color: n.content.negative }) : t.type === "warning" ? /* @__PURE__ */ e(C, { width: 20, height: 20, color: n.content.warning }) : /* @__PURE__ */ e(S, { width: 20, height: 20, color: n.content.brand });
169
174
  h(() => {
170
- o.current && o.current === t.toastId ? (a(t.text), r.update(o.current, {
175
+ o.current && o.current === t.toastId ? (c(t.text), r.update(o.current, {
171
176
  autoClose: t.autoClose
172
177
  })) : o.current && o.current !== t.toastId && u(t.text);
173
178
  }, [t.toastId, t.text]);
174
- const u = (c) => {
179
+ const u = (a) => {
175
180
  t.hideLeftIcon !== void 0 || t.leftIcon ? r(
176
181
  /* @__PURE__ */ e(
177
- T,
182
+ g,
178
183
  {
179
- toastText: c,
184
+ toastText: a,
180
185
  type: t.type || "info",
181
186
  buttonText: t.buttonProps?.buttonText,
182
187
  secondButtonText: t.secondButtonProps?.buttonText,
@@ -191,7 +196,7 @@ const z = (t) => /* @__PURE__ */ s(
191
196
  onClose: t.onCloseToast ? t.onCloseToast : () => ({}),
192
197
  icon: t.hideLeftIcon === !0 ? !1 : t.leftIcon ? t.leftIcon : t.type === "default" ? !1 : /* @__PURE__ */ e("div", { style: { display: "flex", alignItems: "flex-start" }, children: d }),
193
198
  type: t.type,
194
- closeButton: /* @__PURE__ */ e(
199
+ closeButton: t.hideCloseButton ? !1 : /* @__PURE__ */ e(
195
200
  y,
196
201
  {
197
202
  type: t.type || "default",
@@ -205,9 +210,9 @@ const z = (t) => /* @__PURE__ */ s(
205
210
  }
206
211
  ) : o.current = r(
207
212
  /* @__PURE__ */ e(
208
- T,
213
+ g,
209
214
  {
210
- toastText: c,
215
+ toastText: a,
211
216
  type: t.type || "info",
212
217
  buttonText: t.buttonProps?.buttonText,
213
218
  secondButtonText: t.secondButtonProps?.buttonText,
@@ -222,7 +227,7 @@ const z = (t) => /* @__PURE__ */ s(
222
227
  onClose: t.onCloseToast ? t.onCloseToast : () => ({}),
223
228
  type: t.type,
224
229
  icon: t.type === "default" ? !1 : /* @__PURE__ */ e("div", { style: { display: "flex", alignItems: "flex-start" }, children: d }),
225
- closeButton: /* @__PURE__ */ e(
230
+ closeButton: t.hideCloseButton ? !1 : /* @__PURE__ */ e(
226
231
  y,
227
232
  {
228
233
  type: t.type || "default",
@@ -238,7 +243,7 @@ const z = (t) => /* @__PURE__ */ s(
238
243
  };
239
244
  return h(() => {
240
245
  u();
241
- }, []), W.createPortal(
246
+ }, []), L.createPortal(
242
247
  /* @__PURE__ */ e(
243
248
  _,
244
249
  {
@@ -248,7 +253,7 @@ const z = (t) => /* @__PURE__ */ s(
248
253
  isSubTextIncluded: !!t.subText,
249
254
  type: t.type,
250
255
  children: /* @__PURE__ */ e(m.Provider, { value: { toasterText: i }, children: /* @__PURE__ */ e(
251
- L,
256
+ E,
252
257
  {
253
258
  position: t.position || "top-right",
254
259
  closeOnClick: t.closeOnClick || !1,
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.js","sources":["../../../../src/components/toaster/Toaster.tsx"],"sourcesContent":["import AlertTriangle from '@src/assets/icons/alert_triangle.svg';\nimport Check from '@src/assets/icons/check.svg';\nimport Cross from '@src/assets/icons/cross.svg';\nimport Error from '@src/assets/icons/errorInfo.svg';\nimport Info from '@src/assets/icons/info.svg';\nimport React, {\n\tFunctionComponent,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n\tcssTransition,\n\tId,\n\ttoast,\n\tToastContainer,\n\tToastPosition,\n\tTypeOptions,\n} from 'react-toastify';\nimport { IconProps } from 'react-toastify/dist/components';\nimport { Button } from '@src/components/button';\nimport { ToasterStyled } from '@src/components/toaster/Toaster.styled';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\n\nexport type ToasterButtonProps = {\n\tshowButton?: boolean;\n\tonButtonClick?: () => Record<string, never>;\n\tbuttonText?: string;\n};\nexport type ToasterProps = {\n\ttext: string;\n\tsubText?: string;\n\tposition?: ToastPosition;\n\ttype?: 'info' | 'success' | 'error' | 'default' | 'warning';\n\tduration?: number;\n\tblocking?: boolean;\n\tcloseOnClick?: boolean;\n\thideProgressBar?: boolean;\n\tautoClose?: number | false | undefined;\n\tleftIcon?: React.ReactElement<IconProps>;\n\thideLeftIcon?: boolean;\n\tbuttonProps?: ToasterButtonProps;\n\tsecondButtonProps?: ToasterButtonProps;\n\tonCloseToast?: <T>(props: T) => void;\n\twidth?: string;\n\theight?: string;\n\thideCloseButton?: boolean;\n\tzIndex?: number;\n\ttoastId?: string;\n};\n\nconst CountDownBar: React.FC<{ duration: number }> = (props) => {\n\treturn (\n\t\t<BodySecondary\n\t\t\tcolor={`#9E9E9E`}\n\t\t\tcustomStyles={{\n\t\t\t\tfontWeight: 600,\n\t\t\t\tfontSize: 14,\n\t\t\t\twidth: 25,\n\t\t\t}}\n\t\t>\n\t\t\t{props.duration}s\n\t\t</BodySecondary>\n\t);\n};\n\nconst CloseButton: React.FC<{\n\ttype: string;\n\tcloseToast?: () => Record<string, never>;\n\talignTop?: boolean;\n\tblocking?: boolean;\n\tduration?: number;\n}> = (props) => {\n\tconst iconColor =\n\t\tprops.type === 'default'\n\t\t\t? COLORS.content.primary\n\t\t\t: props.type === 'success'\n\t\t\t? COLORS.content.positive\n\t\t\t: props.type === 'error'\n\t\t\t? COLORS.content.negative\n\t\t\t: props.type === 'warning'\n\t\t\t? COLORS.content.warning\n\t\t\t: COLORS.content.brand;\n\n\t// Each CloseButton has its own independent timer\n\tconst [timerValue, setTimerValue] = useState<number>(props.duration || -1);\n\n\tuseEffect(() => {\n\t\tif (!props.duration || props.duration <= 0) {\n\t\t\tsetTimerValue(-1);\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimerValue(props.duration);\n\n\t\tconst interval = setInterval(() => {\n\t\t\tsetTimerValue((prev) => {\n\t\t\t\tconst next = prev - 1;\n\t\t\t\tif (next <= 0) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn next;\n\t\t\t});\n\t\t}, 1000);\n\n\t\treturn () => clearInterval(interval);\n\t}, [props.duration]);\n\n\t// Enable button when timerValue is -1, otherwise check blocking and timer\n\tconst isDisabled =\n\t\tprops.blocking && timerValue === -1\n\t\t\t? false\n\t\t\t: props.blocking && timerValue > 0;\n\n\tconst handleClick = () => {\n\t\tif (!isDisabled && props.closeToast) {\n\t\t\tprops.closeToast();\n\t\t}\n\t};\n\n\tconst handleKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' && !isDisabled && props.closeToast) {\n\t\t\tprops.closeToast();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={isDisabled ? -1 : 0}\n\t\t\trole={'button'}\n\t\t\tstyle={{\n\t\t\t\twidth: timerValue > 0 ? 25 : 20,\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tcursor: isDisabled ? 'not-allowed' : 'pointer',\n\t\t\t\talignSelf: `${props.alignTop ? 'flex-start' : 'center'}`,\n\t\t\t\topacity: isDisabled ? 0.5 : 1,\n\t\t\t}}\n\t\t\tonClick={handleClick}\n\t\t\tonKeyDown={handleKeyDown}\n\t\t>\n\t\t\t{timerValue > 0 ? (\n\t\t\t\t<CountDownBar duration={timerValue} />\n\t\t\t) : (\n\t\t\t\t<Cross height={20} width={20} color={iconColor} />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst RenderContent: React.FC<{\n\ttoastText?: string;\n\ttype: TypeOptions;\n\tshowButton?: boolean;\n\tshowSecondButton?: boolean;\n\tonButtonClick?: () => Record<string, never>;\n\tonSecondButtonClick?: () => Record<string, never>;\n\tbuttonText?: string;\n\tsecondButtonText?: string;\n\tsubText?: string;\n}> = (props) => {\n\tconst strokeColor = COLORS.content.placeholder;\n\n\tconst { toasterText: toasterTextContext } = useContext(ToastContext);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t\t\toverflowWrap: 'break-word',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.subText ? (\n\t\t\t\t\t\t\t<TitleSmall color={'inherit'}>\n\t\t\t\t\t\t\t\t{/* In normal scenarios, we use the text from prop. As a special case, when we need to change the text in already rendered toast, we change the text in context and let this component render on its own */}\n\t\t\t\t\t\t\t\t{props.toastText ?? toasterTextContext}\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BodySecondary color={'inherit'}>\n\t\t\t\t\t\t\t\t{/* In normal scenarios, we use the text from prop. As a special case, when we need to change the text in already rendered toast, we change the text in context and let this component render on its own */}\n\t\t\t\t\t\t\t\t{props.toastText ?? toasterTextContext}\n\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.subText && (\n\t\t\t\t\t\t\t<div style={{ marginTop: 2 }}>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\t{props.subText}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{props.showButton && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tpadding: '6px 0px',\n\t\t\t\t\t\t\tminWidth: props.subText ? 'fit-content' : 'auto',\n\t\t\t\t\t\t\tmarginRight: props.showSecondButton ? 4 : 0,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={props.buttonText}\n\t\t\t\t\t\t\tbuttonType={'tertiaryGray'}\n\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\tonClick={props.onButtonClick}\n\t\t\t\t\t\t></Button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{props.showSecondButton && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tpadding: '6px 0px',\n\t\t\t\t\t\t\tminWidth: props.subText ? 'fit-content' : 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={props.secondButtonText}\n\t\t\t\t\t\t\tbuttonType={'tertiaryGray'}\n\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\tonClick={props.onSecondButtonClick}\n\t\t\t\t\t\t></Button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!(props.showButton || props.showSecondButton) ? null : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: 28,\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\t\tborderRight: `1px solid ${strokeColor}`,\n\t\t\t\t\t\t\tborderRadius: 1,\n\t\t\t\t\t\t}}\n\t\t\t\t\t></div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\ntype Props = ToasterProps;\n\nexport const Toaster: FunctionComponent<Props> = (props) => {\n\tconst toastId = useRef<Id>(props.toastId || 'default-toast');\n\tconst [toastLocal, setToastLocal] = useState(props.text);\n\tconst bounce = cssTransition({\n\t\tenter: 'Toastify__slide-enter',\n\t\texit: 'Toastify__slide-exit',\n\t});\n\n\tconst leftIcon =\n\t\tprops.type === 'default' ? null : props.type === 'success' ? (\n\t\t\t<Check width={20} height={20} color={COLORS.content.positive} />\n\t\t) : props.type === 'error' ? (\n\t\t\t<Error width={20} height={20} color={COLORS.content.negative} />\n\t\t) : props.type === 'warning' ? (\n\t\t\t<AlertTriangle width={20} height={20} color={COLORS.content.warning} />\n\t\t) : (\n\t\t\t<Info width={20} height={20} color={COLORS.content.brand} />\n\t\t);\n\n\tuseEffect(() => {\n\t\t// When toast id is same but text needed to change, we change the text in context and let the toast re-render on its own.\n\t\tif (toastId.current && toastId.current === props.toastId) {\n\t\t\tsetToastLocal(props.text);\n\t\t\ttoast.update(toastId.current, {\n\t\t\t\tautoClose: props.autoClose,\n\t\t\t});\n\t\t\t// If toast ids are different, we call notify again which will stack the toasts up\n\t\t} else if (toastId.current && toastId.current !== props.toastId) {\n\t\t\tnotify(props.text);\n\t\t}\n\t}, [props.toastId, props.text]);\n\n\tconst notify = (toastText?: string) => {\n\t\tif (props.hideLeftIcon !== undefined || props.leftIcon) {\n\t\t\ttoast(\n\t\t\t\t<RenderContent\n\t\t\t\t\ttoastText={toastText}\n\t\t\t\t\ttype={props.type || 'info'}\n\t\t\t\t\tbuttonText={props.buttonProps?.buttonText}\n\t\t\t\t\tsecondButtonText={props.secondButtonProps?.buttonText}\n\t\t\t\t\tshowButton={props.buttonProps?.showButton}\n\t\t\t\t\tshowSecondButton={props.secondButtonProps?.showButton}\n\t\t\t\t\tonButtonClick={props.buttonProps?.onButtonClick}\n\t\t\t\t\tonSecondButtonClick={props.secondButtonProps?.onButtonClick}\n\t\t\t\t\tsubText={props.subText}\n\t\t\t\t/>,\n\t\t\t\t{\n\t\t\t\t\tonClose: props.onCloseToast ? props.onCloseToast : () => ({}),\n\t\t\t\t\ticon:\n\t\t\t\t\t\tprops.hideLeftIcon === true ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : props.leftIcon ? (\n\t\t\t\t\t\t\tprops.leftIcon\n\t\t\t\t\t\t) : props.type === 'default' ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'flex-start' }}>\n\t\t\t\t\t\t\t\t{leftIcon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\tcloseButton: (\n\t\t\t\t\t\t<CloseButton\n\t\t\t\t\t\t\ttype={props.type || 'default'}\n\t\t\t\t\t\t\talignTop={\n\t\t\t\t\t\t\t\t!!(\n\t\t\t\t\t\t\t\t\tprops.subText &&\n\t\t\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\t\t\tprops.buttonProps?.showButton ||\n\t\t\t\t\t\t\t\t\t\tprops.secondButtonProps?.showButton\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\tblocking={props.blocking}\n\t\t\t\t\t\t\tduration={props.duration}\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\ttoastId: props.toastId || 'default-toast',\n\t\t\t\t\ttransition: bounce,\n\t\t\t\t},\n\t\t\t);\n\t\t} else {\n\t\t\ttoastId.current = toast(\n\t\t\t\t<RenderContent\n\t\t\t\t\ttoastText={toastText}\n\t\t\t\t\ttype={props.type || 'info'}\n\t\t\t\t\tbuttonText={props.buttonProps?.buttonText}\n\t\t\t\t\tsecondButtonText={props.secondButtonProps?.buttonText}\n\t\t\t\t\tshowButton={props.buttonProps?.showButton}\n\t\t\t\t\tshowSecondButton={props.secondButtonProps?.showButton}\n\t\t\t\t\tonButtonClick={props.buttonProps?.onButtonClick}\n\t\t\t\t\tonSecondButtonClick={props.secondButtonProps?.onButtonClick}\n\t\t\t\t\tsubText={props.subText}\n\t\t\t\t/>,\n\t\t\t\t{\n\t\t\t\t\tonClose: props.onCloseToast ? props.onCloseToast : () => ({}),\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\ticon:\n\t\t\t\t\t\tprops.type === 'default' ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'flex-start' }}>\n\t\t\t\t\t\t\t\t{leftIcon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\tcloseButton: (\n\t\t\t\t\t\t<CloseButton\n\t\t\t\t\t\t\ttype={props.type || 'default'}\n\t\t\t\t\t\t\talignTop={\n\t\t\t\t\t\t\t\t!!(\n\t\t\t\t\t\t\t\t\tprops.subText &&\n\t\t\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\t\t\tprops.buttonProps?.showButton ||\n\t\t\t\t\t\t\t\t\t\tprops.secondButtonProps?.showButton\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\tblocking={props.blocking}\n\t\t\t\t\t\t\tduration={props.duration}\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\ttoastId: props.toastId || 'default-toast',\n\t\t\t\t\ttransition: bounce,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tnotify();\n\t}, []);\n\n\treturn ReactDOM.createPortal(\n\t\t<ToasterStyled\n\t\t\twidth={props.width}\n\t\t\theight={props.height}\n\t\t\tzIndex={props.zIndex}\n\t\t\tisSubTextIncluded={!!props.subText}\n\t\t\ttype={props.type}\n\t\t>\n\t\t\t<ToastContext.Provider value={{ toasterText: toastLocal }}>\n\t\t\t\t<ToastContainer\n\t\t\t\t\tposition={props.position || 'top-right'}\n\t\t\t\t\tcloseOnClick={props.closeOnClick || false}\n\t\t\t\t\thideProgressBar={props.hideProgressBar || false}\n\t\t\t\t\tdraggable={false}\n\t\t\t\t\tautoClose={props.autoClose || false}\n\t\t\t\t\ttheme={'colored'}\n\t\t\t\t/>\n\t\t\t</ToastContext.Provider>\n\t\t</ToasterStyled>,\n\t\tdocument.body,\n\t);\n};\n\nconst ToastContext = React.createContext({\n\ttoasterText: '',\n});\n"],"names":["CountDownBar","props","jsxs","BodySecondary","CloseButton","iconColor","COLORS","timerValue","setTimerValue","useState","useEffect","interval","prev","next","isDisabled","handleClick","handleKeyDown","e","jsx","Cross","RenderContent","strokeColor","toasterTextContext","useContext","ToastContext","Fragment","TitleSmall","BodyCaption","Button","Toaster","toastId","useRef","toastLocal","setToastLocal","bounce","cssTransition","leftIcon","Check","Error","AlertTriangle","Info","toast","notify","toastText","ReactDOM","ToasterStyled","ToastContainer","React"],"mappings":"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"}
1
+ {"version":3,"file":"Toaster.js","sources":["../../../../src/components/toaster/Toaster.tsx"],"sourcesContent":["import AlertTriangle from '@src/assets/icons/alert_triangle.svg';\nimport Check from '@src/assets/icons/check.svg';\nimport Cross from '@src/assets/icons/cross.svg';\nimport Error from '@src/assets/icons/errorInfo.svg';\nimport Info from '@src/assets/icons/info.svg';\nimport React, {\n\tFunctionComponent,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n\tcssTransition,\n\tId,\n\ttoast,\n\tToastContainer,\n\tToastPosition,\n\tTypeOptions,\n} from 'react-toastify';\nimport { IconProps } from 'react-toastify/dist/components';\nimport { Button } from '@src/components/button';\nimport { ToasterStyled } from '@src/components/toaster/Toaster.styled';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleSmall,\n} from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\n\nexport type ToasterButtonProps = {\n\tshowButton?: boolean;\n\tonButtonClick?: () => Record<string, never>;\n\tbuttonText?: string;\n};\nexport type ToasterProps = {\n\ttext: string;\n\tsubText?: string;\n\tposition?: ToastPosition;\n\ttype?: 'info' | 'success' | 'error' | 'default' | 'warning';\n\tduration?: number;\n\tblocking?: boolean;\n\tcloseOnClick?: boolean;\n\thideProgressBar?: boolean;\n\tautoClose?: number | false | undefined;\n\tleftIcon?: React.ReactElement<IconProps>;\n\thideLeftIcon?: boolean;\n\tbuttonProps?: ToasterButtonProps;\n\tsecondButtonProps?: ToasterButtonProps;\n\tonCloseToast?: <T>(props: T) => void;\n\twidth?: string;\n\theight?: string;\n\thideCloseButton?: boolean;\n\tzIndex?: number;\n\ttoastId?: string;\n};\n\nconst CountDownBar: React.FC<{ duration: number }> = (props) => {\n\treturn (\n\t\t<BodySecondary\n\t\t\tcolor={`#9E9E9E`}\n\t\t\tcustomStyles={{\n\t\t\t\tfontWeight: 600,\n\t\t\t\tfontSize: 14,\n\t\t\t\twidth: 25,\n\t\t\t}}\n\t\t>\n\t\t\t{props.duration}s\n\t\t</BodySecondary>\n\t);\n};\n\nconst CloseButton: React.FC<{\n\ttype: string;\n\tcloseToast?: () => Record<string, never>;\n\talignTop?: boolean;\n\tblocking?: boolean;\n\tduration?: number;\n}> = (props) => {\n\tconst iconColor =\n\t\tprops.type === 'default'\n\t\t\t? COLORS.content.primary\n\t\t\t: props.type === 'success'\n\t\t\t? COLORS.content.positive\n\t\t\t: props.type === 'error'\n\t\t\t? COLORS.content.negative\n\t\t\t: props.type === 'warning'\n\t\t\t? COLORS.content.warning\n\t\t\t: COLORS.content.brand;\n\n\t// Each CloseButton has its own independent timer\n\tconst [timerValue, setTimerValue] = useState<number>(props.duration || -1);\n\n\tuseEffect(() => {\n\t\tif (!props.duration || props.duration <= 0) {\n\t\t\tsetTimerValue(-1);\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimerValue(props.duration);\n\n\t\tconst interval = setInterval(() => {\n\t\t\tsetTimerValue((prev) => {\n\t\t\t\tconst next = prev - 1;\n\t\t\t\tif (next <= 0) {\n\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn next;\n\t\t\t});\n\t\t}, 1000);\n\n\t\treturn () => clearInterval(interval);\n\t}, [props.duration]);\n\n\t// Enable button when timerValue is -1, otherwise check blocking and timer\n\tconst isDisabled =\n\t\tprops.blocking && timerValue === -1\n\t\t\t? false\n\t\t\t: props.blocking && timerValue > 0;\n\n\tconst handleClick = () => {\n\t\tif (!isDisabled && props.closeToast) {\n\t\t\tprops.closeToast();\n\t\t}\n\t};\n\n\tconst handleKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' && !isDisabled && props.closeToast) {\n\t\t\tprops.closeToast();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={isDisabled ? -1 : 0}\n\t\t\trole={'button'}\n\t\t\tstyle={{\n\t\t\t\twidth: timerValue > 0 ? 25 : 20,\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tcursor: isDisabled ? 'not-allowed' : 'pointer',\n\t\t\t\talignSelf: `${props.alignTop ? 'flex-start' : 'center'}`,\n\t\t\t\topacity: isDisabled ? 0.5 : 1,\n\t\t\t\t// Pin to the toast's right edge. react-toastify clones this element\n\t\t\t\t// without adding the `Toastify__close-button` class, so the toast's\n\t\t\t\t// own stylesheet cannot position it.\n\t\t\t\tmarginLeft: 'auto',\n\t\t\t\tflexShrink: 0,\n\t\t\t}}\n\t\t\tonClick={handleClick}\n\t\t\tonKeyDown={handleKeyDown}\n\t\t>\n\t\t\t{timerValue > 0 ? (\n\t\t\t\t<CountDownBar duration={timerValue} />\n\t\t\t) : (\n\t\t\t\t<Cross height={20} width={20} color={iconColor} />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst RenderContent: React.FC<{\n\ttoastText?: string;\n\ttype: TypeOptions;\n\tshowButton?: boolean;\n\tshowSecondButton?: boolean;\n\tonButtonClick?: () => Record<string, never>;\n\tonSecondButtonClick?: () => Record<string, never>;\n\tbuttonText?: string;\n\tsecondButtonText?: string;\n\tsubText?: string;\n}> = (props) => {\n\tconst strokeColor = COLORS.content.placeholder;\n\n\tconst { toasterText: toasterTextContext } = useContext(ToastContext);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\tmaxWidth: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t\t\toverflowWrap: 'break-word',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.subText ? (\n\t\t\t\t\t\t\t<TitleSmall color={'inherit'}>\n\t\t\t\t\t\t\t\t{/* In normal scenarios, we use the text from prop. As a special case, when we need to change the text in already rendered toast, we change the text in context and let this component render on its own */}\n\t\t\t\t\t\t\t\t{props.toastText ?? toasterTextContext}\n\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BodySecondary color={'inherit'}>\n\t\t\t\t\t\t\t\t{/* In normal scenarios, we use the text from prop. As a special case, when we need to change the text in already rendered toast, we change the text in context and let this component render on its own */}\n\t\t\t\t\t\t\t\t{props.toastText ?? toasterTextContext}\n\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.subText && (\n\t\t\t\t\t\t\t<div style={{ marginTop: 2 }}>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.secondary}>\n\t\t\t\t\t\t\t\t\t{props.subText}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{props.showButton && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tpadding: '6px 0px',\n\t\t\t\t\t\t\tminWidth: props.subText ? 'fit-content' : 'auto',\n\t\t\t\t\t\t\tmarginRight: props.showSecondButton ? 4 : 0,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={props.buttonText}\n\t\t\t\t\t\t\tbuttonType={'tertiaryGray'}\n\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\tonClick={props.onButtonClick}\n\t\t\t\t\t\t></Button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{props.showSecondButton && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tpadding: '6px 0px',\n\t\t\t\t\t\t\tminWidth: props.subText ? 'fit-content' : 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={props.secondButtonText}\n\t\t\t\t\t\t\tbuttonType={'tertiaryGray'}\n\t\t\t\t\t\t\tcolor={COLORS.content.secondary}\n\t\t\t\t\t\t\tonClick={props.onSecondButtonClick}\n\t\t\t\t\t\t></Button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!(props.showButton || props.showSecondButton) ? null : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: 28,\n\t\t\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\t\tborderRight: `1px solid ${strokeColor}`,\n\t\t\t\t\t\t\tborderRadius: 1,\n\t\t\t\t\t\t}}\n\t\t\t\t\t></div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\ntype Props = ToasterProps;\n\nexport const Toaster: FunctionComponent<Props> = (props) => {\n\tconst toastId = useRef<Id>(props.toastId || 'default-toast');\n\tconst [toastLocal, setToastLocal] = useState(props.text);\n\tconst bounce = cssTransition({\n\t\tenter: 'Toastify__slide-enter',\n\t\texit: 'Toastify__slide-exit',\n\t});\n\n\tconst leftIcon =\n\t\tprops.type === 'default' ? null : props.type === 'success' ? (\n\t\t\t<Check width={20} height={20} color={COLORS.content.positive} />\n\t\t) : props.type === 'error' ? (\n\t\t\t<Error width={20} height={20} color={COLORS.content.negative} />\n\t\t) : props.type === 'warning' ? (\n\t\t\t<AlertTriangle width={20} height={20} color={COLORS.content.warning} />\n\t\t) : (\n\t\t\t<Info width={20} height={20} color={COLORS.content.brand} />\n\t\t);\n\n\tuseEffect(() => {\n\t\t// When toast id is same but text needed to change, we change the text in context and let the toast re-render on its own.\n\t\tif (toastId.current && toastId.current === props.toastId) {\n\t\t\tsetToastLocal(props.text);\n\t\t\ttoast.update(toastId.current, {\n\t\t\t\tautoClose: props.autoClose,\n\t\t\t});\n\t\t\t// If toast ids are different, we call notify again which will stack the toasts up\n\t\t} else if (toastId.current && toastId.current !== props.toastId) {\n\t\t\tnotify(props.text);\n\t\t}\n\t}, [props.toastId, props.text]);\n\n\tconst notify = (toastText?: string) => {\n\t\tif (props.hideLeftIcon !== undefined || props.leftIcon) {\n\t\t\ttoast(\n\t\t\t\t<RenderContent\n\t\t\t\t\ttoastText={toastText}\n\t\t\t\t\ttype={props.type || 'info'}\n\t\t\t\t\tbuttonText={props.buttonProps?.buttonText}\n\t\t\t\t\tsecondButtonText={props.secondButtonProps?.buttonText}\n\t\t\t\t\tshowButton={props.buttonProps?.showButton}\n\t\t\t\t\tshowSecondButton={props.secondButtonProps?.showButton}\n\t\t\t\t\tonButtonClick={props.buttonProps?.onButtonClick}\n\t\t\t\t\tonSecondButtonClick={props.secondButtonProps?.onButtonClick}\n\t\t\t\t\tsubText={props.subText}\n\t\t\t\t/>,\n\t\t\t\t{\n\t\t\t\t\tonClose: props.onCloseToast ? props.onCloseToast : () => ({}),\n\t\t\t\t\ticon:\n\t\t\t\t\t\tprops.hideLeftIcon === true ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : props.leftIcon ? (\n\t\t\t\t\t\t\tprops.leftIcon\n\t\t\t\t\t\t) : props.type === 'default' ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'flex-start' }}>\n\t\t\t\t\t\t\t\t{leftIcon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\tcloseButton: props.hideCloseButton ? (\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<CloseButton\n\t\t\t\t\t\t\ttype={props.type || 'default'}\n\t\t\t\t\t\t\talignTop={\n\t\t\t\t\t\t\t\t!!(\n\t\t\t\t\t\t\t\t\tprops.subText &&\n\t\t\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\t\t\tprops.buttonProps?.showButton ||\n\t\t\t\t\t\t\t\t\t\tprops.secondButtonProps?.showButton\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\tblocking={props.blocking}\n\t\t\t\t\t\t\tduration={props.duration}\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\ttoastId: props.toastId || 'default-toast',\n\t\t\t\t\ttransition: bounce,\n\t\t\t\t},\n\t\t\t);\n\t\t} else {\n\t\t\ttoastId.current = toast(\n\t\t\t\t<RenderContent\n\t\t\t\t\ttoastText={toastText}\n\t\t\t\t\ttype={props.type || 'info'}\n\t\t\t\t\tbuttonText={props.buttonProps?.buttonText}\n\t\t\t\t\tsecondButtonText={props.secondButtonProps?.buttonText}\n\t\t\t\t\tshowButton={props.buttonProps?.showButton}\n\t\t\t\t\tshowSecondButton={props.secondButtonProps?.showButton}\n\t\t\t\t\tonButtonClick={props.buttonProps?.onButtonClick}\n\t\t\t\t\tonSecondButtonClick={props.secondButtonProps?.onButtonClick}\n\t\t\t\t\tsubText={props.subText}\n\t\t\t\t/>,\n\t\t\t\t{\n\t\t\t\t\tonClose: props.onCloseToast ? props.onCloseToast : () => ({}),\n\t\t\t\t\ttype: props.type,\n\t\t\t\t\ticon:\n\t\t\t\t\t\tprops.type === 'default' ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'flex-start' }}>\n\t\t\t\t\t\t\t\t{leftIcon}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\tcloseButton: props.hideCloseButton ? (\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<CloseButton\n\t\t\t\t\t\t\ttype={props.type || 'default'}\n\t\t\t\t\t\t\talignTop={\n\t\t\t\t\t\t\t\t!!(\n\t\t\t\t\t\t\t\t\tprops.subText &&\n\t\t\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\t\t\tprops.buttonProps?.showButton ||\n\t\t\t\t\t\t\t\t\t\tprops.secondButtonProps?.showButton\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\tblocking={props.blocking}\n\t\t\t\t\t\t\tduration={props.duration}\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\ttoastId: props.toastId || 'default-toast',\n\t\t\t\t\ttransition: bounce,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tnotify();\n\t}, []);\n\n\treturn ReactDOM.createPortal(\n\t\t<ToasterStyled\n\t\t\twidth={props.width}\n\t\t\theight={props.height}\n\t\t\tzIndex={props.zIndex}\n\t\t\tisSubTextIncluded={!!props.subText}\n\t\t\ttype={props.type}\n\t\t>\n\t\t\t<ToastContext.Provider value={{ toasterText: toastLocal }}>\n\t\t\t\t<ToastContainer\n\t\t\t\t\tposition={props.position || 'top-right'}\n\t\t\t\t\tcloseOnClick={props.closeOnClick || false}\n\t\t\t\t\thideProgressBar={props.hideProgressBar || false}\n\t\t\t\t\tdraggable={false}\n\t\t\t\t\tautoClose={props.autoClose || false}\n\t\t\t\t\ttheme={'colored'}\n\t\t\t\t/>\n\t\t\t</ToastContext.Provider>\n\t\t</ToasterStyled>,\n\t\tdocument.body,\n\t);\n};\n\nconst ToastContext = React.createContext({\n\ttoasterText: '',\n});\n"],"names":["CountDownBar","props","jsxs","BodySecondary","CloseButton","iconColor","COLORS","timerValue","setTimerValue","useState","useEffect","interval","prev","next","isDisabled","handleClick","handleKeyDown","e","jsx","Cross","RenderContent","strokeColor","toasterTextContext","useContext","ToastContext","Fragment","TitleSmall","BodyCaption","Button","Toaster","toastId","useRef","toastLocal","setToastLocal","bounce","cssTransition","leftIcon","Check","Error","AlertTriangle","Info","toast","notify","toastText","ReactDOM","ToasterStyled","ToastContainer","React"],"mappings":"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"}
@@ -98,7 +98,8 @@ const n = i.div`
98
98
  border-radius: 8px;
99
99
  word-wrap: break-word;
100
100
  overflow-wrap: break-word;
101
- overflow: visible;
101
+ /* Clips the absolutely positioned progress bar to the 8px radius */
102
+ overflow: hidden;
102
103
 
103
104
  @media (max-width: 768px) {
104
105
  min-width: 80vw;
@@ -111,10 +112,9 @@ const n = i.div`
111
112
  height: 4px;
112
113
  }
113
114
 
114
- .Toastify__close-button {
115
- display: block;
116
- margin: auto;
117
- }
115
+ /* NOTE: no .Toastify__close-button rule here — the close button is always a
116
+ custom element passed via the closeButton option, and react-toastify
117
+ clones it without adding that class. It is positioned inline instead. */
118
118
 
119
119
  .Toastify__toast-icon {
120
120
  align-self: center;
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.styled.js","sources":["../../../../src/components/toaster/Toaster.styled.tsx"],"sourcesContent":["import { TypeOptions } from 'react-toastify';\nimport styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\nimport { ComponentZindex } from '@src/constants/zindex';\n\nexport const ToasterStyled = styled.div<{\n\twidth?: string;\n\theight?: string;\n\tzIndex?: number;\n\tisSubTextIncluded?: boolean;\n\ttype?: TypeOptions;\n}>`\n\t--toastify-color-light: #fff;\n\t--toastify-color-dark: #121212;\n\t--toastify-text-color-success: ${COLORS.content.primary};\n\t--toastify-text-color-error: ${COLORS.content.primary};\n\t--toastify-text-color-warning: ${COLORS.content.primary};\n\t--toastify-text-color-info: ${COLORS.content.primary};\n\t--toastify-color-info: ${COLORS.background.brandLight};\n\t--toastify-color-success: ${COLORS.background.positive.light};\n\t--toastify-color-error: ${COLORS.background.negative.light};\n\t--toastify-color-warning: ${COLORS.background.warning.light};\n\t--toastify-text-color-light: ${COLORS.content.primary};\n\t--toastify-toast-width: fit-content;\n\t--toastify-toast-min-height: ${(props) =>\n\t\tprops.height || (props.isSubTextIncluded ? '70px' : '56px')};\n\t--toastify-toast-max-height: ${(props) => props.height || 'fit-content'};\n\tfont-family: inherit;\n\tz-index: ${(props) => props.zIndex || ComponentZindex.TOASTER};\n\n\t.custom-position {\n\t\tposition: relative;\n\t}\n\t.Toastify__toast-container {\n\t\tpadding: 0;\n\t\twidth: auto;\n\t\tmax-width: 90vw;\n\t\toverflow: visible;\n\n\t\t@media (max-width: 768px) {\n\t\t\tmax-width: calc(100vw - 64px);\n\t\t\tmargin: 0 32px;\n\t\t}\n\t}\n\n\t/* Mobile positioning - only for top-right (default) */\n\t.Toastify__toast-container--top-right {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 35%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for top-left */\n\t.Toastify__toast-container--top-left {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for bottom positions */\n\t.Toastify__toast-container--bottom-right,\n\t.Toastify__toast-container--bottom-left,\n\t.Toastify__toast-container--bottom-center {\n\t\t@media (max-width: 768px) {\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for top-center */\n\t.Toastify__toast-container--top-center {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t.Toastify__toast--success {\n\t\tborder: 1px solid ${COLORS.stroke.positive.lightAlt};\n\t}\n\n\t.Toastify__toast--info {\n\t\tborder: 1px solid ${COLORS.stroke.brandLightAlt};\n\t}\n\n\t.Toastify__toast--default {\n\t\tborder: 1px solid ${COLORS.stroke.primary};\n\t}\n\n\t.Toastify__toast--error {\n\t\tborder: 1px solid ${COLORS.stroke.negative.lightAlt};\n\t}\n\n\t.Toastify__toast--warning {\n\t\tborder: 1px solid ${COLORS.stroke.warning.lightAlt};\n\t}\n\n\t.Toastify__toast {\n\t\tpadding: ${(props) => (props.isSubTextIncluded ? '16px 8px' : '12px 8px')};\n\t\tmax-width: ${(props) => props.width || '600px'};\n\t\tmin-width: 320px;\n\t\tborder-radius: 8px;\n\t\tword-wrap: break-word;\n\t\toverflow-wrap: break-word;\n\t\toverflow: visible;\n\n\t\t@media (max-width: 768px) {\n\t\t\tmin-width: 80vw;\n\t\t\tmax-width: calc(100vw - 64px);\n\t\t\tpadding: ${(props) =>\n\t\t\t\tprops.isSubTextIncluded ? '16px 16px' : '12px 16px'};\n\t\t}\n\t}\n\n\t.Toastify__progress-bar {\n\t\theight: 4px;\n\t}\n\n\t.Toastify__close-button {\n\t\tdisplay: block;\n\t\tmargin: auto;\n\t}\n\n\t.Toastify__toast-icon {\n\t\talign-self: center;\n\t\tmargin-inline-end: 12px;\n\t\theight: ${(props) => (props.isSubTextIncluded ? '38px' : '20px')};\n\t}\n\n\t.Toastify__toast-body {\n\t\tpadding: 0;\n\t\tdisplay: flex;\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n\t\tbackground: ${COLORS.content.brand};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n\t\tbackground: ${COLORS.content.brand};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n\t\tbackground: ${COLORS.content.warning};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n\t\tbackground: ${COLORS.content.positive};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n\t\tbackground: ${COLORS.content.negative};\n\t}\n\n\t.Toastify__toast-body > div:last-child {\n\t\tdisplay: flex;\n\t}\n\n\t.Toastify__slide-enter {\n\t\tanimation: slideIn 1s ease forwards,\n\t\t\tbounce cubic-bezier(0.68, -0.55, 0.27, 1.55) 0.5s both;\n\t}\n\t.Toastify__slide-exit {\n\t\tanimation: slideOut 0.5s ease-in-out forwards;\n\t}\n\t@keyframes bounce {\n\t\t0%,\n\t\t20%,\n\t\t50%,\n\t\t80%,\n\t\t100% {\n\t\t\ttransform: translateY(0); /* Start and end at the original position */\n\t\t}\n\t\t40% {\n\t\t\ttransform: translateX(-20px); /* Bouncing up */\n\t\t}\n\t\t60% {\n\t\t\ttransform: translateX(20px); /* Small bounce before settling */\n\t\t}\n\t}\n\t@keyframes slideIn {\n\t\t0% {\n\t\t\ttransform: translateX(-100%); /* Start off-screen to the left */\n\t\t\topacity: 0;\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateX(0); /* End at the original position */\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t@keyframes slideOut {\n\t\t0% {\n\t\t\ttransform: translateX(0); /* Start from the original position */\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateX(100%); /* Slide out to the right */\n\t\t\topacity: 0;\n\t\t}\n\t}\n`;\n"],"names":["ToasterStyled","styled","COLORS","props","ComponentZindex"],"mappings":";;;AAKO,MAAMA,IAAgBC,EAAO;AAAA;AAAA;AAAA,kCASFC,EAAO,QAAQ,OAAO;AAAA,gCACxBA,EAAO,QAAQ,OAAO;AAAA,kCACpBA,EAAO,QAAQ,OAAO;AAAA,+BACzBA,EAAO,QAAQ,OAAO;AAAA,0BAC3BA,EAAO,WAAW,UAAU;AAAA,6BACzBA,EAAO,WAAW,SAAS,KAAK;AAAA,2BAClCA,EAAO,WAAW,SAAS,KAAK;AAAA,6BAC9BA,EAAO,WAAW,QAAQ,KAAK;AAAA,gCAC5BA,EAAO,QAAQ,OAAO;AAAA;AAAA,gCAEtB,CAACC,MAC/BA,EAAM,WAAWA,EAAM,oBAAoB,SAAS,OAAO;AAAA,gCAC7B,CAACA,MAAUA,EAAM,UAAU,aAAa;AAAA;AAAA,YAE5D,CAACA,MAAUA,EAAM,UAAUC,EAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAuDxCF,EAAO,OAAO,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA,sBAI/BA,EAAO,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA,sBAI3BA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,sBAIrBA,EAAO,OAAO,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA,sBAI/BA,EAAO,OAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA,aAIvC,CAACC,MAAWA,EAAM,oBAAoB,aAAa,UAAW;AAAA,eAC5D,CAACA,MAAUA,EAAM,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAUlC,CAACA,MACXA,EAAM,oBAAoB,cAAc,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAgB3C,CAACA,MAAWA,EAAM,oBAAoB,SAAS,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBASlDD,EAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,gBAIpBA,EAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,gBAIpBA,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA,gBAItBA,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA,gBAIvBA,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"Toaster.styled.js","sources":["../../../../src/components/toaster/Toaster.styled.tsx"],"sourcesContent":["import { TypeOptions } from 'react-toastify';\nimport styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\nimport { ComponentZindex } from '@src/constants/zindex';\n\nexport const ToasterStyled = styled.div<{\n\twidth?: string;\n\theight?: string;\n\tzIndex?: number;\n\tisSubTextIncluded?: boolean;\n\ttype?: TypeOptions;\n}>`\n\t--toastify-color-light: #fff;\n\t--toastify-color-dark: #121212;\n\t--toastify-text-color-success: ${COLORS.content.primary};\n\t--toastify-text-color-error: ${COLORS.content.primary};\n\t--toastify-text-color-warning: ${COLORS.content.primary};\n\t--toastify-text-color-info: ${COLORS.content.primary};\n\t--toastify-color-info: ${COLORS.background.brandLight};\n\t--toastify-color-success: ${COLORS.background.positive.light};\n\t--toastify-color-error: ${COLORS.background.negative.light};\n\t--toastify-color-warning: ${COLORS.background.warning.light};\n\t--toastify-text-color-light: ${COLORS.content.primary};\n\t--toastify-toast-width: fit-content;\n\t--toastify-toast-min-height: ${(props) =>\n\t\tprops.height || (props.isSubTextIncluded ? '70px' : '56px')};\n\t--toastify-toast-max-height: ${(props) => props.height || 'fit-content'};\n\tfont-family: inherit;\n\tz-index: ${(props) => props.zIndex || ComponentZindex.TOASTER};\n\n\t.custom-position {\n\t\tposition: relative;\n\t}\n\t.Toastify__toast-container {\n\t\tpadding: 0;\n\t\twidth: auto;\n\t\tmax-width: 90vw;\n\t\toverflow: visible;\n\n\t\t@media (max-width: 768px) {\n\t\t\tmax-width: calc(100vw - 64px);\n\t\t\tmargin: 0 32px;\n\t\t}\n\t}\n\n\t/* Mobile positioning - only for top-right (default) */\n\t.Toastify__toast-container--top-right {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 35%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for top-left */\n\t.Toastify__toast-container--top-left {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for bottom positions */\n\t.Toastify__toast-container--bottom-right,\n\t.Toastify__toast-container--bottom-left,\n\t.Toastify__toast-container--bottom-center {\n\t\t@media (max-width: 768px) {\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t/* Mobile positioning - for top-center */\n\t.Toastify__toast-container--top-center {\n\t\t@media (max-width: 768px) {\n\t\t\ttop: 2%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\t}\n\n\t.Toastify__toast--success {\n\t\tborder: 1px solid ${COLORS.stroke.positive.lightAlt};\n\t}\n\n\t.Toastify__toast--info {\n\t\tborder: 1px solid ${COLORS.stroke.brandLightAlt};\n\t}\n\n\t.Toastify__toast--default {\n\t\tborder: 1px solid ${COLORS.stroke.primary};\n\t}\n\n\t.Toastify__toast--error {\n\t\tborder: 1px solid ${COLORS.stroke.negative.lightAlt};\n\t}\n\n\t.Toastify__toast--warning {\n\t\tborder: 1px solid ${COLORS.stroke.warning.lightAlt};\n\t}\n\n\t.Toastify__toast {\n\t\tpadding: ${(props) => (props.isSubTextIncluded ? '16px 8px' : '12px 8px')};\n\t\tmax-width: ${(props) => props.width || '600px'};\n\t\tmin-width: 320px;\n\t\tborder-radius: 8px;\n\t\tword-wrap: break-word;\n\t\toverflow-wrap: break-word;\n\t\t/* Clips the absolutely positioned progress bar to the 8px radius */\n\t\toverflow: hidden;\n\n\t\t@media (max-width: 768px) {\n\t\t\tmin-width: 80vw;\n\t\t\tmax-width: calc(100vw - 64px);\n\t\t\tpadding: ${(props) =>\n\t\t\t\tprops.isSubTextIncluded ? '16px 16px' : '12px 16px'};\n\t\t}\n\t}\n\n\t.Toastify__progress-bar {\n\t\theight: 4px;\n\t}\n\n\t/* NOTE: no .Toastify__close-button rule here — the close button is always a\n\t custom element passed via the closeButton option, and react-toastify\n\t clones it without adding that class. It is positioned inline instead. */\n\n\t.Toastify__toast-icon {\n\t\talign-self: center;\n\t\tmargin-inline-end: 12px;\n\t\theight: ${(props) => (props.isSubTextIncluded ? '38px' : '20px')};\n\t}\n\n\t.Toastify__toast-body {\n\t\tpadding: 0;\n\t\tdisplay: flex;\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--default {\n\t\tbackground: ${COLORS.content.brand};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info {\n\t\tbackground: ${COLORS.content.brand};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning {\n\t\tbackground: ${COLORS.content.warning};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success {\n\t\tbackground: ${COLORS.content.positive};\n\t}\n\n\t.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {\n\t\tbackground: ${COLORS.content.negative};\n\t}\n\n\t.Toastify__toast-body > div:last-child {\n\t\tdisplay: flex;\n\t}\n\n\t.Toastify__slide-enter {\n\t\tanimation: slideIn 1s ease forwards,\n\t\t\tbounce cubic-bezier(0.68, -0.55, 0.27, 1.55) 0.5s both;\n\t}\n\t.Toastify__slide-exit {\n\t\tanimation: slideOut 0.5s ease-in-out forwards;\n\t}\n\t@keyframes bounce {\n\t\t0%,\n\t\t20%,\n\t\t50%,\n\t\t80%,\n\t\t100% {\n\t\t\ttransform: translateY(0); /* Start and end at the original position */\n\t\t}\n\t\t40% {\n\t\t\ttransform: translateX(-20px); /* Bouncing up */\n\t\t}\n\t\t60% {\n\t\t\ttransform: translateX(20px); /* Small bounce before settling */\n\t\t}\n\t}\n\t@keyframes slideIn {\n\t\t0% {\n\t\t\ttransform: translateX(-100%); /* Start off-screen to the left */\n\t\t\topacity: 0;\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateX(0); /* End at the original position */\n\t\t\topacity: 1;\n\t\t}\n\t}\n\t@keyframes slideOut {\n\t\t0% {\n\t\t\ttransform: translateX(0); /* Start from the original position */\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: translateX(100%); /* Slide out to the right */\n\t\t\topacity: 0;\n\t\t}\n\t}\n`;\n"],"names":["ToasterStyled","styled","COLORS","props","ComponentZindex"],"mappings":";;;AAKO,MAAMA,IAAgBC,EAAO;AAAA;AAAA;AAAA,kCASFC,EAAO,QAAQ,OAAO;AAAA,gCACxBA,EAAO,QAAQ,OAAO;AAAA,kCACpBA,EAAO,QAAQ,OAAO;AAAA,+BACzBA,EAAO,QAAQ,OAAO;AAAA,0BAC3BA,EAAO,WAAW,UAAU;AAAA,6BACzBA,EAAO,WAAW,SAAS,KAAK;AAAA,2BAClCA,EAAO,WAAW,SAAS,KAAK;AAAA,6BAC9BA,EAAO,WAAW,QAAQ,KAAK;AAAA,gCAC5BA,EAAO,QAAQ,OAAO;AAAA;AAAA,gCAEtB,CAACC,MAC/BA,EAAM,WAAWA,EAAM,oBAAoB,SAAS,OAAO;AAAA,gCAC7B,CAACA,MAAUA,EAAM,UAAU,aAAa;AAAA;AAAA,YAE5D,CAACA,MAAUA,EAAM,UAAUC,EAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAuDxCF,EAAO,OAAO,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA,sBAI/BA,EAAO,OAAO,aAAa;AAAA;AAAA;AAAA;AAAA,sBAI3BA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,sBAIrBA,EAAO,OAAO,SAAS,QAAQ;AAAA;AAAA;AAAA;AAAA,sBAI/BA,EAAO,OAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA,aAIvC,CAACC,MAAWA,EAAM,oBAAoB,aAAa,UAAW;AAAA,eAC5D,CAACA,MAAUA,EAAM,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAWlC,CAACA,MACXA,EAAM,oBAAoB,cAAc,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAe3C,CAACA,MAAWA,EAAM,oBAAoB,SAAS,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBASlDD,EAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,gBAIpBA,EAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA,gBAIpBA,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA,gBAItBA,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA,gBAIvBA,EAAO,QAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -8,9 +8,9 @@ import { flushSync as he } from "react-dom";
8
8
  import { COLORS as d } from "../../constants/Theme.js";
9
9
  import { TitleRegular as me, BodySecondary as U, BodyCaption as ue, TitleSmall as fe } from "../TypographyStyle.js";
10
10
  import { VariablePickerContext as pe } from "./context.js";
11
- import { DefaultVariableContent as ye } from "./DefaultVariableContent.js";
11
+ import { DefaultVariableContent as ge } from "./DefaultVariableContent.js";
12
12
  import { highlightSearchText as X } from "./highlightSearchText.js";
13
- import { PickerType as ge } from "./model.js";
13
+ import { PickerType as ye } from "./model.js";
14
14
  import Se from "./NoResult.js";
15
15
  import { showOnlyRecommendedVariables as S } from "./recommendVaribles.js";
16
16
  import { searchVariables as w } from "./searchVariables.js";
@@ -26,16 +26,16 @@ const Ie = /.*\..*/, De = (o) => /\w+\[\d+\]/g.test(o), He = (o) => {
26
26
  if (o.actualValue.match(Ie)) {
27
27
  const i = o.actualValue.replace("{{", "").replace("}}", "").split(".");
28
28
  let s = i[0];
29
- return i.forEach((y, b) => {
29
+ return i.forEach((g, b) => {
30
30
  if (b === 0) return;
31
- if (De(y)) {
32
- const g = y.match(/(\w+)\[(\d+)\]/);
33
- if (g) {
34
- const x = g[1], B = g[2];
31
+ if (De(g)) {
32
+ const y = g.match(/(\w+)\[(\d+)\]/);
33
+ if (y) {
34
+ const x = y[1], B = y[2];
35
35
  s = s + `['${x}'][${B}]`;
36
36
  }
37
37
  } else
38
- s = s + `['${y}']`;
38
+ s = s + `['${g}']`;
39
39
  }), s;
40
40
  } else
41
41
  return o.actualValueEval ? o.actualValueEval : o.actualValue;
@@ -43,17 +43,17 @@ const Ie = /.*\..*/, De = (o) => /\w+\[\d+\]/g.test(o), He = (o) => {
43
43
  const {
44
44
  data: i,
45
45
  onSelect: s,
46
- showHeader: y,
46
+ showHeader: g,
47
47
  showBackButton: b,
48
48
  hideHeaderCross: P,
49
- onBackButtonClick: g,
49
+ onBackButtonClick: y,
50
50
  isEvaluationList: x,
51
51
  autoOpenFirst: B,
52
52
  headerText: ee,
53
53
  contentHeight: E,
54
54
  onDefaultVariableSelect: te,
55
55
  skipDefaultVariableContent: R
56
- } = o, [k, a] = m(i), [c, T] = m(""), [n, O] = m([]), [I, A] = m(""), [u, F] = m(!1), [D, L] = m([]), [h, H] = m(!1), [$, j] = m(), C = J(null), W = J([]), oe = h && o.type === ge.EMBEDDED && !P;
56
+ } = o, [k, a] = m(i), [c, T] = m(""), [n, O] = m([]), [I, A] = m(""), [u, F] = m(!1), [D, L] = m([]), [h, H] = m(!1), [$, j] = m(), C = J(null), W = J([]), oe = h && o.type === ye.EMBEDDED && !P;
57
57
  Q(() => {
58
58
  z(o.showRecommendedBar ?? !0);
59
59
  }, []), Q(() => {
@@ -203,18 +203,18 @@ const Ie = /.*\..*/, De = (o) => /\w+\[\d+\]/g.test(o), He = (o) => {
203
203
  },
204
204
  onClick: (e) => e.stopPropagation(),
205
205
  children: [
206
- (y || b || h) && /* @__PURE__ */ p(be, { openDefault: h, children: [
206
+ (g || b || h) && /* @__PURE__ */ p(be, { openDefault: h, children: [
207
207
  /* @__PURE__ */ p("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
208
208
  (b || h) && /* @__PURE__ */ t(
209
209
  v,
210
210
  {
211
211
  Icon: le,
212
212
  onClick: () => {
213
- h ? H(!1) : g && g();
213
+ h ? H(!1) : y && y();
214
214
  }
215
215
  }
216
216
  ),
217
- (y || h) && /* @__PURE__ */ t(me, { children: h ? "Set up" : ee ?? "Select Variable" })
217
+ (g || h) && /* @__PURE__ */ t(me, { children: h ? "Set up" : ee ?? "Select Variable" })
218
218
  ] }),
219
219
  oe && /* @__PURE__ */ t(
220
220
  v,
@@ -226,7 +226,7 @@ const Ie = /.*\..*/, De = (o) => /\w+\[\d+\]/g.test(o), He = (o) => {
226
226
  )
227
227
  ] }),
228
228
  h && $ && !R ? /* @__PURE__ */ t(
229
- ye,
229
+ ge,
230
230
  {
231
231
  variable: $,
232
232
  onInsertVariable: (e) => {
@@ -264,6 +264,7 @@ const Ie = /.*\..*/, De = (o) => /\w+\[\d+\]/g.test(o), He = (o) => {
264
264
  /* @__PURE__ */ t(
265
265
  Be,
266
266
  {
267
+ "data-test": "variable-recommended-toggle",
267
268
  value: u,
268
269
  onValueChange: async (e) => {
269
270
  await z(e);
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sources":["../../../../src/components/variable-picker-v3/Content.tsx"],"sourcesContent":["import BackIcon from '@src/assets/icons/arrow_back.svg';\nimport CrossIcon from '@src/assets/icons/cross.svg';\nimport AddIcon from '@src/assets/icons/plus.svg';\nimport WarnIcon from '@src/assets/icons/triangle_error.svg';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { COLORS } from '@src/constants/Theme';\nimport { BikAccordion } from '../accordion';\nimport { IconButton } from '../icon-button';\nimport { Input } from '../input';\nimport { ListItem } from '../list-item';\nimport { Switch } from '../switch';\nimport { Tooltip } from '../tooltips';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleRegular,\n\tTitleSmall,\n} from '../TypographyStyle';\nimport { VariablePickerContext } from './context';\nimport { DefaultVariableContent } from './DefaultVariableContent';\nimport { highlightSearchText } from './highlightSearchText';\nimport {\n\tPickerType,\n\tSubHeader,\n\tVariablePickerV3Props,\n\tVariableV3,\n} from './model';\nimport NoResult from './NoResult';\nimport { showOnlyRecommendedVariables } from './recommendVaribles';\nimport { searchVariables } from './searchVariables';\nimport {\n\tBackHeader,\n\tContainer,\n\tHeaderWrapper,\n\tRecommendWrapper,\n} from './styles';\nimport SubHeaderItems, { renderTooltipBody } from './SubHeaderItems';\n\ntype Props = VariablePickerV3Props;\n\nconst variableRegex = /.*\\..*/;\nconst checkIfArray = (value: string) => {\n\tconst regex = /\\w+\\[\\d+\\]/g;\n\treturn regex.test(value);\n};\n\nconst matchVariable = (variable: VariableV3) => {\n\tif (variable.actualValue.match(variableRegex)) {\n\t\tconst path = variable.actualValue\n\t\t\t.replace('{{', '')\n\t\t\t.replace('}}', '')\n\t\t\t.split('.');\n\t\tlet evalVariableValue = path[0];\n\t\tpath.forEach((value, index) => {\n\t\t\tif (index === 0) return;\n\t\t\tconst isArray = checkIfArray(value);\n\t\t\tif (isArray) {\n\t\t\t\t// ex: event_memberships[0] -> ['event_memberships'][0]\n\t\t\t\tconst matches = value.match(/(\\w+)\\[(\\d+)\\]/);\n\t\t\t\tif (matches) {\n\t\t\t\t\tconst arrayName = matches[1];\n\t\t\t\t\tconst index = matches[2];\n\t\t\t\t\tevalVariableValue = evalVariableValue + `['${arrayName}'][${index}]`;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevalVariableValue = evalVariableValue + `['${value}']`;\n\t\t\t}\n\t\t});\n\t\treturn evalVariableValue;\n\t} else {\n\t\tconst value = variable.actualValueEval\n\t\t\t? variable.actualValueEval\n\t\t\t: variable.actualValue;\n\t\treturn value;\n\t}\n};\n\nexport const VariablePickerContent: React.FC<Props> = (\n\tprops: VariablePickerV3Props,\n) => {\n\tconst {\n\t\tdata,\n\t\tonSelect,\n\t\tshowHeader,\n\t\tshowBackButton,\n\t\thideHeaderCross,\n\t\tonBackButtonClick,\n\t\tisEvaluationList,\n\t\tautoOpenFirst,\n\t\theaderText,\n\t\tcontentHeight,\n\t\tonDefaultVariableSelect,\n\t\tskipDefaultVariableContent,\n\t} = props;\n\n\tconst [variables, setVariables] = useState(data); // modified data after search\n\tconst [searchText, setSearchText] = useState<string>('');\n\tconst [subHeaderStack, setSubHeaderStack] = useState<any[]>([]); // push variable object after every level\n\tconst [searchedFrom, setSearchedFrom] = useState<string>(''); // from which level did the user search from\n\tconst [showRecommended, setShowRecommended] = useState<boolean>(false);\n\tconst [dataSource, setDataSource] = useState<any[]>([]); // for search, maintaining original copy\n\tconst [openDefaultVariablePanel, setOpenDefaultVariablePanel] =\n\t\tuseState(false);\n\tconst [chosenForDefault, setChosenForDefault] = useState<VariableV3 | null>();\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst scrollPositionStack = useRef<number[]>([]);\n\tconst shouldShowHeaderInsideCross =\n\t\topenDefaultVariablePanel &&\n\t\tprops.type === PickerType.EMBEDDED &&\n\t\t!hideHeaderCross;\n\n\t// useEffect(() => {\n\t// \t// TODO: based on new data, update existing variables if available\n\t// \tsetVariables(data);\n\t// }, [data]);\n\n\tuseEffect(() => {\n\t\thandleRecommendedChange(props.showRecommendedBar ?? true);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (subHeaderStack.length > 0) {\n\t\t\tsetDataSource([subHeaderStack[subHeaderStack.length - 1]]);\n\t\t} else {\n\t\t\tsetDataSource(data);\n\t\t}\n\t}, [subHeaderStack]);\n\n\tconst handleBackClick = (e: any) => {\n\t\te.stopPropagation();\n\t\tlet _searchText = searchText;\n\t\tconst newSubHeaderStack = [...subHeaderStack];\n\t\tconst poppedElement = newSubHeaderStack.pop();\n\t\tif (poppedElement.displayName === searchedFrom) {\n\t\t\t_searchText = ''; // so that search is not trigerred in the below code\n\t\t}\n\t\tconst savedScrollTop = scrollPositionStack.current.pop() ?? 0;\n\n\t\t// Use flushSync to force synchronous DOM update so scroll can be\n\t\t// restored immediately after the new content is rendered\n\t\tflushSync(() => {\n\t\t\tsetSubHeaderStack(newSubHeaderStack);\n\t\t\tif (poppedElement.displayName === searchedFrom) {\n\t\t\t\tsetSearchText('');\n\t\t\t}\n\t\t\tif (_searchText.length > 0) {\n\t\t\t\t// maintain the search result when going back\n\t\t\t\tconst dataSource =\n\t\t\t\t\tnewSubHeaderStack.length > 0\n\t\t\t\t\t\t? [newSubHeaderStack[newSubHeaderStack.length - 1]]\n\t\t\t\t\t\t: data;\n\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t_searchText,\n\t\t\t\t\tdataSource,\n\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t);\n\t\t\t\tif (showRecommended) {\n\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newSubHeaderStack.length > 0) {\n\t\t\t\t\tif (showRecommended) {\n\t\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\t\t[newSubHeaderStack[newSubHeaderStack.length - 1].variables],\n\t\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetVariables([\n\t\t\t\t\t\t\tnewSubHeaderStack[newSubHeaderStack.length - 1].variables,\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (showRecommended) {\n\t\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetVariables(data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Restore scroll after accordion expand animation completes.\n\t\t// The BikAccordion uses a 250ms CSS transition on max-height when\n\t\t// autoOpen fires. We must wait for that to finish so the Container\n\t\t// has enough scrollHeight to scroll to the saved position.\n\t\tif (containerRef.current && savedScrollTop > 0) {\n\t\t\tconst el = containerRef.current;\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.scrollTo({ top: savedScrollTop, behavior: 'smooth' });\n\t\t\t}, 300);\n\t\t}\n\t};\n\n\tconst handleRecommendedChange = async (val) => {\n\t\tsetShowRecommended(val);\n\t\tif (val) {\n\t\t\tconst output = showOnlyRecommendedVariables(variables, subHeaderStack);\n\t\t\tsetVariables(output);\n\t\t} else {\n\t\t\tif (subHeaderStack.length > 0) {\n\t\t\t\t// dont apply search if not in the page where search started\n\t\t\t\tconst isInSearchStartPage =\n\t\t\t\t\tsearchedFrom == subHeaderStack[subHeaderStack.length - 1].displayName;\n\t\t\t\tif (searchText.length > 0 && isInSearchStartPage) {\n\t\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\tsubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables([subHeaderStack[subHeaderStack.length - 1].variables]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (searchText.length > 0) {\n\t\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\tsubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables(data);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst calculateHeight = () => {\n\t\tif (contentHeight) {\n\t\t\treturn contentHeight;\n\t\t}\n\t\tlet pickerContentHeight = 131;\n\t\tif (!(props.showSearch ?? true)) {\n\t\t\tpickerContentHeight -= 52;\n\t\t}\n\t\tif (!(props.showRecommendedBar ?? true)) {\n\t\t\tpickerContentHeight -= 45;\n\t\t}\n\t\tif (subHeaderStack.length > 0) {\n\t\t\tpickerContentHeight += 32;\n\t\t}\n\t\tif (props.showHeader || props.showBackButton) {\n\t\t\tpickerContentHeight += 40;\n\t\t}\n\t\treturn `calc(100% - ${pickerContentHeight}px)`;\n\t};\n\n\tconst onSearch = (text: string) => {\n\t\tif (!text) {\n\t\t\tsetSearchedFrom('');\n\t\t}\n\t\tconst result = searchVariables(text, dataSource, subHeaderStack);\n\t\tif (showRecommended) {\n\t\t\tconst recommended = showOnlyRecommendedVariables(result, subHeaderStack);\n\t\t\tsetVariables(recommended);\n\t\t} else {\n\t\t\tsetVariables(result);\n\t\t}\n\t\tsetSearchText(text);\n\t\tconst latestSubHeader =\n\t\t\tsubHeaderStack.length > 0\n\t\t\t\t? subHeaderStack[subHeaderStack.length - 1].displayName\n\t\t\t\t: 'home';\n\t\tsetSearchedFrom(latestSubHeader);\n\t};\n\n\tconst HeaderBackIcon = () => {\n\t\treturn (\n\t\t\t<BackIcon\n\t\t\t\twidth={16}\n\t\t\t\theight={16}\n\t\t\t\tstyle={{ display: 'flex', color: COLORS.content.primary }}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst GoBackIcon = () => {\n\t\treturn (\n\t\t\t<BackIcon\n\t\t\t\twidth={12}\n\t\t\t\theight={12}\n\t\t\t\tstyle={{ color: COLORS.content.secondary }}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst onSelectingVariable = (variable: VariableV3) => {\n\t\tif (props.disabled) return;\n\t\tif (isEvaluationList) {\n\t\t\tconst evalVariableValue = matchVariable(variable as VariableV3);\n\t\t\tonSelect({\n\t\t\t\t...variable,\n\t\t\t\tactualValue: evalVariableValue,\n\t\t\t} as VariableV3);\n\t\t} else {\n\t\t\tif (variable.isDefaultValueSupported && !skipDefaultVariableContent) {\n\t\t\t\tsetChosenForDefault(variable);\n\t\t\t\tsetOpenDefaultVariablePanel(true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSelect(variable as VariableV3);\n\t\t}\n\t};\n\n\treturn (\n\t\t<VariablePickerContext.Provider\n\t\t\tvalue={{\n\t\t\t\tvariables,\n\t\t\t\tsearchText,\n\t\t\t\tsubHeaderStack,\n\t\t\t\tshowRecommended,\n\t\t\t\tsetSubHeaderStack,\n\t\t\t\tsetSearchText,\n\t\t\t\tsetVariables,\n\t\t\t\tsetShowRecommended,\n\t\t\t\tcontainerRef,\n\t\t\t\tscrollPositionStack,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\ttabIndex={-1}\n\t\t\t\tid=\"variable-picker-v3\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'white',\n\t\t\t\t\tborderRadius: 8,\n\t\t\t\t\theight: '100%',\n\t\t\t\t\toutline: 'none',\n\t\t\t\t}}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{(showHeader || showBackButton || openDefaultVariablePanel) && (\n\t\t\t\t\t<HeaderWrapper openDefault={openDefaultVariablePanel}>\n\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n\t\t\t\t\t\t\t{(showBackButton || openDefaultVariablePanel) && (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tIcon={HeaderBackIcon}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (openDefaultVariablePanel) {\n\t\t\t\t\t\t\t\t\t\t\tsetOpenDefaultVariablePanel(false);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonBackButtonClick && onBackButtonClick();\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)}\n\t\t\t\t\t\t\t{(showHeader || openDefaultVariablePanel) && (\n\t\t\t\t\t\t\t\t<TitleRegular>\n\t\t\t\t\t\t\t\t\t{openDefaultVariablePanel\n\t\t\t\t\t\t\t\t\t\t? 'Set up'\n\t\t\t\t\t\t\t\t\t\t: headerText ?? 'Select Variable'}\n\t\t\t\t\t\t\t\t</TitleRegular>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{shouldShowHeaderInsideCross && (\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tstyle={{ color: '#212121' }}\n\t\t\t\t\t\t\t\tIcon={CrossIcon}\n\t\t\t\t\t\t\t\tonClick={() => props.onClose && props.onClose()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</HeaderWrapper>\n\t\t\t\t)}\n\t\t\t\t{openDefaultVariablePanel &&\n\t\t\t\tchosenForDefault &&\n\t\t\t\t!skipDefaultVariableContent ? (\n\t\t\t\t\t<DefaultVariableContent\n\t\t\t\t\t\tvariable={chosenForDefault}\n\t\t\t\t\t\tonInsertVariable={(updated) => {\n\t\t\t\t\t\t\tonSelect(updated);\n\t\t\t\t\t\t\tonDefaultVariableSelect?.(updated);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{(props.showSearch ?? true) && (\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\tpadding: '0 16px',\n\t\t\t\t\t\t\t\t\tpaddingTop: 12,\n\t\t\t\t\t\t\t\t\tbackgroundColor: COLORS.surface.subdued,\n\t\t\t\t\t\t\t\t\tborderTopLeftRadius: 8,\n\t\t\t\t\t\t\t\t\tborderTopRightRadius: 8,\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<Input\n\t\t\t\t\t\t\t\t\tid=\"search-bar-v3-picker\"\n\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSearchBlur && props.onSearchBlur(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\t\t\t\tnoKeyDownChange\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tonChangeText={onSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(props.showRecommendedBar ?? true) && (\n\t\t\t\t\t\t\t<RecommendWrapper>\n\t\t\t\t\t\t\t\t<BodySecondary style={{ color: COLORS.content.secondary }}>\n\t\t\t\t\t\t\t\t\tOnly Recommended\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\tvalue={showRecommended}\n\t\t\t\t\t\t\t\t\tonValueChange={async (val) => {\n\t\t\t\t\t\t\t\t\t\tawait handleRecommendedChange(val);\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</RecommendWrapper>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{subHeaderStack.length > 0 && (\n\t\t\t\t\t\t\t<BackHeader>\n\t\t\t\t\t\t\t\t<div style={{ position: 'absolute', left: 16 }}>\n\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\tid=\"back-btn-v3\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: 'flex' }}\n\t\t\t\t\t\t\t\t\t\tIcon={GoBackIcon}\n\t\t\t\t\t\t\t\t\t\tonClick={handleBackClick}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcolor: COLORS.content.secondary,\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{subHeaderStack[subHeaderStack.length - 1].displayName}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</BackHeader>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{variables.length > 0 ? (\n\t\t\t\t\t\t\t\t<Container ref={containerRef} height={calculateHeight()}>\n\t\t\t\t\t\t\t\t\t{variables.map((variable, index) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tvariable.displayName &&\n\t\t\t\t\t\t\t\t\t\t\ttypeof variable.variables !== 'undefined'\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={variable.displayName + showRecommended} // to re-render the component\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderBottom: `1px solid ${COLORS.stroke.primary}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BikAccordion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tarrowColor={COLORS.content.primary}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tautoOpen={autoOpenFirst && index === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theaderPadding=\"12px 16px\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<TitleSmall\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ color: COLORS.content.secondary }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{highlightSearchText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SubHeaderItems\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentVariable={variable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={props.disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText={searchText}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable={variable.variables}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={(variable) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.isDefaultValueSupported &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!skipDefaultVariableContent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetChosenForDefault(variable);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenDefaultVariablePanel(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect(variable as VariableV3);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</BikAccordion>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else if (variable.displayName) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbody={renderTooltipBody(variable as VariableV3)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.disabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'readonly'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: (variable as VariableV3)?.selected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'selected'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tversion=\"2.0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tleadingIcon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(variable as VariableV3)?.selected ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.disabled ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style={{ flexShrink: 0 }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<AddIcon width={14} height={14} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomListItemLabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgap: 4,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BodySecondary\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: COLORS.text.primary,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{highlightSearchText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!variable.isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip body=\"Not Recommended\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: 'flex', marginTop: 2 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<WarnIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlistItem={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: variable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: variable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubText={variable.description || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectingVariable(variable as VariableV3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<SubHeaderItems\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={props.disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText={searchText}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariable={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable as unknown as {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[key: string]: SubHeader | VariableV3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={(variable: VariableV3) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectingVariable(variable as VariableV3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\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</Container>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<NoResult height={calculateHeight()} searchText={searchText} />\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</div>\n\t\t</VariablePickerContext.Provider>\n\t);\n};\n"],"names":["variableRegex","checkIfArray","value","matchVariable","variable","path","evalVariableValue","index","matches","arrayName","VariablePickerContent","props","data","onSelect","showHeader","showBackButton","hideHeaderCross","onBackButtonClick","isEvaluationList","autoOpenFirst","headerText","contentHeight","onDefaultVariableSelect","skipDefaultVariableContent","variables","setVariables","useState","searchText","setSearchText","subHeaderStack","setSubHeaderStack","searchedFrom","setSearchedFrom","showRecommended","setShowRecommended","dataSource","setDataSource","openDefaultVariablePanel","setOpenDefaultVariablePanel","chosenForDefault","setChosenForDefault","containerRef","useRef","scrollPositionStack","shouldShowHeaderInsideCross","PickerType","useEffect","handleRecommendedChange","handleBackClick","_searchText","newSubHeaderStack","poppedElement","savedScrollTop","flushSync","result","searchVariables","recommended","showOnlyRecommendedVariables","el","val","output","isInSearchStartPage","calculateHeight","pickerContentHeight","onSearch","text","latestSubHeader","HeaderBackIcon","jsx","BackIcon","COLORS","GoBackIcon","onSelectingVariable","VariablePickerContext","jsxs","HeaderWrapper","IconButton","TitleRegular","CrossIcon","DefaultVariableContent","updated","Fragment","Input","RecommendWrapper","BodySecondary","Switch","BackHeader","BodyCaption","Container","BikAccordion","TitleSmall","highlightSearchText","SubHeaderItems","Tooltip","renderTooltipBody","ListItem","AddIcon","WarnIcon","NoResult"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAMA,KAAgB,UAChBC,KAAe,CAACC,MACP,cACD,KAAKA,CAAK,GAGlBC,KAAgB,CAACC,MAAyB;AAC/C,MAAIA,EAAS,YAAY,MAAMJ,EAAa,GAAG;AAC9C,UAAMK,IAAOD,EAAS,YACpB,QAAQ,MAAM,EAAE,EAChB,QAAQ,MAAM,EAAE,EAChB,MAAM,GAAG;AACX,QAAIE,IAAoBD,EAAK,CAAC;AAC9B,WAAAA,EAAK,QAAQ,CAACH,GAAOK,MAAU;AAC9B,UAAIA,MAAU,EAAG;AAEjB,UADgBN,GAAaC,CAAK,GACrB;AAEZ,cAAMM,IAAUN,EAAM,MAAM,gBAAgB;AAC5C,YAAIM,GAAS;AACZ,gBAAMC,IAAYD,EAAQ,CAAC,GACrBD,IAAQC,EAAQ,CAAC;AACvB,UAAAF,IAAoBA,IAAoB,KAAKG,CAAS,MAAMF,CAAK;AAAA,QAClE;AAAA,MACD;AACC,QAAAD,IAAoBA,IAAoB,KAAKJ,CAAK;AAAA,IAEpD,CAAC,GACMI;AAAA,EACR;AAIC,WAHcF,EAAS,kBACpBA,EAAS,kBACTA,EAAS;AAGd,GAEaM,KAAyC,CACrDC,MACI;AACJ,QAAM;AAAA,IACL,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,4BAAAC;AAAA,EAAA,IACGZ,GAEE,CAACa,GAAWC,CAAY,IAAIC,EAASd,CAAI,GACzC,CAACe,GAAYC,CAAa,IAAIF,EAAiB,EAAE,GACjD,CAACG,GAAgBC,CAAiB,IAAIJ,EAAgB,CAAA,CAAE,GACxD,CAACK,GAAcC,CAAe,IAAIN,EAAiB,EAAE,GACrD,CAACO,GAAiBC,CAAkB,IAAIR,EAAkB,EAAK,GAC/D,CAACS,GAAYC,CAAa,IAAIV,EAAgB,CAAA,CAAE,GAChD,CAACW,GAA0BC,CAA2B,IAC3DZ,EAAS,EAAK,GACT,CAACa,GAAkBC,CAAmB,IAAId,EAAA,GAC1Ce,IAAeC,EAAuB,IAAI,GAC1CC,IAAsBD,EAAiB,EAAE,GACzCE,KACLP,KACA1B,EAAM,SAASkC,GAAW,YAC1B,CAAC7B;AAOF,EAAA8B,EAAU,MAAM;AACf,IAAAC,EAAwBpC,EAAM,sBAAsB,EAAI;AAAA,EACzD,GAAG,CAAA,CAAE,GAELmC,EAAU,MAAM;AACf,IAAIjB,EAAe,SAAS,IAC3BO,EAAc,CAACP,EAAeA,EAAe,SAAS,CAAC,CAAC,CAAC,IAEzDO,EAAcxB,CAAI;AAAA,EAEpB,GAAG,CAACiB,CAAc,CAAC;AAEnB,QAAMmB,KAAkB,CAAC,MAAW;AACnC,MAAE,gBAAA;AACF,QAAIC,IAActB;AAClB,UAAMuB,IAAoB,CAAC,GAAGrB,CAAc,GACtCsB,IAAgBD,EAAkB,IAAA;AACxC,IAAIC,EAAc,gBAAgBpB,MACjCkB,IAAc;AAEf,UAAMG,IAAiBT,EAAoB,QAAQ,IAAA,KAAS;AA4D5D,QAxDAU,GAAU,MAAM;AAKf,UAJAvB,EAAkBoB,CAAiB,GAC/BC,EAAc,gBAAgBpB,KACjCH,EAAc,EAAE,GAEbqB,EAAY,SAAS,GAAG;AAE3B,cAAMd,IACLe,EAAkB,SAAS,IACxB,CAACA,EAAkBA,EAAkB,SAAS,CAAC,CAAC,IAChDtC,GACE0C,IAASC;AAAA,UACdN;AAAA,UACAd;AAAAA,UACAe;AAAA,QAAA;AAED,YAAIjB,GAAiB;AACpB,gBAAMuB,KAAcC;AAAA,YACnBH;AAAA,YACAJ;AAAA,UAAA;AAED,UAAAzB,EAAa+B,EAAW;AAAA,QACzB;AACC,UAAA/B,EAAa6B,CAAM;AAAA,MAErB,WACKJ,EAAkB,SAAS;AAC9B,YAAIjB,GAAiB;AACpB,gBAAMuB,IAAcC;AAAA,YACnB,CAACP,EAAkBA,EAAkB,SAAS,CAAC,EAAE,SAAS;AAAA,YAC1DA;AAAA,UAAA;AAED,UAAAzB,EAAa+B,CAAW;AAAA,QACzB;AACC,UAAA/B,EAAa;AAAA,YACZyB,EAAkBA,EAAkB,SAAS,CAAC,EAAE;AAAA,UAAA,CAChD;AAAA,eAGEjB,GAAiB;AACpB,cAAMuB,IAAcC;AAAA,UACnB7C;AAAA,UACAsC;AAAA,QAAA;AAED,QAAAzB,EAAa+B,CAAW;AAAA,MACzB;AACC,QAAA/B,EAAab,CAAI;AAAA,IAIrB,CAAC,GAMG6B,EAAa,WAAWW,IAAiB,GAAG;AAC/C,YAAMM,IAAKjB,EAAa;AACxB,iBAAW,MAAM;AAChB,QAAAiB,EAAG,SAAS,EAAE,KAAKN,GAAgB,UAAU,UAAU;AAAA,MACxD,GAAG,GAAG;AAAA,IACP;AAAA,EACD,GAEML,IAA0B,OAAOY,MAAQ;AAE9C,QADAzB,EAAmByB,CAAG,GAClBA,GAAK;AACR,YAAMC,IAASH,EAA6BjC,GAAWK,CAAc;AACrE,MAAAJ,EAAamC,CAAM;AAAA,IACpB,WACK/B,EAAe,SAAS,GAAG;AAE9B,YAAMgC,IACL9B,KAAgBF,EAAeA,EAAe,SAAS,CAAC,EAAE;AAC3D,UAAIF,EAAW,SAAS,KAAKkC,GAAqB;AACjD,cAAMP,IAASC;AAAA,UACd5B;AAAA,UACAQ;AAAA,UACAN;AAAA,QAAA;AAED,QAAAJ,EAAa6B,CAAM;AAAA,MACpB;AACC,QAAA7B,EAAa,CAACI,EAAeA,EAAe,SAAS,CAAC,EAAE,SAAS,CAAC;AAAA,IAEpE,WACKF,EAAW,SAAS,GAAG;AAC1B,YAAM2B,IAASC;AAAA,QACd5B;AAAA,QACAQ;AAAA,QACAN;AAAA,MAAA;AAED,MAAAJ,EAAa6B,CAAM;AAAA,IACpB;AACC,MAAA7B,EAAab,CAAI;AAAA,EAIrB,GAEMkD,IAAkB,MAAM;AAC7B,QAAIzC;AACH,aAAOA;AAER,QAAI0C,IAAsB;AAC1B,YAAMpD,EAAM,cAAc,QACzBoD,KAAuB,MAElBpD,EAAM,sBAAsB,QACjCoD,KAAuB,KAEpBlC,EAAe,SAAS,MAC3BkC,KAAuB,MAEpBpD,EAAM,cAAcA,EAAM,oBAC7BoD,KAAuB,KAEjB,eAAeA,CAAmB;AAAA,EAC1C,GAEMC,KAAW,CAACC,MAAiB;AAClC,IAAKA,KACJjC,EAAgB,EAAE;AAEnB,UAAMsB,IAASC,EAAgBU,GAAM9B,GAAYN,CAAc;AAC/D,QAAII,GAAiB;AACpB,YAAMuB,IAAcC,EAA6BH,GAAQzB,CAAc;AACvE,MAAAJ,EAAa+B,CAAW;AAAA,IACzB;AACC,MAAA/B,EAAa6B,CAAM;AAEpB,IAAA1B,EAAcqC,CAAI;AAClB,UAAMC,IACLrC,EAAe,SAAS,IACrBA,EAAeA,EAAe,SAAS,CAAC,EAAE,cAC1C;AACJ,IAAAG,EAAgBkC,CAAe;AAAA,EAChC,GAEMC,KAAiB,MAErB,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO,EAAE,SAAS,QAAQ,OAAOC,EAAO,QAAQ,QAAA;AAAA,IAAQ;AAAA,EAAA,GAKrDC,KAAa,MAEjB,gBAAAH;AAAA,IAACC;AAAAA,IAAA;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO,EAAE,OAAOC,EAAO,QAAQ,UAAA;AAAA,IAAU;AAAA,EAAA,GAKtCE,IAAsB,CAACpE,MAAyB;AACrD,QAAI,CAAAO,EAAM;AACV,UAAIO,GAAkB;AACrB,cAAMZ,IAAoBH,GAAcC,CAAsB;AAC9D,QAAAS,EAAS;AAAA,UACR,GAAGT;AAAA,UACH,aAAaE;AAAA,QAAA,CACC;AAAA,MAChB,OAAO;AACN,YAAIF,EAAS,2BAA2B,CAACmB,GAA4B;AACpE,UAAAiB,EAAoBpC,CAAQ,GAC5BkC,EAA4B,EAAI;AAChC;AAAA,QACD;AACA,QAAAzB,EAAST,CAAsB;AAAA,MAChC;AAAA,EACD;AAEA,SACC,gBAAAgE;AAAA,IAACK,GAAsB;AAAA,IAAtB;AAAA,MACA,OAAO;AAAA,QACN,WAAAjD;AAAA,QACA,YAAAG;AAAA,QACA,gBAAAE;AAAA,QACA,iBAAAI;AAAA,QACA,mBAAAH;AAAA,QACA,eAAAF;AAAA,QACA,cAAAH;AAAA,QACA,oBAAAS;AAAA,QACA,cAAAO;AAAA,QACA,qBAAAE;AAAA,MAAA;AAAA,MAGD,UAAA,gBAAA+B;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,UAAU;AAAA,UACV,IAAG;AAAA,UACH,OAAO;AAAA,YACN,iBAAiB;AAAA,YACjB,cAAc;AAAA,YACd,QAAQ;AAAA,YACR,SAAS;AAAA,UAAA;AAAA,UAEV,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,UAEhB,UAAA;AAAA,aAAA5D,KAAcC,KAAkBsB,MACjC,gBAAAqC,EAACC,IAAA,EAAc,aAAatC,GAC3B,UAAA;AAAA,cAAA,gBAAAqC,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAA,GACvD,UAAA;AAAA,iBAAA3D,KAAkBsB,MACnB,gBAAA+B;AAAA,kBAACQ;AAAA,kBAAA;AAAA,oBACA,MAAMT;AAAA,oBACN,SAAS,MAAM;AACd,sBAAI9B,IACHC,EAA4B,EAAK,IAEjCrB,KAAqBA,EAAA;AAAA,oBAEvB;AAAA,kBAAA;AAAA,gBAAA;AAAA,iBAGAH,KAAcuB,MACf,gBAAA+B,EAACS,MACC,UAAAxC,IACE,WACAjB,MAAc,kBAAA,CAClB;AAAA,cAAA,GAEF;AAAA,cACCwB,MACA,gBAAAwB;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACA,OAAO,EAAE,OAAO,UAAA;AAAA,kBAChB,MAAME;AAAAA,kBACN,SAAS,MAAMnE,EAAM,WAAWA,EAAM,QAAA;AAAA,gBAAQ;AAAA,cAAA;AAAA,YAC/C,GAEF;AAAA,YAEA0B,KACDE,KACA,CAAChB,IACA,gBAAA6C;AAAA,cAACW;AAAA,cAAA;AAAA,gBACA,UAAUxC;AAAA,gBACV,kBAAkB,CAACyC,MAAY;AAC9B,kBAAAnE,EAASmE,CAAO,GAChB1D,KAA0B0D,CAAO;AAAA,gBAClC;AAAA,cAAA;AAAA,YAAA,IAGD,gBAAAN,EAAAO,GAAA,EACG,UAAA;AAAA,eAAAtE,EAAM,cAAc,OACrB,gBAAAyD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACA,OAAO;AAAA,oBACN,SAAS;AAAA,oBACT,YAAY;AAAA,oBACZ,iBAAiBE,EAAO,QAAQ;AAAA,oBAChC,qBAAqB;AAAA,oBACrB,sBAAsB;AAAA,kBAAA;AAAA,kBAGvB,UAAA,gBAAAF;AAAA,oBAACc;AAAA,oBAAA;AAAA,sBACA,IAAG;AAAA,sBACH,QAAQ,CAAC,MAAM;AACd,wBAAAvE,EAAM,gBAAgBA,EAAM,aAAa,CAAC;AAAA,sBAC3C;AAAA,sBACA,OAAOgB;AAAA,sBACP,iBAAe;AAAA,sBACf,aAAY;AAAA,sBACZ,cAAcqC;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACf;AAAA,cAAA;AAAA,eAGArD,EAAM,sBAAsB,OAC7B,gBAAA+D,EAACS,IAAA,EACA,UAAA;AAAA,gBAAA,gBAAAf,EAACgB,GAAA,EAAc,OAAO,EAAE,OAAOd,EAAO,QAAQ,UAAA,GAAa,UAAA,mBAAA,CAE3D;AAAA,gBACA,gBAAAF;AAAA,kBAACiB;AAAA,kBAAA;AAAA,oBACA,OAAOpD;AAAA,oBACP,eAAe,OAAO0B,MAAQ;AAC7B,4BAAMZ,EAAwBY,CAAG;AAAA,oBAClC;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACD,GACD;AAAA,cAEA9B,EAAe,SAAS,KACxB,gBAAA6C,EAACY,IAAA,EACA,UAAA;AAAA,gBAAA,gBAAAlB,EAAC,SAAI,OAAO,EAAE,UAAU,YAAY,MAAM,MACzC,UAAA,gBAAAA;AAAA,kBAACQ;AAAA,kBAAA;AAAA,oBACA,IAAG;AAAA,oBACH,OAAO,EAAE,SAAS,OAAA;AAAA,oBAClB,MAAML;AAAA,oBACN,SAASvB;AAAA,kBAAA;AAAA,gBAAA,GAEX;AAAA,gBACA,gBAAAoB;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBACA,OAAO;AAAA,sBACN,OAAOjB,EAAO,QAAQ;AAAA,oBAAA;AAAA,oBAGtB,UAAAzC,EAAeA,EAAe,SAAS,CAAC,EAAE;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAC5C,GACD;AAAA,cAED,gBAAAuC,EAAAa,GAAA,EACE,UAAAzD,EAAU,SAAS,sBAClBgE,IAAA,EAAU,KAAK/C,GAAc,QAAQqB,KACpC,UAAAtC,EAAU,IAAI,CAACpB,GAAUG,MAExBH,EAAS,eACT,OAAOA,EAAS,YAAc,MAG7B,gBAAAgE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEA,OAAO;AAAA,oBACN,cAAc,aAAaE,EAAO,OAAO,OAAO;AAAA,kBAAA;AAAA,kBAGjD,UAAA,gBAAAF;AAAA,oBAACqB;AAAA,oBAAA;AAAA,sBACA,YAAYnB,EAAO,QAAQ;AAAA,sBAC3B,UAAUnD,KAAiBZ,MAAU;AAAA,sBACrC,eAAc;AAAA,sBACd,QACC,gBAAA6D;AAAA,wBAACsB;AAAA,wBAAA;AAAA,0BACA,OAAO,EAAE,OAAOpB,EAAO,QAAQ,UAAA;AAAA,0BAE9B,UAAAqB;AAAA,4BACAvF,EAAS;AAAA,4BACTuB;AAAA,0BAAA;AAAA,wBACD;AAAA,sBAAA;AAAA,sBAIF,UAAA,gBAAAyC;AAAA,wBAACwB;AAAAA,wBAAA;AAAA,0BACA,gBAAgBxF;AAAA,0BAChB,UAAUO,EAAM,YAAY;AAAA,0BAC5B,YAAAgB;AAAA,0BACA,UAAUvB,EAAS;AAAA,0BACnB,UAAU,CAACA,MAAa;AACvB,gCACCA,EAAS,2BACT,CAACmB,GACA;AACD,8BAAAiB,EAAoBpC,CAAQ,GAC5BkC,EAA4B,EAAI;AAChC;AAAA,4BACD;AACA,4BAAAzB,EAAST,CAAsB;AAAA,0BAChC;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBACD;AAAA,kBAAA;AAAA,gBACD;AAAA,gBArCKA,EAAS,cAAc6B;AAAA,cAAA,IAwCpB7B,EAAS,cAElB,gBAAAgE;AAAA,gBAACyB;AAAA,gBAAA;AAAA,kBAEA,MAAMC,GAAkB1F,CAAsB;AAAA,kBAC9C,WAAU;AAAA,kBAEV,UAAA,gBAAAgE;AAAA,oBAAC2B;AAAA,oBAAA;AAAA,sBACA,SACCpF,EAAM,WACH,aACCP,GAAyB,WAC1B,aACA;AAAA,sBAEJ,SAAQ;AAAA,sBAER,aACEA,GAAyB,YAC1BO,EAAM,WACL,gBAAAyD,EAAAa,GAAA,CAAA,CAAE,sBAED,OAAA,EAAI,OAAO,EAAE,YAAY,EAAA,GACzB,UAAA,gBAAAb,EAAC4B,IAAA,EAAQ,OAAO,IAAI,QAAQ,IAAI,EAAA,CACjC;AAAA,sBAGF,qBACC,gBAAAtB;AAAA,wBAAC;AAAA,wBAAA;AAAA,0BACA,OAAO;AAAA,4BACN,SAAS;AAAA,4BACT,KAAK;AAAA,0BAAA;AAAA,0BAGN,UAAA;AAAA,4BAAA,gBAAAN;AAAA,8BAACgB;AAAA,8BAAA;AAAA,gCACA,OAAO;AAAA,kCACN,UAAU;AAAA,kCACV,OAAOd,EAAO,KAAK;AAAA,gCAAA;AAAA,gCAGnB,UAAAqB;AAAA,kCACAvF,EAAS;AAAA,kCACTuB;AAAA,gCAAA;AAAA,8BACD;AAAA,4BAAA;AAAA,4BAEA,CAACvB,EAAS,eACV,gBAAAgE,EAACyB,GAAA,EAAQ,MAAK,mBACb,UAAA,gBAAAzB;AAAA,8BAAC;AAAA,8BAAA;AAAA,gCACA,OAAO,EAAE,SAAS,QAAQ,WAAW,EAAA;AAAA,gCAErC,UAAA,gBAAAA;AAAA,kCAAC6B;AAAAA,kCAAA;AAAA,oCACA,OAAO;AAAA,oCACP,QAAQ;AAAA,oCACR,OAAO3B,EAAO,QAAQ;AAAA,kCAAA;AAAA,gCAAA;AAAA,8BACvB;AAAA,4BAAA,EACD,CACD;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAAA;AAAA,sBAIH,UAAU;AAAA,wBACT,OAAOlE,EAAS;AAAA,wBAChB,OAAOA,EAAS;AAAA,sBAAA;AAAA,sBAEjB,SAASA,EAAS,eAAe;AAAA,sBACjC,SAAS,MACRoE,EAAoBpE,CAAsB;AAAA,oBAAA;AAAA,oBAlDtCG;AAAA,kBAAA;AAAA,gBAoDN;AAAA,gBAjEKA;AAAA,cAAA,IAsEN,gBAAA6D;AAAA,gBAACwB;AAAAA,gBAAA;AAAA,kBACA,UAAUjF,EAAM,YAAY;AAAA,kBAC5B,YAAAgB;AAAA,kBAEA,UAAAvB;AAAA,kBAKA,UAAU,CAACA,MACVoE,EAAoBpE,CAAsB;AAAA,gBAAA;AAAA,gBAPtCG;AAAA,cAAA,CAYR,GACF,IAEA,gBAAA6D,EAAC8B,MAAS,QAAQpC,EAAA,GAAmB,YAAAnC,EAAA,CAAwB,EAAA,CAE/D;AAAA,YAAA,EAAA,CACD;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEF;AAAA,EAAA;AAGH;"}
1
+ {"version":3,"file":"Content.js","sources":["../../../../src/components/variable-picker-v3/Content.tsx"],"sourcesContent":["import BackIcon from '@src/assets/icons/arrow_back.svg';\nimport CrossIcon from '@src/assets/icons/cross.svg';\nimport AddIcon from '@src/assets/icons/plus.svg';\nimport WarnIcon from '@src/assets/icons/triangle_error.svg';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { COLORS } from '@src/constants/Theme';\nimport { BikAccordion } from '../accordion';\nimport { IconButton } from '../icon-button';\nimport { Input } from '../input';\nimport { ListItem } from '../list-item';\nimport { Switch } from '../switch';\nimport { Tooltip } from '../tooltips';\nimport {\n\tBodyCaption,\n\tBodySecondary,\n\tTitleRegular,\n\tTitleSmall,\n} from '../TypographyStyle';\nimport { VariablePickerContext } from './context';\nimport { DefaultVariableContent } from './DefaultVariableContent';\nimport { highlightSearchText } from './highlightSearchText';\nimport {\n\tPickerType,\n\tSubHeader,\n\tVariablePickerV3Props,\n\tVariableV3,\n} from './model';\nimport NoResult from './NoResult';\nimport { showOnlyRecommendedVariables } from './recommendVaribles';\nimport { searchVariables } from './searchVariables';\nimport {\n\tBackHeader,\n\tContainer,\n\tHeaderWrapper,\n\tRecommendWrapper,\n} from './styles';\nimport SubHeaderItems, { renderTooltipBody } from './SubHeaderItems';\n\ntype Props = VariablePickerV3Props;\n\nconst variableRegex = /.*\\..*/;\nconst checkIfArray = (value: string) => {\n\tconst regex = /\\w+\\[\\d+\\]/g;\n\treturn regex.test(value);\n};\n\nconst matchVariable = (variable: VariableV3) => {\n\tif (variable.actualValue.match(variableRegex)) {\n\t\tconst path = variable.actualValue\n\t\t\t.replace('{{', '')\n\t\t\t.replace('}}', '')\n\t\t\t.split('.');\n\t\tlet evalVariableValue = path[0];\n\t\tpath.forEach((value, index) => {\n\t\t\tif (index === 0) return;\n\t\t\tconst isArray = checkIfArray(value);\n\t\t\tif (isArray) {\n\t\t\t\t// ex: event_memberships[0] -> ['event_memberships'][0]\n\t\t\t\tconst matches = value.match(/(\\w+)\\[(\\d+)\\]/);\n\t\t\t\tif (matches) {\n\t\t\t\t\tconst arrayName = matches[1];\n\t\t\t\t\tconst index = matches[2];\n\t\t\t\t\tevalVariableValue = evalVariableValue + `['${arrayName}'][${index}]`;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tevalVariableValue = evalVariableValue + `['${value}']`;\n\t\t\t}\n\t\t});\n\t\treturn evalVariableValue;\n\t} else {\n\t\tconst value = variable.actualValueEval\n\t\t\t? variable.actualValueEval\n\t\t\t: variable.actualValue;\n\t\treturn value;\n\t}\n};\n\nexport const VariablePickerContent: React.FC<Props> = (\n\tprops: VariablePickerV3Props,\n) => {\n\tconst {\n\t\tdata,\n\t\tonSelect,\n\t\tshowHeader,\n\t\tshowBackButton,\n\t\thideHeaderCross,\n\t\tonBackButtonClick,\n\t\tisEvaluationList,\n\t\tautoOpenFirst,\n\t\theaderText,\n\t\tcontentHeight,\n\t\tonDefaultVariableSelect,\n\t\tskipDefaultVariableContent,\n\t} = props;\n\n\tconst [variables, setVariables] = useState(data); // modified data after search\n\tconst [searchText, setSearchText] = useState<string>('');\n\tconst [subHeaderStack, setSubHeaderStack] = useState<any[]>([]); // push variable object after every level\n\tconst [searchedFrom, setSearchedFrom] = useState<string>(''); // from which level did the user search from\n\tconst [showRecommended, setShowRecommended] = useState<boolean>(false);\n\tconst [dataSource, setDataSource] = useState<any[]>([]); // for search, maintaining original copy\n\tconst [openDefaultVariablePanel, setOpenDefaultVariablePanel] =\n\t\tuseState(false);\n\tconst [chosenForDefault, setChosenForDefault] = useState<VariableV3 | null>();\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst scrollPositionStack = useRef<number[]>([]);\n\tconst shouldShowHeaderInsideCross =\n\t\topenDefaultVariablePanel &&\n\t\tprops.type === PickerType.EMBEDDED &&\n\t\t!hideHeaderCross;\n\n\t// useEffect(() => {\n\t// \t// TODO: based on new data, update existing variables if available\n\t// \tsetVariables(data);\n\t// }, [data]);\n\n\tuseEffect(() => {\n\t\thandleRecommendedChange(props.showRecommendedBar ?? true);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (subHeaderStack.length > 0) {\n\t\t\tsetDataSource([subHeaderStack[subHeaderStack.length - 1]]);\n\t\t} else {\n\t\t\tsetDataSource(data);\n\t\t}\n\t}, [subHeaderStack]);\n\n\tconst handleBackClick = (e: any) => {\n\t\te.stopPropagation();\n\t\tlet _searchText = searchText;\n\t\tconst newSubHeaderStack = [...subHeaderStack];\n\t\tconst poppedElement = newSubHeaderStack.pop();\n\t\tif (poppedElement.displayName === searchedFrom) {\n\t\t\t_searchText = ''; // so that search is not trigerred in the below code\n\t\t}\n\t\tconst savedScrollTop = scrollPositionStack.current.pop() ?? 0;\n\n\t\t// Use flushSync to force synchronous DOM update so scroll can be\n\t\t// restored immediately after the new content is rendered\n\t\tflushSync(() => {\n\t\t\tsetSubHeaderStack(newSubHeaderStack);\n\t\t\tif (poppedElement.displayName === searchedFrom) {\n\t\t\t\tsetSearchText('');\n\t\t\t}\n\t\t\tif (_searchText.length > 0) {\n\t\t\t\t// maintain the search result when going back\n\t\t\t\tconst dataSource =\n\t\t\t\t\tnewSubHeaderStack.length > 0\n\t\t\t\t\t\t? [newSubHeaderStack[newSubHeaderStack.length - 1]]\n\t\t\t\t\t\t: data;\n\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t_searchText,\n\t\t\t\t\tdataSource,\n\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t);\n\t\t\t\tif (showRecommended) {\n\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\tresult,\n\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (newSubHeaderStack.length > 0) {\n\t\t\t\t\tif (showRecommended) {\n\t\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\t\t[newSubHeaderStack[newSubHeaderStack.length - 1].variables],\n\t\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetVariables([\n\t\t\t\t\t\t\tnewSubHeaderStack[newSubHeaderStack.length - 1].variables,\n\t\t\t\t\t\t]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (showRecommended) {\n\t\t\t\t\t\tconst recommended = showOnlyRecommendedVariables(\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\tnewSubHeaderStack,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetVariables(recommended);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetVariables(data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Restore scroll after accordion expand animation completes.\n\t\t// The BikAccordion uses a 250ms CSS transition on max-height when\n\t\t// autoOpen fires. We must wait for that to finish so the Container\n\t\t// has enough scrollHeight to scroll to the saved position.\n\t\tif (containerRef.current && savedScrollTop > 0) {\n\t\t\tconst el = containerRef.current;\n\t\t\tsetTimeout(() => {\n\t\t\t\tel.scrollTo({ top: savedScrollTop, behavior: 'smooth' });\n\t\t\t}, 300);\n\t\t}\n\t};\n\n\tconst handleRecommendedChange = async (val) => {\n\t\tsetShowRecommended(val);\n\t\tif (val) {\n\t\t\tconst output = showOnlyRecommendedVariables(variables, subHeaderStack);\n\t\t\tsetVariables(output);\n\t\t} else {\n\t\t\tif (subHeaderStack.length > 0) {\n\t\t\t\t// dont apply search if not in the page where search started\n\t\t\t\tconst isInSearchStartPage =\n\t\t\t\t\tsearchedFrom == subHeaderStack[subHeaderStack.length - 1].displayName;\n\t\t\t\tif (searchText.length > 0 && isInSearchStartPage) {\n\t\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\tsubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables([subHeaderStack[subHeaderStack.length - 1].variables]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (searchText.length > 0) {\n\t\t\t\t\tconst result = searchVariables(\n\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\tdataSource,\n\t\t\t\t\t\tsubHeaderStack,\n\t\t\t\t\t);\n\t\t\t\t\tsetVariables(result);\n\t\t\t\t} else {\n\t\t\t\t\tsetVariables(data);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst calculateHeight = () => {\n\t\tif (contentHeight) {\n\t\t\treturn contentHeight;\n\t\t}\n\t\tlet pickerContentHeight = 131;\n\t\tif (!(props.showSearch ?? true)) {\n\t\t\tpickerContentHeight -= 52;\n\t\t}\n\t\tif (!(props.showRecommendedBar ?? true)) {\n\t\t\tpickerContentHeight -= 45;\n\t\t}\n\t\tif (subHeaderStack.length > 0) {\n\t\t\tpickerContentHeight += 32;\n\t\t}\n\t\tif (props.showHeader || props.showBackButton) {\n\t\t\tpickerContentHeight += 40;\n\t\t}\n\t\treturn `calc(100% - ${pickerContentHeight}px)`;\n\t};\n\n\tconst onSearch = (text: string) => {\n\t\tif (!text) {\n\t\t\tsetSearchedFrom('');\n\t\t}\n\t\tconst result = searchVariables(text, dataSource, subHeaderStack);\n\t\tif (showRecommended) {\n\t\t\tconst recommended = showOnlyRecommendedVariables(result, subHeaderStack);\n\t\t\tsetVariables(recommended);\n\t\t} else {\n\t\t\tsetVariables(result);\n\t\t}\n\t\tsetSearchText(text);\n\t\tconst latestSubHeader =\n\t\t\tsubHeaderStack.length > 0\n\t\t\t\t? subHeaderStack[subHeaderStack.length - 1].displayName\n\t\t\t\t: 'home';\n\t\tsetSearchedFrom(latestSubHeader);\n\t};\n\n\tconst HeaderBackIcon = () => {\n\t\treturn (\n\t\t\t<BackIcon\n\t\t\t\twidth={16}\n\t\t\t\theight={16}\n\t\t\t\tstyle={{ display: 'flex', color: COLORS.content.primary }}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst GoBackIcon = () => {\n\t\treturn (\n\t\t\t<BackIcon\n\t\t\t\twidth={12}\n\t\t\t\theight={12}\n\t\t\t\tstyle={{ color: COLORS.content.secondary }}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst onSelectingVariable = (variable: VariableV3) => {\n\t\tif (props.disabled) return;\n\t\tif (isEvaluationList) {\n\t\t\tconst evalVariableValue = matchVariable(variable as VariableV3);\n\t\t\tonSelect({\n\t\t\t\t...variable,\n\t\t\t\tactualValue: evalVariableValue,\n\t\t\t} as VariableV3);\n\t\t} else {\n\t\t\tif (variable.isDefaultValueSupported && !skipDefaultVariableContent) {\n\t\t\t\tsetChosenForDefault(variable);\n\t\t\t\tsetOpenDefaultVariablePanel(true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonSelect(variable as VariableV3);\n\t\t}\n\t};\n\n\treturn (\n\t\t<VariablePickerContext.Provider\n\t\t\tvalue={{\n\t\t\t\tvariables,\n\t\t\t\tsearchText,\n\t\t\t\tsubHeaderStack,\n\t\t\t\tshowRecommended,\n\t\t\t\tsetSubHeaderStack,\n\t\t\t\tsetSearchText,\n\t\t\t\tsetVariables,\n\t\t\t\tsetShowRecommended,\n\t\t\t\tcontainerRef,\n\t\t\t\tscrollPositionStack,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\ttabIndex={-1}\n\t\t\t\tid=\"variable-picker-v3\"\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'white',\n\t\t\t\t\tborderRadius: 8,\n\t\t\t\t\theight: '100%',\n\t\t\t\t\toutline: 'none',\n\t\t\t\t}}\n\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t{(showHeader || showBackButton || openDefaultVariablePanel) && (\n\t\t\t\t\t<HeaderWrapper openDefault={openDefaultVariablePanel}>\n\t\t\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n\t\t\t\t\t\t\t{(showBackButton || openDefaultVariablePanel) && (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tIcon={HeaderBackIcon}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (openDefaultVariablePanel) {\n\t\t\t\t\t\t\t\t\t\t\tsetOpenDefaultVariablePanel(false);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonBackButtonClick && onBackButtonClick();\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)}\n\t\t\t\t\t\t\t{(showHeader || openDefaultVariablePanel) && (\n\t\t\t\t\t\t\t\t<TitleRegular>\n\t\t\t\t\t\t\t\t\t{openDefaultVariablePanel\n\t\t\t\t\t\t\t\t\t\t? 'Set up'\n\t\t\t\t\t\t\t\t\t\t: headerText ?? 'Select Variable'}\n\t\t\t\t\t\t\t\t</TitleRegular>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{shouldShowHeaderInsideCross && (\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tstyle={{ color: '#212121' }}\n\t\t\t\t\t\t\t\tIcon={CrossIcon}\n\t\t\t\t\t\t\t\tonClick={() => props.onClose && props.onClose()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</HeaderWrapper>\n\t\t\t\t)}\n\t\t\t\t{openDefaultVariablePanel &&\n\t\t\t\tchosenForDefault &&\n\t\t\t\t!skipDefaultVariableContent ? (\n\t\t\t\t\t<DefaultVariableContent\n\t\t\t\t\t\tvariable={chosenForDefault}\n\t\t\t\t\t\tonInsertVariable={(updated) => {\n\t\t\t\t\t\t\tonSelect(updated);\n\t\t\t\t\t\t\tonDefaultVariableSelect?.(updated);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{(props.showSearch ?? true) && (\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\tpadding: '0 16px',\n\t\t\t\t\t\t\t\t\tpaddingTop: 12,\n\t\t\t\t\t\t\t\t\tbackgroundColor: COLORS.surface.subdued,\n\t\t\t\t\t\t\t\t\tborderTopLeftRadius: 8,\n\t\t\t\t\t\t\t\t\tborderTopRightRadius: 8,\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<Input\n\t\t\t\t\t\t\t\t\tid=\"search-bar-v3-picker\"\n\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSearchBlur && props.onSearchBlur(e);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={searchText}\n\t\t\t\t\t\t\t\t\tnoKeyDownChange\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tonChangeText={onSearch}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(props.showRecommendedBar ?? true) && (\n\t\t\t\t\t\t\t<RecommendWrapper>\n\t\t\t\t\t\t\t\t<BodySecondary style={{ color: COLORS.content.secondary }}>\n\t\t\t\t\t\t\t\t\tOnly Recommended\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t\tdata-test=\"variable-recommended-toggle\"\n\t\t\t\t\t\t\t\t\tvalue={showRecommended}\n\t\t\t\t\t\t\t\t\tonValueChange={async (val) => {\n\t\t\t\t\t\t\t\t\t\tawait handleRecommendedChange(val);\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</RecommendWrapper>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{subHeaderStack.length > 0 && (\n\t\t\t\t\t\t\t<BackHeader>\n\t\t\t\t\t\t\t\t<div style={{ position: 'absolute', left: 16 }}>\n\t\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\t\tid=\"back-btn-v3\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: 'flex' }}\n\t\t\t\t\t\t\t\t\t\tIcon={GoBackIcon}\n\t\t\t\t\t\t\t\t\t\tonClick={handleBackClick}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcolor: COLORS.content.secondary,\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{subHeaderStack[subHeaderStack.length - 1].displayName}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</BackHeader>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{variables.length > 0 ? (\n\t\t\t\t\t\t\t\t<Container ref={containerRef} height={calculateHeight()}>\n\t\t\t\t\t\t\t\t\t{variables.map((variable, index) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tvariable.displayName &&\n\t\t\t\t\t\t\t\t\t\t\ttypeof variable.variables !== 'undefined'\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={variable.displayName + showRecommended} // to re-render the component\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderBottom: `1px solid ${COLORS.stroke.primary}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<BikAccordion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tarrowColor={COLORS.content.primary}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tautoOpen={autoOpenFirst && index === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theaderPadding=\"12px 16px\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<TitleSmall\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ color: COLORS.content.secondary }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{highlightSearchText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SubHeaderItems\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentVariable={variable}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={props.disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText={searchText}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable={variable.variables}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={(variable) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.isDefaultValueSupported &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!skipDefaultVariableContent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetChosenForDefault(variable);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpenDefaultVariablePanel(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect(variable as VariableV3);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</BikAccordion>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else if (variable.displayName) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\tbody={renderTooltipBody(variable as VariableV3)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.disabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'readonly'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: (variable as VariableV3)?.selected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'selected'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tversion=\"2.0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tleadingIcon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(variable as VariableV3)?.selected ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.disabled ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style={{ flexShrink: 0 }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<AddIcon width={14} height={14} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomListItemLabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgap: 4,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BodySecondary\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: '14px',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: COLORS.text.primary,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{highlightSearchText(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!variable.isAvailable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip body=\"Not Recommended\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: 'flex', marginTop: 2 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<WarnIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlistItem={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: variable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: variable.displayName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubText={variable.description || ''}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectingVariable(variable as VariableV3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<SubHeaderItems\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={props.disabled ?? false}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchText={searchText}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariable={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariable as unknown as {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[key: string]: SubHeader | VariableV3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={(variable: VariableV3) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelectingVariable(variable as VariableV3)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\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</Container>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<NoResult height={calculateHeight()} searchText={searchText} />\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</div>\n\t\t</VariablePickerContext.Provider>\n\t);\n};\n"],"names":["variableRegex","checkIfArray","value","matchVariable","variable","path","evalVariableValue","index","matches","arrayName","VariablePickerContent","props","data","onSelect","showHeader","showBackButton","hideHeaderCross","onBackButtonClick","isEvaluationList","autoOpenFirst","headerText","contentHeight","onDefaultVariableSelect","skipDefaultVariableContent","variables","setVariables","useState","searchText","setSearchText","subHeaderStack","setSubHeaderStack","searchedFrom","setSearchedFrom","showRecommended","setShowRecommended","dataSource","setDataSource","openDefaultVariablePanel","setOpenDefaultVariablePanel","chosenForDefault","setChosenForDefault","containerRef","useRef","scrollPositionStack","shouldShowHeaderInsideCross","PickerType","useEffect","handleRecommendedChange","handleBackClick","_searchText","newSubHeaderStack","poppedElement","savedScrollTop","flushSync","result","searchVariables","recommended","showOnlyRecommendedVariables","el","val","output","isInSearchStartPage","calculateHeight","pickerContentHeight","onSearch","text","latestSubHeader","HeaderBackIcon","jsx","BackIcon","COLORS","GoBackIcon","onSelectingVariable","VariablePickerContext","jsxs","HeaderWrapper","IconButton","TitleRegular","CrossIcon","DefaultVariableContent","updated","Fragment","Input","RecommendWrapper","BodySecondary","Switch","BackHeader","BodyCaption","Container","BikAccordion","TitleSmall","highlightSearchText","SubHeaderItems","Tooltip","renderTooltipBody","ListItem","AddIcon","WarnIcon","NoResult"],"mappings":"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"}