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":"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;"}
package/dist/index29.js CHANGED
@@ -1,102 +1,46 @@
1
- import e from "react";
2
- import { Button as N } from "./index3.js";
3
- import { Badge as I } from "./index7.js";
4
- import { Icon as d } from "./index4.js";
5
- /* empty css */
6
- const t = {
7
- widgetCtn: "flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]",
8
- widgetImageCtn: "cursor-pointer",
9
- descriptionCtn: "p-4 flex flex-col",
10
- widgetTitle: "text-[var(--color-gray-900)] mt-[4px] mb-[8px]",
11
- widgetDescription: "text-[var(--color-gray-700)] mb-[4px]",
12
- widgetLinkCta: "text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]",
13
- widgetButtonCta: "self-start",
14
- widgetBadge: "w-fit",
15
- webinarInfoCtn: "flex flex-col gap-2",
16
- webinarSpeaker: "text-[var(--color-gray-700)]",
17
- webinarDate: "text-[var(--color-gray-700)]",
18
- webinarDescriptionInfo: "flex gap-2",
19
- webinarTimeInfo: "flex gap-2",
20
- requestFeatureCtn: "flex gap-[12px]",
21
- requestFeatureImageCtn: "w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]",
22
- requestFeatureDescriptionCtn: "flex flex-col"
23
- }, B = ({
24
- widgetClassName: g = "",
25
- widgetType: a = "general",
26
- widgetTitle: r = "",
27
- widgetDescription: l = "",
28
- widgetImage: p,
29
- hasImage: f = !1,
30
- hasButtonCta: n = !1,
31
- hasLinkCta: i = !1,
32
- ctaText: o = "",
33
- hasBadge: x = !1,
34
- badgeText: w = "",
35
- buttonBgColor: u = "secondary",
36
- onCtaClick: b,
37
- onWidgetClick: v,
38
- webinarDateInfo: c,
39
- webinarSpeaker: s
1
+ import r from "react";
2
+ import { Icon as h } from "./index5.js";
3
+ const E = ({
4
+ currentPage: s,
5
+ itemsPerPage: l,
6
+ totalItems: n,
7
+ onPageChange: i
40
8
  }) => {
41
- const E = x && /* @__PURE__ */ e.createElement(I, {
42
- label: w,
43
- className: t.widgetBadge,
44
- bgColor: "var(--color-yellow-50)",
45
- textColor: "var(--color-yellow-400)",
46
- fontWeight: "normal"
47
- }), m = (i || n) && /* @__PURE__ */ e.createElement(e.Fragment, null, i && /* @__PURE__ */ e.createElement("span", {
48
- className: t.widgetLinkCta
49
- }, o), n && /* @__PURE__ */ e.createElement(N, {
50
- type: u,
51
- size: "md",
52
- label: o,
53
- className: `${t.widgetButtonCta} mt-[4px]`,
54
- onClick: b
55
- })), C = f && /* @__PURE__ */ e.createElement("div", {
56
- className: `${t.widgetImageCtn} widget-image-ctn`
57
- }, /* @__PURE__ */ e.createElement("img", {
58
- src: p,
59
- alt: "widget-image"
60
- }));
61
- return /* @__PURE__ */ e.createElement("div", {
62
- className: `${t.widgetCtn} ${g} widget-ctn`,
63
- onClick: v
64
- }, a !== "general" && C, /* @__PURE__ */ e.createElement("div", {
65
- className: t.descriptionCtn
66
- }, a !== "general" && E, a !== "request-feature" && /* @__PURE__ */ e.createElement("span", {
67
- className: `${t.widgetTitle} widget-title`
68
- }, r), ["promotion", "general"].includes(a) && /* @__PURE__ */ e.createElement("span", {
69
- className: `${t.widgetDescription} widget-description`
70
- }, l), a === "webinar" && /* @__PURE__ */ e.createElement("div", {
71
- className: t.webinarInfoCtn
72
- }, s && /* @__PURE__ */ e.createElement("div", {
73
- className: `${t.webinarDescriptionInfo} align-baseline`
74
- }, /* @__PURE__ */ e.createElement(d, {
75
- name: "people",
76
- className: "relative top-[2px]"
77
- }), /* @__PURE__ */ e.createElement("span", {
78
- className: t.webinarSpeaker
79
- }, s)), c && /* @__PURE__ */ e.createElement("div", {
80
- className: `${t.webinarTimeInfo} align-baseline mb-[4px]`
81
- }, /* @__PURE__ */ e.createElement(d, {
82
- name: "clock",
83
- className: "relative top-[2px]"
84
- }), /* @__PURE__ */ e.createElement("span", {
85
- className: t.webinarDate
86
- }, c))), a === "request-feature" ? /* @__PURE__ */ e.createElement("div", {
87
- className: t.requestFeatureCtn
88
- }, /* @__PURE__ */ e.createElement("div", {
89
- className: t.requestFeatureImageCtn
90
- }), /* @__PURE__ */ e.createElement("div", {
91
- className: t.requestFeatureDescriptionCtn
92
- }, /* @__PURE__ */ e.createElement("span", {
93
- className: `${t.widgetTitle} widget-title`
94
- }, r), /* @__PURE__ */ e.createElement("span", {
95
- className: `${t.widgetDescription} widget-description`
96
- }, l), m)) : m));
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"
41
+ })));
97
42
  };
