se-design 0.0.113 → 0.0.115

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 (310) hide show
  1. package/dist/assets/icons/checked-circle.svg +8 -0
  2. package/dist/assets/icons/chevron.svg +3 -0
  3. package/dist/assets/icons/csv-file.svg +6 -0
  4. package/dist/assets/icons/file.svg +3 -0
  5. package/dist/assets/icons/folder.svg +1 -1
  6. package/dist/assets/icons/hamburger.svg +2 -4
  7. package/dist/assets/icons/kebab-menu.svg +3 -8
  8. package/dist/assets/icons/observer.svg +4 -0
  9. package/dist/assets/icons/reset.svg +2 -2
  10. package/dist/assets/icons/rotate.svg +3 -0
  11. package/dist/assets/icons/search.svg +3 -3
  12. package/dist/assets/icons/select-files.svg +25 -0
  13. package/dist/assets/icons/shipment.svg +5 -0
  14. package/dist/assets/icons/signer.svg +5 -0
  15. package/dist/assets/style.css +1 -1
  16. package/dist/components/BreadCrumbs/index.d.ts +12 -0
  17. package/dist/components/Button/index.d.ts +3 -2
  18. package/dist/components/CustomModal/index.d.ts +1 -0
  19. package/dist/components/FilePicker/index.d.ts +41 -0
  20. package/dist/components/KebabMenu/index.d.ts +1 -3
  21. package/dist/components/Modal/index.d.ts +2 -0
  22. package/dist/components/index.d.ts +2 -0
  23. package/dist/index.js +88 -84
  24. package/dist/index.js.map +1 -1
  25. package/dist/index10.js +40 -10
  26. package/dist/index10.js.map +1 -1
  27. package/dist/index100.js +1 -1
  28. package/dist/index100.js.map +1 -1
  29. package/dist/index101.js +1 -1
  30. package/dist/index101.js.map +1 -1
  31. package/dist/index102.js +2 -2
  32. package/dist/index102.js.map +1 -1
  33. package/dist/index103.js +1 -1
  34. package/dist/index103.js.map +1 -1
  35. package/dist/index104.js +2 -2
  36. package/dist/index104.js.map +1 -1
  37. package/dist/index105.js +2 -2
  38. package/dist/index105.js.map +1 -1
  39. package/dist/index106.js +1 -1
  40. package/dist/index106.js.map +1 -1
  41. package/dist/index107.js +2 -2
  42. package/dist/index107.js.map +1 -1
  43. package/dist/index108.js +1 -1
  44. package/dist/index108.js.map +1 -1
  45. package/dist/index109.js +1 -1
  46. package/dist/index109.js.map +1 -1
  47. package/dist/index11.js +13 -11
  48. package/dist/index11.js.map +1 -1
  49. package/dist/index110.js +2 -2
  50. package/dist/index110.js.map +1 -1
  51. package/dist/index111.js +1 -1
  52. package/dist/index111.js.map +1 -1
  53. package/dist/index112.js +2 -2
  54. package/dist/index112.js.map +1 -1
  55. package/dist/index113.js +2 -149
  56. package/dist/index113.js.map +1 -1
  57. package/dist/index114.js +5 -0
  58. package/dist/index114.js.map +1 -0
  59. package/dist/index115.js +5 -0
  60. package/dist/index115.js.map +1 -0
  61. package/dist/index116.js +152 -0
  62. package/dist/index116.js.map +1 -0
  63. package/dist/index12.js +14 -4
  64. package/dist/index12.js.map +1 -1
  65. package/dist/{index124.js → index127.js} +1 -1
  66. package/dist/{index124.js.map → index127.js.map} +1 -1
  67. package/dist/index13.js +6 -31
  68. package/dist/index13.js.map +1 -1
  69. package/dist/index135.js +1233 -5
  70. package/dist/index135.js.map +1 -1
  71. package/dist/index136.js +9 -169
  72. package/dist/index136.js.map +1 -1
  73. package/dist/index137.js +10 -11
  74. package/dist/index137.js.map +1 -1
  75. package/dist/index138.js +4 -5
  76. package/dist/index138.js.map +1 -1
  77. package/dist/index139.js +170 -6
  78. package/dist/index139.js.map +1 -1
  79. package/dist/index14.js +30 -30
  80. package/dist/index14.js.map +1 -1
  81. package/dist/index140.js +11 -38
  82. package/dist/index140.js.map +1 -1
  83. package/dist/index141.js +6 -2
  84. package/dist/index141.js.map +1 -1
  85. package/dist/index142.js +5 -7
  86. package/dist/index142.js.map +1 -1
  87. package/dist/index143.js +36 -325
  88. package/dist/index143.js.map +1 -1
  89. package/dist/index144.js +2 -50
  90. package/dist/index144.js.map +1 -1
  91. package/dist/index145.js +8 -2
  92. package/dist/index145.js.map +1 -1
  93. package/dist/index146.js +323 -72
  94. package/dist/index146.js.map +1 -1
  95. package/dist/index147.js +47 -90
  96. package/dist/index147.js.map +1 -1
  97. package/dist/index148.js +2 -52
  98. package/dist/index148.js.map +1 -1
  99. package/dist/index149.js +75 -7
  100. package/dist/index149.js.map +1 -1
  101. package/dist/index15.js +31 -19
  102. package/dist/index15.js.map +1 -1
  103. package/dist/index150.js +92 -4
  104. package/dist/index150.js.map +1 -1
  105. package/dist/index151.js +48 -48
  106. package/dist/index151.js.map +1 -1
  107. package/dist/index152.js +8 -2
  108. package/dist/index152.js.map +1 -1
  109. package/dist/index153.js +5 -2
  110. package/dist/index153.js.map +1 -1
  111. package/dist/index154.js +55 -0
  112. package/dist/index154.js.map +1 -0
  113. package/dist/index155.js +5 -0
  114. package/dist/index155.js.map +1 -0
  115. package/dist/index156.js +5 -0
  116. package/dist/index156.js.map +1 -0
  117. package/dist/index16.js +17 -124
  118. package/dist/index16.js.map +1 -1
  119. package/dist/index17.js +124 -27
  120. package/dist/index17.js.map +1 -1
  121. package/dist/index18.js +29 -31
  122. package/dist/index18.js.map +1 -1
  123. package/dist/index19.js +32 -79
  124. package/dist/index19.js.map +1 -1
  125. package/dist/index20.js +78 -38
  126. package/dist/index20.js.map +1 -1
  127. package/dist/index21.js +38 -22
  128. package/dist/index21.js.map +1 -1
  129. package/dist/index22.js +22 -74
  130. package/dist/index22.js.map +1 -1
  131. package/dist/index23.js +74 -133
  132. package/dist/index23.js.map +1 -1
  133. package/dist/index24.js +57 -18
  134. package/dist/index24.js.map +1 -1
  135. package/dist/index25.js +16 -43
  136. package/dist/index25.js.map +1 -1
  137. package/dist/index26.js +44 -60
  138. package/dist/index26.js.map +1 -1
  139. package/dist/index27.js +60 -74
  140. package/dist/index27.js.map +1 -1
  141. package/dist/index28.js +74 -41
  142. package/dist/index28.js.map +1 -1
  143. package/dist/index29.js +41 -97
  144. package/dist/index29.js.map +1 -1
  145. package/dist/index3.js +28 -32
  146. package/dist/index3.js.map +1 -1
  147. package/dist/index30.js +99 -58
  148. package/dist/index30.js.map +1 -1
  149. package/dist/index31.js +56 -37
  150. package/dist/index31.js.map +1 -1
  151. package/dist/index32.js +39 -35
  152. package/dist/index32.js.map +1 -1
  153. package/dist/index33.js +30 -38
  154. package/dist/index33.js.map +1 -1
  155. package/dist/index34.js +43 -47
  156. package/dist/index34.js.map +1 -1
  157. package/dist/index35.js +44 -35
  158. package/dist/index35.js.map +1 -1
  159. package/dist/index36.js +36 -76
  160. package/dist/index36.js.map +1 -1
  161. package/dist/index37.js +75 -31
  162. package/dist/index37.js.map +1 -1
  163. package/dist/index38.js +26 -44
  164. package/dist/index38.js.map +1 -1
  165. package/dist/index39.js +48 -66
  166. package/dist/index39.js.map +1 -1
  167. package/dist/index4.js +40 -165
  168. package/dist/index4.js.map +1 -1
  169. package/dist/index40.js +65 -60
  170. package/dist/index40.js.map +1 -1
  171. package/dist/index41.js +63 -69
  172. package/dist/index41.js.map +1 -1
  173. package/dist/index42.js +104 -83
  174. package/dist/index42.js.map +1 -1
  175. package/dist/index43.js +84 -35
  176. package/dist/index43.js.map +1 -1
  177. package/dist/index44.js +34 -26
  178. package/dist/index44.js.map +1 -1
  179. package/dist/index45.js +28 -28
  180. package/dist/index45.js.map +1 -1
  181. package/dist/index46.js +30 -2
  182. package/dist/index46.js.map +1 -1
  183. package/dist/index47.js +43 -2
  184. package/dist/index47.js.map +1 -1
  185. package/dist/index48.js +1 -1
  186. package/dist/index48.js.map +1 -1
  187. package/dist/index49.js +1 -1
  188. package/dist/index49.js.map +1 -1
  189. package/dist/index5.js +167 -62
  190. package/dist/index5.js.map +1 -1
  191. package/dist/index50.js +1 -1
  192. package/dist/index50.js.map +1 -1
  193. package/dist/index51.js +1 -1
  194. package/dist/index51.js.map +1 -1
  195. package/dist/index52.js +1 -1
  196. package/dist/index52.js.map +1 -1
  197. package/dist/index53.js +1 -1
  198. package/dist/index53.js.map +1 -1
  199. package/dist/index54.js +1 -1
  200. package/dist/index54.js.map +1 -1
  201. package/dist/index55.js +1 -1
  202. package/dist/index55.js.map +1 -1
  203. package/dist/index56.js +1 -1
  204. package/dist/index56.js.map +1 -1
  205. package/dist/index57.js +1 -1
  206. package/dist/index57.js.map +1 -1
  207. package/dist/index58.js +1 -1
  208. package/dist/index58.js.map +1 -1
  209. package/dist/index59.js +1 -1
  210. package/dist/index59.js.map +1 -1
  211. package/dist/index6.js +62 -36
  212. package/dist/index6.js.map +1 -1
  213. package/dist/index60.js +1 -1
  214. package/dist/index60.js.map +1 -1
  215. package/dist/index61.js +1 -1
  216. package/dist/index61.js.map +1 -1
  217. package/dist/index62.js.map +1 -1
  218. package/dist/index63.js +1 -1
  219. package/dist/index63.js.map +1 -1
  220. package/dist/index64.js.map +1 -1
  221. package/dist/index65.js.map +1 -1
  222. package/dist/index66.js +2 -2
  223. package/dist/index66.js.map +1 -1
  224. package/dist/index67.js +1 -1
  225. package/dist/index67.js.map +1 -1
  226. package/dist/index68.js +2 -2
  227. package/dist/index68.js.map +1 -1
  228. package/dist/index69.js +2 -2
  229. package/dist/index69.js.map +1 -1
  230. package/dist/index7.js +37 -20
  231. package/dist/index7.js.map +1 -1
  232. package/dist/index70.js +1 -1
  233. package/dist/index70.js.map +1 -1
  234. package/dist/index71.js +1 -1
  235. package/dist/index71.js.map +1 -1
  236. package/dist/index72.js +1 -1
  237. package/dist/index72.js.map +1 -1
  238. package/dist/index73.js +2 -2
  239. package/dist/index73.js.map +1 -1
  240. package/dist/index74.js +1 -1
  241. package/dist/index74.js.map +1 -1
  242. package/dist/index75.js +2 -2
  243. package/dist/index75.js.map +1 -1
  244. package/dist/index76.js +1 -1
  245. package/dist/index76.js.map +1 -1
  246. package/dist/index77.js +1 -1
  247. package/dist/index77.js.map +1 -1
  248. package/dist/index78.js +1 -1
  249. package/dist/index78.js.map +1 -1
  250. package/dist/index79.js +1 -1
  251. package/dist/index79.js.map +1 -1
  252. package/dist/index8.js +18 -42
  253. package/dist/index8.js.map +1 -1
  254. package/dist/index80.js +1 -1
  255. package/dist/index80.js.map +1 -1
  256. package/dist/index81.js +1 -1
  257. package/dist/index81.js.map +1 -1
  258. package/dist/index82.js +1 -1
  259. package/dist/index82.js.map +1 -1
  260. package/dist/index83.js +1 -1
  261. package/dist/index83.js.map +1 -1
  262. package/dist/index84.js +1 -1
  263. package/dist/index84.js.map +1 -1
  264. package/dist/index85.js +2 -2
  265. package/dist/index85.js.map +1 -1
  266. package/dist/index86.js.map +1 -1
  267. package/dist/index87.js.map +1 -1
  268. package/dist/index88.js +1 -1
  269. package/dist/index88.js.map +1 -1
  270. package/dist/index89.js +2 -2
  271. package/dist/index89.js.map +1 -1
  272. package/dist/index9.js +42 -36
  273. package/dist/index9.js.map +1 -1
  274. package/dist/index90.js +2 -2
  275. package/dist/index90.js.map +1 -1
  276. package/dist/index91.js +2 -2
  277. package/dist/index91.js.map +1 -1
  278. package/dist/index92.js +1 -1
  279. package/dist/index92.js.map +1 -1
  280. package/dist/index93.js +1 -1
  281. package/dist/index93.js.map +1 -1
  282. package/dist/index94.js +1 -1
  283. package/dist/index94.js.map +1 -1
  284. package/dist/index95.js +1 -1
  285. package/dist/index95.js.map +1 -1
  286. package/dist/index96.js +1 -1
  287. package/dist/index96.js.map +1 -1
  288. package/dist/index97.js +1 -1
  289. package/dist/index97.js.map +1 -1
  290. package/dist/index98.js.map +1 -1
  291. package/dist/index99.js +2 -2
  292. package/dist/index99.js.map +1 -1
  293. package/dist/typographyMixin.scss +1 -1
  294. package/package.json +1 -1
  295. package/dist/assets/icons/checked-circle-disabled.svg +0 -11
  296. package/dist/assets/icons/checked-circle-green.svg +0 -11
  297. package/dist/assets/icons/checked-circle-white.svg +0 -6
  298. package/dist/assets/icons/chevron-down.svg +0 -3
  299. package/dist/assets/icons/info-white.svg +0 -3
  300. package/dist/assets/icons/kebab-menu-blue.svg +0 -8
  301. package/dist/assets/icons/rotate-left.svg +0 -3
  302. package/dist/assets/icons/rotate-right.svg +0 -3
  303. package/dist/index132.js +0 -1236
  304. package/dist/index132.js.map +0 -1
  305. package/dist/index133.js +0 -13
  306. package/dist/index133.js.map +0 -1
  307. package/dist/index134.js +0 -13
  308. package/dist/index134.js.map +0 -1
  309. /package/dist/assets/icons/{info-brown.svg → info.svg} +0 -0
  310. /package/dist/assets/icons/{pdfFile.svg → pdf-file.svg} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index24.js","sources":["../src/components/TableContentLoader/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport './style.scss';\n\nexport interface TableContentLoaderProps {\n noOfRows?: number;\n noOfColumns?: number;\n colSpan?: number[];\n}\n\nexport const TableContentLoader: FC<TableContentLoaderProps> = (props) => {\n const { noOfRows = 2, noOfColumns = 4, colSpan = [2, 0, 0] } = props;\n\n return [...Array(noOfRows)].map((_, index) => (\n <tr key={`tr-${index}`} className=\"se-design-table-content-loader\">\n {[...Array(noOfColumns)].map((_, idx) => (\n <td colSpan={colSpan[idx]} key={`td-${idx}`}>\n <div className=\"loading-animation\"></div>\n </td>\n ))}\n </tr>\n ));\n};\n"],"names":["React__default","TableContentLoader","props","noOfRows","noOfColumns","colSpan","Array","map","_","index","createElement","key","className","idx","React"],"mappings":"AASO,OAAAA,OAAA;AAAA,OAAA;AAAA,MAAMC,IAAmDC,CAAUA,MAAA;AAClE,QAAA;AAAA,IAAEC,UAAAA,IAAW;AAAA,IAAGC,aAAAA,IAAc;AAAA,IAAGC,SAAAA,IAAU,CAAC,GAAG,GAAG,CAAC;AAAA,EAAA,IAAMH;AAE/D,SAAO,CAAC,GAAGI,MAAMH,CAAQ,CAAC,EAAEI,IAAI,CAACC,GAAGC,MAClCC,gBAAAA,EAAAA,cAAA,MAAA;AAAA,IAAIC,KAAK,MAAMF,CAAK;AAAA,IAAIG,WAAU;AAAA,EAC/B,GAAA,CAAC,GAAGN,MAAMF,CAAW,CAAC,EAAEG,IAAI,CAACC,GAAGK,MAC/BC,gBAAAA,EAAAJ,cAAA,MAAA;AAAA,IAAIL,SAASA,EAAQQ,CAAG;AAAA,IAAGF,KAAK,MAAME,CAAG;AAAA,EAAA,GACvCH,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKE,WAAU;AAAA,EAAA,CAAyB,CACtC,CACL,CACC,CACL;AACH;"}
1
+ {"version":3,"file":"index24.js","sources":["../src/components/KebabMenu/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport { Popover } from 'components/Popover';\nimport { MenuItemProps } from 'components/MenuItem';\nimport { MenuList } from 'components/MenuList';\nimport { Icon } from 'components/Icon';\n\nexport interface KebabMenuProps {\n className?: string;\n automationId?: string;\n menuItems: MenuItemProps[];\n variant?: 'primary' | 'secondary' | '';\n}\n\nexport const KebabMenu: FC<KebabMenuProps> = ({ menuItems, variant = 'primary', className = '', automationId = '' }) => {\n const getUpdatedMenuItems = (closePopoverCb: () => void) => {\n return menuItems.map((item) => ({\n ...item,\n onClick: () => {\n item.onClick && item.onClick(item);\n closePopoverCb();\n }\n }))\n }\n\n const getKebabIconVariant = () => {\n if(variant === 'secondary') {\n return {fill: 'var(--color-blue-500)', stroke: 'var(--color-blue-500)'}\n }\n return {}\n }\n\n return <Popover\n className={className}\n position='bottom-left'\n automationId={automationId}\n renderPopoverSrcElement={({ displayPopover }) => (\n <div className={`se-design-kebab-menu ${displayPopover ? 'bg-[var(--color-blue-100)]' : ''} hover:bg-[var(--color-blue-100)] rounded-[4px] transition-all duration-300 w-max`}>\n <Icon name=\"kebab-menu\" {...getKebabIconVariant()} />\n </div>\n )}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList items={getUpdatedMenuItems(closePopoverCb)} />\n )}\n />\n };\n"],"names":["KebabMenu","menuItems","variant","className","automationId","getUpdatedMenuItems","closePopoverCb","map","item","__spreadProps","__spreadValues","onClick","getKebabIconVariant","fill","stroke","React","createElement","Popover","position","renderPopoverSrcElement","displayPopover","Icon","_extends","name","renderPopoverContents","MenuList","items"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,IAAgCA,CAAC;AAAA,EAAEC,WAAAA;AAAAA,EAAWC,SAAAA,IAAU;AAAA,EAAWC,WAAAA,IAAY;AAAA,EAAIC,cAAAA,IAAe;AAAG,MAAM;AAChHC,QAAAA,IAAsBA,CAACC,MACpBL,EAAUM,IAAKC,CAAUA,MAAAC,EAAAC,EAAA,IAC3BF,IAD2B;AAAA,IAE9BG,SAASA,MAAM;AACRA,MAAAA,EAAAA,WAAWH,EAAKG,QAAQH,CAAI,GAClBF,EAAA;AAAA,IAAA;AAAA,EACjB,EACA,GAGEM,IAAsBA,MACvBV,MAAY,cACN;AAAA,IAACW,MAAM;AAAA,IAAyBC,QAAQ;AAAA,EAAuB,IAEjE,CAAC;AAGHC,SAAAA,gBAAAA,EAAAC,cAACC,GAAO;AAAA,IACXd,WAAAA;AAAAA,IACAe,UAAS;AAAA,IACTd,cAAAA;AAAAA,IACAe,yBAAyBA,CAAC;AAAA,MAAEC,gBAAAA;AAAAA,IAAAA,MAC1BJ,gBAAAA,EAAAA,cAAA,OAAA;AAAA,MAAKb,WAAW,wBAAwBiB,IAAiB,+BAA+B,EAAE;AAAA,IACtFL,GAAAA,gBAAAA,EAAAC,cAACK,GAAIC,EAAA;AAAA,MAACC,MAAK;AAAA,IAAA,GAAiBX,EAAqB,CAAA,CAAG,CACnD;AAAA,IAEPY,uBAAuBA,CAAC;AAAA,MAAElB,gBAAAA;AAAAA,IAAAA,MACxBU,gBAAAA,EAAAA,cAACS,GAAQ;AAAA,MAACC,OAAOrB,EAAoBC,CAAc;AAAA,IAAI,CAAA;AAAA,EAAA,CAE1D;AACH;"}
package/dist/index25.js CHANGED
@@ -1,49 +1,22 @@
1
- import a, { useEffect as o } from "react";
2
- import { Icon as v } from "./index4.js";
1
+ import e from "react";
3
2
  /* empty css */
4
- const N = (i) => {
3
+ const p = (a) => {
5
4
  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));
5
+ noOfRows: n = 2,
6
+ noOfColumns: o = 4,
7
+ colSpan: r = [2, 0, 0]
8
+ } = a;
9
+ return [...Array(n)].map((m, l) => /* @__PURE__ */ e.createElement("tr", {
10
+ key: `tr-${l}`,
11
+ className: "se-design-table-content-loader"
12
+ }, [...Array(o)].map((c, t) => /* @__PURE__ */ e.createElement("td", {
13
+ colSpan: r[t],
14
+ key: `td-${t}`
15
+ }, /* @__PURE__ */ e.createElement("div", {
16
+ className: "loading-animation"
17
+ })))));
45
18
  };
46
19
  export {
47
- N as SidebarOverlay
20
+ p as TableContentLoader
48
21
  };
49
22
  //# sourceMappingURL=index25.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index25.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;"}
1
+ {"version":3,"file":"index25.js","sources":["../src/components/TableContentLoader/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport './style.scss';\n\nexport interface TableContentLoaderProps {\n noOfRows?: number;\n noOfColumns?: number;\n colSpan?: number[];\n}\n\nexport const TableContentLoader: FC<TableContentLoaderProps> = (props) => {\n const { noOfRows = 2, noOfColumns = 4, colSpan = [2, 0, 0] } = props;\n\n return [...Array(noOfRows)].map((_, index) => (\n <tr key={`tr-${index}`} className=\"se-design-table-content-loader\">\n {[...Array(noOfColumns)].map((_, idx) => (\n <td colSpan={colSpan[idx]} key={`td-${idx}`}>\n <div className=\"loading-animation\"></div>\n </td>\n ))}\n </tr>\n ));\n};\n"],"names":["React__default","TableContentLoader","props","noOfRows","noOfColumns","colSpan","Array","map","_","index","createElement","key","className","idx","React"],"mappings":"AASO,OAAAA,OAAA;AAAA,OAAA;AAAA,MAAMC,IAAmDC,CAAUA,MAAA;AAClE,QAAA;AAAA,IAAEC,UAAAA,IAAW;AAAA,IAAGC,aAAAA,IAAc;AAAA,IAAGC,SAAAA,IAAU,CAAC,GAAG,GAAG,CAAC;AAAA,EAAA,IAAMH;AAE/D,SAAO,CAAC,GAAGI,MAAMH,CAAQ,CAAC,EAAEI,IAAI,CAACC,GAAGC,MAClCC,gBAAAA,EAAAA,cAAA,MAAA;AAAA,IAAIC,KAAK,MAAMF,CAAK;AAAA,IAAIG,WAAU;AAAA,EAC/B,GAAA,CAAC,GAAGN,MAAMF,CAAW,CAAC,EAAEG,IAAI,CAACC,GAAGK,MAC/BC,gBAAAA,EAAAJ,cAAA,MAAA;AAAA,IAAIL,SAASA,EAAQQ,CAAG;AAAA,IAAGF,KAAK,MAAME,CAAG;AAAA,EAAA,GACvCH,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKE,WAAU;AAAA,EAAA,CAAyB,CACtC,CACL,CACC,CACL;AACH;"}
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,79 +1,65 @@
1
- import e from "react";
2
- import { Icon as I } from "./index4.js";
3
- import { Button as i } 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
- }, 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
74
- })));
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))))));
75
61
  };
76
62
  export {
77
- T as Banner
63
+ b as Tabs
78
64
  };
79
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 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":"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