se-design 0.0.112 → 0.0.114

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 (307) hide show
  1. package/dist/assets/icons/csv-file.svg +6 -0
  2. package/dist/assets/icons/observer.svg +4 -0
  3. package/dist/assets/icons/select-files.svg +25 -0
  4. package/dist/assets/icons/signer.svg +5 -0
  5. package/dist/assets/style.css +1 -1
  6. package/dist/components/Banner/index.d.ts +4 -0
  7. package/dist/components/CustomModal/index.d.ts +1 -0
  8. package/dist/components/FilePicker/index.d.ts +41 -0
  9. package/dist/components/KebabMenu/index.d.ts +0 -2
  10. package/dist/components/LabelChip/index.d.ts +1 -0
  11. package/dist/components/SearchBox/index.d.ts +13 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/index.js +86 -82
  14. package/dist/index.js.map +1 -1
  15. package/dist/index10.js +31 -9
  16. package/dist/index10.js.map +1 -1
  17. package/dist/index100.js +1 -1
  18. package/dist/index100.js.map +1 -1
  19. package/dist/index101.js +2 -2
  20. package/dist/index101.js.map +1 -1
  21. package/dist/index102.js +2 -2
  22. package/dist/index102.js.map +1 -1
  23. package/dist/index103.js +2 -2
  24. package/dist/index103.js.map +1 -1
  25. package/dist/index104.js +1 -1
  26. package/dist/index104.js.map +1 -1
  27. package/dist/index105.js +1 -1
  28. package/dist/index105.js.map +1 -1
  29. package/dist/index106.js +1 -1
  30. package/dist/index106.js.map +1 -1
  31. package/dist/index107.js +2 -2
  32. package/dist/index107.js.map +1 -1
  33. package/dist/index108.js +1 -1
  34. package/dist/index108.js.map +1 -1
  35. package/dist/index109.js +2 -2
  36. package/dist/index109.js.map +1 -1
  37. package/dist/index11.js +13 -11
  38. package/dist/index11.js.map +1 -1
  39. package/dist/index110.js +1 -1
  40. package/dist/index110.js.map +1 -1
  41. package/dist/index111.js +2 -2
  42. package/dist/index111.js.map +1 -1
  43. package/dist/index112.js +2 -149
  44. package/dist/index112.js.map +1 -1
  45. package/dist/index113.js +5 -0
  46. package/dist/index113.js.map +1 -0
  47. package/dist/index114.js +5 -0
  48. package/dist/index114.js.map +1 -0
  49. package/dist/index115.js +5 -0
  50. package/dist/index115.js.map +1 -0
  51. package/dist/index116.js +5 -0
  52. package/dist/index116.js.map +1 -0
  53. package/dist/index117.js +5 -0
  54. package/dist/index117.js.map +1 -0
  55. package/dist/index118.js +152 -0
  56. package/dist/index118.js.map +1 -0
  57. package/dist/index12.js +14 -4
  58. package/dist/index12.js.map +1 -1
  59. package/dist/index129.js +12 -1233
  60. package/dist/index129.js.map +1 -1
  61. package/dist/index13.js +6 -31
  62. package/dist/index13.js.map +1 -1
  63. package/dist/index137.js +1232 -37
  64. package/dist/index137.js.map +1 -1
  65. package/dist/index138.js +10 -2
  66. package/dist/index138.js.map +1 -1
  67. package/dist/index139.js +9 -7
  68. package/dist/index139.js.map +1 -1
  69. package/dist/index14.js +30 -30
  70. package/dist/index14.js.map +1 -1
  71. package/dist/index140.js +4 -326
  72. package/dist/index140.js.map +1 -1
  73. package/dist/index141.js +166 -46
  74. package/dist/index141.js.map +1 -1
  75. package/dist/index142.js +11 -2
  76. package/dist/index142.js.map +1 -1
  77. package/dist/index143.js +5 -75
  78. package/dist/index143.js.map +1 -1
  79. package/dist/index144.js +5 -92
  80. package/dist/index144.js.map +1 -1
  81. package/dist/index145.js +35 -49
  82. package/dist/index145.js.map +1 -1
  83. package/dist/index146.js +2 -8
  84. package/dist/index146.js.map +1 -1
  85. package/dist/index147.js +7 -4
  86. package/dist/index147.js.map +1 -1
  87. package/dist/index148.js +320 -45
  88. package/dist/index148.js.map +1 -1
  89. package/dist/index149.js +50 -2
  90. package/dist/index149.js.map +1 -1
  91. package/dist/index15.js +31 -19
  92. package/dist/index15.js.map +1 -1
  93. package/dist/index150.js +2 -2
  94. package/dist/index151.js +79 -0
  95. package/dist/index151.js.map +1 -0
  96. package/dist/index152.js +96 -0
  97. package/dist/index152.js.map +1 -0
  98. package/dist/index153.js +55 -0
  99. package/dist/index153.js.map +1 -0
  100. package/dist/index154.js +11 -0
  101. package/dist/index154.js.map +1 -0
  102. package/dist/index155.js +8 -0
  103. package/dist/index155.js.map +1 -0
  104. package/dist/index156.js +55 -0
  105. package/dist/index156.js.map +1 -0
  106. package/dist/index157.js +5 -0
  107. package/dist/index157.js.map +1 -0
  108. package/dist/index158.js +5 -0
  109. package/dist/index158.js.map +1 -0
  110. package/dist/index16.js +17 -124
  111. package/dist/index16.js.map +1 -1
  112. package/dist/index17.js +124 -27
  113. package/dist/index17.js.map +1 -1
  114. package/dist/index18.js +29 -31
  115. package/dist/index18.js.map +1 -1
  116. package/dist/index19.js +31 -79
  117. package/dist/index19.js.map +1 -1
  118. package/dist/index20.js +78 -38
  119. package/dist/index20.js.map +1 -1
  120. package/dist/index21.js +38 -22
  121. package/dist/index21.js.map +1 -1
  122. package/dist/index22.js +22 -74
  123. package/dist/index22.js.map +1 -1
  124. package/dist/index23.js +73 -133
  125. package/dist/index23.js.map +1 -1
  126. package/dist/index24.js +140 -17
  127. package/dist/index24.js.map +1 -1
  128. package/dist/index25.js +16 -43
  129. package/dist/index25.js.map +1 -1
  130. package/dist/index26.js +44 -60
  131. package/dist/index26.js.map +1 -1
  132. package/dist/index27.js +60 -62
  133. package/dist/index27.js.map +1 -1
  134. package/dist/index28.js +74 -41
  135. package/dist/index28.js.map +1 -1
  136. package/dist/index29.js +41 -97
  137. package/dist/index29.js.map +1 -1
  138. package/dist/index3.js +1 -1
  139. package/dist/index30.js +99 -58
  140. package/dist/index30.js.map +1 -1
  141. package/dist/index31.js +56 -37
  142. package/dist/index31.js.map +1 -1
  143. package/dist/index32.js +39 -35
  144. package/dist/index32.js.map +1 -1
  145. package/dist/index33.js +30 -38
  146. package/dist/index33.js.map +1 -1
  147. package/dist/index34.js +43 -47
  148. package/dist/index34.js.map +1 -1
  149. package/dist/index35.js +44 -35
  150. package/dist/index35.js.map +1 -1
  151. package/dist/index36.js +35 -31
  152. package/dist/index36.js.map +1 -1
  153. package/dist/index37.js +75 -49
  154. package/dist/index37.js.map +1 -1
  155. package/dist/index38.js +27 -64
  156. package/dist/index38.js.map +1 -1
  157. package/dist/index39.js +48 -62
  158. package/dist/index39.js.map +1 -1
  159. package/dist/index4.js +40 -165
  160. package/dist/index4.js.map +1 -1
  161. package/dist/index40.js +67 -70
  162. package/dist/index40.js.map +1 -1
  163. package/dist/index41.js +62 -83
  164. package/dist/index41.js.map +1 -1
  165. package/dist/index42.js +107 -37
  166. package/dist/index42.js.map +1 -1
  167. package/dist/index43.js +84 -27
  168. package/dist/index43.js.map +1 -1
  169. package/dist/index44.js +36 -28
  170. package/dist/index44.js.map +1 -1
  171. package/dist/index45.js +30 -2
  172. package/dist/index45.js.map +1 -1
  173. package/dist/index46.js +30 -2
  174. package/dist/index46.js.map +1 -1
  175. package/dist/index47.js +1 -1
  176. package/dist/index47.js.map +1 -1
  177. package/dist/index48.js +1 -1
  178. package/dist/index48.js.map +1 -1
  179. package/dist/index49.js +1 -1
  180. package/dist/index49.js.map +1 -1
  181. package/dist/index5.js +173 -62
  182. package/dist/index5.js.map +1 -1
  183. package/dist/index50.js +1 -1
  184. package/dist/index50.js.map +1 -1
  185. package/dist/index51.js +1 -1
  186. package/dist/index51.js.map +1 -1
  187. package/dist/index52.js +1 -1
  188. package/dist/index52.js.map +1 -1
  189. package/dist/index53.js +1 -1
  190. package/dist/index53.js.map +1 -1
  191. package/dist/index54.js +1 -1
  192. package/dist/index54.js.map +1 -1
  193. package/dist/index55.js +1 -1
  194. package/dist/index55.js.map +1 -1
  195. package/dist/index56.js +1 -1
  196. package/dist/index56.js.map +1 -1
  197. package/dist/index57.js +1 -1
  198. package/dist/index57.js.map +1 -1
  199. package/dist/index58.js +1 -1
  200. package/dist/index58.js.map +1 -1
  201. package/dist/index59.js +1 -1
  202. package/dist/index59.js.map +1 -1
  203. package/dist/index6.js +62 -36
  204. package/dist/index6.js.map +1 -1
  205. package/dist/index60.js +2 -2
  206. package/dist/index60.js.map +1 -1
  207. package/dist/index61.js +1 -1
  208. package/dist/index61.js.map +1 -1
  209. package/dist/index62.js +2 -2
  210. package/dist/index62.js.map +1 -1
  211. package/dist/index63.js +1 -1
  212. package/dist/index63.js.map +1 -1
  213. package/dist/index64.js +1 -1
  214. package/dist/index64.js.map +1 -1
  215. package/dist/index65.js +1 -1
  216. package/dist/index65.js.map +1 -1
  217. package/dist/index66.js +1 -1
  218. package/dist/index66.js.map +1 -1
  219. package/dist/index67.js +1 -1
  220. package/dist/index67.js.map +1 -1
  221. package/dist/index68.js +1 -1
  222. package/dist/index68.js.map +1 -1
  223. package/dist/index69.js +1 -1
  224. package/dist/index69.js.map +1 -1
  225. package/dist/index7.js +37 -20
  226. package/dist/index7.js.map +1 -1
  227. package/dist/index70.js +2 -2
  228. package/dist/index70.js.map +1 -1
  229. package/dist/index71.js +1 -1
  230. package/dist/index71.js.map +1 -1
  231. package/dist/index72.js +2 -2
  232. package/dist/index72.js.map +1 -1
  233. package/dist/index73.js +2 -2
  234. package/dist/index73.js.map +1 -1
  235. package/dist/index74.js +1 -1
  236. package/dist/index74.js.map +1 -1
  237. package/dist/index75.js +2 -2
  238. package/dist/index75.js.map +1 -1
  239. package/dist/index76.js +2 -2
  240. package/dist/index76.js.map +1 -1
  241. package/dist/index77.js +1 -1
  242. package/dist/index77.js.map +1 -1
  243. package/dist/index78.js +1 -1
  244. package/dist/index78.js.map +1 -1
  245. package/dist/index79.js +1 -1
  246. package/dist/index79.js.map +1 -1
  247. package/dist/index8.js +18 -39
  248. package/dist/index8.js.map +1 -1
  249. package/dist/index80.js +1 -1
  250. package/dist/index80.js.map +1 -1
  251. package/dist/index81.js +1 -1
  252. package/dist/index81.js.map +1 -1
  253. package/dist/index82.js +1 -1
  254. package/dist/index82.js.map +1 -1
  255. package/dist/index83.js +1 -1
  256. package/dist/index83.js.map +1 -1
  257. package/dist/index84.js +1 -1
  258. package/dist/index84.js.map +1 -1
  259. package/dist/index85.js +1 -1
  260. package/dist/index85.js.map +1 -1
  261. package/dist/index86.js +1 -1
  262. package/dist/index86.js.map +1 -1
  263. package/dist/index87.js +1 -1
  264. package/dist/index87.js.map +1 -1
  265. package/dist/index88.js +2 -2
  266. package/dist/index88.js.map +1 -1
  267. package/dist/index89.js +2 -2
  268. package/dist/index89.js.map +1 -1
  269. package/dist/index9.js +42 -36
  270. package/dist/index9.js.map +1 -1
  271. package/dist/index90.js +1 -1
  272. package/dist/index90.js.map +1 -1
  273. package/dist/index91.js +1 -1
  274. package/dist/index91.js.map +1 -1
  275. package/dist/index92.js +2 -2
  276. package/dist/index92.js.map +1 -1
  277. package/dist/index93.js +2 -2
  278. package/dist/index93.js.map +1 -1
  279. package/dist/index94.js +1 -1
  280. package/dist/index94.js.map +1 -1
  281. package/dist/index95.js +1 -1
  282. package/dist/index95.js.map +1 -1
  283. package/dist/index96.js +1 -1
  284. package/dist/index96.js.map +1 -1
  285. package/dist/index97.js +1 -1
  286. package/dist/index97.js.map +1 -1
  287. package/dist/index98.js +2 -2
  288. package/dist/index98.js.map +1 -1
  289. package/dist/index99.js +1 -1
  290. package/dist/index99.js.map +1 -1
  291. package/dist/typographyMixin.scss +60 -21
  292. package/package.json +1 -1
  293. package/dist/index130.js +0 -13
  294. package/dist/index130.js.map +0 -1
  295. package/dist/index131.js +0 -13
  296. package/dist/index131.js.map +0 -1
  297. package/dist/index132.js +0 -8
  298. package/dist/index132.js.map +0 -1
  299. package/dist/index133.js +0 -173
  300. package/dist/index133.js.map +0 -1
  301. package/dist/index134.js +0 -14
  302. package/dist/index134.js.map +0 -1
  303. package/dist/index135.js +0 -9
  304. package/dist/index135.js.map +0 -1
  305. package/dist/index136.js +0 -9
  306. package/dist/index136.js.map +0 -1
  307. /package/dist/assets/icons/{pdfFile.svg → pdf-file.svg} +0 -0