98
43
  export {
99
- B as Widget,
100
- B as default
44
+ E as Pagination
101
45
  };
102
46
  //# sourceMappingURL=index29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/components/Widget/index.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Map } from \"../../utils/common.types\";\nimport { Button } from \"../Button\";\nimport { Badge } from \"../Badge\";\nimport { Icon } from \"../Icon\";\nimport \"./style.scss\";\n\nexport interface WidgetProps {\n widgetClassName?: string;\n widgetType?: \"promotion\" | \"webinar\" | \"request-feature\" | \"general\";\n widgetTitle?: string;\n hasBadge?: boolean;\n webinarSpeaker?: string;\n badgeText?: string;\n widgetDescription?: string;\n webinarDateInfo?: string;\n hasImage?: boolean;\n widgetImage?: string;\n hasButtonCta?: boolean;\n buttonBgColor?: 'primary' | 'secondary';\n hasLinkCta?: boolean;\n ctaText?: string;\n onCtaClick?: () => void;\n onWidgetClick?: () => void;\n}\n\nconst className: Map = {\n widgetCtn: 'flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]',\n widgetImageCtn: 'cursor-pointer',\n descriptionCtn: 'p-4 flex flex-col',\n widgetTitle: 'text-[var(--color-gray-900)] mt-[4px] mb-[8px]',\n widgetDescription: 'text-[var(--color-gray-700)] mb-[4px]',\n widgetLinkCta: 'text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]',\n widgetButtonCta: 'self-start',\n widgetBadge: 'w-fit',\n webinarInfoCtn: 'flex flex-col gap-2',\n webinarSpeaker: 'text-[var(--color-gray-700)]',\n webinarDate: 'text-[var(--color-gray-700)]',\n webinarDescriptionInfo: 'flex gap-2',\n webinarTimeInfo: 'flex gap-2',\n requestFeatureCtn: 'flex gap-[12px]',\n requestFeatureImageCtn: 'w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]',\n requestFeatureDescriptionCtn: 'flex flex-col',\n};\n\nexport const Widget: FC<WidgetProps> = ({\n widgetClassName = \"\",\n widgetType = 'general',\n widgetTitle = \"\",\n widgetDescription = \"\",\n widgetImage,\n hasImage = false,\n hasButtonCta = false,\n hasLinkCta = false,\n ctaText = \"\",\n hasBadge = false,\n badgeText = \"\",\n buttonBgColor = 'secondary',\n onCtaClick,\n onWidgetClick,\n webinarDateInfo,\n webinarSpeaker,\n}) => {\n\n const renderBadge = hasBadge && (\n <Badge\n label={badgeText}\n className={className.widgetBadge}\n bgColor=\"var(--color-yellow-50)\"\n textColor=\"var(--color-yellow-400)\"\n fontWeight=\"normal\"\n />\n );\n\n const renderCTA = (hasLinkCta || hasButtonCta) && (\n <React.Fragment>\n {hasLinkCta && <span className={className.widgetLinkCta}>{ctaText}</span>}\n {hasButtonCta && <Button type={buttonBgColor} size=\"md\" label={ctaText} className={`${className.widgetButtonCta} mt-[4px]`} onClick={onCtaClick} />}\n </React.Fragment>\n );\n\n const renderImage = hasImage && (\n <div className={`${className.widgetImageCtn} widget-image-ctn`}>\n <img src={widgetImage} alt=\"widget-image\"/>\n </div>\n );\n\n return (\n <div className={`${className.widgetCtn} ${widgetClassName} widget-ctn`} onClick={onWidgetClick}>\n {widgetType !== \"general\" && renderImage}\n <div className={className.descriptionCtn}>\n {widgetType !== \"general\" && renderBadge}\n {widgetType !== \"request-feature\" && <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>}\n\n {([\"promotion\", \"general\"].includes(widgetType)) && (\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n )}\n\n {widgetType === \"webinar\" && (\n <div className={className.webinarInfoCtn}>\n {webinarSpeaker && (\n <div className={`${className.webinarDescriptionInfo} align-baseline`}>\n <Icon name=\"people\" className=\"relative top-[2px]\" />\n <span className={className.webinarSpeaker}>{webinarSpeaker}</span>\n </div>\n )}\n {webinarDateInfo && (\n <div className={`${className.webinarTimeInfo} align-baseline mb-[4px]`}>\n <Icon name=\"clock\" className=\"relative top-[2px]\" />\n <span className={className.webinarDate}>{webinarDateInfo}</span>\n </div>\n )}\n </div>\n )}\n\n {widgetType === \"request-feature\" ? (\n <div className={className.requestFeatureCtn}>\n <div className={className.requestFeatureImageCtn} />\n <div className={className.requestFeatureDescriptionCtn}>\n <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n {renderCTA}\n </div>\n </div>\n ) : (\n renderCTA\n )}\n </div>\n </div>\n );\n};\n\nexport default Widget;"],"names":["React__default","Button","Badge","Icon","className","widgetCtn","widgetImageCtn","descriptionCtn","widgetTitle","widgetDescription","widgetLinkCta","widgetButtonCta","widgetBadge","webinarInfoCtn","webinarSpeaker","webinarDate","webinarDescriptionInfo","webinarTimeInfo","requestFeatureCtn","requestFeatureImageCtn","requestFeatureDescriptionCtn","Widget","widgetClassName","widgetType","widgetImage","hasImage","hasButtonCta","hasLinkCta","ctaText","hasBadge","badgeText","buttonBgColor","onCtaClick","onWidgetClick","webinarDateInfo","renderBadge","createElement","label","bgColor","textColor","fontWeight","renderCTA","React","Fragment","type","size","onClick","renderImage","src","alt","includes","name"],"mappings":"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"}
