@xanui/ui 1.1.15 → 1.1.17

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 (266) hide show
  1. package/Accordion/index.js +3 -18
  2. package/Accordion/index.js.map +1 -1
  3. package/Accordion/index.mjs +2 -15
  4. package/Accordion/index.mjs.map +1 -1
  5. package/Alert/index.js +5 -24
  6. package/Alert/index.js.map +1 -1
  7. package/Alert/index.mjs +2 -19
  8. package/Alert/index.mjs.map +1 -1
  9. package/Avatar/index.js +2 -13
  10. package/Avatar/index.js.map +1 -1
  11. package/Avatar/index.mjs +2 -11
  12. package/Avatar/index.mjs.map +1 -1
  13. package/Badge/index.js +2 -12
  14. package/Badge/index.js.map +1 -1
  15. package/Badge/index.mjs +2 -10
  16. package/Badge/index.mjs.map +1 -1
  17. package/Box/index.js +2 -12
  18. package/Box/index.js.map +1 -1
  19. package/Box/index.mjs +2 -10
  20. package/Box/index.mjs.map +1 -1
  21. package/Button/index.js +4 -17
  22. package/Button/index.js.map +1 -1
  23. package/Button/index.mjs +2 -13
  24. package/Button/index.mjs.map +1 -1
  25. package/ButtonGroup/index.js +2 -12
  26. package/ButtonGroup/index.js.map +1 -1
  27. package/ButtonGroup/index.mjs +2 -10
  28. package/ButtonGroup/index.mjs.map +1 -1
  29. package/Calendar/index.js +16 -35
  30. package/Calendar/index.js.map +1 -1
  31. package/Calendar/index.mjs +2 -19
  32. package/Calendar/index.mjs.map +1 -1
  33. package/CalendarInput/index.js +4 -23
  34. package/CalendarInput/index.js.map +1 -1
  35. package/CalendarInput/index.mjs +2 -19
  36. package/CalendarInput/index.mjs.map +1 -1
  37. package/Checkbox/index.js +2 -16
  38. package/Checkbox/index.js.map +1 -1
  39. package/Checkbox/index.mjs +2 -14
  40. package/Checkbox/index.mjs.map +1 -1
  41. package/Chip/index.js +3 -14
  42. package/Chip/index.js.map +1 -1
  43. package/Chip/index.mjs +2 -11
  44. package/Chip/index.mjs.map +1 -1
  45. package/CircleProgress/index.js +2 -13
  46. package/CircleProgress/index.js.map +1 -1
  47. package/CircleProgress/index.mjs +2 -11
  48. package/CircleProgress/index.mjs.map +1 -1
  49. package/ClickOutside/index.js +2 -13
  50. package/ClickOutside/index.js.map +1 -1
  51. package/ClickOutside/index.mjs +2 -11
  52. package/ClickOutside/index.mjs.map +1 -1
  53. package/Collaps/index.js +2 -12
  54. package/Collaps/index.js.map +1 -1
  55. package/Collaps/index.mjs +2 -10
  56. package/Collaps/index.mjs.map +1 -1
  57. package/Container/index.js +2 -12
  58. package/Container/index.js.map +1 -1
  59. package/Container/index.mjs +2 -10
  60. package/Container/index.mjs.map +1 -1
  61. package/Datatable/FilterBox.js +10 -28
  62. package/Datatable/FilterBox.js.map +1 -1
  63. package/Datatable/FilterBox.mjs +7 -23
  64. package/Datatable/FilterBox.mjs.map +1 -1
  65. package/Datatable/Row.js +11 -30
  66. package/Datatable/Row.js.map +1 -1
  67. package/Datatable/Row.mjs +7 -24
  68. package/Datatable/Row.mjs.map +1 -1
  69. package/Datatable/SelectedBox.js +5 -17
  70. package/Datatable/SelectedBox.js.map +1 -1
  71. package/Datatable/SelectedBox.mjs +4 -14
  72. package/Datatable/SelectedBox.mjs.map +1 -1
  73. package/Datatable/Table.js +4 -16
  74. package/Datatable/Table.js.map +1 -1
  75. package/Datatable/Table.mjs +2 -12
  76. package/Datatable/Table.mjs.map +1 -1
  77. package/Datatable/TableHead.js +18 -25
  78. package/Datatable/TableHead.js.map +1 -1
  79. package/Datatable/TableHead.mjs +18 -23
  80. package/Datatable/TableHead.mjs.map +1 -1
  81. package/Datatable/index.d.ts +2 -67
  82. package/Datatable/index.js +21 -36
  83. package/Datatable/index.js.map +1 -1
  84. package/Datatable/index.mjs +20 -33
  85. package/Datatable/index.mjs.map +1 -1
  86. package/Datatable/types.d.ts +69 -0
  87. package/Divider/index.js +2 -12
  88. package/Divider/index.js.map +1 -1
  89. package/Divider/index.mjs +2 -10
  90. package/Divider/index.mjs.map +1 -1
  91. package/Drawer/index.js +4 -16
  92. package/Drawer/index.js.map +1 -1
  93. package/Drawer/index.mjs +2 -12
  94. package/Drawer/index.mjs.map +1 -1
  95. package/Form/index.js +2 -13
  96. package/Form/index.js.map +1 -1
  97. package/Form/index.mjs +2 -11
  98. package/Form/index.mjs.map +1 -1
  99. package/GridContainer/index.js +2 -12
  100. package/GridContainer/index.js.map +1 -1
  101. package/GridContainer/index.mjs +2 -10
  102. package/GridContainer/index.mjs.map +1 -1
  103. package/GridItem/index.js +2 -12
  104. package/GridItem/index.js.map +1 -1
  105. package/GridItem/index.mjs +2 -10
  106. package/GridItem/index.mjs.map +1 -1
  107. package/IconButton/index.js +10 -17
  108. package/IconButton/index.js.map +1 -1
  109. package/IconButton/index.mjs +9 -14
  110. package/IconButton/index.mjs.map +1 -1
  111. package/Image/index.js +2 -13
  112. package/Image/index.js.map +1 -1
  113. package/Image/index.mjs +2 -11
  114. package/Image/index.mjs.map +1 -1
  115. package/Input/index.js +4 -16
  116. package/Input/index.js.map +1 -1
  117. package/Input/index.mjs +3 -13
  118. package/Input/index.mjs.map +1 -1
  119. package/Label/index.js +2 -12
  120. package/Label/index.js.map +1 -1
  121. package/Label/index.mjs +2 -10
  122. package/Label/index.mjs.map +1 -1
  123. package/Layer/index.js +4 -17
  124. package/Layer/index.js.map +1 -1
  125. package/Layer/index.mjs +2 -13
  126. package/Layer/index.mjs.map +1 -1
  127. package/LineProgress/index.js +2 -13
  128. package/LineProgress/index.js.map +1 -1
  129. package/LineProgress/index.mjs +2 -11
  130. package/LineProgress/index.mjs.map +1 -1
  131. package/List/index.js +2 -12
  132. package/List/index.js.map +1 -1
  133. package/List/index.mjs +2 -10
  134. package/List/index.mjs.map +1 -1
  135. package/ListItem/index.js +3 -14
  136. package/ListItem/index.js.map +1 -1
  137. package/ListItem/index.mjs +2 -11
  138. package/ListItem/index.mjs.map +1 -1
  139. package/LoadingBox/index.js +3 -14
  140. package/LoadingBox/index.js.map +1 -1
  141. package/LoadingBox/index.mjs +2 -11
  142. package/LoadingBox/index.mjs.map +1 -1
  143. package/Menu/index.js +3 -16
  144. package/Menu/index.js.map +1 -1
  145. package/Menu/index.mjs +2 -13
  146. package/Menu/index.mjs.map +1 -1
  147. package/Modal/index.d.ts +1 -1
  148. package/Modal/index.js +3 -15
  149. package/Modal/index.js.map +1 -1
  150. package/Modal/index.mjs +2 -12
  151. package/Modal/index.mjs.map +1 -1
  152. package/NoSSR/index.js +2 -10
  153. package/NoSSR/index.js.map +1 -1
  154. package/NoSSR/index.mjs +2 -8
  155. package/NoSSR/index.mjs.map +1 -1
  156. package/Option/index.js +3 -13
  157. package/Option/index.js.map +1 -1
  158. package/Option/index.mjs +2 -10
  159. package/Option/index.mjs.map +1 -1
  160. package/Paper/index.js +2 -12
  161. package/Paper/index.js.map +1 -1
  162. package/Paper/index.mjs +2 -10
  163. package/Paper/index.mjs.map +1 -1
  164. package/Portal/index.js +2 -13
  165. package/Portal/index.js.map +1 -1
  166. package/Portal/index.mjs +2 -11
  167. package/Portal/index.mjs.map +1 -1
  168. package/Radio/index.js +3 -15
  169. package/Radio/index.js.map +1 -1
  170. package/Radio/index.mjs +2 -12
  171. package/Radio/index.mjs.map +1 -1
  172. package/Scrollbar/index.js +2 -13
  173. package/Scrollbar/index.js.map +1 -1
  174. package/Scrollbar/index.mjs +2 -11
  175. package/Scrollbar/index.mjs.map +1 -1
  176. package/Select/index.js +5 -22
  177. package/Select/index.js.map +1 -1
  178. package/Select/index.mjs +2 -17
  179. package/Select/index.mjs.map +1 -1
  180. package/Stack/index.js +2 -12
  181. package/Stack/index.js.map +1 -1
  182. package/Stack/index.mjs +2 -10
  183. package/Stack/index.mjs.map +1 -1
  184. package/Switch/index.js +2 -13
  185. package/Switch/index.js.map +1 -1
  186. package/Switch/index.mjs +2 -11
  187. package/Switch/index.mjs.map +1 -1
  188. package/Tab/index.js +3 -15
  189. package/Tab/index.js.map +1 -1
  190. package/Tab/index.mjs +2 -12
  191. package/Tab/index.mjs.map +1 -1
  192. package/Table/index.js +3 -14
  193. package/Table/index.js.map +1 -1
  194. package/Table/index.mjs +2 -11
  195. package/Table/index.mjs.map +1 -1
  196. package/TableBody/index.js +2 -12
  197. package/TableBody/index.js.map +1 -1
  198. package/TableBody/index.mjs +2 -10
  199. package/TableBody/index.mjs.map +1 -1
  200. package/TableCell/index.js +2 -12
  201. package/TableCell/index.js.map +1 -1
  202. package/TableCell/index.mjs +2 -10
  203. package/TableCell/index.mjs.map +1 -1
  204. package/TableFooter/index.js +2 -12
  205. package/TableFooter/index.js.map +1 -1
  206. package/TableFooter/index.mjs +2 -10
  207. package/TableFooter/index.mjs.map +1 -1
  208. package/TableHead/index.js +2 -12
  209. package/TableHead/index.js.map +1 -1
  210. package/TableHead/index.mjs +2 -10
  211. package/TableHead/index.mjs.map +1 -1
  212. package/TablePagination/index.d.ts +9 -7
  213. package/TablePagination/index.js +14 -35
  214. package/TablePagination/index.js.map +1 -1
  215. package/TablePagination/index.mjs +12 -31
  216. package/TablePagination/index.mjs.map +1 -1
  217. package/TableRow/index.js +2 -12
  218. package/TableRow/index.js.map +1 -1
  219. package/TableRow/index.mjs +2 -10
  220. package/TableRow/index.mjs.map +1 -1
  221. package/Tabs/index.js +15 -24
  222. package/Tabs/index.js.map +1 -1
  223. package/Tabs/index.mjs +15 -22
  224. package/Tabs/index.mjs.map +1 -1
  225. package/Text/index.js +2 -12
  226. package/Text/index.js.map +1 -1
  227. package/Text/index.mjs +2 -10
  228. package/Text/index.mjs.map +1 -1
  229. package/Toast/index.js +4 -18
  230. package/Toast/index.js.map +1 -1
  231. package/Toast/index.mjs +2 -14
  232. package/Toast/index.mjs.map +1 -1
  233. package/Tooltip/index.js +3 -14
  234. package/Tooltip/index.js.map +1 -1
  235. package/Tooltip/index.mjs +2 -11
  236. package/Tooltip/index.mjs.map +1 -1
  237. package/ViewBox/index.js +3 -14
  238. package/ViewBox/index.js.map +1 -1
  239. package/ViewBox/index.mjs +2 -11
  240. package/ViewBox/index.mjs.map +1 -1
  241. package/index.js +1 -116
  242. package/index.js.map +1 -1
  243. package/index.mjs +1 -56
  244. package/index.mjs.map +1 -1
  245. package/package.json +11 -2
  246. package/readme.md +104 -104
  247. package/useAlert/index.js +5 -19
  248. package/useAlert/index.js.map +1 -1
  249. package/useAlert/index.mjs +2 -14
  250. package/useAlert/index.mjs.map +1 -1
  251. package/useBlurCss/index.js +2 -10
  252. package/useBlurCss/index.js.map +1 -1
  253. package/useBlurCss/index.mjs +2 -8
  254. package/useBlurCss/index.mjs.map +1 -1
  255. package/useCorner/index.js +2 -7
  256. package/useCorner/index.js.map +1 -1
  257. package/useCorner/index.mjs +1 -4
  258. package/useCorner/index.mjs.map +1 -1
  259. package/useLayer/index.js +3 -14
  260. package/useLayer/index.js.map +1 -1
  261. package/useLayer/index.mjs +2 -11
  262. package/useLayer/index.mjs.map +1 -1
  263. package/useModal/index.js +3 -14
  264. package/useModal/index.js.map +1 -1
  265. package/useModal/index.mjs +2 -11
  266. package/useModal/index.mjs.map +1 -1