package/dist/index26.js CHANGED
@@ -1,65 +1,49 @@
1
- import r, { useState as g, useEffect as E } from "react";
2
- import { Icon as k } from "./index4.js";
3
- import { Dropdown as N } from "./index22.js";
1
+ import a, { useEffect as o } from "react";
2
+ import { Icon as v } from "./index5.js";
4
3
  /* empty css */
5
- const b = ({
6
- defaultActiveTab: c,
7
- tabs: o,
8
- onTabChange: n,
9
- primaryTabCount: a = 0
10
- }) => {
11
- const x = c || (o[0] ? o[0].id : ""), [l, m] = g(x), [v, p] = g(!1), u = a || (o == null ? void 0 : o.length), w = o.slice(0, u), t = o.slice(u), s = t.find((e) => e.id === l);
12
- E(() => {
13
- m(c || "");
14
- }, [c]);
15
- const i = (e) => {
16
- m(e == null ? void 0 : e.id), n == null || n(e == null ? void 0 : e.id);
17
- }, f = (e, d) => e.id === d;
18
- return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", {
19
- className: "se-design-tabs flex items-center relative border rounded-md border-[var(--color-gray-200)] w-fit"
20
- }, w.map((e) => {
21
- const d = l === e.id, y = e.disabled;
22
- return /* @__PURE__ */ r.createElement("div", {
23
- key: e.label,
24
- onClick: () => !y && i(e),
25
- className: `text-base px-3 py-0.5 border-l first:border-l-0 border-[var(--color-gray-200)] ${y ? "text-[var(--color-gray-400)] cursor-not-allowed" : d ? "text-[var(--color-blue-500)] bg-[var(--color-blue-100)] font-medium hover:cursor-pointer" : "text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer"}`
26
- }, e.label);
27
- }), t.length > 0 && /* @__PURE__ */ r.createElement("div", {
28
- className: "relative"
29
- }, /* @__PURE__ */ r.createElement("div", {
30
- className: `cursor-pointer text-base text-[var(--color-gray-700)] border-l border-[var(--color-gray-200)] py-0.5 px-1.5 ${s ? "bg-[var(--color-blue-100)]" : ""}`
31
- }, s ? /* @__PURE__ */ r.createElement(N, {
32
- defaultSelectedValue: s,
33
- defaultText: "Select",
34
- displaySelected: !0,
35
- dropDownOptions: t,
36
- optionsUniqueBy: "id",
37
- selectBy: "label",
38
- className: "se-design-tabs-dropdown",
39
- type: "select",
40
- onOptionClick: (e) => {
41
- i(e);
42
- },
43
- iconColor: "var(--color-blue-500)"
44
- }) : /* @__PURE__ */ r.createElement(k, {
45
- name: "kebab-menu",
46
- onClick: () => p(!v)
47
- })), v && /* @__PURE__ */ r.createElement("div", {
48
- className: "absolute top-full left-0 mt-1 bg-white border border-[var(--color-gray-200)] min-w-[165px] w-max shadow-lg rounded-md z-10"
49
- }, t.map((e) => /* @__PURE__ */ r.createElement("div", {
50
- key: e.label,
51
- onClick: () => {
52
- i(e), p(!1);
53
- },
54
- className: `px-4 py-2 cursor-pointer hover:bg-gray-100 ${l === e.id ? "text-[var(--color-gray-900)] font-bold" : "text-[var(--color-gray-700)]"}`
55
- }, e.label))))), /* @__PURE__ */ r.createElement("div", {
56
- className: "se-design-tabs-content"
57
- }, o.map((e) => /* @__PURE__ */ r.createElement("div", {
58
- key: e.id,
59
- className: `tab-content ${f(e, l) ? "block" : "hidden"}`
60
- }, f(e, l) && (e == null ? void 0 : e.renderTabContent) && (e == null ? void 0 : e.renderTabContent(e))))));
4
+ const N = (i) => {
5
+ const {
6
+ content: c,
7
+ className: n = "",
8
+ alignment: m,
9
+ noShadow: u,
10
+ position: l = "fxd",
11
+ isOpen: t,
12
+ displayCloseSidebar: b,
13
+ onClose: f,
14
+ onSidebarUnmount: r,
15
+ onPathChange: s,
16
+ style: y,
17
+ automationId: g,
18
+ currentPath: d = "",
19
+ closeSidebarIcon: h = "close"
20
+ } = i;
21
+ o(() => () => {
22
+ r && r();
23
+ }, []), o(() => (document.body.style.overflow = t ? "hidden" : "scroll", () => {
24
+ document.body.style.overflow = "auto";
25
+ }), [t]), o(() => {
26
+ s && s(d);
27
+ }, [d]);
28
+ const p = () => {
29
+ let e = "se-design-sidebar-overlay-container z-[1000]";
30
+ return e += n.length > 0 ? ` ${n}` : "", e += m === "left" ? " left-aligned" : " right-aligned", e += u ? " no-shadow" : "", e += l.length > 0 ? ` ${l}` : "", e += t ? " open-sidebar" : " closed-sidebar", e;
31
+ };
32
+ return /* @__PURE__ */ a.createElement("div", {
33
+ className: p(),
34
+ style: y,
35
+ "data-automation-id": g
36
+ }, /* @__PURE__ */ a.createElement("div", {
37
+ className: "overlay-content"
38
+ }, b && /* @__PURE__ */ a.createElement("span", {
39
+ className: "overlay-close",
40
+ onClick: f,
41
+ "data-automation-id": "sidebar_overlay_close"
42
+ }, /* @__PURE__ */ a.createElement(v, {
43
+ name: h
44
+ })), c));
61
45
  };
