@bikdotai/bik-component-library 0.0.850-beta.1 → 0.0.850-beta.2

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 (170) hide show
  1. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +14 -7
  2. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  3. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +1 -1
  4. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +5 -5
  6. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
  8. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/components/MentionPicker.js +24 -24
  10. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +4 -4
  12. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +2 -2
  14. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  16. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  18. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  20. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +2 -2
  22. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +1 -1
  24. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -1
  25. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  26. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  27. package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
  28. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
  29. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  30. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  31. package/dist/cjs/components/bik-layout/CommonStyles.js +6 -4
  32. package/dist/cjs/components/bik-layout/CommonStyles.js.map +1 -1
  33. package/dist/cjs/components/button/themes.js +3 -3
  34. package/dist/cjs/components/button/themes.js.map +1 -1
  35. package/dist/cjs/components/datePicker/DatePicker.js +1 -1
  36. package/dist/cjs/components/datePicker/DatePicker.js.map +1 -1
  37. package/dist/cjs/components/datePicker/DatePicker.styled.js +14 -20
  38. package/dist/cjs/components/datePicker/DatePicker.styled.js.map +1 -1
  39. package/dist/cjs/components/dropdown/ChipInput.js +1 -1
  40. package/dist/cjs/components/dropdown/ChipInput.js.map +1 -1
  41. package/dist/cjs/components/dropdown/Common.styled.js +5 -6
  42. package/dist/cjs/components/dropdown/Common.styled.js.map +1 -1
  43. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  44. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  45. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  46. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  47. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  48. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  49. package/dist/cjs/components/input/Input.js +1 -1
  50. package/dist/cjs/components/input/Input.js.map +1 -1
  51. package/dist/cjs/components/input/Input.styled.js +12 -25
  52. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  53. package/dist/cjs/components/tabs/Tabs.js +1 -1
  54. package/dist/cjs/components/tabs/Tabs.js.map +1 -1
  55. package/dist/cjs/components/tabs/Tabs.styles.js +8 -22
  56. package/dist/cjs/components/tabs/Tabs.styles.js.map +1 -1
  57. package/dist/cjs/components/tag/Tag.js +1 -1
  58. package/dist/cjs/components/tag/Tag.js.map +1 -1
  59. package/dist/cjs/components/tag/Tag.styled.js +0 -4
  60. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  61. package/dist/cjs/components/tag/model.js.map +1 -1
  62. package/dist/cjs/editor/BikEditor.js +1 -1
  63. package/dist/cjs/editor/BikEditor.js.map +1 -1
  64. package/dist/cjs/editor/BikEditor.styles.js +4 -4
  65. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  66. package/dist/cjs/editor/BikEditor.types.js.map +1 -1
  67. package/dist/cjs/editor/extensions/buildExtensions.js +2 -2
  68. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  69. package/dist/cjs/editor/extensions/mention/MentionChipNodeView.js +2 -0
  70. package/dist/cjs/editor/extensions/mention/MentionChipNodeView.js.map +1 -0
  71. package/dist/cjs/editor/extensions/mention/MentionExtension.js +1 -1
  72. package/dist/cjs/editor/extensions/mention/MentionExtension.js.map +1 -1
  73. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +17 -10
  74. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  75. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +1 -1
  76. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  77. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.d.ts +5 -0
  78. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +243 -227
  79. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  80. package/dist/esm/components/agent-builder/components/MentionEditor.d.ts +1 -1
  81. package/dist/esm/components/agent-builder/components/MentionEditor.js +93 -78
  82. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  83. package/dist/esm/components/agent-builder/components/MentionPicker.js +179 -161
  84. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  85. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +118 -109
  86. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  87. package/dist/esm/components/agent-builder/components/SelectableListSection.js +117 -110
  88. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  89. package/dist/esm/components/agent-builder/constants/tools.d.ts +10 -0
  90. package/dist/esm/components/agent-builder/constants/tools.js +27 -14
  91. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  92. package/dist/esm/components/agent-builder/context/AgentBuilderContext.d.ts +6 -2
  93. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +46 -43
  94. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  95. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +132 -117
  96. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  97. package/dist/esm/components/agent-builder/utils/mentionSerialization.d.ts +3 -2
  98. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +24 -19
  99. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  100. package/dist/esm/components/agent-builder/utils/sourceIcons.d.ts +9 -1
  101. package/dist/esm/components/agent-builder/utils/sourceIcons.js +15 -9
  102. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -1
  103. package/dist/esm/components/agent-listing/AgentListing.js +71 -69
  104. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  105. package/dist/esm/components/agent-listing/AgentListing.model.d.ts +6 -0
  106. package/dist/esm/components/agent-listing/AgentTable.d.ts +2 -0
  107. package/dist/esm/components/agent-listing/AgentTable.js +29 -27
  108. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
  109. package/dist/esm/components/agent-listing/AgentTableRow.d.ts +2 -0
  110. package/dist/esm/components/agent-listing/AgentTableRow.js +50 -36
  111. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  112. package/dist/esm/components/bik-layout/CommonStyles.js +3 -1
  113. package/dist/esm/components/bik-layout/CommonStyles.js.map +1 -1
  114. package/dist/esm/components/button/themes.js +1 -1
  115. package/dist/esm/components/button/themes.js.map +1 -1
  116. package/dist/esm/components/datePicker/DatePicker.js +21 -22
  117. package/dist/esm/components/datePicker/DatePicker.js.map +1 -1
  118. package/dist/esm/components/datePicker/DatePicker.styled.d.ts +0 -10
  119. package/dist/esm/components/datePicker/DatePicker.styled.js +16 -23
  120. package/dist/esm/components/datePicker/DatePicker.styled.js.map +1 -1
  121. package/dist/esm/components/dropdown/ChipInput.d.ts +0 -1
  122. package/dist/esm/components/dropdown/ChipInput.js +30 -37
  123. package/dist/esm/components/dropdown/ChipInput.js.map +1 -1
  124. package/dist/esm/components/dropdown/Common.styled.js +6 -7
  125. package/dist/esm/components/dropdown/Common.styled.js.map +1 -1
  126. package/dist/esm/components/dropdown/Dropdown.d.ts +0 -2
  127. package/dist/esm/components/dropdown/Dropdown.js +89 -96
  128. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  129. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +95 -103
  130. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  131. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +0 -1
  132. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +17 -17
  133. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  134. package/dist/esm/components/dropdown/type.d.ts +0 -2
  135. package/dist/esm/components/input/Input.js +101 -104
  136. package/dist/esm/components/input/Input.js.map +1 -1
  137. package/dist/esm/components/input/Input.model.d.ts +0 -2
  138. package/dist/esm/components/input/Input.styled.d.ts +0 -2
  139. package/dist/esm/components/input/Input.styled.js +25 -38
  140. package/dist/esm/components/input/Input.styled.js.map +1 -1
  141. package/dist/esm/components/tabs/Tabs.js +81 -103
  142. package/dist/esm/components/tabs/Tabs.js.map +1 -1
  143. package/dist/esm/components/tabs/Tabs.model.d.ts +0 -7
  144. package/dist/esm/components/tabs/Tabs.styles.d.ts +0 -2
  145. package/dist/esm/components/tabs/Tabs.styles.js +9 -23
  146. package/dist/esm/components/tabs/Tabs.styles.js.map +1 -1
  147. package/dist/esm/components/tag/Tag.d.ts +1 -1
  148. package/dist/esm/components/tag/Tag.js +15 -17
  149. package/dist/esm/components/tag/Tag.js.map +1 -1
  150. package/dist/esm/components/tag/Tag.styled.d.ts +0 -1
  151. package/dist/esm/components/tag/Tag.styled.js +6 -10
  152. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  153. package/dist/esm/components/tag/model.d.ts +0 -5
  154. package/dist/esm/components/tag/model.js.map +1 -1
  155. package/dist/esm/editor/BikEditor.js +84 -83
  156. package/dist/esm/editor/BikEditor.js.map +1 -1
  157. package/dist/esm/editor/BikEditor.styles.js +4 -4
  158. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  159. package/dist/esm/editor/BikEditor.types.d.ts +7 -0
  160. package/dist/esm/editor/BikEditor.types.js.map +1 -1
  161. package/dist/esm/editor/extensions/buildExtensions.d.ts +1 -0
  162. package/dist/esm/editor/extensions/buildExtensions.js +13 -12
  163. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  164. package/dist/esm/editor/extensions/mention/MentionChipNodeView.d.ts +17 -0
  165. package/dist/esm/editor/extensions/mention/MentionChipNodeView.js +39 -0
  166. package/dist/esm/editor/extensions/mention/MentionChipNodeView.js.map +1 -0
  167. package/dist/esm/editor/extensions/mention/MentionExtension.d.ts +1 -1
  168. package/dist/esm/editor/extensions/mention/MentionExtension.js +67 -45
  169. package/dist/esm/editor/extensions/mention/MentionExtension.js.map +1 -1
  170. package/package.json +1 -1
@@ -1,55 +1,54 @@
1
1
  import { jsx as u, jsxs as N } from "react/jsx-runtime";
2
- import $e from "../../../../assets/icons/errorInfo.svg.js";
3
- import Ne from "../../../../assets/icons/refresh-purple.svg.js";
2
+ import Ve from "../../../../assets/icons/errorInfo.svg.js";
3
+ import $e from "../../../../assets/icons/refresh-purple.svg.js";
4
4
  import { useCallback as re, useState as v, useRef as m, useEffect as p } from "react";
