solid-tom-ui 0.1.0

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 (451) hide show
  1. package/README.md +247 -0
  2. package/dist/components/avatar/avatar.d.ts +14 -0
  3. package/dist/components/avatar/avatar.d.ts.map +1 -0
  4. package/dist/components/avatar/avatar.js +2 -0
  5. package/dist/components/avatar/avatar.js.map +1 -0
  6. package/dist/components/avatar/avatar.types.d.ts +18 -0
  7. package/dist/components/avatar/avatar.types.d.ts.map +1 -0
  8. package/dist/components/avatar/index.d.ts +2 -0
  9. package/dist/components/avatar/index.d.ts.map +1 -0
  10. package/dist/components/badge/badge.d.ts +12 -0
  11. package/dist/components/badge/badge.d.ts.map +1 -0
  12. package/dist/components/badge/badge.js +2 -0
  13. package/dist/components/badge/badge.js.map +1 -0
  14. package/dist/components/badge/badge.types.d.ts +10 -0
  15. package/dist/components/badge/badge.types.d.ts.map +1 -0
  16. package/dist/components/badge/index.d.ts +3 -0
  17. package/dist/components/badge/index.d.ts.map +1 -0
  18. package/dist/components/blank/blank.d.ts +5 -0
  19. package/dist/components/blank/blank.d.ts.map +1 -0
  20. package/dist/components/blank/blank.js +2 -0
  21. package/dist/components/blank/blank.js.map +1 -0
  22. package/dist/components/blank/index.d.ts +2 -0
  23. package/dist/components/blank/index.d.ts.map +1 -0
  24. package/dist/components/breadcrumb/breadcrumb.d.ts +11 -0
  25. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  26. package/dist/components/breadcrumb/breadcrumb.js +2 -0
  27. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  28. package/dist/components/breadcrumb/index.d.ts +2 -0
  29. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  30. package/dist/components/button/button.d.ts +19 -0
  31. package/dist/components/button/button.d.ts.map +1 -0
  32. package/dist/components/button/button.js +2 -0
  33. package/dist/components/button/button.js.map +1 -0
  34. package/dist/components/button/button.types.d.ts +30 -0
  35. package/dist/components/button/button.types.d.ts.map +1 -0
  36. package/dist/components/button/index.d.ts +2 -0
  37. package/dist/components/button/index.d.ts.map +1 -0
  38. package/dist/components/carousel/carousel.d.ts +4 -0
  39. package/dist/components/carousel/carousel.d.ts.map +1 -0
  40. package/dist/components/carousel/carousel.js +2 -0
  41. package/dist/components/carousel/carousel.js.map +1 -0
  42. package/dist/components/carousel/carousel.types.d.ts +36 -0
  43. package/dist/components/carousel/carousel.types.d.ts.map +1 -0
  44. package/dist/components/carousel/index.d.ts +3 -0
  45. package/dist/components/carousel/index.d.ts.map +1 -0
  46. package/dist/components/chat-bubble/chatBubble.d.ts +11 -0
  47. package/dist/components/chat-bubble/chatBubble.d.ts.map +1 -0
  48. package/dist/components/chat-bubble/chatBubble.js +2 -0
  49. package/dist/components/chat-bubble/chatBubble.js.map +1 -0
  50. package/dist/components/chat-bubble/chatBubble.type.d.ts +12 -0
  51. package/dist/components/chat-bubble/chatBubble.type.d.ts.map +1 -0
  52. package/dist/components/chat-bubble/index.d.ts +2 -0
  53. package/dist/components/chat-bubble/index.d.ts.map +1 -0
  54. package/dist/components/checkbox/checkbox.d.ts +22 -0
  55. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  56. package/dist/components/checkbox/checkbox.js +2 -0
  57. package/dist/components/checkbox/checkbox.js.map +1 -0
  58. package/dist/components/checkbox/index.d.ts +3 -0
  59. package/dist/components/checkbox/index.d.ts.map +1 -0
  60. package/dist/components/collapse/collapse.d.ts +12 -0
  61. package/dist/components/collapse/collapse.d.ts.map +1 -0
  62. package/dist/components/collapse/collapse.js +2 -0
  63. package/dist/components/collapse/collapse.js.map +1 -0
  64. package/dist/components/collapse/collapse.types.d.ts +17 -0
  65. package/dist/components/collapse/collapse.types.d.ts.map +1 -0
  66. package/dist/components/collapse/index.d.ts +2 -0
  67. package/dist/components/collapse/index.d.ts.map +1 -0
  68. package/dist/components/context-menu/context-menu.d.ts +4 -0
  69. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  70. package/dist/components/context-menu/context-menu.js +2 -0
  71. package/dist/components/context-menu/context-menu.js.map +1 -0
  72. package/dist/components/context-menu/context-menu.store.d.ts +14 -0
  73. package/dist/components/context-menu/context-menu.store.d.ts.map +1 -0
  74. package/dist/components/context-menu/context-menu.store.js +2 -0
  75. package/dist/components/context-menu/context-menu.store.js.map +1 -0
  76. package/dist/components/context-menu/context-menu.types.d.ts +51 -0
  77. package/dist/components/context-menu/context-menu.types.d.ts.map +1 -0
  78. package/dist/components/context-menu/index.d.ts +4 -0
  79. package/dist/components/context-menu/index.d.ts.map +1 -0
  80. package/dist/components/diff/diff.d.ts +9 -0
  81. package/dist/components/diff/diff.d.ts.map +1 -0
  82. package/dist/components/diff/diff.js +2 -0
  83. package/dist/components/diff/diff.js.map +1 -0
  84. package/dist/components/diff/index.d.ts +2 -0
  85. package/dist/components/diff/index.d.ts.map +1 -0
  86. package/dist/components/divider/divider.d.ts +5 -0
  87. package/dist/components/divider/divider.d.ts.map +1 -0
  88. package/dist/components/divider/divider.js +2 -0
  89. package/dist/components/divider/divider.js.map +1 -0
  90. package/dist/components/divider/divider.types.d.ts +16 -0
  91. package/dist/components/divider/divider.types.d.ts.map +1 -0
  92. package/dist/components/divider/index.d.ts +3 -0
  93. package/dist/components/divider/index.d.ts.map +1 -0
  94. package/dist/components/drawer/drawer.d.ts +6 -0
  95. package/dist/components/drawer/drawer.d.ts.map +1 -0
  96. package/dist/components/drawer/drawer.js +2 -0
  97. package/dist/components/drawer/drawer.js.map +1 -0
  98. package/dist/components/drawer/drawer.types.d.ts +19 -0
  99. package/dist/components/drawer/drawer.types.d.ts.map +1 -0
  100. package/dist/components/drawer/index.d.ts +3 -0
  101. package/dist/components/drawer/index.d.ts.map +1 -0
  102. package/dist/components/dropdown/dropdown.d.ts +11 -0
  103. package/dist/components/dropdown/dropdown.d.ts.map +1 -0
  104. package/dist/components/dropdown/dropdown.js +2 -0
  105. package/dist/components/dropdown/dropdown.js.map +1 -0
  106. package/dist/components/dropdown/dropdown.store.d.ts +8 -0
  107. package/dist/components/dropdown/dropdown.store.d.ts.map +1 -0
  108. package/dist/components/dropdown/dropdown.store.js +2 -0
  109. package/dist/components/dropdown/dropdown.store.js.map +1 -0
  110. package/dist/components/dropdown/dropdown.types.d.ts +15 -0
  111. package/dist/components/dropdown/dropdown.types.d.ts.map +1 -0
  112. package/dist/components/dropdown/index.d.ts +3 -0
  113. package/dist/components/dropdown/index.d.ts.map +1 -0
  114. package/dist/components/dynamic-icon/DynamicIcon.d.ts +8 -0
  115. package/dist/components/dynamic-icon/DynamicIcon.d.ts.map +1 -0
  116. package/dist/components/dynamic-icon/index.d.ts +2 -0
  117. package/dist/components/dynamic-icon/index.d.ts.map +1 -0
  118. package/dist/components/float-button/float-button.d.ts +5 -0
  119. package/dist/components/float-button/float-button.d.ts.map +1 -0
  120. package/dist/components/float-button/float-button.js +2 -0
  121. package/dist/components/float-button/float-button.js.map +1 -0
  122. package/dist/components/float-button/float-button.types.d.ts +42 -0
  123. package/dist/components/float-button/float-button.types.d.ts.map +1 -0
  124. package/dist/components/float-button/index.d.ts +2 -0
  125. package/dist/components/float-button/index.d.ts.map +1 -0
  126. package/dist/components/hover-3d-image/hover-3d-example.d.ts +3 -0
  127. package/dist/components/hover-3d-image/hover-3d-example.d.ts.map +1 -0
  128. package/dist/components/hover-3d-image/hover-3d-image.d.ts +13 -0
  129. package/dist/components/hover-3d-image/hover-3d-image.d.ts.map +1 -0
  130. package/dist/components/hover-3d-image/hover-3d-image.js +2 -0
  131. package/dist/components/hover-3d-image/hover-3d-image.js.map +1 -0
  132. package/dist/components/hover-3d-image/index.d.ts +2 -0
  133. package/dist/components/hover-3d-image/index.d.ts.map +1 -0
  134. package/dist/components/iframe/index.d.ts +7 -0
  135. package/dist/components/iframe/index.d.ts.map +1 -0
  136. package/dist/components/image-preview/image-preview.d.ts +25 -0
  137. package/dist/components/image-preview/image-preview.d.ts.map +1 -0
  138. package/dist/components/image-preview/image-preview.js +2 -0
  139. package/dist/components/image-preview/image-preview.js.map +1 -0
  140. package/dist/components/image-preview/index.d.ts +3 -0
  141. package/dist/components/image-preview/index.d.ts.map +1 -0
  142. package/dist/components/indicator/index.d.ts +3 -0
  143. package/dist/components/indicator/index.d.ts.map +1 -0
  144. package/dist/components/indicator/indicator.d.ts +4 -0
  145. package/dist/components/indicator/indicator.d.ts.map +1 -0
  146. package/dist/components/indicator/indicator.js +2 -0
  147. package/dist/components/indicator/indicator.js.map +1 -0
  148. package/dist/components/indicator/indicator.types.d.ts +18 -0
  149. package/dist/components/indicator/indicator.types.d.ts.map +1 -0
  150. package/dist/components/input/index.d.ts +2 -0
  151. package/dist/components/input/index.d.ts.map +1 -0
  152. package/dist/components/input/input.d.ts +17 -0
  153. package/dist/components/input/input.d.ts.map +1 -0
  154. package/dist/components/input/input.js +2 -0
  155. package/dist/components/input/input.js.map +1 -0
  156. package/dist/components/input/input.types.d.ts +76 -0
  157. package/dist/components/input/input.types.d.ts.map +1 -0
  158. package/dist/components/input/input.utils.d.ts +16 -0
  159. package/dist/components/input/input.utils.d.ts.map +1 -0
  160. package/dist/components/input/input.utils.js +2 -0
  161. package/dist/components/input/input.utils.js.map +1 -0
  162. package/dist/components/input/variants/input-color.d.ts +4 -0
  163. package/dist/components/input/variants/input-color.d.ts.map +1 -0
  164. package/dist/components/input/variants/input-color.js +2 -0
  165. package/dist/components/input/variants/input-color.js.map +1 -0
  166. package/dist/components/input/variants/input-date.d.ts +4 -0
  167. package/dist/components/input/variants/input-date.d.ts.map +1 -0
  168. package/dist/components/input/variants/input-date.js +2 -0
  169. package/dist/components/input/variants/input-date.js.map +1 -0
  170. package/dist/components/input/variants/input-number.d.ts +4 -0
  171. package/dist/components/input/variants/input-number.d.ts.map +1 -0
  172. package/dist/components/input/variants/input-number.js +2 -0
  173. package/dist/components/input/variants/input-number.js.map +1 -0
  174. package/dist/components/input/variants/input-otp.d.ts +5 -0
  175. package/dist/components/input/variants/input-otp.d.ts.map +1 -0
  176. package/dist/components/input/variants/input-otp.js +2 -0
  177. package/dist/components/input/variants/input-otp.js.map +1 -0
  178. package/dist/components/input/variants/input-password.d.ts +4 -0
  179. package/dist/components/input/variants/input-password.d.ts.map +1 -0
  180. package/dist/components/input/variants/input-password.js +2 -0
  181. package/dist/components/input/variants/input-password.js.map +1 -0
  182. package/dist/components/input/variants/input-radio.d.ts +22 -0
  183. package/dist/components/input/variants/input-radio.d.ts.map +1 -0
  184. package/dist/components/input/variants/input-radio.js +2 -0
  185. package/dist/components/input/variants/input-radio.js.map +1 -0
  186. package/dist/components/input/variants/input-range.d.ts +4 -0
  187. package/dist/components/input/variants/input-range.d.ts.map +1 -0
  188. package/dist/components/input/variants/input-range.js +2 -0
  189. package/dist/components/input/variants/input-range.js.map +1 -0
  190. package/dist/components/input/variants/input-text.d.ts +4 -0
  191. package/dist/components/input/variants/input-text.d.ts.map +1 -0
  192. package/dist/components/input/variants/input-text.js +2 -0
  193. package/dist/components/input/variants/input-text.js.map +1 -0
  194. package/dist/components/input/variants/input-textarea.d.ts +4 -0
  195. package/dist/components/input/variants/input-textarea.d.ts.map +1 -0
  196. package/dist/components/input/variants/input-textarea.js +2 -0
  197. package/dist/components/input/variants/input-textarea.js.map +1 -0
  198. package/dist/components/loading/index.d.ts +3 -0
  199. package/dist/components/loading/index.d.ts.map +1 -0
  200. package/dist/components/loading/loading.d.ts +32 -0
  201. package/dist/components/loading/loading.d.ts.map +1 -0
  202. package/dist/components/loading/loading.js +2 -0
  203. package/dist/components/loading/loading.js.map +1 -0
  204. package/dist/components/mansory/index.d.ts +3 -0
  205. package/dist/components/mansory/index.d.ts.map +1 -0
  206. package/dist/components/mansory/mansory.d.ts +4 -0
  207. package/dist/components/mansory/mansory.d.ts.map +1 -0
  208. package/dist/components/mansory/mansory.js +2 -0
  209. package/dist/components/mansory/mansory.js.map +1 -0
  210. package/dist/components/mansory/mansory.types.d.ts +27 -0
  211. package/dist/components/mansory/mansory.types.d.ts.map +1 -0
  212. package/dist/components/menu/index.d.ts +4 -0
  213. package/dist/components/menu/index.d.ts.map +1 -0
  214. package/dist/components/menu/menu.d.ts +11 -0
  215. package/dist/components/menu/menu.d.ts.map +1 -0
  216. package/dist/components/menu/menu.data-example.d.ts +7 -0
  217. package/dist/components/menu/menu.data-example.d.ts.map +1 -0
  218. package/dist/components/menu/menu.js +2 -0
  219. package/dist/components/menu/menu.js.map +1 -0
  220. package/dist/components/menu/menu.types.d.ts +74 -0
  221. package/dist/components/menu/menu.types.d.ts.map +1 -0
  222. package/dist/components/modal/index.d.ts +3 -0
  223. package/dist/components/modal/index.d.ts.map +1 -0
  224. package/dist/components/modal/modal.d.ts +28 -0
  225. package/dist/components/modal/modal.d.ts.map +1 -0
  226. package/dist/components/modal/modal.js +2 -0
  227. package/dist/components/modal/modal.js.map +1 -0
  228. package/dist/components/modal/modalContext.d.ts +8 -0
  229. package/dist/components/modal/modalContext.d.ts.map +1 -0
  230. package/dist/components/modal/modalContext.js +2 -0
  231. package/dist/components/modal/modalContext.js.map +1 -0
  232. package/dist/components/pagination/index.d.ts +3 -0
  233. package/dist/components/pagination/index.d.ts.map +1 -0
  234. package/dist/components/pagination/pagination.d.ts +4 -0
  235. package/dist/components/pagination/pagination.d.ts.map +1 -0
  236. package/dist/components/pagination/pagination.js +2 -0
  237. package/dist/components/pagination/pagination.js.map +1 -0
  238. package/dist/components/pagination/pagination.types.d.ts +88 -0
  239. package/dist/components/pagination/pagination.types.d.ts.map +1 -0
  240. package/dist/components/progress-bar/index.d.ts +4 -0
  241. package/dist/components/progress-bar/index.d.ts.map +1 -0
  242. package/dist/components/progress-bar/progress-bar.d.ts +8 -0
  243. package/dist/components/progress-bar/progress-bar.d.ts.map +1 -0
  244. package/dist/components/progress-bar/progress-bar.js +2 -0
  245. package/dist/components/progress-bar/progress-bar.js.map +1 -0
  246. package/dist/components/progress-bar/progress-bar.types.d.ts +20 -0
  247. package/dist/components/progress-bar/progress-bar.types.d.ts.map +1 -0
  248. package/dist/components/qr-code/index.d.ts +3 -0
  249. package/dist/components/qr-code/index.d.ts.map +1 -0
  250. package/dist/components/qr-code/qr-code.d.ts +4 -0
  251. package/dist/components/qr-code/qr-code.d.ts.map +1 -0
  252. package/dist/components/qr-code/qr-code.js +2 -0
  253. package/dist/components/qr-code/qr-code.js.map +1 -0
  254. package/dist/components/qr-code/qr-code.types.d.ts +42 -0
  255. package/dist/components/qr-code/qr-code.types.d.ts.map +1 -0
  256. package/dist/components/rating/index.d.ts +2 -0
  257. package/dist/components/rating/index.d.ts.map +1 -0
  258. package/dist/components/rating/rating.d.ts +4 -0
  259. package/dist/components/rating/rating.d.ts.map +1 -0
  260. package/dist/components/rating/rating.js +2 -0
  261. package/dist/components/rating/rating.js.map +1 -0
  262. package/dist/components/rating/rating.types.d.ts +33 -0
  263. package/dist/components/rating/rating.types.d.ts.map +1 -0
  264. package/dist/components/select/index.d.ts +3 -0
  265. package/dist/components/select/index.d.ts.map +1 -0
  266. package/dist/components/select/select.d.ts +12 -0
  267. package/dist/components/select/select.d.ts.map +1 -0
  268. package/dist/components/select/select.js +2 -0
  269. package/dist/components/select/select.js.map +1 -0
  270. package/dist/components/select/select.types.d.ts +134 -0
  271. package/dist/components/select/select.types.d.ts.map +1 -0
  272. package/dist/components/select-zone/index.d.ts +3 -0
  273. package/dist/components/select-zone/index.d.ts.map +1 -0
  274. package/dist/components/select-zone/select-zone.d.ts +5 -0
  275. package/dist/components/select-zone/select-zone.d.ts.map +1 -0
  276. package/dist/components/select-zone/select-zone.js +2 -0
  277. package/dist/components/select-zone/select-zone.js.map +1 -0
  278. package/dist/components/select-zone/select-zone.types.d.ts +58 -0
  279. package/dist/components/select-zone/select-zone.types.d.ts.map +1 -0
  280. package/dist/components/skeleton/index.d.ts +3 -0
  281. package/dist/components/skeleton/index.d.ts.map +1 -0
  282. package/dist/components/skeleton/skeleton.d.ts +25 -0
  283. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  284. package/dist/components/skeleton/skeleton.js +2 -0
  285. package/dist/components/skeleton/skeleton.js.map +1 -0
  286. package/dist/components/slider/index.d.ts +2 -0
  287. package/dist/components/slider/index.d.ts.map +1 -0
  288. package/dist/components/slider/slider.d.ts +4 -0
  289. package/dist/components/slider/slider.d.ts.map +1 -0
  290. package/dist/components/slider/slider.js +2 -0
  291. package/dist/components/slider/slider.js.map +1 -0
  292. package/dist/components/slider/slider.types.d.ts +32 -0
  293. package/dist/components/slider/slider.types.d.ts.map +1 -0
  294. package/dist/components/splitter/index.d.ts +3 -0
  295. package/dist/components/splitter/index.d.ts.map +1 -0
  296. package/dist/components/splitter/splitter.d.ts +7 -0
  297. package/dist/components/splitter/splitter.d.ts.map +1 -0
  298. package/dist/components/splitter/splitter.js +2 -0
  299. package/dist/components/splitter/splitter.js.map +1 -0
  300. package/dist/components/splitter/splitter.types.d.ts +64 -0
  301. package/dist/components/splitter/splitter.types.d.ts.map +1 -0
  302. package/dist/components/steps/index.d.ts +3 -0
  303. package/dist/components/steps/index.d.ts.map +1 -0
  304. package/dist/components/steps/steps.d.ts +29 -0
  305. package/dist/components/steps/steps.d.ts.map +1 -0
  306. package/dist/components/steps/steps.js +2 -0
  307. package/dist/components/steps/steps.js.map +1 -0
  308. package/dist/components/swap/index.d.ts +2 -0
  309. package/dist/components/swap/index.d.ts.map +1 -0
  310. package/dist/components/swap/swap.d.ts +11 -0
  311. package/dist/components/swap/swap.d.ts.map +1 -0
  312. package/dist/components/swap/swap.js +2 -0
  313. package/dist/components/swap/swap.js.map +1 -0
  314. package/dist/components/switch/index.d.ts +3 -0
  315. package/dist/components/switch/index.d.ts.map +1 -0
  316. package/dist/components/switch/switch.d.ts +11 -0
  317. package/dist/components/switch/switch.d.ts.map +1 -0
  318. package/dist/components/switch/switch.js +2 -0
  319. package/dist/components/switch/switch.js.map +1 -0
  320. package/dist/components/switch/switch.types.d.ts +23 -0
  321. package/dist/components/switch/switch.types.d.ts.map +1 -0
  322. package/dist/components/tab/index.d.ts +3 -0
  323. package/dist/components/tab/index.d.ts.map +1 -0
  324. package/dist/components/tab/tab.d.ts +4 -0
  325. package/dist/components/tab/tab.d.ts.map +1 -0
  326. package/dist/components/tab/tab.js +2 -0
  327. package/dist/components/tab/tab.js.map +1 -0
  328. package/dist/components/tab/tab.types.d.ts +51 -0
  329. package/dist/components/tab/tab.types.d.ts.map +1 -0
  330. package/dist/components/table/index.d.ts +4 -0
  331. package/dist/components/table/index.d.ts.map +1 -0
  332. package/dist/components/table/index.js +1 -0
  333. package/dist/components/table/table.d.ts +10 -0
  334. package/dist/components/table/table.d.ts.map +1 -0
  335. package/dist/components/table/table.js +2 -0
  336. package/dist/components/table/table.js.map +1 -0
  337. package/dist/components/table/table.types.d.ts +155 -0
  338. package/dist/components/table/table.types.d.ts.map +1 -0
  339. package/dist/components/text-rotate/index.d.ts +3 -0
  340. package/dist/components/text-rotate/index.d.ts.map +1 -0
  341. package/dist/components/text-rotate/text-rotate.d.ts +12 -0
  342. package/dist/components/text-rotate/text-rotate.d.ts.map +1 -0
  343. package/dist/components/text-rotate/text-rotate.js +2 -0
  344. package/dist/components/text-rotate/text-rotate.js.map +1 -0
  345. package/dist/components/timeline/index.d.ts +3 -0
  346. package/dist/components/timeline/index.d.ts.map +1 -0
  347. package/dist/components/timeline/timeline.d.ts +4 -0
  348. package/dist/components/timeline/timeline.d.ts.map +1 -0
  349. package/dist/components/timeline/timeline.js +2 -0
  350. package/dist/components/timeline/timeline.js.map +1 -0
  351. package/dist/components/timeline/timeline.types.d.ts +55 -0
  352. package/dist/components/timeline/timeline.types.d.ts.map +1 -0
  353. package/dist/components/toast/icons/ErrorIcon.d.ts +4 -0
  354. package/dist/components/toast/icons/ErrorIcon.d.ts.map +1 -0
  355. package/dist/components/toast/icons/ErrorIcon.js +2 -0
  356. package/dist/components/toast/icons/ErrorIcon.js.map +1 -0
  357. package/dist/components/toast/icons/IconCircle.d.ts +9 -0
  358. package/dist/components/toast/icons/IconCircle.d.ts.map +1 -0
  359. package/dist/components/toast/icons/IconCircle.js +2 -0
  360. package/dist/components/toast/icons/IconCircle.js.map +1 -0
  361. package/dist/components/toast/icons/InfoIcon.d.ts +4 -0
  362. package/dist/components/toast/icons/InfoIcon.d.ts.map +1 -0
  363. package/dist/components/toast/icons/InfoIcon.js +2 -0
  364. package/dist/components/toast/icons/InfoIcon.js.map +1 -0
  365. package/dist/components/toast/icons/LoaderIcon.d.ts +4 -0
  366. package/dist/components/toast/icons/LoaderIcon.d.ts.map +1 -0
  367. package/dist/components/toast/icons/LoaderIcon.js +2 -0
  368. package/dist/components/toast/icons/LoaderIcon.js.map +1 -0
  369. package/dist/components/toast/icons/SuccessIcon.d.ts +4 -0
  370. package/dist/components/toast/icons/SuccessIcon.d.ts.map +1 -0
  371. package/dist/components/toast/icons/SuccessIcon.js +2 -0
  372. package/dist/components/toast/icons/SuccessIcon.js.map +1 -0
  373. package/dist/components/toast/icons/WarningIcon.d.ts +4 -0
  374. package/dist/components/toast/icons/WarningIcon.d.ts.map +1 -0
  375. package/dist/components/toast/icons/WarningIcon.js +2 -0
  376. package/dist/components/toast/icons/WarningIcon.js.map +1 -0
  377. package/dist/components/toast/icons/index.d.ts +4 -0
  378. package/dist/components/toast/icons/index.d.ts.map +1 -0
  379. package/dist/components/toast/index.d.ts +3 -0
  380. package/dist/components/toast/index.d.ts.map +1 -0
  381. package/dist/components/toast/toast.d.ts +7 -0
  382. package/dist/components/toast/toast.d.ts.map +1 -0
  383. package/dist/components/toast/toast.js +2 -0
  384. package/dist/components/toast/toast.js.map +1 -0
  385. package/dist/components/toast/toast.store.d.ts +17 -0
  386. package/dist/components/toast/toast.store.d.ts.map +1 -0
  387. package/dist/components/toast/toast.store.js +2 -0
  388. package/dist/components/toast/toast.store.js.map +1 -0
  389. package/dist/components/toast/toast.type.d.ts +72 -0
  390. package/dist/components/toast/toast.type.d.ts.map +1 -0
  391. package/dist/components/tooltip/index.d.ts +4 -0
  392. package/dist/components/tooltip/index.d.ts.map +1 -0
  393. package/dist/components/tooltip/tooltip.d.ts +11 -0
  394. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  395. package/dist/components/tooltip/tooltip.js +2 -0
  396. package/dist/components/tooltip/tooltip.js.map +1 -0
  397. package/dist/components/tooltip/tooltip.types.d.ts +39 -0
  398. package/dist/components/tooltip/tooltip.types.d.ts.map +1 -0
  399. package/dist/components/tour/index.d.ts +3 -0
  400. package/dist/components/tour/index.d.ts.map +1 -0
  401. package/dist/components/tour/tour.d.ts +3 -0
  402. package/dist/components/tour/tour.d.ts.map +1 -0
  403. package/dist/components/tour/tour.js +9 -0
  404. package/dist/components/tour/tour.js.map +1 -0
  405. package/dist/components/tour/tour.types.d.ts +35 -0
  406. package/dist/components/tour/tour.types.d.ts.map +1 -0
  407. package/dist/components/upload/index.d.ts +3 -0
  408. package/dist/components/upload/index.d.ts.map +1 -0
  409. package/dist/components/upload/upload.d.ts +3 -0
  410. package/dist/components/upload/upload.d.ts.map +1 -0
  411. package/dist/components/upload/upload.js +2 -0
  412. package/dist/components/upload/upload.js.map +1 -0
  413. package/dist/components/upload/upload.types.d.ts +95 -0
  414. package/dist/components/upload/upload.types.d.ts.map +1 -0
  415. package/dist/components/z-index/index.d.ts +4 -0
  416. package/dist/components/z-index/index.d.ts.map +1 -0
  417. package/dist/components/z-index/z-index.context.d.ts +17 -0
  418. package/dist/components/z-index/z-index.context.d.ts.map +1 -0
  419. package/dist/components/z-index/z-index.context.js +2 -0
  420. package/dist/components/z-index/z-index.context.js.map +1 -0
  421. package/dist/components/z-index/z-index.d.ts +20 -0
  422. package/dist/components/z-index/z-index.d.ts.map +1 -0
  423. package/dist/components/z-index/z-index.js +2 -0
  424. package/dist/components/z-index/z-index.js.map +1 -0
  425. package/dist/components/z-index/z-index.store.d.ts +14 -0
  426. package/dist/components/z-index/z-index.store.d.ts.map +1 -0
  427. package/dist/components/z-index/z-index.store.js +2 -0
  428. package/dist/components/z-index/z-index.store.js.map +1 -0
  429. package/dist/components/z-index/z-index.types.d.ts +51 -0
  430. package/dist/components/z-index/z-index.types.d.ts.map +1 -0
  431. package/dist/components/z-index/z-index.types.js +2 -0
  432. package/dist/components/z-index/z-index.types.js.map +1 -0
  433. package/dist/lib.d.ts +48 -0
  434. package/dist/lib.d.ts.map +1 -0
  435. package/dist/lib.js +1 -0
  436. package/dist/solid-ui.css +94 -0
  437. package/dist/type.d.ts +4 -0
  438. package/dist/type.d.ts.map +1 -0
  439. package/dist/utils/cn.d.ts +3 -0
  440. package/dist/utils/cn.d.ts.map +1 -0
  441. package/dist/utils/cn.js +2 -0
  442. package/dist/utils/cn.js.map +1 -0
  443. package/dist/utils/element-tracker.js +2 -0
  444. package/dist/utils/element-tracker.js.map +1 -0
  445. package/dist/utils/helper.d.ts +32 -0
  446. package/dist/utils/helper.d.ts.map +1 -0
  447. package/dist/utils/helper.js +2 -0
  448. package/dist/utils/helper.js.map +1 -0
  449. package/dist/utils/hoc.js +2 -0
  450. package/dist/utils/hoc.js.map +1 -0
  451. package/package.json +131 -0
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{Tooltip as n}from"../tooltip/tooltip.js";import{className as r,createComponent as i,delegateEvents as a,effect as o,insert as s,memo as c,mergeProps as l,setAttribute as u,template as d,use as f}from"solid-js/web";import{cva as p}from"class-variance-authority";import{For as m,Show as h,createEffect as g,createMemo as _,createSignal as v,createUniqueId as y,mergeProps as b,on as x}from"solid-js";import S from"lucide-solid/icons/x";import C from"lucide-solid/icons/pin";import w from"lucide-solid/icons/pin-off";import T from"lucide-solid/icons/plus";var E=d(`<div>New Tab Content`),D=d(`<button title="Add new tab">`),O=d(`<button class=tab12>`),k=d(`<div class=tab15><span>No tabs available`),A=d(`<div><div></div><div>`),j=d(`<div class=tab14>`),ee=d(`<span class=tab06>`),te=d(`<input type=text class=tab16>`),ne=d(`<button class="tab09 tab10">`),M=d(`<button class="tab09 tab11"title="Close tab">`),N=d(`<div class=tab08>`),P=d(`<div>`),F=d(`<span class=tab07>`),I=p(``,{variants:{variants:{lift:``,box:``,border:`rounded-none p-0`},tabPlacement:{horizontal:``,vertical:``},position:{top:``,bottom:``,left:``,right:``}},compoundVariants:[{variants:`lift`,position:`top`,class:`pb-0`},{variants:`lift`,position:`bottom`,class:`pt-0`},{variants:`lift`,tabPlacement:`vertical`,position:`left`,class:`pr-0 overflow-x-hidden`},{variants:`lift`,tabPlacement:`vertical`,position:`right`,class:`pl-0 overflow-x-hidden`}]}),L={tabPlacement:`horizontal`,position:`top`,align:`left`,variants:`box`,canAdd:!0,canPin:!1,canRename:!0,preRender:!1,color:`primary`},R=20,z=a=>{let d=b(L,a),p=y(),[z,B]=v(d.defaultActiveKey||d.items()[0]?.key||``),[V,H]=v(new Set),[U,W]=v(null),[G,K]=v(``),q=_(()=>d.tabPlacement===`vertical`?d.position===`left`||d.position===`right`?d.position:`left`:d.position===`top`||d.position===`bottom`?d.position:`top`),J=_(()=>{let e=d.items(),t=e.filter(e=>e.pinned),n=e.filter(e=>!e.pinned);return[...t,...n]}),Y=_(()=>{let e=d.items(),t=e.some(e=>e.pinned),n=e.some(e=>!e.pinned);return t&&n}),X=_(()=>J().findIndex(e=>!e.pinned));g(x(()=>d.items(),e=>{e.length>0&&!e.find(e=>e.key===z())&&B(e[0].key)})),g(x(z,e=>{e&&!V().has(e)&&H(t=>new Set([...t,e]))}));let re=e=>{e.disabled||(B(e.key),d.onChange?.(e.key))},ie=(e,t)=>{e.button===1&&t.closable!==!1&&(e.preventDefault(),Q(t))},Z=()=>{if(d.onAdd){let e=d.onAdd();e&&(d.setItems(t=>[...t,e]),B(e.key))}else{let e=y(),t={key:e,label:`Tab ${d.items().length+1}`,children:E()};d.setItems(e=>[...e,t]),B(e)}},Q=async e=>{if(e.closable===!1)return;let t=e.label||`Tab ${d.items().findIndex(t=>t.key===e.key)+1}`;if(d.onRemove&&await d.onRemove(e.key,t)===!1)return;let n=d.items(),r=n.findIndex(t=>t.key===e.key);if(z()===e.key){let e=n[r+1]||n[r-1];e&&B(e.key)}d.setItems(t=>t.filter(t=>t.key!==e.key)),H(t=>{let n=new Set(t);return n.delete(e.key),n})},ae=(e,t)=>{t.stopPropagation();let n=!e.pinned;d.setItems(t=>t.map(t=>t.key===e.key?{...t,pinned:n}:t)),d.onPin?.(e.key,n)},oe=(e,t)=>{if(!d.canRename||e.disabled)return;t.stopPropagation();let n=e.label||`Tab ${d.items().findIndex(t=>t.key===e.key)+1}`;W(e.key),K(n)},$=e=>{let t=G().trim();t&&t!==e.label&&(d.setItems(n=>n.map(n=>n.key===e.key?{...n,label:t}:n)),d.onRename?.(e.key,t)),W(null),K(``)},se=(e,t)=>{t.key===`Enter`?(t.preventDefault(),$(e)):t.key===`Escape`&&(t.preventDefault(),W(null),K(``))},ce=e=>{let t=z()===e.key;return(e.pinned||d.preRender)&&V().has(e.key)||t};return(()=>{var a=A(),g=a.firstChild,_=g.nextSibling;return u(a,`id`,p),s(g,i(m,{get each(){return J()},children:(t,a)=>[i(h,{get when(){return c(()=>!!Y())()&&a()===X()},get children(){return j()}}),(()=>{var a=P();return a.$$dblclick=e=>oe(t,e),a.$$mousedown=e=>ie(e,t),a.$$click=()=>re(t),s(a,i(h,{get when(){return t.icon},get children(){var e=ee();return s(e,()=>t.icon),e}}),null),s(a,i(h,{get when(){return U()===t.key},get fallback(){return i(h,{get when(){return d.useTooltip},get fallback(){return(()=>{var e=F();return s(e,()=>t.label||`Tab ${d.items().findIndex(e=>e.key===t.key)+1}`),e})()},get children(){return(()=>{let e=t.label||`Tab ${d.items().findIndex(e=>e.key===t.key)+1}`;if(!(e.length>R))return(()=>{var t=F();return s(t,e),t})();let r=d.tooltipOptions??{};return i(n,l(`customContent`in r&&r.customContent!=null?{type:`default`,position:`top`,color:d?.color,customContent:r.customContent}:{type:`default`,position:`top`,color:d?.color,content:r.content??e},{get children(){var t=F();return s(t,e),t}}))})()}})},get children(){var e=te();return e.$$click=e=>e.stopPropagation(),e.$$keydown=e=>se(t,e),e.addEventListener(`blur`,()=>$(t)),e.$$input=e=>K(e.currentTarget.value),f(e=>setTimeout(()=>{e?.focus(),e?.select()},0),e),o(()=>e.value=G()),e}}),null),s(a,i(h,{get when(){return d.canPin||t.closable!==!1},get children(){var e=N();return s(e,i(h,{get when(){return d.canPin},get children(){var e=ne();return e.$$click=e=>ae(t,e),s(e,i(h,{get when(){return t.pinned},get fallback(){return i(C,{size:12})},get children(){return i(w,{size:12})}})),o(()=>u(e,`title`,t.pinned?`Unpin tab`:`Pin tab`)),e}}),null),s(e,i(h,{get when(){return t.closable!==!1},get children(){var e=M();return e.$$click=e=>{e.stopPropagation(),Q(t)},s(e,i(S,{size:12})),e}}),null),e}}),null),o(()=>r(a,e(`tab03`,U()===t.key&&`bg-base-100`,z()===t.key&&`tab04`,t.pinned&&`tab05`,t.disabled&&`pointer-events-none opacity-50`,d.class?.item))),a})()]}),null),s(g,i(h,{get when(){return d.canAdd},get children(){var t=D();return t.$$click=Z,s(t,i(T,{size:14})),o(()=>r(t,e(`tab12`,d.class?.addButton))),t}}),null),s(_,i(h,{get when(){return d.items().length===0},get children(){var e=k();return e.firstChild,s(e,i(h,{get when(){return d.canAdd},get children(){var e=O();return e.$$click=Z,s(e,i(C,{size:14})),e}}),null),e}}),null),s(_,i(m,{get each(){return d.items()},children:t=>i(h,{get when(){return ce(t)},get children(){var n=P();return s(n,()=>t.children),o(()=>r(n,e(`tab29 size-full`,z()!==t.key&&`hidden`))),n}})}),null),o(n=>{var i=e(`tab01`,t(d.color),`tab${d.variants===`box`?`23`:d.variants===`lift`?`24`:`25`}`,`tab${d.tabPlacement===`horizontal`?`17`:`18`}`,`tab${q()===`top`?`19`:q()===`bottom`?`20`:q()===`left`?`21`:`22`}`,d.class?.root),o=e(`tab02`,`tab${d.align===`left`?`26`:d.align===`center`?`27`:`28`}`,I({variants:d.variants,tabPlacement:d.tabPlacement,position:d.position}),d.class?.header),s=e(`tab13`,d.class?.content);return i!==n.e&&r(a,n.e=i),o!==n.t&&r(g,n.t=o),s!==n.a&&r(_,n.a=s),n},{e:void 0,t:void 0,a:void 0}),a})()};a([`click`,`mousedown`,`dblclick`,`input`,`keydown`]);export{z as Tab};
2
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","names":["cn","getColor","Tooltip","TooltipDefaultProps","cva","Pin","PinOff","Plus","X","Component","createEffect","createMemo","createSignal","createUniqueId","For","JSX","mergeProps","on","Show","TabItem","TabProps","BaseColorProps","headerVariant","variants","lift","box","border","tabPlacement","horizontal","vertical","position","top","bottom","left","right","compoundVariants","class","DEFAULT_PROPS","const","align","canAdd","canPin","canRename","preRender","color","TOOLTIP_CHAR_THRESHOLD","Tab","props","p","tabRootId","activeKey","setActiveKey","defaultActiveKey","items","key","renderedTabs","setRenderedTabs","Set","editingKey","setEditingKey","editingValue","setEditingValue","computedPosition","sortedItems","pinned","filter","item","unpinned","hasPinnedAndUnpinned","hasPinned","some","hasUnpinned","firstUnpinnedIndex","findIndex","length","find","has","prev","handleTabClick","disabled","onChange","handleMouseDown","e","MouseEvent","button","closable","preventDefault","handleRemoveTab","handleAddTab","onAdd","newItem","setItems","newKey","label","children","_tmpl$","i","onRemove","result","currentItems","currentIndex","nextItem","newSet","delete","handlePinTab","stopPropagation","newPinned","map","onPin","handleDoubleClick","handleRenameSubmit","newLabel","trim","onRename","handleRenameKeyDown","KeyboardEvent","shouldRenderContent","isActive","itemPreRender","_el$2","_tmpl$5","_el$3","firstChild","_el$5","nextSibling","_$setAttribute","_$insert","_$createComponent","each","index","when","_$memo","_tmpl$6","_el$0","_tmpl$10","$$dblclick","$$mousedown","$$click","icon","_el$1","_tmpl$7","Element","fallback","useTooltip","_el$14","_tmpl$11","needsTooltip","_el$15","opts","tooltipOptions","isCustom","customContent","tooltipProps","Omit","type","content","_$mergeProps","_el$16","_el$10","_tmpl$8","$$keydown","addEventListener","$$input","currentTarget","value","_$use","el","setTimeout","focus","select","_$effect","_el$11","_tmpl$1","_el$12","_tmpl$9","size","_el$13","_tmpl$0","_$className","_el$4","_tmpl$2","addButton","_el$6","_tmpl$4","_el$7","_el$8","_tmpl$3","_el$17","_p$","_v$","root","_v$2","header","_v$3","t","a","undefined","_$delegateEvents"],"sources":["../../../src/components/tab/tab.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { getColor } from '@/utils/helper';\r\nimport { Tooltip } from '@components/tooltip';\r\nimport type { TooltipDefaultProps } from '@components/tooltip';\r\nimport { cva } from 'class-variance-authority';\r\nimport Pin from 'lucide-solid/icons/pin';\r\nimport PinOff from 'lucide-solid/icons/pin-off';\r\nimport Plus from 'lucide-solid/icons/plus';\r\nimport X from 'lucide-solid/icons/x';\r\nimport {\r\n Component,\r\n createEffect,\r\n createMemo,\r\n createSignal,\r\n createUniqueId,\r\n For,\r\n JSX,\r\n mergeProps,\r\n on,\r\n Show,\r\n} from 'solid-js';\r\nimport { TabItem, TabProps } from './tab.types';\r\nimport { BaseColorProps } from '@/type';\r\n\r\nconst headerVariant = cva('', {\r\n variants: {\r\n variants: {\r\n lift: '',\r\n box: '',\r\n border: 'rounded-none p-0',\r\n },\r\n tabPlacement: { horizontal: '', vertical: '' },\r\n position: { top: '', bottom: '', left: '', right: '' },\r\n },\r\n compoundVariants: [\r\n {\r\n variants: 'lift',\r\n position: 'top',\r\n class: 'pb-0',\r\n },\r\n {\r\n variants: 'lift',\r\n position: 'bottom',\r\n class: 'pt-0',\r\n },\r\n {\r\n variants: 'lift',\r\n tabPlacement: 'vertical',\r\n position: 'left',\r\n class: 'pr-0 overflow-x-hidden',\r\n },\r\n {\r\n variants: 'lift',\r\n tabPlacement: 'vertical',\r\n position: 'right',\r\n class: 'pl-0 overflow-x-hidden',\r\n },\r\n ],\r\n});\r\n\r\nconst DEFAULT_PROPS = {\r\n tabPlacement: 'horizontal' as const,\r\n position: 'top' as const,\r\n align: 'left' as const,\r\n variants: 'box' as const,\r\n canAdd: true,\r\n canPin: false,\r\n canRename: true,\r\n preRender: false,\r\n color: 'primary',\r\n};\r\n\r\nconst TOOLTIP_CHAR_THRESHOLD = 20;\r\n\r\nexport const Tab: Component<TabProps> = props => {\r\n const p = mergeProps(DEFAULT_PROPS, props);\r\n const tabRootId = createUniqueId();\r\n\r\n // Active tab key\r\n const [activeKey, setActiveKey] = createSignal<string>(\r\n p.defaultActiveKey || p.items()[0]?.key || '',\r\n );\r\n\r\n // Rendered tabs tracking (for lazy rendering)\r\n const [renderedTabs, setRenderedTabs] = createSignal<Set<string>>(new Set());\r\n\r\n // Editing state for rename feature\r\n const [editingKey, setEditingKey] = createSignal<string | null>(null);\r\n const [editingValue, setEditingValue] = createSignal<string>('');\r\n\r\n // Compute position based on tabPlacement\r\n const computedPosition = createMemo(() => {\r\n if (p.tabPlacement === 'vertical') {\r\n return p.position === 'left' || p.position === 'right' ? p.position : 'left';\r\n }\r\n return p.position === 'top' || p.position === 'bottom' ? p.position : 'top';\r\n });\r\n\r\n // Sort items: pinned first, then unpinned (maintain order within each group)\r\n const sortedItems = createMemo(() => {\r\n const items = p.items();\r\n const pinned = items.filter(item => item.pinned);\r\n const unpinned = items.filter(item => !item.pinned);\r\n return [...pinned, ...unpinned];\r\n });\r\n\r\n // Check if there are both pinned and unpinned items (for separator)\r\n const hasPinnedAndUnpinned = createMemo(() => {\r\n const items = p.items();\r\n const hasPinned = items.some(item => item.pinned);\r\n const hasUnpinned = items.some(item => !item.pinned);\r\n return hasPinned && hasUnpinned;\r\n });\r\n\r\n // Get first unpinned item index in sorted list\r\n const firstUnpinnedIndex = createMemo(() => {\r\n const items = sortedItems();\r\n return items.findIndex(item => !item.pinned);\r\n });\r\n\r\n // Update active key when items change\r\n createEffect(\r\n on(\r\n () => p.items(),\r\n items => {\r\n if (items.length > 0 && !items.find(item => item.key === activeKey())) {\r\n setActiveKey(items[0].key);\r\n }\r\n },\r\n ),\r\n );\r\n\r\n // Mark tab as rendered when it becomes active\r\n createEffect(\r\n on(activeKey, key => {\r\n if (key && !renderedTabs().has(key)) {\r\n setRenderedTabs(prev => new Set([...prev, key]));\r\n }\r\n }),\r\n );\r\n\r\n // Handle tab click\r\n const handleTabClick = (item: TabItem) => {\r\n if (item.disabled) return;\r\n setActiveKey(item.key);\r\n p.onChange?.(item.key);\r\n };\r\n\r\n // Handle middle mouse click to close tab\r\n const handleMouseDown = (e: MouseEvent, item: TabItem) => {\r\n if (e.button === 1 && item.closable !== false) {\r\n e.preventDefault();\r\n handleRemoveTab(item);\r\n }\r\n };\r\n\r\n // Handle add tab\r\n const handleAddTab = () => {\r\n if (p.onAdd) {\r\n const newItem = p.onAdd();\r\n if (newItem) {\r\n p.setItems(prev => [...prev, newItem]);\r\n setActiveKey(newItem.key);\r\n }\r\n } else {\r\n // Default behavior: create a new tab\r\n const newKey = createUniqueId();\r\n const newItem: TabItem = {\r\n key: newKey,\r\n label: `Tab ${p.items().length + 1}`,\r\n children: <div>New Tab Content</div>,\r\n };\r\n p.setItems(prev => [...prev, newItem]);\r\n setActiveKey(newKey);\r\n }\r\n };\r\n\r\n // Handle remove tab\r\n const handleRemoveTab = async (item: TabItem) => {\r\n if (item.closable === false) return;\r\n\r\n const label = item.label || `Tab ${p.items().findIndex(i => i.key === item.key) + 1}`;\r\n\r\n if (p.onRemove) {\r\n const result = await p.onRemove(item.key, label);\r\n if (result === false) return;\r\n }\r\n\r\n const currentItems = p.items();\r\n const currentIndex = currentItems.findIndex(i => i.key === item.key);\r\n\r\n // If removing active tab, switch to adjacent tab\r\n if (activeKey() === item.key) {\r\n const nextItem = currentItems[currentIndex + 1] || currentItems[currentIndex - 1];\r\n if (nextItem) {\r\n setActiveKey(nextItem.key);\r\n }\r\n }\r\n\r\n p.setItems(prev => prev.filter(i => i.key !== item.key));\r\n\r\n // Clean up rendered tabs\r\n setRenderedTabs(prev => {\r\n const newSet = new Set(prev);\r\n newSet.delete(item.key);\r\n return newSet;\r\n });\r\n };\r\n\r\n // Handle pin/unpin tab\r\n const handlePinTab = (item: TabItem, e: MouseEvent) => {\r\n e.stopPropagation();\r\n const newPinned = !item.pinned;\r\n\r\n p.setItems(prev => prev.map(i => (i.key === item.key ? { ...i, pinned: newPinned } : i)));\r\n\r\n p.onPin?.(item.key, newPinned);\r\n };\r\n\r\n // Handle double-click to start editing\r\n const handleDoubleClick = (item: TabItem, e: MouseEvent) => {\r\n if (!p.canRename || item.disabled) return;\r\n e.stopPropagation();\r\n const label = item.label || `Tab ${p.items().findIndex(i => i.key === item.key) + 1}`;\r\n setEditingKey(item.key);\r\n setEditingValue(label);\r\n };\r\n\r\n // Handle rename input blur/submit\r\n const handleRenameSubmit = (item: TabItem) => {\r\n const newLabel = editingValue().trim();\r\n if (newLabel && newLabel !== item.label) {\r\n p.setItems(prev => prev.map(i => (i.key === item.key ? { ...i, label: newLabel } : i)));\r\n p.onRename?.(item.key, newLabel);\r\n }\r\n setEditingKey(null);\r\n setEditingValue('');\r\n };\r\n\r\n // Handle rename input keydown\r\n const handleRenameKeyDown = (item: TabItem, e: KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n handleRenameSubmit(item);\r\n } else if (e.key === 'Escape') {\r\n e.preventDefault();\r\n setEditingKey(null);\r\n setEditingValue('');\r\n }\r\n };\r\n\r\n // Check if tab should be rendered\r\n const shouldRenderContent = (item: TabItem) => {\r\n const isActive = activeKey() === item.key;\r\n const itemPreRender = item.pinned ? true : p.preRender;\r\n\r\n if (itemPreRender) {\r\n return renderedTabs().has(item.key) || isActive;\r\n }\r\n return isActive;\r\n };\r\n\r\n return (\r\n <div\r\n id={tabRootId}\r\n class={cn(\r\n 'tab01',\r\n getColor(p.color!),\r\n `tab${p.variants === 'box' ? '23' : p.variants === 'lift' ? '24' : '25'}`,\r\n `tab${p.tabPlacement === 'horizontal' ? '17' : '18'}`,\r\n `tab${computedPosition() === 'top' ? '19' : computedPosition() === 'bottom' ? '20' : computedPosition() === 'left' ? '21' : '22'}`,\r\n p.class?.root,\r\n )}\r\n >\r\n {/* Tab Header */}\r\n <div\r\n class={cn(\r\n 'tab02',\r\n `tab${p.align === 'left' ? '26' : p.align === 'center' ? '27' : '28'}`,\r\n headerVariant({\r\n variants: p.variants,\r\n tabPlacement: p.tabPlacement,\r\n position: p.position,\r\n }),\r\n p.class?.header,\r\n )}\r\n >\r\n <For each={sortedItems()}>\r\n {(item, index) => (\r\n <>\r\n {/* Separator between pinned and unpinned */}\r\n <Show when={hasPinnedAndUnpinned() && index() === firstUnpinnedIndex()}>\r\n <div class=\"tab14\" />\r\n </Show>\r\n\r\n {/* Tab Item */}\r\n <div\r\n class={cn(\r\n 'tab03',\r\n editingKey() === item.key && 'bg-base-100',\r\n activeKey() === item.key && 'tab04',\r\n item.pinned && 'tab05',\r\n item.disabled && 'pointer-events-none opacity-50',\r\n p.class?.item,\r\n )}\r\n onClick={() => handleTabClick(item)}\r\n onMouseDown={e => handleMouseDown(e, item)}\r\n onDblClick={e => handleDoubleClick(item, e)}\r\n >\r\n {/* Tab Icon */}\r\n <Show when={item.icon}>\r\n <span class=\"tab06\">{item.icon as Element}</span>\r\n </Show>\r\n\r\n {/* Tab Label */}\r\n <Show\r\n when={editingKey() === item.key}\r\n fallback={\r\n <Show\r\n when={p.useTooltip}\r\n fallback={\r\n <span class=\"tab07\">\r\n {item.label || `Tab ${p.items().findIndex(i => i.key === item.key) + 1}`}\r\n </span>\r\n }\r\n >\r\n {(() => {\r\n const label =\r\n item.label || `Tab ${p.items().findIndex(i => i.key === item.key) + 1}`;\r\n const needsTooltip = label.length > TOOLTIP_CHAR_THRESHOLD;\r\n if (!needsTooltip) {\r\n return <span class=\"tab07\">{label}</span>;\r\n }\r\n const opts = p.tooltipOptions ?? {};\r\n const isCustom = 'customContent' in opts && opts.customContent != null;\r\n const tooltipProps: Omit<TooltipDefaultProps, 'children'> = isCustom\r\n ? {\r\n type: 'default',\r\n position: 'top' as const,\r\n color: p?.color as BaseColorProps,\r\n customContent: (opts as { customContent: JSX.Element }).customContent,\r\n }\r\n : {\r\n type: 'default',\r\n position: 'top' as const,\r\n color: p?.color as BaseColorProps,\r\n content: (opts as { content?: string }).content ?? label,\r\n };\r\n return (\r\n <Tooltip {...(tooltipProps as TooltipDefaultProps)}>\r\n <span class=\"tab07\">{label}</span>\r\n </Tooltip>\r\n );\r\n })()}\r\n </Show>\r\n }\r\n >\r\n <input\r\n ref={el =>\r\n setTimeout(() => {\r\n el?.focus();\r\n el?.select();\r\n }, 0)\r\n }\r\n type=\"text\"\r\n class=\"tab16\"\r\n value={editingValue()}\r\n onInput={e => setEditingValue(e.currentTarget.value)}\r\n onBlur={() => handleRenameSubmit(item)}\r\n onKeyDown={e => handleRenameKeyDown(item, e)}\r\n onClick={e => e.stopPropagation()}\r\n />\r\n </Show>\r\n\r\n {/* Action Buttons */}\r\n <Show when={p.canPin || item.closable !== false}>\r\n <div class=\"tab08\">\r\n {/* Pin Button */}\r\n <Show when={p.canPin}>\r\n <button\r\n class=\"tab09 tab10\"\r\n onClick={e => handlePinTab(item, e)}\r\n title={item.pinned ? 'Unpin tab' : 'Pin tab'}\r\n >\r\n <Show when={item.pinned} fallback={<Pin size={12} />}>\r\n <PinOff size={12} />\r\n </Show>\r\n </button>\r\n </Show>\r\n\r\n {/* Close Button */}\r\n <Show when={item.closable !== false}>\r\n <button\r\n class=\"tab09 tab11\"\r\n onClick={e => {\r\n e.stopPropagation();\r\n handleRemoveTab(item);\r\n }}\r\n title=\"Close tab\"\r\n >\r\n <X size={12} />\r\n </button>\r\n </Show>\r\n </div>\r\n </Show>\r\n </div>\r\n </>\r\n )}\r\n </For>\r\n\r\n {/* Add Button */}\r\n <Show when={p.canAdd}>\r\n <button\r\n class={cn('tab12', p.class?.addButton)}\r\n onClick={handleAddTab}\r\n title=\"Add new tab\"\r\n >\r\n <Plus size={14} />\r\n </button>\r\n </Show>\r\n </div>\r\n\r\n {/* Tab Content */}\r\n <div class={cn('tab13', p.class?.content)}>\r\n <Show when={p.items().length === 0}>\r\n <div class=\"tab15\">\r\n <span>No tabs available</span>\r\n <Show when={p.canAdd}>\r\n <button class=\"tab12\" onClick={handleAddTab}>\r\n <Pin size={14} />\r\n </button>\r\n </Show>\r\n </div>\r\n </Show>\r\n\r\n <For each={p.items()}>\r\n {item => (\r\n <Show when={shouldRenderContent(item)}>\r\n <div class={cn('tab29 size-full', activeKey() !== item.key && 'hidden')}>\r\n {item.children as Element}\r\n </div>\r\n </Show>\r\n )}\r\n </For>\r\n </div>\r\n </div>\r\n );\r\n};\r\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { BaseColorProps, SolidComponent } from '../../type';
2
+ import { TooltipProps } from '../tooltip/tooltip.types';
3
+ import { Accessor, Setter } from 'solid-js';
4
+ export type TabItem = {
5
+ label?: string;
6
+ key: string;
7
+ children: SolidComponent;
8
+ icon?: SolidComponent;
9
+ disabled?: boolean;
10
+ closable?: boolean;
11
+ pinned?: boolean;
12
+ };
13
+ type TabTooltipOptions = Omit<TooltipProps, 'children'>;
14
+ type BaseTabPropsCommon = {
15
+ color?: BaseColorProps;
16
+ variants?: 'lift' | 'box' | 'border';
17
+ align?: 'left' | 'center' | 'right';
18
+ defaultActiveKey?: string;
19
+ canAdd?: boolean;
20
+ canPin?: boolean;
21
+ canRename?: boolean;
22
+ preRender?: boolean;
23
+ onChange?: (activeKey: string) => void;
24
+ onAdd?: () => TabItem | void;
25
+ onRemove?: (key: string, label: string) => Promise<boolean> | boolean | void;
26
+ onPin?: (key: string, pinned: boolean) => void;
27
+ onRename?: (key: string, newLabel: string) => void;
28
+ class?: Partial<Record<'root' | 'header' | 'item' | 'content' | 'addButton', string>>;
29
+ items: Accessor<TabItem[]>;
30
+ setItems: Setter<TabItem[]>;
31
+ };
32
+ type BaseTabWithTooltip = BaseTabPropsCommon & {
33
+ useTooltip: true;
34
+ tooltipOptions?: TabTooltipOptions;
35
+ };
36
+ type BaseTabWithoutTooltip = BaseTabPropsCommon & {
37
+ useTooltip?: false;
38
+ tooltipOptions?: never;
39
+ };
40
+ type BaseTabProps = BaseTabWithTooltip | BaseTabWithoutTooltip;
41
+ type HorizontalTabProps = BaseTabProps & {
42
+ tabPlacement?: 'horizontal';
43
+ position?: 'top' | 'bottom';
44
+ };
45
+ type VerticalTabProps = BaseTabProps & {
46
+ tabPlacement: 'vertical';
47
+ position?: 'left' | 'right';
48
+ };
49
+ export type TabProps = HorizontalTabProps | VerticalTabProps;
50
+ export {};
51
+ //# sourceMappingURL=tab.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.types.d.ts","sourceRoot":"","sources":["../../../src/components/tab/tab.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAExD,KAAK,kBAAkB,GAAG;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7E,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,KAAK,kBAAkB,GAAG,kBAAkB,GAAG;IAC7C,UAAU,EAAE,IAAI,CAAC;IACjB,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAE/D,KAAK,kBAAkB,GAAG,YAAY,GAAG;IACvC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC7B,CAAC;AAEF,KAAK,gBAAgB,GAAG,YAAY,GAAG;IACrC,YAAY,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Table } from './table';
2
+ export type { TableProps, TableStyleProps, TableSize, TableClassNames, TableZebra, TableColumnFixed, TableScroll, TableVirtualOptions, TableExpandedOptions, TableSelectionOptions, TableHeaderCellRenderProps, TableCellRenderProps, TableRowRenderProps, TableCellTooltipOptions, } from './table.types';
3
+ export { createColumnHelper, type ColumnDef, type Table as TableInstance, type Row, type Cell, type Header, type HeaderGroup, type Column, type RowSelectionState, type SortingState, type ColumnFiltersState, type VisibilityState, type PaginationState, type CellContext, type HeaderContext, type ColumnDef as ColumnDefinition, } from '@tanstack/solid-table';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,KAAK,IAAI,aAAa,EAC3B,KAAK,GAAG,EACR,KAAK,IAAI,EACT,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,IAAI,gBAAgB,GACnC,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ import"./table.js";import{createColumnHelper as e}from"@tanstack/solid-table";export{e as createColumnHelper};
@@ -0,0 +1,10 @@
1
+ import { ColumnDef } from '@tanstack/solid-table';
2
+ import { JSX } from 'solid-js';
3
+ import { TableExpandedOptions, TableProps, TableSelectionOptions } from './table.types';
4
+ declare function Table<TData>(rawProps: TableProps<TData>): JSX.Element;
5
+ declare namespace Table {
6
+ var Selection: <TData = any>(options?: TableSelectionOptions<TData>) => ColumnDef<TData, any>;
7
+ var Expanded: <TData = any>(options: TableExpandedOptions<TData>) => ColumnDef<TData, any>;
8
+ }
9
+ export { Table };
10
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAcvD,OAAO,EAaL,KAAK,GAAG,EACT,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAIV,oBAAoB,EACpB,UAAU,EAEV,qBAAqB,EAItB,MAAM,eAAe,CAAC;AAsIvB,iBAAS,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,eA0+ChD;kBA1+CQ,KAAK;oBA4+Cc,KAAK,kBACrB,qBAAqB,CAAC,KAAK,CAAC,KACrC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;mBAgFG,KAAK,iBACrB,oBAAoB,CAAC,KAAK,CAAC,KACnC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;;AAiDxB,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{Button as n}from"../button/button.js";import{Pagination as r}from"../pagination/pagination.js";import{Tooltip as i}from"../tooltip/tooltip.js";import{addEventListener as a,className as o,createComponent as s,delegateEvents as c,effect as l,insert as u,memo as d,mergeProps as f,setAttribute as p,setStyleProperty as m,style as h,template as g,use as _}from"solid-js/web";import{For as v,Match as y,Show as b,Switch as ee,createEffect as x,createMemo as S,createSignal as C,createUniqueId as te,mergeProps as ne,on as re,onCleanup as w,onMount as ie}from"solid-js";import ae from"lucide-solid/icons/chevron-right";import{createVirtualizer as oe}from"@tanstack/solid-virtual";import se from"lucide-solid/icons/chevron-down";import{createSolidTable as ce,flexRender as T,getCoreRowModel as le,getFilteredRowModel as ue,getPaginationRowModel as de,getSortedRowModel as fe}from"@tanstack/solid-table";import pe from"lucide-solid/icons/chevrons-up-down";import me from"lucide-solid/icons/chevron-up";var E=g(`<div>`),he=g(`<colgroup>`),ge=g(`<div><table><thead>`),_e=g(`<thead>`),ve=g(`<tr><td class="border-none p-0">`),ye=g(`<tr><td class="border-none py-2"><div class="flex justify-center"><span class="loading loading-dots loading-sm opacity-60">`),be=g(`<tr><td class="border-none py-2"><div class="flex justify-center">`),xe=g(`<tbody>`),Se=g(`<div><div><div><table>`),Ce=g(`<col>`),D=g(`<tr>`),we=g(`<span class=tbe20>`),Te=g(`<span class=tbe19>`),Ee=g(`<th><div><span class=tbe17>`),De=g(`<tr><td>`),Oe=g(`<tr class=tbe31><td class=tbe32>`),ke=g(`<td>`),Ae=g(`<tbody><tr><td class="border-none p-0"><div class="flex h-full items-center justify-center gap-2 opacity-60"><span class=text-base>Sorting</span><span class="loading loading-dots loading-sm text-base-content">`),je=g(`<input type=checkbox class="checkbox checkbox-xs checkbox-primary mx-auto">`),O=g(`<span class=cursor-pointer>`),k=g(`<input type=radio class="radio radio-xs radio-primary">`),Me=g(`<input type=checkbox class="checkbox checkbox-xs checkbox-primary">`),Ne=g(`<span class="tbe24 cursor-pointer">`);function Pe(e){if(e!==void 0)return e===!0?{outer:!0,horizontal:!0,vertical:!0}:e===!1?{outer:!1,horizontal:!1,vertical:!1}:e}function A(e){switch(e){case!0:return{cols:!1,rows:!0};case!1:case void 0:return{cols:!1,rows:!1};default:return e}}var Fe={xs:`tbe02`,sm:`tbe03`,md:`tbe04`,lg:`tbe05`,xl:`tbe06`};function Ie(e){let t=[],n=A(e.zebra);return n.rows&&t.push(`tbe07`),n.cols&&t.push(`tbe08`),e.size&&t.push(Fe[e.size]),t.join(` `)}function Le(e){let t=new Map,n=0,r=null;for(let i of e){let e=i.fixed;(e===!0||e===`start`)&&(t.set(i.id,{fixed:`start`,offset:n,isLastStart:!1,isFirstEnd:!1}),n+=i.width,r=i.id)}let i=0,a=null;for(let n=e.length-1;n>=0;n--){let r=e[n];r.fixed===`end`&&(t.set(r.id,{fixed:`end`,offset:i,isLastStart:!1,isFirstEnd:!1}),i+=r.width,a||=r.id)}if(r){let e=t.get(r);e.isLastStart=!0}if(a){let e=t.get(a);e.isFirstEnd=!0}return t}function Re(e){return typeof e==`number`?`${e}px`:e}var j=`__selection__`;function ze(e){let t,n=!1;return{columns:e.filter(e=>{let r=e.meta;return r?._selection?n?!1:(n=!0,t=r._selection,!0):!0}),selectionOptions:t}}var M=`__expanded__`;function Be(e){for(let t of e){let e=t.meta;if(e?._expanded)return e._expanded}}function N(a){let c=ne({zebra:{rows:!0},size:`md`,enableSorting:!1,enableColumnFilters:!1,resizable:!0,showHeader:!0,color:`info`,rounded:`rounded-sm`},a),g=S(()=>ze(c.columns)),ae=()=>g().selectionOptions,je=()=>g().columns,O=S(()=>Be(c.columns)),k=S(()=>new Set(c.columns.filter(e=>`size`in e).map(e=>`accessorKey`in e?e.accessorKey:`id`in e?e.id:void 0))),Me=()=>c.enableRowSelection===void 0?!!ae():c.enableRowSelection,Ne=()=>{let e=ae();return e?e.type!==`radio`:!0},A=()=>!!O(),[Fe,N]=C(c.defaultExpandedRowKeys??[]),Ve=!1,He=()=>{if(!A())return[];if(c.expandedRowKeys!==void 0)return c.expandedRowKeys;if(c.defaultExpandAllRows&&!Ve){Ve=!0;let e=P.getRowModel().rows.map(e=>e.id);return N(e),e}return Fe()},Ue=e=>He().includes(e);function We(e,t){let n=He(),r=n.includes(e),i=r?n.filter(t=>t!==e):[...n,e];c.expandedRowKeys===void 0&&N(i),c.onExpand?.(!r,t),c.onExpandedRowsChange?.(i)}let[Ge,Ke]=C(c.data);x(re(()=>c.data,e=>Ke(e),{defer:!0}));let P=ce({get data(){return c.getVirtualData?Ge():c.data},get columns(){return je()},getCoreRowModel:le(),getSortedRowModel:fe(),...c.enableColumnFilters&&{getFilteredRowModel:ue()},...c.paginationProps!==void 0&&{getPaginationRowModel:de()},get enableSorting(){return c.enableSorting},isMultiSortEvent:()=>!0,get enableColumnFilters(){return c.enableColumnFilters},get enableRowSelection(){return Me()},get enableMultiRowSelection(){return Ne()},...c.getRowId&&{getRowId:c.getRowId},meta:{_expandApi:{isRowExpanded:Ue,toggleRowExpanded:We}},state:{get sorting(){return c.sorting},get columnFilters(){return c.columnFilters},get globalFilter(){return c.globalFilter},get rowSelection(){return c.rowSelection},get columnVisibility(){return c.columnVisibility},get pagination(){return c.pagination},...c.options?.state||{}},...c.onSortingChange&&{onSortingChange:c.onSortingChange},...c.onColumnFiltersChange&&{onColumnFiltersChange:c.onColumnFiltersChange},...c.onGlobalFilterChange&&{onGlobalFilterChange:c.onGlobalFilterChange},...c.onRowSelectionChange&&{onRowSelectionChange:c.onRowSelectionChange},...c.onColumnVisibilityChange&&{onColumnVisibilityChange:c.onColumnVisibilityChange},...c.options&&(()=>{let{state:e,...t}=c.options;return t})()}),F=()=>Pe(c.border),qe=()=>P.getRowModel().rows.length===0,I=()=>c.columns.some(e=>e.meta?.fixed),L=()=>c.scroll?.x,Je=()=>{let e=L();if(e!==void 0&&!(e===!0||e===`max-content`))return Re(e)},Ye=()=>{let e=L();if(e===void 0)return;if(e===`max-content`)return`max-content`;let t=Q();return`${P.getAllLeafColumns().reduce((e,n)=>n.id===j||n.id===M?e+n.getSize():t?e+(t[n.id]??100):e+(W()[n.id]??n.getSize()),0)}px`},Xe=()=>{let e=c.scroll?.y;if(e!==void 0)return Re(e)},Ze=()=>L()!==void 0||c.scroll?.y!==void 0,Qe=()=>L()!==void 0,R=()=>c.scroll?.y!==void 0,$e=S(()=>{let e=c.virtual;return e?e===!0?{itemSize:40,overscan:5}:{itemSize:e.itemSize??40,overscan:e.overscan??5}:null}),z=()=>!!$e(),B,et,V=oe({get count(){return z()?P.getRowModel().rows.length:0},getScrollElement:()=>z()?B:null,estimateSize:()=>$e()?.itemSize??40,get overscan(){return $e()?.overscan??5},measureElement:e=>{let t=e.getBoundingClientRect().height,n=e.nextElementSibling;return n?.classList.contains(`tbe31`)&&(t+=n.getBoundingClientRect().height),t}}),tt=S(()=>{if(!z())return 0;let e=V.getVirtualItems();return e.length>0?e[0]?.start??0:0}),nt=S(()=>{if(!z())return 0;let e=V.getVirtualItems(),t=V.getTotalSize();return e.length>0?t-(e[e.length-1]?.end??0):0}),[rt,it]=C(!1),at=null;w(function(){at!==null&&clearTimeout(at)});function ot(e,t){if(rt())return;let n=P.getColumn(t);if(!n?.getCanSort())return;it(!0);let r=Date.now();setTimeout(()=>{n.getToggleSortingHandler()?.(e);let t=Date.now()-r,i=Math.max(0,500-t);at=setTimeout(()=>{at=null,it(!1),B&&(B.scrollTop=0)},i)},0)}let st=Promise.resolve(void 0),[H,ct]=C(!1);function lt(){!c.getVirtualData||H()||(ct(!0),c.getVirtualData().then(e=>{Ke(t=>[...t,...e])}).finally(()=>{ct(!1)}))}x(function(){!z()||c.loadingMore!==`auto`||H()||(st=st.then(()=>new Promise(e=>{queueMicrotask(()=>{B&&B.isConnected&&c.getVirtualData&&c.loadingMore===`auto`&&!H()&&B.scrollHeight<=B.clientHeight&&lt(),e()})})))}),x(function(){c.onTableReady?.(P)});function ut(e,t){let n=e.column.columnDef.meta?.onCell;return n?n(e,t):c.onCell?.(e,t)??{}}let U,dt,ft=te(),[W,G]=C({}),[pt,mt]=C(-1),[ht,gt]=C([]),K=S(()=>L()===void 0&&c.resizable!==!1),_t=`thead tr:first-child th:not(.tbe23):not(.tbe22)`;function q(){return P.getAllLeafColumns().filter(e=>e.id!==M&&e.id!==j)}function J(e){return Math.min(e.getSize(),e.columnDef.meta?.minWidth??100)}function vt(){let e=U.querySelectorAll(_t),t=q(),n={};t.forEach((t,r)=>{e[r]&&(n[t.id]=e[r].getBoundingClientRect().width)});let r=Array.from(U.querySelectorAll(`thead tr:first-child th`)).reduce((e,t)=>e+t.getBoundingClientRect().width,0)-U.getBoundingClientRect().width;if(r>0&&t.length>0){let e=t[t.length-1].id;n[e]!==void 0&&(n[e]=Math.max(J(t[t.length-1]),n[e]-r))}return n}function Y(){if(!U)return;let e=U.querySelectorAll(_t),t=q(),n,r;if(R()){let e=et?.getBoundingClientRect(),t=B?.getBoundingClientRect();n=e?.top??0,r=(e?.height??0)+(t?.height??0)}else{let e=U.getBoundingClientRect();n=e.top,r=e.height}let i=[];for(let a=0;a<e.length;a++){let o=t[a];if(!o||o.columnDef.enableResizing===!1)continue;let s=e[a].getBoundingClientRect();i.push({left:s.right,top:n,height:r,colIndex:a})}gt(i)}function yt(e,t){t.preventDefault(),t.stopPropagation();let n=q(),r=n.length-1,i=e===r,a=n[e].id,o=n[r].id,s=vt();G(s);let c=t.clientX,l=s[a]||0,u=J(n[e]);mt(e);let d;if(i){let e=Object.values(s).reduce((e,t)=>e+t,0),t=n.slice(0,r),i=t.reduce((e,t)=>e+J(t),0);d=n=>{let r=n.clientX-c,a=Math.max(u,Math.min(e-i,l+r)),s=e-a,d=t.length>0?s/t.length:s,f={};t.forEach(e=>{f[e.id]=Math.max(J(e),d)}),f[o]=a,G(f),queueMicrotask(()=>Y())}}else{let t=e+1,r=n[t].id,i=s[r]||0,o=J(n[t]);d=e=>{let t=e.clientX-c,n=u-l,s=i-o,d=Math.max(n,Math.min(s,t));G(e=>({...e,[a]:l+d,[r]:i-d})),queueMicrotask(()=>Y())}}let f=()=>{mt(-1),document.removeEventListener(`mousemove`,d),document.removeEventListener(`mouseup`,f),document.documentElement.classList.remove(`tbe-resizing`)};document.addEventListener(`mousemove`,d),document.addEventListener(`mouseup`,f),document.documentElement.classList.add(`tbe-resizing`)}function bt(e,t){t.preventDefault(),t.stopPropagation();let n=q(),r=Object.keys(W()).length>0?W():vt();if(e===n.length-1){let e=n.reduce((e,t)=>e+(r[t.id]??t.getSize()),0)/n.length,t={};n.forEach(n=>{t[n.id]=Math.max(J(n),e)}),G(t)}else{let t=n[e].id,i=n[e+1].id,a=r[t]??n[e].getSize(),o=r[i]??n[e+1].getSize(),s=(a+o)/2,c=Math.max(J(n[e]),s),l=Math.max(J(n[e+1]),a+o-c);G(e=>({...r,...e,[t]:c,[i]:l}))}queueMicrotask(()=>Y())}let X=()=>Object.keys(W()).length>0,Z=S(()=>{if(!X())return null;let e=W();return`${P.getAllLeafColumns().reduce((t,n)=>t+(e[n.id]??n.getSize()),0)}px`}),Q=S(()=>{if(!Qe())return null;let e=q(),t=L(),n=e.filter(e=>k().has(e.id)),r=e.filter(e=>!k().has(e.id)),i=n.reduce((e,t)=>e+t.getSize(),0),a=r.length,o;if(typeof t==`number`){let e=t-i;o=a>0?Math.max(100,e/a):100}else o=100;let s={};return e.forEach(e=>{s[e.id]=k().has(e.id)?e.getSize():o}),s}),xt=()=>k().size>0||X()||Qe(),[St,Ct]=C({});function wt(){if(!U)return;let e=U.querySelectorAll(_t),t=q(),n={};t.forEach((t,r)=>{e[r]&&(n[t.id]=e[r].offsetWidth)}),Ct(n)}let Tt=S(()=>{let e=St();return Object.keys(e).length===0?new Map:Le(P.getAllLeafColumns().map(t=>({id:t.id,fixed:t.columnDef.meta?.fixed,width:e[t.id]||0})))});function Et(e){let t=Tt().get(e);if(t){if(t.fixed===`start`)return{left:`${t.offset}px`};if(t.fixed===`end`)return{right:`${t.offset}px`}}}function Dt(t){let n=Tt().get(t);return n?e(`tbe33`,n.isLastStart&&`tbe34`,n.isFirstEnd&&`tbe35`):``}let Ot={start:`justify-start`,center:`justify-center`,end:`justify-end`},kt={start:`align-start`,center:`align-center`,end:`align-end`},At={start:`text-left`,center:`text-center`,end:`text-right`};function jt(e){return P.getColumn(e)?.columnDef.meta?.align??`start`}function Mt(e){return!!P.getColumn(e)?.columnDef.meta?.tooltip}function $(e,t,n){let r=P.getColumn(e)?.columnDef.meta?.tooltip;if(!r)return n;let a=r.content,o=typeof a==`function`?a(t):a;return s(i,f({type:`portal`},{...r,...o!==void 0&&{content:o},containerId:ft,position:r.position??`top`,class:{root:`tbe-tt-cell`}},{children:n}))}function Nt(e){let t=e.target,n=e=>{let t=e.closest(`table`);return t===U||t===dt},r=t.closest(`th[data-column-id]`);if(r&&n(r)){let t=r.dataset.columnId;if(t)if(z()&&c.enableSorting)ot(e,t);else{let n=P.getColumn(t);n?.getCanSort()&&n.getToggleSortingHandler()?.(e)}return}let i=t.closest(`td.tbe22`);if(i&&n(i)){let e=i.closest(`tr[data-row-id]`);if(e){let t=e.dataset.rowId;if(t!==void 0){let e=P.getRow(t);e?.getCanSelect()&&e.toggleSelected()}}return}let a=t.closest(`td.tbe23`);if(a&&n(a)){let e=a.closest(`tr[data-row-id]`);if(e){let t=e.dataset.rowId;if(t!==void 0){let e=P.getRow(t);if(e){let t=O();(!t?.rowExpandable||t.rowExpandable(e.original,e.index))&&We(e.id,e.original)}}}return}let o=t.closest(`tr[data-row-id]`);if(o&&n(o)&&c.onRowClick){let t=o.dataset.rowId;if(t!==void 0){let n=P.getRow(t);n&&c.onRowClick(n,e)}}}return ie(()=>{if(K()&&(Y(),window.addEventListener(`scroll`,Y,{passive:!0,capture:!0}),w(function(){window.removeEventListener(`scroll`,Y,{capture:!0})})),I()&&wt(),K()||I()){let e=new ResizeObserver(()=>{K()&&Y(),I()&&wt()});e.observe(U),w(function(){e.disconnect()})}if(z()){let e=()=>{if(!c.getVirtualData||c.loadingMore!==`auto`)return;let e=$e(),t=(e?.itemSize??40)*(e?.overscan??5);B.scrollTop+B.clientHeight>=B.scrollHeight-t&&lt()};B.addEventListener(`scroll`,e,{passive:!0}),w(function(){B.removeEventListener(`scroll`,e)})}if(R()){let e=()=>{et&&(et.scrollLeft=B.scrollLeft),K()&&Y()};B.addEventListener(`scroll`,e,{passive:!0}),w(()=>B.removeEventListener(`scroll`,e))}}),(()=>{var i=Se(),a=i.firstChild,g=a.firstChild,S=g.firstChild;return u(i,s(b,{get when(){return d(()=>c.paginationProps!==void 0&&!c.virtual)()&&c.paginationProps?.position===`start`},get children(){return s(r,f(()=>c.paginationProps,{onChange:(e,t)=>{P.setPageIndex(e-1),t!==P.getState().pagination.pageSize&&P.setPageSize(t),c.paginationProps?.onChange?.(e,t)}}))}}),a),u(a,s(b,{get when(){return c.headerPanel},get children(){var t=E();return u(t,()=>c.headerPanel?.()),l(()=>o(t,e(`tbe40`,F()?.outer&&`tbe41`,c.class?.headerPanel))),t}}),g),u(a,s(b,{get when(){return d(()=>!!R())()&&c.showHeader},get children(){var t=ge(),n=t.firstChild,r=n.firstChild;_(e=>et=e,t),n.$$click=Nt;var i=U;return typeof i==`function`?_(i,n):U=n,u(n,s(b,{get when(){return xt()},get children(){var e=he();return u(e,s(v,{get each(){return P.getAllLeafColumns()},children:e=>{let t=()=>e.id===M||e.id===j;return(()=>{var n=Ce();return l(r=>h(n,{...t()?{width:`${e.getSize()}px`}:X()?{width:`${W()[e.id]||e.getSize()}px`}:Q()?{width:`${Q()[e.id]??100}px`}:k().has(e.id)?{width:`${e.getSize()}px`}:{}},r)),n})()}})),e}}),r),u(r,s(v,{get each(){return P.getHeaderGroups()},children:(t,n)=>{let r=P.getHeaderGroups().length,i=new Set(P.getHeaderGroups().slice(0,n()).flatMap(e=>e.headers.filter(e=>e.isPlaceholder&&e.column.getLeafColumns().length===1).map(e=>e.column.id)));return(()=>{var a=D();return u(a,s(v,{get each(){return t.headers},children:t=>{if(i.has(t.column.id))return null;let a=t.isPlaceholder&&t.column.getLeafColumns().length===1,f=a?r-n():1;if(t.isPlaceholder&&!a)return null;let m=t.column.columnDef.meta?.onHeaderCell?.(t)??{};if(m.colSpan===0)return null;let g=m.colSpan??t.colSpan,_=m.rowSpan??(f>1?f:void 0);return(()=>{var n=Ee(),r=n.firstChild,i=r.firstChild;return p(n,`colspan`,g),p(n,`rowspan`,_),u(i,()=>T(t.column.columnDef.header,t.getContext())),u(r,s(b,{get when(){return t.column.getCanSort()},get children(){var e=Te();return u(e,s(ee,{get fallback(){return s(pe,{size:14,"stroke-width":3,color:`var(--color)`})},get children(){return[s(y,{get when(){return t.column.getIsSorted()===`asc`},get children(){return s(me,{size:14,"stroke-width":3,color:`var(--color)`})}}),s(y,{get when(){return t.column.getIsSorted()===`desc`},get children(){return s(se,{size:14,"stroke-width":3,color:`var(--color)`})}})]}}),null),u(e,s(b,{get when(){return d(()=>t.column.getIsSorted()!==!1&&(t.column.getSortIndex()??-1)>=0)()&&P.getState().sorting.length>1},get children(){var e=we();return u(e,()=>(t.column.getSortIndex()??0)+1),e}}),null),e}}),null),l(i=>{var a=e(c.class?.th,t.column.getCanSort()&&`tbe18`,t.column.id===j&&`tbe22`,t.column.id===M&&`tbe23`,Dt(t.column.id)),s=t.column.id,l=Et(t.column.id),u=e(`tbe15`,(k().has(t.column.id)||X())&&t.column.id!==j&&t.column.id!==M&&`tbe16`,t.column.id!==j&&t.column.id!==M&&Ot[jt(t.column.id)]);return a!==i.e&&o(n,i.e=a),s!==i.t&&p(n,`data-column-id`,i.t=s),i.a=h(n,l,i.a),u!==i.o&&o(r,i.o=u),i},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}})),l(()=>o(a,e(c.class?.tr,c.class?.headerRow))),a})()}})),l(i=>{var a=e(`tbe12`,`tbe14-hdr`),s=e(`tbe01`,Ie(c),F()?.horizontal&&`tbe43`,F()?.vertical&&`tbe44`,xt()&&`table-fixed`,c.class?.table),l={...Z()?{width:Z(),"min-width":Z()}:Ye()?{"min-width":Ye()}:{}},u=e(c.class?.thead,rt()?`pointer-events-none cursor-wait`:``);return a!==i.e&&o(t,i.e=a),s!==i.t&&o(n,i.t=s),i.a=h(n,l,i.a),u!==i.o&&o(r,i.o=u),i},{e:void 0,t:void 0,a:void 0,o:void 0}),t}}),g),_(e=>B=e,g),S.$$click=Nt,_(e=>{dt=e,R()||(U=e)},S),u(S,s(b,{get when(){return xt()},get children(){var e=he();return u(e,s(v,{get each(){return P.getAllLeafColumns()},children:e=>{let t=()=>e.id===M||e.id===j;return(()=>{var n=Ce();return l(r=>h(n,{...t()?{width:`${e.getSize()}px`}:X()?{width:`${W()[e.id]||e.getSize()}px`}:Q()?{width:`${Q()[e.id]??100}px`}:k().has(e.id)?{width:`${e.getSize()}px`}:{}},r)),n})()}})),e}}),null),u(S,s(b,{get when(){return d(()=>!R())()&&c.showHeader},get children(){var t=_e();return u(t,s(v,{get each(){return P.getHeaderGroups()},children:(t,n)=>{let r=P.getHeaderGroups().length,i=new Set(P.getHeaderGroups().slice(0,n()).flatMap(e=>e.headers.filter(e=>e.isPlaceholder&&e.column.getLeafColumns().length===1).map(e=>e.column.id)));return(()=>{var a=D();return u(a,s(v,{get each(){return t.headers},children:t=>{if(i.has(t.column.id))return null;let a=t.isPlaceholder&&t.column.getLeafColumns().length===1,f=a?r-n():1;if(t.isPlaceholder&&!a)return null;let m=t.column.columnDef.meta?.onHeaderCell?.(t)??{};if(m.colSpan===0)return null;let g=m.colSpan??t.colSpan,_=m.rowSpan??(f>1?f:void 0);return(()=>{var n=Ee(),r=n.firstChild,i=r.firstChild;return p(n,`colspan`,g),p(n,`rowspan`,_),u(i,()=>T(t.column.columnDef.header,t.getContext())),u(r,s(b,{get when(){return t.column.getCanSort()},get children(){var e=Te();return u(e,s(ee,{get fallback(){return s(pe,{size:14,"stroke-width":3,color:`var(--color)`})},get children(){return[s(y,{get when(){return t.column.getIsSorted()===`asc`},get children(){return s(me,{size:14,"stroke-width":3,color:`var(--color)`})}}),s(y,{get when(){return t.column.getIsSorted()===`desc`},get children(){return s(se,{size:14,"stroke-width":3,color:`var(--color)`})}})]}}),null),u(e,s(b,{get when(){return d(()=>t.column.getIsSorted()!==!1&&(t.column.getSortIndex()??-1)>=0)()&&P.getState().sorting.length>1},get children(){var e=we();return u(e,()=>(t.column.getSortIndex()??0)+1),e}}),null),e}}),null),l(i=>{var a=e(c.class?.th,t.column.getCanSort()&&`tbe18`,t.column.id===j&&`tbe22`,t.column.id===M&&`tbe23`,Dt(t.column.id)),s=t.column.id,l=Et(t.column.id),u=e(`tbe15`,(k().has(t.column.id)||X())&&t.column.id!==j&&t.column.id!==M&&`tbe16`,t.column.id!==j&&t.column.id!==M&&Ot[jt(t.column.id)]);return a!==i.e&&o(n,i.e=a),s!==i.t&&p(n,`data-column-id`,i.t=s),i.a=h(n,l,i.a),u!==i.o&&o(r,i.o=u),i},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}})),l(()=>o(a,e(c.class?.tr,c.class?.headerRow))),a})()}})),l(()=>o(t,e(c.class?.thead,rt()?`pointer-events-none cursor-wait`:``))),t}}),null),u(S,s(b,{get when(){return d(()=>!!z())()&&!qe()},get fallback(){return(()=>{var t=xe();return p(t,`id`,ft),u(t,s(b,{get when(){return!qe()},get fallback(){return(()=>{var t=De(),n=t.firstChild;return u(n,()=>c.emptyContent??`No data`),l(t=>{var r=P.getAllColumns().length,i=e(`tbe45`,c.class?.empty);return r!==t.e&&p(n,`colspan`,t.e=r),i!==t.t&&o(n,t.t=i),t},{e:void 0,t:void 0}),t})()},get children(){return s(v,{get each(){return P.getRowModel().rows},children:(t,n)=>{let r=()=>Ue(t.id),i=O();return[(()=>{var i=D();return u(i,s(v,{get each(){return t.getVisibleCells()},children:t=>{let r=t.column.id===j||t.column.id===M,i=r?`start`:jt(t.column.id),a=!r&&Mt(t.column.id),d=ut(t,n());return d.colSpan===0||d.rowSpan===0?null:(()=>{var n=ke();return u(n,s(b,{get when(){return(k().has(t.column.id)||X())&&!r},get fallback(){return $(t.column.id,t.getValue(),T(t.column.columnDef.cell,t.getContext()))},get children(){var n=E();return u(n,()=>$(t.column.id,t.getValue(),T(t.column.columnDef.cell,t.getContext()))),l(()=>o(n,e(`tbe21`,kt[i]))),n}})),l(s=>{var l=e(c.class?.td,t.column.id===j&&`tbe22`,t.column.id===M&&`tbe23`,Dt(t.column.id),a&&`relative`,!r&&At[i]),u={...Et(t.column.id)},f=d.colSpan,m=d.rowSpan;return l!==s.e&&o(n,s.e=l),s.t=h(n,u,s.t),f!==s.a&&p(n,`colspan`,s.a=f),m!==s.o&&p(n,`rowspan`,s.o=m),s},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}})),l(a=>{var s=e(c.class?.tr,c.class?.bodyRow,t.getIsSelected()&&`tbe27`,r()&&`tbe28`,n()%2==0?`tbe29`:`tbe30`),l=t.id;return s!==a.e&&o(i,a.e=s),l!==a.t&&p(i,`data-row-id`,a.t=l),a},{e:void 0,t:void 0}),i})(),s(b,{get when(){return d(()=>!!A())()&&r()},get children(){var e=Oe(),r=e.firstChild;return u(r,()=>i.expandedRowRender(t.original,n(),0,!0)),l(()=>p(r,`colspan`,t.getVisibleCells().length)),e}})]}})}})),l(()=>o(t,e(c.class?.tbody))),t})()},get children(){return s(b,{get when(){return!rt()},get fallback(){return(()=>{var e=Ae(),t=e.firstChild.firstChild;return l(e=>{var n=P.getAllColumns().length,r=Xe()??`200px`;return n!==e.e&&p(t,`colspan`,e.e=n),r!==e.t&&m(t,`height`,e.t=r),e},{e:void 0,t:void 0}),e})()},get children(){var t=xe();return p(t,`id`,ft),u(t,s(b,{get when(){return tt()>0},get children(){var e=ve(),t=e.firstChild;return l(e=>{var n=P.getAllColumns().length,r=`${tt()}px`;return n!==e.e&&p(t,`colspan`,e.e=n),r!==e.t&&m(t,`height`,e.t=r),e},{e:void 0,t:void 0}),e}}),null),u(t,s(v,{get each(){return V.getVirtualItems()},children:t=>{let n=P.getRowModel().rows[t.index],r=t.index;if(!n)return null;let i=()=>Ue(n.id),a=O(),f;return x(re(i,()=>{queueMicrotask(()=>{f?.isConnected&&f.hasAttribute(`data-index`)&&V.measureElement(f)})},{defer:!0})),[(()=>{var a=D();return _(e=>{f=e,e&&queueMicrotask(()=>{e.isConnected&&V.measureElement(e)})},a),u(a,s(v,{get each(){return n.getVisibleCells()},children:t=>{let n=t.column.id===j||t.column.id===M,r=n?`start`:jt(t.column.id),i=!n&&Mt(t.column.id);return(()=>{var a=ke();return u(a,s(b,{get when(){return(k().has(t.column.id)||X())&&!n},get fallback(){return $(t.column.id,t.getValue(),T(t.column.columnDef.cell,t.getContext()))},get children(){var n=E();return u(n,()=>$(t.column.id,t.getValue(),T(t.column.columnDef.cell,t.getContext()))),l(()=>o(n,e(`tbe21`,kt[r]))),n}})),l(s=>{var l=e(c.class?.td,t.column.id===j&&`tbe22`,t.column.id===M&&`tbe23`,Dt(t.column.id),i&&`relative p-0`,!n&&At[r]),u={...Et(t.column.id)};return l!==s.e&&o(a,s.e=l),s.t=h(a,u,s.t),s},{e:void 0,t:void 0}),a})()}})),l(s=>{var l=t.index,u=e(c.class?.tr,c.class?.bodyRow,n.getIsSelected()&&`tbe27`,i()&&`tbe28`,r%2==0?`tbe29`:`tbe30`),d=n.id;return l!==s.e&&p(a,`data-index`,s.e=l),u!==s.t&&o(a,s.t=u),d!==s.a&&p(a,`data-row-id`,s.a=d),s},{e:void 0,t:void 0,a:void 0}),a})(),s(b,{get when(){return d(()=>!!A())()&&i()},get children(){var e=Oe(),t=e.firstChild;return u(t,()=>a.expandedRowRender(n.original,r,0,!0)),l(()=>p(t,`colspan`,n.getVisibleCells().length)),e}})]}}),null),u(t,s(b,{get when(){return nt()>0},get children(){var e=ve(),t=e.firstChild;return l(e=>{var n=P.getAllColumns().length,r=`${nt()}px`;return n!==e.e&&p(t,`colspan`,e.e=n),r!==e.t&&m(t,`height`,e.t=r),e},{e:void 0,t:void 0}),e}}),null),u(t,s(ee,{get children(){return[s(y,{get when(){return d(()=>c.loadingMore===`auto`)()&&H()},get children(){var e=ye(),t=e.firstChild;return l(()=>p(t,`colspan`,P.getAllColumns().length)),e}}),s(y,{get when(){return c.loadingMore===`manual`},get children(){var e=be(),t=e.firstChild,r=t.firstChild;return u(r,s(n,{variant:`default`,get color(){return c.color},get loading(){return H()},onClick:()=>lt(),get size(){return c.size},children:`Load more`})),l(()=>p(t,`colspan`,P.getAllColumns().length)),e}})]}}),null),l(()=>o(t,c.class?.tbody)),t}})}}),null),u(a,s(b,{get when(){return K()},get children(){return s(v,{get each(){return ht()},children:t=>(()=>{var n=E();return n.$$dblclick=e=>bt(t.colIndex,e),n.$$mousedown=e=>yt(t.colIndex,e),l(r=>{var i=e(`tbe37`,pt()===t.colIndex&&`tbe38`),a=`${t.left}px`,s=`${t.top}px`,c=`${t.height}px`;return i!==r.e&&o(n,r.e=i),a!==r.t&&m(n,`left`,r.t=a),s!==r.a&&m(n,`top`,r.a=s),c!==r.o&&m(n,`height`,r.o=c),r},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()})}}),null),u(a,s(b,{get when(){return c.footerPanel},get children(){var t=E();return u(t,()=>c.footerPanel?.()),l(()=>o(t,e(`tbe40`,F()?.outer&&`border-c3/50 border-t`,c.class?.tfoot))),t}}),null),u(i,s(b,{get when(){return d(()=>c.paginationProps!==void 0&&!c.virtual)()&&(c.paginationProps?.position??`end`)===`end`},get children(){return s(r,f(()=>c.paginationProps,{onChange:(e,t)=>{P.setPageIndex(e-1),t!==P.getState().pagination.pageSize&&P.setPageSize(t),c.paginationProps?.onChange?.(e,t)}}))}}),null),l(n=>{var r=e(`tbe09`,c.paginationProps!==void 0&&`tbe10`),s=e(`tbe11`,F()?.outer&&`tbe42`,K()&&`tbe36`,pt()>=0&&`tbe39`,(I()||R())&&`tbe13`,t(c.color),c.rounded,c.rounded&&`overflow-hidden`,c.class?.root),l={...Je()?{"max-width":Je()}:{},...Qe()&&c.rounded?{"overflow-x":`clip`}:{}},u=e(`tbe12`,Ze()&&`tbe14`),d={...Xe()?{"max-height":Xe()}:{}},f=e(`tbe01`,Ie(c),F()?.horizontal&&`tbe43`,F()?.vertical&&`tbe44`,xt()&&`table-fixed`,c.class?.table),p={...Z()?{width:Z(),"min-width":Z()}:Ye()?{"min-width":Ye()}:{}};return r!==n.e&&o(i,n.e=r),s!==n.t&&o(a,n.t=s),n.a=h(a,l,n.a),u!==n.o&&o(g,n.o=u),n.i=h(g,d,n.i),f!==n.n&&o(S,n.n=f),n.s=h(S,p,n.s),n},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),i})()}N.Selection=function(e){let t={type:`checkbox`,hideSelectAll:!1,width:32,...e};return{id:j,size:typeof t.width==`number`?t.width:48,enableSorting:!1,enableResizing:!1,meta:{_selection:t},header:({table:e})=>t.title===void 0?t.type===`radio`||t.hideSelectAll?null:(()=>{var t=je();return a(t,`change`,e.getToggleAllRowsSelectedHandler()),_(t=>{x(function(){t.indeterminate=e.getIsSomeRowsSelected()})},t),l(()=>t.checked=e.getIsAllRowsSelected()),t})():t.title,cell:({row:e})=>{let n=e.index,r=()=>e.getIsSelected(),i=e.original;return t.renderCell?(()=>{var a=O();return a.$$click=t=>{t.stopPropagation(),e.toggleSelected()},u(a,()=>t.renderCell(r(),i,n)),a})():t.type===`radio`?(()=>{var t=k();return t.$$click=e=>e.stopPropagation(),a(t,`change`,e.getToggleSelectedHandler()),l(()=>t.disabled=!e.getCanSelect()),l(()=>t.checked=r()),t})():(()=>{var t=Me();return t.$$click=e=>e.stopPropagation(),a(t,`change`,e.getToggleSelectedHandler()),l(()=>t.disabled=!e.getCanSelect()),l(()=>t.checked=r()),t})()}}},N.Expanded=function(t){return t=ne({width:48},t),{id:M,size:t.width,enableSorting:!1,enableResizing:!1,meta:{_expanded:t},header:()=>null,cell:({row:n,table:r})=>{let i=n.index,a=n.original,o=r.options.meta?._expandApi;if(!(!t.rowExpandable||t.rowExpandable(a,i))||!o)return null;let c=()=>o.isRowExpanded(n.id);return(()=>{var r=Ne();return r.$$click=e=>{e.stopPropagation(),o.toggleRowExpanded(n.id,a)},u(r,s(b,{get when(){return t.expandIcon},get fallback(){return s(ae,{size:16,"stroke-width":2,get class(){return e(`tbe25`,c()&&`tbe26`)}})},get children(){return t.expandIcon(c())}})),r})()}}},c([`click`,`mousedown`,`dblclick`]);export{N as Table};
2
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","names":["cn","getColor","ColumnDef","createSolidTable","flexRender","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","createVirtualizer","ChevronDown","ChevronRight","ChevronsUpDown","ChevronUp","createEffect","createMemo","createSignal","createUniqueId","For","Match","mergeProps","on","onCleanup","onMount","Show","Switch","JSX","Button","Pagination","Tooltip","TableBorder","TableCellSpanResult","TableColumnFixed","TableExpandedOptions","TableProps","TableScroll","TableSelectionOptions","TableStyleProps","TableVirtualOptions","TableZebra","normalizeBorder","border","undefined","outer","horizontal","vertical","normalizeZebra","zebra","cols","rows","TableSizeClass","xs","sm","md","lg","xl","const","getTableClass","opts","classes","push","size","join","FixedInfo","fixed","offset","isLastStart","isFirstEnd","computeFixedColumnInfo","columns","id","width","Map","result","leftOffset","lastStartId","col","set","rightOffset","firstEndId","i","length","info","get","toCssValue","val","SELECTION_COLUMN_ID","processSelectionColumns","TData","selectionOptions","foundFirst","processed","filter","meta","_selection","EXPANDED_COLUMN_ID","extractExpandedOptions","_expanded","Table","rawProps","p","enableSorting","enableColumnFilters","resizable","showHeader","color","rounded","processedColumns","finalColumns","expandedOptions","colsWithExplicitSize","Set","map","accessorKey","resolvedEnableRowSelection","enableRowSelection","enableMultiRowSelection","type","hasExpandableRows","internalExpandedKeys","setInternalExpandedKeys","defaultExpandedRowKeys","expandAllApplied","expandedKeys","expandedRowKeys","defaultExpandAllRows","allKeys","table","getRowModel","row","isRowExpanded","rowId","includes","toggleRowExpanded","record","currentKeys","isExpanded","newKeys","k","onExpand","onExpandedRowsChange","internalData","setInternalData","data","defer","getVirtualData","paginationProps","isMultiSortEvent","getRowId","_expandApi","state","sorting","columnFilters","globalFilter","rowSelection","columnVisibility","pagination","options","onSortingChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange","onColumnVisibilityChange","_","rest","isEmpty","hasFixedColumns","some","scrollX","scroll","x","scrollXWrapper","scrollXTable","sxWidths","scrollXColumnWidths","getAllLeafColumns","total","reduce","sum","getSize","columnWidths","scrollY","y","hasScroll","hasScrollX","hasScrollY","normalizedVirtual","v","virtual","itemSize","overscan","isVirtual","wrapperEl","HTMLDivElement","headerWrapperEl","rowVirtualizer","HTMLTableRowElement","count","getScrollElement","estimateSize","measureElement","el","height","getBoundingClientRect","next","nextElementSibling","classList","contains","virtualTopPadding","items","getVirtualItems","start","virtualBottomPadding","totalSize","getTotalSize","end","isSortingLoading","setIsSortingLoading","_sortTimer","ReturnType","setTimeout","clearSortTimer","clearTimeout","triggerVirtualSort","e","MouseEvent","columnId","column","getColumn","getCanSort","t0","Date","now","getToggleSortingHandler","elapsed","delay","Math","max","scrollTop","_autoLoadChain","Promise","resolve","isFetchingMore","setIsFetchingMore","callGetVirtualData","then","newRows","prev","finally","autoFillViewport","loadingMore","queueMicrotask","isConnected","scrollHeight","clientHeight","notifyTableReady","onTableReady","resolveBodySpan","cell","Cell","rowIndex","perCol","columnDef","onCell","tableEl","HTMLTableElement","bodyTableEl","tbodyId","setColumnWidths","Record","resizingIndex","setResizingIndex","handlePositions","setHandlePositions","left","top","colIndex","dataColumnSelector","getDataColumns","colMinWidth","minWidth","min","snapshotColumnWidths","ths","querySelectorAll","HTMLTableCellElement","widths","forEach","allThsTotal","Array","from","th","excess","lastColId","updateHandlePositions","handleTop","handleHeight","hdrRect","bodyRect","tableRect","positions","enableResizing","thRect","right","handleResizeStart","preventDefault","stopPropagation","lastColIndex","isLastCol","colId","startWidths","startX","clientX","startWidth","onMouseMove","ev","totalWidth","Object","values","a","b","otherCols","slice","otherMinTotal","rawDelta","newLastWidth","remainingWidth","perColWidth","newWidths","nextColIndex","nextColId","nextColStartWidth","nextColMinWidth","minDelta","maxDelta","clampedDelta","onMouseUp","document","removeEventListener","documentElement","remove","addEventListener","add","handleResizeDblClick","currentWidths","keys","equalWidth","w1","w2","half","newW1","newW2","hasResizeWidths","resizeTableWidth","declaredCols","has","undeclaredCols","declaredTotal","numUndeclared","undeclaredWidth","remaining","useFixedLayout","measuredWidths","setMeasuredWidths","measureColumnWidths","offsetWidth","fixedColumnInfo","colData","getFixedCellStyle","getFixedCellClass","AlignHeaderClass","center","AlignCellClass","AlignTdStyle","getColAlign","align","hasCellTooltip","tooltip","wrapCellContent","cellValue","content","Element","tooltipOpts","rawContent","resolvedContent","tooltipProps","containerId","position","class","root","_$createComponent","_$mergeProps","children","handleTableClick","target","HTMLElement","isOwnElement","t","closest","dataset","selectionTd","tr","getRow","getCanSelect","toggleSelected","expandTd","expandable","rowExpandable","original","index","onRowClick","window","passive","capture","removeWindowScrollListener","observer","ResizeObserver","observe","disconnectResizeObserver","disconnect","handleScroll","threshold","removeScrollListener","syncHeaderScroll","scrollLeft","_el$","_tmpl$9","_el$2","firstChild","_el$8","_el$9","_$insert","when","_$memo","onChange","page","setPageIndex","getState","pageSize","setPageSize","headerPanel","_el$3","_tmpl$","_$effect","_$className","_el$4","_tmpl$3","_el$5","_el$7","_$use","$$click","_ref$","_el$6","_tmpl$2","each","isNonResizable","_el$21","_tmpl$0","_$p","_$style","getHeaderGroups","headerGroup","groupIndex","totalRows","earlyRenderedCols","flatMap","g","headers","h","isPlaceholder","getLeafColumns","_el$22","_tmpl$1","header","isEarlyLeaf","rowSpanVal","headerSpan","onHeaderCell","colSpan","finalColSpan","finalRowSpan","rowSpan","_el$23","_tmpl$12","_el$24","_el$25","_$setAttribute","getContext","_el$26","_tmpl$11","fallback","getIsSorted","getSortIndex","_el$27","_tmpl$10","_p$","_v$14","_v$15","_v$16","_v$17","o","headerRow","_v$","_v$2","_v$3","_v$4","thead","_el$0","_el$28","_el$1","_tmpl$4","_el$29","_el$30","_el$31","_el$32","_el$33","_el$34","_v$18","_v$19","_v$20","_v$21","_el$35","_tmpl$8","_el$36","_tmpl$13","_el$37","emptyContent","_v$22","getAllColumns","_v$23","empty","expanded","_el$38","getVisibleCells","isSpecial","hasTooltip","span","_el$41","_tmpl$15","getValue","_el$42","_v$26","td","_v$27","_v$28","_v$29","_v$24","bodyRow","getIsSelected","_v$25","_el$39","_tmpl$14","_el$40","expandedRowRender","tbody","_el$43","_tmpl$16","_el$44","_el$45","_v$30","_v$31","_$setStyleProperty","_el$10","_el$11","_tmpl$5","_el$12","_v$5","_v$6","virtualRow","trEl","hasAttribute","_el$46","_el$49","_el$50","_v$35","_v$36","_v$32","_v$33","_v$34","_el$47","_el$48","_el$13","_el$14","_v$7","_v$8","_el$15","_tmpl$6","_el$16","_el$17","_tmpl$7","_el$18","_el$19","variant","loading","onClick","pos","_el$51","$$dblclick","$$mousedown","_v$37","_v$38","_v$39","_v$40","footerPanel","_el$20","tfoot","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","n","s","Selection","hideSelectAll","title","_el$52","_tmpl$17","_$addEventListener","getToggleAllRowsSelectedHandler","syncIndeterminate","indeterminate","getIsSomeRowsSelected","checked","getIsAllRowsSelected","renderCell","_el$53","_tmpl$18","_el$54","_tmpl$19","getToggleSelectedHandler","disabled","_el$55","_tmpl$20","Expanded","api","_el$56","_tmpl$21","expandIcon","_$delegateEvents"],"sources":["../../../src/components/table/table.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\r\nimport { getColor } from '@/utils/helper';\r\nimport type { ColumnDef } from '@tanstack/solid-table';\r\nimport {\r\n createSolidTable,\r\n flexRender,\r\n getCoreRowModel,\r\n getFilteredRowModel,\r\n getPaginationRowModel,\r\n getSortedRowModel,\r\n} from '@tanstack/solid-table';\r\nimport { createVirtualizer } from '@tanstack/solid-virtual';\r\nimport ChevronDown from 'lucide-solid/icons/chevron-down';\r\nimport ChevronRight from 'lucide-solid/icons/chevron-right';\r\nimport ChevronsUpDown from 'lucide-solid/icons/chevrons-up-down';\r\nimport ChevronUp from 'lucide-solid/icons/chevron-up';\r\nimport {\r\n createEffect,\r\n createMemo,\r\n createSignal,\r\n createUniqueId,\r\n For,\r\n Match,\r\n mergeProps,\r\n on,\r\n onCleanup,\r\n onMount,\r\n Show,\r\n Switch,\r\n type JSX,\r\n} from 'solid-js';\r\nimport { Button } from '../button';\r\nimport { Pagination } from '../pagination';\r\nimport { Tooltip } from '../tooltip';\r\nimport type {\r\n TableBorder,\r\n TableCellSpanResult,\r\n TableColumnFixed,\r\n TableExpandedOptions,\r\n TableProps,\r\n TableScroll,\r\n TableSelectionOptions,\r\n TableStyleProps,\r\n TableVirtualOptions,\r\n TableZebra,\r\n} from './table.types';\r\n\r\nfunction normalizeBorder(border: TableBorder | boolean | undefined): TableBorder | undefined {\r\n if (border === undefined) return undefined;\r\n if (border === true) return { outer: true, horizontal: true, vertical: true };\r\n if (border === false) return { outer: false, horizontal: false, vertical: false };\r\n return border;\r\n}\r\n\r\nfunction normalizeZebra(zebra: TableZebra | boolean | undefined): TableZebra {\r\n switch (zebra) {\r\n case true:\r\n return { cols: false, rows: true };\r\n case false:\r\n case undefined:\r\n return { cols: false, rows: false };\r\n default:\r\n return zebra;\r\n }\r\n}\r\n\r\nconst TableSizeClass = {\r\n xs: 'tbe02',\r\n sm: 'tbe03',\r\n md: 'tbe04',\r\n lg: 'tbe05',\r\n xl: 'tbe06',\r\n} as const;\r\n\r\nfunction getTableClass(opts: TableStyleProps): string {\r\n const classes: string[] = [];\r\n const zebra = normalizeZebra(opts.zebra);\r\n if (zebra.rows) classes.push('tbe07');\r\n if (zebra.cols) classes.push('tbe08');\r\n if (opts.size) classes.push(TableSizeClass[opts.size]);\r\n return classes.join(' ');\r\n}\r\n\r\ntype FixedInfo = {\r\n fixed: TableColumnFixed;\r\n offset: number;\r\n isLastStart: boolean;\r\n isFirstEnd: boolean;\r\n};\r\n\r\nfunction computeFixedColumnInfo(\r\n columns: { id: string; fixed?: TableColumnFixed; width: number }[],\r\n): Map<string, FixedInfo> {\r\n const result = new Map<string, FixedInfo>();\r\n\r\n let leftOffset = 0;\r\n let lastStartId: string | null = null;\r\n for (const col of columns) {\r\n const fixed = col.fixed;\r\n if (fixed === true || fixed === 'start') {\r\n result.set(col.id, {\r\n fixed: 'start',\r\n offset: leftOffset,\r\n isLastStart: false,\r\n isFirstEnd: false,\r\n });\r\n leftOffset += col.width;\r\n lastStartId = col.id;\r\n }\r\n }\r\n\r\n let rightOffset = 0;\r\n let firstEndId: string | null = null;\r\n for (let i = columns.length - 1; i >= 0; i--) {\r\n const col = columns[i];\r\n const fixed = col.fixed;\r\n if (fixed === 'end') {\r\n result.set(col.id, {\r\n fixed: 'end',\r\n offset: rightOffset,\r\n isLastStart: false,\r\n isFirstEnd: false,\r\n });\r\n rightOffset += col.width;\r\n if (!firstEndId) firstEndId = col.id;\r\n }\r\n }\r\n\r\n if (lastStartId) {\r\n const info = result.get(lastStartId)!;\r\n info.isLastStart = true;\r\n }\r\n if (firstEndId) {\r\n const info = result.get(firstEndId)!;\r\n info.isFirstEnd = true;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction toCssValue(val: string | number): string {\r\n return typeof val === 'number' ? `${val}px` : val;\r\n}\r\n\r\nconst SELECTION_COLUMN_ID = '__selection__';\r\n\r\nfunction processSelectionColumns<TData>(columns: ColumnDef<TData, any>[]): {\r\n columns: ColumnDef<TData, any>[];\r\n selectionOptions: TableSelectionOptions<TData> | undefined;\r\n} {\r\n let selectionOptions: TableSelectionOptions<TData> | undefined;\r\n let foundFirst = false;\r\n\r\n const processed = columns.filter(col => {\r\n const meta = col.meta as any;\r\n if (meta?._selection) {\r\n if (foundFirst) return false;\r\n foundFirst = true;\r\n selectionOptions = meta._selection;\r\n return true;\r\n }\r\n return true;\r\n });\r\n\r\n return { columns: processed, selectionOptions };\r\n}\r\n\r\nconst EXPANDED_COLUMN_ID = '__expanded__';\r\n\r\nfunction extractExpandedOptions<TData>(\r\n columns: ColumnDef<TData, any>[],\r\n): TableExpandedOptions<TData> | undefined {\r\n for (const col of columns) {\r\n const meta = col.meta as any;\r\n if (meta?._expanded) return meta._expanded;\r\n }\r\n return undefined;\r\n}\r\n\r\nfunction Table<TData>(rawProps: TableProps<TData>) {\r\n const p = mergeProps(\r\n {\r\n zebra: { rows: true } as TableZebra | boolean,\r\n size: 'md' as const,\r\n enableSorting: false,\r\n enableColumnFilters: false,\r\n resizable: true,\r\n showHeader: true,\r\n color: 'info' as const,\r\n rounded: 'rounded-sm',\r\n } as TableProps<TData>,\r\n rawProps,\r\n );\r\n\r\n const processedColumns = createMemo(() => processSelectionColumns<TData>(p.columns));\r\n const selectionOptions = () => processedColumns().selectionOptions;\r\n const finalColumns = () => processedColumns().columns;\r\n\r\n const expandedOptions = createMemo(() => extractExpandedOptions<TData>(p.columns));\r\n\r\n const colsWithExplicitSize = createMemo(\r\n () =>\r\n new Set(\r\n p.columns\r\n .filter(col => 'size' in col)\r\n .map(col => ('accessorKey' in col ? col.accessorKey : 'id' in col ? col.id : undefined)),\r\n ),\r\n );\r\n\r\n const resolvedEnableRowSelection = () => {\r\n if (p.enableRowSelection !== undefined) return p.enableRowSelection;\r\n return !!selectionOptions();\r\n };\r\n\r\n const enableMultiRowSelection = () => {\r\n const opts = selectionOptions();\r\n if (!opts) return true;\r\n return opts.type !== 'radio';\r\n };\r\n\r\n const hasExpandableRows = () => !!expandedOptions();\r\n\r\n const [internalExpandedKeys, setInternalExpandedKeys] = createSignal<string[]>(\r\n p.defaultExpandedRowKeys ?? [],\r\n );\r\n\r\n let expandAllApplied = false;\r\n\r\n const expandedKeys = (): string[] => {\r\n if (!hasExpandableRows()) return [];\r\n\r\n if (p.expandedRowKeys !== undefined) return p.expandedRowKeys;\r\n\r\n if (p.defaultExpandAllRows && !expandAllApplied) {\r\n expandAllApplied = true;\r\n const allKeys = table.getRowModel().rows.map(row => row.id);\r\n setInternalExpandedKeys(allKeys);\r\n return allKeys;\r\n }\r\n\r\n return internalExpandedKeys();\r\n };\r\n\r\n const isRowExpanded = (rowId: string) => expandedKeys().includes(rowId);\r\n\r\n function toggleRowExpanded(rowId: string, record: TData) {\r\n const currentKeys = expandedKeys();\r\n const isExpanded = currentKeys.includes(rowId);\r\n const newKeys = isExpanded ? currentKeys.filter(k => k !== rowId) : [...currentKeys, rowId];\r\n\r\n if (p.expandedRowKeys === undefined) {\r\n setInternalExpandedKeys(newKeys);\r\n }\r\n\r\n p.onExpand?.(!isExpanded, record);\r\n p.onExpandedRowsChange?.(newKeys);\r\n }\r\n\r\n const [internalData, setInternalData] = createSignal<TData[]>(p.data as TData[]);\r\n\r\n createEffect(\r\n on(\r\n () => p.data,\r\n data => setInternalData(data as TData[]),\r\n { defer: true },\r\n ),\r\n );\r\n\r\n const table = createSolidTable<TData>({\r\n get data() {\r\n return p.getVirtualData ? internalData() : p.data;\r\n },\r\n get columns() {\r\n return finalColumns();\r\n },\r\n getCoreRowModel: getCoreRowModel(),\r\n getSortedRowModel: getSortedRowModel(),\r\n ...(p.enableColumnFilters && { getFilteredRowModel: getFilteredRowModel() }),\r\n\r\n ...(p.paginationProps !== undefined && {\r\n getPaginationRowModel: getPaginationRowModel(),\r\n }),\r\n get enableSorting() {\r\n return p.enableSorting;\r\n },\r\n\r\n isMultiSortEvent: () => true,\r\n get enableColumnFilters() {\r\n return p.enableColumnFilters;\r\n },\r\n get enableRowSelection() {\r\n return resolvedEnableRowSelection();\r\n },\r\n get enableMultiRowSelection() {\r\n return enableMultiRowSelection();\r\n },\r\n ...(p.getRowId && { getRowId: p.getRowId }),\r\n meta: {\r\n _expandApi: {\r\n isRowExpanded,\r\n toggleRowExpanded,\r\n },\r\n },\r\n state: {\r\n get sorting() {\r\n return p.sorting;\r\n },\r\n get columnFilters() {\r\n return p.columnFilters;\r\n },\r\n get globalFilter() {\r\n return p.globalFilter;\r\n },\r\n get rowSelection() {\r\n return p.rowSelection;\r\n },\r\n get columnVisibility() {\r\n return p.columnVisibility;\r\n },\r\n get pagination() {\r\n return p.pagination;\r\n },\r\n ...(p.options?.state || {}),\r\n },\r\n ...(p.onSortingChange && { onSortingChange: p.onSortingChange }),\r\n ...(p.onColumnFiltersChange && { onColumnFiltersChange: p.onColumnFiltersChange }),\r\n ...(p.onGlobalFilterChange && { onGlobalFilterChange: p.onGlobalFilterChange }),\r\n ...(p.onRowSelectionChange && { onRowSelectionChange: p.onRowSelectionChange }),\r\n ...(p.onColumnVisibilityChange && { onColumnVisibilityChange: p.onColumnVisibilityChange }),\r\n ...(p.options &&\r\n (() => {\r\n const { state: _, ...rest } = p.options!;\r\n return rest;\r\n })()),\r\n });\r\n const border = () => normalizeBorder(p.border);\r\n\r\n const isEmpty = () => table.getRowModel().rows.length === 0;\r\n\r\n const hasFixedColumns = () => p.columns.some(col => col.meta?.fixed);\r\n\r\n const scrollX = () => (p.scroll as TableScroll | undefined)?.x;\r\n\r\n const scrollXWrapper = () => {\r\n const x = scrollX();\r\n if (x === undefined) return undefined;\r\n if (x === true || x === 'max-content') return undefined;\r\n return toCssValue(x);\r\n };\r\n\r\n const scrollXTable = () => {\r\n const x = scrollX();\r\n if (x === undefined) return undefined;\r\n if (x === 'max-content') return 'max-content';\r\n\r\n const sxWidths = scrollXColumnWidths();\r\n const cols = table.getAllLeafColumns();\r\n const total = cols.reduce((sum, col) => {\r\n if (col.id === SELECTION_COLUMN_ID || col.id === EXPANDED_COLUMN_ID) {\r\n return sum + col.getSize();\r\n }\r\n if (sxWidths) return sum + (sxWidths[col.id] ?? 100);\r\n return sum + (columnWidths()[col.id] ?? col.getSize());\r\n }, 0);\r\n return `${total}px`;\r\n };\r\n\r\n const scrollY = () => {\r\n const y = p.scroll?.y;\r\n if (y === undefined) return undefined;\r\n return toCssValue(y);\r\n };\r\n\r\n const hasScroll = () => scrollX() !== undefined || p.scroll?.y !== undefined;\r\n const hasScrollX = () => scrollX() !== undefined;\r\n const hasScrollY = () => p.scroll?.y !== undefined;\r\n\r\n const normalizedVirtual = createMemo((): TableVirtualOptions | null => {\r\n const v = p.virtual;\r\n if (!v) return null;\r\n if (v === true) return { itemSize: 40, overscan: 5 };\r\n return { itemSize: v.itemSize ?? 40, overscan: v.overscan ?? 5 };\r\n });\r\n\r\n const isVirtual = () => !!normalizedVirtual();\r\n\r\n let wrapperEl!: HTMLDivElement;\r\n let headerWrapperEl!: HTMLDivElement;\r\n\r\n const rowVirtualizer = createVirtualizer<HTMLDivElement, HTMLTableRowElement>({\r\n get count() {\r\n return isVirtual() ? table.getRowModel().rows.length : 0;\r\n },\r\n getScrollElement: () => (isVirtual() ? wrapperEl : null),\r\n estimateSize: () => normalizedVirtual()?.itemSize ?? 40,\r\n get overscan() {\r\n return normalizedVirtual()?.overscan ?? 5;\r\n },\r\n\r\n measureElement: el => {\r\n let height = el.getBoundingClientRect().height;\r\n const next = el.nextElementSibling;\r\n if (next?.classList.contains('tbe31')) {\r\n height += next.getBoundingClientRect().height;\r\n }\r\n return height;\r\n },\r\n });\r\n\r\n const virtualTopPadding = createMemo(() => {\r\n if (!isVirtual()) return 0;\r\n const items = rowVirtualizer.getVirtualItems();\r\n return items.length > 0 ? (items[0]?.start ?? 0) : 0;\r\n });\r\n\r\n const virtualBottomPadding = createMemo(() => {\r\n if (!isVirtual()) return 0;\r\n const items = rowVirtualizer.getVirtualItems();\r\n const totalSize = rowVirtualizer.getTotalSize();\r\n return items.length > 0 ? totalSize - (items[items.length - 1]?.end ?? 0) : 0;\r\n });\r\n\r\n const [isSortingLoading, setIsSortingLoading] = createSignal(false);\r\n let _sortTimer: ReturnType<typeof setTimeout> | null = null;\r\n\r\n onCleanup(function clearSortTimer() {\r\n if (_sortTimer !== null) clearTimeout(_sortTimer);\r\n });\r\n\r\n function triggerVirtualSort(e: MouseEvent, columnId: string) {\r\n if (isSortingLoading()) return;\r\n const column = table.getColumn(columnId);\r\n if (!column?.getCanSort()) return;\r\n\r\n setIsSortingLoading(true);\r\n const t0 = Date.now();\r\n\r\n setTimeout(() => {\r\n column.getToggleSortingHandler()?.(e);\r\n\r\n const elapsed = Date.now() - t0;\r\n const delay = Math.max(0, 500 - elapsed);\r\n\r\n _sortTimer = setTimeout(() => {\r\n _sortTimer = null;\r\n setIsSortingLoading(false);\r\n\r\n if (wrapperEl) wrapperEl.scrollTop = 0;\r\n }, delay);\r\n }, 0);\r\n }\r\n\r\n let _autoLoadChain = Promise.resolve<void>(undefined);\r\n\r\n const [isFetchingMore, setIsFetchingMore] = createSignal(false);\r\n\r\n function callGetVirtualData() {\r\n if (!p.getVirtualData || isFetchingMore()) return;\r\n setIsFetchingMore(true);\r\n p.getVirtualData()\r\n .then(newRows => {\r\n setInternalData(prev => [...prev, ...newRows]);\r\n })\r\n .finally(() => {\r\n setIsFetchingMore(false);\r\n });\r\n }\r\n\r\n createEffect(function autoFillViewport() {\r\n if (!isVirtual() || p.loadingMore !== 'auto' || isFetchingMore()) return;\r\n\r\n _autoLoadChain = _autoLoadChain.then(\r\n () =>\r\n new Promise<void>(resolve => {\r\n queueMicrotask(() => {\r\n if (\r\n wrapperEl &&\r\n wrapperEl.isConnected &&\r\n p.getVirtualData &&\r\n p.loadingMore === 'auto' &&\r\n !isFetchingMore() &&\r\n wrapperEl.scrollHeight <= wrapperEl.clientHeight\r\n ) {\r\n callGetVirtualData();\r\n }\r\n resolve();\r\n });\r\n }),\r\n );\r\n });\r\n\r\n createEffect(function notifyTableReady() {\r\n p.onTableReady?.(table);\r\n });\r\n\r\n function resolveBodySpan(\r\n cell: import('@tanstack/solid-table').Cell<TData, unknown>,\r\n rowIndex: number,\r\n ): TableCellSpanResult {\r\n const perCol = cell.column.columnDef.meta?.onCell;\r\n if (perCol) return perCol(cell, rowIndex);\r\n return p.onCell?.(cell, rowIndex) ?? {};\r\n }\r\n\r\n let tableEl!: HTMLTableElement;\r\n let bodyTableEl!: HTMLTableElement;\r\n const tbodyId = createUniqueId();\r\n\r\n const [columnWidths, setColumnWidths] = createSignal<Record<string, number>>({});\r\n\r\n const [resizingIndex, setResizingIndex] = createSignal(-1);\r\n\r\n const [handlePositions, setHandlePositions] = createSignal<\r\n { left: number; top: number; height: number; colIndex: number }[]\r\n >([]);\r\n\r\n // When scroll.x is set, resizable is always disabled (types enforce this, but guard at runtime too)\r\n const resizable = createMemo(() => scrollX() === undefined && p.resizable !== false);\r\n\r\n const dataColumnSelector = 'thead tr:first-child th:not(.tbe23):not(.tbe22)';\r\n\r\n function getDataColumns() {\r\n return table\r\n .getAllLeafColumns()\r\n .filter(col => col.id !== EXPANDED_COLUMN_ID && col.id !== SELECTION_COLUMN_ID);\r\n }\r\n\r\n /** Effective minimum width: the smaller of the column's declared size and the meta minWidth (default 100). */\r\n function colMinWidth(col: {\r\n getSize(): number;\r\n columnDef: { meta?: { minWidth?: number } };\r\n }): number {\r\n return Math.min(col.getSize(), col.columnDef.meta?.minWidth ?? 100);\r\n }\r\n\r\n function snapshotColumnWidths(): Record<string, number> {\r\n const ths = tableEl.querySelectorAll<HTMLTableCellElement>(dataColumnSelector);\r\n const cols = getDataColumns();\r\n const widths: Record<string, number> = {};\r\n cols.forEach((col, i) => {\r\n if (ths[i]) {\r\n // Use getBoundingClientRect for sub-pixel precision — offsetWidth is an integer\r\n // and accumulated rounding can make the sum exceed the table width by 1-2px,\r\n // which triggers a spurious horizontal scrollbar when col widths are made explicit.\r\n widths[col.id] = ths[i].getBoundingClientRect().width;\r\n }\r\n });\r\n // Safety: trim any remaining excess (e.g. from non-data columns or float imprecision)\r\n // so the colgroup widths never exceed the table's own rendered width.\r\n const allThsTotal = Array.from(\r\n tableEl.querySelectorAll<HTMLTableCellElement>('thead tr:first-child th'),\r\n ).reduce((sum, th) => sum + th.getBoundingClientRect().width, 0);\r\n const excess = allThsTotal - tableEl.getBoundingClientRect().width;\r\n if (excess > 0 && cols.length > 0) {\r\n const lastColId = cols[cols.length - 1].id;\r\n if (widths[lastColId] !== undefined) {\r\n widths[lastColId] = Math.max(\r\n colMinWidth(cols[cols.length - 1]),\r\n widths[lastColId] - excess,\r\n );\r\n }\r\n }\r\n return widths;\r\n }\r\n\r\n function updateHandlePositions() {\r\n if (!tableEl) return;\r\n const ths = tableEl.querySelectorAll<HTMLTableCellElement>(dataColumnSelector);\r\n const cols = getDataColumns();\r\n\r\n let handleTop: number;\r\n let handleHeight: number;\r\n if (hasScrollY()) {\r\n const hdrRect = headerWrapperEl?.getBoundingClientRect();\r\n const bodyRect = wrapperEl?.getBoundingClientRect();\r\n handleTop = hdrRect?.top ?? 0;\r\n handleHeight = (hdrRect?.height ?? 0) + (bodyRect?.height ?? 0);\r\n } else {\r\n const tableRect = tableEl.getBoundingClientRect();\r\n handleTop = tableRect.top;\r\n handleHeight = tableRect.height;\r\n }\r\n\r\n const positions: { left: number; top: number; height: number; colIndex: number }[] = [];\r\n\r\n for (let i = 0; i < ths.length; i++) {\r\n const col = cols[i];\r\n if (!col || col.columnDef.enableResizing === false) continue;\r\n const thRect = ths[i].getBoundingClientRect();\r\n positions.push({\r\n left: thRect.right,\r\n top: handleTop,\r\n height: handleHeight,\r\n colIndex: i,\r\n });\r\n }\r\n\r\n setHandlePositions(positions);\r\n }\r\n\r\n function handleResizeStart(colIndex: number, e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const cols = getDataColumns();\r\n const lastColIndex = cols.length - 1;\r\n const isLastCol = colIndex === lastColIndex;\r\n const colId = cols[colIndex].id;\r\n const lastColId = cols[lastColIndex].id;\r\n\r\n const startWidths = snapshotColumnWidths();\r\n setColumnWidths(startWidths);\r\n\r\n const startX = e.clientX;\r\n const startWidth = startWidths[colId] || 0;\r\n const minWidth = colMinWidth(cols[colIndex]);\r\n\r\n setResizingIndex(colIndex);\r\n\r\n let onMouseMove: (ev: MouseEvent) => void;\r\n\r\n if (isLastCol) {\r\n // Resizing the last column: distribute remaining width equally among all other columns.\r\n const totalWidth = Object.values(startWidths).reduce((a, b) => a + b, 0);\r\n const otherCols = cols.slice(0, lastColIndex);\r\n const otherMinTotal = otherCols.reduce((sum, col) => sum + colMinWidth(col), 0);\r\n\r\n onMouseMove = (ev: MouseEvent) => {\r\n const rawDelta = ev.clientX - startX;\r\n // Last col can't go below its minWidth; others can't go below their minWidths combined\r\n const newLastWidth = Math.max(\r\n minWidth,\r\n Math.min(totalWidth - otherMinTotal, startWidth + rawDelta),\r\n );\r\n const remainingWidth = totalWidth - newLastWidth;\r\n const perColWidth =\r\n otherCols.length > 0 ? remainingWidth / otherCols.length : remainingWidth;\r\n\r\n const newWidths: Record<string, number> = {};\r\n otherCols.forEach(col => {\r\n newWidths[col.id] = Math.max(colMinWidth(col), perColWidth);\r\n });\r\n newWidths[lastColId] = newLastWidth;\r\n setColumnWidths(newWidths);\r\n queueMicrotask(() => updateHandlePositions());\r\n };\r\n } else {\r\n // Resizing a non-last column: column N grows/shrinks and the ADJACENT right\r\n // column (N+1) absorbs the opposite delta. Total table width stays constant.\r\n const nextColIndex = colIndex + 1;\r\n const nextColId = cols[nextColIndex].id;\r\n const nextColStartWidth = startWidths[nextColId] || 0;\r\n const nextColMinWidth = colMinWidth(cols[nextColIndex]);\r\n\r\n onMouseMove = (ev: MouseEvent) => {\r\n const rawDelta = ev.clientX - startX;\r\n // Floor: dragged column can't go below its minWidth\r\n const minDelta = minWidth - startWidth;\r\n // Ceiling: next column can't go below its minWidth\r\n const maxDelta = nextColStartWidth - nextColMinWidth;\r\n const clampedDelta = Math.max(minDelta, Math.min(maxDelta, rawDelta));\r\n\r\n setColumnWidths(prev => ({\r\n ...prev,\r\n [colId]: startWidth + clampedDelta,\r\n [nextColId]: nextColStartWidth - clampedDelta,\r\n }));\r\n queueMicrotask(() => updateHandlePositions());\r\n };\r\n }\r\n\r\n const onMouseUp = () => {\r\n setResizingIndex(-1);\r\n document.removeEventListener('mousemove', onMouseMove);\r\n document.removeEventListener('mouseup', onMouseUp);\r\n document.documentElement.classList.remove('tbe-resizing');\r\n };\r\n\r\n document.addEventListener('mousemove', onMouseMove);\r\n document.addEventListener('mouseup', onMouseUp);\r\n document.documentElement.classList.add('tbe-resizing');\r\n }\r\n\r\n function handleResizeDblClick(colIndex: number, e: MouseEvent) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const cols = getDataColumns();\r\n const currentWidths =\r\n Object.keys(columnWidths()).length > 0 ? columnWidths() : snapshotColumnWidths();\r\n const lastColIndex = cols.length - 1;\r\n\r\n if (colIndex === lastColIndex) {\r\n // Divider sau last col: chia đều tất cả các cột\r\n const total = cols.reduce((sum, col) => sum + (currentWidths[col.id] ?? col.getSize()), 0);\r\n const equalWidth = total / cols.length;\r\n const newWidths: Record<string, number> = {};\r\n cols.forEach(col => {\r\n newWidths[col.id] = Math.max(colMinWidth(col), equalWidth);\r\n });\r\n setColumnWidths(newWidths);\r\n } else {\r\n // Divider giữa cột colIndex và colIndex+1: chia đều tổng width 2 cột\r\n const colId = cols[colIndex].id;\r\n const nextColId = cols[colIndex + 1].id;\r\n const w1 = currentWidths[colId] ?? cols[colIndex].getSize();\r\n const w2 = currentWidths[nextColId] ?? cols[colIndex + 1].getSize();\r\n const half = (w1 + w2) / 2;\r\n const newW1 = Math.max(colMinWidth(cols[colIndex]), half);\r\n const newW2 = Math.max(colMinWidth(cols[colIndex + 1]), w1 + w2 - newW1);\r\n setColumnWidths(prev => ({\r\n ...currentWidths,\r\n ...prev,\r\n [colId]: newW1,\r\n [nextColId]: newW2,\r\n }));\r\n }\r\n\r\n queueMicrotask(() => updateHandlePositions());\r\n }\r\n\r\n const hasResizeWidths = () => Object.keys(columnWidths()).length > 0;\r\n\r\n /**\r\n * When resizing is active, override the table's `w-full` with an exact pixel width\r\n * equal to the sum of all column widths. This prevents the browser from proportionally\r\n * scaling columns to fill the container when the total is less than the container width,\r\n * and allows the table to grow beyond the container (triggering scroll) when columns expand.\r\n */\r\n const resizeTableWidth = createMemo<string | null>(() => {\r\n if (!hasResizeWidths()) return null;\r\n const widths = columnWidths();\r\n const total = table\r\n .getAllLeafColumns()\r\n .reduce((sum, col) => sum + (widths[col.id] ?? col.getSize()), 0);\r\n return `${total}px`;\r\n });\r\n\r\n /**\r\n * When scroll-x is active (resizable is off), compute explicit widths for every data column:\r\n * - Columns with a declared `size` keep that size.\r\n * - Remaining columns share the leftover space equally (min 100px each).\r\n * Returns null when scroll-x is not active.\r\n */\r\n const scrollXColumnWidths = createMemo<Record<string, number> | null>(() => {\r\n if (!hasScrollX()) return null;\r\n const cols = getDataColumns();\r\n const x = scrollX()!;\r\n const declaredCols = cols.filter(col => colsWithExplicitSize().has(col.id));\r\n const undeclaredCols = cols.filter(col => !colsWithExplicitSize().has(col.id));\r\n const declaredTotal = declaredCols.reduce((sum, col) => sum + col.getSize(), 0);\r\n const numUndeclared = undeclaredCols.length;\r\n let undeclaredWidth: number;\r\n if (typeof x === 'number') {\r\n const remaining = x - declaredTotal;\r\n undeclaredWidth = numUndeclared > 0 ? Math.max(100, remaining / numUndeclared) : 100;\r\n } else {\r\n undeclaredWidth = 100;\r\n }\r\n const widths: Record<string, number> = {};\r\n cols.forEach(col => {\r\n widths[col.id] = colsWithExplicitSize().has(col.id) ? col.getSize() : undeclaredWidth;\r\n });\r\n return widths;\r\n });\r\n\r\n const useFixedLayout = () => colsWithExplicitSize().size > 0 || hasResizeWidths() || hasScrollX();\r\n\r\n const [measuredWidths, setMeasuredWidths] = createSignal<Record<string, number>>({});\r\n\r\n function measureColumnWidths() {\r\n if (!tableEl) return;\r\n const ths = tableEl.querySelectorAll<HTMLTableCellElement>(dataColumnSelector);\r\n const cols = getDataColumns();\r\n const widths: Record<string, number> = {};\r\n cols.forEach((col, i) => {\r\n if (ths[i]) {\r\n widths[col.id] = ths[i].offsetWidth;\r\n }\r\n });\r\n setMeasuredWidths(widths);\r\n }\r\n\r\n const fixedColumnInfo = createMemo(() => {\r\n const widths = measuredWidths();\r\n if (Object.keys(widths).length === 0) return new Map<string, FixedInfo>();\r\n\r\n const cols = table.getAllLeafColumns();\r\n const colData = cols.map(col => ({\r\n id: col.id,\r\n fixed: col.columnDef.meta?.fixed,\r\n width: widths[col.id] || 0,\r\n }));\r\n\r\n return computeFixedColumnInfo(colData);\r\n });\r\n\r\n function getFixedCellStyle(colId: string): Record<string, string> | undefined {\r\n const info = fixedColumnInfo().get(colId);\r\n if (!info) return undefined;\r\n\r\n if (info.fixed === 'start') {\r\n return { left: `${info.offset}px` };\r\n }\r\n if (info.fixed === 'end') {\r\n return { right: `${info.offset}px` };\r\n }\r\n return undefined;\r\n }\r\n\r\n function getFixedCellClass(colId: string): string {\r\n const info = fixedColumnInfo().get(colId);\r\n if (!info) return '';\r\n\r\n return cn('tbe33', info.isLastStart && 'tbe34', info.isFirstEnd && 'tbe35');\r\n }\r\n\r\n const AlignHeaderClass = {\r\n start: 'justify-start',\r\n center: 'justify-center',\r\n end: 'justify-end',\r\n } as const;\r\n\r\n const AlignCellClass = {\r\n start: 'align-start',\r\n center: 'align-center',\r\n end: 'align-end',\r\n } as const;\r\n\r\n const AlignTdStyle = {\r\n start: 'text-left',\r\n center: 'text-center',\r\n end: 'text-right',\r\n } as const;\r\n\r\n function getColAlign(colId: string) {\r\n const col = table.getColumn(colId);\r\n return (col?.columnDef.meta?.align ?? 'start') as 'start' | 'center' | 'end';\r\n }\r\n\r\n function hasCellTooltip(colId: string): boolean {\r\n return !!table.getColumn(colId)?.columnDef.meta?.tooltip;\r\n }\r\n\r\n function wrapCellContent(colId: string, cellValue: unknown, content: JSX.Element): JSX.Element {\r\n const col = table.getColumn(colId);\r\n const tooltipOpts = col?.columnDef.meta?.tooltip;\r\n if (!tooltipOpts) return content;\r\n const rawContent = tooltipOpts.content;\r\n const resolvedContent = typeof rawContent === 'function' ? rawContent(cellValue) : rawContent;\r\n const tooltipProps = {\r\n ...tooltipOpts,\r\n ...(resolvedContent !== undefined && { content: resolvedContent }),\r\n containerId: tbodyId,\r\n position: tooltipOpts.position ?? ('top' as const),\r\n class: { root: 'tbe-tt-cell' },\r\n };\r\n return (\r\n <Tooltip type=\"portal\" {...(tooltipProps as any)}>\r\n {content}\r\n </Tooltip>\r\n );\r\n }\r\n\r\n function handleTableClick(e: MouseEvent) {\r\n const target = e.target as HTMLElement;\r\n\r\n const isOwnElement = (el: HTMLElement) => {\r\n const t = el.closest('table');\r\n return t === tableEl || t === bodyTableEl;\r\n };\r\n\r\n const th = target.closest('th[data-column-id]') as HTMLElement | null;\r\n if (th && isOwnElement(th)) {\r\n const columnId = th.dataset.columnId;\r\n if (columnId) {\r\n if (isVirtual() && p.enableSorting) {\r\n triggerVirtualSort(e, columnId);\r\n } else {\r\n const column = table.getColumn(columnId);\r\n if (column?.getCanSort()) {\r\n column.getToggleSortingHandler()?.(e);\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const selectionTd = target.closest('td.tbe22') as HTMLElement | null;\r\n if (selectionTd && isOwnElement(selectionTd)) {\r\n const tr = selectionTd.closest('tr[data-row-id]') as HTMLElement | null;\r\n if (tr) {\r\n const rowId = tr.dataset.rowId;\r\n if (rowId !== undefined) {\r\n const row = table.getRow(rowId);\r\n if (row?.getCanSelect()) {\r\n row.toggleSelected();\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const expandTd = target.closest('td.tbe23') as HTMLElement | null;\r\n if (expandTd && isOwnElement(expandTd)) {\r\n const tr = expandTd.closest('tr[data-row-id]') as HTMLElement | null;\r\n if (tr) {\r\n const rowId = tr.dataset.rowId;\r\n if (rowId !== undefined) {\r\n const row = table.getRow(rowId);\r\n if (row) {\r\n const opts = expandedOptions();\r\n const expandable = opts?.rowExpandable\r\n ? opts.rowExpandable(row.original, row.index)\r\n : true;\r\n if (expandable) {\r\n toggleRowExpanded(row.id, row.original);\r\n }\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n\r\n const tr = target.closest('tr[data-row-id]') as HTMLElement | null;\r\n if (tr && isOwnElement(tr) && p.onRowClick) {\r\n const rowId = tr.dataset.rowId;\r\n if (rowId !== undefined) {\r\n const row = table.getRow(rowId);\r\n if (row) {\r\n p.onRowClick(row, e);\r\n }\r\n }\r\n }\r\n }\r\n\r\n onMount(() => {\r\n if (resizable()) {\r\n updateHandlePositions();\r\n\r\n window.addEventListener('scroll', updateHandlePositions, { passive: true, capture: true });\r\n onCleanup(function removeWindowScrollListener() {\r\n window.removeEventListener('scroll', updateHandlePositions, { capture: true });\r\n });\r\n }\r\n if (hasFixedColumns()) {\r\n measureColumnWidths();\r\n }\r\n\r\n if (resizable() || hasFixedColumns()) {\r\n const observer = new ResizeObserver(() => {\r\n if (resizable()) updateHandlePositions();\r\n if (hasFixedColumns()) measureColumnWidths();\r\n });\r\n observer.observe(tableEl);\r\n onCleanup(function disconnectResizeObserver() {\r\n observer.disconnect();\r\n });\r\n }\r\n\r\n if (isVirtual()) {\r\n const handleScroll = () => {\r\n if (!p.getVirtualData || p.loadingMore !== 'auto') return;\r\n const opts = normalizedVirtual();\r\n const threshold = (opts?.itemSize ?? 40) * (opts?.overscan ?? 5);\r\n if (wrapperEl.scrollTop + wrapperEl.clientHeight >= wrapperEl.scrollHeight - threshold) {\r\n callGetVirtualData();\r\n }\r\n };\r\n wrapperEl.addEventListener('scroll', handleScroll, { passive: true });\r\n onCleanup(function removeScrollListener() {\r\n wrapperEl.removeEventListener('scroll', handleScroll);\r\n });\r\n }\r\n\r\n if (hasScrollY()) {\r\n const syncHeaderScroll = () => {\r\n if (headerWrapperEl) headerWrapperEl.scrollLeft = wrapperEl.scrollLeft;\r\n if (resizable()) updateHandlePositions();\r\n };\r\n wrapperEl.addEventListener('scroll', syncHeaderScroll, { passive: true });\r\n onCleanup(() => wrapperEl.removeEventListener('scroll', syncHeaderScroll));\r\n }\r\n });\r\n\r\n return (\r\n <div class={cn('tbe09', p.paginationProps !== undefined && 'tbe10')}>\r\n <Show\r\n when={\r\n p.paginationProps !== undefined && !p.virtual && p.paginationProps?.position === 'start'\r\n }\r\n >\r\n <Pagination\r\n {...p.paginationProps}\r\n onChange={(page, size) => {\r\n table.setPageIndex(page - 1);\r\n if (size !== table.getState().pagination.pageSize) {\r\n table.setPageSize(size);\r\n }\r\n p.paginationProps?.onChange?.(page, size);\r\n }}\r\n />\r\n </Show>\r\n <div\r\n class={cn(\r\n 'tbe11',\r\n border()?.outer && 'tbe42',\r\n resizable() && 'tbe36',\r\n resizingIndex() >= 0 && 'tbe39',\r\n (hasFixedColumns() || hasScrollY()) && 'tbe13',\r\n getColor(p.color),\r\n p.rounded,\r\n p.rounded && 'overflow-hidden',\r\n p.class?.root,\r\n )}\r\n style={{\r\n ...(scrollXWrapper() ? { 'max-width': scrollXWrapper() } : {}),\r\n ...(hasScrollX() && p.rounded ? { 'overflow-x': 'clip' } : {}),\r\n }}\r\n >\r\n <Show when={p.headerPanel}>\r\n <div class={cn('tbe40', border()?.outer && 'tbe41', p.class?.headerPanel)}>\r\n {p.headerPanel?.()}\r\n </div>\r\n </Show>\r\n <Show when={hasScrollY() && p.showHeader}>\r\n <div ref={el => (headerWrapperEl = el)} class={cn('tbe12', 'tbe14-hdr')}>\r\n <table\r\n ref={tableEl}\r\n class={cn(\r\n 'tbe01',\r\n getTableClass(p),\r\n border()?.horizontal && 'tbe43',\r\n border()?.vertical && 'tbe44',\r\n useFixedLayout() && 'table-fixed',\r\n p.class?.table,\r\n )}\r\n style={{\r\n ...(resizeTableWidth()\r\n ? { width: resizeTableWidth()!, 'min-width': resizeTableWidth()! }\r\n : scrollXTable()\r\n ? { 'min-width': scrollXTable()! }\r\n : {}),\r\n }}\r\n onClick={handleTableClick}\r\n >\r\n <Show when={useFixedLayout()}>\r\n <colgroup>\r\n <For each={table.getAllLeafColumns()}>\r\n {col => {\r\n const isNonResizable = () =>\r\n col.id === EXPANDED_COLUMN_ID || col.id === SELECTION_COLUMN_ID;\r\n return (\r\n <col\r\n style={{\r\n ...(isNonResizable()\r\n ? { width: `${col.getSize()}px` }\r\n : hasResizeWidths()\r\n ? { width: `${columnWidths()[col.id] || col.getSize()}px` }\r\n : scrollXColumnWidths()\r\n ? { width: `${scrollXColumnWidths()![col.id] ?? 100}px` }\r\n : colsWithExplicitSize().has(col.id)\r\n ? { width: `${col.getSize()}px` }\r\n : {}),\r\n }}\r\n />\r\n );\r\n }}\r\n </For>\r\n </colgroup>\r\n </Show>\r\n <thead\r\n class={cn(\r\n p.class?.thead,\r\n isSortingLoading() ? 'pointer-events-none cursor-wait' : '',\r\n )}\r\n >\r\n <For each={table.getHeaderGroups()}>\r\n {(headerGroup, groupIndex) => {\r\n const totalRows = table.getHeaderGroups().length;\r\n\r\n const earlyRenderedCols = new Set(\r\n table\r\n .getHeaderGroups()\r\n .slice(0, groupIndex())\r\n .flatMap(g =>\r\n g.headers\r\n .filter(h => h.isPlaceholder && h.column.getLeafColumns().length === 1)\r\n .map(h => h.column.id),\r\n ),\r\n );\r\n return (\r\n <tr class={cn(p.class?.tr, p.class?.headerRow)}>\r\n <For each={headerGroup.headers}>\r\n {header => {\r\n if (earlyRenderedCols.has(header.column.id)) return null;\r\n\r\n const isEarlyLeaf =\r\n header.isPlaceholder && header.column.getLeafColumns().length === 1;\r\n const rowSpanVal = isEarlyLeaf ? totalRows - groupIndex() : 1;\r\n\r\n if (header.isPlaceholder && !isEarlyLeaf) return null;\r\n const headerSpan =\r\n header.column.columnDef.meta?.onHeaderCell?.(header) ?? {};\r\n if (headerSpan.colSpan === 0) return null;\r\n const finalColSpan = headerSpan.colSpan ?? header.colSpan;\r\n const finalRowSpan =\r\n headerSpan.rowSpan ?? (rowSpanVal > 1 ? rowSpanVal : undefined);\r\n return (\r\n <th\r\n class={cn(\r\n p.class?.th,\r\n header.column.getCanSort() && 'tbe18',\r\n header.column.id === SELECTION_COLUMN_ID && 'tbe22',\r\n header.column.id === EXPANDED_COLUMN_ID && 'tbe23',\r\n getFixedCellClass(header.column.id),\r\n )}\r\n colSpan={finalColSpan}\r\n rowSpan={finalRowSpan}\r\n data-column-id={header.column.id}\r\n style={getFixedCellStyle(header.column.id)}\r\n >\r\n <div\r\n class={cn(\r\n 'tbe15',\r\n (colsWithExplicitSize().has(header.column.id) ||\r\n hasResizeWidths()) &&\r\n header.column.id !== SELECTION_COLUMN_ID &&\r\n header.column.id !== EXPANDED_COLUMN_ID &&\r\n 'tbe16',\r\n header.column.id !== SELECTION_COLUMN_ID &&\r\n header.column.id !== EXPANDED_COLUMN_ID &&\r\n AlignHeaderClass[getColAlign(header.column.id)],\r\n )}\r\n >\r\n <span class=\"tbe17\">\r\n {flexRender(\r\n header.column.columnDef.header,\r\n header.getContext(),\r\n )}\r\n </span>\r\n <Show when={header.column.getCanSort()}>\r\n <span class=\"tbe19\">\r\n <Switch\r\n fallback={\r\n <ChevronsUpDown\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n }\r\n >\r\n <Match when={header.column.getIsSorted() === 'asc'}>\r\n <ChevronUp\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n </Match>\r\n <Match when={header.column.getIsSorted() === 'desc'}>\r\n <ChevronDown\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n </Match>\r\n </Switch>\r\n <Show\r\n when={\r\n header.column.getIsSorted() !== false &&\r\n (header.column.getSortIndex() ?? -1) >= 0 &&\r\n table.getState().sorting.length > 1\r\n }\r\n >\r\n <span class=\"tbe20\">\r\n {(header.column.getSortIndex() ?? 0) + 1}\r\n </span>\r\n </Show>\r\n </span>\r\n </Show>\r\n </div>\r\n </th>\r\n );\r\n }}\r\n </For>\r\n </tr>\r\n );\r\n }}\r\n </For>\r\n </thead>\r\n </table>\r\n </div>\r\n </Show>\r\n <div\r\n ref={el => (wrapperEl = el)}\r\n class={cn('tbe12', hasScroll() && 'tbe14')}\r\n style={{\r\n ...(scrollY() ? { 'max-height': scrollY() } : {}),\r\n }}\r\n >\r\n <table\r\n ref={el => {\r\n bodyTableEl = el;\r\n if (!hasScrollY()) tableEl = el;\r\n }}\r\n class={cn(\r\n 'tbe01',\r\n getTableClass(p),\r\n border()?.horizontal && 'tbe43',\r\n border()?.vertical && 'tbe44',\r\n useFixedLayout() && 'table-fixed',\r\n p.class?.table,\r\n )}\r\n style={{\r\n ...(resizeTableWidth()\r\n ? { width: resizeTableWidth()!, 'min-width': resizeTableWidth()! }\r\n : scrollXTable()\r\n ? { 'min-width': scrollXTable()! }\r\n : {}),\r\n }}\r\n onClick={handleTableClick}\r\n >\r\n <Show when={useFixedLayout()}>\r\n <colgroup>\r\n <For each={table.getAllLeafColumns()}>\r\n {col => {\r\n const isNonResizable = () =>\r\n col.id === EXPANDED_COLUMN_ID || col.id === SELECTION_COLUMN_ID;\r\n return (\r\n <col\r\n style={{\r\n ...(isNonResizable()\r\n ? { width: `${col.getSize()}px` }\r\n : hasResizeWidths()\r\n ? { width: `${columnWidths()[col.id] || col.getSize()}px` }\r\n : scrollXColumnWidths()\r\n ? { width: `${scrollXColumnWidths()![col.id] ?? 100}px` }\r\n : colsWithExplicitSize().has(col.id)\r\n ? { width: `${col.getSize()}px` }\r\n : {}),\r\n }}\r\n />\r\n );\r\n }}\r\n </For>\r\n </colgroup>\r\n </Show>\r\n\r\n <Show when={!hasScrollY() && p.showHeader}>\r\n <thead\r\n class={cn(\r\n p.class?.thead,\r\n isSortingLoading() ? 'pointer-events-none cursor-wait' : '',\r\n )}\r\n >\r\n <For each={table.getHeaderGroups()}>\r\n {(headerGroup, groupIndex) => {\r\n const totalRows = table.getHeaderGroups().length;\r\n const earlyRenderedCols = new Set(\r\n table\r\n .getHeaderGroups()\r\n .slice(0, groupIndex())\r\n .flatMap(g =>\r\n g.headers\r\n .filter(h => h.isPlaceholder && h.column.getLeafColumns().length === 1)\r\n .map(h => h.column.id),\r\n ),\r\n );\r\n return (\r\n <tr class={cn(p.class?.tr, p.class?.headerRow)}>\r\n <For each={headerGroup.headers}>\r\n {header => {\r\n if (earlyRenderedCols.has(header.column.id)) return null;\r\n const isEarlyLeaf =\r\n header.isPlaceholder && header.column.getLeafColumns().length === 1;\r\n const rowSpanVal = isEarlyLeaf ? totalRows - groupIndex() : 1;\r\n if (header.isPlaceholder && !isEarlyLeaf) return null;\r\n const headerSpan =\r\n header.column.columnDef.meta?.onHeaderCell?.(header) ?? {};\r\n if (headerSpan.colSpan === 0) return null;\r\n const finalColSpan = headerSpan.colSpan ?? header.colSpan;\r\n const finalRowSpan =\r\n headerSpan.rowSpan ?? (rowSpanVal > 1 ? rowSpanVal : undefined);\r\n return (\r\n <th\r\n class={cn(\r\n p.class?.th,\r\n header.column.getCanSort() && 'tbe18',\r\n header.column.id === SELECTION_COLUMN_ID && 'tbe22',\r\n header.column.id === EXPANDED_COLUMN_ID && 'tbe23',\r\n getFixedCellClass(header.column.id),\r\n )}\r\n colSpan={finalColSpan}\r\n rowSpan={finalRowSpan}\r\n data-column-id={header.column.id}\r\n style={getFixedCellStyle(header.column.id)}\r\n >\r\n <div\r\n class={cn(\r\n 'tbe15',\r\n (colsWithExplicitSize().has(header.column.id) ||\r\n hasResizeWidths()) &&\r\n header.column.id !== SELECTION_COLUMN_ID &&\r\n header.column.id !== EXPANDED_COLUMN_ID &&\r\n 'tbe16',\r\n header.column.id !== SELECTION_COLUMN_ID &&\r\n header.column.id !== EXPANDED_COLUMN_ID &&\r\n AlignHeaderClass[getColAlign(header.column.id)],\r\n )}\r\n >\r\n <span class=\"tbe17\">\r\n {flexRender(\r\n header.column.columnDef.header,\r\n header.getContext(),\r\n )}\r\n </span>\r\n <Show when={header.column.getCanSort()}>\r\n <span class=\"tbe19\">\r\n <Switch\r\n fallback={\r\n <ChevronsUpDown\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n }\r\n >\r\n <Match when={header.column.getIsSorted() === 'asc'}>\r\n <ChevronUp\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n </Match>\r\n <Match when={header.column.getIsSorted() === 'desc'}>\r\n <ChevronDown\r\n size={14}\r\n stroke-width={3}\r\n color=\"var(--color)\"\r\n />\r\n </Match>\r\n </Switch>\r\n\r\n <Show\r\n when={\r\n header.column.getIsSorted() !== false &&\r\n (header.column.getSortIndex() ?? -1) >= 0 &&\r\n table.getState().sorting.length > 1\r\n }\r\n >\r\n <span class=\"tbe20\">\r\n {(header.column.getSortIndex() ?? 0) + 1}\r\n </span>\r\n </Show>\r\n </span>\r\n </Show>\r\n </div>\r\n </th>\r\n );\r\n }}\r\n </For>\r\n </tr>\r\n );\r\n }}\r\n </For>\r\n </thead>\r\n </Show>\r\n\r\n <Show\r\n when={isVirtual() && !isEmpty()}\r\n fallback={\r\n <tbody id={tbodyId} class={cn(p.class?.tbody)}>\r\n <Show\r\n when={!isEmpty()}\r\n fallback={\r\n <tr>\r\n <td\r\n colSpan={table.getAllColumns().length}\r\n class={cn('tbe45', p.class?.empty)}\r\n >\r\n {p.emptyContent ?? 'No data'}\r\n </td>\r\n </tr>\r\n }\r\n >\r\n <For each={table.getRowModel().rows}>\r\n {(row, rowIndex) => {\r\n const expanded = () => isRowExpanded(row.id);\r\n const opts = expandedOptions();\r\n\r\n return (\r\n <>\r\n <tr\r\n class={cn(\r\n p.class?.tr,\r\n p.class?.bodyRow,\r\n row.getIsSelected() && 'tbe27',\r\n expanded() && 'tbe28',\r\n rowIndex() % 2 === 0 ? 'tbe29' : 'tbe30',\r\n )}\r\n data-row-id={row.id}\r\n >\r\n <For each={row.getVisibleCells()}>\r\n {cell => {\r\n const isSpecial =\r\n cell.column.id === SELECTION_COLUMN_ID ||\r\n cell.column.id === EXPANDED_COLUMN_ID;\r\n const align = isSpecial ? 'start' : getColAlign(cell.column.id);\r\n const hasTooltip = !isSpecial && hasCellTooltip(cell.column.id);\r\n const span: TableCellSpanResult = resolveBodySpan(\r\n cell,\r\n rowIndex(),\r\n );\r\n if (span.colSpan === 0 || span.rowSpan === 0) return null;\r\n return (\r\n <td\r\n class={cn(\r\n p.class?.td,\r\n cell.column.id === SELECTION_COLUMN_ID && 'tbe22',\r\n cell.column.id === EXPANDED_COLUMN_ID && 'tbe23',\r\n getFixedCellClass(cell.column.id),\r\n hasTooltip && 'relative',\r\n !isSpecial && AlignTdStyle[align],\r\n )}\r\n style={{\r\n ...getFixedCellStyle(cell.column.id),\r\n }}\r\n colSpan={span.colSpan}\r\n rowSpan={span.rowSpan}\r\n >\r\n <Show\r\n when={\r\n (colsWithExplicitSize().has(cell.column.id) ||\r\n hasResizeWidths()) &&\r\n !isSpecial\r\n }\r\n fallback={wrapCellContent(\r\n cell.column.id,\r\n cell.getValue(),\r\n flexRender(cell.column.columnDef.cell, cell.getContext()),\r\n )}\r\n >\r\n <div class={cn('tbe21', AlignCellClass[align])}>\r\n {wrapCellContent(\r\n cell.column.id,\r\n cell.getValue(),\r\n flexRender(\r\n cell.column.columnDef.cell,\r\n cell.getContext(),\r\n ),\r\n )}\r\n </div>\r\n </Show>\r\n </td>\r\n );\r\n }}\r\n </For>\r\n </tr>\r\n <Show when={hasExpandableRows() && expanded()}>\r\n <tr class=\"tbe31\">\r\n <td colSpan={row.getVisibleCells().length} class=\"tbe32\">\r\n {opts!.expandedRowRender(row.original, rowIndex(), 0, true)}\r\n </td>\r\n </tr>\r\n </Show>\r\n </>\r\n );\r\n }}\r\n </For>\r\n </Show>\r\n </tbody>\r\n }\r\n >\r\n <Show\r\n when={!isSortingLoading()}\r\n fallback={\r\n <tbody>\r\n <tr>\r\n <td\r\n colSpan={table.getAllColumns().length}\r\n class=\"border-none p-0\"\r\n style={{\r\n height: scrollY() ?? '200px',\r\n }}\r\n >\r\n <div class=\"flex h-full items-center justify-center gap-2 opacity-60\">\r\n <span class=\"text-base\">Sorting</span>\r\n <span class=\"loading loading-dots loading-sm text-base-content\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n }\r\n >\r\n <tbody id={tbodyId} class={p.class?.tbody}>\r\n <Show when={virtualTopPadding() > 0}>\r\n <tr>\r\n <td\r\n colSpan={table.getAllColumns().length}\r\n class=\"border-none p-0\"\r\n style={{ height: `${virtualTopPadding()}px` }}\r\n />\r\n </tr>\r\n </Show>\r\n\r\n <For each={rowVirtualizer.getVirtualItems()}>\r\n {virtualRow => {\r\n const rows = table.getRowModel().rows;\r\n const row = rows[virtualRow.index];\r\n const rowIndex = virtualRow.index;\r\n if (!row) return null;\r\n\r\n const expanded = () => isRowExpanded(row.id);\r\n const opts = expandedOptions();\r\n\r\n let trEl: HTMLTableRowElement | undefined;\r\n\r\n createEffect(\r\n on(\r\n expanded,\r\n () => {\r\n queueMicrotask(() => {\r\n if (trEl?.isConnected && trEl.hasAttribute('data-index'))\r\n rowVirtualizer.measureElement(trEl);\r\n });\r\n },\r\n { defer: true },\r\n ),\r\n );\r\n\r\n return (\r\n <>\r\n <tr\r\n ref={el => {\r\n trEl = el;\r\n if (el)\r\n queueMicrotask(() => {\r\n if (el.isConnected) rowVirtualizer.measureElement(el);\r\n });\r\n }}\r\n data-index={virtualRow.index}\r\n class={cn(\r\n p.class?.tr,\r\n p.class?.bodyRow,\r\n row.getIsSelected() && 'tbe27',\r\n expanded() && 'tbe28',\r\n rowIndex % 2 === 0 ? 'tbe29' : 'tbe30',\r\n )}\r\n data-row-id={row.id}\r\n >\r\n <For each={row.getVisibleCells()}>\r\n {cell => {\r\n const isSpecial =\r\n cell.column.id === SELECTION_COLUMN_ID ||\r\n cell.column.id === EXPANDED_COLUMN_ID;\r\n const align = isSpecial ? 'start' : getColAlign(cell.column.id);\r\n const hasTooltip = !isSpecial && hasCellTooltip(cell.column.id);\r\n return (\r\n <td\r\n class={cn(\r\n p.class?.td,\r\n cell.column.id === SELECTION_COLUMN_ID && 'tbe22',\r\n cell.column.id === EXPANDED_COLUMN_ID && 'tbe23',\r\n getFixedCellClass(cell.column.id),\r\n hasTooltip && 'relative p-0',\r\n !isSpecial && AlignTdStyle[align],\r\n )}\r\n style={{\r\n ...getFixedCellStyle(cell.column.id),\r\n }}\r\n >\r\n <Show\r\n when={\r\n (colsWithExplicitSize().has(cell.column.id) ||\r\n hasResizeWidths()) &&\r\n !isSpecial\r\n }\r\n fallback={wrapCellContent(\r\n cell.column.id,\r\n cell.getValue(),\r\n flexRender(cell.column.columnDef.cell, cell.getContext()),\r\n )}\r\n >\r\n <div class={cn('tbe21', AlignCellClass[align])}>\r\n {wrapCellContent(\r\n cell.column.id,\r\n cell.getValue(),\r\n flexRender(cell.column.columnDef.cell, cell.getContext()),\r\n )}\r\n </div>\r\n </Show>\r\n </td>\r\n );\r\n }}\r\n </For>\r\n </tr>\r\n <Show when={hasExpandableRows() && expanded()}>\r\n <tr class=\"tbe31\">\r\n <td colSpan={row.getVisibleCells().length} class=\"tbe32\">\r\n {opts!.expandedRowRender(row.original, rowIndex, 0, true)}\r\n </td>\r\n </tr>\r\n </Show>\r\n </>\r\n );\r\n }}\r\n </For>\r\n\r\n <Show when={virtualBottomPadding() > 0}>\r\n <tr>\r\n <td\r\n colSpan={table.getAllColumns().length}\r\n class=\"border-none p-0\"\r\n style={{ height: `${virtualBottomPadding()}px` }}\r\n />\r\n </tr>\r\n </Show>\r\n\r\n <Switch>\r\n <Match when={p.loadingMore === 'auto' && isFetchingMore()}>\r\n <tr>\r\n <td colSpan={table.getAllColumns().length} class=\"border-none py-2\">\r\n <div class=\"flex justify-center\">\r\n <span class=\"loading loading-dots loading-sm opacity-60\" />\r\n </div>\r\n </td>\r\n </tr>\r\n </Match>\r\n <Match when={p.loadingMore === 'manual'}>\r\n <tr>\r\n <td colSpan={table.getAllColumns().length} class=\"border-none py-2\">\r\n <div class=\"flex justify-center\">\r\n <Button\r\n variant={'default'}\r\n color={p.color}\r\n loading={isFetchingMore()}\r\n onClick={() => callGetVirtualData()}\r\n size={p.size}\r\n >\r\n Load more\r\n </Button>\r\n </div>\r\n </td>\r\n </tr>\r\n </Match>\r\n </Switch>\r\n </tbody>\r\n </Show>\r\n </Show>\r\n </table>\r\n </div>\r\n <Show when={resizable()}>\r\n <For each={handlePositions()}>\r\n {pos => (\r\n <div\r\n class={cn('tbe37', resizingIndex() === pos.colIndex && 'tbe38')}\r\n style={{\r\n left: `${pos.left}px`,\r\n top: `${pos.top}px`,\r\n height: `${pos.height}px`,\r\n }}\r\n onMouseDown={e => handleResizeStart(pos.colIndex, e)}\r\n onDblClick={e => handleResizeDblClick(pos.colIndex, e)}\r\n />\r\n )}\r\n </For>\r\n </Show>\r\n <Show when={p.footerPanel}>\r\n <div class={cn('tbe40', border()?.outer && 'border-c3/50 border-t', p.class?.tfoot)}>\r\n {p.footerPanel?.()}\r\n </div>\r\n </Show>\r\n </div>\r\n <Show\r\n when={\r\n p.paginationProps !== undefined &&\r\n !p.virtual &&\r\n (p.paginationProps?.position ?? 'end') === 'end'\r\n }\r\n >\r\n <Pagination\r\n {...p.paginationProps}\r\n onChange={(page, size) => {\r\n table.setPageIndex(page - 1);\r\n if (size !== table.getState().pagination.pageSize) {\r\n table.setPageSize(size);\r\n }\r\n p.paginationProps?.onChange?.(page, size);\r\n }}\r\n />\r\n </Show>\r\n </div>\r\n );\r\n}\r\n\r\nTable.Selection = function <TData = any>(\r\n options?: TableSelectionOptions<TData>,\r\n): ColumnDef<TData, any> {\r\n const opts: TableSelectionOptions<TData> = {\r\n type: 'checkbox',\r\n hideSelectAll: false,\r\n width: 32,\r\n ...options,\r\n };\r\n\r\n return {\r\n id: SELECTION_COLUMN_ID,\r\n size: typeof opts.width === 'number' ? opts.width : 48,\r\n enableSorting: false,\r\n enableResizing: false,\r\n meta: {\r\n _selection: opts,\r\n },\r\n header: ({ table }) => {\r\n if (opts.title !== undefined) return opts.title;\r\n if (opts.type === 'radio' || opts.hideSelectAll) return null;\r\n\r\n return (\r\n <input\r\n type=\"checkbox\"\r\n class=\"checkbox checkbox-xs checkbox-primary mx-auto\"\r\n checked={table.getIsAllRowsSelected()}\r\n ref={el => {\r\n createEffect(function syncIndeterminate() {\r\n el.indeterminate = table.getIsSomeRowsSelected();\r\n });\r\n }}\r\n onChange={table.getToggleAllRowsSelectedHandler()}\r\n />\r\n );\r\n },\r\n cell: ({ row }) => {\r\n const index = row.index;\r\n const checked = () => row.getIsSelected();\r\n const record = row.original;\r\n\r\n if (opts.renderCell) {\r\n return (\r\n <span\r\n onClick={e => {\r\n e.stopPropagation();\r\n row.toggleSelected();\r\n }}\r\n class=\"cursor-pointer\"\r\n >\r\n {opts.renderCell(checked(), record, index)}\r\n </span>\r\n );\r\n }\r\n\r\n if (opts.type === 'radio') {\r\n return (\r\n <input\r\n type=\"radio\"\r\n class=\"radio radio-xs radio-primary\"\r\n checked={checked()}\r\n disabled={!row.getCanSelect()}\r\n onChange={row.getToggleSelectedHandler()}\r\n onClick={e => e.stopPropagation()}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <input\r\n type=\"checkbox\"\r\n class=\"checkbox checkbox-xs checkbox-primary\"\r\n checked={checked()}\r\n disabled={!row.getCanSelect()}\r\n onChange={row.getToggleSelectedHandler()}\r\n onClick={e => e.stopPropagation()}\r\n />\r\n );\r\n },\r\n };\r\n};\r\n\r\nTable.Expanded = function <TData = any>(\r\n options: TableExpandedOptions<TData>,\r\n): ColumnDef<TData, any> {\r\n options = mergeProps(\r\n {\r\n width: 48,\r\n },\r\n options,\r\n );\r\n\r\n return {\r\n id: EXPANDED_COLUMN_ID,\r\n size: options.width,\r\n enableSorting: false,\r\n enableResizing: false,\r\n meta: {\r\n _expanded: options,\r\n },\r\n header: () => null,\r\n cell: ({ row, table }) => {\r\n const index = row.index;\r\n const record = row.original;\r\n const api = table.options.meta?._expandApi;\r\n const expandable = options.rowExpandable ? options.rowExpandable(record, index) : true;\r\n\r\n if (!expandable || !api) return null;\r\n\r\n const expanded = () => api.isRowExpanded(row.id);\r\n\r\n return (\r\n <span\r\n class=\"tbe24 cursor-pointer\"\r\n onClick={e => {\r\n e.stopPropagation();\r\n api.toggleRowExpanded(row.id, record);\r\n }}\r\n >\r\n <Show\r\n when={options.expandIcon}\r\n fallback={\r\n <ChevronRight size={16} stroke-width={2} class={cn('tbe25', expanded() && 'tbe26')} />\r\n }\r\n >\r\n {options.expandIcon!(expanded())}\r\n </Show>\r\n </span>\r\n );\r\n },\r\n };\r\n};\r\n\r\nexport { Table };\r\n"],"mappings":"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"}