62
46
  export {
63
- b as Tabs
47
+ N as SidebarOverlay
64
48
  };
65
49
  //# sourceMappingURL=index26.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index26.js","sources":["../src/components/Tabs/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState, useEffect } from 'react';\nimport { Icon } from '../Icon';\nimport { Dropdown } from '../Dropdown';\n\nimport './style.scss';\n\ninterface TabProps {\n label: string;\n id: string;\n disabled?: boolean;\n renderTabContent?: (tab: TabProps) => ReactNode;\n}\ninterface TabsProps {\n defaultActiveTab?: string;\n tabs: TabProps[];\n onTabChange?: (tabId: string) => void;\n primaryTabCount?: number; // prop for controlling primary tabs\n}\n\nexport const Tabs: FC<TabsProps> = ({ defaultActiveTab, tabs, onTabChange, primaryTabCount = 0 }) => {\n const defaultTabId = defaultActiveTab || (tabs[0] ? tabs[0].id : '');\n const [activeTab, setActiveTab] = useState(defaultTabId);\n const [showDropdown, setShowDropdown] = useState(false);\n\n const visibleTabCount = primaryTabCount ? primaryTabCount : tabs?.length;\n const visibleTabs = tabs.slice(0, visibleTabCount);\n const overflowTabs = tabs.slice(visibleTabCount);\n const activeOverflowTab = overflowTabs.find((tab) => tab.id === activeTab);\n\n useEffect(() => {\n setActiveTab(defaultActiveTab || '');\n }, [defaultActiveTab]);\n\n const handleTabClick = (tab: TabProps) => {\n setActiveTab(tab?.id);\n onTabChange?.(tab?.id);\n };\n\n const isTabActive = (tab: TabProps, activeTab: string) => {\n return tab.id === activeTab;\n };\n\n return (\n <>\n <div className=\"se-design-tabs flex items-center relative border rounded-md border-[var(--color-gray-200)] w-fit\">\n {visibleTabs.map((tab) => {\n const isActive = activeTab === tab.id;\n const isDisabled = tab.disabled;\n return (\n <div\n key={tab.label}\n onClick={() => !isDisabled && handleTabClick(tab)}\n className={`text-base px-3 py-0.5 border-l first:border-l-0 border-[var(--color-gray-200)] ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isActive\n ? 'text-[var(--color-blue-500)] bg-[var(--color-blue-100)] font-medium hover:cursor-pointer'\n : 'text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer'\n }`}\n >\n {tab.label}\n </div>\n );\n })}\n\n {overflowTabs.length > 0 && (\n <div className=\"relative\">\n <div\n className={`cursor-pointer text-base text-[var(--color-gray-700)] border-l border-[var(--color-gray-200)] py-0.5 px-1.5 ${activeOverflowTab ? 'bg-[var(--color-blue-100)]' : ''}`}\n >\n {activeOverflowTab ? (\n <Dropdown\n defaultSelectedValue={activeOverflowTab}\n defaultText=\"Select\"\n displaySelected\n dropDownOptions={overflowTabs}\n optionsUniqueBy=\"id\"\n selectBy=\"label\"\n className=\"se-design-tabs-dropdown\"\n type=\"select\"\n onOptionClick={(option: any) => {\n handleTabClick(option);\n }}\n iconColor=\"var(--color-blue-500)\"\n />\n ) : (\n <Icon name=\"kebab-menu\" onClick={() => setShowDropdown(!showDropdown)} />\n )}\n </div>\n\n {showDropdown && (\n <div className=\"absolute top-full left-0 mt-1 bg-white border border-[var(--color-gray-200)] min-w-[165px] w-max shadow-lg rounded-md z-10\">\n {overflowTabs.map((tab) => (\n <div\n key={tab.label}\n onClick={() => {\n handleTabClick(tab);\n setShowDropdown(false);\n }}\n className={`px-4 py-2 cursor-pointer hover:bg-gray-100 ${\n activeTab === tab.id ? 'text-[var(--color-gray-900)] font-bold' : 'text-[var(--color-gray-700)]'\n }`}\n >\n {tab.label}\n </div>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n\n <div className=\"se-design-tabs-content\">\n {tabs.map((tab) => (\n <div key={tab.id} className={`tab-content ${isTabActive(tab, activeTab) ? 'block' : 'hidden'}`}>\n {isTabActive(tab, activeTab) && tab?.renderTabContent && tab?.renderTabContent(tab)}\n </div>\n ))}\n </div>\n </>\n );\n};\n"],"names":["Tabs","defaultActiveTab","tabs","onTabChange","primaryTabCount","defaultTabId","id","activeTab","setActiveTab","useState","showDropdown","setShowDropdown","visibleTabCount","length","visibleTabs","slice","overflowTabs","activeOverflowTab","find","tab","useEffect","handleTabClick","isTabActive","createElement","React","Fragment","className","map","isActive","isDisabled","disabled","key","label","onClick","Dropdown","defaultSelectedValue","defaultText","displaySelected","dropDownOptions","optionsUniqueBy","selectBy","type","onOptionClick","option","iconColor","Icon","name","renderTabContent"],"mappings":"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"}