1
+ {"version":3,"file":"index29.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;"}
package/dist/index3.js CHANGED
@@ -1,30 +1,30 @@
1
- var s = Object.getOwnPropertySymbols;
2
- var h = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable;
3
- var b = (e, a) => {
1
+ var b = Object.getOwnPropertySymbols;
2
+ var y = Object.prototype.hasOwnProperty, x = Object.prototype.propertyIsEnumerable;
3
+ var d = (e, a) => {
4
4
  var o = {};
5
5
  for (var r in e)
6
- h.call(e, r) && a.indexOf(r) < 0 && (o[r] = e[r]);
7
- if (e != null && s)
8
- for (var r of s(e))
9
- a.indexOf(r) < 0 && y.call(e, r) && (o[r] = e[r]);
6
+ y.call(e, r) && a.indexOf(r) < 0 && (o[r] = e[r]);
7
+ if (e != null && b)
8
+ for (var r of b(e))
9
+ a.indexOf(r) < 0 && x.call(e, r) && (o[r] = e[r]);
10
10
  return o;
11
11
  };
12
- import t from "react";
13
- import { Icon as d } from "./index4.js";
14
- function n() {
15
- return n = Object.assign ? Object.assign.bind() : function(e) {
12
+ import n from "react";
13
+ import { Icon as g } from "./index5.js";
14
+ function v() {
15
+ return v = Object.assign ? Object.assign.bind() : function(e) {
16
16
  for (var a = 1; a < arguments.length; a++) {
17
17
  var o = arguments[a];
18
18
  for (var r in o) ({}).hasOwnProperty.call(o, r) && (e[r] = o[r]);
19
19
  }
20
20
  return e;
21
- }, n.apply(null, arguments);
21
+ }, v.apply(null, arguments);
22
22
  }
23
- const l = "focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2", x = {
23
+ const l = "focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2", f = {
24
24
  primary: "bg-[var(--color-gray-200)] text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed",
25
25
  secondary: "text-[var(--color-gray-600)] border border-[var(--color-gray-300)] pointer-events-none cursor-not-allowed",
26
26
  link: "text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed"
27
- }, g = {
27
+ }, s = {
28
28
  primary: `bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)] ${l}`,
29
29
  secondary: `bg-[var(--color-white)] text-[var(--color-gray-800)] hover:bg-[var(--color-gray-50)] border border-[var(--color-gray-400)] hover:border-[var(--color-gray-500)] ${l}`,
30
30
  "secondary-blue": `bg-[var(--color-white)] border border-[var(--color-blue-500)] text-[var(--color-blue-500)] hover:bg-[var(--color-blue-100)] ${l}`,
@@ -36,35 +36,31 @@ const l = "focus-visible:outline outline-2 outline-[var(--color-blue-400)] outli
36
36
  sm: "px-3 py-1",
37
37
  md: "px-4 py-2",
38
38
  smRow: "px-3 py-0.5"
39
- }, k = (f) => {
40
- var v = f, {
39
+ }, k = (p) => {
40
+ var c = p, {
41
41
  type: e = "primary",
42
42
  size: a = "md",
43
43
  label: o = "",
44
- icon: r = "",
45
- iconPosition: c = "left",
44
+ iconPosition: r = "left",
46
45
  disabled: u = !1,
47
- className: i = ""
48
- } = v, m = b(v, [
46
+ className: m = "",
47
+ iconProps: t = {
48
+ name: ""
49
+ }
50
+ } = c, h = d(c, [
49
51
  "type",
50
52
  "size",
51
53
  "label",
52
- "icon",
53
54
  "iconPosition",
54
55
  "disabled",
55
- "className"
56
+ "className",
57
+ "iconProps"
56
58
  ]);
57
- const p = e !== "link" ? g[a] : "";
58
- return /* @__PURE__ */ t.createElement("button", n({
59
+ const i = e !== "link" ? s[a] : "";
60
+ return /* @__PURE__ */ n.createElement("button", v({
59
61
  type: "button",
60
- className: `rounded-[6px] text-base font-normal flex gap-1 items-center min-w-fit ${p} ${u ? x[e] : g[e]} ${i}`
61
- }, m), r && c === "left" && /* @__PURE__ */ t.createElement(d, {
62
- name: r,
63
- className: ""
64
- }), o, r && c === "right" && /* @__PURE__ */ t.createElement(d, {
65
- name: r,
66
- className: ""
67
- }));
62
+ className: `rounded-[6px] text-base font-normal flex gap-1 items-center min-w-fit ${i} ${u ? f[e] : s[e]} ${m}`
63
+ }, h), (t == null ? void 0 : t.name) && r === "left" && /* @__PURE__ */ n.createElement(g, t), o, (t == null ? void 0 : t.name) && r === "right" && /* @__PURE__ */ n.createElement(g, t));
68
64
  };
69
65
  export {
70
66
  k as Button
@@ -1 +1 @@
1
- {"version":3,"file":"index3.js","sources":["../src/components/Button/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Map } from '../../utils/common.types';\nimport { Icon } from '../Icon';\n\nexport interface ButtonProps {\n /**\n * Type of the button\n */\n type?: 'primary' | 'secondary' | 'secondary-blue' | 'negative' | 'negative-secondary' | 'purchase' | 'purchase-secondary' | 'link';\n /**\n * Size of the button\n */\n size?: 'sm' | 'md' | 'smRow';\n /**\n * Button contents\n */\n label: string | '';\n /**\n * Icon name\n */\n icon?: string;\n /**\n * Icon position\n */\n iconPosition?: 'left' | 'right';\n /**\n * Disabled state\n */\n disabled?: boolean;\n /**\n * Optional click handler\n */\n onClick?: () => void;\n /**\n * Custom class name\n */\n className?: string;\n}\n\nconst focusClass = 'focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2';\nconst disabledClassNames: Map = {\n primary: 'bg-[var(--color-gray-200)] text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed',\n secondary:\n 'text-[var(--color-gray-600)] border border-[var(--color-gray-300)] pointer-events-none cursor-not-allowed',\n link: 'text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed'\n};\nconst classNames: Map = {\n primary: `bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)] ${focusClass}`,\n secondary: `bg-[var(--color-white)] text-[var(--color-gray-800)] hover:bg-[var(--color-gray-50)] border border-[var(--color-gray-400)] hover:border-[var(--color-gray-500)] ${focusClass}`,\n 'secondary-blue': `bg-[var(--color-white)] border border-[var(--color-blue-500)] text-[var(--color-blue-500)] hover:bg-[var(--color-blue-100)] ${focusClass}`,\n purchase: `bg-[var(--color-green-500)] text-[var(--color-white)] hover:bg-[var(--color-green-700)] border border-[var(--color-green-300)] ${focusClass}`,\n 'purchase-secondary': `bg-[var(--color-green-50)] text-[var(--color-green-500)] hover:bg-[var(--color-green-400)] border border-[var(--color-green-500)] hover:border-[var(--color-green-700)] ${focusClass}`,\n negative: `bg-[var(--color-red-500)] text-[var(--color-white)] hover:bg-[var(--color-red-500)] border border-[var(--color-red-500)] hover:border-[var(--color-red-500)] ${focusClass}`,\n 'negative-secondary': `bg-[var(--color-red-50)] text-[var(--color-red-500)] hover:bg-[var(--color-red-50)] border border-[var(--color-red-500)] hover:border-[var(--color-red-500)] ${focusClass}`,\n link: `text-[var(--color-blue-500)] px-0 py-0 hover:text-[var(--color-blue-600)] ${focusClass}`,\n sm: 'px-3 py-1',\n md: 'px-4 py-2',\n smRow: 'px-3 py-0.5'\n};\n\nexport const Button: FC<ButtonProps> = ({\n type = 'primary',\n size = 'md',\n label = '',\n icon = '',\n iconPosition = 'left',\n disabled = false,\n className = '',\n ...props\n}) => {\n const sizeClassName = type !== 'link' ? classNames[size] : '';\n\n return (\n <button\n type=\"button\"\n className={`rounded-[6px] text-base font-normal flex gap-1 items-center min-w-fit ${sizeClassName} ${disabled ? disabledClassNames[type] : classNames[type]} ${className}`}\n {...props}\n >\n {icon && iconPosition === 'left' && <Icon name={icon} className=\"\" />}\n {label}\n {icon && iconPosition === 'right' && <Icon name={icon} className=\"\" />}\n </button>\n );\n};\n"],"names":["focusClass","disabledClassNames","primary","secondary","link","classNames","purchase","negative","sm","md","smRow","Button","_a","_b","type","size","label","icon","iconPosition","disabled","className","props","sizeClassName","React","createElement","_extends","Icon","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMA,IAAa,oFACbC,IAA0B;AAAA,EAC9BC,SAAS;AAAA,EACTC,WACE;AAAA,EACFC,MAAM;AACR,GACMC,IAAkB;AAAA,EACtBH,SAAS,yFAAyFF,CAAU;AAAA,EAC5GG,WAAW,mKAAmKH,CAAU;AAAA,EACxL,kBAAkB,+HAA+HA,CAAU;AAAA,EAC3JM,UAAU,kIAAkIN,CAAU;AAAA,EACtJ,sBAAsB,2KAA2KA,CAAU;AAAA,EAC3MO,UAAU,gKAAgKP,CAAU;AAAA,EACpL,sBAAsB,gKAAgKA,CAAU;AAAA,EAChMI,MAAM,8EAA8EJ,CAAU;AAAA,EAC9FQ,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,OAAO;AACT,GAEaC,IAA0BA,CAACC,MASlC;AATkC,MAAAC,IAAAD,GACtCE;AAAAA,UAAAA,IAAO;AAAA,IACPC,MAAAA,IAAO;AAAA,IACPC,OAAAA,IAAQ;AAAA,IACRC,MAAAA,IAAO;AAAA,IACPC,cAAAA,IAAe;AAAA,IACfC,UAAAA,IAAW;AAAA,IACXC,WAAAA,IAAY;AAAA,MAP0BP,GAQnCQ,IAAAA,EARmCR,GAQnCQ;AAAAA,IAPHP;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA;AAGA,QAAME,IAAgBR,MAAS,SAAST,EAAWU,CAAI,IAAI;AAGzDQ,SAAAA,gBAAAA,EAAAC,cAAA,UAAAC,EAAA;AAAA,IACEX,MAAK;AAAA,IACLM,WAAW,yEAAyEE,CAAa,IAAIH,IAAWlB,EAAmBa,CAAI,IAAIT,EAAWS,CAAI,CAAC,IAAIM,CAAS;AAAA,EAAA,GACpKC,CAAK,GAERJ,KAAQC,MAAiB,UAAUK,gBAAAA,EAAAC,cAACE,GAAI;AAAA,IAACC,MAAMV;AAAAA,IAAMG,WAAU;AAAA,EAAA,CAAI,GACnEJ,GACAC,KAAQC,MAAiB,WAAWK,gBAAAA,EAAAC,cAACE,GAAI;AAAA,IAACC,MAAMV;AAAAA,IAAMG,WAAU;AAAA,EAAA,CAAI,CAC/D;AAEZ;"}
1
+ {"version":3,"file":"index3.js","sources":["../src/components/Button/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Map } from '../../utils/common.types';\nimport { Icon, IconProps } from '../Icon';\n\nexport interface ButtonProps {\n /**\n * Type of the button\n */\n type?: 'primary' | 'secondary' | 'secondary-blue' | 'negative' | 'negative-secondary' | 'purchase' | 'purchase-secondary' | 'link';\n /**\n * Size of the button\n */\n size?: 'sm' | 'md' | 'smRow';\n /**\n * Button contents\n */\n label: string | '';\n /**\n * Icon props\n */\n iconProps?: IconProps;\n /**\n * Icon position\n */\n iconPosition?: 'left' | 'right';\n /**\n * Disabled state\n */\n disabled?: boolean;\n /**\n * Optional click handler\n */\n onClick?: () => void;\n /**\n * Custom class name\n */\n className?: string;\n}\n\nconst focusClass = 'focus-visible:outline outline-2 outline-[var(--color-blue-400)] outline-offset-2';\nconst disabledClassNames: Map = {\n primary: 'bg-[var(--color-gray-200)] text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed',\n secondary:\n 'text-[var(--color-gray-600)] border border-[var(--color-gray-300)] pointer-events-none cursor-not-allowed',\n link: 'text-[var(--color-gray-600)] pointer-events-none cursor-not-allowed'\n};\nconst classNames: Map = {\n primary: `bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)] ${focusClass}`,\n secondary: `bg-[var(--color-white)] text-[var(--color-gray-800)] hover:bg-[var(--color-gray-50)] border border-[var(--color-gray-400)] hover:border-[var(--color-gray-500)] ${focusClass}`,\n 'secondary-blue': `bg-[var(--color-white)] border border-[var(--color-blue-500)] text-[var(--color-blue-500)] hover:bg-[var(--color-blue-100)] ${focusClass}`,\n purchase: `bg-[var(--color-green-500)] text-[var(--color-white)] hover:bg-[var(--color-green-700)] border border-[var(--color-green-300)] ${focusClass}`,\n 'purchase-secondary': `bg-[var(--color-green-50)] text-[var(--color-green-500)] hover:bg-[var(--color-green-400)] border border-[var(--color-green-500)] hover:border-[var(--color-green-700)] ${focusClass}`,\n negative: `bg-[var(--color-red-500)] text-[var(--color-white)] hover:bg-[var(--color-red-500)] border border-[var(--color-red-500)] hover:border-[var(--color-red-500)] ${focusClass}`,\n 'negative-secondary': `bg-[var(--color-red-50)] text-[var(--color-red-500)] hover:bg-[var(--color-red-50)] border border-[var(--color-red-500)] hover:border-[var(--color-red-500)] ${focusClass}`,\n link: `text-[var(--color-blue-500)] px-0 py-0 hover:text-[var(--color-blue-600)] ${focusClass}`,\n sm: 'px-3 py-1',\n md: 'px-4 py-2',\n smRow: 'px-3 py-0.5'\n};\n\nexport const Button: FC<ButtonProps> = ({\n type = 'primary',\n size = 'md',\n label = '',\n iconPosition = 'left',\n disabled = false,\n className = '',\n iconProps = { name: '' },\n ...props\n}) => {\n const sizeClassName = type !== 'link' ? classNames[size] : '';\n\n return (\n <button\n type=\"button\"\n className={`rounded-[6px] text-base font-normal flex gap-1 items-center min-w-fit ${sizeClassName} ${disabled ? disabledClassNames[type] : classNames[type]} ${className}`}\n {...props}\n >\n {iconProps?.name && iconPosition === 'left' && <Icon {...iconProps} />}\n {label}\n {iconProps?.name && iconPosition === 'right' && <Icon {...iconProps} />}\n </button>\n );\n};\n"],"names":["focusClass","disabledClassNames","primary","secondary","link","classNames","purchase","negative","sm","md","smRow","Button","_a","_b","type","size","label","iconPosition","disabled","className","iconProps","name","props","sizeClassName","React","createElement","_extends","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMA,IAAa,oFACbC,IAA0B;AAAA,EAC9BC,SAAS;AAAA,EACTC,WACE;AAAA,EACFC,MAAM;AACR,GACMC,IAAkB;AAAA,EACtBH,SAAS,yFAAyFF,CAAU;AAAA,EAC5GG,WAAW,mKAAmKH,CAAU;AAAA,EACxL,kBAAkB,+HAA+HA,CAAU;AAAA,EAC3JM,UAAU,kIAAkIN,CAAU;AAAA,EACtJ,sBAAsB,2KAA2KA,CAAU;AAAA,EAC3MO,UAAU,gKAAgKP,CAAU;AAAA,EACpL,sBAAsB,gKAAgKA,CAAU;AAAA,EAChMI,MAAM,8EAA8EJ,CAAU;AAAA,EAC9FQ,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,OAAO;AACT,GAEaC,IAA0BA,CAACC,MASlC;AATkC,MAAAC,IAAAD,GACtCE;AAAAA,UAAAA,IAAO;AAAA,IACPC,MAAAA,IAAO;AAAA,IACPC,OAAAA,IAAQ;AAAA,IACRC,cAAAA,IAAe;AAAA,IACfC,UAAAA,IAAW;AAAA,IACXC,WAAAA,IAAY;AAAA,IACZC,WAAAA,IAAY;AAAA,MAAEC,MAAM;AAAA,IAAG;AAAA,MAPeR,GAQnCS,IAAAA,EARmCT,GAQnCS;AAAAA,IAPHR;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA;AAGA,QAAMG,IAAgBT,MAAS,SAAST,EAAWU,CAAI,IAAI;AAGzDS,SAAAA,gBAAAA,EAAAC,cAAA,UAAAC,EAAA;AAAA,IACEZ,MAAK;AAAA,IACLK,WAAW,yEAAyEI,CAAa,IAAIL,IAAWjB,EAAmBa,CAAI,IAAIT,EAAWS,CAAI,CAAC,IAAIK,CAAS;AAAA,EAAA,GACpKG,CAAK,IAERF,KAAAA,gBAAAA,EAAWC,SAAQJ,MAAiB,4BAAUQ,cAACE,GAASP,CAAY,GACpEJ,IACAI,KAAAA,gBAAAA,EAAWC,SAAQJ,MAAiB,WAAWQ,gBAAAA,EAAAA,cAACE,GAASP,CAAY,CAChE;AAEZ;"}
package/dist/index30.js CHANGED
@@ -1,61 +1,102 @@
1
- var f = Object.defineProperty, E = Object.defineProperties;
2
- var v = Object.getOwnPropertyDescriptors;
3
- var i = Object.getOwnPropertySymbols;
4
- var C = Object.prototype.hasOwnProperty, N = Object.prototype.propertyIsEnumerable;
5
- var s = (e, a, t) => a in e ? f(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t, d = (e, a) => {
6
- for (var t in a || (a = {}))
7
- C.call(a, t) && s(e, t, a[t]);
8
- if (i)
9
- for (var t of i(a))
10
- N.call(a, t) && s(e, t, a[t]);
11
- return e;
12
- }, m = (e, a) => E(e, v(a));
13
- import r, { useRef as g } from "react";
14
- function p(e) {
15
- const {
16
- label: a,
17
- value: t,
18
- checked: l,
19
- disabled: h,
20
- name: u,
21
- onChange: o,
22
- width: b,
23
- radioLabelClassName: x = "",
24
- radioContainerClassName: w = ""
25
- } = e, c = g(null);
26
- return /* @__PURE__ */ r.createElement("div", {
27
- className: `flex items-start gap-2 cursor-pointer bg-[var(--color-white)] border ${l ? "border-[#1088E7]" : "border-[#C9D4E3]"} rounded-[6px] p-2 transition-colors duration-300 ${w}`,
28
- onClick: () => {
29
- var n;
30
- return (n = c.current) == null ? void 0 : n.click();
31
- },
32
- style: {
33
- width: b || "20vw"
34
- }
35
- }, /* @__PURE__ */ r.createElement("input", {
36
- ref: c,
37
- type: "radio",
38
- id: t,
39
- name: u,
40
- value: t,
41
- checked: l,
42
- disabled: h,
43
- className: "mt-1 h-4 w-4 cursor-pointer accent-[#1088E7] disabled:cursor-not-allowed disabled:opacity-50",
44
- onChange: () => {
45
- o && o(m(d({}, e), {
46
- checked: !0
47
- }));
48
- }
49
- }), /* @__PURE__ */ r.createElement("label", {
50
- htmlFor: t,
51
- className: `${e.helperLabel && "flex flex-col"} cursor-pointer`
52
- }, /* @__PURE__ */ r.createElement("span", {
53
- className: `text-sm text-[var(--color-gray-800)] ${x}`
54
- }, a), e.helperLabel && /* @__PURE__ */ r.createElement("span", {
55
- className: `text-xs text-[var(--color-gray-600)] ${e.maxWidth ? `max-w-[${e.maxWidth}]` : "max-w-[20vw]"} break-words whitespace-normal`
56
- }, e.helperLabel)));
57
- }
1
+ import e from "react";
2
+ import { Button as N } from "./index3.js";
3
+ import { Badge as I } from "./index8.js";
4
+ import { Icon as d } from "./index5.js";
5
+ /* empty css */
6
+ const t = {
7
+ widgetCtn: "flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]",
8
+ widgetImageCtn: "cursor-pointer",
9
+ descriptionCtn: "p-4 flex flex-col",
10
+ widgetTitle: "text-[var(--color-gray-900)] mt-[4px] mb-[8px]",
11
+ widgetDescription: "text-[var(--color-gray-700)] mb-[4px]",
12
+ widgetLinkCta: "text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]",
13
+ widgetButtonCta: "self-start",
14
+ widgetBadge: "w-fit",
15
+ webinarInfoCtn: "flex flex-col gap-2",
16
+ webinarSpeaker: "text-[var(--color-gray-700)]",
17
+ webinarDate: "text-[var(--color-gray-700)]",
18
+ webinarDescriptionInfo: "flex gap-2",
19
+ webinarTimeInfo: "flex gap-2",
20
+ requestFeatureCtn: "flex gap-[12px]",
21
+ requestFeatureImageCtn: "w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]",
22
+ requestFeatureDescriptionCtn: "flex flex-col"
23
+ }, B = ({
24
+ widgetClassName: g = "",
25
+ widgetType: a = "general",
26
+ widgetTitle: r = "",
27
+ widgetDescription: l = "",
28
+ widgetImage: p,
29
+ hasImage: f = !1,
30
+ hasButtonCta: n = !1,
31
+ hasLinkCta: i = !1,
32
+ ctaText: o = "",
33
+ hasBadge: x = !1,
34
+ badgeText: w = "",
35
+ buttonBgColor: u = "secondary",
36
+ onCtaClick: b,
37
+ onWidgetClick: v,
38
+ webinarDateInfo: c,
39
+ webinarSpeaker: s
40
+ }) => {
41
+ const E = x && /* @__PURE__ */ e.createElement(I, {
42
+ label: w,
43
+ className: t.widgetBadge,
44
+ bgColor: "var(--color-yellow-50)",
45
+ textColor: "var(--color-yellow-400)",
46
+ fontWeight: "normal"
47
+ }), m = (i || n) && /* @__PURE__ */ e.createElement(e.Fragment, null, i && /* @__PURE__ */ e.createElement("span", {
48
+ className: t.widgetLinkCta
49
+ }, o), n && /* @__PURE__ */ e.createElement(N, {
50
+ type: u,
51
+ size: "md",
52
+ label: o,
53
+ className: `${t.widgetButtonCta} mt-[4px]`,
54
+ onClick: b
55
+ })), C = f && /* @__PURE__ */ e.createElement("div", {
56
+ className: `${t.widgetImageCtn} widget-image-ctn`
57
+ }, /* @__PURE__ */ e.createElement("img", {
58
+ src: p,
59
+ alt: "widget-image"
60
+ }));
61
+ return /* @__PURE__ */ e.createElement("div", {
62
+ className: `${t.widgetCtn} ${g} widget-ctn`,
63
+ onClick: v
64
+ }, a !== "general" && C, /* @__PURE__ */ e.createElement("div", {
65
+ className: t.descriptionCtn
66
+ }, a !== "general" && E, a !== "request-feature" && /* @__PURE__ */ e.createElement("span", {
67
+ className: `${t.widgetTitle} widget-title`
68
+ }, r), ["promotion", "general"].includes(a) && /* @__PURE__ */ e.createElement("span", {
69
+ className: `${t.widgetDescription} widget-description`
70
+ }, l), a === "webinar" && /* @__PURE__ */ e.createElement("div", {
71
+ className: t.webinarInfoCtn
72
+ }, s && /* @__PURE__ */ e.createElement("div", {
73
+ className: `${t.webinarDescriptionInfo} align-baseline`
74
+ }, /* @__PURE__ */ e.createElement(d, {
75
+ name: "people",
76
+ className: "relative top-[2px]"
77
+ }), /* @__PURE__ */ e.createElement("span", {
78
+ className: t.webinarSpeaker
79
+ }, s)), c && /* @__PURE__ */ e.createElement("div", {
80
+ className: `${t.webinarTimeInfo} align-baseline mb-[4px]`
81
+ }, /* @__PURE__ */ e.createElement(d, {
82
+ name: "clock",
83
+ className: "relative top-[2px]"
84
+ }), /* @__PURE__ */ e.createElement("span", {
85
+ className: t.webinarDate
86
+ }, c))), a === "request-feature" ? /* @__PURE__ */ e.createElement("div", {
87
+ className: t.requestFeatureCtn
88
+ }, /* @__PURE__ */ e.createElement("div", {
89
+ className: t.requestFeatureImageCtn
90
+ }), /* @__PURE__ */ e.createElement("div", {
91
+ className: t.requestFeatureDescriptionCtn
92
+ }, /* @__PURE__ */ e.createElement("span", {
93
+ className: `${t.widgetTitle} widget-title`
94
+ }, r), /* @__PURE__ */ e.createElement("span", {
95
+ className: `${t.widgetDescription} widget-description`
96
+ }, l), m)) : m));
97
+ };
58
98
  export {
59
- p as Radio
99
+ B as Widget,
100
+ B as default
60
101
  };
61
102
  //# sourceMappingURL=index30.js.map