@anoki/fse-ui 1.0.729 → 1.0.731

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 (727) hide show
  1. package/dist/index.cjs.js.map +1 -1
  2. package/dist/index.cjs10.js.map +1 -1
  3. package/dist/index.cjs100.js.map +1 -1
  4. package/dist/index.cjs101.js.map +1 -1
  5. package/dist/index.cjs103.js.map +1 -1
  6. package/dist/index.cjs105.js.map +1 -1
  7. package/dist/index.cjs106.js.map +1 -1
  8. package/dist/index.cjs107.js.map +1 -1
  9. package/dist/index.cjs108.js.map +1 -1
  10. package/dist/index.cjs109.js.map +1 -1
  11. package/dist/index.cjs110.js.map +1 -1
  12. package/dist/index.cjs111.js.map +1 -1
  13. package/dist/index.cjs112.js.map +1 -1
  14. package/dist/index.cjs113.js.map +1 -1
  15. package/dist/index.cjs114.js.map +1 -1
  16. package/dist/index.cjs115.js.map +1 -1
  17. package/dist/index.cjs116.js.map +1 -1
  18. package/dist/index.cjs117.js.map +1 -1
  19. package/dist/index.cjs118.js.map +1 -1
  20. package/dist/index.cjs119.js.map +1 -1
  21. package/dist/index.cjs12.js.map +1 -1
  22. package/dist/index.cjs120.js.map +1 -1
  23. package/dist/index.cjs121.js.map +1 -1
  24. package/dist/index.cjs123.js.map +1 -1
  25. package/dist/index.cjs124.js.map +1 -1
  26. package/dist/index.cjs125.js.map +1 -1
  27. package/dist/index.cjs126.js.map +1 -1
  28. package/dist/index.cjs127.js.map +1 -1
  29. package/dist/index.cjs128.js.map +1 -1
  30. package/dist/index.cjs129.js.map +1 -1
  31. package/dist/index.cjs13.js.map +1 -1
  32. package/dist/index.cjs130.js.map +1 -1
  33. package/dist/index.cjs131.js.map +1 -1
  34. package/dist/index.cjs132.js.map +1 -1
  35. package/dist/index.cjs133.js.map +1 -1
  36. package/dist/index.cjs134.js.map +1 -1
  37. package/dist/index.cjs135.js.map +1 -1
  38. package/dist/index.cjs136.js.map +1 -1
  39. package/dist/index.cjs137.js.map +1 -1
  40. package/dist/index.cjs14.js.map +1 -1
  41. package/dist/index.cjs141.js.map +1 -1
  42. package/dist/index.cjs144.js.map +1 -1
  43. package/dist/index.cjs145.js.map +1 -1
  44. package/dist/index.cjs146.js.map +1 -1
  45. package/dist/index.cjs147.js.map +1 -1
  46. package/dist/index.cjs148.js.map +1 -1
  47. package/dist/index.cjs149.js.map +1 -1
  48. package/dist/index.cjs15.js.map +1 -1
  49. package/dist/index.cjs150.js.map +1 -1
  50. package/dist/index.cjs151.js.map +1 -1
  51. package/dist/index.cjs152.js.map +1 -1
  52. package/dist/index.cjs153.js.map +1 -1
  53. package/dist/index.cjs154.js.map +1 -1
  54. package/dist/index.cjs155.js.map +1 -1
  55. package/dist/index.cjs156.js.map +1 -1
  56. package/dist/index.cjs157.js.map +1 -1
  57. package/dist/index.cjs158.js.map +1 -1
  58. package/dist/index.cjs159.js.map +1 -1
  59. package/dist/index.cjs160.js.map +1 -1
  60. package/dist/index.cjs161.js.map +1 -1
  61. package/dist/index.cjs162.js.map +1 -1
  62. package/dist/index.cjs163.js.map +1 -1
  63. package/dist/index.cjs164.js.map +1 -1
  64. package/dist/index.cjs165.js.map +1 -1
  65. package/dist/index.cjs166.js.map +1 -1
  66. package/dist/index.cjs167.js.map +1 -1
  67. package/dist/index.cjs168.js.map +1 -1
  68. package/dist/index.cjs169.js.map +1 -1
  69. package/dist/index.cjs170.js.map +1 -1
  70. package/dist/index.cjs171.js.map +1 -1
  71. package/dist/index.cjs172.js.map +1 -1
  72. package/dist/index.cjs173.js.map +1 -1
  73. package/dist/index.cjs174.js.map +1 -1
  74. package/dist/index.cjs175.js.map +1 -1
  75. package/dist/index.cjs176.js.map +1 -1
  76. package/dist/index.cjs177.js.map +1 -1
  77. package/dist/index.cjs18.js.map +1 -1
  78. package/dist/index.cjs183.js.map +1 -1
  79. package/dist/index.cjs184.js.map +1 -1
  80. package/dist/index.cjs185.js.map +1 -1
  81. package/dist/index.cjs186.js.map +1 -1
  82. package/dist/index.cjs187.js.map +1 -1
  83. package/dist/index.cjs188.js.map +1 -1
  84. package/dist/index.cjs189.js.map +1 -1
  85. package/dist/index.cjs19.js.map +1 -1
  86. package/dist/index.cjs190.js.map +1 -1
  87. package/dist/index.cjs191.js.map +1 -1
  88. package/dist/index.cjs193.js +1 -1
  89. package/dist/index.cjs193.js.map +1 -1
  90. package/dist/index.cjs194.js +1 -1
  91. package/dist/index.cjs194.js.map +1 -1
  92. package/dist/index.cjs198.js +1 -1
  93. package/dist/index.cjs198.js.map +1 -1
  94. package/dist/index.cjs207.js +1 -1
  95. package/dist/index.cjs207.js.map +1 -1
  96. package/dist/index.cjs21.js.map +1 -1
  97. package/dist/index.cjs211.js +1 -1
  98. package/dist/index.cjs211.js.map +1 -1
  99. package/dist/index.cjs22.js.map +1 -1
  100. package/dist/index.cjs227.js.map +1 -1
  101. package/dist/index.cjs23.js.map +1 -1
  102. package/dist/index.cjs230.js.map +1 -1
  103. package/dist/index.cjs233.js.map +1 -1
  104. package/dist/index.cjs237.js.map +1 -1
  105. package/dist/index.cjs241.js.map +1 -1
  106. package/dist/index.cjs247.js.map +1 -1
  107. package/dist/index.cjs248.js.map +1 -1
  108. package/dist/index.cjs249.js.map +1 -1
  109. package/dist/index.cjs25.js.map +1 -1
  110. package/dist/index.cjs256.js.map +1 -1
  111. package/dist/index.cjs259.js.map +1 -1
  112. package/dist/index.cjs26.js.map +1 -1
  113. package/dist/index.cjs264.js.map +1 -1
  114. package/dist/index.cjs265.js +1 -1
  115. package/dist/index.cjs269.js.map +1 -1
  116. package/dist/index.cjs271.js +1 -1
  117. package/dist/index.cjs272.js.map +1 -1
  118. package/dist/index.cjs273.js.map +1 -1
  119. package/dist/index.cjs274.js.map +1 -1
  120. package/dist/index.cjs275.js.map +1 -1
  121. package/dist/index.cjs277.js.map +1 -1
  122. package/dist/index.cjs278.js +1 -1
  123. package/dist/index.cjs278.js.map +1 -1
  124. package/dist/index.cjs279.js +1 -1
  125. package/dist/index.cjs279.js.map +1 -1
  126. package/dist/index.cjs282.js.map +1 -1
  127. package/dist/index.cjs283.js +1 -1
  128. package/dist/index.cjs283.js.map +1 -1
  129. package/dist/index.cjs288.js +1 -1
  130. package/dist/index.cjs288.js.map +1 -1
  131. package/dist/index.cjs289.js.map +1 -1
  132. package/dist/index.cjs290.js +1 -1
  133. package/dist/index.cjs290.js.map +1 -1
  134. package/dist/index.cjs292.js.map +1 -1
  135. package/dist/index.cjs293.js.map +1 -1
  136. package/dist/index.cjs294.js.map +1 -1
  137. package/dist/index.cjs297.js.map +1 -1
  138. package/dist/index.cjs30.js.map +1 -1
  139. package/dist/index.cjs31.js.map +1 -1
  140. package/dist/index.cjs32.js.map +1 -1
  141. package/dist/index.cjs33.js.map +1 -1
  142. package/dist/index.cjs337.js +1 -1
  143. package/dist/index.cjs34.js.map +1 -1
  144. package/dist/index.cjs345.js.map +1 -1
  145. package/dist/index.cjs350.js +1 -1
  146. package/dist/index.cjs356.js.map +1 -1
  147. package/dist/index.cjs358.js.map +1 -1
  148. package/dist/index.cjs36.js.map +1 -1
  149. package/dist/index.cjs362.js.map +1 -1
  150. package/dist/index.cjs364.js +1 -1
  151. package/dist/index.cjs365.js +1 -1
  152. package/dist/index.cjs366.js +1 -1
  153. package/dist/index.cjs37.js.map +1 -1
  154. package/dist/index.cjs378.js +1 -1
  155. package/dist/index.cjs379.js +3 -12
  156. package/dist/index.cjs379.js.map +1 -1
  157. package/dist/index.cjs38.js.map +1 -1
  158. package/dist/index.cjs388.js +1 -1
  159. package/dist/index.cjs389.js +1 -1
  160. package/dist/index.cjs39.js.map +1 -1
  161. package/dist/index.cjs390.js +1 -1
  162. package/dist/index.cjs391.js +1 -1
  163. package/dist/index.cjs393.js.map +1 -1
  164. package/dist/index.cjs397.js +1 -1
  165. package/dist/index.cjs398.js +1 -1
  166. package/dist/index.cjs399.js +1 -1
  167. package/dist/index.cjs399.js.map +1 -1
  168. package/dist/index.cjs40.js.map +1 -1
  169. package/dist/index.cjs400.js +1 -1
  170. package/dist/index.cjs400.js.map +1 -1
  171. package/dist/index.cjs401.js +1 -1
  172. package/dist/index.cjs401.js.map +1 -1
  173. package/dist/{index.cjs411.js → index.cjs402.js} +1 -1
  174. package/dist/{index.cjs411.js.map → index.cjs402.js.map} +1 -1
  175. package/dist/{index.cjs412.js → index.cjs403.js} +2 -2
  176. package/dist/{index.cjs412.js.map → index.cjs403.js.map} +1 -1
  177. package/dist/{index.cjs413.js → index.cjs404.js} +1 -1
  178. package/dist/{index.cjs413.js.map → index.cjs404.js.map} +1 -1
  179. package/dist/{index.cjs414.js → index.cjs405.js} +1 -1
  180. package/dist/{index.cjs414.js.map → index.cjs405.js.map} +1 -1
  181. package/dist/index.cjs406.js +2 -0
  182. package/dist/index.cjs406.js.map +1 -0
  183. package/dist/index.cjs41.js +1 -1
  184. package/dist/index.cjs41.js.map +1 -1
  185. package/dist/index.cjs42.js.map +1 -1
  186. package/dist/index.cjs424.js +1 -1
  187. package/dist/index.cjs424.js.map +1 -1
  188. package/dist/index.cjs425.js +1 -1
  189. package/dist/index.cjs425.js.map +1 -1
  190. package/dist/index.cjs426.js +1 -1
  191. package/dist/index.cjs426.js.map +1 -1
  192. package/dist/index.cjs427.js +1 -1
  193. package/dist/index.cjs427.js.map +1 -1
  194. package/dist/index.cjs428.js +1 -1
  195. package/dist/index.cjs428.js.map +1 -1
  196. package/dist/index.cjs429.js +1 -1
  197. package/dist/index.cjs429.js.map +1 -1
  198. package/dist/index.cjs43.js.map +1 -1
  199. package/dist/index.cjs430.js +1 -1
  200. package/dist/index.cjs430.js.map +1 -1
  201. package/dist/index.cjs431.js +1 -1
  202. package/dist/index.cjs431.js.map +1 -1
  203. package/dist/index.cjs432.js +1 -1
  204. package/dist/index.cjs432.js.map +1 -1
  205. package/dist/index.cjs433.js +1 -1
  206. package/dist/index.cjs433.js.map +1 -1
  207. package/dist/index.cjs434.js +1 -1
  208. package/dist/index.cjs434.js.map +1 -1
  209. package/dist/index.cjs435.js +1 -1
  210. package/dist/index.cjs435.js.map +1 -1
  211. package/dist/index.cjs436.js +1 -1
  212. package/dist/index.cjs436.js.map +1 -1
  213. package/dist/index.cjs437.js +1 -1
  214. package/dist/index.cjs437.js.map +1 -1
  215. package/dist/index.cjs438.js +1 -1
  216. package/dist/index.cjs438.js.map +1 -1
  217. package/dist/index.cjs439.js +1 -1
  218. package/dist/index.cjs439.js.map +1 -1
  219. package/dist/index.cjs44.js.map +1 -1
  220. package/dist/index.cjs440.js +1 -4
  221. package/dist/index.cjs440.js.map +1 -1
  222. package/dist/index.cjs441.js +1 -1
  223. package/dist/index.cjs441.js.map +1 -1
  224. package/dist/index.cjs442.js +1 -1
  225. package/dist/index.cjs442.js.map +1 -1
  226. package/dist/index.cjs443.js +1 -1
  227. package/dist/index.cjs443.js.map +1 -1
  228. package/dist/index.cjs444.js +1 -1
  229. package/dist/index.cjs444.js.map +1 -1
  230. package/dist/index.cjs445.js +1 -38
  231. package/dist/index.cjs445.js.map +1 -1
  232. package/dist/index.cjs446.js +1 -1
  233. package/dist/index.cjs446.js.map +1 -1
  234. package/dist/index.cjs447.js +1 -1
  235. package/dist/index.cjs447.js.map +1 -1
  236. package/dist/index.cjs448.js +1 -1
  237. package/dist/index.cjs448.js.map +1 -1
  238. package/dist/index.cjs449.js +1 -1
  239. package/dist/index.cjs449.js.map +1 -1
  240. package/dist/index.cjs45.js.map +1 -1
  241. package/dist/index.cjs450.js +1 -1
  242. package/dist/index.cjs450.js.map +1 -1
  243. package/dist/index.cjs451.js +1 -1
  244. package/dist/index.cjs451.js.map +1 -1
  245. package/dist/index.cjs452.js +1 -1
  246. package/dist/index.cjs452.js.map +1 -1
  247. package/dist/index.cjs453.js +1 -1
  248. package/dist/index.cjs453.js.map +1 -1
  249. package/dist/index.cjs454.js +1 -1
  250. package/dist/index.cjs454.js.map +1 -1
  251. package/dist/index.cjs455.js +1 -1
  252. package/dist/index.cjs455.js.map +1 -1
  253. package/dist/index.cjs456.js +2 -0
  254. package/dist/index.cjs456.js.map +1 -0
  255. package/dist/index.cjs457.js +2 -0
  256. package/dist/index.cjs457.js.map +1 -0
  257. package/dist/index.cjs458.js +1 -1
  258. package/dist/index.cjs458.js.map +1 -1
  259. package/dist/index.cjs459.js +4 -1
  260. package/dist/index.cjs459.js.map +1 -1
  261. package/dist/index.cjs46.js.map +1 -1
  262. package/dist/index.cjs460.js +1 -1
  263. package/dist/index.cjs460.js.map +1 -1
  264. package/dist/index.cjs461.js +5 -1
  265. package/dist/index.cjs461.js.map +1 -1
  266. package/dist/index.cjs462.js +1 -1
  267. package/dist/index.cjs462.js.map +1 -1
  268. package/dist/index.cjs463.js +1 -1
  269. package/dist/index.cjs463.js.map +1 -1
  270. package/dist/index.cjs464.js +1 -1
  271. package/dist/index.cjs464.js.map +1 -1
  272. package/dist/index.cjs465.js +1 -1
  273. package/dist/index.cjs465.js.map +1 -1
  274. package/dist/index.cjs466.js +1 -1
  275. package/dist/index.cjs466.js.map +1 -1
  276. package/dist/index.cjs467.js +1 -1
  277. package/dist/index.cjs467.js.map +1 -1
  278. package/dist/index.cjs468.js +1 -1
  279. package/dist/index.cjs468.js.map +1 -1
  280. package/dist/index.cjs469.js +1 -1
  281. package/dist/index.cjs469.js.map +1 -1
  282. package/dist/index.cjs47.js.map +1 -1
  283. package/dist/index.cjs470.js +1 -1
  284. package/dist/index.cjs470.js.map +1 -1
  285. package/dist/index.cjs471.js +1 -1
  286. package/dist/index.cjs471.js.map +1 -1
  287. package/dist/index.cjs472.js +1 -1
  288. package/dist/index.cjs472.js.map +1 -1
  289. package/dist/index.cjs473.js +38 -5
  290. package/dist/index.cjs473.js.map +1 -1
  291. package/dist/index.cjs474.js +1 -1
  292. package/dist/index.cjs474.js.map +1 -1
  293. package/dist/index.cjs475.js +1 -1
  294. package/dist/index.cjs475.js.map +1 -1
  295. package/dist/index.cjs476.js +1 -1
  296. package/dist/index.cjs476.js.map +1 -1
  297. package/dist/index.cjs477.js +1 -1
  298. package/dist/index.cjs477.js.map +1 -1
  299. package/dist/index.cjs478.js +1 -1
  300. package/dist/index.cjs478.js.map +1 -1
  301. package/dist/index.cjs479.js +1 -1
  302. package/dist/index.cjs479.js.map +1 -1
  303. package/dist/index.cjs48.js.map +1 -1
  304. package/dist/index.cjs480.js +1 -1
  305. package/dist/index.cjs480.js.map +1 -1
  306. package/dist/index.cjs481.js +1 -1
  307. package/dist/index.cjs481.js.map +1 -1
  308. package/dist/index.cjs482.js +1 -1
  309. package/dist/index.cjs482.js.map +1 -1
  310. package/dist/index.cjs483.js +1 -1
  311. package/dist/index.cjs483.js.map +1 -1
  312. package/dist/index.cjs49.js.map +1 -1
  313. package/dist/index.cjs50.js.map +1 -1
  314. package/dist/index.cjs53.js.map +1 -1
  315. package/dist/index.cjs54.js.map +1 -1
  316. package/dist/index.cjs55.js.map +1 -1
  317. package/dist/index.cjs58.js.map +1 -1
  318. package/dist/index.cjs59.js.map +1 -1
  319. package/dist/index.cjs6.js.map +1 -1
  320. package/dist/index.cjs61.js.map +1 -1
  321. package/dist/index.cjs63.js.map +1 -1
  322. package/dist/index.cjs64.js.map +1 -1
  323. package/dist/index.cjs65.js.map +1 -1
  324. package/dist/index.cjs66.js +1 -1
  325. package/dist/index.cjs66.js.map +1 -1
  326. package/dist/index.cjs69.js.map +1 -1
  327. package/dist/index.cjs7.js.map +1 -1
  328. package/dist/index.cjs70.js.map +1 -1
  329. package/dist/index.cjs71.js.map +1 -1
  330. package/dist/index.cjs73.js.map +1 -1
  331. package/dist/index.cjs74.js.map +1 -1
  332. package/dist/index.cjs75.js.map +1 -1
  333. package/dist/index.cjs76.js.map +1 -1
  334. package/dist/index.cjs77.js.map +1 -1
  335. package/dist/index.cjs78.js.map +1 -1
  336. package/dist/index.cjs79.js.map +1 -1
  337. package/dist/index.cjs8.js.map +1 -1
  338. package/dist/index.cjs80.js.map +1 -1
  339. package/dist/index.cjs81.js.map +1 -1
  340. package/dist/index.cjs82.js.map +1 -1
  341. package/dist/index.cjs83.js.map +1 -1
  342. package/dist/index.cjs84.js.map +1 -1
  343. package/dist/index.cjs85.js.map +1 -1
  344. package/dist/index.cjs86.js.map +1 -1
  345. package/dist/index.cjs87.js.map +1 -1
  346. package/dist/index.cjs88.js.map +1 -1
  347. package/dist/index.cjs89.js.map +1 -1
  348. package/dist/index.cjs90.js.map +1 -1
  349. package/dist/index.cjs92.js.map +1 -1
  350. package/dist/index.cjs93.js.map +1 -1
  351. package/dist/index.cjs94.js.map +1 -1
  352. package/dist/index.cjs96.js.map +1 -1
  353. package/dist/index.cjs97.js.map +1 -1
  354. package/dist/index.cjs98.js.map +1 -1
  355. package/dist/index.cjs99.js.map +1 -1
  356. package/dist/index.d.ts +2 -1
  357. package/dist/index.es.js.map +1 -1
  358. package/dist/index.es10.js.map +1 -1
  359. package/dist/index.es100.js.map +1 -1
  360. package/dist/index.es101.js.map +1 -1
  361. package/dist/index.es103.js.map +1 -1
  362. package/dist/index.es105.js.map +1 -1
  363. package/dist/index.es106.js.map +1 -1
  364. package/dist/index.es107.js.map +1 -1
  365. package/dist/index.es108.js.map +1 -1
  366. package/dist/index.es109.js.map +1 -1
  367. package/dist/index.es110.js.map +1 -1
  368. package/dist/index.es111.js.map +1 -1
  369. package/dist/index.es112.js.map +1 -1
  370. package/dist/index.es113.js.map +1 -1
  371. package/dist/index.es114.js.map +1 -1
  372. package/dist/index.es115.js.map +1 -1
  373. package/dist/index.es116.js.map +1 -1
  374. package/dist/index.es117.js.map +1 -1
  375. package/dist/index.es118.js.map +1 -1
  376. package/dist/index.es119.js.map +1 -1
  377. package/dist/index.es12.js.map +1 -1
  378. package/dist/index.es120.js.map +1 -1
  379. package/dist/index.es121.js.map +1 -1
  380. package/dist/index.es123.js.map +1 -1
  381. package/dist/index.es124.js.map +1 -1
  382. package/dist/index.es125.js.map +1 -1
  383. package/dist/index.es126.js.map +1 -1
  384. package/dist/index.es127.js.map +1 -1
  385. package/dist/index.es128.js.map +1 -1
  386. package/dist/index.es129.js.map +1 -1
  387. package/dist/index.es13.js.map +1 -1
  388. package/dist/index.es130.js.map +1 -1
  389. package/dist/index.es131.js.map +1 -1
  390. package/dist/index.es132.js.map +1 -1
  391. package/dist/index.es133.js.map +1 -1
  392. package/dist/index.es134.js.map +1 -1
  393. package/dist/index.es135.js.map +1 -1
  394. package/dist/index.es136.js.map +1 -1
  395. package/dist/index.es137.js.map +1 -1
  396. package/dist/index.es14.js.map +1 -1
  397. package/dist/index.es141.js.map +1 -1
  398. package/dist/index.es144.js.map +1 -1
  399. package/dist/index.es145.js.map +1 -1
  400. package/dist/index.es146.js.map +1 -1
  401. package/dist/index.es147.js.map +1 -1
  402. package/dist/index.es148.js.map +1 -1
  403. package/dist/index.es149.js.map +1 -1
  404. package/dist/index.es15.js.map +1 -1
  405. package/dist/index.es150.js.map +1 -1
  406. package/dist/index.es151.js.map +1 -1
  407. package/dist/index.es152.js.map +1 -1
  408. package/dist/index.es153.js.map +1 -1
  409. package/dist/index.es154.js.map +1 -1
  410. package/dist/index.es155.js.map +1 -1
  411. package/dist/index.es156.js.map +1 -1
  412. package/dist/index.es157.js.map +1 -1
  413. package/dist/index.es158.js.map +1 -1
  414. package/dist/index.es159.js.map +1 -1
  415. package/dist/index.es160.js.map +1 -1
  416. package/dist/index.es161.js.map +1 -1
  417. package/dist/index.es162.js.map +1 -1
  418. package/dist/index.es163.js.map +1 -1
  419. package/dist/index.es164.js.map +1 -1
  420. package/dist/index.es165.js.map +1 -1
  421. package/dist/index.es166.js.map +1 -1
  422. package/dist/index.es167.js.map +1 -1
  423. package/dist/index.es168.js.map +1 -1
  424. package/dist/index.es169.js.map +1 -1
  425. package/dist/index.es170.js.map +1 -1
  426. package/dist/index.es171.js.map +1 -1
  427. package/dist/index.es172.js.map +1 -1
  428. package/dist/index.es173.js.map +1 -1
  429. package/dist/index.es174.js.map +1 -1
  430. package/dist/index.es175.js.map +1 -1
  431. package/dist/index.es176.js.map +1 -1
  432. package/dist/index.es177.js.map +1 -1
  433. package/dist/index.es18.js.map +1 -1
  434. package/dist/index.es183.js.map +1 -1
  435. package/dist/index.es184.js.map +1 -1
  436. package/dist/index.es185.js.map +1 -1
  437. package/dist/index.es186.js.map +1 -1
  438. package/dist/index.es187.js.map +1 -1
  439. package/dist/index.es188.js.map +1 -1
  440. package/dist/index.es189.js.map +1 -1
  441. package/dist/index.es19.js.map +1 -1
  442. package/dist/index.es190.js.map +1 -1
  443. package/dist/index.es191.js.map +1 -1
  444. package/dist/index.es193.js +76 -71
  445. package/dist/index.es193.js.map +1 -1
  446. package/dist/index.es194.js +11 -1
  447. package/dist/index.es194.js.map +1 -1
  448. package/dist/index.es198.js +63 -58
  449. package/dist/index.es198.js.map +1 -1
  450. package/dist/index.es207.js +29 -26
  451. package/dist/index.es207.js.map +1 -1
  452. package/dist/index.es21.js.map +1 -1
  453. package/dist/index.es211.js +18 -15
  454. package/dist/index.es211.js.map +1 -1
  455. package/dist/index.es22.js.map +1 -1
  456. package/dist/index.es227.js.map +1 -1
  457. package/dist/index.es23.js.map +1 -1
  458. package/dist/index.es230.js.map +1 -1
  459. package/dist/index.es233.js.map +1 -1
  460. package/dist/index.es237.js.map +1 -1
  461. package/dist/index.es241.js.map +1 -1
  462. package/dist/index.es247.js.map +1 -1
  463. package/dist/index.es248.js.map +1 -1
  464. package/dist/index.es249.js.map +1 -1
  465. package/dist/index.es25.js.map +1 -1
  466. package/dist/index.es256.js.map +1 -1
  467. package/dist/index.es259.js.map +1 -1
  468. package/dist/index.es26.js.map +1 -1
  469. package/dist/index.es264.js.map +1 -1
  470. package/dist/index.es265.js +1 -1
  471. package/dist/index.es269.js.map +1 -1
  472. package/dist/index.es271.js +7 -7
  473. package/dist/index.es272.js.map +1 -1
  474. package/dist/index.es273.js.map +1 -1
  475. package/dist/index.es274.js.map +1 -1
  476. package/dist/index.es275.js.map +1 -1
  477. package/dist/index.es277.js.map +1 -1
  478. package/dist/index.es278.js +1 -1
  479. package/dist/index.es278.js.map +1 -1
  480. package/dist/index.es279.js +1 -1
  481. package/dist/index.es279.js.map +1 -1
  482. package/dist/index.es282.js.map +1 -1
  483. package/dist/index.es283.js +1 -1
  484. package/dist/index.es283.js.map +1 -1
  485. package/dist/index.es288.js +1 -1
  486. package/dist/index.es288.js.map +1 -1
  487. package/dist/index.es289.js.map +1 -1
  488. package/dist/index.es290.js +1 -1
  489. package/dist/index.es290.js.map +1 -1
  490. package/dist/index.es292.js.map +1 -1
  491. package/dist/index.es293.js.map +1 -1
  492. package/dist/index.es294.js.map +1 -1
  493. package/dist/index.es297.js.map +1 -1
  494. package/dist/index.es30.js.map +1 -1
  495. package/dist/index.es31.js.map +1 -1
  496. package/dist/index.es32.js.map +1 -1
  497. package/dist/index.es33.js.map +1 -1
  498. package/dist/index.es337.js +1 -1
  499. package/dist/index.es34.js.map +1 -1
  500. package/dist/index.es345.js.map +1 -1
  501. package/dist/index.es350.js +8 -8
  502. package/dist/index.es356.js.map +1 -1
  503. package/dist/index.es358.js.map +1 -1
  504. package/dist/index.es36.js.map +1 -1
  505. package/dist/index.es362.js.map +1 -1
  506. package/dist/index.es364.js +3 -3
  507. package/dist/index.es365.js +2 -2
  508. package/dist/index.es366.js +3 -3
  509. package/dist/index.es37.js.map +1 -1
  510. package/dist/index.es378.js +1 -1
  511. package/dist/index.es379.js +146 -307
  512. package/dist/index.es379.js.map +1 -1
  513. package/dist/index.es38.js.map +1 -1
  514. package/dist/index.es388.js +1 -1
  515. package/dist/index.es389.js +1 -1
  516. package/dist/index.es39.js.map +1 -1
  517. package/dist/index.es390.js +12 -12
  518. package/dist/index.es391.js +1 -1
  519. package/dist/index.es393.js.map +1 -1
  520. package/dist/index.es397.js +1 -1
  521. package/dist/index.es398.js +1 -1
  522. package/dist/index.es399.js +125 -2
  523. package/dist/index.es399.js.map +1 -1
  524. package/dist/index.es40.js.map +1 -1
  525. package/dist/index.es400.js +135 -2
  526. package/dist/index.es400.js.map +1 -1
  527. package/dist/index.es401.js +14 -15
  528. package/dist/index.es401.js.map +1 -1
  529. package/dist/{index.es411.js → index.es402.js} +1 -1
  530. package/dist/{index.es411.js.map → index.es402.js.map} +1 -1
  531. package/dist/{index.es412.js → index.es403.js} +4 -4
  532. package/dist/{index.es412.js.map → index.es403.js.map} +1 -1
  533. package/dist/{index.es413.js → index.es404.js} +1 -1
  534. package/dist/{index.es413.js.map → index.es404.js.map} +1 -1
  535. package/dist/{index.es414.js → index.es405.js} +1 -1
  536. package/dist/{index.es414.js.map → index.es405.js.map} +1 -1
  537. package/dist/index.es406.js +18 -0
  538. package/dist/index.es406.js.map +1 -0
  539. package/dist/index.es41.js +24 -23
  540. package/dist/index.es41.js.map +1 -1
  541. package/dist/index.es42.js.map +1 -1
  542. package/dist/index.es424.js +2031 -10
  543. package/dist/index.es424.js.map +1 -1
  544. package/dist/index.es425.js +57 -43
  545. package/dist/index.es425.js.map +1 -1
  546. package/dist/index.es426.js +188 -7
  547. package/dist/index.es426.js.map +1 -1
  548. package/dist/index.es427.js +2 -218
  549. package/dist/index.es427.js.map +1 -1
  550. package/dist/index.es428.js +2 -178
  551. package/dist/index.es428.js.map +1 -1
  552. package/dist/index.es429.js +11 -4
  553. package/dist/index.es429.js.map +1 -1
  554. package/dist/index.es43.js.map +1 -1
  555. package/dist/index.es430.js +45 -11
  556. package/dist/index.es430.js.map +1 -1
  557. package/dist/index.es431.js +7 -204
  558. package/dist/index.es431.js.map +1 -1
  559. package/dist/index.es432.js +216 -20
  560. package/dist/index.es432.js.map +1 -1
  561. package/dist/index.es433.js +170 -385
  562. package/dist/index.es433.js.map +1 -1
  563. package/dist/index.es434.js +3 -24
  564. package/dist/index.es434.js.map +1 -1
  565. package/dist/index.es435.js +12 -29
  566. package/dist/index.es435.js.map +1 -1
  567. package/dist/index.es436.js +2 -7
  568. package/dist/index.es436.js.map +1 -1
  569. package/dist/index.es437.js +10 -5
  570. package/dist/index.es437.js.map +1 -1
  571. package/dist/index.es438.js +178 -3
  572. package/dist/index.es438.js.map +1 -1
  573. package/dist/index.es439.js +3 -23
  574. package/dist/index.es439.js.map +1 -1
  575. package/dist/index.es44.js.map +1 -1
  576. package/dist/index.es440.js +128 -105
  577. package/dist/index.es440.js.map +1 -1
  578. package/dist/index.es441.js +204 -15
  579. package/dist/index.es441.js.map +1 -1
  580. package/dist/index.es442.js +21 -522
  581. package/dist/index.es442.js.map +1 -1
  582. package/dist/index.es443.js +379 -113
  583. package/dist/index.es443.js.map +1 -1
  584. package/dist/index.es444.js +23 -127
  585. package/dist/index.es444.js.map +1 -1
  586. package/dist/index.es445.js +28 -68
  587. package/dist/index.es445.js.map +1 -1
  588. package/dist/index.es446.js +5 -9
  589. package/dist/index.es446.js.map +1 -1
  590. package/dist/index.es447.js +81 -12
  591. package/dist/index.es447.js.map +1 -1
  592. package/dist/index.es448.js +5 -62
  593. package/dist/index.es448.js.map +1 -1
  594. package/dist/index.es449.js +4 -65
  595. package/dist/index.es449.js.map +1 -1
  596. package/dist/index.es45.js.map +1 -1
  597. package/dist/index.es450.js +4 -3
  598. package/dist/index.es450.js.map +1 -1
  599. package/dist/index.es451.js +9 -22
  600. package/dist/index.es451.js.map +1 -1
  601. package/dist/index.es452.js +56 -23
  602. package/dist/index.es452.js.map +1 -1
  603. package/dist/index.es453.js +7 -12
  604. package/dist/index.es453.js.map +1 -1
  605. package/dist/index.es454.js +5 -27
  606. package/dist/index.es454.js.map +1 -1
  607. package/dist/index.es455.js +532 -4
  608. package/dist/index.es455.js.map +1 -1
  609. package/dist/index.es456.js +8 -0
  610. package/dist/index.es456.js.map +1 -0
  611. package/dist/index.es457.js +6 -0
  612. package/dist/index.es457.js.map +1 -0
  613. package/dist/index.es458.js +19 -2027
  614. package/dist/index.es458.js.map +1 -1
  615. package/dist/index.es459.js +108 -58
  616. package/dist/index.es459.js.map +1 -1
  617. package/dist/index.es46.js.map +1 -1
  618. package/dist/index.es460.js +15 -188
  619. package/dist/index.es460.js.map +1 -1
  620. package/dist/index.es461.js +40 -5
  621. package/dist/index.es461.js.map +1 -1
  622. package/dist/index.es462.js +2 -4
  623. package/dist/index.es462.js.map +1 -1
  624. package/dist/index.es463.js +2 -5
  625. package/dist/index.es463.js.map +1 -1
  626. package/dist/index.es464.js +2 -10
  627. package/dist/index.es464.js.map +1 -1
  628. package/dist/index.es465.js +3 -56
  629. package/dist/index.es465.js.map +1 -1
  630. package/dist/index.es466.js +2 -8
  631. package/dist/index.es466.js.map +1 -1
  632. package/dist/index.es467.js +3 -5
  633. package/dist/index.es467.js.map +1 -1
  634. package/dist/index.es468.js +4 -532
  635. package/dist/index.es468.js.map +1 -1
  636. package/dist/index.es469.js +521 -8
  637. package/dist/index.es469.js.map +1 -1
  638. package/dist/index.es47.js.map +1 -1
  639. package/dist/index.es470.js +122 -173
  640. package/dist/index.es470.js.map +1 -1
  641. package/dist/index.es471.js +128 -3
  642. package/dist/index.es471.js.map +1 -1
  643. package/dist/index.es472.js +59 -127
  644. package/dist/index.es472.js.map +1 -1
  645. package/dist/index.es473.js +69 -40
  646. package/dist/index.es473.js.map +1 -1
  647. package/dist/index.es474.js +9 -2
  648. package/dist/index.es474.js.map +1 -1
  649. package/dist/index.es475.js +14 -2
  650. package/dist/index.es475.js.map +1 -1
  651. package/dist/index.es476.js +62 -2
  652. package/dist/index.es476.js.map +1 -1
  653. package/dist/index.es477.js +4 -3
  654. package/dist/index.es477.js.map +1 -1
  655. package/dist/index.es478.js +4 -2
  656. package/dist/index.es478.js.map +1 -1
  657. package/dist/index.es479.js +22 -3
  658. package/dist/index.es479.js.map +1 -1
  659. package/dist/index.es48.js.map +1 -1
  660. package/dist/index.es480.js +23 -5
  661. package/dist/index.es480.js.map +1 -1
  662. package/dist/index.es481.js +13 -4
  663. package/dist/index.es481.js.map +1 -1
  664. package/dist/index.es482.js +30 -2
  665. package/dist/index.es482.js.map +1 -1
  666. package/dist/index.es483.js +5 -83
  667. package/dist/index.es483.js.map +1 -1
  668. package/dist/index.es49.js.map +1 -1
  669. package/dist/index.es50.js.map +1 -1
  670. package/dist/index.es53.js.map +1 -1
  671. package/dist/index.es54.js.map +1 -1
  672. package/dist/index.es55.js.map +1 -1
  673. package/dist/index.es58.js.map +1 -1
  674. package/dist/index.es59.js.map +1 -1
  675. package/dist/index.es6.js.map +1 -1
  676. package/dist/index.es61.js.map +1 -1
  677. package/dist/index.es63.js.map +1 -1
  678. package/dist/index.es64.js.map +1 -1
  679. package/dist/index.es65.js.map +1 -1
  680. package/dist/index.es66.js +120 -117
  681. package/dist/index.es66.js.map +1 -1
  682. package/dist/index.es69.js.map +1 -1
  683. package/dist/index.es7.js.map +1 -1
  684. package/dist/index.es70.js.map +1 -1
  685. package/dist/index.es71.js.map +1 -1
  686. package/dist/index.es73.js.map +1 -1
  687. package/dist/index.es74.js.map +1 -1
  688. package/dist/index.es75.js.map +1 -1
  689. package/dist/index.es76.js.map +1 -1
  690. package/dist/index.es77.js.map +1 -1
  691. package/dist/index.es78.js.map +1 -1
  692. package/dist/index.es79.js.map +1 -1
  693. package/dist/index.es8.js.map +1 -1
  694. package/dist/index.es80.js.map +1 -1
  695. package/dist/index.es81.js.map +1 -1
  696. package/dist/index.es82.js.map +1 -1
  697. package/dist/index.es83.js.map +1 -1
  698. package/dist/index.es84.js.map +1 -1
  699. package/dist/index.es85.js.map +1 -1
  700. package/dist/index.es86.js.map +1 -1
  701. package/dist/index.es87.js.map +1 -1
  702. package/dist/index.es88.js.map +1 -1
  703. package/dist/index.es89.js.map +1 -1
  704. package/dist/index.es90.js.map +1 -1
  705. package/dist/index.es92.js.map +1 -1
  706. package/dist/index.es93.js.map +1 -1
  707. package/dist/index.es94.js.map +1 -1
  708. package/dist/index.es96.js.map +1 -1
  709. package/dist/index.es97.js.map +1 -1
  710. package/dist/index.es98.js.map +1 -1
  711. package/dist/index.es99.js.map +1 -1
  712. package/package.json +112 -112
  713. package/readme.md +42 -42
  714. package/dist/index.cjs408.js +0 -2
  715. package/dist/index.cjs408.js.map +0 -1
  716. package/dist/index.cjs409.js +0 -2
  717. package/dist/index.cjs409.js.map +0 -1
  718. package/dist/index.cjs410.js +0 -2
  719. package/dist/index.cjs410.js.map +0 -1
  720. package/dist/index.es408.js +0 -128
  721. package/dist/index.es408.js.map +0 -1
  722. package/dist/index.es409.js +0 -138
  723. package/dist/index.es409.js.map +0 -1
  724. package/dist/index.es410.js +0 -17
  725. package/dist/index.es410.js.map +0 -1
  726. /package/dist/components/ui/{DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css → ConsentModal/ConsentModalContent/ConsentModalContent.css} +0 -0
  727. /package/dist/components/ui/{DoctorModal/DoctorModalFooter/DoctorModalFooter.css → ConsentModal/ConsentModalFooter/ConsentModalFooter.css} +0 -0