5
- import { ZeroState as ze } from "../../../zeroState/ZeroState.js";
6
- import { useOutside as Ge } from "../../../../hooks/useOutside.js";
5
+ import { ZeroState as Ne } from "../../../zeroState/ZeroState.js";
6
+ import { useOutside as ze } from "../../../../hooks/useOutside.js";
7
7
  import { COLORS as E } from "../../../../constants/Theme.js";
8
- import { useDropdown as Je } from "../../hooks/useDropdown.js";
9
- import { Description as Qe } from "./description/Description.js";
10
- import { FreeFormMenu as Xe } from "./menu/FreeFormMenu.js";
11
- import { MenuList as Ye } from "./menu/MenuList.js";
12
- import { SelectAllMenu as _e } from "./menu/SelectAllMenu.js";
13
- import et from "./multiSelect/MultiSelectDropdownBottomBar.js";
14
- import { OpennedDropdownContainer as tt, MenuListContainer as nt } from "./OpennedDropdown.styled.js";
15
- import { SearchBox as ot } from "./searchbox/SearchBox.js";
16
- import { SearchZeroState as rt } from "./searchbox/SearchZeroState.js";
8
+ import { useDropdown as Ge } from "../../hooks/useDropdown.js";
9
+ import { Description as Je } from "./description/Description.js";
10
+ import { FreeFormMenu as Qe } from "./menu/FreeFormMenu.js";
11
+ import { MenuList as Xe } from "./menu/MenuList.js";
12
+ import { SelectAllMenu as Ye } from "./menu/SelectAllMenu.js";
13
+ import _e from "./multiSelect/MultiSelectDropdownBottomBar.js";
14
+ import { OpennedDropdownContainer as et, MenuListContainer as tt } from "./OpennedDropdown.styled.js";
15
+ import { SearchBox as nt } from "./searchbox/SearchBox.js";
16
+ import { SearchZeroState as ot } from "./searchbox/SearchZeroState.js";
17
17
  const z = {
18
18
  height: 304,
19
19
  width: 290
20
- }, Lt = ({
20
+ }, xt = ({
21
21
  options: k,
22
22
  isSearchable: g,
23
- searchPlaceholder: se,
24
23
  isMultiSelect: i,
25
24
  maxSelections: I,
26
25
  width: A,
27
26
  allowFreeForm: G,
28
- height: ie,
27
+ height: se,
29
28
  onClose: J,
30
- onSelect: le,
29
+ onSelect: ie,
31
30
  onSearch: a,
32
31
  version: l,
33
- skipSorting: ce,
34
- headerRef: ue,
35
- hideSelectAll: ae,
36
- primaryButtonText: de,
37
- onInfiniteScroll: fe,
38
- onMultiSelectClear: pe,
32
+ skipSorting: le,
33
+ headerRef: ce,
34
+ hideSelectAll: ue,
35
+ primaryButtonText: ae,
36
+ onInfiniteScroll: de,
37
+ onMultiSelectClear: fe,
39
38
  onDropdownItemClick: R,
40
- buttonOptions: he,
41
- isSearchLoading: me,
42
- isOptionsLoading: ge,
39
+ buttonOptions: pe,
40
+ isSearchLoading: he,
41
+ isOptionsLoading: me,
43
42
  optionsErrorState: w,
44
- disableSearchOptions: we,
45
- disableSearchedOptionExcept: ye,
46
- useDefaultCursor: be,
47
- containerStyle: Oe = {},
43
+ disableSearchOptions: ge,
44
+ disableSearchedOptionExcept: we,
45
+ useDefaultCursor: ye,
46
+ containerStyle: be = {},
48
47
  zeroState: B = void 0,
49
48
  isDraggable: y = !1,
50
49
  onOptionsReorder: b,
51
- hideClearButton: xe = !1,
52
- showCheckboxForCustomElement: Le = !1,
50
+ hideClearButton: Oe = !1,
51
+ showCheckboxForCustomElement: xe = !1,
53
52
  checkboxActiveColor: H,
54
53
  brandSelectedRow: U
55
54
  }) => {
@@ -74,56 +73,56 @@ const z = {
74
73
  }, [b]), p(() => () => {
75
74
  Y.current && Z.current && Z.current(X.current);
76
75
  }, []);
77
- const Te = re(
76
+ const Le = re(
78
77
  (e) => {
79
78
  Q(e), l === "2.0" ? b?.(e) : Y.current = !0;
80
79
  },
81
80
  [b, l]
82
- ), Se = y ? D : k, {
81
+ ), Te = y ? D : k, {
83
82
  dropdownOptions: d,
84
- search: Ce,
83
+ search: Se,
85
84
  searchedString: o,
86
85
  searchedOptions: O,
87
- searchError: Ee,
88
- retrySearch: ke,
86
+ searchError: Ce,
87
+ retrySearch: Ee,
89
88
  onApplyHandler: j,
90
- selectAllHandler: Ie,
91
- onMultiSelectClear: Re,
92
- onFreeFormSelect: De,
93
- onMultiSelectApply: Fe,
94
- latestDropdownOptionsRef: We,
95
- getSelectedOptions: ve,
96
- getCurrentSelectionCount: Ae
97
- } = Je(
89
+ selectAllHandler: ke,
90
+ onMultiSelectClear: Ie,
91
+ onFreeFormSelect: Re,
92
+ onMultiSelectApply: De,
93
+ latestDropdownOptionsRef: Fe,
94
+ getSelectedOptions: We,
95
+ getCurrentSelectionCount: ve
96
+ } = Ge(
98
97
  l,
99
- Se,
100
- le,
101
- ce || y,
98
+ Te,
99
+ ie,
100
+ le || y,
102
101
  i,
103
102
  a,
103
+ ge,
104
104
  we,
105
- ye,
106
105
  I
107
- ), [Be, K] = v(A ?? z.width), [h, M] = v(null), [F, _] = v(-1), x = m(null), ee = m([]), P = m(null);
108
- Ge(
106
+ ), [Ae, K] = v(A ?? z.width), [h, M] = v(null), [F, _] = v(-1), x = m(null), ee = m([]), P = m(null);
107
+ ze(
109
108
  x,
110
109
  () => {
111
110
  if (M(null), i && l === "2.0") {
112
- const e = ve(
113
- We.current
111
+ const e = We(
112
+ Fe.current
114
113
  );
115
114
  J?.(e);
116
115
  } else
117
116
  J?.(d);
118
117
  },
119
- [ue, ee]
118
+ [ce, ee]
120
119
  ), p(() => {
121
120
  const e = setTimeout(() => {
122
121
  x.current && x.current.focus({ preventScroll: !0 });
123
122
  }, 0);
124
123
  return () => clearTimeout(e);
125
124
  }, []);
126
- const He = (e) => {
125
+ const Be = (e) => {
127
126
  const t = [];
128
127
  return e.forEach((n) => {
129
128
  if (n.options)
@@ -138,7 +137,7 @@ const z = {
138
137
  };
139
138
  p(() => {
140
139
  const e = (n) => {
141
- const r = He(o && a ? O : d);
140
+ const r = Be(o && a ? O : d);
142
141
  if (r.length !== 0) {
143
142
  if (n.key === "ArrowDown")
144
143
  n.preventDefault(), _((c) => {
@@ -189,8 +188,8 @@ const z = {
189
188
  j,
190
189
  R
191
190
  ]);
192
- const f = ie ?? z.height, te = typeof f == "number" ? g && i ? f - 96 : g && !i || !g && i ? f - 48 : f : f;
193
- function Ue(e, t) {
191
+ const f = se ?? z.height, te = typeof f == "number" ? g && i ? f - 96 : g && !i || !g && i ? f - 48 : f : f;
192
+ function He(e, t) {
194
193
  M(e && t ? {
195
194
  title: e,
196
195
  description: t
@@ -210,7 +209,7 @@ const z = {
210
209
  const W = [], V = ((e) => {
211
210
  if (!i || !I && I !== 0)
212
211
  return e;
213
- const n = Ae(d) >= I;
212
+ const n = ve(d) >= I;
214
213
  return n ? e.map((s) => {
215
214
  if (s.options)
216
215
  return {
@@ -242,35 +241,35 @@ const z = {
242
241
  ), e) : null;
243
242
  return e;
244
243
  }).filter((e) => e !== null)
245
- ), $ = !!g && o && V.length === 0, L = !o && !!ge, T = !o && !!w && !L, qe = !o && !V.length && !L && !T, ne = L || T || qe, Ze = B?.title || "No results found", je = B?.subTitle || "Please try again later or contact us at support@bik.ai if you require further assistance.", Ke = w?.title || "Failed to load options", Me = w?.subTitle || "Something went wrong while fetching the list. Please try again", Pe = {
244
+ ), $ = !!g && o && V.length === 0, L = !o && !!me, T = !o && !!w && !L, Ue = !o && !V.length && !L && !T, ne = L || T || Ue, qe = B?.title || "No results found", Ze = B?.subTitle || "Please try again later or contact us at support@bik.ai if you require further assistance.", je = w?.title || "Failed to load options", Ke = w?.subTitle || "Something went wrong while fetching the list. Please try again", Me = {
246
245
  buttonText: "Try again",
247
246
  buttonType: "text",
248
247
  size: "small",
249
248
  buttonTextColor: E.background.inverseLight,
250
249
  customIconColor: E.background.inverseLight,
251
- LeadingIcon: Ne
250
+ LeadingIcon: $e
252
251
  }, oe = {
253
252
  IconHolderStyle: {
254
253
  background: E.background.negative.light
255
254
  },
256
- Icon: /* @__PURE__ */ u($e, { color: E.content.negative, width: 24, height: 24 }),
255
+ Icon: /* @__PURE__ */ u(Ve, { color: E.content.negative, width: 24, height: 24 }),
257
256
  ...w
258
257
  };
259
258
  oe.actionButton = {
260
- ...Pe,
259
+ ...Me,
261
260
  ...w?.actionButton ?? {}
262
261
  };
263
- const Ve = L ? void 0 : T ? oe : B;
262
+ const Pe = L ? void 0 : T ? oe : B;
264
263
  return /* @__PURE__ */ N(
265
- tt,
264
+ et,
266
265
  {
267
266
  version: l,
268
267
  ref: x,
269
268
  tabIndex: -1,
270
269
  style: {
271
270
  // maxWidth: descriptionInfo ? 800 : 400,
272
- width: Be,
273
- ...Oe,
271
+ width: Ae,
272
+ ...be,
274
273
  outline: "none"
275
274
  },
276
275
  children: [
@@ -284,14 +283,7 @@ const z = {
284
283
  background: "white"
285
284
  },
286
285
  children: [
287
- !!g && /* @__PURE__ */ u(
288
- ot,
289
- {
290
- onSearch: Ce,
291
- version: l,
292
- placeholder: se
293
- }
294
- ),
286
+ !!g && /* @__PURE__ */ u(nt, { onSearch: Se, version: l }),
295
287
  ne ? /* @__PURE__ */ u(
296
288
  "div",
297
289
  {
@@ -301,38 +293,38 @@ const z = {
301
293
  background: E.background.base
302
294
  },
303
295
  children: /* @__PURE__ */ u(
304
- ze,
296
+ Ne,
305
297
  {
306
- ...Ve ?? {},
298
+ ...Pe ?? {},
307
299
  isLoading: L,
308
- title: T ? Ke : Ze,
309
- subTitle: T ? Me : je
300
+ title: T ? je : qe,
301
+ subTitle: T ? Ke : Ze
310
302
  }
311
303
  )
312
304
  }
313
305
  ) : /* @__PURE__ */ N(
314
- nt,
306
+ tt,
315
307
  {
316
308
  minHeight: f,
317
309
  maxHeight: te,
318
310
  ref: P,
319
311
  children: [
320
- !!i && !$ && !ae && /* @__PURE__ */ u(
321
- _e,
312
+ !!i && !$ && !ue && /* @__PURE__ */ u(
313
+ Ye,
322
314
  {
323
315
  version: l,
324
316
  options: o && a ? O : d,
325
- onSelect: Ie,
317
+ onSelect: ke,
326
318
  checkboxActiveColor: H,
327
319
  brandSelectedRow: U
328
320
  }
329
321
  ),
330
322
  !G && $ && /* @__PURE__ */ u(
331
- rt,
323
+ ot,
332
324
  {
333
- isLoading: me,
334
- errorMessage: Ee,
335
- onRetry: ke,
325
+ isLoading: he,
326
+ errorMessage: Ce,
327
+ onRetry: Ee,
336
328
  height: te,
337
329
  searchedString: o,
338
330
  containerWidth: A,
@@ -340,32 +332,32 @@ const z = {
340
332
  }
341
333
  ),
342
334
  G && ($ || !!W.length && W.every((e) => e === !1)) && /* @__PURE__ */ u(
343
- Xe,
335
+ Qe,
344
336
  {
345
337
  version: l,
346
338
  isMultiSelect: i,
347
- onSelect: De,
339
+ onSelect: Re,
348
340
  searchedString: o,
349
341
  checkboxActiveColor: H,
350
342
  brandSelectedRow: U
351
343
  }
352
344
  ),
353
345
  /* @__PURE__ */ u(
354
- Ye,
346
+ Xe,
355
347
  {
356
- onInfiniteScroll: fe,
348
+ onInfiniteScroll: de,
357
349
  onDropdownItemClick: R,
358
350
  version: l,
359
351
  onSelect: j,
360
- showDescription: Ue,
352
+ showDescription: He,
361
353
  isMultiSelect: i,
362
354
  options: V,
363
- useDefaultCursor: be,
355
+ useDefaultCursor: ye,
364
356
  ref: ee,
365
357
  focusedIndex: F,
366
358
  isDraggable: y,
367
- onOptionsReorder: Te,
368
- showCheckboxForCustomElement: Le,
359
+ onOptionsReorder: Le,
360
+ showCheckboxForCustomElement: xe,
369
361
  checkboxActiveColor: H,
370
362
  brandSelectedRow: U
371
363
  }
@@ -374,23 +366,23 @@ const z = {
374
366
  }
375
367
  ),
376
368
  !!i && !ne && l !== "2.0" && /* @__PURE__ */ u(
377
- et,
369
+ _e,
378
370
  {
379
371
  onClear: () => {
380
- Re(), pe?.();
372
+ Ie(), fe?.();
381
373
  },
382
- onApply: Fe,
374
+ onApply: De,
383
375
  list: o && a ? O : d,
384
- buttonText: de,
385
- buttonOptions: he,
386
- hideClearButton: xe
376
+ buttonText: ae,
377
+ buttonOptions: pe,
378
+ hideClearButton: Oe
387
379
  }
388
380
  )
389
381
  ]
390
382
  }
391
383
  ),
392
384
  !!h && /* @__PURE__ */ u(
393
- Qe,
385
+ Je,
394
386
  {
395
387
  title: h.title,
396
388
  description: h.description,
@@ -402,6 +394,6 @@ const z = {
402
394
  );
403
395
  };
404
396
  export {
405
- Lt as OpenedDropdown
397
+ xt as OpenedDropdown
406
398
  };
407
399
  //# sourceMappingURL=OpennedDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpennedDropdown.js","sources":["../../../../../../src/components/dropdown/OpenedDropdown/components/OpennedDropdown.tsx"],"sourcesContent":["import ErrorInfoIcon from '@src/assets/icons/errorInfo.svg';\nimport RetryIcon from '@src/assets/icons/refresh-purple.svg';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { useOutside } from '@src/hooks/useOutside';\nimport { COLORS } from '@src/constants/Theme';\nimport { useDropdown } from '../../hooks/useDropdown';\nimport {\n\tDropdownOption,\n\tGroupedOption,\n\tMultiSelectOption,\n\tOpenDropdownProps,\n\tSingleOption,\n} from '../../type';\nimport { Description } from './description/Description';\nimport { FreeFormMenu } from './menu/FreeFormMenu';\nimport { MenuList } from './menu/MenuList';\nimport { SelectAllMenu } from './menu/SelectAllMenu';\nimport MultiSelectDropdownBottomBar from './multiSelect/MultiSelectDropdownBottomBar';\nimport {\n\tMenuListContainer,\n\tOpennedDropdownContainer,\n} from './OpennedDropdown.styled';\nimport { SearchBox } from './searchbox/SearchBox';\nimport { SearchZeroState } from './searchbox/SearchZeroState';\n\n/** CONSTANTS */\nconst defaults = {\n\theight: 304,\n\twidth: 290,\n};\n\nexport const OpenedDropdown: React.FC<OpenDropdownProps> = ({\n\toptions,\n\tisSearchable,\n\tsearchPlaceholder,\n\tisMultiSelect,\n\tmaxSelections,\n\twidth,\n\tallowFreeForm,\n\theight,\n\tonClose,\n\tonSelect,\n\tonSearch,\n\tversion,\n\tskipSorting,\n\theaderRef,\n\thideSelectAll,\n\tprimaryButtonText,\n\tonInfiniteScroll,\n\tonMultiSelectClear: onMultiSelectClearProp,\n\tonDropdownItemClick,\n\tbuttonOptions,\n\tisSearchLoading,\n\tisOptionsLoading,\n\toptionsErrorState,\n\tdisableSearchOptions,\n\tdisableSearchedOptionExcept,\n\tuseDefaultCursor,\n\tcontainerStyle = {},\n\tzeroState = undefined,\n\tisDraggable = false,\n\tonOptionsReorder,\n\thideClearButton = false,\n\tshowCheckboxForCustomElement = false,\n\tcheckboxActiveColor,\n\tbrandSelectedRow,\n}) => {\n\t// Sort options with selected at top, unselected at bottom, maintaining order within groups\n\tconst sortOptionsWithSelectedOnTop = useCallback(\n\t\t(opts: DropdownOption[]): DropdownOption[] => {\n\t\t\tif (!isDraggable || !isMultiSelect) return opts;\n\n\t\t\tconst selected: DropdownOption[] = [];\n\t\t\tconst unselected: DropdownOption[] = [];\n\n\t\t\topts.forEach((option) => {\n\t\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\t\t// Handle grouped options - maintain grouping\n\t\t\t\t\tunselected.push(option);\n\t\t\t\t} else {\n\t\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\t\tif (singleOption.selected) {\n\t\t\t\t\t\tselected.push(option);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tunselected.push(option);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn [...selected, ...unselected];\n\t\t},\n\t\t[isDraggable, isMultiSelect],\n\t);\n\n\tconst [localOptions, setLocalOptions] = useState<DropdownOption[]>(() =>\n\t\tsortOptionsWithSelectedOnTop(options),\n\t);\n\tconst localOptionsRef = useRef<DropdownOption[]>(localOptions);\n\tconst hasReorderedRef = useRef(false);\n\tconst onOptionsReorderRef = useRef(onOptionsReorder);\n\n\tuseEffect(() => {\n\t\tsetLocalOptions(sortOptionsWithSelectedOnTop(options));\n\t}, [options, sortOptionsWithSelectedOnTop]);\n\n\tuseEffect(() => {\n\t\tlocalOptionsRef.current = localOptions;\n\t}, [localOptions]);\n\n\tuseEffect(() => {\n\t\tonOptionsReorderRef.current = onOptionsReorder;\n\t}, [onOptionsReorder]);\n\n\t// Fire onOptionsReorder on unmount (dropdown close from Apply or click-outside)\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (hasReorderedRef.current && onOptionsReorderRef.current) {\n\t\t\t\tonOptionsReorderRef.current(localOptionsRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst handleOptionsReorder = useCallback(\n\t\t(reorderedOptions: DropdownOption[]) => {\n\t\t\tsetLocalOptions(reorderedOptions);\n\t\t\t// For version 2.0 (no Apply button), apply reorder immediately\n\t\t\tif (version === '2.0') {\n\t\t\t\tonOptionsReorder?.(reorderedOptions);\n\t\t\t} else {\n\t\t\t\t// For version 1.0, defer until Apply/close (handled by unmount cleanup)\n\t\t\t\thasReorderedRef.current = true;\n\t\t\t}\n\t\t},\n\t\t[onOptionsReorder, version],\n\t);\n\n\tconst optionsToUse = isDraggable ? localOptions : options;\n\tconst {\n\t\tdropdownOptions,\n\t\tsearch,\n\t\tsearchedString,\n\t\tsearchedOptions,\n\t\tsearchError,\n\t\tretrySearch,\n\t\tonApplyHandler,\n\t\tselectAllHandler,\n\t\tonMultiSelectClear,\n\t\tonFreeFormSelect,\n\t\tonMultiSelectApply,\n\t\tlatestDropdownOptionsRef,\n\t\tgetSelectedOptions,\n\t\tgetCurrentSelectionCount,\n\t} = useDropdown(\n\t\tversion,\n\t\toptionsToUse,\n\t\tonSelect,\n\t\tskipSorting || isDraggable,\n\t\tisMultiSelect,\n\t\tonSearch,\n\t\tdisableSearchOptions,\n\t\tdisableSearchedOptionExcept,\n\t\tmaxSelections,\n\t);\n\tconst [widthState, setWidthState] = useState(width ?? defaults.width);\n\tconst [descriptionInfo, setDescription] = useState<{\n\t\ttitle: string;\n\t\tdescription: string;\n\t} | null>(null);\n\tconst [focusedIndex, setFocusedIndex] = useState<number>(-1);\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst childRefs = useRef([]);\n\tconst menuListRef = useRef<HTMLDivElement>(null);\n\tuseOutside(\n\t\tref,\n\t\t() => {\n\t\t\tsetDescription(null);\n\t\t\tif (isMultiSelect && version === '2.0') {\n\t\t\t\tconst optionsToSend = getSelectedOptions(\n\t\t\t\t\tlatestDropdownOptionsRef.current,\n\t\t\t\t);\n\t\t\t\tonClose?.(optionsToSend);\n\t\t\t} else {\n\t\t\t\tonClose?.(dropdownOptions);\n\t\t\t}\n\t\t},\n\t\t[headerRef, childRefs],\n\t);\n\n\t// Auto-focus dropdown when it opens for keyboard navigation while preventing scroll to maintain popper positioning\n\tuseEffect(() => {\n\t\tconst timer = setTimeout(() => {\n\t\t\tif (ref.current) {\n\t\t\t\tref.current.focus({ preventScroll: true });\n\t\t\t}\n\t\t}, 0);\n\t\treturn () => clearTimeout(timer);\n\t}, []);\n\n\t// Get flattened selectable options\n\tconst getFlattenedOptions = (opts: DropdownOption[]): SingleOption[] => {\n\t\tconst flattened: SingleOption[] = [];\n\t\topts.forEach((option) => {\n\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\tconst groupedOption = option as GroupedOption;\n\t\t\t\tgroupedOption.options.forEach((nestedOption) => {\n\t\t\t\t\tif (!nestedOption.disabled) {\n\t\t\t\t\t\tflattened.push(nestedOption);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\tif (!singleOption.disabled) {\n\t\t\t\t\tflattened.push(singleOption);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn flattened;\n\t};\n\n\t/** Keyboard navigation handler */\n\tuseEffect(() => {\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tconst currentOptions =\n\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions;\n\t\t\tconst flattenedOptions = getFlattenedOptions(currentOptions);\n\n\t\t\tif (flattenedOptions.length === 0) return;\n\n\t\t\tif (e.key === 'ArrowDown') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetFocusedIndex((prev) => {\n\t\t\t\t\tconst newIndex = prev < flattenedOptions.length - 1 ? prev + 1 : 0;\n\t\t\t\t\t// Scroll to the focused item\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst focusedElement = menuListRef.current?.querySelector(\n\t\t\t\t\t\t\t`[data-option-index=\"${newIndex}\"]`,\n\t\t\t\t\t\t) as HTMLElement;\n\t\t\t\t\t\tif (focusedElement) {\n\t\t\t\t\t\t\tfocusedElement.scrollIntoView({\n\t\t\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn newIndex;\n\t\t\t\t});\n\t\t\t} else if (e.key === 'ArrowUp') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetFocusedIndex((prev) => {\n\t\t\t\t\tconst newIndex = prev > 0 ? prev - 1 : flattenedOptions.length - 1;\n\t\t\t\t\t// Scroll to the focused item\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst focusedElement = menuListRef.current?.querySelector(\n\t\t\t\t\t\t\t`[data-option-index=\"${newIndex}\"]`,\n\t\t\t\t\t\t) as HTMLElement;\n\t\t\t\t\t\tif (focusedElement) {\n\t\t\t\t\t\t\tfocusedElement.scrollIntoView({\n\t\t\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn newIndex;\n\t\t\t\t});\n\t\t\t} else if (e.key === 'Enter' && focusedIndex >= 0) {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst focusedOption = flattenedOptions[focusedIndex];\n\t\t\t\tif (focusedOption) {\n\t\t\t\t\t// onApplyHandler handles the selection state and calls onSelect internally\n\t\t\t\t\tonApplyHandler({\n\t\t\t\t\t\t...focusedOption,\n\t\t\t\t\t\tselected: !focusedOption.selected,\n\t\t\t\t\t});\n\t\t\t\t\t// Also trigger onDropdownItemClick if provided\n\t\t\t\t\tif (onDropdownItemClick) {\n\t\t\t\t\t\tonDropdownItemClick(focusedOption);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst dropdownElement = ref.current;\n\t\tif (dropdownElement) {\n\t\t\tdropdownElement.addEventListener('keydown', handleKeyDown);\n\t\t\treturn () => {\n\t\t\t\tdropdownElement.removeEventListener('keydown', handleKeyDown);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tfocusedIndex,\n\t\tsearchedString,\n\t\tsearchedOptions,\n\t\tdropdownOptions,\n\t\tonSearch,\n\t\tonApplyHandler,\n\t\tonDropdownItemClick,\n\t]);\n\n\t// LOCAL CONSTANTS\n\tconst heightToUse = height ?? defaults.height;\n\tconst menuListMaxHeight =\n\t\ttypeof heightToUse === 'number'\n\t\t\t? isSearchable && isMultiSelect\n\t\t\t\t? heightToUse - 96\n\t\t\t\t: (isSearchable && !isMultiSelect) || (!isSearchable && isMultiSelect)\n\t\t\t\t? heightToUse - 48\n\t\t\t\t: heightToUse\n\t\t\t: heightToUse;\n\n\tfunction showDescription(title?: string, description?: string) {\n\t\tif (title && description) {\n\t\t\tsetDescription({\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t});\n\t\t} else {\n\t\t\tsetDescription(null);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tconst widthToUse = width ?? defaults.width;\n\t\tif (descriptionInfo === null) {\n\t\t\tsetWidthState(widthToUse);\n\t\t} else if (typeof widthToUse === 'number') {\n\t\t\tsetWidthState(widthToUse * 2);\n\t\t} else if (typeof widthToUse === 'string') {\n\t\t\tif (widthToUse.endsWith('px')) {\n\t\t\t\tconst newWidth = parseInt(widthToUse.replace('px', '')) * 2;\n\t\t\t\tsetWidthState(newWidth);\n\t\t\t}\n\t\t}\n\t}, [descriptionInfo]);\n\n\t/**\n\t * This is to show the search result in a stateless way\n\t */\n\n\tconst exactMatchFound: boolean[] = [];\n\n\tconst processOptionsWithMaxSelections = (\n\t\toptionsToProcess: DropdownOption[],\n\t) => {\n\t\tif (!isMultiSelect || (!maxSelections && maxSelections !== 0)) {\n\t\t\treturn optionsToProcess;\n\t\t}\n\n\t\t// Count from the full options list (not the filtered subset) so selections\n\t\t// hidden by a search query are still included in the limit check.\n\t\tconst currentSelectionCount = getCurrentSelectionCount(dropdownOptions);\n\t\tconst maxSelectionsReached = currentSelectionCount >= maxSelections;\n\n\t\tif (!maxSelectionsReached) {\n\t\t\treturn optionsToProcess;\n\t\t}\n\n\t\t// Disable unselected options when max selections is reached\n\t\treturn optionsToProcess.map((option) => {\n\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\treturn {\n\t\t\t\t\t...option,\n\t\t\t\t\toptions: (option as GroupedOption).options.map((nestedOption) => ({\n\t\t\t\t\t\t...nestedOption,\n\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\tnestedOption.disabled ||\n\t\t\t\t\t\t\t(!nestedOption.selected && maxSelectionsReached),\n\t\t\t\t\t})),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\treturn {\n\t\t\t\t\t...singleOption,\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tsingleOption.disabled ||\n\t\t\t\t\t\t(!singleOption.selected && maxSelectionsReached),\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t};\n\n\tconst optionsToShow = processOptionsWithMaxSelections(\n\t\t(searchedString && onSearch ? searchedOptions : dropdownOptions)\n\t\t\t.map((option) => {\n\t\t\t\tif (searchedString && !onSearch) {\n\t\t\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\t\t\tconst groupedOption = { ...option } as GroupedOption;\n\t\t\t\t\t\tgroupedOption.options = groupedOption.options.filter((op) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\top.label?.toLowerCase().includes(searchedString.toLowerCase())\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\texactMatchFound.push(\n\t\t\t\t\t\t\t\t\t!searchedString || op.label === searchedString,\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn groupedOption.options.length > 0 ? groupedOption : null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\toption.label\n\t\t\t\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(searchedString.toLowerCase()) ||\n\t\t\t\t\t\t\t(option as SingleOption | MultiSelectOption).searchKey\n\t\t\t\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(searchedString.toLowerCase())\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\texactMatchFound.push(\n\t\t\t\t\t\t\t\t!searchedString || option.label === searchedString,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn option;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn option;\n\t\t\t})\n\t\t\t.filter((option) => option !== null) as DropdownOption[],\n\t);\n\n\tconst noResultForSearch =\n\t\t!!isSearchable && searchedString && optionsToShow.length === 0;\n\tconst showLoadingState = !searchedString && !!isOptionsLoading;\n\tconst showErrorState =\n\t\t!searchedString && !!optionsErrorState && !showLoadingState;\n\tconst showEmptyState =\n\t\t!searchedString &&\n\t\t!optionsToShow.length &&\n\t\t!showLoadingState &&\n\t\t!showErrorState;\n\tconst showTopLevelZeroState =\n\t\tshowLoadingState || showErrorState || showEmptyState;\n\n\tconst emptyStateTitle = zeroState?.title || 'No results found';\n\tconst emptyStateSubTitle =\n\t\tzeroState?.subTitle ||\n\t\t`Please try again later or contact us at support@bik.ai if you require further assistance.`;\n\tconst errorStateTitle = optionsErrorState?.title || 'Failed to load options';\n\tconst errorStateSubTitle =\n\t\toptionsErrorState?.subTitle ||\n\t\t'Something went wrong while fetching the list. Please try again';\n\tconst defaultErrorActionButton = {\n\t\tbuttonText: 'Try again',\n\t\tbuttonType: 'text' as const,\n\t\tsize: 'small' as const,\n\t\tbuttonTextColor: COLORS.background.inverseLight,\n\t\tcustomIconColor: COLORS.background.inverseLight,\n\t\tLeadingIcon: RetryIcon,\n\t};\n\n\tconst mergedErrorState = {\n\t\tIconHolderStyle: {\n\t\t\tbackground: COLORS.background.negative.light,\n\t\t},\n\t\tIcon: (\n\t\t\t<ErrorInfoIcon color={COLORS.content.negative} width={24} height={24} />\n\t\t),\n\t\t...optionsErrorState,\n\t};\n\tmergedErrorState.actionButton = {\n\t\t...defaultErrorActionButton,\n\t\t...(optionsErrorState?.actionButton ?? {}),\n\t};\n\tconst zeroStateProps = showLoadingState\n\t\t? undefined\n\t\t: showErrorState\n\t\t? mergedErrorState\n\t\t: zeroState;\n\n\treturn (\n\t\t<OpennedDropdownContainer\n\t\t\tversion={version}\n\t\t\tref={ref}\n\t\t\ttabIndex={-1}\n\t\t\tstyle={{\n\t\t\t\t// maxWidth: descriptionInfo ? 800 : 400,\n\t\t\t\twidth: widthState,\n\t\t\t\t...containerStyle,\n\t\t\t\toutline: 'none',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: descriptionInfo ? '50%' : '100%',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tbackground: 'white',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!!isSearchable && (\n\t\t\t\t\t<SearchBox\n\t\t\t\t\t\tonSearch={search}\n\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{showTopLevelZeroState ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: heightToUse,\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tbackground: COLORS.background.base,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\t{...(zeroStateProps ?? {})}\n\t\t\t\t\t\t\tisLoading={showLoadingState}\n\t\t\t\t\t\t\ttitle={showErrorState ? errorStateTitle : emptyStateTitle}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\tshowErrorState ? errorStateSubTitle : emptyStateSubTitle\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<MenuListContainer\n\t\t\t\t\t\tminHeight={heightToUse}\n\t\t\t\t\t\tmaxHeight={menuListMaxHeight}\n\t\t\t\t\t\tref={menuListRef}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!isMultiSelect && !noResultForSearch && !hideSelectAll && (\n\t\t\t\t\t\t\t<SelectAllMenu\n\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\toptions={\n\t\t\t\t\t\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonSelect={selectAllHandler}\n\t\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{!allowFreeForm && noResultForSearch && (\n\t\t\t\t\t\t\t<SearchZeroState\n\t\t\t\t\t\t\t\tisLoading={isSearchLoading}\n\t\t\t\t\t\t\t\terrorMessage={searchError}\n\t\t\t\t\t\t\t\tonRetry={retrySearch}\n\t\t\t\t\t\t\t\theight={menuListMaxHeight as number}\n\t\t\t\t\t\t\t\tsearchedString={searchedString}\n\t\t\t\t\t\t\t\tcontainerWidth={width}\n\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{allowFreeForm &&\n\t\t\t\t\t\t\t(noResultForSearch ||\n\t\t\t\t\t\t\t\t(!!exactMatchFound.length &&\n\t\t\t\t\t\t\t\t\texactMatchFound.every((val) => val === false))) && (\n\t\t\t\t\t\t\t\t<FreeFormMenu\n\t\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\t\tisMultiSelect={isMultiSelect}\n\t\t\t\t\t\t\t\t\tonSelect={onFreeFormSelect}\n\t\t\t\t\t\t\t\t\tsearchedString={searchedString}\n\t\t\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<MenuList\n\t\t\t\t\t\t\tonInfiniteScroll={onInfiniteScroll}\n\t\t\t\t\t\t\tonDropdownItemClick={onDropdownItemClick}\n\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\tonSelect={onApplyHandler}\n\t\t\t\t\t\t\tshowDescription={showDescription}\n\t\t\t\t\t\t\tisMultiSelect={isMultiSelect}\n\t\t\t\t\t\t\toptions={optionsToShow}\n\t\t\t\t\t\t\tuseDefaultCursor={useDefaultCursor}\n\t\t\t\t\t\t\tref={childRefs}\n\t\t\t\t\t\t\tfocusedIndex={focusedIndex}\n\t\t\t\t\t\t\tisDraggable={isDraggable}\n\t\t\t\t\t\t\tonOptionsReorder={handleOptionsReorder}\n\t\t\t\t\t\t\tshowCheckboxForCustomElement={showCheckboxForCustomElement}\n\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuListContainer>\n\t\t\t\t)}\n\t\t\t\t{!!isMultiSelect && !showTopLevelZeroState && version !== '2.0' && (\n\t\t\t\t\t<MultiSelectDropdownBottomBar\n\t\t\t\t\t\tonClear={() => {\n\t\t\t\t\t\t\tonMultiSelectClear();\n\t\t\t\t\t\t\tonMultiSelectClearProp?.();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonApply={onMultiSelectApply}\n\t\t\t\t\t\tlist={\n\t\t\t\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbuttonText={primaryButtonText}\n\t\t\t\t\t\tbuttonOptions={buttonOptions}\n\t\t\t\t\t\thideClearButton={hideClearButton}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!descriptionInfo && (\n\t\t\t\t<Description\n\t\t\t\t\ttitle={descriptionInfo.title}\n\t\t\t\t\tdescription={descriptionInfo.description}\n\t\t\t\t\tversion={version}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</OpennedDropdownContainer>\n\t);\n};\n"],"names":["defaults","OpenedDropdown","options","isSearchable","searchPlaceholder","isMultiSelect","maxSelections","width","allowFreeForm","height","onClose","onSelect","onSearch","version","skipSorting","headerRef","hideSelectAll","primaryButtonText","onInfiniteScroll","onMultiSelectClearProp","onDropdownItemClick","buttonOptions","isSearchLoading","isOptionsLoading","optionsErrorState","disableSearchOptions","disableSearchedOptionExcept","useDefaultCursor","containerStyle","zeroState","isDraggable","onOptionsReorder","hideClearButton","showCheckboxForCustomElement","checkboxActiveColor","brandSelectedRow","sortOptionsWithSelectedOnTop","useCallback","opts","selected","unselected","option","localOptions","setLocalOptions","useState","localOptionsRef","useRef","hasReorderedRef","onOptionsReorderRef","useEffect","handleOptionsReorder","reorderedOptions","optionsToUse","dropdownOptions","search","searchedString","searchedOptions","searchError","retrySearch","onApplyHandler","selectAllHandler","onMultiSelectClear","onFreeFormSelect","onMultiSelectApply","latestDropdownOptionsRef","getSelectedOptions","getCurrentSelectionCount","useDropdown","widthState","setWidthState","descriptionInfo","setDescription","focusedIndex","setFocusedIndex","ref","childRefs","menuListRef","useOutside","optionsToSend","timer","getFlattenedOptions","flattened","nestedOption","singleOption","handleKeyDown","e","flattenedOptions","prev","newIndex","focusedElement","focusedOption","dropdownElement","heightToUse","menuListMaxHeight","showDescription","title","description","widthToUse","newWidth","exactMatchFound","optionsToShow","optionsToProcess","maxSelectionsReached","groupedOption","op","noResultForSearch","showLoadingState","showErrorState","showEmptyState","showTopLevelZeroState","emptyStateTitle","emptyStateSubTitle","errorStateTitle","errorStateSubTitle","defaultErrorActionButton","COLORS","RetryIcon","mergedErrorState","jsx","ErrorInfoIcon","zeroStateProps","jsxs","OpennedDropdownContainer","SearchBox","ZeroState","MenuListContainer","SelectAllMenu","SearchZeroState","val","FreeFormMenu","MenuList","MultiSelectDropdownBottomBar","Description"],"mappings":"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"}
1
+ {"version":3,"file":"OpennedDropdown.js","sources":["../../../../../../src/components/dropdown/OpenedDropdown/components/OpennedDropdown.tsx"],"sourcesContent":["import ErrorInfoIcon from '@src/assets/icons/errorInfo.svg';\nimport RetryIcon from '@src/assets/icons/refresh-purple.svg';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { ZeroState } from '@src/components/zeroState/ZeroState';\nimport { useOutside } from '@src/hooks/useOutside';\nimport { COLORS } from '@src/constants/Theme';\nimport { useDropdown } from '../../hooks/useDropdown';\nimport {\n\tDropdownOption,\n\tGroupedOption,\n\tMultiSelectOption,\n\tOpenDropdownProps,\n\tSingleOption,\n} from '../../type';\nimport { Description } from './description/Description';\nimport { FreeFormMenu } from './menu/FreeFormMenu';\nimport { MenuList } from './menu/MenuList';\nimport { SelectAllMenu } from './menu/SelectAllMenu';\nimport MultiSelectDropdownBottomBar from './multiSelect/MultiSelectDropdownBottomBar';\nimport {\n\tMenuListContainer,\n\tOpennedDropdownContainer,\n} from './OpennedDropdown.styled';\nimport { SearchBox } from './searchbox/SearchBox';\nimport { SearchZeroState } from './searchbox/SearchZeroState';\n\n/** CONSTANTS */\nconst defaults = {\n\theight: 304,\n\twidth: 290,\n};\n\nexport const OpenedDropdown: React.FC<OpenDropdownProps> = ({\n\toptions,\n\tisSearchable,\n\tisMultiSelect,\n\tmaxSelections,\n\twidth,\n\tallowFreeForm,\n\theight,\n\tonClose,\n\tonSelect,\n\tonSearch,\n\tversion,\n\tskipSorting,\n\theaderRef,\n\thideSelectAll,\n\tprimaryButtonText,\n\tonInfiniteScroll,\n\tonMultiSelectClear: onMultiSelectClearProp,\n\tonDropdownItemClick,\n\tbuttonOptions,\n\tisSearchLoading,\n\tisOptionsLoading,\n\toptionsErrorState,\n\tdisableSearchOptions,\n\tdisableSearchedOptionExcept,\n\tuseDefaultCursor,\n\tcontainerStyle = {},\n\tzeroState = undefined,\n\tisDraggable = false,\n\tonOptionsReorder,\n\thideClearButton = false,\n\tshowCheckboxForCustomElement = false,\n\tcheckboxActiveColor,\n\tbrandSelectedRow,\n}) => {\n\t// Sort options with selected at top, unselected at bottom, maintaining order within groups\n\tconst sortOptionsWithSelectedOnTop = useCallback(\n\t\t(opts: DropdownOption[]): DropdownOption[] => {\n\t\t\tif (!isDraggable || !isMultiSelect) return opts;\n\n\t\t\tconst selected: DropdownOption[] = [];\n\t\t\tconst unselected: DropdownOption[] = [];\n\n\t\t\topts.forEach((option) => {\n\t\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\t\t// Handle grouped options - maintain grouping\n\t\t\t\t\tunselected.push(option);\n\t\t\t\t} else {\n\t\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\t\tif (singleOption.selected) {\n\t\t\t\t\t\tselected.push(option);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tunselected.push(option);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn [...selected, ...unselected];\n\t\t},\n\t\t[isDraggable, isMultiSelect],\n\t);\n\n\tconst [localOptions, setLocalOptions] = useState<DropdownOption[]>(() =>\n\t\tsortOptionsWithSelectedOnTop(options),\n\t);\n\tconst localOptionsRef = useRef<DropdownOption[]>(localOptions);\n\tconst hasReorderedRef = useRef(false);\n\tconst onOptionsReorderRef = useRef(onOptionsReorder);\n\n\tuseEffect(() => {\n\t\tsetLocalOptions(sortOptionsWithSelectedOnTop(options));\n\t}, [options, sortOptionsWithSelectedOnTop]);\n\n\tuseEffect(() => {\n\t\tlocalOptionsRef.current = localOptions;\n\t}, [localOptions]);\n\n\tuseEffect(() => {\n\t\tonOptionsReorderRef.current = onOptionsReorder;\n\t}, [onOptionsReorder]);\n\n\t// Fire onOptionsReorder on unmount (dropdown close from Apply or click-outside)\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (hasReorderedRef.current && onOptionsReorderRef.current) {\n\t\t\t\tonOptionsReorderRef.current(localOptionsRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst handleOptionsReorder = useCallback(\n\t\t(reorderedOptions: DropdownOption[]) => {\n\t\t\tsetLocalOptions(reorderedOptions);\n\t\t\t// For version 2.0 (no Apply button), apply reorder immediately\n\t\t\tif (version === '2.0') {\n\t\t\t\tonOptionsReorder?.(reorderedOptions);\n\t\t\t} else {\n\t\t\t\t// For version 1.0, defer until Apply/close (handled by unmount cleanup)\n\t\t\t\thasReorderedRef.current = true;\n\t\t\t}\n\t\t},\n\t\t[onOptionsReorder, version],\n\t);\n\n\tconst optionsToUse = isDraggable ? localOptions : options;\n\tconst {\n\t\tdropdownOptions,\n\t\tsearch,\n\t\tsearchedString,\n\t\tsearchedOptions,\n\t\tsearchError,\n\t\tretrySearch,\n\t\tonApplyHandler,\n\t\tselectAllHandler,\n\t\tonMultiSelectClear,\n\t\tonFreeFormSelect,\n\t\tonMultiSelectApply,\n\t\tlatestDropdownOptionsRef,\n\t\tgetSelectedOptions,\n\t\tgetCurrentSelectionCount,\n\t} = useDropdown(\n\t\tversion,\n\t\toptionsToUse,\n\t\tonSelect,\n\t\tskipSorting || isDraggable,\n\t\tisMultiSelect,\n\t\tonSearch,\n\t\tdisableSearchOptions,\n\t\tdisableSearchedOptionExcept,\n\t\tmaxSelections,\n\t);\n\tconst [widthState, setWidthState] = useState(width ?? defaults.width);\n\tconst [descriptionInfo, setDescription] = useState<{\n\t\ttitle: string;\n\t\tdescription: string;\n\t} | null>(null);\n\tconst [focusedIndex, setFocusedIndex] = useState<number>(-1);\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst childRefs = useRef([]);\n\tconst menuListRef = useRef<HTMLDivElement>(null);\n\tuseOutside(\n\t\tref,\n\t\t() => {\n\t\t\tsetDescription(null);\n\t\t\tif (isMultiSelect && version === '2.0') {\n\t\t\t\tconst optionsToSend = getSelectedOptions(\n\t\t\t\t\tlatestDropdownOptionsRef.current,\n\t\t\t\t);\n\t\t\t\tonClose?.(optionsToSend);\n\t\t\t} else {\n\t\t\t\tonClose?.(dropdownOptions);\n\t\t\t}\n\t\t},\n\t\t[headerRef, childRefs],\n\t);\n\n\t// Auto-focus dropdown when it opens for keyboard navigation while preventing scroll to maintain popper positioning\n\tuseEffect(() => {\n\t\tconst timer = setTimeout(() => {\n\t\t\tif (ref.current) {\n\t\t\t\tref.current.focus({ preventScroll: true });\n\t\t\t}\n\t\t}, 0);\n\t\treturn () => clearTimeout(timer);\n\t}, []);\n\n\t// Get flattened selectable options\n\tconst getFlattenedOptions = (opts: DropdownOption[]): SingleOption[] => {\n\t\tconst flattened: SingleOption[] = [];\n\t\topts.forEach((option) => {\n\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\tconst groupedOption = option as GroupedOption;\n\t\t\t\tgroupedOption.options.forEach((nestedOption) => {\n\t\t\t\t\tif (!nestedOption.disabled) {\n\t\t\t\t\t\tflattened.push(nestedOption);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\tif (!singleOption.disabled) {\n\t\t\t\t\tflattened.push(singleOption);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn flattened;\n\t};\n\n\t/** Keyboard navigation handler */\n\tuseEffect(() => {\n\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\tconst currentOptions =\n\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions;\n\t\t\tconst flattenedOptions = getFlattenedOptions(currentOptions);\n\n\t\t\tif (flattenedOptions.length === 0) return;\n\n\t\t\tif (e.key === 'ArrowDown') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetFocusedIndex((prev) => {\n\t\t\t\t\tconst newIndex = prev < flattenedOptions.length - 1 ? prev + 1 : 0;\n\t\t\t\t\t// Scroll to the focused item\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst focusedElement = menuListRef.current?.querySelector(\n\t\t\t\t\t\t\t`[data-option-index=\"${newIndex}\"]`,\n\t\t\t\t\t\t) as HTMLElement;\n\t\t\t\t\t\tif (focusedElement) {\n\t\t\t\t\t\t\tfocusedElement.scrollIntoView({\n\t\t\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn newIndex;\n\t\t\t\t});\n\t\t\t} else if (e.key === 'ArrowUp') {\n\t\t\t\te.preventDefault();\n\t\t\t\tsetFocusedIndex((prev) => {\n\t\t\t\t\tconst newIndex = prev > 0 ? prev - 1 : flattenedOptions.length - 1;\n\t\t\t\t\t// Scroll to the focused item\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst focusedElement = menuListRef.current?.querySelector(\n\t\t\t\t\t\t\t`[data-option-index=\"${newIndex}\"]`,\n\t\t\t\t\t\t) as HTMLElement;\n\t\t\t\t\t\tif (focusedElement) {\n\t\t\t\t\t\t\tfocusedElement.scrollIntoView({\n\t\t\t\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn newIndex;\n\t\t\t\t});\n\t\t\t} else if (e.key === 'Enter' && focusedIndex >= 0) {\n\t\t\t\te.preventDefault();\n\t\t\t\tconst focusedOption = flattenedOptions[focusedIndex];\n\t\t\t\tif (focusedOption) {\n\t\t\t\t\t// onApplyHandler handles the selection state and calls onSelect internally\n\t\t\t\t\tonApplyHandler({\n\t\t\t\t\t\t...focusedOption,\n\t\t\t\t\t\tselected: !focusedOption.selected,\n\t\t\t\t\t});\n\t\t\t\t\t// Also trigger onDropdownItemClick if provided\n\t\t\t\t\tif (onDropdownItemClick) {\n\t\t\t\t\t\tonDropdownItemClick(focusedOption);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst dropdownElement = ref.current;\n\t\tif (dropdownElement) {\n\t\t\tdropdownElement.addEventListener('keydown', handleKeyDown);\n\t\t\treturn () => {\n\t\t\t\tdropdownElement.removeEventListener('keydown', handleKeyDown);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tfocusedIndex,\n\t\tsearchedString,\n\t\tsearchedOptions,\n\t\tdropdownOptions,\n\t\tonSearch,\n\t\tonApplyHandler,\n\t\tonDropdownItemClick,\n\t]);\n\n\t// LOCAL CONSTANTS\n\tconst heightToUse = height ?? defaults.height;\n\tconst menuListMaxHeight =\n\t\ttypeof heightToUse === 'number'\n\t\t\t? isSearchable && isMultiSelect\n\t\t\t\t? heightToUse - 96\n\t\t\t\t: (isSearchable && !isMultiSelect) || (!isSearchable && isMultiSelect)\n\t\t\t\t? heightToUse - 48\n\t\t\t\t: heightToUse\n\t\t\t: heightToUse;\n\n\tfunction showDescription(title?: string, description?: string) {\n\t\tif (title && description) {\n\t\t\tsetDescription({\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t});\n\t\t} else {\n\t\t\tsetDescription(null);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tconst widthToUse = width ?? defaults.width;\n\t\tif (descriptionInfo === null) {\n\t\t\tsetWidthState(widthToUse);\n\t\t} else if (typeof widthToUse === 'number') {\n\t\t\tsetWidthState(widthToUse * 2);\n\t\t} else if (typeof widthToUse === 'string') {\n\t\t\tif (widthToUse.endsWith('px')) {\n\t\t\t\tconst newWidth = parseInt(widthToUse.replace('px', '')) * 2;\n\t\t\t\tsetWidthState(newWidth);\n\t\t\t}\n\t\t}\n\t}, [descriptionInfo]);\n\n\t/**\n\t * This is to show the search result in a stateless way\n\t */\n\n\tconst exactMatchFound: boolean[] = [];\n\n\tconst processOptionsWithMaxSelections = (\n\t\toptionsToProcess: DropdownOption[],\n\t) => {\n\t\tif (!isMultiSelect || (!maxSelections && maxSelections !== 0)) {\n\t\t\treturn optionsToProcess;\n\t\t}\n\n\t\t// Count from the full options list (not the filtered subset) so selections\n\t\t// hidden by a search query are still included in the limit check.\n\t\tconst currentSelectionCount = getCurrentSelectionCount(dropdownOptions);\n\t\tconst maxSelectionsReached = currentSelectionCount >= maxSelections;\n\n\t\tif (!maxSelectionsReached) {\n\t\t\treturn optionsToProcess;\n\t\t}\n\n\t\t// Disable unselected options when max selections is reached\n\t\treturn optionsToProcess.map((option) => {\n\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\treturn {\n\t\t\t\t\t...option,\n\t\t\t\t\toptions: (option as GroupedOption).options.map((nestedOption) => ({\n\t\t\t\t\t\t...nestedOption,\n\t\t\t\t\t\tdisabled:\n\t\t\t\t\t\t\tnestedOption.disabled ||\n\t\t\t\t\t\t\t(!nestedOption.selected && maxSelectionsReached),\n\t\t\t\t\t})),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst singleOption = option as SingleOption;\n\t\t\t\treturn {\n\t\t\t\t\t...singleOption,\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tsingleOption.disabled ||\n\t\t\t\t\t\t(!singleOption.selected && maxSelectionsReached),\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t};\n\n\tconst optionsToShow = processOptionsWithMaxSelections(\n\t\t(searchedString && onSearch ? searchedOptions : dropdownOptions)\n\t\t\t.map((option) => {\n\t\t\t\tif (searchedString && !onSearch) {\n\t\t\t\t\tif ((option as GroupedOption).options) {\n\t\t\t\t\t\tconst groupedOption = { ...option } as GroupedOption;\n\t\t\t\t\t\tgroupedOption.options = groupedOption.options.filter((op) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\top.label?.toLowerCase().includes(searchedString.toLowerCase())\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\texactMatchFound.push(\n\t\t\t\t\t\t\t\t\t!searchedString || op.label === searchedString,\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn groupedOption.options.length > 0 ? groupedOption : null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\toption.label\n\t\t\t\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(searchedString.toLowerCase()) ||\n\t\t\t\t\t\t\t(option as SingleOption | MultiSelectOption).searchKey\n\t\t\t\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t\t\t\t.includes(searchedString.toLowerCase())\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\texactMatchFound.push(\n\t\t\t\t\t\t\t\t!searchedString || option.label === searchedString,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn option;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn option;\n\t\t\t})\n\t\t\t.filter((option) => option !== null) as DropdownOption[],\n\t);\n\n\tconst noResultForSearch =\n\t\t!!isSearchable && searchedString && optionsToShow.length === 0;\n\tconst showLoadingState = !searchedString && !!isOptionsLoading;\n\tconst showErrorState =\n\t\t!searchedString && !!optionsErrorState && !showLoadingState;\n\tconst showEmptyState =\n\t\t!searchedString &&\n\t\t!optionsToShow.length &&\n\t\t!showLoadingState &&\n\t\t!showErrorState;\n\tconst showTopLevelZeroState =\n\t\tshowLoadingState || showErrorState || showEmptyState;\n\n\tconst emptyStateTitle = zeroState?.title || 'No results found';\n\tconst emptyStateSubTitle =\n\t\tzeroState?.subTitle ||\n\t\t`Please try again later or contact us at support@bik.ai if you require further assistance.`;\n\tconst errorStateTitle = optionsErrorState?.title || 'Failed to load options';\n\tconst errorStateSubTitle =\n\t\toptionsErrorState?.subTitle ||\n\t\t'Something went wrong while fetching the list. Please try again';\n\tconst defaultErrorActionButton = {\n\t\tbuttonText: 'Try again',\n\t\tbuttonType: 'text' as const,\n\t\tsize: 'small' as const,\n\t\tbuttonTextColor: COLORS.background.inverseLight,\n\t\tcustomIconColor: COLORS.background.inverseLight,\n\t\tLeadingIcon: RetryIcon,\n\t};\n\n\tconst mergedErrorState = {\n\t\tIconHolderStyle: {\n\t\t\tbackground: COLORS.background.negative.light,\n\t\t},\n\t\tIcon: (\n\t\t\t<ErrorInfoIcon color={COLORS.content.negative} width={24} height={24} />\n\t\t),\n\t\t...optionsErrorState,\n\t};\n\tmergedErrorState.actionButton = {\n\t\t...defaultErrorActionButton,\n\t\t...(optionsErrorState?.actionButton ?? {}),\n\t};\n\tconst zeroStateProps = showLoadingState\n\t\t? undefined\n\t\t: showErrorState\n\t\t? mergedErrorState\n\t\t: zeroState;\n\n\treturn (\n\t\t<OpennedDropdownContainer\n\t\t\tversion={version}\n\t\t\tref={ref}\n\t\t\ttabIndex={-1}\n\t\t\tstyle={{\n\t\t\t\t// maxWidth: descriptionInfo ? 800 : 400,\n\t\t\t\twidth: widthState,\n\t\t\t\t...containerStyle,\n\t\t\t\toutline: 'none',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: descriptionInfo ? '50%' : '100%',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tbackground: 'white',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!!isSearchable && <SearchBox onSearch={search} version={version} />}\n\n\t\t\t\t{showTopLevelZeroState ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: heightToUse,\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tbackground: COLORS.background.base,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ZeroState\n\t\t\t\t\t\t\t{...(zeroStateProps ?? {})}\n\t\t\t\t\t\t\tisLoading={showLoadingState}\n\t\t\t\t\t\t\ttitle={showErrorState ? errorStateTitle : emptyStateTitle}\n\t\t\t\t\t\t\tsubTitle={\n\t\t\t\t\t\t\t\tshowErrorState ? errorStateSubTitle : emptyStateSubTitle\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<MenuListContainer\n\t\t\t\t\t\tminHeight={heightToUse}\n\t\t\t\t\t\tmaxHeight={menuListMaxHeight}\n\t\t\t\t\t\tref={menuListRef}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!!isMultiSelect && !noResultForSearch && !hideSelectAll && (\n\t\t\t\t\t\t\t<SelectAllMenu\n\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\toptions={\n\t\t\t\t\t\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonSelect={selectAllHandler}\n\t\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{!allowFreeForm && noResultForSearch && (\n\t\t\t\t\t\t\t<SearchZeroState\n\t\t\t\t\t\t\t\tisLoading={isSearchLoading}\n\t\t\t\t\t\t\t\terrorMessage={searchError}\n\t\t\t\t\t\t\t\tonRetry={retrySearch}\n\t\t\t\t\t\t\t\theight={menuListMaxHeight as number}\n\t\t\t\t\t\t\t\tsearchedString={searchedString}\n\t\t\t\t\t\t\t\tcontainerWidth={width}\n\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{allowFreeForm &&\n\t\t\t\t\t\t\t(noResultForSearch ||\n\t\t\t\t\t\t\t\t(!!exactMatchFound.length &&\n\t\t\t\t\t\t\t\t\texactMatchFound.every((val) => val === false))) && (\n\t\t\t\t\t\t\t\t<FreeFormMenu\n\t\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\t\tisMultiSelect={isMultiSelect}\n\t\t\t\t\t\t\t\t\tonSelect={onFreeFormSelect}\n\t\t\t\t\t\t\t\t\tsearchedString={searchedString}\n\t\t\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<MenuList\n\t\t\t\t\t\t\tonInfiniteScroll={onInfiniteScroll}\n\t\t\t\t\t\t\tonDropdownItemClick={onDropdownItemClick}\n\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\tonSelect={onApplyHandler}\n\t\t\t\t\t\t\tshowDescription={showDescription}\n\t\t\t\t\t\t\tisMultiSelect={isMultiSelect}\n\t\t\t\t\t\t\toptions={optionsToShow}\n\t\t\t\t\t\t\tuseDefaultCursor={useDefaultCursor}\n\t\t\t\t\t\t\tref={childRefs}\n\t\t\t\t\t\t\tfocusedIndex={focusedIndex}\n\t\t\t\t\t\t\tisDraggable={isDraggable}\n\t\t\t\t\t\t\tonOptionsReorder={handleOptionsReorder}\n\t\t\t\t\t\t\tshowCheckboxForCustomElement={showCheckboxForCustomElement}\n\t\t\t\t\t\t\tcheckboxActiveColor={checkboxActiveColor}\n\t\t\t\t\t\t\tbrandSelectedRow={brandSelectedRow}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuListContainer>\n\t\t\t\t)}\n\t\t\t\t{!!isMultiSelect && !showTopLevelZeroState && version !== '2.0' && (\n\t\t\t\t\t<MultiSelectDropdownBottomBar\n\t\t\t\t\t\tonClear={() => {\n\t\t\t\t\t\t\tonMultiSelectClear();\n\t\t\t\t\t\t\tonMultiSelectClearProp?.();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonApply={onMultiSelectApply}\n\t\t\t\t\t\tlist={\n\t\t\t\t\t\t\tsearchedString && onSearch ? searchedOptions : dropdownOptions\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbuttonText={primaryButtonText}\n\t\t\t\t\t\tbuttonOptions={buttonOptions}\n\t\t\t\t\t\thideClearButton={hideClearButton}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!!descriptionInfo && (\n\t\t\t\t<Description\n\t\t\t\t\ttitle={descriptionInfo.title}\n\t\t\t\t\tdescription={descriptionInfo.description}\n\t\t\t\t\tversion={version}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</OpennedDropdownContainer>\n\t);\n};\n"],"names":["defaults","OpenedDropdown","options","isSearchable","isMultiSelect","maxSelections","width","allowFreeForm","height","onClose","onSelect","onSearch","version","skipSorting","headerRef","hideSelectAll","primaryButtonText","onInfiniteScroll","onMultiSelectClearProp","onDropdownItemClick","buttonOptions","isSearchLoading","isOptionsLoading","optionsErrorState","disableSearchOptions","disableSearchedOptionExcept","useDefaultCursor","containerStyle","zeroState","isDraggable","onOptionsReorder","hideClearButton","showCheckboxForCustomElement","checkboxActiveColor","brandSelectedRow","sortOptionsWithSelectedOnTop","useCallback","opts","selected","unselected","option","localOptions","setLocalOptions","useState","localOptionsRef","useRef","hasReorderedRef","onOptionsReorderRef","useEffect","handleOptionsReorder","reorderedOptions","optionsToUse","dropdownOptions","search","searchedString","searchedOptions","searchError","retrySearch","onApplyHandler","selectAllHandler","onMultiSelectClear","onFreeFormSelect","onMultiSelectApply","latestDropdownOptionsRef","getSelectedOptions","getCurrentSelectionCount","useDropdown","widthState","setWidthState","descriptionInfo","setDescription","focusedIndex","setFocusedIndex","ref","childRefs","menuListRef","useOutside","optionsToSend","timer","getFlattenedOptions","flattened","nestedOption","singleOption","handleKeyDown","e","flattenedOptions","prev","newIndex","focusedElement","focusedOption","dropdownElement","heightToUse","menuListMaxHeight","showDescription","title","description","widthToUse","newWidth","exactMatchFound","optionsToShow","optionsToProcess","maxSelectionsReached","groupedOption","op","noResultForSearch","showLoadingState","showErrorState","showEmptyState","showTopLevelZeroState","emptyStateTitle","emptyStateSubTitle","errorStateTitle","errorStateSubTitle","defaultErrorActionButton","COLORS","RetryIcon","mergedErrorState","jsx","ErrorInfoIcon","zeroStateProps","jsxs","OpennedDropdownContainer","SearchBox","ZeroState","MenuListContainer","SelectAllMenu","SearchZeroState","val","FreeFormMenu","MenuList","MultiSelectDropdownBottomBar","Description"],"mappings":"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"}
@@ -2,5 +2,4 @@ import { default as React } from 'react';
2
2
  export declare const SearchBox: React.FC<{
3
3
  onSearch: (searchString: string) => void;
4
4
  version?: '1.0' | '2.0' | '3.0';
5
- placeholder?: string;
6
5
  }>;
@@ -1,15 +1,15 @@
1
- import { jsx as o, Fragment as d } from "react/jsx-runtime";
1
+ import { jsx as o, Fragment as i } from "react/jsx-runtime";
2
2
  import { useState as c } from "react";
3
- import { InputStyleContext as h } from "../../../../input/context/InputStyleProvider.js";
3
+ import { InputStyleContext as d } from "../../../../input/context/InputStyleProvider.js";
4
4
  import { COLORS as r } from "../../../../../constants/Theme.js";
5
- import f from "../../../../../assets/icons/cross.svg.js";
6
- import u from "../../../../../assets/icons/search.svg.js";
7
- import { Input as g } from "../../../../input/Input.js";
8
- import { IconButton as x } from "../../../../icon-button/IconButton.js";
9
- const B = ({ onSearch: e, version: t, placeholder: n = "Search" }) => {
10
- const [l, p] = c(""), [i, a] = c(!1);
5
+ import h from "../../../../../assets/icons/cross.svg.js";
6
+ import f from "../../../../../assets/icons/search.svg.js";
7
+ import { Input as u } from "../../../../input/Input.js";
8
+ import { IconButton as g } from "../../../../icon-button/IconButton.js";
9
+ const y = ({ onSearch: e, version: t }) => {
10
+ const [l, p] = c(""), [n, a] = c(!1);
11
11
  return /* @__PURE__ */ o(
12
- h.Provider,
12
+ d.Provider,
13
13
  {
14
14
  value: {
15
15
  InputWrapper: {
@@ -27,15 +27,15 @@ const B = ({ onSearch: e, version: t, placeholder: n = "Search" }) => {
27
27
  }
28
28
  },
29
29
  children: /* @__PURE__ */ o(
30
- g,
30
+ u,
31
31
  {
32
32
  noKeyDownChange: !0,
33
33
  skipFocus: !0,
34
- placeholder: n,
34
+ placeholder: "Search",
35
35
  variant: t === "2.0" || t === "3.0" ? "small" : "default",
36
36
  leftIcon: {
37
37
  icon: () => /* @__PURE__ */ o(
38
- u,
38
+ f,
39
39
  {
40
40
  width: t === "2.0" || t === "3.0" ? 18 : 24,
41
41
  height: t === "2.0" || t === "3.0" ? 18 : 24,
@@ -45,19 +45,19 @@ const B = ({ onSearch: e, version: t, placeholder: n = "Search" }) => {
45
45
  },
46
46
  rightIcon: {
47
47
  icon: () => l ? /* @__PURE__ */ o(
48
- x,
48
+ g,
49
49
  {
50
50
  onClick: () => {
51
51
  a(!0), e(""), p("");
52
52
  },
53
- Icon: f,
53
+ Icon: h,
54
54
  width: t === "2.0" || t === "3.0" ? 18 : 24,
55
55
  height: t === "2.0" || t === "3.0" ? 18 : 24,
56
56
  iconColor: r.content.placeholder
57
57
  }
58
- ) : /* @__PURE__ */ o(d, {})
58
+ ) : /* @__PURE__ */ o(i, {})
59
59
  },
60
- reset: i,
60
+ reset: n,
61
61
  onChangeText: (m) => {
62
62
  a(!1), p(m), e(m);
63
63
  }
@@ -67,6 +67,6 @@ const B = ({ onSearch: e, version: t, placeholder: n = "Search" }) => {
67
67
  );
68
68
  };
69
69
  export {
70
- B as SearchBox
70
+ y as SearchBox
71
71
  };
72
72
  //# sourceMappingURL=SearchBox.js.map