se-design 0.0.119 → 0.0.121

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 (264) hide show
  1. package/dist/assets/icons/sort-asc.svg +4 -0
  2. package/dist/assets/icons/sort-desc.svg +4 -0
  3. package/dist/assets/style.css +1 -1
  4. package/dist/components/Banner/index.d.ts +1 -0
  5. package/dist/components/Dropdown/index.d.ts +5 -1
  6. package/dist/components/DropdownWithInputTags/index.d.ts +24 -0
  7. package/dist/components/InputWithTags/index.d.ts +2 -1
  8. package/dist/components/index.d.ts +1 -0
  9. package/dist/index.js +42 -40
  10. package/dist/index.js.map +1 -1
  11. package/dist/index10.js +1 -1
  12. package/dist/index10.js.map +1 -1
  13. package/dist/index100.js +1 -1
  14. package/dist/index100.js.map +1 -1
  15. package/dist/index101.js +1 -1
  16. package/dist/index101.js.map +1 -1
  17. package/dist/index102.js +1 -1
  18. package/dist/index102.js.map +1 -1
  19. package/dist/index103.js +1 -1
  20. package/dist/index103.js.map +1 -1
  21. package/dist/index104.js +1 -1
  22. package/dist/index104.js.map +1 -1
  23. package/dist/index105.js +1 -1
  24. package/dist/index105.js.map +1 -1
  25. package/dist/index106.js +1 -1
  26. package/dist/index106.js.map +1 -1
  27. package/dist/index107.js +1 -1
  28. package/dist/index107.js.map +1 -1
  29. package/dist/index108.js +1 -1
  30. package/dist/index108.js.map +1 -1
  31. package/dist/index109.js +1 -1
  32. package/dist/index109.js.map +1 -1
  33. package/dist/index11.js +1 -1
  34. package/dist/index11.js.map +1 -1
  35. package/dist/index110.js +1 -1
  36. package/dist/index110.js.map +1 -1
  37. package/dist/index111.js +1 -1
  38. package/dist/index111.js.map +1 -1
  39. package/dist/index112.js +1 -1
  40. package/dist/index112.js.map +1 -1
  41. package/dist/index113.js +1 -1
  42. package/dist/index113.js.map +1 -1
  43. package/dist/index114.js +2 -2
  44. package/dist/index114.js.map +1 -1
  45. package/dist/index115.js +2 -2
  46. package/dist/index115.js.map +1 -1
  47. package/dist/index116.js +2 -2
  48. package/dist/index116.js.map +1 -1
  49. package/dist/index117.js +1 -1
  50. package/dist/index117.js.map +1 -1
  51. package/dist/index118.js +1 -1
  52. package/dist/index118.js.map +1 -1
  53. package/dist/index119.js +2 -2
  54. package/dist/index119.js.map +1 -1
  55. package/dist/index120.js +1 -1
  56. package/dist/index120.js.map +1 -1
  57. package/dist/index121.js +1 -1
  58. package/dist/index121.js.map +1 -1
  59. package/dist/index122.js +2 -2
  60. package/dist/index122.js.map +1 -1
  61. package/dist/index123.js +1 -1
  62. package/dist/index123.js.map +1 -1
  63. package/dist/index124.js +2 -2
  64. package/dist/index124.js.map +1 -1
  65. package/dist/index125.js +2 -149
  66. package/dist/index125.js.map +1 -1
  67. package/dist/index126.js +5 -0
  68. package/dist/index126.js.map +1 -0
  69. package/dist/index127.js +5 -0
  70. package/dist/index127.js.map +1 -0
  71. package/dist/index128.js +152 -0
  72. package/dist/index128.js.map +1 -0
  73. package/dist/{index136.js → index140.js} +1 -1
  74. package/dist/{index136.js.map → index140.js.map} +1 -1
  75. package/dist/index148.js +1233 -5
  76. package/dist/index148.js.map +1 -1
  77. package/dist/index150.js +10 -11
  78. package/dist/index150.js.map +1 -1
  79. package/dist/index151.js +8 -4
  80. package/dist/index151.js.map +1 -1
  81. package/dist/index152.js +4 -5
  82. package/dist/index152.js.map +1 -1
  83. package/dist/index153.js +168 -36
  84. package/dist/index153.js.map +1 -1
  85. package/dist/index154.js +11 -2
  86. package/dist/index154.js.map +1 -1
  87. package/dist/index155.js +5 -7
  88. package/dist/index155.js.map +1 -1
  89. package/dist/index156.js +5 -326
  90. package/dist/index156.js.map +1 -1
  91. package/dist/index157.js +36 -48
  92. package/dist/index157.js.map +1 -1
  93. package/dist/index158.js +2 -2
  94. package/dist/index159.js +7 -75
  95. package/dist/index159.js.map +1 -1
  96. package/dist/index160.js +308 -74
  97. package/dist/index160.js.map +1 -1
  98. package/dist/index161.js +45 -47
  99. package/dist/index161.js.map +1 -1
  100. package/dist/index162.js +2 -8
  101. package/dist/index162.js.map +1 -1
  102. package/dist/index163.js +75 -4
  103. package/dist/index163.js.map +1 -1
  104. package/dist/index164.js +89 -48
  105. package/dist/index164.js.map +1 -1
  106. package/dist/index165.js +52 -2
  107. package/dist/index165.js.map +1 -1
  108. package/dist/index166.js +8 -2
  109. package/dist/index166.js.map +1 -1
  110. package/dist/index167.js +8 -0
  111. package/dist/index167.js.map +1 -0
  112. package/dist/index168.js +55 -0
  113. package/dist/index168.js.map +1 -0
  114. package/dist/index169.js +5 -0
  115. package/dist/index169.js.map +1 -0
  116. package/dist/index170.js +5 -0
  117. package/dist/index170.js.map +1 -0
  118. package/dist/index23.js +100 -58
  119. package/dist/index23.js.map +1 -1
  120. package/dist/index28.js +35 -29
  121. package/dist/index28.js.map +1 -1
  122. package/dist/index35.js +13 -12
  123. package/dist/index35.js.map +1 -1
  124. package/dist/index36.js +158 -37
  125. package/dist/index36.js.map +1 -1
  126. package/dist/index37.js +36 -84
  127. package/dist/index37.js.map +1 -1
  128. package/dist/index38.js +83 -31
  129. package/dist/index38.js.map +1 -1
  130. package/dist/index39.js +28 -47
  131. package/dist/index39.js.map +1 -1
  132. package/dist/index40.js +48 -66
  133. package/dist/index40.js.map +1 -1
  134. package/dist/index41.js +64 -61
  135. package/dist/index41.js.map +1 -1
  136. package/dist/index42.js +63 -103
  137. package/dist/index42.js.map +1 -1
  138. package/dist/index43.js +104 -83
  139. package/dist/index43.js.map +1 -1
  140. package/dist/index44.js +84 -35
  141. package/dist/index44.js.map +1 -1
  142. package/dist/index45.js +34 -26
  143. package/dist/index45.js.map +1 -1
  144. package/dist/index46.js +28 -28
  145. package/dist/index46.js.map +1 -1
  146. package/dist/index47.js +28 -41
  147. package/dist/index47.js.map +1 -1
  148. package/dist/index48.js +41 -290
  149. package/dist/index48.js.map +1 -1
  150. package/dist/index49.js +292 -2
  151. package/dist/index49.js.map +1 -1
  152. package/dist/index5.js +97 -93
  153. package/dist/index5.js.map +1 -1
  154. package/dist/index50.js +1 -1
  155. package/dist/index50.js.map +1 -1
  156. package/dist/index51.js +1 -1
  157. package/dist/index51.js.map +1 -1
  158. package/dist/index52.js +1 -1
  159. package/dist/index52.js.map +1 -1
  160. package/dist/index53.js +1 -1
  161. package/dist/index53.js.map +1 -1
  162. package/dist/index54.js +1 -1
  163. package/dist/index54.js.map +1 -1
  164. package/dist/index55.js +1 -1
  165. package/dist/index55.js.map +1 -1
  166. package/dist/index56.js +1 -1
  167. package/dist/index56.js.map +1 -1
  168. package/dist/index57.js +1 -1
  169. package/dist/index57.js.map +1 -1
  170. package/dist/index58.js +1 -1
  171. package/dist/index58.js.map +1 -1
  172. package/dist/index59.js +1 -1
  173. package/dist/index59.js.map +1 -1
  174. package/dist/index60.js +1 -1
  175. package/dist/index60.js.map +1 -1
  176. package/dist/index61.js +1 -1
  177. package/dist/index61.js.map +1 -1
  178. package/dist/index62.js +1 -1
  179. package/dist/index62.js.map +1 -1
  180. package/dist/index63.js +1 -1
  181. package/dist/index63.js.map +1 -1
  182. package/dist/index64.js +1 -1
  183. package/dist/index64.js.map +1 -1
  184. package/dist/index65.js +1 -1
  185. package/dist/index65.js.map +1 -1
  186. package/dist/index66.js +1 -1
  187. package/dist/index66.js.map +1 -1
  188. package/dist/index67.js +1 -1
  189. package/dist/index67.js.map +1 -1
  190. package/dist/index68.js +2 -2
  191. package/dist/index68.js.map +1 -1
  192. package/dist/index69.js +2 -2
  193. package/dist/index69.js.map +1 -1
  194. package/dist/index70.js +1 -1
  195. package/dist/index70.js.map +1 -1
  196. package/dist/index71.js +1 -1
  197. package/dist/index71.js.map +1 -1
  198. package/dist/index72.js +2 -2
  199. package/dist/index72.js.map +1 -1
  200. package/dist/index73.js +2 -2
  201. package/dist/index73.js.map +1 -1
  202. package/dist/index74.js +1 -1
  203. package/dist/index74.js.map +1 -1
  204. package/dist/index75.js +1 -1
  205. package/dist/index75.js.map +1 -1
  206. package/dist/index76.js +1 -1
  207. package/dist/index76.js.map +1 -1
  208. package/dist/index77.js +2 -2
  209. package/dist/index77.js.map +1 -1
  210. package/dist/index78.js +1 -1
  211. package/dist/index78.js.map +1 -1
  212. package/dist/index79.js +2 -2
  213. package/dist/index79.js.map +1 -1
  214. package/dist/index80.js +1 -1
  215. package/dist/index80.js.map +1 -1
  216. package/dist/index81.js +1 -1
  217. package/dist/index81.js.map +1 -1
  218. package/dist/index82.js +1 -1
  219. package/dist/index82.js.map +1 -1
  220. package/dist/index83.js +2 -2
  221. package/dist/index83.js.map +1 -1
  222. package/dist/index84.js +2 -2
  223. package/dist/index84.js.map +1 -1
  224. package/dist/index85.js +1 -1
  225. package/dist/index85.js.map +1 -1
  226. package/dist/index86.js +1 -1
  227. package/dist/index86.js.map +1 -1
  228. package/dist/index87.js +1 -1
  229. package/dist/index87.js.map +1 -1
  230. package/dist/index88.js +1 -1
  231. package/dist/index88.js.map +1 -1
  232. package/dist/index89.js +1 -1
  233. package/dist/index89.js.map +1 -1
  234. package/dist/index9.js +20 -22
  235. package/dist/index9.js.map +1 -1
  236. package/dist/index90.js +2 -2
  237. package/dist/index90.js.map +1 -1
  238. package/dist/index91.js +2 -2
  239. package/dist/index91.js.map +1 -1
  240. package/dist/index92.js +1 -1
  241. package/dist/index92.js.map +1 -1
  242. package/dist/index93.js +1 -1
  243. package/dist/index93.js.map +1 -1
  244. package/dist/index94.js +2 -2
  245. package/dist/index94.js.map +1 -1
  246. package/dist/index95.js +1 -1
  247. package/dist/index95.js.map +1 -1
  248. package/dist/index96.js +2 -2
  249. package/dist/index96.js.map +1 -1
  250. package/dist/index97.js +2 -2
  251. package/dist/index97.js.map +1 -1
  252. package/dist/index98.js +2 -2
  253. package/dist/index98.js.map +1 -1
  254. package/dist/index99.js +2 -2
  255. package/dist/index99.js.map +1 -1
  256. package/package.json +1 -1
  257. package/dist/index144.js +0 -1236
  258. package/dist/index144.js.map +0 -1
  259. package/dist/index146.js +0 -13
  260. package/dist/index146.js.map +0 -1
  261. package/dist/index147.js +0 -13
  262. package/dist/index147.js.map +0 -1
  263. package/dist/index149.js +0 -173
  264. package/dist/index149.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ var e = {};