@@ -1,118 +1,121 @@
1
1
  import { j as a } from "./index.es212.js";
2
- import * as j from "react";
2
+ import * as N from "react";
3
3
  import { useEffect as S } from "react";
4
- import { clsx as b } from "./index.es214.js";
4
+ import { clsx as p } from "./index.es214.js";
5
5
  import './components/ui/Table/Table.css';/* empty css */
6
6
  import { ActionIconText as ee } from "./index.es60.js";
7
7
  import { TriangleUp as ae } from "./index.es171.js";
8
8
  import { TriangleDown as te } from "./index.es172.js";
9
9
  import { Download as se } from "./index.es164.js";
10
10
  import { Info as ie } from "./index.es173.js";
11
- const le = j.forwardRef(
11
+ const le = N.forwardRef(
12
12
  ({
13
13
  className: e,
14
14
  columns: t,
15
15
  data: i,
16
16
  pagination: n,
17
17
  initialCurrentPage: h = 1,
18
- resultsPerPage: k = 10,
18
+ resultsPerPage: T = 10,
19
19
  defaultSortDirection: o = "desc",
20
- setSelectedSort: p,
21
- initialSortConfig: N,
22
- serverSidePagination: m = !1,
23
- totalItems: y,
24
- hasNextPage: L,
25
- hasPreviousPage: f,
26
- onNextPage: C,
20
+ setSelectedSort: m,
21
+ initialSortConfig: y,
22
+ serverSidePagination: x = !1,
23
+ totalItems: k,
24
+ hasNextPage: v,
25
+ hasPreviousPage: u,
26
+ onNextPage: L,
27
27
  onPreviousPage: B,
28
28
  onPageChange: I,
29
- ...D
29
+ ...C
30
30
  }, A) => {
31
- const [r, s] = j.useState(
32
- N || {
31
+ const [r, s] = N.useState(
32
+ y || {
33
33
  key: t[0].key || t[0].label,
34
34
  direction: o
35
35
  }
36
- ), [g, _] = j.useState(h);
36
+ ), [D, _] = N.useState(h);
37
37
  S(() => {
38
- N && s(N);
39
- }, [N]);
40
- const u = j.useMemo(() => [...i].sort((d, w) => {
41
- const c = d[r.key], l = w[r.key], x = t.find(
42
- (T) => (T.key || T.label) === r.key
38
+ y && s(y);
39
+ }, [y]);
40
+ const j = N.useMemo(() => [...i].sort((c, w) => {
41
+ const f = c[r.key], d = w[r.key], b = t.find(
42
+ (l) => (l.key || l.label) === r.key
43
43
  );
44
- if (typeof c == "string" && typeof l == "string") {
45
- if ((x == null ? void 0 : x.type) === "date") {
46
- const T = (J) => {
47
- const [Q, W] = J.split(" - "), [X, Y, Z] = Q.split("/").map(Number), [K, P] = W.split(":").map(Number);
44
+ if (typeof f == "string" && typeof d == "string") {
45
+ if ((b == null ? void 0 : b.type) === "date") {
46
+ const l = (O) => {
47
+ const [Q, W] = O.split(" - "), [X, Y, Z] = Q.split("/").map(Number), [K, P] = W.split(":").map(Number);
48
48
  return new Date(Z, Y - 1, X, K, P);
49
- }, $ = T(c), H = T(l);
49
+ }, $ = l(f), H = l(d);
50
50
  return r.direction === "asc" ? $.getTime() - H.getTime() : H.getTime() - $.getTime();
51
51
  }
52
- if ((x == null ? void 0 : x.type) === "number") {
53
- const T = parseFloat(c), $ = parseFloat(l);
54
- return r.direction === "asc" ? T - $ : $ - T;
52
+ if ((b == null ? void 0 : b.type) === "number") {
53
+ const l = parseFloat(f), $ = parseFloat(d);
54
+ return r.direction === "asc" ? l - $ : $ - l;
55
55
  }
56
- return r.direction === "asc" ? c.localeCompare(l) : l.localeCompare(c);
56
+ return r.direction === "asc" ? f.localeCompare(d) : d.localeCompare(f);
57
57
  }
58
- return M(c) && M(l) ? r.direction === "asc" ? c.firstLine.localeCompare(l.firstLine) : l.firstLine.localeCompare(c.firstLine) : 0;
59
- }), [i, r, t]), v = (d) => {
58
+ return M(f) && M(d) ? r.direction === "asc" ? f.firstLine.localeCompare(d.firstLine) : d.firstLine.localeCompare(f.firstLine) : 0;
59
+ }), [i, r, t]), g = (c) => {
60
60
  const w = {
61
- key: d,
62
- direction: r.key === d && r.direction === "asc" ? "desc" : "asc"
61
+ key: c,
62
+ direction: r.key === c && r.direction === "asc" ? "desc" : "asc"
63
63
  };
64
- s(w), p && p(w);
65
- }, F = n && !m ? (g - 1) * k : 0, q = n && !m ? Math.min(F + k, u.length) : u.length, G = m ? u : u.slice(F, q);
64
+ s(w), m && m(w);
65
+ }, F = n && !x ? (D - 1) * T : 0, G = n && !x ? Math.min(F + T, j.length) : j.length, J = x ? j : j.slice(F, G);
66
66
  return /* @__PURE__ */ a.jsxs("div", { className: "position-relative w-full", children: [
67
67
  /* @__PURE__ */ a.jsxs(
68
68
  "table",
69
69
  {
70
70
  ref: A,
71
- className: b("table", e),
71
+ className: p("table", e),
72
72
  role: "table",
73
- ...D,
73
+ ...C,
74
74
  children: [
75
- /* @__PURE__ */ a.jsx(U, { className: "table__header", children: /* @__PURE__ */ a.jsx(V, { children: t.map((d, w) => /* @__PURE__ */ a.jsx(
75
+ /* @__PURE__ */ a.jsx(U, { className: "table__header", children: /* @__PURE__ */ a.jsx(V, { children: t.map((c, w) => /* @__PURE__ */ a.jsx(
76
76
  E,
77
77
  {
78
- config: d,
78
+ config: c,
79
79
  sortConfig: r,
80
- onSort: () => d.sortable && v(d.key || d.label),
81
- variant: D.variant
80
+ onSort: () => c.sortable && g(c.key || c.label),
81
+ variant: C.variant
82
82
  },
83
- `${d.label}-${w}`
83
+ `${c.label}-${w}`
84
84
  )) }) }),
85
- /* @__PURE__ */ a.jsx(z, { className: "table__body", children: G.map((d, w) => /* @__PURE__ */ a.jsx(V, { className: "table__row", children: Object.entries(d).map(([c, l], x) => l ? c === "actionData" && O(l) ? /* @__PURE__ */ a.jsx(
86
- R,
87
- {
88
- content: l,
89
- type: "action"
90
- },
91
- `${c}-${x}`
92
- ) : M(l) ? /* @__PURE__ */ a.jsx(
93
- R,
94
- {
95
- content: l,
96
- type: "double-line"
97
- },
98
- `${c}-${x}`
99
- ) : typeof l == "string" ? /* @__PURE__ */ a.jsx(R, { content: l }, `${c}-${x}`) : null : null) }, w)) })
85
+ /* @__PURE__ */ a.jsx(z, { className: "table__body", children: J.map((c, w) => /* @__PURE__ */ a.jsx(V, { className: "table__row", children: t.map((f, d) => {
86
+ const b = f.key || f.label, l = c[b];
87
+ return l ? b === "actionData" && q(l) ? /* @__PURE__ */ a.jsx(
88
+ R,
89
+ {
90
+ content: l,
91
+ type: "action"
92
+ },
93
+ `${b}-${d}`
94
+ ) : M(l) ? /* @__PURE__ */ a.jsx(
95
+ R,
96
+ {
97
+ content: l,
98
+ type: "double-line"
99
+ },
100
+ `${b}-${d}`
101
+ ) : typeof l == "string" ? /* @__PURE__ */ a.jsx(R, { content: l }, `${b}-${d}`) : null : null;
102
+ }) }, w)) })
100
103
  ]
101
104
  }
102
105
  ),
103
106
  n && /* @__PURE__ */ a.jsx(
104
107
  ce,
105
108
  {
106
- currentPage: g,
107
- totalResults: m ? y || 0 : u.length,
108
- resultsPerPage: k,
109
+ currentPage: D,
110
+ totalResults: x ? k || 0 : j.length,
111
+ resultsPerPage: T,
109
112
  setCurrentPage: _,
110
113
  onPageChange: I,
111
- serverSide: m,
112
- totalItems: y,
113
- hasNextPage: L,
114
- hasPreviousPage: f,
115
- onNextPage: C,
114
+ serverSide: x,
115
+ totalItems: k,
116
+ hasNextPage: v,
117
+ hasPreviousPage: u,
118
+ onNextPage: L,
116
119
  onPreviousPage: B
117
120
  }
118
121
  )
@@ -120,36 +123,36 @@ const le = j.forwardRef(
120
123
  }
121
124
  );
122
125
  le.displayName = "Table";
123
- const U = j.forwardRef(
126
+ const U = N.forwardRef(
124
127
  ({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
125
128
  "thead",
126
129
  {
127
130
  ref: n,
128
- className: b("[&_tr]:border-b-0", e),
131
+ className: p("[&_tr]:border-b-0", e),
129
132
  ...i,
130
133
  children: t
131
134
  }
132
135
  )
133
136
  );
134
137
  U.displayName = "TableHeader";
135
- const z = j.forwardRef(
138
+ const z = N.forwardRef(
136
139
  ({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
137
140
  "tbody",
138
141
  {
139
142
  ref: n,
140
- className: b("[&_tr:last-child]:border-0", e),
143
+ className: p("[&_tr:last-child]:border-0", e),
141
144
  ...i,
142
145
  children: t
143
146
  }
144
147
  )
145
148
  );
146
149
  z.displayName = "TableBody";
147
- const V = j.forwardRef(
150
+ const V = N.forwardRef(
148
151
  ({ className: e, children: t, ...i }, n) => /* @__PURE__ */ a.jsx(
149
152
  "tr",
150
153
  {
151
154
  ref: n,
152
- className: b(
155
+ className: p(
153
156
  "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
154
157
  e
155
158
  ),
@@ -159,23 +162,23 @@ const V = j.forwardRef(
159
162
  )
160
163
  );
161
164
  V.displayName = "TableRow";
162
- const E = j.forwardRef(({ className: e, config: t, sortConfig: i, onSort: n, ...h }, k) => {
163
- var y;
164
- const o = i.key === (t.key || t.label), p = o ? i.direction : null, N = () => p === "asc" ? "ascending" : "descending", m = (L) => {
165
- switch (L) {
165
+ const E = N.forwardRef(({ className: e, config: t, sortConfig: i, onSort: n, ...h }, T) => {
166
+ var k;
167
+ const o = i.key === (t.key || t.label), m = o ? i.direction : null, y = () => m === "asc" ? "ascending" : "descending", x = (v) => {
168
+ switch (v) {
166
169
  case "info":
167
170
  return /* @__PURE__ */ a.jsx(ie, {});
168
171
  case "download":
169
172
  return /* @__PURE__ */ a.jsx(se, {});
170
173
  default:
171
- return L;
174
+ return v;
172
175
  }
173
176
  };
174
177
  return /* @__PURE__ */ a.jsx(
175
178
  "th",
176
179
  {
177
- ref: k,
178
- className: b(
180
+ ref: T,
181
+ className: p(
179
182
  "table__cell table__cell--header",
180
183
  {
181
184
  "table__cell--sortable": t.sortable,
@@ -185,21 +188,21 @@ const E = j.forwardRef(({ className: e, config: t, sortConfig: i, onSort: n, ...
185
188
  ),
186
189
  onClick: t.sortable ? n : t.action,
187
190
  "aria-label": t.ariaLabel,
188
- "aria-sort": o ? N() : void 0,
191
+ "aria-sort": o ? y() : void 0,
189
192
  ...h,
190
193
  children: /* @__PURE__ */ a.jsxs("div", { className: "table__cell--header--content", children: [
191
194
  /* @__PURE__ */ a.jsx("div", { children: /* @__PURE__ */ a.jsx(
192
195
  ee,
193
196
  {
194
- icon: m(t.icon),
195
- noIcon: !m(t.icon),
197
+ icon: x(t.icon),
198
+ noIcon: !x(t.icon),
196
199
  textLabel: t.label,
197
200
  iconPosition: t.iconPosition,
198
201
  handleIconAction: () => {
199
202
  t.iconAction;
200
203
  },
201
204
  popupInfo: t.popupInfo,
202
- positionPopUp: (y = t.popupInfo) == null ? void 0 : y.positionPopUp,
205
+ positionPopUp: (k = t.popupInfo) == null ? void 0 : k.positionPopUp,
203
206
  classNameText: h.variant && "fw-bold text-slate-28 fs-custom md-fs-6"
204
207
  }
205
208
  ) }),
@@ -207,18 +210,18 @@ const E = j.forwardRef(({ className: e, config: t, sortConfig: i, onSort: n, ...
207
210
  /* @__PURE__ */ a.jsx(
208
211
  ae,
209
212
  {
210
- filled: o && p === "desc",
211
- className: b("sort-indicator__triangle", {
212
- active: o && p === "desc"
213
+ filled: o && m === "desc",
214
+ className: p("sort-indicator__triangle", {
215
+ active: o && m === "desc"
213
216
  })
214
217
  }
215
218
  ),
216
219
  /* @__PURE__ */ a.jsx(
217
220
  te,
218
221
  {
219
- filled: o && p === "asc",
220
- className: b("sort-indicator__triangle", {
221
- active: o && p === "asc"
222
+ filled: o && m === "asc",
223
+ className: p("sort-indicator__triangle", {
224
+ active: o && m === "asc"
222
225
  })
223
226
  }
224
227
  )
@@ -231,14 +234,14 @@ E.displayName = "TableHead";
231
234
  const ne = ({ data: e }) => /* @__PURE__ */ a.jsxs(a.Fragment, { children: [
232
235
  /* @__PURE__ */ a.jsx("div", { className: "table__cell--firstLine", children: e.firstLine }),
233
236
  /* @__PURE__ */ a.jsx("div", { className: "table__cell--secondLine", children: e.secondLine })
234
- ] }), oe = ({ data: e }) => e.type === "link" && e.link ? /* @__PURE__ */ a.jsx("a", { href: e.link, "aria-label": e.ariaLabel, children: e.label }) : /* @__PURE__ */ a.jsx("button", { onClick: e.action, "aria-label": e.ariaLabel, children: e.label }), M = (e) => typeof e == "object" && e !== null && "firstLine" in e && "secondLine" in e, O = (e) => typeof e == "object" && e !== null && "label" in e && "type" in e, re = ({
237
+ ] }), oe = ({ data: e }) => e.type === "link" && e.link ? /* @__PURE__ */ a.jsx("a", { href: e.link, "aria-label": e.ariaLabel, children: e.label }) : /* @__PURE__ */ a.jsx("button", { onClick: e.action, "aria-label": e.ariaLabel, children: e.label }), M = (e) => typeof e == "object" && e !== null && "firstLine" in e && "secondLine" in e, q = (e) => typeof e == "object" && e !== null && "label" in e && "type" in e, re = ({
235
238
  content: e
236
- }) => typeof e == "string" ? /* @__PURE__ */ a.jsx(a.Fragment, { children: e }) : M(e) ? /* @__PURE__ */ a.jsx(ne, { data: e }) : O(e) ? /* @__PURE__ */ a.jsx(oe, { data: e }) : null, R = j.forwardRef(
239
+ }) => typeof e == "string" ? /* @__PURE__ */ a.jsx(a.Fragment, { children: e }) : M(e) ? /* @__PURE__ */ a.jsx(ne, { data: e }) : q(e) ? /* @__PURE__ */ a.jsx(oe, { data: e }) : null, R = N.forwardRef(
237
240
  ({ className: e, content: t, type: i, ...n }, h) => /* @__PURE__ */ a.jsx(
238
241
  "td",
239
242
  {
240
243
  ref: h,
241
- className: b(
244
+ className: p(
242
245
  "table__cell",
243
246
  {
244
247
  "table__cell--double-line": i === "double-line",
@@ -258,52 +261,52 @@ const ce = ({
258
261
  resultsPerPage: i,
259
262
  setCurrentPage: n,
260
263
  onPageChange: h,
261
- className: k,
264
+ className: T,
262
265
  serverSide: o = !1,
263
- totalItems: p,
264
- hasNextPage: N,
265
- hasPreviousPage: m,
266
- onNextPage: y,
267
- onPreviousPage: L
266
+ totalItems: m,
267
+ hasNextPage: y,
268
+ hasPreviousPage: x,
269
+ onNextPage: k,
270
+ onPreviousPage: v
268
271
  }) => {
269
- const f = Math.ceil(o ? (p || t) / i : t / i), C = (s) => {
272
+ const u = Math.ceil(o ? (m || t) / i : t / i), L = (s) => {
270
273
  n(s), h && h(s);
271
274
  }, B = () => {
272
275
  const s = e + 1;
273
- o && y && y(), C(s);
276
+ o && k && k(), L(s);
274
277
  }, I = () => {
275
278
  const s = e - 1;
276
- o && L && L(), C(s);
277
- }, D = o ? !N : e === f, A = o ? !m : e === 1, r = () => {
279
+ o && v && v(), L(s);
280
+ }, C = o ? !y : e === u, A = o ? !x : e === 1, r = () => {
278
281
  const s = [];
279
- if (f <= 5)
280
- for (let _ = 1; _ <= f; _++)
282
+ if (u <= 5)
283
+ for (let _ = 1; _ <= u; _++)
281
284
  s.push(_);
282
285
  else {
283
286
  s.push(1);
284
- let _ = Math.max(2, e - 1), u = Math.min(f - 1, e + 1);
285
- e <= 3 ? u = 4 : e >= f - 2 && (_ = f - 3), _ > 2 && s.push("...");
286
- for (let v = _; v <= u; v++)
287
- s.push(v);
288
- u < f - 1 && s.push("..."), s.push(f);
287
+ let _ = Math.max(2, e - 1), j = Math.min(u - 1, e + 1);
288
+ e <= 3 ? j = 4 : e >= u - 2 && (_ = u - 3), _ > 2 && s.push("...");
289
+ for (let g = _; g <= j; g++)
290
+ s.push(g);
291
+ j < u - 1 && s.push("..."), s.push(u);
289
292
  }
290
293
  return s;
291
294
  };
292
- return /* @__PURE__ */ a.jsxs("div", { className: b("pagination", k), children: [
295
+ return /* @__PURE__ */ a.jsxs("div", { className: p("pagination", T), children: [
293
296
  /* @__PURE__ */ a.jsxs("div", { className: "pagination__info", children: [
294
297
  "Stai visualizzando",
295
298
  " ",
296
299
  /* @__PURE__ */ a.jsx("span", { className: "pagination__info__resultsPerPage", children: i }),
297
300
  " ",
298
301
  "di ",
299
- o && p || t,
302
+ o && m || t,
300
303
  " risultati"
301
304
  ] }),
302
305
  /* @__PURE__ */ a.jsxs("div", { className: "pagination__nav", children: [
303
306
  /* @__PURE__ */ a.jsx(
304
307
  "button",
305
308
  {
306
- className: b(
309
+ className: p(
307
310
  "pagination__button",
308
311
  A && "pagination__button--disabled"
309
312
  ),
@@ -314,14 +317,14 @@ const ce = ({
314
317
  }
315
318
  ),
316
319
  r().map(
317
- (s, g) => s === "..." ? /* @__PURE__ */ a.jsx("span", { className: "pagination__ellipsis", children: "..." }, `ellipsis-${g}`) : /* @__PURE__ */ a.jsx(
320
+ (s, D) => s === "..." ? /* @__PURE__ */ a.jsx("span", { className: "pagination__ellipsis", children: "..." }, `ellipsis-${D}`) : /* @__PURE__ */ a.jsx(
318
321
  "button",
319
322
  {
320
- className: b(
323
+ className: p(
321
324
  "pagination__button",
322
325
  e === s && "pagination__button--active"
323
326
  ),
324
- onClick: () => C(s),
327
+ onClick: () => L(s),
325
328
  disabled: s === e,
326
329
  children: s
327
330
  },
@@ -331,12 +334,12 @@ const ce = ({
331
334
  /* @__PURE__ */ a.jsx(
332
335
  "button",
333
336
  {
334
- className: b(
337
+ className: p(
335
338
  "pagination__button",
336
- D && "pagination__button--disabled"
339
+ C && "pagination__button--disabled"
337
340
  ),
338
341
  onClick: B,
339
- disabled: D,
342
+ disabled: C,
340
343
  "aria-label": "Next page",
341
344
  children: /* @__PURE__ */ a.jsx("svg", { className: "pagination__button-arrow", viewBox: "0 0 24 24", children: /* @__PURE__ */ a.jsx("path", { d: "M9 6l6 6-6 6" }) })
342
345
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.es66.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"@/components\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onPageChange?: (page: number) => void;\n variant?: \"default\" | \"exemptions\";\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n onPageChange,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n variant={props.variant}\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {Object.entries(row).map(([key, value], cellIndex) => {\n if (!value) return null;\n\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={onPageChange}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n variant?: \"default\" | \"exemptions\";\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n noIcon={!renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n classNameText={\n props.variant && \"fw-bold text-slate-28 fs-custom md-fs-6\"\n }\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n onPageChange,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (onPageChange) {\n onPageChange(page);\n }\n };\n\n const handleNextPage = () => {\n const nextPage = currentPage + 1;\n if (serverSide && onNextPage) {\n onNextPage();\n }\n handlePageChange(nextPage);\n };\n\n const handlePreviousPage = () => {\n const prevPage = currentPage - 1;\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n }\n handlePageChange(prevPage);\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n const getPageNumbers = () => {\n const pages = [];\n const maxVisiblePages = 5;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let start = Math.max(2, currentPage - 1);\n let end = Math.min(totalPages - 1, currentPage + 1);\n\n if (currentPage <= 3) {\n end = 4;\n } else if (currentPage >= totalPages - 2) {\n start = totalPages - 3;\n }\n\n if (start > 2) {\n pages.push(\"...\");\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n if (end < totalPages - 1) {\n pages.push(\"...\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n };\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n\n {getPageNumbers().map((page, index) =>\n page === \"...\" ? (\n <span key={`ellipsis-${index}`} className=\"pagination__ellipsis\">\n ...\n </span>\n ) : (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => handlePageChange(page as number)}\n disabled={page === currentPage}\n >\n {page}\n </button>\n ),\n )}\n\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","key","value","cellIndex","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","serverSide","totalPages","handlePageChange","page","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}
1
+ {"version":3,"file":"index.es66.js","sources":["../src/components/ui/Table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport clsx from \"clsx\";\nimport \"./Table.scss\";\nimport { Download, Info, TriangleDown, TriangleUp } from \"@/icons\";\nimport { ActionIconText } from \"@/components\";\nimport { CommonIconsType } from \"@/types/icons\";\nimport { InfoPopupProps } from \"../InfoPopup\";\nimport { useEffect } from \"react\";\n\n// per le celle che vanno renderizzate su due righe\nexport interface DoubleLineData {\n firstLine: string;\n secondLine: string;\n}\n\n//per le celle che renderizzano un link o un bottone\nexport interface ActionData {\n label: string | React.ReactNode;\n ariaLabel: string;\n type: \"link\" | \"button\";\n link?: string;\n action?: () => void;\n}\n\nexport interface ColumnConfig {\n label: string;\n ariaLabel: string;\n sortable: boolean;\n action?: () => void;\n iconAction?: () => void;\n popupInfo?: InfoPopupProps;\n icon?: React.ReactNode | CommonIconsType;\n iconPosition?: \"left\" | \"right\";\n key?: string;\n type?: \"string\" | \"date\" | \"number\";\n}\n\nexport interface TableRowData {\n [key: string]: string | DoubleLineData | ActionData;\n}\n\nexport interface TableHeaderProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableBodyProps\n extends React.HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableRowProps\n extends React.HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableHeadProps\n extends React.ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children?: React.ReactNode;\n}\n\nexport interface TableCellBaseProps\n extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, \"content\"> {\n type?: \"double-line\" | \"action\";\n}\n\nexport interface TableCellProps extends TableCellBaseProps {\n content: string | DoubleLineData | ActionData;\n}\n\nexport interface PaginationProps {\n currentPage: number;\n totalResults: number;\n resultsPerPage: number;\n setCurrentPage: (page: number) => void;\n onPageChange?: (page: number) => void;\n className?: string;\n serverSide?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n}\n\nexport interface TableProps\n extends React.TableHTMLAttributes<HTMLTableElement> {\n className?: string;\n columns: ColumnConfig[];\n data: TableRowData[];\n pagination?: boolean;\n initialCurrentPage?: number;\n resultsPerPage?: number;\n defaultSortDirection?: \"asc\" | \"desc\";\n setSelectedSort?: (sortConfig: {\n key: string;\n direction: \"asc\" | \"desc\";\n }) => void;\n initialSortConfig?: { key: string; direction: \"asc\" | \"desc\" };\n serverSidePagination?: boolean;\n totalItems?: number;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n onNextPage?: () => void;\n onPreviousPage?: () => void;\n onPageChange?: (page: number) => void;\n variant?: \"default\" | \"exemptions\";\n}\n\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n (\n {\n className,\n columns,\n data,\n pagination,\n initialCurrentPage = 1,\n resultsPerPage = 10,\n defaultSortDirection = \"desc\",\n setSelectedSort,\n initialSortConfig,\n serverSidePagination = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n onPageChange,\n ...props\n },\n ref,\n ) => {\n const [sortConfig, setSortConfig] = React.useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n }>(\n initialSortConfig || {\n key: columns[0].key || columns[0].label,\n direction: defaultSortDirection,\n },\n );\n const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);\n\n useEffect(() => {\n if (initialSortConfig) {\n setSortConfig(initialSortConfig);\n }\n }, [initialSortConfig]);\n\n const sortedData = React.useMemo(() => {\n return [...data].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n const column = columns.find(\n (col) => (col.key || col.label) === sortConfig.key,\n );\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n if (column?.type === \"date\") {\n // Convert Italian date format (DD/MM/YYYY - HH:mm) to Date object\n const parseDate = (dateStr: string) => {\n const [datePart, timePart] = dateStr.split(\" - \");\n const [day, month, year] = datePart.split(\"/\").map(Number);\n const [hours, minutes] = timePart.split(\":\").map(Number);\n return new Date(year, month - 1, day, hours, minutes);\n };\n\n const dateA = parseDate(aValue);\n const dateB = parseDate(bValue);\n return sortConfig.direction === \"asc\"\n ? dateA.getTime() - dateB.getTime()\n : dateB.getTime() - dateA.getTime();\n }\n\n if (column?.type === \"number\") {\n const numA = parseFloat(aValue);\n const numB = parseFloat(bValue);\n return sortConfig.direction === \"asc\" ? numA - numB : numB - numA;\n }\n\n return sortConfig.direction === \"asc\"\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n }\n\n if (isDoubleLineData(aValue) && isDoubleLineData(bValue)) {\n return sortConfig.direction === \"asc\"\n ? aValue.firstLine.localeCompare(bValue.firstLine)\n : bValue.firstLine.localeCompare(aValue.firstLine);\n }\n\n return 0;\n });\n }, [data, sortConfig, columns]);\n\n const handleSort = (columnKey: string) => {\n const newSortConfig = {\n key: columnKey,\n direction:\n sortConfig.key === columnKey && sortConfig.direction === \"asc\"\n ? \"desc\"\n : \"asc\",\n } as { key: string; direction: \"asc\" | \"desc\" };\n\n setSortConfig(newSortConfig);\n if (setSelectedSort) {\n setSelectedSort(newSortConfig);\n }\n };\n\n const startIndex =\n pagination && !serverSidePagination\n ? (currentPage - 1) * resultsPerPage\n : 0;\n const endIndex =\n pagination && !serverSidePagination\n ? Math.min(startIndex + resultsPerPage, sortedData.length)\n : sortedData.length;\n const currentPageData = serverSidePagination\n ? sortedData\n : sortedData.slice(startIndex, endIndex);\n\n return (\n <div className=\"position-relative w-full\">\n <table\n ref={ref}\n className={clsx(\"table\", className)}\n role=\"table\"\n {...props}\n >\n <TableHeader className=\"table__header\">\n <TableRow>\n {columns.map((column, index) => (\n <TableHead\n key={`${column.label}-${index}`}\n config={column}\n sortConfig={sortConfig}\n onSort={() =>\n column.sortable && handleSort(column.key || column.label)\n }\n variant={props.variant}\n />\n ))}\n </TableRow>\n </TableHeader>\n <TableBody className=\"table__body\">\n {currentPageData.map((row, rowIndex) => (\n <TableRow key={rowIndex} className=\"table__row\">\n {columns.map((column, cellIndex) => {\n const key = column.key || column.label;\n const value = row[key];\n if (!value) return null;\n if (key === \"actionData\" && isActionData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"action\"\n />\n );\n }\n if (isDoubleLineData(value)) {\n return (\n <TableCell\n key={`${key}-${cellIndex}`}\n content={value}\n type=\"double-line\"\n />\n );\n }\n if (typeof value === \"string\") {\n return (\n <TableCell key={`${key}-${cellIndex}`} content={value} />\n );\n }\n return null;\n })}\n </TableRow>\n ))}\n </TableBody>\n </table>\n {pagination && (\n <Pagination\n currentPage={currentPage}\n totalResults={\n serverSidePagination ? totalItems || 0 : sortedData.length\n }\n resultsPerPage={resultsPerPage}\n setCurrentPage={setCurrentPage}\n onPageChange={onPageChange}\n serverSide={serverSidePagination}\n totalItems={totalItems}\n hasNextPage={hasNextPage}\n hasPreviousPage={hasPreviousPage}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n />\n )}\n </div>\n );\n },\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"[&_tr]:border-b-0\", className)}\n {...props}\n >\n {children}\n </thead>\n ),\n);\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, children, ...props }, ref) => (\n <tbody\n ref={ref}\n className={clsx(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n >\n {children}\n </tbody>\n ),\n);\nTableBody.displayName = \"TableBody\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, ...props }, ref) => (\n <tr\n ref={ref}\n className={clsx(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n >\n {children}\n </tr>\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n TableHeadProps & {\n config: ColumnConfig;\n sortConfig: { key: string; direction: \"asc\" | \"desc\" };\n onSort?: () => void;\n variant?: \"default\" | \"exemptions\";\n }\n>(({ className, config, sortConfig, onSort, ...props }, ref) => {\n const isSorted = sortConfig.key === (config.key || config.label);\n const sortDirection = isSorted ? sortConfig.direction : null;\n\n const getAriaSortValue = (): \"ascending\" | \"descending\" => {\n return sortDirection === \"asc\" ? \"ascending\" : \"descending\";\n };\n\n const renderIcon = (icon: React.ReactNode | CommonIconsType) => {\n switch (icon) {\n case \"info\":\n return <Info />;\n case \"download\":\n return <Download />;\n default:\n return icon;\n }\n };\n\n return (\n <th\n ref={ref}\n className={clsx(\n \"table__cell table__cell--header\",\n {\n \"table__cell--sortable\": config.sortable,\n \"table__cell--action\": config.action,\n },\n className,\n )}\n onClick={config.sortable ? onSort : config.action}\n aria-label={config.ariaLabel}\n aria-sort={isSorted ? getAriaSortValue() : undefined}\n {...props}\n >\n <div className=\"table__cell--header--content\">\n <div>\n <ActionIconText\n icon={renderIcon(config.icon)}\n noIcon={!renderIcon(config.icon)}\n textLabel={config.label}\n iconPosition={config.iconPosition}\n handleIconAction={() => {\n config.iconAction;\n }}\n popupInfo={config.popupInfo}\n positionPopUp={config.popupInfo?.positionPopUp}\n classNameText={\n props.variant && \"fw-bold text-slate-28 fs-custom md-fs-6\"\n }\n />\n </div>\n {config.sortable && (\n <span className=\"sort-indicator\">\n <TriangleUp\n filled={isSorted && sortDirection === \"desc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"desc\",\n })}\n />\n <TriangleDown\n filled={isSorted && sortDirection === \"asc\"}\n className={clsx(\"sort-indicator__triangle\", {\n active: isSorted && sortDirection === \"asc\",\n })}\n />\n </span>\n )}\n </div>\n </th>\n );\n});\nTableHead.displayName = \"TableHead\";\n\nconst DoubleLineContent: React.FC<{ data: DoubleLineData }> = ({ data }) => (\n <>\n <div className=\"table__cell--firstLine\">{data.firstLine}</div>\n <div className=\"table__cell--secondLine\">{data.secondLine}</div>\n </>\n);\n\nconst ActionContent: React.FC<{ data: ActionData }> = ({ data }) => {\n if (data.type === \"link\" && data.link) {\n return (\n <a href={data.link} aria-label={data.ariaLabel}>\n {data.label}\n </a>\n );\n }\n return (\n <button onClick={data.action} aria-label={data.ariaLabel}>\n {data.label}\n </button>\n );\n};\n\n// check if we are rendering a double line data\nconst isDoubleLineData = (\n content: TableCellProps[\"content\"],\n): content is DoubleLineData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"firstLine\" in content &&\n \"secondLine\" in content\n );\n};\n\n// check if we are rendering an action data\nconst isActionData = (\n content: TableCellProps[\"content\"],\n): content is ActionData => {\n return (\n typeof content === \"object\" &&\n content !== null &&\n \"label\" in content &&\n \"type\" in content\n );\n};\n\nconst TableCellContent: React.FC<{ content: TableCellProps[\"content\"] }> = ({\n content,\n}) => {\n if (typeof content === \"string\") {\n return <>{content}</>;\n }\n if (isDoubleLineData(content)) {\n return <DoubleLineContent data={content} />;\n }\n if (isActionData(content)) {\n return <ActionContent data={content} />;\n }\n return null;\n};\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, content, type, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"table__cell\",\n {\n \"table__cell--double-line\": type === \"double-line\",\n \"table__cell--action\": type === \"action\",\n },\n className,\n )}\n {...props}\n >\n <TableCellContent content={content} />\n </td>\n ),\n);\nTableCell.displayName = \"TableCell\";\n\nconst Pagination: React.FC<PaginationProps> = ({\n currentPage = 1,\n totalResults,\n resultsPerPage,\n setCurrentPage,\n onPageChange,\n className,\n serverSide = false,\n totalItems,\n hasNextPage,\n hasPreviousPage,\n onNextPage,\n onPreviousPage,\n}) => {\n const totalPages = serverSide\n ? Math.ceil((totalItems || totalResults) / resultsPerPage)\n : Math.ceil(totalResults / resultsPerPage);\n\n const handlePageChange = (page: number) => {\n setCurrentPage(page);\n if (onPageChange) {\n onPageChange(page);\n }\n };\n\n const handleNextPage = () => {\n const nextPage = currentPage + 1;\n if (serverSide && onNextPage) {\n onNextPage();\n }\n handlePageChange(nextPage);\n };\n\n const handlePreviousPage = () => {\n const prevPage = currentPage - 1;\n if (serverSide && onPreviousPage) {\n onPreviousPage();\n }\n handlePageChange(prevPage);\n };\n\n const isNextDisabled = serverSide ? !hasNextPage : currentPage === totalPages;\n const isPrevDisabled = serverSide ? !hasPreviousPage : currentPage === 1;\n\n const getPageNumbers = () => {\n const pages = [];\n const maxVisiblePages = 5;\n\n if (totalPages <= maxVisiblePages) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n\n let start = Math.max(2, currentPage - 1);\n let end = Math.min(totalPages - 1, currentPage + 1);\n\n if (currentPage <= 3) {\n end = 4;\n } else if (currentPage >= totalPages - 2) {\n start = totalPages - 3;\n }\n\n if (start > 2) {\n pages.push(\"...\");\n }\n\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n if (end < totalPages - 1) {\n pages.push(\"...\");\n }\n\n pages.push(totalPages);\n }\n\n return pages;\n };\n\n return (\n <div className={clsx(\"pagination\", className)}>\n <div className=\"pagination__info\">\n Stai visualizzando{\" \"}\n <span className=\"pagination__info__resultsPerPage\">\n {resultsPerPage}\n </span>{\" \"}\n di {serverSide ? totalItems || totalResults : totalResults} risultati\n </div>\n <div className=\"pagination__nav\">\n <button\n className={clsx(\n \"pagination__button\",\n isPrevDisabled && \"pagination__button--disabled\",\n )}\n onClick={handlePreviousPage}\n disabled={isPrevDisabled}\n aria-label=\"Previous page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M15 18l-6-6 6-6\" />\n </svg>\n </button>\n\n {getPageNumbers().map((page, index) =>\n page === \"...\" ? (\n <span key={`ellipsis-${index}`} className=\"pagination__ellipsis\">\n ...\n </span>\n ) : (\n <button\n key={page}\n className={clsx(\n \"pagination__button\",\n currentPage === page && \"pagination__button--active\",\n )}\n onClick={() => handlePageChange(page as number)}\n disabled={page === currentPage}\n >\n {page}\n </button>\n ),\n )}\n\n <button\n className={clsx(\n \"pagination__button\",\n isNextDisabled && \"pagination__button--disabled\",\n )}\n onClick={handleNextPage}\n disabled={isNextDisabled}\n aria-label=\"Next page\"\n >\n <svg className=\"pagination__button-arrow\" viewBox=\"0 0 24 24\">\n <path d=\"M9 6l6 6-6 6\" />\n </svg>\n </button>\n </div>\n </div>\n );\n};\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableHead,\n TableRow,\n TableCell,\n Pagination,\n};\n"],"names":["Table","React","className","columns","data","pagination","initialCurrentPage","resultsPerPage","defaultSortDirection","setSelectedSort","initialSortConfig","serverSidePagination","totalItems","hasNextPage","hasPreviousPage","onNextPage","onPreviousPage","onPageChange","props","ref","sortConfig","setSortConfig","currentPage","setCurrentPage","useEffect","sortedData","a","b","aValue","bValue","column","col","parseDate","dateStr","datePart","timePart","day","month","year","hours","minutes","dateA","dateB","numA","numB","isDoubleLineData","handleSort","columnKey","newSortConfig","startIndex","endIndex","currentPageData","jsxs","clsx","jsx","TableHeader","TableRow","index","TableHead","TableBody","row","rowIndex","cellIndex","key","value","isActionData","TableCell","Pagination","children","config","onSort","isSorted","sortDirection","getAriaSortValue","renderIcon","icon","Info","Download","ActionIconText","_a","TriangleUp","TriangleDown","DoubleLineContent","Fragment","ActionContent","content","TableCellContent","type","totalResults","serverSide","totalPages","handlePageChange","page","handleNextPage","nextPage","handlePreviousPage","prevPage","isNextDisabled","isPrevDisabled","getPageNumbers","pages","i","start","end"],"mappings":"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"}