@@ -1,22 +1,10 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var index$2 = require('../IconButton/index.js');
6
- var index = require('../Stack/index.js');
7
- var index$1 = require('../Text/index.js');
8
-
9
- const SelectedBox = (props) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),index$2=require('../IconButton/index.js'),index=require('../Stack/index.js'),index$1=require('../Text/index.js');const SelectedBox = (props) => {
10
2
  let { state, rowAction } = props;
11
- let selected = state.selectedIds;
12
- let checked = state.selectAll || !!selected.length;
3
+ let checked = state.selectAll || !!state.selected.length;
13
4
  if (!checked)
14
5
  return jsxRuntime.jsx(jsxRuntime.Fragment, {});
15
- return (jsxRuntime.jsxs(index, { bgcolor: "background.secondary", direction: "row", alignItems: "center", justifyContent: "space-between", zIndex: 1, radius: 1, mb: 1, height: 50, width: "100%", px: 1.5, children: [jsxRuntime.jsxs(index$1, { fontWeight: 600, children: ["Selected: ", selected.length] }), jsxRuntime.jsx(index, { flexRow: true, gap: 1, children: rowAction && rowAction({ row: null, state }).map((_a) => {
6
+ return (jsxRuntime.jsxs(index.default, { bgcolor: "background.secondary", direction: "row", alignItems: "center", justifyContent: "space-between", zIndex: 1, radius: 1, mb: 1, height: 50, width: "100%", px: 1.5, children: [jsxRuntime.jsxs(index$1.default, { fontWeight: 600, children: ["Selected: ", state.selected.length] }), jsxRuntime.jsx(index.default, { flexRow: true, gap: 1, children: rowAction && rowAction({ row: null, state }).map((_a) => {
16
7
  var { label, icon } = _a, bprops = tslib.__rest(_a, ["label", "icon"]);
17
- return (jsxRuntime.jsx(index$2, Object.assign({ variant: "soft", color: "brand" }, bprops, { children: icon }), label));
8
+ return (jsxRuntime.jsx(index$2.default, Object.assign({ variant: "soft", color: "brand" }, bprops, { children: icon }), label));
18
9
  }) })] }));
19
- };
20
-
21
- module.exports = SelectedBox;
22
- //# sourceMappingURL=SelectedBox.js.map
10
+ };exports.default=SelectedBox;//# sourceMappingURL=SelectedBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedBox.js","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\r\nimport Stack from '../Stack'\r\nimport Text from '../Text'\r\nimport { DatatablePropsWithState } from '.'\r\n\r\nconst SelectedBox = (props: DatatablePropsWithState) => {\r\n let {\r\n state,\r\n rowAction\r\n } = props\r\n\r\n let selected = state.selectedIds\r\n let checked = state.selectAll || !!selected.length\r\n\r\n if (!checked) return <></>\r\n\r\n return (\r\n <Stack\r\n bgcolor=\"background.secondary\"\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n px={1.5}\r\n >\r\n <Text fontWeight={600}>Selected: {selected.length}</Text>\r\n <Stack\r\n flexRow\r\n gap={1}\r\n >\r\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\r\n return (\r\n <IconButton\r\n key={label}\r\n variant=\"soft\"\r\n color=\"brand\"\r\n {...bprops}\r\n >\r\n {icon}\r\n </IconButton>\r\n )\r\n })}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectedBox"],"names":["_jsx","_jsxs","Stack","Text","__rest","IconButton"],"mappings":";;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;AAElD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,uCAAK;AAE1B,IAAA,QACGC,eAAA,CAACC,KAAK,EAAA,EACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,aAEPD,eAAA,CAACE,OAAI,IAAC,UAAU,EAAE,GAAG,EAAA,QAAA,EAAA,CAAA,YAAA,EAAa,QAAQ,CAAC,MAAM,IAAQ,EACzDH,cAAA,CAACE,KAAK,EAAA,EACH,OAAO,QACP,GAAG,EAAE,CAAC,EAAA,QAAA,EAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAAE,YAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGJ,cAAA,CAACK,OAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
1
+ {"version":3,"file":"SelectedBox.js","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\nimport Stack from '../Stack'\nimport Text from '../Text'\nimport { DatatablePropsWithState } from './types'\n\nconst SelectedBox = (props: DatatablePropsWithState) => {\n let {\n state,\n rowAction\n } = props\n\n let checked = state.selectAll || !!state.selected.length\n if (!checked) return <></>\n\n return (\n <Stack\n bgcolor=\"background.secondary\"\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n zIndex={1}\n radius={1}\n mb={1}\n height={50}\n width=\"100%\"\n px={1.5}\n >\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\n <Stack\n flexRow\n gap={1}\n >\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\n return (\n <IconButton\n key={label}\n variant=\"soft\"\n color=\"brand\"\n {...bprops}\n >\n {icon}\n </IconButton>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default SelectedBox"],"names":["_jsx","_jsxs","Stack","Text","__rest","IconButton"],"mappings":"0PAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,uCAAK;AAE1B,IAAA,QACGC,eAAA,CAACC,aAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPD,gBAACE,eAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DH,eAACE,aAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAAE,YAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGJ,cAAA,CAACK,eAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd"}
@@ -1,20 +1,10 @@
1
- import { __rest } from 'tslib';
2
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
- import IconButton from '../IconButton/index.mjs';
4
- import Stack from '../Stack/index.mjs';
5
- import Text from '../Text/index.mjs';
6
-
7
- const SelectedBox = (props) => {
1
+ import {__rest}from'tslib';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import IconButton from'../IconButton/index.mjs';import Stack from'../Stack/index.mjs';import Text from'../Text/index.mjs';const SelectedBox = (props) => {
8
2
  let { state, rowAction } = props;
9
- let selected = state.selectedIds;
10
- let checked = state.selectAll || !!selected.length;
3
+ let checked = state.selectAll || !!state.selected.length;
11
4
  if (!checked)
12
5
  return jsx(Fragment, {});
13
- return (jsxs(Stack, { bgcolor: "background.secondary", direction: "row", alignItems: "center", justifyContent: "space-between", zIndex: 1, radius: 1, mb: 1, height: 50, width: "100%", px: 1.5, children: [jsxs(Text, { fontWeight: 600, children: ["Selected: ", selected.length] }), jsx(Stack, { flexRow: true, gap: 1, children: rowAction && rowAction({ row: null, state }).map((_a) => {
6
+ return (jsxs(Stack, { bgcolor: "background.secondary", direction: "row", alignItems: "center", justifyContent: "space-between", zIndex: 1, radius: 1, mb: 1, height: 50, width: "100%", px: 1.5, children: [jsxs(Text, { fontWeight: 600, children: ["Selected: ", state.selected.length] }), jsx(Stack, { flexRow: true, gap: 1, children: rowAction && rowAction({ row: null, state }).map((_a) => {
14
7
  var { label, icon } = _a, bprops = __rest(_a, ["label", "icon"]);
15
8
  return (jsx(IconButton, Object.assign({ variant: "soft", color: "brand" }, bprops, { children: icon }), label));
16
9
  }) })] }));
17
- };
18
-
19
- export { SelectedBox as default };
20
- //# sourceMappingURL=SelectedBox.mjs.map
10
+ };export{SelectedBox as default};//# sourceMappingURL=SelectedBox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedBox.mjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\r\nimport Stack from '../Stack'\r\nimport Text from '../Text'\r\nimport { DatatablePropsWithState } from '.'\r\n\r\nconst SelectedBox = (props: DatatablePropsWithState) => {\r\n let {\r\n state,\r\n rowAction\r\n } = props\r\n\r\n let selected = state.selectedIds\r\n let checked = state.selectAll || !!selected.length\r\n\r\n if (!checked) return <></>\r\n\r\n return (\r\n <Stack\r\n bgcolor=\"background.secondary\"\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n px={1.5}\r\n >\r\n <Text fontWeight={600}>Selected: {selected.length}</Text>\r\n <Stack\r\n flexRow\r\n gap={1}\r\n >\r\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\r\n return (\r\n <IconButton\r\n key={label}\r\n variant=\"soft\"\r\n color=\"brand\"\r\n {...bprops}\r\n >\r\n {icon}\r\n </IconButton>\r\n )\r\n })}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectedBox"],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;AAElD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,iBAAK;AAE1B,IAAA,QACGC,IAAA,CAAC,KAAK,EAAA,EACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,aAEPA,IAAA,CAAC,IAAI,IAAC,UAAU,EAAE,GAAG,EAAA,QAAA,EAAA,CAAA,YAAA,EAAa,QAAQ,CAAC,MAAM,IAAQ,EACzDD,GAAA,CAAC,KAAK,EAAA,EACH,OAAO,QACP,GAAG,EAAE,CAAC,EAAA,QAAA,EAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAA,MAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGA,GAAA,CAAC,UAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
1
+ {"version":3,"file":"SelectedBox.mjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\nimport Stack from '../Stack'\nimport Text from '../Text'\nimport { DatatablePropsWithState } from './types'\n\nconst SelectedBox = (props: DatatablePropsWithState) => {\n let {\n state,\n rowAction\n } = props\n\n let checked = state.selectAll || !!state.selected.length\n if (!checked) return <></>\n\n return (\n <Stack\n bgcolor=\"background.secondary\"\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n zIndex={1}\n radius={1}\n mb={1}\n height={50}\n width=\"100%\"\n px={1.5}\n >\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\n <Stack\n flexRow\n gap={1}\n >\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\n return (\n <IconButton\n key={label}\n variant=\"soft\"\n color=\"brand\"\n {...bprops}\n >\n {icon}\n </IconButton>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default SelectedBox"],"names":["_jsx","_jsxs"],"mappings":"uMAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,iBAAK;AAE1B,IAAA,QACGC,IAAA,CAAC,KAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPA,KAAC,IAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DD,IAAC,KAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAA,MAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGA,GAAA,CAAC,UAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd"}
@@ -1,23 +1,11 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var TableHead = require('./TableHead.js');
6
- var index = require('../Table/index.js');
7
- var index$1 = require('../TableBody/index.js');
8
- var Row = require('./Row.js');
9
-
10
- const TableArea = (props) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),TableHead=require('./TableHead.js'),index=require('../Table/index.js'),index$1=require('../TableBody/index.js'),Row=require('./Row.js');const TableArea = (props) => {
11
2
  let { rows, renderRow, state, update, slotProps } = props;
12
- return (jsxRuntime.jsxs(index, Object.assign({ width: "100%", border: "1px solid", borderColor: "divider" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.table, { children: [jsxRuntime.jsx(TableHead, Object.assign({}, props, { update: update, state: state })), jsxRuntime.jsx(index$1, { sx: {
3
+ return (jsxRuntime.jsxs(index.default, Object.assign({ width: "100%", border: "1px solid", borderColor: "divider" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.table, { children: [jsxRuntime.jsx(TableHead.default, Object.assign({}, props, { update: update, state: state })), jsxRuntime.jsx(index$1.default, { sx: {
13
4
  '& tr:last-child td': {
14
5
  borderBottom: 0
15
6
  }
16
7
  }, children: rows === null || rows === void 0 ? void 0 : rows.map((row, idx) => {
17
8
  let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
18
- return jsxRuntime.jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), row.id + idx);
9
+ return jsxRuntime.jsx(Row.default, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), row.id + idx);
19
10
  }) })] })));
20
- };
21
-
22
- module.exports = TableArea;
23
- //# sourceMappingURL=Table.js.map
11
+ };exports.default=TableArea;//# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport TableHead from './TableHead'\r\nimport Table from '../Table'\r\nimport TableBody from '../TableBody'\r\nimport Row from './Row'\r\nimport { DatatablePropsWithState } from '.'\r\n\r\nconst TableArea = (props: DatatablePropsWithState) => {\r\n let {\r\n rows,\r\n renderRow,\r\n state,\r\n update,\r\n slotProps\r\n } = props\r\n\r\n return (\r\n <Table width=\"100%\" border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\r\n <TableHead {...props} update={update} state={state} />\r\n <TableBody\r\n sx={{\r\n '& tr:last-child td': {\r\n borderBottom: 0\r\n }\r\n }}\r\n >\r\n {\r\n rows?.map((row: any, idx) => {\r\n let _row = renderRow ? renderRow({ ...row }, state) : row\r\n return <Row\r\n key={row.id + idx}\r\n rawRow={row}\r\n row={_row}\r\n {...props}\r\n update={update}\r\n state={state}\r\n />\r\n })\r\n }\r\n </TableBody>\r\n </Table>\r\n )\r\n}\r\n\r\nexport default TableArea"],"names":[],"mappings":";;;;;;;;;AAQA;AACG;AAQA;AAKY;AACG;AACF;AACH;AAIK;;AASH;AAKf;;"}
1
+ {"version":3,"file":"Table.js","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport TableHead from './TableHead'\nimport Table from '../Table'\nimport TableBody from '../TableBody'\nimport Row from './Row'\nimport { DatatablePropsWithState } from './types';\n\nconst TableArea = (props: DatatablePropsWithState) => {\n let {\n rows,\n renderRow,\n state,\n update,\n slotProps\n } = props\n\n return (\n <Table width=\"100%\" border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\n <TableHead {...props} update={update} state={state} />\n <TableBody\n sx={{\n '& tr:last-child td': {\n borderBottom: 0\n }\n }}\n >\n {\n rows?.map((row: any, idx) => {\n let _row = renderRow ? renderRow({ ...row }, state) : row\n return <Row\n key={row.id + idx}\n rawRow={row}\n row={_row}\n {...props}\n update={update}\n state={state}\n />\n })\n }\n </TableBody>\n </Table>\n )\n}\n\nexport default TableArea"],"names":["_jsxs","Table","_jsx","TableHead","TableBody","Row"],"mappings":"0PAQA,MAAM,SAAS,GAAG,CAAC,KAA8B,KAAI;AAClD,IAAA,IAAI,EACD,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACX,GAAG,KAAK;AAET,IAAA,QACGA,eAAA,CAACC,aAAK,kBAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,IAAK,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,KAAK,eAC9EC,cAAA,CAACC,iBAAS,oBAAK,KAAK,EAAA,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAA,CAAA,CAAI,EACtDD,eAACE,eAAS,EAAA,EACP,EAAE,EAAE;AACD,oBAAA,oBAAoB,EAAE;AACnB,wBAAA,YAAY,EAAE;AAChB;AACH,iBAAA,EAAA,QAAA,EAGE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAG,KAAI;AACzB,oBAAA,IAAI,IAAI,GAAG,SAAS,GAAG,SAAS,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAA,EAAI,KAAK,CAAC,GAAG,GAAG;oBACzD,OAAOF,cAAA,CAACG,WAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAER,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,IAAI,EAAA,EACL,KAAK,EAAA,EACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAAA,CAAA,EALP,GAAG,CAAC,EAAE,GAAG,GAAG,CAMlB;AACL,gBAAA,CAAC,CAAC,EAAA,CAEI,CAAA,EAAA,CAAA,CACP;AAEd"}
@@ -1,11 +1,4 @@
1
- "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import TableHeadRender from './TableHead.mjs';
4
- import Table from '../Table/index.mjs';
5
- import TableBody from '../TableBody/index.mjs';
6
- import Row from './Row.mjs';
7
-
8
- const TableArea = (props) => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import TableHeadRender from'./TableHead.mjs';import Table from'../Table/index.mjs';import TableBody from'../TableBody/index.mjs';import Row from'./Row.mjs';const TableArea = (props) => {
9
2
  let { rows, renderRow, state, update, slotProps } = props;
10
3
  return (jsxs(Table, Object.assign({ width: "100%", border: "1px solid", borderColor: "divider" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.table, { children: [jsx(TableHeadRender, Object.assign({}, props, { update: update, state: state })), jsx(TableBody, { sx: {
11
4
  '& tr:last-child td': {
@@ -15,7 +8,4 @@ const TableArea = (props) => {
15
8
  let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
16
9
  return jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), row.id + idx);
17
10
  }) })] })));
18
- };
19
-
20
- export { TableArea as default };
21
- //# sourceMappingURL=Table.mjs.map
11
+ };export{TableArea as default};//# sourceMappingURL=Table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport TableHead from './TableHead'\r\nimport Table from '../Table'\r\nimport TableBody from '../TableBody'\r\nimport Row from './Row'\r\nimport { DatatablePropsWithState } from '.'\r\n\r\nconst TableArea = (props: DatatablePropsWithState) => {\r\n let {\r\n rows,\r\n renderRow,\r\n state,\r\n update,\r\n slotProps\r\n } = props\r\n\r\n return (\r\n <Table width=\"100%\" border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\r\n <TableHead {...props} update={update} state={state} />\r\n <TableBody\r\n sx={{\r\n '& tr:last-child td': {\r\n borderBottom: 0\r\n }\r\n }}\r\n >\r\n {\r\n rows?.map((row: any, idx) => {\r\n let _row = renderRow ? renderRow({ ...row }, state) : row\r\n return <Row\r\n key={row.id + idx}\r\n rawRow={row}\r\n row={_row}\r\n {...props}\r\n update={update}\r\n state={state}\r\n />\r\n })\r\n }\r\n </TableBody>\r\n </Table>\r\n )\r\n}\r\n\r\nexport default TableArea"],"names":[],"mappings":";;;;;;;AAQA;AACG;AAQA;AAKY;AACG;AACF;AACH;AAIK;;AASH;AAKf;;"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport TableHead from './TableHead'\nimport Table from '../Table'\nimport TableBody from '../TableBody'\nimport Row from './Row'\nimport { DatatablePropsWithState } from './types';\n\nconst TableArea = (props: DatatablePropsWithState) => {\n let {\n rows,\n renderRow,\n state,\n update,\n slotProps\n } = props\n\n return (\n <Table width=\"100%\" border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\n <TableHead {...props} update={update} state={state} />\n <TableBody\n sx={{\n '& tr:last-child td': {\n borderBottom: 0\n }\n }}\n >\n {\n rows?.map((row: any, idx) => {\n let _row = renderRow ? renderRow({ ...row }, state) : row\n return <Row\n key={row.id + idx}\n rawRow={row}\n row={_row}\n {...props}\n update={update}\n state={state}\n />\n })\n }\n </TableBody>\n </Table>\n )\n}\n\nexport default TableArea"],"names":["_jsxs","_jsx","TableHead"],"mappings":"qMAQA,MAAM,SAAS,GAAG,CAAC,KAA8B,KAAI;AAClD,IAAA,IAAI,EACD,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACX,GAAG,KAAK;AAET,IAAA,QACGA,IAAA,CAAC,KAAK,kBAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,IAAK,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,KAAK,eAC9EC,GAAA,CAACC,eAAS,oBAAK,KAAK,EAAA,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAA,CAAA,CAAI,EACtDD,IAAC,SAAS,EAAA,EACP,EAAE,EAAE;AACD,oBAAA,oBAAoB,EAAE;AACnB,wBAAA,YAAY,EAAE;AAChB;AACH,iBAAA,EAAA,QAAA,EAGE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAG,KAAI;AACzB,oBAAA,IAAI,IAAI,GAAG,SAAS,GAAG,SAAS,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAA,EAAI,KAAK,CAAC,GAAG,GAAG;oBACzD,OAAOA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAER,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,IAAI,EAAA,EACL,KAAK,EAAA,EACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAAA,CAAA,EALP,GAAG,CAAC,EAAE,GAAG,GAAG,CAMlB;AACL,gBAAA,CAAC,CAAC,EAAA,CAEI,CAAA,EAAA,CAAA,CACP;AAEd"}
@@ -1,20 +1,9 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var tslib = require('tslib');
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var index = require('../TableHead/index.js');
7
- var index$1 = require('../TableRow/index.js');
8
- var index$2 = require('../TableCell/index.js');
9
- var index$3 = require('../Checkbox/index.js');
10
- var IndeterminateCheckBoxIcon = require('@xanui/icons/IndeterminateCheckBox');
11
-
12
- const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),index=require('../TableHead/index.js'),index$1=require('../TableRow/index.js'),index$2=require('../TableCell/index.js'),index$3=require('../Checkbox/index.js'),IndeterminateCheckBoxIcon=require('@xanui/icons/IndeterminateCheckBox'),index$4=require('../Stack/index.js'),ArrowDropDown=require('@xanui/icons/ArrowDropDown'),icons=require('@xanui/icons');const TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, state, update }) => {
13
2
  if (!columns.length)
14
3
  return jsxRuntime.jsx(jsxRuntime.Fragment, {});
15
- let selected = state.selectedIds;
16
- let checked = state.selectAll || !!selected.length;
17
- return (jsxRuntime.jsx(index, { position: "relative", children: jsxRuntime.jsxs(index$1, { bgcolor: "default", borderBottom: 1, children: [!disableSelect && jsxRuntime.jsx(index$2, { th: true, width: 40, children: jsxRuntime.jsx(index$3, { checkIcon: selected.length && !state.selectAll ? jsxRuntime.jsx(IndeterminateCheckBoxIcon, {}) : undefined, checked: checked, onChange: () => {
4
+ let checked = state.selectAll || !!state.selected.length;
5
+ const sortables = state.sortable || {};
6
+ return (jsxRuntime.jsx(index.default, { position: "relative", children: jsxRuntime.jsxs(index$1.default, { bgcolor: "default", borderBottom: 1, children: [!hideCheckbox && jsxRuntime.jsx(index$2.default, { th: true, width: 40, children: jsxRuntime.jsx(index$3.default, { checkIcon: state.selected.length && !state.selectAll ? jsxRuntime.jsx(IndeterminateCheckBoxIcon, {}) : undefined, checked: checked, onChange: () => {
18
7
  let ids = [];
19
8
  let undefinedCount = 0;
20
9
  for (let i = 0; i < rows.length; i++) {
@@ -29,21 +18,25 @@ const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, upda
29
18
  }
30
19
  if (undefinedCount) {
31
20
  update({
32
- selectedIds: selected.length ? [] : ids,
33
- selectAll: !selected.length
21
+ selected: state.selected.length ? [] : ids,
22
+ selectAll: !state.selected.length
34
23
  });
35
24
  }
36
25
  else {
37
26
  update({
38
- selectedIds: state.selectAll ? [] : ids,
27
+ selected: state.selectAll ? [] : ids,
39
28
  selectAll: !state.selectAll
40
29
  });
41
30
  }
42
31
  } }) }), columns.map((_a, idx) => {
43
- var { label, field: _f } = _a, rest = tslib.__rest(_a, ["label", "field"]);
44
- return jsxRuntime.jsx(index$2, Object.assign({ th: true, textAlign: "left" }, rest, { children: label }), idx);
45
- }), jsxRuntime.jsx(index$2, { th: true, width: 30 })] }) }));
46
- };
47
-
48
- module.exports = TableHeadRender;
49
- //# sourceMappingURL=TableHead.js.map
32
+ var { label, field: _f, sortable } = _a, rest = tslib.__rest(_a, ["label", "field", "sortable"]);
33
+ return jsxRuntime.jsx(index$2.default, Object.assign({ th: true, textAlign: "left" }, rest, { children: jsxRuntime.jsxs(index$4.default, { flexRow: true, alignItems: "center", cursor: sortable ? "pointer" : "default", userSelect: "none", onClick: () => {
34
+ if (sortable) {
35
+ let newSort = sortables[_f] === 'asc' ? 'desc' : 'asc';
36
+ update({
37
+ sortable: Object.assign(Object.assign({}, sortables), { [_f]: newSort })
38
+ });
39
+ }
40
+ }, children: [label, sortable && jsxRuntime.jsx(jsxRuntime.Fragment, { children: sortables[_f] === 'asc' ? jsxRuntime.jsx(ArrowDropDown, {}) : jsxRuntime.jsx(icons.ArrowDropUp, {}) })] }) }), idx);
41
+ }), rowAction && jsxRuntime.jsx(index$2.default, { th: true, width: 30 })] }) }));
42
+ };exports.default=TableHeadRender;//# sourceMappingURL=TableHead.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.js","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\r\nimport TableHead from '../TableHead'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport { DatatablePropsWithState } from '.'\r\nimport Checkbox from '../Checkbox'\r\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\r\n\r\n\r\nconst TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }: DatatablePropsWithState) => {\r\n if (!columns.length) return <></>\r\n let selected = state.selectedIds\r\n let checked = state.selectAll || !!selected.length\r\n\r\n return (\r\n <TableHead position=\"relative\">\r\n <TableRow bgcolor=\"default\" borderBottom={1} >\r\n {!disableSelect && <TableCell th width={40}>\r\n <Checkbox\r\n checkIcon={selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\r\n checked={checked}\r\n onChange={() => {\r\n let ids: any = []\r\n let undefinedCount = 0\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i]\r\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\r\n if (!isDisable && row.id) {\r\n ids.push(row.id)\r\n } else {\r\n undefinedCount += 1\r\n }\r\n }\r\n\r\n if (undefinedCount) {\r\n update({\r\n selectedIds: selected.length ? [] : ids,\r\n selectAll: !selected.length\r\n })\r\n } else {\r\n update({\r\n selectedIds: state.selectAll ? [] : ids,\r\n selectAll: !state.selectAll\r\n })\r\n }\r\n }}\r\n />\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field: _f, ...rest }, idx) => <TableCell key={idx} th textAlign=\"left\" {...rest}>{label}</TableCell>)\r\n }\r\n <TableCell th width={30}>\r\n\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n )\r\n}\r\n\r\nexport default TableHeadRender\r\n"],"names":[],"mappings":";;;;;;;;;;;AASA;;AACyB;AACrB;;AAGA;;;AAUwB;AACI;;AAEA;AACI;;;;;;;AAOJ;;AAEI;AACH;;;AAED;;AAEI;AACH;;AAET;;AAIgD;AAAsE;AAQ9I;;"}
1
+ {"version":3,"file":"TableHead.js","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\nimport TableHead from '../TableHead'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport Checkbox from '../Checkbox'\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\nimport { DatatablePropsWithState } from './types';\nimport Stack from '../Stack';\nimport ArrowDropDown from '@xanui/icons/ArrowDropDown';\nimport { ArrowDropUp } from '@xanui/icons';\n\n\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, state, update }: DatatablePropsWithState) => {\n if (!columns.length) return <></>\n let checked = state.selectAll || !!state.selected.length\n const sortables = state.sortable || {}\n return (\n <TableHead position=\"relative\">\n <TableRow bgcolor=\"default\" borderBottom={1} >\n {!hideCheckbox && <TableCell th width={40}>\n <Checkbox\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\n checked={checked}\n onChange={() => {\n let ids: any = []\n let undefinedCount = 0\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i]\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\n if (!isDisable && row.id) {\n ids.push(row.id)\n } else {\n undefinedCount += 1\n }\n }\n\n if (undefinedCount) {\n update({\n selected: state.selected.length ? [] : ids,\n selectAll: !state.selected.length\n })\n } else {\n update({\n selected: state.selectAll ? [] : ids,\n selectAll: !state.selectAll\n })\n }\n }}\n />\n </TableCell>}\n {\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell key={idx} th textAlign=\"left\" {...rest}>\n <Stack\n flexRow\n alignItems=\"center\"\n cursor={sortable ? \"pointer\" : \"default\"}\n userSelect={\"none\"}\n onClick={() => {\n\n if (sortable) {\n let newSort: any = sortables[_f as any] === 'asc' ? 'desc' : 'asc'\n update({\n sortable: {\n ...sortables,\n [_f as any]: newSort\n }\n })\n }\n }}\n >\n {label}\n {sortable && <>\n {\n sortables[_f as any] === 'asc' ? <ArrowDropDown /> : <ArrowDropUp />\n }\n </>}\n </Stack>\n </TableCell>)\n }\n {\n rowAction && <TableCell th width={30} />\n }\n </TableRow>\n </TableHead>\n )\n}\n\nexport default TableHeadRender\n"],"names":["_jsx","TableHead","_jsxs","TableRow","TableCell","Checkbox","IntermidiatIcon","__rest","Stack","_Fragment","ArrowDropUp"],"mappings":"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"}
@@ -1,18 +1,9 @@
1
- "use client";
2
- import { __rest } from 'tslib';
3
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
4
- import TableHead from '../TableHead/index.mjs';
5
- import TableRow from '../TableRow/index.mjs';
6
- import TableCell from '../TableCell/index.mjs';
7
- import Checkbox from '../Checkbox/index.mjs';
8
- import IndeterminateCheckBoxIcon from '@xanui/icons/IndeterminateCheckBox';
9
-
10
- const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }) => {
1
+ import {__rest}from'tslib';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import TableHead from'../TableHead/index.mjs';import TableRow from'../TableRow/index.mjs';import TableCell from'../TableCell/index.mjs';import Checkbox from'../Checkbox/index.mjs';import IndeterminateCheckBoxIcon from'@xanui/icons/IndeterminateCheckBox';import Stack from'../Stack/index.mjs';import ArrowDropDown from'@xanui/icons/ArrowDropDown';import {ArrowDropUp}from'@xanui/icons';const TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, state, update }) => {
11
2
  if (!columns.length)
12
3
  return jsx(Fragment, {});
13
- let selected = state.selectedIds;
14
- let checked = state.selectAll || !!selected.length;
15
- return (jsx(TableHead, { position: "relative", children: jsxs(TableRow, { bgcolor: "default", borderBottom: 1, children: [!disableSelect && jsx(TableCell, { th: true, width: 40, children: jsx(Checkbox, { checkIcon: selected.length && !state.selectAll ? jsx(IndeterminateCheckBoxIcon, {}) : undefined, checked: checked, onChange: () => {
4
+ let checked = state.selectAll || !!state.selected.length;
5
+ const sortables = state.sortable || {};
6
+ return (jsx(TableHead, { position: "relative", children: jsxs(TableRow, { bgcolor: "default", borderBottom: 1, children: [!hideCheckbox && jsx(TableCell, { th: true, width: 40, children: jsx(Checkbox, { checkIcon: state.selected.length && !state.selectAll ? jsx(IndeterminateCheckBoxIcon, {}) : undefined, checked: checked, onChange: () => {
16
7
  let ids = [];
17
8
  let undefinedCount = 0;
18
9
  for (let i = 0; i < rows.length; i++) {
@@ -27,21 +18,25 @@ const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, upda
27
18
  }
28
19
  if (undefinedCount) {
29
20
  update({
30
- selectedIds: selected.length ? [] : ids,
31
- selectAll: !selected.length
21
+ selected: state.selected.length ? [] : ids,
22
+ selectAll: !state.selected.length
32
23
  });
33
24
  }
34
25
  else {
35
26
  update({
36
- selectedIds: state.selectAll ? [] : ids,
27
+ selected: state.selectAll ? [] : ids,
37
28
  selectAll: !state.selectAll
38
29
  });
39
30
  }
40
31
  } }) }), columns.map((_a, idx) => {
41
- var { label, field: _f } = _a, rest = __rest(_a, ["label", "field"]);
42
- return jsx(TableCell, Object.assign({ th: true, textAlign: "left" }, rest, { children: label }), idx);
43
- }), jsx(TableCell, { th: true, width: 30 })] }) }));
44
- };
45
-
46
- export { TableHeadRender as default };
47
- //# sourceMappingURL=TableHead.mjs.map
32
+ var { label, field: _f, sortable } = _a, rest = __rest(_a, ["label", "field", "sortable"]);
33
+ return jsx(TableCell, Object.assign({ th: true, textAlign: "left" }, rest, { children: jsxs(Stack, { flexRow: true, alignItems: "center", cursor: sortable ? "pointer" : "default", userSelect: "none", onClick: () => {
34
+ if (sortable) {
35
+ let newSort = sortables[_f] === 'asc' ? 'desc' : 'asc';
36
+ update({
37
+ sortable: Object.assign(Object.assign({}, sortables), { [_f]: newSort })
38
+ });
39
+ }
40
+ }, children: [label, sortable && jsx(Fragment, { children: sortables[_f] === 'asc' ? jsx(ArrowDropDown, {}) : jsx(ArrowDropUp, {}) })] }) }), idx);
41
+ }), rowAction && jsx(TableCell, { th: true, width: 30 })] }) }));
42
+ };export{TableHeadRender as default};//# sourceMappingURL=TableHead.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.mjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\r\nimport TableHead from '../TableHead'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport { DatatablePropsWithState } from '.'\r\nimport Checkbox from '../Checkbox'\r\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\r\n\r\n\r\nconst TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }: DatatablePropsWithState) => {\r\n if (!columns.length) return <></>\r\n let selected = state.selectedIds\r\n let checked = state.selectAll || !!selected.length\r\n\r\n return (\r\n <TableHead position=\"relative\">\r\n <TableRow bgcolor=\"default\" borderBottom={1} >\r\n {!disableSelect && <TableCell th width={40}>\r\n <Checkbox\r\n checkIcon={selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\r\n checked={checked}\r\n onChange={() => {\r\n let ids: any = []\r\n let undefinedCount = 0\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i]\r\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\r\n if (!isDisable && row.id) {\r\n ids.push(row.id)\r\n } else {\r\n undefinedCount += 1\r\n }\r\n }\r\n\r\n if (undefinedCount) {\r\n update({\r\n selectedIds: selected.length ? [] : ids,\r\n selectAll: !selected.length\r\n })\r\n } else {\r\n update({\r\n selectedIds: state.selectAll ? [] : ids,\r\n selectAll: !state.selectAll\r\n })\r\n }\r\n }}\r\n />\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field: _f, ...rest }, idx) => <TableCell key={idx} th textAlign=\"left\" {...rest}>{label}</TableCell>)\r\n }\r\n <TableCell th width={30}>\r\n\r\n </TableCell>\r\n </TableRow>\r\n </TableHead>\r\n )\r\n}\r\n\r\nexport default TableHeadRender\r\n"],"names":[],"mappings":";;;;;;;;;AASA;;AACyB;AACrB;;AAGA;;;AAUwB;AACI;;AAEA;AACI;;;;;;;AAOJ;;AAEI;AACH;;;AAED;;AAEI;AACH;;AAET;;AAIgD;AAAsE;AAQ9I;;"}
1
+ {"version":3,"file":"TableHead.mjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\nimport TableHead from '../TableHead'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport Checkbox from '../Checkbox'\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\nimport { DatatablePropsWithState } from './types';\nimport Stack from '../Stack';\nimport ArrowDropDown from '@xanui/icons/ArrowDropDown';\nimport { ArrowDropUp } from '@xanui/icons';\n\n\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, state, update }: DatatablePropsWithState) => {\n if (!columns.length) return <></>\n let checked = state.selectAll || !!state.selected.length\n const sortables = state.sortable || {}\n return (\n <TableHead position=\"relative\">\n <TableRow bgcolor=\"default\" borderBottom={1} >\n {!hideCheckbox && <TableCell th width={40}>\n <Checkbox\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\n checked={checked}\n onChange={() => {\n let ids: any = []\n let undefinedCount = 0\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i]\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\n if (!isDisable && row.id) {\n ids.push(row.id)\n } else {\n undefinedCount += 1\n }\n }\n\n if (undefinedCount) {\n update({\n selected: state.selected.length ? [] : ids,\n selectAll: !state.selected.length\n })\n } else {\n update({\n selected: state.selectAll ? [] : ids,\n selectAll: !state.selectAll\n })\n }\n }}\n />\n </TableCell>}\n {\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell key={idx} th textAlign=\"left\" {...rest}>\n <Stack\n flexRow\n alignItems=\"center\"\n cursor={sortable ? \"pointer\" : \"default\"}\n userSelect={\"none\"}\n onClick={() => {\n\n if (sortable) {\n let newSort: any = sortables[_f as any] === 'asc' ? 'desc' : 'asc'\n update({\n sortable: {\n ...sortables,\n [_f as any]: newSort\n }\n })\n }\n }}\n >\n {label}\n {sortable && <>\n {\n sortables[_f as any] === 'asc' ? <ArrowDropDown /> : <ArrowDropUp />\n }\n </>}\n </Stack>\n </TableCell>)\n }\n {\n rowAction && <TableCell th width={30} />\n }\n </TableRow>\n </TableHead>\n )\n}\n\nexport default TableHeadRender\n"],"names":["_jsx","_jsxs","IntermidiatIcon","_Fragment"],"mappings":"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"}
@@ -1,71 +1,6 @@
1
- import React, { ReactElement } from 'react';
2
- import { TableColumnProps } from '../TableCell/index.js';
3
- import { IconButtonProps } from '../IconButton/index.js';
4
- import { InputProps } from '../Input/index.js';
5
- import { TablePaginationProps } from '../TablePagination/index.js';
6
- import { TableProps } from '../Table/index.js';
1
+ import React from 'react';
2
+ import { DatatableProps } from './types.js';
7
3
 
8
- type ColumnType = (Omit<TableColumnProps, "children"> & {
9
- label: string;
10
- field?: string;
11
- });
12
- type DataTableDefaultRow = {
13
- id?: number;
14
- [key: string | number]: any;
15
- };
16
- type RowActionType = Omit<IconButtonProps, "children"> & {
17
- label: string;
18
- icon: ReactElement;
19
- };
20
- type TabsProps = {
21
- label: string;
22
- value?: string;
23
- };
24
- type DatatableFilter = {
25
- label: string;
26
- value: string | number;
27
- };
28
- type DatatableProps = {
29
- rows: DataTableDefaultRow[];
30
- columns: ColumnType[];
31
- tabs?: TabsProps[];
32
- defaultActiveTab?: string;
33
- rowAction?: (props: {
34
- row: DataTableDefaultRow | null;
35
- state: State;
36
- }) => RowActionType[];
37
- renderRow?: (row: DataTableDefaultRow, state: State) => DataTableDefaultRow;
38
- disableRow?: (row: DataTableDefaultRow, state: State) => boolean | void;
39
- totalCount?: number;
40
- page?: number;
41
- perpages?: number[];
42
- getState?: (state: State) => void;
43
- onSearch?: (text: string, state: State) => void;
44
- onTabChange?: (tab: string, state: State) => void;
45
- filters?: {
46
- [key: string]: DatatableFilter[];
47
- };
48
- fixedHeader?: boolean;
49
- disablePagination?: boolean;
50
- disableSearch?: boolean;
51
- disableSelect?: boolean;
52
- slotProps?: {
53
- search?: Omit<InputProps, "value" | "onChange">;
54
- table?: Omit<TableProps, 'children'>;
55
- pagination?: TablePaginationProps;
56
- };
57
- };
58
- type State = {
59
- selectedIds: number[];
60
- selectAll: boolean;
61
- paginationState: {
62
- page: number;
63
- perpage: number;
64
- };
65
- activeTab: string;
66
- search: string;
67
- };
68
4
  declare const DataTable: React.ForwardRefExoticComponent<DatatableProps & React.RefAttributes<HTMLDivElement>>;
69
5
 
70
6
  export { DataTable as default };
71
- export type { ColumnType, DataTableDefaultRow, DatatableFilter, DatatableProps, RowActionType, State, TabsProps };
@@ -1,37 +1,25 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var React = require('react');
6
- var index = require('../ViewBox/index.js');
7
- var core = require('@xanui/core');
8
- var SelectedBox = require('./SelectedBox.js');
9
- var Table = require('./Table.js');
10
- var FilterBox = require('./FilterBox.js');
11
- var index$2 = require('../TablePagination/index.js');
12
- var index$1 = require('../Stack/index.js');
13
-
14
- const DataTable = React.forwardRef((props, ref) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),React=require('react'),index=require('../ViewBox/index.js'),core=require('@xanui/core'),SelectedBox=require('./SelectedBox.js'),Table=require('./Table.js'),FilterBox=require('./FilterBox.js'),index$2=require('../TablePagination/index.js'),index$1=require('../Stack/index.js');const DataTable = React.forwardRef((props, ref) => {
15
2
  let [_props] = core.useInterface("Datatable", props, {});
16
- let { rows, tabs, defaultActiveTab, totalCount, page, perpages, getState, fixedHeader, disablePagination, slotProps, } = _props;
3
+ let { rows, tabs, totalCount, pagination: { perpages = [30, 50, 100] } = {}, defaultState = {}, onStateChange, fixedHeader, disablePagination, slotProps, } = _props;
17
4
  const [state, setState] = React.useState({
18
- selectedIds: [],
19
- selectAll: false,
20
- paginationState: {
21
- page: page || 1,
22
- perpage: perpages ? perpages[0] : 30
5
+ selected: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.selected) || [],
6
+ selectAll: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.selectAll) || false,
7
+ pagination: {
8
+ page: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.page) || 1,
9
+ perpage: perpages && perpages.length > 0 ? perpages[0] : 10,
10
+ from: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.from) || 1,
11
+ to: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.to) || (perpages && perpages.length > 0 ? perpages[0] : 10),
23
12
  },
24
- activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : "",
25
- search: ""
13
+ tab: tabs ? ((defaultState === null || defaultState === void 0 ? void 0 : defaultState.tab) || tabs[0].value || tabs[0].label.toLowerCase()) : "",
14
+ search: (defaultState === null || defaultState === void 0 ? void 0 : defaultState.search) || "",
26
15
  });
27
- const update = (s) => {
28
- setState(o => {
29
- let ns = Object.assign(Object.assign({}, o), s);
30
- getState && getState(ns);
31
- return ns;
32
- });
33
- };
34
- return (jsxRuntime.jsxs(index, { baseClass: 'datatable', ref: ref, height: "100%", sx: {
16
+ const update = (s) => setState(o => (Object.assign(Object.assign({}, o), s)));
17
+ React.useEffect(() => {
18
+ if (onStateChange) {
19
+ onStateChange(state);
20
+ }
21
+ }, [state]);
22
+ return (jsxRuntime.jsxs(index.default, { baseClass: 'datatable', ref: ref, height: "100%", sx: {
35
23
  '& thead': fixedHeader ? {
36
24
  position: "sticky",
37
25
  top: 0,
@@ -42,10 +30,7 @@ const DataTable = React.forwardRef((props, ref) => {
42
30
  display: "flex",
43
31
  flexDirection: "row",
44
32
  justifyContent: "space-between"
45
- }, children: [jsxRuntime.jsx(SelectedBox, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(FilterBox, Object.assign({}, _props, { update: update, state: state }))] })), children: [jsxRuntime.jsx(Table, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(index$1, { p: 1, alignItems: "flex-end", children: !disablePagination && jsxRuntime.jsx(index$2, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.pagination, { total: totalCount || rows.length, page: state.paginationState.page, perpages: perpages, onChange: (state) => {
46
- update({ paginationState: state });
33
+ }, children: [jsxRuntime.jsx(SelectedBox.default, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(FilterBox.default, Object.assign({}, _props, { update: update, state: state }))] })), children: [jsxRuntime.jsx(Table.default, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(index$1.default, { p: 1, alignItems: "flex-end", children: !disablePagination && jsxRuntime.jsx(index$2.default, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.pagination, { total: totalCount || rows.length, page: state.pagination.page, perpage: state.pagination.perpage, perpages: perpages, onChange: (state) => {
34
+ update({ pagination: state });
47
35
  } })) })] }));
48
- });
49
-
50
- module.exports = DataTable;
51
- //# sourceMappingURL=index.js.map
36
+ });exports.default=DataTable;//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactElement, useState } from 'react'\r\nimport { TableColumnProps } from '../TableCell'\r\nimport { IconButtonProps } from '../IconButton'\r\nimport { InputProps } from '../Input'\r\nimport ViewBox from '../ViewBox'\r\nimport { Tag, useInterface } from '@xanui/core';\r\nimport SelectedBox from './SelectedBox'\r\nimport TableArea from './Table'\r\nimport FilterBox from './FilterBox'\r\nimport TablePagination, { TablePaginationProps } from '../TablePagination'\r\nimport Stack from '../Stack'\r\nimport { TableProps } from '../Table'\r\n\r\n\r\nexport type ColumnType = (Omit<TableColumnProps, \"children\"> & { label: string, field?: string })\r\nexport type DataTableDefaultRow = { id?: number, [key: string | number]: any }\r\nexport type RowActionType = Omit<IconButtonProps, \"children\"> & {\r\n label: string;\r\n icon: ReactElement;\r\n}\r\nexport type TabsProps = {\r\n label: string;\r\n value?: string\r\n}\r\nexport type DatatableFilter = {\r\n label: string;\r\n value: string | number\r\n}\r\n\r\nexport type DatatableProps = {\r\n rows: DataTableDefaultRow[];\r\n columns: ColumnType[];\r\n tabs?: TabsProps[];\r\n defaultActiveTab?: string;\r\n rowAction?: (props: { row: DataTableDefaultRow | null, state: State }) => RowActionType[];\r\n renderRow?: (row: DataTableDefaultRow, state: State) => DataTableDefaultRow;\r\n disableRow?: (row: DataTableDefaultRow, state: State) => boolean | void;\r\n totalCount?: number;\r\n page?: number;\r\n perpages?: number[];\r\n getState?: (state: State) => void;\r\n onSearch?: (text: string, state: State) => void;\r\n onTabChange?: (tab: string, state: State) => void;\r\n filters?: { [key: string]: DatatableFilter[] }\r\n fixedHeader?: boolean;\r\n disablePagination?: boolean;\r\n disableSearch?: boolean;\r\n disableSelect?: boolean;\r\n slotProps?: {\r\n search?: Omit<InputProps, \"value\" | \"onChange\">;\r\n table?: Omit<TableProps, 'children'>;\r\n pagination?: TablePaginationProps;\r\n }\r\n}\r\n\r\nexport type State = {\r\n selectedIds: number[];\r\n selectAll: boolean;\r\n paginationState: {\r\n page: number,\r\n perpage: number\r\n },\r\n activeTab: string;\r\n search: string;\r\n}\r\n\r\nexport type DatatablePropsWithState = DatatableProps & {\r\n state: State,\r\n update: (state: Partial<State>) => void;\r\n}\r\n\r\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\r\n let [_props] = useInterface<any>(\"Datatable\", props, {})\r\n let {\r\n rows,\r\n tabs,\r\n defaultActiveTab,\r\n totalCount,\r\n page,\r\n perpages,\r\n getState,\r\n\r\n fixedHeader,\r\n disablePagination,\r\n slotProps,\r\n } = _props\r\n\r\n const [state, setState] = useState<State>({\r\n selectedIds: [],\r\n selectAll: false,\r\n paginationState: {\r\n page: page || 1,\r\n perpage: perpages ? perpages[0] : 30\r\n },\r\n activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\r\n search: \"\"\r\n })\r\n\r\n const update = (s: Partial<State>) => {\r\n setState(o => {\r\n let ns = { ...o, ...s }\r\n getState && getState(ns)\r\n return ns\r\n })\r\n }\r\n\r\n return (\r\n <ViewBox\r\n baseClass='datatable'\r\n ref={ref as any}\r\n height=\"100%\"\r\n sx={{\r\n '& thead': fixedHeader ? {\r\n position: \"sticky\",\r\n top: 0,\r\n bgcolor: \"background.primary\",\r\n zIndex: 1\r\n } : {},\r\n }}\r\n startContent={(\r\n <Tag\r\n baseClass='datatable-header'\r\n sxr={{\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: \"space-between\"\r\n }}\r\n >\r\n <SelectedBox {..._props} update={update} state={state} />\r\n <FilterBox {..._props} update={update} state={state} />\r\n </Tag>\r\n )}\r\n >\r\n <TableArea\r\n {..._props}\r\n update={update}\r\n state={state}\r\n />\r\n <Stack\r\n p={1}\r\n alignItems=\"flex-end\"\r\n >\r\n {!disablePagination && <TablePagination\r\n {...slotProps?.pagination}\r\n total={totalCount || rows.length}\r\n page={state.paginationState.page}\r\n perpages={perpages}\r\n onChange={(state: any) => {\r\n update({ paginationState: state })\r\n }}\r\n />}\r\n </Stack>\r\n </ViewBox>\r\n )\r\n})\r\n\r\nexport default DataTable"],"names":[],"mappings":";;;;;;;;;;;;;AAyEA;AACI;;AAeA;AACI;AACA;AACA;;AAEI;AACH;AACD;AACA;AACH;AAED;;AAEQ;AACA;AACA;AACJ;AACJ;AAEA;AAMY;AACI;AACA;AACA;AACA;;;AAOI;AACA;AACA;;AAuBA;AACJ;AAKpB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useState } from 'react'\nimport ViewBox from '../ViewBox'\nimport { Tag, useInterface } from '@xanui/core';\nimport SelectedBox from './SelectedBox'\nimport TableArea from './Table'\nimport FilterBox from './FilterBox'\nimport TablePagination, { TablePaginationState } from '../TablePagination'\nimport Stack from '../Stack'\nimport { DatatableProps, DatatableState } from './types';\n\n\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\n let [_props] = useInterface<any>(\"Datatable\", props, {})\n let {\n rows,\n tabs,\n totalCount,\n\n pagination: { perpages = [30, 50, 100] } = {},\n defaultState = {},\n onStateChange,\n\n fixedHeader,\n disablePagination,\n slotProps,\n } = _props\n\n const [state, setState] = useState<DatatableState>({\n selected: defaultState?.selected || [],\n selectAll: defaultState?.selectAll || false,\n pagination: {\n page: defaultState?.page || 1,\n perpage: perpages && perpages.length > 0 ? perpages[0] : 10,\n from: defaultState?.from || 1,\n to: defaultState?.to || (perpages && perpages.length > 0 ? perpages[0] : 10),\n },\n tab: tabs ? (defaultState?.tab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\n search: defaultState?.search || \"\",\n })\n\n const update = (s: Partial<DatatableState>) => setState(o => ({ ...o, ...s }))\n\n useEffect(() => {\n if (onStateChange) {\n onStateChange(state)\n }\n }, [state])\n\n return (\n <ViewBox\n baseClass='datatable'\n ref={ref as any}\n height=\"100%\"\n sx={{\n '& thead': fixedHeader ? {\n position: \"sticky\",\n top: 0,\n bgcolor: \"background.primary\",\n zIndex: 1\n } : {},\n }}\n startContent={(\n <Tag\n baseClass='datatable-header'\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }}\n >\n <SelectedBox {..._props} update={update} state={state} />\n <FilterBox {..._props} update={update} state={state} />\n </Tag>\n )}\n >\n <TableArea\n {..._props}\n update={update}\n state={state}\n />\n <Stack\n p={1}\n alignItems=\"flex-end\"\n >\n {!disablePagination && <TablePagination\n {...slotProps?.pagination}\n total={totalCount || rows.length}\n page={state.pagination.page}\n perpage={state.pagination.perpage}\n perpages={perpages}\n onChange={(state: TablePaginationState) => {\n update({ pagination: state })\n }}\n />}\n </Stack>\n </ViewBox>\n )\n})\n\nexport default DataTable"],"names":["useInterface","useState","useEffect","_jsxs","ViewBox","Tag","_jsx","SelectedBox","FilterBox","TableArea","Stack","TablePagination"],"mappings":"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"}