1
+ {"version":3,"file":"index26.js","sources":["../src/components/SidebarOverlay/index.tsx"],"sourcesContent":["import React, { FC, useEffect } from 'react';\nimport { Icon } from 'components/Icon';\n\nimport './style.scss';\n\nexport interface SidebarOverlayProps {\n content: React.ReactNode;\n className?: string;\n alignment?: 'left' | 'right';\n style?: React.CSSProperties;\n noShadow?: boolean;\n automationId?: string;\n position?: 'abs' | 'fxd' | '';\n isOpen?: boolean;\n displayCloseSidebar?: boolean;\n closeSidebarIcon?: string;\n onClose?: () => void;\n onSidebarUnmount?: () => void;\n onPathChange?: (route: string) => void;\n currentPath?: string;\n}\n\nexport const SidebarOverlay: FC<SidebarOverlayProps> = (props) => {\n const { content, className = '', alignment, noShadow, position = 'fxd', isOpen, displayCloseSidebar, onClose, onSidebarUnmount, onPathChange, style, automationId, currentPath = '', closeSidebarIcon = 'close' } = props;\n\n useEffect(() => {\n return () => {\n onSidebarUnmount && onSidebarUnmount();\n };\n }, []);\n\n // This is to prevent the body from scrolling when the sidebar is open\n useEffect(() => {\n document.body.style.overflow = isOpen ? 'hidden' : 'scroll';\n\n return () => {\n document.body.style.overflow = 'auto'; // Cleanup on unmount\n };\n }, [isOpen]);\n\n useEffect(() => {\n onPathChange && onPathChange(currentPath);\n }, [currentPath]);\n\n const getSidebarClassName = () => {\n let defaultClass = 'se-design-sidebar-overlay-container z-[1000]';\n\n defaultClass += className.length > 0 ? ` ${className}` : '';\n defaultClass += alignment === 'left' ? ' left-aligned' : ' right-aligned';\n defaultClass += noShadow ? ' no-shadow' : '';\n defaultClass += position.length > 0 ? ` ${position}` : '';\n defaultClass += isOpen ? ' open-sidebar' : ' closed-sidebar';\n return defaultClass;\n };\n\n return (\n <div className={getSidebarClassName()} style={style} data-automation-id={automationId}>\n <div className=\"overlay-content\">\n {displayCloseSidebar && (\n <span className=\"overlay-close\" onClick={onClose} data-automation-id=\"sidebar_overlay_close\">\n <Icon name={closeSidebarIcon} />\n </span>\n )}\n {content}\n </div>\n </div>\n );\n};\n"],"names":["React__default","useEffect","Icon","SidebarOverlay","props","content","className","alignment","noShadow","position","isOpen","displayCloseSidebar","onClose","onSidebarUnmount","onPathChange","style","automationId","currentPath","closeSidebarIcon","document","body","overflow","getSidebarClassName","defaultClass","length","React","createElement","onClick","name"],"mappings":"AAsBO,OAAAA,KAAA,aAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAA2CC,CAAUA,MAAA;AAC1D,QAAA;AAAA,IAAEC,SAAAA;AAAAA,IAASC,WAAAA,IAAY;AAAA,IAAIC,WAAAA;AAAAA,IAAWC,UAAAA;AAAAA,IAAUC,UAAAA,IAAW;AAAA,IAAOC,QAAAA;AAAAA,IAAQC,qBAAAA;AAAAA,IAAqBC,SAAAA;AAAAA,IAASC,kBAAAA;AAAAA,IAAkBC,cAAAA;AAAAA,IAAcC,OAAAA;AAAAA,IAAOC,cAAAA;AAAAA,IAAcC,aAAAA,IAAc;AAAA,IAAIC,kBAAAA,IAAmB;AAAA,EAAA,IAAYd;AAEpNH,EAAAA,EAAU,MACD,MAAM;AACXY,IAAAA,KAAoBA,EAAiB;AAAA,EACvC,GACC,EAAE,GAGLZ,EAAU,OACRkB,SAASC,KAAKL,MAAMM,WAAWX,IAAS,WAAW,UAE5C,MAAM;AACFU,aAAAA,KAAKL,MAAMM,WAAW;AAAA,EACjC,IACC,CAACX,CAAM,CAAC,GAEXT,EAAU,MAAM;AACda,IAAAA,KAAgBA,EAAaG,CAAW;AAAA,EAAA,GACvC,CAACA,CAAW,CAAC;AAEhB,QAAMK,IAAsBA,MAAM;AAChC,QAAIC,IAAe;AAEnBA,WAAAA,KAAgBjB,EAAUkB,SAAS,IAAI,IAAIlB,CAAS,KAAK,IACzCC,KAAAA,MAAc,SAAS,kBAAkB,kBACzDgB,KAAgBf,IAAW,eAAe,IAC1Ce,KAAgBd,EAASe,SAAS,IAAI,IAAIf,CAAQ,KAAK,IACvDc,KAAgBb,IAAS,kBAAkB,mBACpCa;AAAAA,EACT;AAGEE,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKpB,WAAWgB,EAAoB;AAAA,IAAGP,OAAAA;AAAAA,IAAc,sBAAoBC;AAAAA,EAAAA,GACvEU,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKpB,WAAU;AAAA,EACZK,GAAAA,KACCe,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMpB,WAAU;AAAA,IAAgBqB,SAASf;AAAAA,IAAS,sBAAmB;AAAA,EAAA,GACnEc,gBAAAA,EAAAA,cAACxB,GAAI;AAAA,IAAC0B,MAAMV;AAAAA,EAAAA,CAAmB,CAC3B,GAEPb,CACE,CACF;AAET;"}
package/dist/index27.js CHANGED
@@ -1,67 +1,65 @@
1
- import e from "react";
2
- import { Icon as h } from "./index4.js";
3
- import { Button as N } from "./index3.js";
1
+ import r, { useState as g, useEffect as E } from "react";
2
+ import { Icon as k } from "./index5.js";
3
+ import { Dropdown as N } from "./index23.js";
4
4
  /* empty css */