2
+ export {
3
+ e as __exports
4
+ };
5
+ //# sourceMappingURL=index170.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index170.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index23.js CHANGED
@@ -1,79 +1,121 @@
1
- var I = Object.defineProperty, O = Object.defineProperties;
2
- var R = Object.getOwnPropertyDescriptors;
3
- var w = Object.getOwnPropertySymbols;
4
- var T = Object.prototype.hasOwnProperty, _ = Object.prototype.propertyIsEnumerable;
5
- var x = (e, t, l) => t in e ? I(e, t, { enumerable: !0, configurable: !0, writable: !0, value: l }) : e[t] = l, C = (e, t) => {
6
- for (var l in t || (t = {}))
7
- T.call(t, l) && x(e, l, t[l]);
8
- if (w)
9
- for (var l of w(t))
10
- _.call(t, l) && x(e, l, t[l]);
1
+ var F = Object.defineProperty, G = Object.defineProperties;
2
+ var H = Object.getOwnPropertyDescriptors;
3
+ var k = Object.getOwnPropertySymbols;
4
+ var K = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
5
+ var N = (e, c, d) => c in e ? F(e, c, { enumerable: !0, configurable: !0, writable: !0, value: d }) : e[c] = d, w = (e, c) => {
6
+ for (var d in c || (c = {}))
7
+ K.call(c, d) && N(e, d, c[d]);
8
+ if (k)
9
+ for (var d of k(c))
10
+ L.call(c, d) && N(e, d, c[d]);
11
11
  return e;
12
- }, E = (e, t) => O(e, R(t));
13
- import c, { useState as S, useRef as j, useEffect as B } from "react";
14
- import { Popover as J } from "./index17.js";
15
- import { Icon as D } from "./index5.js";
16
- const F = (e) => {
17
- const [t, l] = S(!1), [r, f] = S(() => (e == null ? void 0 : e.defaultSelectedValue) || {}), v = j(null), {
18
- selectBy: m = "",
19
- optionsUniqueBy: d = "",
20
- displaySelected: h = !1,
21
- dropDownOptions: i,
22
- defaultText: y = "Select",
12
+ }, $ = (e, c) => G(e, H(c));
13
+ import l, { useState as P, useRef as Q, useEffect as U } from "react";
14
+ import { Popover as Y } from "./index17.js";
15
+ import { Icon as V } from "./index5.js";
16
+ import { Checkbox as Z } from "./index21.js";
17
+ import { Button as j } from "./index3.js";
18
+ const ce = (e) => {
19
+ const [c, d] = P(!1), [a, i] = P(() => e != null && e.defaultSelectedValue ? [e.defaultSelectedValue] : []), f = Q(null), {
20
+ selectBy: u = "",
21
+ optionsUniqueBy: m = "",
22
+ displaySelected: I = !1,
23
+ dropDownOptions: o,
24
+ defaultText: s = "Select",
23
25
  iconColor: g = "var(--color-gray-700)",
24
- disabled: b = !1
26
+ disabled: x = !1,
27
+ dropdownClassName: M = "",
28
+ hasError: h = !1,
29
+ errorMessage: A = ""
25
30
  } = e;
26
- B(() => {
27
- f((e == null ? void 0 : e.defaultSelectedValue) || {});
31
+ U(() => {
32
+ i(e != null && e.defaultSelectedValue ? [e.defaultSelectedValue] : []);
28
33
  }, [e == null ? void 0 : e.defaultSelectedValue]);
29
- const N = (n) => {
30
- var a, o;
31
- f(n), (a = v.current) == null || a.togglePopover(), (o = e == null ? void 0 : e.onOptionClick) == null || o.call(e, n);
32
- }, s = (n) => e != null && e.renderOptionChip ? e == null ? void 0 : e.renderOptionChip(n) : /* @__PURE__ */ c.createElement("span", {
33
- className: "option-chip"
34
- }, n[m] || y), k = (n) => {
35
- const a = n[m], o = r[m] || y, P = d != null && d.length ? n[d] == r[d] : !0, u = h && a === o && P;
36
- return /* @__PURE__ */ c.createElement("div", {
37
- key: `$drop-option-${a}`,
38
- className: `option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between ${u ? "selected" : ""}`,
39
- onClick: () => N(n)
40
- }, s(E(C({}, n), {
41
- isOptionSelected: u
42
- })), u && /* @__PURE__ */ c.createElement(D, {
34
+ const v = (e == null ? void 0 : e.type) === "multi-select", B = (t) => {
35
+ var n, r;
36
+ i([t]), (n = f.current) == null || n.togglePopover(), (r = e == null ? void 0 : e.onOptionClick) == null || r.call(e, t);
37
+ }, R = (t) => v ? s : (t == null ? void 0 : t[u]) || s, T = () => {
38
+ i([]);
39
+ }, S = (t) => e != null && e.renderOptionChip ? e == null ? void 0 : e.renderOptionChip(t) : /* @__PURE__ */ l.createElement("p", {
40
+ className: "option-chip flex flex-1 items-center justify-between"
41
+ }, R(t), " ", v && (a == null ? void 0 : a.length) > 0 && /* @__PURE__ */ l.createElement("span", {
42
+ className: "w-5 h-5 mx-1 rounded-full bg-[var(--color-gray-700)] text-[var(--color-white)] text-sm flex items-center justify-center"
43
+ }, a == null ? void 0 : a.length)), J = (t) => {
44
+ var C, E;
45
+ const n = t[u], r = ((C = a[0]) == null ? void 0 : C[u]) || s, y = m != null && m.length ? t[m] == ((E = a[0]) == null ? void 0 : E[m]) : !0, b = I && n === r && y;
46
+ return /* @__PURE__ */ l.createElement("div", {
47
+ key: `$drop-option-${n}`,
48
+ className: `option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between ${b ? "selected" : ""}`,
49
+ onClick: () => B(t)
50
+ }, S($(w({}, t), {
51
+ isOptionSelected: b
52
+ })), b && /* @__PURE__ */ l.createElement(V, {
43
53
  name: "checkmark",
44
54
  stroke: g
45
55
  }));
46
- }, $ = () => /* @__PURE__ */ c.createElement("div", {
56
+ }, _ = () => /* @__PURE__ */ l.createElement("div", {
47
57
  className: "dropdown-content dropdown-options"
48
- }, i == null ? void 0 : i.map((n) => k(n))), V = () => {
49
- const a = `dropdown-src-element flex px-3 py-2 border rounded-md ${t ? "border-[var(--color-gray-900)]" : "border-[var(--color-gray-200)]"} flex items-center`;
50
- return /* @__PURE__ */ c.createElement("div", {
51
- className: a
52
- }, s(r), /* @__PURE__ */ c.createElement(D, {
58
+ }, o == null ? void 0 : o.map((t) => J(t))), W = (t, n) => {
59
+ let r = [];
60
+ t ? r = [...a, n] : r = a == null ? void 0 : a.filter((y) => y[m] !== n[m]), i(r);
61
+ }, X = () => {
62
+ var t, n;
63
+ (t = f.current) == null || t.togglePopover(), (n = e == null ? void 0 : e.onApply) == null || n.call(e, a);
64
+ }, q = (t) => {
65
+ const n = a.some((r) => r[m] === t[m]);
66
+ return /* @__PURE__ */ l.createElement("div", {
67
+ key: `$drop-option-${t[u]}`,
68
+ className: "option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between"
69
+ }, /* @__PURE__ */ l.createElement(Z, {
70
+ automationId: "checkbox",
71
+ className: "checkbox",
72
+ defaultChecked: n,
73
+ onChange: (r) => W(r, t),
74
+ label: t == null ? void 0 : t.label
75
+ }));
76
+ }, z = () => /* @__PURE__ */ l.createElement("div", {
77
+ className: "dropdown-content dropdown-options"
78
+ }, o == null ? void 0 : o.map((t) => q(t)), /* @__PURE__ */ l.createElement("div", {
79
+ className: "flex items-center justify-end gap-4 p-3 border-t border-[var(--color-gray-200)]"
80
+ }, /* @__PURE__ */ l.createElement(j, {
81
+ label: "Clear",
82
+ type: "link",
83
+ onClick: T
84
+ }), /* @__PURE__ */ l.createElement(j, {
85
+ label: "Apply",
86
+ type: "primary",
87
+ onClick: X
88
+ }))), D = () => {
89
+ const t = c ? "border-[var(--color-blue-500)]" : "border-[var(--color-gray-600)]", n = h ? "border-[var(--color-red-500)]" : "", r = `dropdown-src-element bg-[var(--color-white)] flex px-3 py-2 border rounded-md ${n || t} flex items-center ${M}`;
90
+ return /* @__PURE__ */ l.createElement("div", {
91
+ className: r
92
+ }, S(a[0]), /* @__PURE__ */ l.createElement(V, {
53
93
  name: "chevron",
54
- rotation: t ? "180" : "0",
94
+ rotation: c ? "180" : "0",
55
95
  className: "ml-auto transition-transform",
56
96
  stroke: g
57
97
  }));
58
98
  };
59
- return /* @__PURE__ */ c.createElement("div", {
60
- className: `se-design-dropdown-container${e != null && e.className ? ` ${e == null ? void 0 : e.className}` : ""}`,
99
+ return /* @__PURE__ */ l.createElement("div", {
100
+ className: `se-design-dropdown-container${e != null && e.className ? ` ${e == null ? void 0 : e.className}` : ""} min-h-[85px]`,
61
101
  style: e == null ? void 0 : e.style
62
- }, (e == null ? void 0 : e.label) && /* @__PURE__ */ c.createElement("div", {
102
+ }, (e == null ? void 0 : e.label) && /* @__PURE__ */ l.createElement("div", {
63
103
  className: "se-design-dropdown-label mb-[3px] text-[var(--color-gray-700)] text-sm"
64
- }, e == null ? void 0 : e.label), /* @__PURE__ */ c.createElement("div", {
104
+ }, e == null ? void 0 : e.label), /* @__PURE__ */ l.createElement("div", {
65
105
  style: e == null ? void 0 : e.style,
66
- className: `${b ? "bg-[var(--color-gray-200)] rounded-md cursor-not-allowed" : ""}`
67
- }, /* @__PURE__ */ c.createElement(J, {
68
- ref: v,
69
- renderPopoverContents: $,
106
+ className: `${x ? "bg-[var(--color-gray-200)] rounded-md cursor-not-allowed" : ""}`
107
+ }, /* @__PURE__ */ l.createElement(Y, {
108
+ ref: f,
109
+ renderPopoverContents: v ? z : _,
70
110
  contentWidth: "full",
71
- renderPopoverSrcElement: V,
72
- onPopoverToggle: (n) => l(n),
73
- disabled: b
74
- })));
111
+ renderPopoverSrcElement: D,
112
+ onPopoverToggle: (t) => d(t),
113
+ disabled: x
114
+ })), h && /* @__PURE__ */ l.createElement("div", {
115
+ className: "text-[var(--color-red-500)] text-sm"
116
+ }, A));
75
117
  };
76
118
  export {
77
- F as Dropdown
119
+ ce as Dropdown
78
120
  };
79
121
  //# sourceMappingURL=index23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index23.js","sources":["../src/components/Dropdown/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef, useEffect } from 'react';\n\nimport { Popover, PopoverHandle } from 'src/components/Popover';\nimport { Icon } from 'components/Icon';\n\ntype DropdownValue = {\n [key: string]: any;\n};\n\ntype DropdownProps = {\n label?: string;\n type: 'select';\n dropDownOptions?: DropdownValue[];\n defaultText?: string;\n selectBy?: string;\n optionsUniqueBy?: string;\n displaySelected?: boolean;\n defaultSelectedValue?: DropdownValue;\n onOptionClick?: (selectedValue: DropdownValue) => void;\n style?: React.CSSProperties;\n renderOptionChip?: (option: DropdownValue) => React.ReactNode;\n className?: string;\n iconColor?: string;\n disabled?: boolean;\n};\n\nexport const Dropdown: FC<DropdownProps> = (props) => {\n const [isDropDownOpen, setIsDropDownOpen] = useState(false);\n const [selectedDropDownValue, setSelectedDropDownValue] = useState<DropdownValue>(\n () => props?.defaultSelectedValue || {}\n );\n const popoverRef = useRef<HTMLDivElement & PopoverHandle>(null);\n\n const {\n selectBy = '',\n optionsUniqueBy = '',\n displaySelected = false,\n dropDownOptions,\n defaultText = 'Select',\n iconColor = 'var(--color-gray-700)',\n disabled = false\n } = props;\n\n useEffect(() => {\n setSelectedDropDownValue(props?.defaultSelectedValue || {});\n }, [props?.defaultSelectedValue]);\n\n const handleDropDownOptionClick = (dropDownOption: any) => {\n setSelectedDropDownValue(dropDownOption);\n popoverRef.current?.togglePopover();\n props?.onOptionClick?.(dropDownOption);\n };\n\n const optionChip = (option: DropdownValue) => {\n if (props?.renderOptionChip) {\n return props?.renderOptionChip(option);\n }\n return <span className={`option-chip`}>{option[selectBy] || defaultText}</span>;\n };\n\n const dropDownOptionJsx = (dropDownOption: DropdownValue) => {\n const optionTxt = dropDownOption[selectBy];\n const dropDownSelectedValue = selectedDropDownValue[selectBy] || defaultText;\n const selectByUniqueId = optionsUniqueBy?.length\n ? dropDownOption[optionsUniqueBy] == selectedDropDownValue[optionsUniqueBy]\n : true;\n const isOptionSelected = displaySelected && optionTxt === dropDownSelectedValue && selectByUniqueId;\n return (\n <div\n key={`$drop-option-${optionTxt}`}\n className={`option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between ${isOptionSelected ? 'selected' : ''}`}\n onClick={() => handleDropDownOptionClick(dropDownOption)}\n >\n {optionChip({ ...dropDownOption, isOptionSelected })}\n {isOptionSelected && <Icon name=\"checkmark\" stroke={iconColor} />}\n </div>\n );\n };\n\n const renderDropdownContents = () => {\n return (\n <div className=\"dropdown-content dropdown-options\">\n {dropDownOptions?.map((dropDownOption) => dropDownOptionJsx(dropDownOption))}\n </div>\n );\n };\n\n const renderDropdownSelect = () => {\n const borderColor = isDropDownOpen ? 'border-[var(--color-gray-900)]' : 'border-[var(--color-gray-200)]';\n const dropDownSelectClass = `dropdown-src-element flex px-3 py-2 border rounded-md ${borderColor} flex items-center`;\n\n return (\n <div className={dropDownSelectClass}>\n {optionChip(selectedDropDownValue)}\n <Icon\n name={'chevron'}\n rotation={isDropDownOpen ? '180' : '0'}\n className={`ml-auto transition-transform`}\n stroke={iconColor}\n />\n </div>\n );\n };\n\n return (\n <div className={`se-design-dropdown-container${props?.className ? ` ${props?.className}` : ''}`} style={props?.style}>\n {props?.label && (\n <div className=\"se-design-dropdown-label mb-[3px] text-[var(--color-gray-700)] text-sm\">{props?.label}</div>\n )}\n <div\n style={props?.style}\n className={`${disabled ? 'bg-[var(--color-gray-200)] rounded-md cursor-not-allowed' : ''}`}\n >\n <Popover\n ref={popoverRef}\n renderPopoverContents={renderDropdownContents}\n contentWidth={'full'}\n renderPopoverSrcElement={renderDropdownSelect}\n onPopoverToggle={(value) => setIsDropDownOpen(value)}\n disabled={disabled}\n />\n </div>\n </div>\n );\n};\n"],"names":["React__default","useState","useRef","useEffect","Popover","Icon","Dropdown","props","isDropDownOpen","setIsDropDownOpen","selectedDropDownValue","setSelectedDropDownValue","defaultSelectedValue","popoverRef","selectBy","optionsUniqueBy","displaySelected","dropDownOptions","defaultText","iconColor","disabled","handleDropDownOptionClick","dropDownOption","_a","_b","current","togglePopover","onOptionClick","optionChip","option","renderOptionChip","React","createElement","className","dropDownOptionJsx","optionTxt","dropDownSelectedValue","selectByUniqueId","length","isOptionSelected","key","onClick","__spreadProps","__spreadValues","name","stroke","renderDropdownContents","map","renderDropdownSelect","dropDownSelectClass","rotation","style","label","ref","renderPopoverContents","contentWidth","renderPopoverSrcElement","onPopoverToggle","value"],"mappings":"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"}
1
+ {"version":3,"file":"index23.js","sources":["../src/components/Dropdown/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef, useEffect } from 'react';\n\nimport { Popover, PopoverHandle } from 'src/components/Popover';\nimport { Icon } from 'components/Icon';\nimport { Checkbox } from '../Checkbox';\nimport { Button } from '../Button';\n\ntype DropdownValue = {\n [key: string]: any;\n};\n\ntype DropdownProps = {\n label?: string;\n type: 'select' | 'multi-select';\n dropDownOptions?: DropdownValue[];\n defaultText?: string;\n selectBy?: string;\n optionsUniqueBy?: string;\n displaySelected?: boolean;\n defaultSelectedValue?: DropdownValue;\n onOptionClick?: (selectedValue: DropdownValue) => void;\n style?: React.CSSProperties;\n renderOptionChip?: (option: DropdownValue) => React.ReactNode;\n className?: string;\n iconColor?: string;\n disabled?: boolean;\n dropdownClassName?: string;\n hasError?: boolean;\n errorMessage?: string;\n onApply?: (selectedValue: DropdownValue[]) => void;\n};\n\nexport const Dropdown: FC<DropdownProps> = (props) => {\n const [isDropDownOpen, setIsDropDownOpen] = useState(false);\n const [selectedDropDownValues, setSelectedDropDownValues] = useState<DropdownValue[]>(() =>\n props?.defaultSelectedValue ? [props.defaultSelectedValue] : []\n );\n const popoverRef = useRef<HTMLDivElement & PopoverHandle>(null);\n\n const {\n selectBy = '',\n optionsUniqueBy = '',\n displaySelected = false,\n dropDownOptions,\n defaultText = 'Select',\n iconColor = 'var(--color-gray-700)',\n disabled = false,\n dropdownClassName = '',\n hasError = false,\n errorMessage = ''\n } = props;\n\n useEffect(() => {\n setSelectedDropDownValues(props?.defaultSelectedValue ? [props.defaultSelectedValue] : []);\n }, [props?.defaultSelectedValue]);\n\n const isMultiSelect = props?.type === 'multi-select';\n\n const handleDropDownOptionClick = (dropDownOption: any) => {\n setSelectedDropDownValues([dropDownOption]);\n popoverRef.current?.togglePopover();\n props?.onOptionClick?.(dropDownOption);\n };\n\n const getSelectedDropDownValue = (option: DropdownValue) => {\n if (isMultiSelect) {\n return defaultText;\n }\n return option?.[selectBy] || defaultText;\n };\n\n const clearSelectedDropDownValues = () => {\n setSelectedDropDownValues([]);\n };\n\n const optionChip = (option: DropdownValue) => {\n if (props?.renderOptionChip) {\n return props?.renderOptionChip(option);\n }\n return (\n <p className={`option-chip flex flex-1 items-center justify-between`}>\n {getSelectedDropDownValue(option)}{' '}\n {isMultiSelect && selectedDropDownValues?.length > 0 && (\n <span className=\"w-5 h-5 mx-1 rounded-full bg-[var(--color-gray-700)] text-[var(--color-white)] text-sm flex items-center justify-center\">\n {selectedDropDownValues?.length}\n </span>\n )}\n </p>\n );\n };\n\n const dropDownOptionJsx = (dropDownOption: DropdownValue) => {\n const optionTxt = dropDownOption[selectBy];\n const dropDownSelectedValue = selectedDropDownValues[0]?.[selectBy] || defaultText;\n const selectByUniqueId = optionsUniqueBy?.length\n ? dropDownOption[optionsUniqueBy] == selectedDropDownValues[0]?.[optionsUniqueBy]\n : true;\n const isOptionSelected = displaySelected && optionTxt === dropDownSelectedValue && selectByUniqueId;\n return (\n <div\n key={`$drop-option-${optionTxt}`}\n className={`option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between ${isOptionSelected ? 'selected' : ''}`}\n onClick={() => handleDropDownOptionClick(dropDownOption)}\n >\n {optionChip({ ...dropDownOption, isOptionSelected })}\n {isOptionSelected && <Icon name=\"checkmark\" stroke={iconColor} />}\n </div>\n );\n };\n\n const renderDropdownContents = () => {\n return (\n <div className=\"dropdown-content dropdown-options\">\n {dropDownOptions?.map((dropDownOption) => dropDownOptionJsx(dropDownOption))}\n </div>\n );\n };\n\n const handleMultiSelectDropdownOptionClick = (isSelected: boolean, dropDownOption: DropdownValue) => {\n let newSelectedDropDownValue: DropdownValue[] = [];\n if (isSelected) {\n newSelectedDropDownValue = [...selectedDropDownValues, dropDownOption];\n } else {\n newSelectedDropDownValue = selectedDropDownValues?.filter(\n (option) => option[optionsUniqueBy] !== dropDownOption[optionsUniqueBy]\n );\n }\n setSelectedDropDownValues(newSelectedDropDownValue);\n };\n\n const handleApplySelectedDropDownValues = () => {\n popoverRef.current?.togglePopover();\n props?.onApply?.(selectedDropDownValues);\n };\n\n const multiSelectDropdownOptionJSX = (dropDownOption: DropdownValue) => {\n const isOptionSelected = selectedDropDownValues.some(\n (option) => option[optionsUniqueBy] === dropDownOption[optionsUniqueBy]\n );\n return (\n <div\n key={`$drop-option-${dropDownOption[selectBy]}`}\n className=\"option px-3 py-2 hover:bg-gray-100 cursor-pointer flex items-center justify-between\"\n >\n <Checkbox\n automationId=\"checkbox\"\n className=\"checkbox\"\n defaultChecked={isOptionSelected}\n onChange={(value) => handleMultiSelectDropdownOptionClick(value, dropDownOption)}\n label={dropDownOption?.label}\n />\n </div>\n );\n };\n\n const renderMultiSelectDropdownContents = () => {\n return (\n <div className=\"dropdown-content dropdown-options\">\n {dropDownOptions?.map((dropDownOption) => multiSelectDropdownOptionJSX(dropDownOption))}\n <div className=\"flex items-center justify-end gap-4 p-3 border-t border-[var(--color-gray-200)]\">\n <Button label=\"Clear\" type=\"link\" onClick={clearSelectedDropDownValues} />\n <Button label=\"Apply\" type=\"primary\" onClick={handleApplySelectedDropDownValues} />\n </div>\n </div>\n );\n };\n\n const renderDropdownSelect = () => {\n const borderColor = isDropDownOpen ? 'border-[var(--color-blue-500)]' : 'border-[var(--color-gray-600)]';\n const errorBorderColor = hasError ? 'border-[var(--color-red-500)]' : '';\n const dropDownSelectClass = `dropdown-src-element bg-[var(--color-white)] flex px-3 py-2 border rounded-md ${errorBorderColor ? errorBorderColor : borderColor} flex items-center ${dropdownClassName}`;\n\n return (\n <div className={dropDownSelectClass}>\n {optionChip(selectedDropDownValues[0])}\n <Icon\n name={'chevron'}\n rotation={isDropDownOpen ? '180' : '0'}\n className={`ml-auto transition-transform`}\n stroke={iconColor}\n />\n </div>\n );\n };\n\n return (\n <div\n className={`se-design-dropdown-container${props?.className ? ` ${props?.className}` : ''} min-h-[85px]`}\n style={props?.style}\n >\n {props?.label && (\n <div className=\"se-design-dropdown-label mb-[3px] text-[var(--color-gray-700)] text-sm\">{props?.label}</div>\n )}\n <div\n style={props?.style}\n className={`${disabled ? 'bg-[var(--color-gray-200)] rounded-md cursor-not-allowed' : ''}`}\n >\n <Popover\n ref={popoverRef}\n renderPopoverContents={isMultiSelect ? renderMultiSelectDropdownContents : renderDropdownContents}\n contentWidth={'full'}\n renderPopoverSrcElement={renderDropdownSelect}\n onPopoverToggle={(value) => setIsDropDownOpen(value)}\n disabled={disabled}\n />\n </div>\n {hasError && <div className=\"text-[var(--color-red-500)] text-sm\">{errorMessage}</div>}\n </div>\n );\n};\n"],"names":["React__default","useState","useRef","useEffect","Popover","Icon","Checkbox","Button","Dropdown","props","isDropDownOpen","setIsDropDownOpen","selectedDropDownValues","setSelectedDropDownValues","defaultSelectedValue","popoverRef","selectBy","optionsUniqueBy","displaySelected","dropDownOptions","defaultText","iconColor","disabled","dropdownClassName","hasError","errorMessage","isMultiSelect","type","handleDropDownOptionClick","dropDownOption","_a","_b","current","togglePopover","onOptionClick","getSelectedDropDownValue","option","clearSelectedDropDownValues","optionChip","renderOptionChip","React","createElement","className","length","dropDownOptionJsx","optionTxt","dropDownSelectedValue","selectByUniqueId","isOptionSelected","key","onClick","__spreadProps","__spreadValues","name","stroke","renderDropdownContents","map","handleMultiSelectDropdownOptionClick","isSelected","newSelectedDropDownValue","filter","handleApplySelectedDropDownValues","onApply","multiSelectDropdownOptionJSX","some","automationId","defaultChecked","onChange","value","label","renderMultiSelectDropdownContents","renderDropdownSelect","borderColor","errorBorderColor","dropDownSelectClass","rotation","style","ref","renderPopoverContents","contentWidth","renderPopoverSrcElement","onPopoverToggle"],"mappings":"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"}
package/dist/index28.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import e from "react";
2
- import { Icon as I } from "./index5.js";
3
- import { Button as i } from "./index3.js";
2
+ import { Icon as N } from "./index5.js";
3
+ import { Button as a } from "./index3.js";
4
4
  /* empty css */
5
5
  const n = {
6
6
  bannerCtn: "relative rounded-[12px] flex pr-3.5 cursor-pointer",
7
7
  bannerContentCtn: "pt-5 pl-6 pb-5 pr-2 flex flex-col gap-2",
8
- bannerLinkCta: "text-[#1088e7] cursor-pointer text-base leading-6 underline hover: text-[#0078d4]",
9
- bannerImageCtn: "w-[30%] flex mr-5 justify-end cursor-pointer",
8
+ bannerLinkCta: "text-[#1088e7] cursor-pointer text-base leading-6 hover: text-[#0078d4]",
9
+ bannerImageCtn: "flex cursor-pointer",
10
10
  bannerCloseIconCtn: "absolute top-[12px] right-[12px] cursor-pointer hover:bg-[var(--color-gray-100)] rounded-full p-1",
11
11
  bannerButton: "self-start"
12
- }, T = (t) => {
12
+ }, w = (r) => {
13
13
  const {
14
- bannerClassName: m,
15
- bannerBgColor: C,
16
- title: p,
14
+ bannerClassName: i,
15
+ bannerBgColor: m,
16
+ title: C,
17
17
  description: b,
18
- hasImage: a,
19
- imagePosition: r = "right",
18
+ hasImage: p,
19
+ imagePosition: t = "right",
20
20
  hasCloseIcon: d,
21
21
  closeIconName: u,
22
22
  onClose: g,
@@ -24,56 +24,62 @@ const n = {
24
24
  ctaText: l,
25
25
  hasLinkCta: x,
26
26
  onCtaClick: c,
27
- onSecondaryCtaClick: f,
28
- hasButtonCta: y,
27
+ onSecondaryCtaClick: y,
28
+ hasButtonCta: f,
29
29
  buttonType: h = "secondary",
30
30
  hasSecondaryButtonCta: k = !1,
31
31
  secondaryButtonType: E = "secondary",
32
- secondaryCtaText: B
33
- } = t, s = () => a && /* @__PURE__ */ e.createElement("div", {
34
- className: `${n.bannerImageCtn} banner-image-ctn min-h-full`,
32
+ secondaryCtaText: B,
33
+ imageWidth: I = "30%"
34
+ } = r, s = () => p && /* @__PURE__ */ e.createElement("div", {
35
+ className: `${n.bannerImageCtn} banner-image-ctn ${t === "right" ? "mr-5 ml-0 justify-end" : "ml-5 mr-0 justify-start"} min-h-full`,
36
+ style: {
37
+ width: I
38
+ },
35
39
  onClick: o
36
40
  }, /* @__PURE__ */ e.createElement("img", {
37
- src: t.bannerImage,
41
+ src: r.bannerImage,
38
42
  className: "max-w-[initial] h-[initial] max-h-[150px] object-contain"
39
43
  }));
40
44
  return /* @__PURE__ */ e.createElement("div", {
41
- className: `${n.bannerCtn} ${m} banner-ctn`,
45
+ className: `${n.bannerCtn} ${i} banner-ctn`,
42
46
  style: {
43
- backgroundColor: C
47
+ backgroundColor: m
44
48
  }
45
- }, r === "left" && s(), /* @__PURE__ */ e.createElement("div", {
46
- className: `${n.bannerContentCtn} ${a ? "w-[70%]" : "w-[100%]"} banner-content-ctn`,
49
+ }, t === "left" && s(), /* @__PURE__ */ e.createElement("div", {
50
+ className: `${n.bannerContentCtn} w-[100%] banner-content-ctn`,
47
51
  onClick: o
48
52
  }, /* @__PURE__ */ e.createElement("span", {
49
53
  className: "banner-title"
50
- }, p), /* @__PURE__ */ e.createElement("span", {
54
+ }, C), /* @__PURE__ */ e.createElement("span", {
51
55
  className: "banner-description"
52
56
  }, b), /* @__PURE__ */ e.createElement("div", {
53
57
  className: "flex gap-3"
54
- }, x && /* @__PURE__ */ e.createElement("span", {
58
+ }, x && /* @__PURE__ */ e.createElement(a, {
59
+ type: "link",
55
60
  className: n.bannerLinkCta,
56
- onClick: c
57
- }, l), y && /* @__PURE__ */ e.createElement(i, {
61
+ onClick: c,
62
+ label: l
63
+ }), f && /* @__PURE__ */ e.createElement(a, {
58
64
  type: h,
59
65
  size: "sm",
60
66
  label: l,
61
67
  onClick: c,
62
68
  className: n == null ? void 0 : n.bannerButton
63
- }), k && /* @__PURE__ */ e.createElement(i, {
69
+ }), k && /* @__PURE__ */ e.createElement(a, {
64
70
  type: E,
65
71
  size: "sm",
66
72
  label: B,
67
- onClick: f,
73
+ onClick: y,
68
74
  className: n == null ? void 0 : n.secondaryBannerButton
69
- }))), r === "right" && s(), /* @__PURE__ */ e.createElement("span", {
75
+ }))), t === "right" && s(), /* @__PURE__ */ e.createElement("span", {
70
76
  className: n.bannerCloseIconCtn,
71
77
  onClick: g
72
- }, d && /* @__PURE__ */ e.createElement(I, {
78
+ }, d && /* @__PURE__ */ e.createElement(N, {
73
79
  name: u
74
80
  })));
75
81
  };
76
82
  export {
77
- T as Banner
83
+ w as Banner
78
84
  };
79
85
  //# sourceMappingURL=index28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index28.js","sources":["../src/components/Banner/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Map } from '../../utils/common.types';\nimport { Icon } from 'components/Icon';\nimport { Button } from 'components/Button';\nimport './style.scss';\n\nexport interface BannerProps {\n bannerClassName?: string | '';\n bannerBgColor?: string | '';\n title: string | '';\n description: string | '';\n hasImage?: boolean | false;\n imagePosition?: 'left' | 'right' | '';\n bannerImage: string | '';\n hasCloseIcon?: boolean | false;\n closeIconName: string | '';\n onClose: () => void | (() => {});\n onBannerClick?: () => void | (() => {});\n hasButtonCta?: boolean | false;\n hasSecondaryButtonCta?: boolean | false;\n buttonType?: 'primary' | 'secondary' | 'link';\n secondaryButtonType?: 'primary' | 'secondary' | 'link';\n hasLinkCta?: boolean | false;\n ctaText: string | '';\n secondaryCtaText: string | '';\n onCtaClick: () => void | (() => {});\n onSecondaryCtaClick: () => void | (() => {});\n}\n\nconst classNames: Map = {\n bannerCtn: `relative rounded-[12px] flex pr-3.5 cursor-pointer`,\n bannerContentCtn: 'pt-5 pl-6 pb-5 pr-2 flex flex-col gap-2',\n bannerLinkCta: 'text-[#1088e7] cursor-pointer text-base leading-6 underline hover: text-[#0078d4]',\n bannerImageCtn: 'w-[30%] flex mr-5 justify-end cursor-pointer',\n bannerCloseIconCtn:\n 'absolute top-[12px] right-[12px] cursor-pointer hover:bg-[var(--color-gray-100)] rounded-full p-1',\n bannerButton: 'self-start'\n};\n\nexport const Banner: FC<BannerProps> = (props) => {\n const {\n bannerClassName,\n bannerBgColor,\n title,\n description,\n hasImage,\n imagePosition = 'right',\n hasCloseIcon,\n closeIconName,\n onClose,\n onBannerClick,\n ctaText,\n hasLinkCta,\n onCtaClick,\n onSecondaryCtaClick,\n hasButtonCta,\n buttonType = 'secondary',\n hasSecondaryButtonCta = false,\n secondaryButtonType = 'secondary',\n secondaryCtaText\n } = props;\n\n const renderImage = () =>\n hasImage && (\n <div className={`${classNames.bannerImageCtn} banner-image-ctn min-h-full`} onClick={onBannerClick}>\n <img src={props.bannerImage} className=\"max-w-[initial] h-[initial] max-h-[150px] object-contain\" />\n </div>\n );\n\n return (\n <div className={`${classNames.bannerCtn} ${bannerClassName} banner-ctn`} style={{ backgroundColor: bannerBgColor }}>\n {imagePosition === 'left' && renderImage()}\n <div\n className={`${classNames.bannerContentCtn} ${hasImage ? 'w-[70%]' : 'w-[100%]'} banner-content-ctn`}\n onClick={onBannerClick}\n >\n <span className=\"banner-title\">{title}</span>\n <span className=\"banner-description\">{description}</span>\n <div className=\"flex gap-3\">\n {hasLinkCta && (\n <span className={classNames.bannerLinkCta} onClick={onCtaClick}>\n {ctaText}\n </span>\n )}\n {hasButtonCta && (\n <Button\n type={buttonType}\n size=\"sm\"\n label={ctaText}\n onClick={onCtaClick}\n className={classNames?.bannerButton}\n />\n )}\n {hasSecondaryButtonCta && (\n <Button\n type={secondaryButtonType}\n size=\"sm\"\n label={secondaryCtaText}\n onClick={onSecondaryCtaClick}\n className={classNames?.secondaryBannerButton}\n />\n )}\n </div>\n </div>\n {imagePosition === 'right' && renderImage()}\n <span className={classNames.bannerCloseIconCtn} onClick={onClose}>\n {hasCloseIcon && <Icon name={closeIconName} />}\n </span>\n </div>\n );\n};\n"],"names":["React__default","Icon","Button","classNames","bannerCtn","bannerContentCtn","bannerLinkCta","bannerImageCtn","bannerCloseIconCtn","bannerButton","Banner","props","bannerClassName","bannerBgColor","title","description","hasImage","imagePosition","hasCloseIcon","closeIconName","onClose","onBannerClick","ctaText","hasLinkCta","onCtaClick","onSecondaryCtaClick","hasButtonCta","buttonType","hasSecondaryButtonCta","secondaryButtonType","secondaryCtaText","renderImage","React","createElement","className","onClick","src","bannerImage","style","backgroundColor","type","size","label","secondaryBannerButton","name"],"mappings":"AA6BA,OAAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAkB;AAAA,EACtBC,WAAW;AAAA,EACXC,kBAAkB;AAAA,EAClBC,eAAe;AAAA,EACfC,gBAAgB;AAAA,EAChBC,oBACE;AAAA,EACFC,cAAc;AAChB,GAEaC,IAA2BC,CAAUA,MAAA;AAC1C,QAAA;AAAA,IACJC,iBAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,eAAAA,IAAgB;AAAA,IAChBC,cAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,YAAAA;AAAAA,IACAC,YAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,YAAAA,IAAa;AAAA,IACbC,uBAAAA,IAAwB;AAAA,IACxBC,qBAAAA,IAAsB;AAAA,IACtBC,kBAAAA;AAAAA,EAAAA,IACEnB,GAEEoB,IAAcA,MAClBf,KACEgB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAG/B,EAAWI,cAAc;AAAA,IAAgC4B,SAASd;AAAAA,EAAAA,GACnFY,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKG,KAAKzB,EAAM0B;AAAAA,IAAaH,WAAU;AAAA,EAAA,CAA4D,CAChG;AAIPF,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAG/B,EAAWC,SAAS,IAAIQ,CAAe;AAAA,IAAe0B,OAAO;AAAA,MAAEC,iBAAiB1B;AAAAA,IAAAA;AAAAA,EAAc,GAC9GI,MAAkB,UAAUc,EAC7BC,GAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAW,GAAG/B,EAAWE,gBAAgB,IAAIW,IAAW,YAAY,UAAU;AAAA,IAC9EmB,SAASd;AAAAA,EAAAA,GAETY,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAgBpB,GAAAA,CAAY,GAC5CkB,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAsBnB,GAAAA,CAAkB,GACxDiB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EACZX,GAAAA,KACCU,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAW/B,EAAWG;AAAAA,IAAe6B,SAASX;AAAAA,KACjDF,CACG,GAEPI,KACCM,gBAAAA,EAAAC,cAAC/B,GAAM;AAAA,IACLsC,MAAMb;AAAAA,IACNc,MAAK;AAAA,IACLC,OAAOpB;AAAAA,IACPa,SAASX;AAAAA,IACTU,WAAW/B,KAAAA,gBAAAA,EAAYM;AAAAA,EACxB,CAAA,GAEFmB,KACCI,gBAAAA,EAAAC,cAAC/B,GAAM;AAAA,IACLsC,MAAMX;AAAAA,IACNY,MAAK;AAAA,IACLC,OAAOZ;AAAAA,IACPK,SAASV;AAAAA,IACTS,WAAW/B,KAAAA,gBAAAA,EAAYwC;AAAAA,EAAAA,CACxB,CAEA,CACF,GACJ1B,MAAkB,WAAWc,EAAY,GAC1CE,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAW/B,EAAWK;AAAAA,IAAoB2B,SAASf;AAAAA,EACtDF,GAAAA,KAAgBe,gBAAAA,EAAAA,cAAChC,GAAI;AAAA,IAAC2C,MAAMzB;AAAAA,EAAgB,CAAA,CACzC,CACH;AAET;"}
1
+ {"version":3,"file":"index28.js","sources":["../src/components/Banner/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Map } from '../../utils/common.types';\nimport { Icon } from 'components/Icon';\nimport { Button } from 'components/Button';\nimport './style.scss';\n\nexport interface BannerProps {\n bannerClassName?: string | '';\n bannerBgColor?: string | '';\n title: string | '';\n description: string | '';\n hasImage?: boolean | false;\n imagePosition?: 'left' | 'right' | '';\n bannerImage: string | '';\n hasCloseIcon?: boolean | false;\n closeIconName: string | '';\n onClose: () => void | (() => {});\n onBannerClick?: () => void | (() => {});\n hasButtonCta?: boolean | false;\n hasSecondaryButtonCta?: boolean | false;\n buttonType?: 'primary' | 'secondary' | 'link';\n secondaryButtonType?: 'primary' | 'secondary' | 'link';\n hasLinkCta?: boolean | false;\n ctaText: string | '';\n secondaryCtaText: string | '';\n onCtaClick: () => void | (() => {});\n onSecondaryCtaClick: () => void | (() => {});\n imageWidth?: string | '30%';\n}\n\nconst classNames: Map = {\n bannerCtn: `relative rounded-[12px] flex pr-3.5 cursor-pointer`,\n bannerContentCtn: 'pt-5 pl-6 pb-5 pr-2 flex flex-col gap-2',\n bannerLinkCta: 'text-[#1088e7] cursor-pointer text-base leading-6 hover: text-[#0078d4]',\n bannerImageCtn: 'flex cursor-pointer',\n bannerCloseIconCtn:\n 'absolute top-[12px] right-[12px] cursor-pointer hover:bg-[var(--color-gray-100)] rounded-full p-1',\n bannerButton: 'self-start'\n};\n\nexport const Banner: FC<BannerProps> = (props) => {\n const {\n bannerClassName,\n bannerBgColor,\n title,\n description,\n hasImage,\n imagePosition = 'right',\n hasCloseIcon,\n closeIconName,\n onClose,\n onBannerClick,\n ctaText,\n hasLinkCta,\n onCtaClick,\n onSecondaryCtaClick,\n hasButtonCta,\n buttonType = 'secondary',\n hasSecondaryButtonCta = false,\n secondaryButtonType = 'secondary',\n secondaryCtaText,\n imageWidth = '30%'\n } = props;\n\n const renderImage = () =>\n hasImage && (\n <div\n className={`${classNames.bannerImageCtn} banner-image-ctn ${imagePosition === 'right' ? 'mr-5 ml-0 justify-end' : 'ml-5 mr-0 justify-start'} min-h-full`}\n style={{ width: imageWidth }}\n onClick={onBannerClick}\n >\n <img src={props.bannerImage} className=\"max-w-[initial] h-[initial] max-h-[150px] object-contain\" />\n </div>\n );\n\n return (\n <div className={`${classNames.bannerCtn} ${bannerClassName} banner-ctn`} style={{ backgroundColor: bannerBgColor }}>\n {imagePosition === 'left' && renderImage()}\n <div className={`${classNames.bannerContentCtn} w-[100%] banner-content-ctn`} onClick={onBannerClick}>\n <span className=\"banner-title\">{title}</span>\n <span className=\"banner-description\">{description}</span>\n <div className=\"flex gap-3\">\n {hasLinkCta && (\n <Button type=\"link\" className={classNames.bannerLinkCta} onClick={onCtaClick} label={ctaText} />\n )}\n {hasButtonCta && (\n <Button\n type={buttonType}\n size=\"sm\"\n label={ctaText}\n onClick={onCtaClick}\n className={classNames?.bannerButton}\n />\n )}\n {hasSecondaryButtonCta && (\n <Button\n type={secondaryButtonType}\n size=\"sm\"\n label={secondaryCtaText}\n onClick={onSecondaryCtaClick}\n className={classNames?.secondaryBannerButton}\n />\n )}\n </div>\n </div>\n {imagePosition === 'right' && renderImage()}\n <span className={classNames.bannerCloseIconCtn} onClick={onClose}>\n {hasCloseIcon && <Icon name={closeIconName} />}\n </span>\n </div>\n );\n};\n"],"names":["React__default","Icon","Button","classNames","bannerCtn","bannerContentCtn","bannerLinkCta","bannerImageCtn","bannerCloseIconCtn","bannerButton","Banner","props","bannerClassName","bannerBgColor","title","description","hasImage","imagePosition","hasCloseIcon","closeIconName","onClose","onBannerClick","ctaText","hasLinkCta","onCtaClick","onSecondaryCtaClick","hasButtonCta","buttonType","hasSecondaryButtonCta","secondaryButtonType","secondaryCtaText","imageWidth","renderImage","React","createElement","className","style","width","onClick","src","bannerImage","backgroundColor","type","label","size","secondaryBannerButton","name"],"mappings":"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"}
package/dist/index35.js CHANGED
@@ -1,12 +1,13 @@
1
- import c, { useState as p, useRef as y } from "react";
1
+ import c, { useState as p, useRef as E } from "react";
2
2
  /* empty css */
3
- import { Icon as E } from "./index5.js";
4
- function I({
3
+ import { Icon as T } from "./index5.js";
4
+ function R({
5
5
  value: m,
6
6
  onChange: e,
7
- placeholder: o
7
+ placeholder: o,
8
+ className: f
8
9
  }) {
9
- const [a, l] = p([...m]), [i, r] = p(""), u = y(null), f = (t) => {
10
+ const [a, l] = p([...m]), [i, r] = p(""), u = E(null), w = (t) => {
10
11
  if (t.key === "Enter" && i.trim()) {
11
12
  t.preventDefault();
12
13
  const s = [...a, i.trim()];
@@ -17,7 +18,7 @@ function I({
17
18
  }
18
19
  };
19
20
  return /* @__PURE__ */ c.createElement("div", {
20
- className: "input-with-tags-container",
21
+ className: `input-with-tags-container ${f}`,
21
22
  onClick: () => {
22
23
  var t;
23
24
  return (t = u.current) == null ? void 0 : t.focus();
@@ -27,12 +28,12 @@ function I({
27
28
  className: "tag-in-inputwithtags"
28
29
  }, t, /* @__PURE__ */ c.createElement("span", {
29
30
  className: "close-icon-in-inputwithtags",
30
- onClick: (w) => {
31
- w.stopPropagation();
32
- const n = a.filter((T, k) => k !== s);
31
+ onClick: (k) => {
32
+ k.stopPropagation();
33
+ const n = a.filter((v, y) => y !== s);
33
34
  l(n), e == null || e(n);
34
35
  }
35
- }, /* @__PURE__ */ c.createElement(E, {
36
+ }, /* @__PURE__ */ c.createElement(T, {
36
37
  name: "close"
37
38
  })))), /* @__PURE__ */ c.createElement("input", {
38
39
  className: "input-with-tags-input",
@@ -40,11 +41,11 @@ function I({
40
41
  type: "text",
41
42
  value: i,
42
43
  onChange: (t) => r(t.target.value),
43
- onKeyDown: f,
44
+ onKeyDown: w,
44
45
  placeholder: o
45
46
  }));
46
47
  }
47
48
  export {
48
- I as InputWithTags
49
+ R as InputWithTags
49
50
  };
50
51
  //# sourceMappingURL=index35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index35.js","sources":["../src/components/InputWithTags/index.tsx"],"sourcesContent":["import React, { useState, KeyboardEvent, useRef } from \"react\";\nimport './styles.scss';\nimport { Icon } from '../Icon';\nexport interface InputWithTagsProps {\n value: string[];\n onChange?: (tags: string[]) => void;\n placeholder?: string;\n}\n\nexport function InputWithTags({ value, onChange, placeholder }: InputWithTagsProps) {\n const [tags, setTags] = useState<string[]>([...value]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && inputValue.trim()) {\n e.preventDefault();\n const newTags = [...tags, inputValue.trim()];\n setTags(newTags);\n setInputValue(\"\");\n onChange?.(newTags);\n } else if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n // Remove the last tag when backspace is pressed on empty input\n const newTags = tags.slice(0, -1);\n setTags(newTags);\n onChange?.(newTags);\n }\n };\n\n return (\n <div className=\"input-with-tags-container\" onClick={() => inputRef.current?.focus()} >\n {tags.map((tag, index) => (\n <span key={index} className=\"tag-in-inputwithtags\">\n {tag} \n <span\n className=\"close-icon-in-inputwithtags\"\n onClick={(e) => {\n e.stopPropagation();\n const newTags = tags.filter((_, i) => i !== index);\n setTags(newTags);\n onChange?.(newTags);\n }}\n >\n <Icon name=\"close\" />\n </span>\n </span>\n ))}\n <input\n className=\"input-with-tags-input\"\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n />\n </div>\n );\n}"],"names":["React__default","useState","useRef","Icon","InputWithTags","value","onChange","placeholder","tags","setTags","inputValue","setInputValue","inputRef","handleKeyDown","e","key","trim","preventDefault","newTags","length","slice","React","createElement","className","onClick","_a","current","focus","map","tag","index","stopPropagation","filter","_","i","name","ref","type","target","onKeyDown"],"mappings":"AASO,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAASC,EAAc;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,UAAAA;AAAAA,EAAUC,aAAAA;AAAgC,GAAG;AAC1E,QAAA,CAACC,GAAMC,CAAO,IAAIR,EAAmB,CAAC,GAAGI,CAAK,CAAC,GAC/C,CAACK,GAAYC,CAAa,IAAIV,EAAS,EAAE,GACzCW,IAAWV,EAAyB,IAAI,GAExCW,IAAgBA,CAACC,MAAuC;AAC1D,QAAIA,EAAEC,QAAQ,WAAWL,EAAWM,QAAQ;AACxCF,MAAAA,EAAEG,eAAe;AACjB,YAAMC,IAAU,CAAC,GAAGV,GAAME,EAAWM,MAAM;AAC3CP,MAAAA,EAAQS,CAAO,GACfP,EAAc,EAAE,GAChBL,KAAAA,QAAAA,EAAWY;AAAAA,IAAO,WACXJ,EAAEC,QAAQ,eAAeL,MAAe,MAAMF,EAAKW,SAAS,GAAG;AAEtE,YAAMD,IAAUV,EAAKY,MAAM,GAAG,EAAE;AAChCX,MAAAA,EAAQS,CAAO,GACfZ,KAAAA,QAAAA,EAAWY;AAAAA,IAAO;AAAA,EAE1B;AAGIG,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,SAASA,MAAAA;AArBrD,UAAAC;AAqB2Db,cAAAA,IAAAA,EAASc,YAATd,gBAAAA,EAAkBe;AAAAA;AAAAA,EAAM,GAC7EnB,EAAKoB,IAAI,CAACC,GAAKC,MACZT,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMP,KAAKe;AAAAA,IAAOP,WAAU;AAAA,EACvBM,GAAAA,GACDP,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IACAC,WAAU;AAAA,IACVC,SAAUV,CAAMA,MAAA;AACZA,MAAAA,EAAEiB,gBAAgB;AAClB,YAAMb,IAAUV,EAAKwB,OAAO,CAACC,GAAGC,MAAMA,MAAMJ,CAAK;AACjDrB,MAAAA,EAAQS,CAAO,GACfZ,KAAAA,QAAAA,EAAWY;AAAAA,IAAO;AAAA,EACtB,GAEII,gBAAAA,EAAAA,cAACnB,GAAI;AAAA,IAACgC,MAAK;AAAA,EAAS,CAAA,CAClB,CACJ,CACT,GACDd,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACIC,WAAU;AAAA,IACVa,KAAKxB;AAAAA,IACLyB,MAAK;AAAA,IACLhC,OAAOK;AAAAA,IACPJ,UAAWQ,CAAAA,MAAMH,EAAcG,EAAEwB,OAAOjC,KAAK;AAAA,IAC7CkC,WAAW1B;AAAAA,IACXN,aAAAA;AAAAA,EAAAA,CACH,CACA;AAEb;"}
1
+ {"version":3,"file":"index35.js","sources":["../src/components/InputWithTags/index.tsx"],"sourcesContent":["import React, { useState, KeyboardEvent, useRef } from \"react\";\nimport './styles.scss';\nimport { Icon } from '../Icon';\nexport interface InputWithTagsProps {\n value: string[];\n onChange?: (tags: string[]) => void;\n placeholder?: string;\n className?: string;\n}\n\nexport function InputWithTags({ value, onChange, placeholder, className }: InputWithTagsProps) {\n const [tags, setTags] = useState<string[]>([...value]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && inputValue.trim()) {\n e.preventDefault();\n const newTags = [...tags, inputValue.trim()];\n setTags(newTags);\n setInputValue(\"\");\n onChange?.(newTags);\n } else if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n // Remove the last tag when backspace is pressed on empty input\n const newTags = tags.slice(0, -1);\n setTags(newTags);\n onChange?.(newTags);\n }\n };\n\n return (\n <div className={`input-with-tags-container ${className}`} onClick={() => inputRef.current?.focus()} >\n {tags.map((tag, index) => (\n <span key={index} className=\"tag-in-inputwithtags\">\n {tag} \n <span\n className=\"close-icon-in-inputwithtags\"\n onClick={(e) => {\n e.stopPropagation();\n const newTags = tags.filter((_, i) => i !== index);\n setTags(newTags);\n onChange?.(newTags);\n }}\n >\n <Icon name=\"close\" />\n </span>\n </span>\n ))}\n <input\n className=\"input-with-tags-input\"\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n />\n </div>\n );\n}"],"names":["React__default","useState","useRef","Icon","InputWithTags","value","onChange","placeholder","className","tags","setTags","inputValue","setInputValue","inputRef","handleKeyDown","e","key","trim","preventDefault","newTags","length","slice","React","createElement","onClick","_a","current","focus","map","tag","index","stopPropagation","filter","_","i","name","ref","type","target","onKeyDown"],"mappings":"AAUO,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAASC,EAAc;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,UAAAA;AAAAA,EAAUC,aAAAA;AAAAA,EAAaC,WAAAA;AAA8B,GAAG;AACrF,QAAA,CAACC,GAAMC,CAAO,IAAIT,EAAmB,CAAC,GAAGI,CAAK,CAAC,GAC/C,CAACM,GAAYC,CAAa,IAAIX,EAAS,EAAE,GACzCY,IAAWX,EAAyB,IAAI,GAExCY,IAAgBA,CAACC,MAAuC;AAC1D,QAAIA,EAAEC,QAAQ,WAAWL,EAAWM,QAAQ;AACxCF,MAAAA,EAAEG,eAAe;AACjB,YAAMC,IAAU,CAAC,GAAGV,GAAME,EAAWM,MAAM;AAC3CP,MAAAA,EAAQS,CAAO,GACfP,EAAc,EAAE,GAChBN,KAAAA,QAAAA,EAAWa;AAAAA,IAAO,WACXJ,EAAEC,QAAQ,eAAeL,MAAe,MAAMF,EAAKW,SAAS,GAAG;AAEtE,YAAMD,IAAUV,EAAKY,MAAM,GAAG,EAAE;AAChCX,MAAAA,EAAQS,CAAO,GACfb,KAAAA,QAAAA,EAAWa;AAAAA,IAAO;AAAA,EAE1B;AAGIG,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKf,WAAW,6BAA6BA,CAAS;AAAA,IAAIgB,SAASA,MAAAA;AArBpE,UAAAC;AAqB0EZ,cAAAA,IAAAA,EAASa,YAATb,gBAAAA,EAAkBc;AAAAA;AAAAA,EAAM,GAC5FlB,EAAKmB,IAAI,CAACC,GAAKC,MACZR,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMP,KAAKc;AAAAA,IAAOtB,WAAU;AAAA,EACvBqB,GAAAA,GACDN,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IACAf,WAAU;AAAA,IACVgB,SAAUT,CAAMA,MAAA;AACZA,MAAAA,EAAEgB,gBAAgB;AAClB,YAAMZ,IAAUV,EAAKuB,OAAO,CAACC,GAAGC,MAAMA,MAAMJ,CAAK;AACjDpB,MAAAA,EAAQS,CAAO,GACfb,KAAAA,QAAAA,EAAWa;AAAAA,IAAO;AAAA,EACtB,GAEII,gBAAAA,EAAAA,cAACpB,GAAI;AAAA,IAACgC,MAAK;AAAA,EAAS,CAAA,CAClB,CACJ,CACT,GACDb,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACIf,WAAU;AAAA,IACV4B,KAAKvB;AAAAA,IACLwB,MAAK;AAAA,IACLhC,OAAOM;AAAAA,IACPL,UAAWS,CAAAA,MAAMH,EAAcG,EAAEuB,OAAOjC,KAAK;AAAA,IAC7CkC,WAAWzB;AAAAA,IACXP,aAAAA;AAAAA,EAAAA,CACH,CACA;AAEb;"}