5
- const n = {
6
- bannerCtn: "relative rounded-[12px] flex pr-3.5 cursor-pointer",
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",
10
- bannerCloseIconCtn: "absolute top-[12px] right-[12px] cursor-pointer hover:bg-[var(--color-gray-100)] rounded-full p-1",
11
- bannerButton: "self-start"
12
- }, B = (t) => {
13
- const {
14
- bannerClassName: i,
15
- bannerBgColor: m,
16
- title: C,
17
- description: b,
18
- hasImage: a,
19
- imagePosition: r = "right",
20
- hasCloseIcon: p,
21
- closeIconName: u,
22
- onClose: d,
23
- onBannerClick: o,
24
- ctaText: l,
25
- hasLinkCta: g,
26
- onCtaClick: c,
27
- hasButtonCta: x,
28
- buttonType: f = "secondary"
29
- } = t, s = () => a && /* @__PURE__ */ e.createElement("div", {
30
- className: `${n.bannerImageCtn} banner-image-ctn min-h-full`,
31
- onClick: o
32
- }, /* @__PURE__ */ e.createElement("img", {
33
- src: t.bannerImage,
34
- className: "max-w-[initial] h-[initial] max-h-[150px] object-contain"
35
- }));
36
- return /* @__PURE__ */ e.createElement("div", {
37
- className: `${n.bannerCtn} ${i} banner-ctn`,
38
- style: {
39
- backgroundColor: m
40
- }
41
- }, r === "left" && s(), /* @__PURE__ */ e.createElement("div", {
42
- className: `${n.bannerContentCtn} ${a ? "w-[70%]" : "w-[100%]"} banner-content-ctn`,
43
- onClick: o
44
- }, /* @__PURE__ */ e.createElement("span", {
45
- className: "banner-title"
46
- }, C), /* @__PURE__ */ e.createElement("span", {
47
- className: "banner-description"
48
- }, b), g && /* @__PURE__ */ e.createElement("span", {
49
- className: n.bannerLinkCta,
50
- onClick: c
51
- }, l), x && /* @__PURE__ */ e.createElement(N, {
52
- type: f,
53
- size: "sm",
54
- label: l,
55
- onClick: c,
56
- className: n.bannerButton
57
- })), r === "right" && s(), /* @__PURE__ */ e.createElement("span", {
58
- className: n.bannerCloseIconCtn,
59
- onClick: d
60
- }, p && /* @__PURE__ */ e.createElement(h, {
61
- name: u
62
- })));
5
+ const b = ({
6
+ defaultActiveTab: c,
7
+ tabs: o,
8
+ onTabChange: n,
9
+ primaryTabCount: a = 0
10
+ }) => {
11
+ const x = c || (o[0] ? o[0].id : ""), [l, m] = g(x), [v, p] = g(!1), u = a || (o == null ? void 0 : o.length), w = o.slice(0, u), t = o.slice(u), s = t.find((e) => e.id === l);
12
+ E(() => {
13
+ m(c || "");
14
+ }, [c]);
15
+ const i = (e) => {
16
+ m(e == null ? void 0 : e.id), n == null || n(e == null ? void 0 : e.id);
17
+ }, f = (e, d) => e.id === d;
18
+ return /* @__PURE__ */ r.createElement(r.Fragment, null, /* @__PURE__ */ r.createElement("div", {
19
+ className: "se-design-tabs flex items-center relative border rounded-md border-[var(--color-gray-200)] w-fit"
20
+ }, w.map((e) => {
21
+ const d = l === e.id, y = e.disabled;
22
+ return /* @__PURE__ */ r.createElement("div", {
23
+ key: e.label,
24
+ onClick: () => !y && i(e),
25
+ className: `text-base px-3 py-0.5 border-l first:border-l-0 border-[var(--color-gray-200)] ${y ? "text-[var(--color-gray-400)] cursor-not-allowed" : d ? "text-[var(--color-blue-500)] bg-[var(--color-blue-100)] font-medium hover:cursor-pointer" : "text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer"}`
26
+ }, e.label);
27
+ }), t.length > 0 && /* @__PURE__ */ r.createElement("div", {
28
+ className: "relative"
29
+ }, /* @__PURE__ */ r.createElement("div", {
30
+ className: `cursor-pointer text-base text-[var(--color-gray-700)] border-l border-[var(--color-gray-200)] py-0.5 px-1.5 ${s ? "bg-[var(--color-blue-100)]" : ""}`
31
+ }, s ? /* @__PURE__ */ r.createElement(N, {
32
+ defaultSelectedValue: s,
33
+ defaultText: "Select",
34
+ displaySelected: !0,
35
+ dropDownOptions: t,
36
+ optionsUniqueBy: "id",
37
+ selectBy: "label",
38
+ className: "se-design-tabs-dropdown",
39
+ type: "select",
40
+ onOptionClick: (e) => {
41
+ i(e);
42
+ },
43
+ iconColor: "var(--color-blue-500)"
44
+ }) : /* @__PURE__ */ r.createElement(k, {
45
+ name: "kebab-menu",
46
+ onClick: () => p(!v)
47
+ })), v && /* @__PURE__ */ r.createElement("div", {
48
+ className: "absolute top-full left-0 mt-1 bg-white border border-[var(--color-gray-200)] min-w-[165px] w-max shadow-lg rounded-md z-10"
49
+ }, t.map((e) => /* @__PURE__ */ r.createElement("div", {
50
+ key: e.label,
51
+ onClick: () => {
52
+ i(e), p(!1);
53
+ },
54
+ className: `px-4 py-2 cursor-pointer hover:bg-gray-100 ${l === e.id ? "text-[var(--color-gray-900)] font-bold" : "text-[var(--color-gray-700)]"}`
55
+ }, e.label))))), /* @__PURE__ */ r.createElement("div", {
56
+ className: "se-design-tabs-content"
57
+ }, o.map((e) => /* @__PURE__ */ r.createElement("div", {
58
+ key: e.id,
59
+ className: `tab-content ${f(e, l) ? "block" : "hidden"}`
60
+ }, f(e, l) && (e == null ? void 0 : e.renderTabContent) && (e == null ? void 0 : e.renderTabContent(e))))));
63
61
  };
64
62
  export {
65
- B as Banner
63
+ b as Tabs
66
64
  };
67
65
  //# sourceMappingURL=index27.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index27.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 buttonType?: 'primary' | 'secondary' | 'link';\n hasLinkCta?: boolean | false;\n ctaText: string | '';\n onCtaClick: () => 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 hasButtonCta,\n buttonType = 'secondary'\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 {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 </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","hasButtonCta","buttonType","renderImage","React","createElement","className","onClick","src","bannerImage","style","backgroundColor","type","size","label","name"],"mappings":"AAyBA,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,cAAAA;AAAAA,IACAC,YAAAA,IAAa;AAAA,EAAA,IACXf,GAEEgB,IAAcA,MAClBX,KACEY,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAG3B,EAAWI,cAAc;AAAA,IAAgCwB,SAASV;AAAAA,EAAAA,GACnFQ,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKG,KAAKrB,EAAMsB;AAAAA,IAAaH,WAAU;AAAA,EAAA,CAA4D,CAChG;AAIPF,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAG3B,EAAWC,SAAS,IAAIQ,CAAe;AAAA,IAAesB,OAAO;AAAA,MAAEC,iBAAiBtB;AAAAA,IAAAA;AAAAA,EAAc,GAC9GI,MAAkB,UAAUU,EAC7BC,GAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAW,GAAG3B,EAAWE,gBAAgB,IAAIW,IAAW,YAAY,UAAU;AAAA,IAC9Ee,SAASV;AAAAA,EAAAA,GAETQ,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAgBhB,GAAAA,CAAY,GAC5Cc,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,KAAsBf,CAAkB,GACvDQ,KACCK,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAW3B,EAAWG;AAAAA,IAAeyB,SAASP;AAAAA,KACjDF,CACG,GAEPG,KACCG,gBAAAA,EAAAC,cAAC3B,GAAM;AAAA,IACLkC,MAAMV;AAAAA,IACNW,MAAK;AAAA,IACLC,OAAOhB;AAAAA,IACPS,SAASP;AAAAA,IACTM,WAAW3B,EAAWM;AAAAA,EAAAA,CACvB,CAEA,GACJQ,MAAkB,WAAWU,EAAY,GAC1CE,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAW3B,EAAWK;AAAAA,IAAoBuB,SAASX;AAAAA,EACtDF,GAAAA,KAAgBW,gBAAAA,EAAAA,cAAC5B,GAAI;AAAA,IAACsC,MAAMpB;AAAAA,EAAgB,CAAA,CACzC,CACH;AAET;"}
1
+ {"version":3,"file":"index27.js","sources":["../src/components/Tabs/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState, useEffect } from 'react';\nimport { Icon } from '../Icon';\nimport { Dropdown } from '../Dropdown';\n\nimport './style.scss';\n\ninterface TabProps {\n label: string;\n id: string;\n disabled?: boolean;\n renderTabContent?: (tab: TabProps) => ReactNode;\n}\ninterface TabsProps {\n defaultActiveTab?: string;\n tabs: TabProps[];\n onTabChange?: (tabId: string) => void;\n primaryTabCount?: number; // prop for controlling primary tabs\n}\n\nexport const Tabs: FC<TabsProps> = ({ defaultActiveTab, tabs, onTabChange, primaryTabCount = 0 }) => {\n const defaultTabId = defaultActiveTab || (tabs[0] ? tabs[0].id : '');\n const [activeTab, setActiveTab] = useState(defaultTabId);\n const [showDropdown, setShowDropdown] = useState(false);\n\n const visibleTabCount = primaryTabCount ? primaryTabCount : tabs?.length;\n const visibleTabs = tabs.slice(0, visibleTabCount);\n const overflowTabs = tabs.slice(visibleTabCount);\n const activeOverflowTab = overflowTabs.find((tab) => tab.id === activeTab);\n\n useEffect(() => {\n setActiveTab(defaultActiveTab || '');\n }, [defaultActiveTab]);\n\n const handleTabClick = (tab: TabProps) => {\n setActiveTab(tab?.id);\n onTabChange?.(tab?.id);\n };\n\n const isTabActive = (tab: TabProps, activeTab: string) => {\n return tab.id === activeTab;\n };\n\n return (\n <>\n <div className=\"se-design-tabs flex items-center relative border rounded-md border-[var(--color-gray-200)] w-fit\">\n {visibleTabs.map((tab) => {\n const isActive = activeTab === tab.id;\n const isDisabled = tab.disabled;\n return (\n <div\n key={tab.label}\n onClick={() => !isDisabled && handleTabClick(tab)}\n className={`text-base px-3 py-0.5 border-l first:border-l-0 border-[var(--color-gray-200)] ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isActive\n ? 'text-[var(--color-blue-500)] bg-[var(--color-blue-100)] font-medium hover:cursor-pointer'\n : 'text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer'\n }`}\n >\n {tab.label}\n </div>\n );\n })}\n\n {overflowTabs.length > 0 && (\n <div className=\"relative\">\n <div\n className={`cursor-pointer text-base text-[var(--color-gray-700)] border-l border-[var(--color-gray-200)] py-0.5 px-1.5 ${activeOverflowTab ? 'bg-[var(--color-blue-100)]' : ''}`}\n >\n {activeOverflowTab ? (\n <Dropdown\n defaultSelectedValue={activeOverflowTab}\n defaultText=\"Select\"\n displaySelected\n dropDownOptions={overflowTabs}\n optionsUniqueBy=\"id\"\n selectBy=\"label\"\n className=\"se-design-tabs-dropdown\"\n type=\"select\"\n onOptionClick={(option: any) => {\n handleTabClick(option);\n }}\n iconColor=\"var(--color-blue-500)\"\n />\n ) : (\n <Icon name=\"kebab-menu\" onClick={() => setShowDropdown(!showDropdown)} />\n )}\n </div>\n\n {showDropdown && (\n <div className=\"absolute top-full left-0 mt-1 bg-white border border-[var(--color-gray-200)] min-w-[165px] w-max shadow-lg rounded-md z-10\">\n {overflowTabs.map((tab) => (\n <div\n key={tab.label}\n onClick={() => {\n handleTabClick(tab);\n setShowDropdown(false);\n }}\n className={`px-4 py-2 cursor-pointer hover:bg-gray-100 ${\n activeTab === tab.id ? 'text-[var(--color-gray-900)] font-bold' : 'text-[var(--color-gray-700)]'\n }`}\n >\n {tab.label}\n </div>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n\n <div className=\"se-design-tabs-content\">\n {tabs.map((tab) => (\n <div key={tab.id} className={`tab-content ${isTabActive(tab, activeTab) ? 'block' : 'hidden'}`}>\n {isTabActive(tab, activeTab) && tab?.renderTabContent && tab?.renderTabContent(tab)}\n </div>\n ))}\n </div>\n </>\n );\n};\n"],"names":["Tabs","defaultActiveTab","tabs","onTabChange","primaryTabCount","defaultTabId","id","activeTab","setActiveTab","useState","showDropdown","setShowDropdown","visibleTabCount","length","visibleTabs","slice","overflowTabs","activeOverflowTab","find","tab","useEffect","handleTabClick","isTabActive","createElement","React","Fragment","className","map","isActive","isDisabled","disabled","key","label","onClick","Dropdown","defaultSelectedValue","defaultText","displaySelected","dropDownOptions","optionsUniqueBy","selectBy","type","onOptionClick","option","iconColor","Icon","name","renderTabContent"],"mappings":"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"}
package/dist/index28.js CHANGED
@@ -1,46 +1,79 @@
1
- import r from "react";
2
- import { Icon as h } from "./index4.js";
3
- const E = ({
4
- currentPage: s,
5
- itemsPerPage: l,
6
- totalItems: n,
7
- onPageChange: i
8
- }) => {
9
- const o = Math.ceil(n / l), m = 1, d = o, f = (s - 1) * l + 1, p = Math.min(s * l, n), u = p < n, x = s > 1, y = () => {
10
- const e = [], t = (a) => /* @__PURE__ */ r.createElement("span", {
11
- key: a,
12
- onClick: () => i(a),
13
- className: `w-5 h-5 text-sm flex items-center justify-center rounded border ${s === a ? "bg-[var(--color-gray-100)] border-[var(--color-gray-300)]" : "border-[var(--color-gray-200)] hover:bg-[var(--color-gray-50)]"}`
14
- }, a), c = () => /* @__PURE__ */ r.createElement("span", {
15
- className: "w-5 h-5 text-sm rounded border border-[var(--color-gray-200)] flex items-end justify-center"
16
- }, "...");
17
- if (s <= 3) {
18
- for (let a = 1; a <= Math.min(3, o); a++)
19
- e.push(t(a));
20
- o > 3 && (e.push(c()), e.push(t(o)));
21
- } else s >= o - 2 ? (e.push(t(m)), e.push(c()), e.push(t(o - 2)), e.push(t(o - 1)), e.push(t(o))) : (e.push(t(m)), e.push(c()), e.push(t(s - 1)), e.push(t(s)), e.push(t(s + 1)), e.push(c()), e.push(t(d)));
22
- return e;
23
- };
24
- return /* @__PURE__ */ r.createElement("div", {
25
- className: "flex items-center gap-1 font-normal"
26
- }, /* @__PURE__ */ r.createElement("span", {
27
- className: "text-sm text-[var(--color-gray-700)] mr-1"
28
- }, "Showing ", f, "-", p, " of ", n), /* @__PURE__ */ r.createElement("span", {
29
- onClick: () => x && i(s - 1),
30
- className: "w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer"
31
- }, /* @__PURE__ */ r.createElement(h, {
32
- name: "next",
33
- className: "rotate-180 transition-transform stroke-[var(--color-gray-600)]"
34
- })), /* @__PURE__ */ r.createElement("div", {
35
- className: "flex items-center gap-1"
36
- }, y()), /* @__PURE__ */ r.createElement("span", {
37
- onClick: () => u && i(s + 1),
38
- className: "w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer"
39
- }, /* @__PURE__ */ r.createElement(h, {
40
- name: "next"
1
+ import e from "react";
2
+ import { Icon as I } from "./index5.js";
3
+ import { Button as i } from "./index3.js";
4
+ /* empty css */
5
+ const n = {
6
+ bannerCtn: "relative rounded-[12px] flex pr-3.5 cursor-pointer",
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",
10
+ bannerCloseIconCtn: "absolute top-[12px] right-[12px] cursor-pointer hover:bg-[var(--color-gray-100)] rounded-full p-1",
11
+ bannerButton: "self-start"
12
+ }, T = (t) => {
13
+ const {
14
+ bannerClassName: m,
15
+ bannerBgColor: C,
16
+ title: p,
17
+ description: b,
18
+ hasImage: a,
19
+ imagePosition: r = "right",
20
+ hasCloseIcon: d,
21
+ closeIconName: u,
22
+ onClose: g,
23
+ onBannerClick: o,
24
+ ctaText: l,
25
+ hasLinkCta: x,
26
+ onCtaClick: c,
27
+ onSecondaryCtaClick: f,
28
+ hasButtonCta: y,
29
+ buttonType: h = "secondary",
30
+ hasSecondaryButtonCta: k = !1,
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`,
35
+ onClick: o
36
+ }, /* @__PURE__ */ e.createElement("img", {
37
+ src: t.bannerImage,
38
+ className: "max-w-[initial] h-[initial] max-h-[150px] object-contain"
39
+ }));
40
+ return /* @__PURE__ */ e.createElement("div", {
41
+ className: `${n.bannerCtn} ${m} banner-ctn`,
42
+ style: {
43
+ backgroundColor: C
44
+ }
45
+ }, r === "left" && s(), /* @__PURE__ */ e.createElement("div", {
46
+ className: `${n.bannerContentCtn} ${a ? "w-[70%]" : "w-[100%]"} banner-content-ctn`,
47
+ onClick: o
48
+ }, /* @__PURE__ */ e.createElement("span", {
49
+ className: "banner-title"
50
+ }, p), /* @__PURE__ */ e.createElement("span", {
51
+ className: "banner-description"
52
+ }, b), /* @__PURE__ */ e.createElement("div", {
53
+ className: "flex gap-3"
54
+ }, x && /* @__PURE__ */ e.createElement("span", {
55
+ className: n.bannerLinkCta,
56
+ onClick: c
57
+ }, l), y && /* @__PURE__ */ e.createElement(i, {
58
+ type: h,
59
+ size: "sm",
60
+ label: l,
61
+ onClick: c,
62
+ className: n == null ? void 0 : n.bannerButton
63
+ }), k && /* @__PURE__ */ e.createElement(i, {
64
+ type: E,
65
+ size: "sm",
66
+ label: B,
67
+ onClick: f,
68
+ className: n == null ? void 0 : n.secondaryBannerButton
69
+ }))), r === "right" && s(), /* @__PURE__ */ e.createElement("span", {
70
+ className: n.bannerCloseIconCtn,
71
+ onClick: g
72
+ }, d && /* @__PURE__ */ e.createElement(I, {
73
+ name: u
41
74
  })));
42
75
  };
43
76
  export {
44
- E as Pagination
77
+ T as Banner
45
78
  };
46
79
  //# sourceMappingURL=index28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index28.js","sources":["../src/components/Pagination/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from 'components/Icon';\n\ninterface PaginationProps {\n currentPage: number;\n itemsPerPage: number;\n totalItems: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({ currentPage, itemsPerPage, totalItems, onPageChange }) => {\n const totalPages = Math.ceil(totalItems / itemsPerPage);\n const firstPage = 1;\n const lastPage = totalPages;\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n const hasNextPage = endItem < totalItems;\n const hasPrevPage = currentPage > 1;\n\n const renderPageNumbers = () => {\n const pages = [];\n\n const renderPageNumber = (pageNum: number) => {\n return (\n <span\n key={pageNum}\n onClick={() => onPageChange(pageNum)}\n className={`w-5 h-5 text-sm flex items-center justify-center rounded border ${currentPage === pageNum ? 'bg-[var(--color-gray-100)] border-[var(--color-gray-300)]' : 'border-[var(--color-gray-200)] hover:bg-[var(--color-gray-50)]'}`}\n >\n {pageNum}\n </span>\n );\n };\n\n const renderEllipsis = () => {\n return (\n <span className=\"w-5 h-5 text-sm rounded border border-[var(--color-gray-200)] flex items-end justify-center\">\n ...\n </span>\n );\n };\n\n if (currentPage <= 3) {\n for (let i = 1; i <= Math.min(3, totalPages); i++) {\n pages.push(renderPageNumber(i));\n }\n\n if (totalPages > 3) {\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(totalPages));\n }\n } else if (currentPage >= totalPages - 2) {\n pages.push(renderPageNumber(firstPage));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(totalPages - 2));\n pages.push(renderPageNumber(totalPages - 1));\n pages.push(renderPageNumber(totalPages));\n } else {\n pages.push(renderPageNumber(firstPage));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(currentPage - 1));\n pages.push(renderPageNumber(currentPage));\n pages.push(renderPageNumber(currentPage + 1));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(lastPage));\n }\n\n return pages;\n };\n\n return (\n <div className=\"flex items-center gap-1 font-normal\">\n <span className=\"text-sm text-[var(--color-gray-700)] mr-1\">\n Showing {startItem}-{endItem} of {totalItems}\n </span>\n <span\n onClick={() => hasPrevPage && onPageChange(currentPage - 1)}\n className=\"w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer\"\n >\n <Icon name=\"next\" className=\"rotate-180 transition-transform stroke-[var(--color-gray-600)]\" />\n </span>\n {/* Render page numbers */}\n <div className=\"flex items-center gap-1\">{renderPageNumbers()}</div>\n <span\n onClick={() => hasNextPage && onPageChange(currentPage + 1)}\n className=\"w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer\"\n >\n <Icon name=\"next\" />\n </span>\n </div>\n );\n};\n"],"names":["Pagination","currentPage","itemsPerPage","totalItems","onPageChange","totalPages","Math","ceil","firstPage","lastPage","startItem","endItem","min","hasNextPage","hasPrevPage","renderPageNumbers","pages","renderPageNumber","pageNum","React","createElement","key","onClick","className","renderEllipsis","i","push","Icon","name"],"mappings":";;AAWO,MAAMA,IAAwCA,CAAC;AAAA,EAAEC,aAAAA;AAAAA,EAAaC,cAAAA;AAAAA,EAAcC,YAAAA;AAAAA,EAAYC,cAAAA;AAAa,MAAM;AAChH,QAAMC,IAAaC,KAAKC,KAAKJ,IAAaD,CAAY,GAChDM,IAAY,GACZC,IAAWJ,GACXK,KAAaT,IAAc,KAAKC,IAAe,GAC/CS,IAAUL,KAAKM,IAAIX,IAAcC,GAAcC,CAAU,GACzDU,IAAcF,IAAUR,GACxBW,IAAcb,IAAc,GAE5Bc,IAAoBA,MAAM;AAC9B,UAAMC,IAAQ,CAAE,GAEVC,IAAmBA,CAACC,MAEtBC,gBAAAA,EAAAC,cAAA,QAAA;AAAA,MACEC,KAAKH;AAAAA,MACLI,SAASA,MAAMlB,EAAac,CAAO;AAAA,MACnCK,WAAW,mEAAmEtB,MAAgBiB,IAAU,8DAA8D,gEAAgE;AAAA,OAErOA,CACG,GAIJM,IAAiBA,MAEnBL,gBAAAA,EAAAC,cAAA,QAAA;AAAA,MAAMG,WAAU;AAAA,OAA8F,KAExG;AAIV,QAAItB,KAAe,GAAG;AACXwB,eAAAA,IAAI,GAAGA,KAAKnB,KAAKM,IAAI,GAAGP,CAAU,GAAGoB;AACtCC,QAAAA,EAAAA,KAAKT,EAAiBQ,CAAC,CAAC;AAGhC,MAAIpB,IAAa,MACTqB,EAAAA,KAAKF,GAAgB,GACrBE,EAAAA,KAAKT,EAAiBZ,CAAU,CAAC;AAAA,IACzC,MACF,CAAWJ,KAAeI,IAAa,KAC/BqB,EAAAA,KAAKT,EAAiBT,CAAS,CAAC,GAChCkB,EAAAA,KAAKF,GAAgB,GAC3BR,EAAMU,KAAKT,EAAiBZ,IAAa,CAAC,CAAC,GAC3CW,EAAMU,KAAKT,EAAiBZ,IAAa,CAAC,CAAC,GACrCqB,EAAAA,KAAKT,EAAiBZ,CAAU,CAAC,MAEjCqB,EAAAA,KAAKT,EAAiBT,CAAS,CAAC,GAChCkB,EAAAA,KAAKF,GAAgB,GAC3BR,EAAMU,KAAKT,EAAiBhB,IAAc,CAAC,CAAC,GACtCyB,EAAAA,KAAKT,EAAiBhB,CAAW,CAAC,GACxCe,EAAMU,KAAKT,EAAiBhB,IAAc,CAAC,CAAC,GACtCyB,EAAAA,KAAKF,GAAgB,GACrBE,EAAAA,KAAKT,EAAiBR,CAAQ,CAAC;AAGhCO,WAAAA;AAAAA,EACT;AAGEG,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKG,WAAU;AAAA,EAAA,GACbH,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMG,WAAU;AAAA,EAAA,GAA4C,YACjDb,GAAU,KAAEC,GAAQ,QAAKR,CAC9B,GACNiB,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IACEE,SAASA,MAAMR,KAAeV,EAAaH,IAAc,CAAC;AAAA,IAC1DsB,WAAU;AAAA,EAAA,GAEVH,gBAAAA,EAAAA,cAACO,GAAI;AAAA,IAACC,MAAK;AAAA,IAAOL,WAAU;AAAA,EAAkE,CAAA,CAC1F,GAENJ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKG,WAAU;AAAA,KAA2BR,EAAkB,CAAO,GACnEI,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IACEE,SAASA,MAAMT,KAAeT,EAAaH,IAAc,CAAC;AAAA,IAC1DsB,WAAU;AAAA,EAAA,GAEVH,gBAAAA,EAAAA,cAACO,GAAI;AAAA,IAACC,MAAK;AAAA,EAAQ,CAAA,CACf,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}\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;"}