@xanui/ui 1.1.9 → 1.1.10
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.
- package/Accordion/{index.js → index.cjs} +17 -3
- package/Accordion/index.cjs.map +1 -0
- package/Accordion/index.mjs +14 -2
- package/Accordion/index.mjs.map +1 -1
- package/Alert/{index.js → index.cjs} +23 -5
- package/Alert/index.cjs.map +1 -0
- package/Alert/index.mjs +18 -2
- package/Alert/index.mjs.map +1 -1
- package/Avatar/{index.js → index.cjs} +13 -2
- package/Avatar/index.cjs.map +1 -0
- package/Avatar/index.mjs +11 -2
- package/Avatar/index.mjs.map +1 -1
- package/Badge/{index.js → index.cjs} +12 -2
- package/Badge/index.cjs.map +1 -0
- package/Badge/index.mjs +10 -2
- package/Badge/index.mjs.map +1 -1
- package/Box/index.cjs +14 -0
- package/Box/index.cjs.map +1 -0
- package/Box/index.mjs +10 -2
- package/Box/index.mjs.map +1 -1
- package/Button/{index.js → index.cjs} +16 -4
- package/Button/index.cjs.map +1 -0
- package/Button/index.mjs +12 -2
- package/Button/index.mjs.map +1 -1
- package/ButtonGroup/{index.js → index.cjs} +12 -2
- package/ButtonGroup/index.cjs.map +1 -0
- package/ButtonGroup/index.mjs +10 -2
- package/ButtonGroup/index.mjs.map +1 -1
- package/Calendar/{index.js → index.cjs} +34 -16
- package/Calendar/index.cjs.map +1 -0
- package/Calendar/index.mjs +18 -2
- package/Calendar/index.mjs.map +1 -1
- package/CalendarInput/index.cjs +29 -0
- package/CalendarInput/index.cjs.map +1 -0
- package/CalendarInput/index.mjs +18 -2
- package/CalendarInput/index.mjs.map +1 -1
- package/Checkbox/{index.js → index.cjs} +15 -2
- package/Checkbox/index.cjs.map +1 -0
- package/Checkbox/index.mjs +13 -2
- package/Checkbox/index.mjs.map +1 -1
- package/Chip/{index.js → index.cjs} +14 -3
- package/Chip/index.cjs.map +1 -0
- package/Chip/index.mjs +11 -2
- package/Chip/index.mjs.map +1 -1
- package/CircleProgress/{index.js → index.cjs} +12 -2
- package/CircleProgress/index.cjs.map +1 -0
- package/CircleProgress/index.mjs +10 -2
- package/CircleProgress/index.mjs.map +1 -1
- package/ClickOutside/{index.js → index.cjs} +12 -2
- package/ClickOutside/index.cjs.map +1 -0
- package/ClickOutside/index.mjs +10 -2
- package/ClickOutside/index.mjs.map +1 -1
- package/Collaps/{index.js → index.cjs} +12 -2
- package/Collaps/index.cjs.map +1 -0
- package/Collaps/index.mjs +10 -2
- package/Collaps/index.mjs.map +1 -1
- package/Container/{index.js → index.cjs} +12 -2
- package/Container/index.cjs.map +1 -0
- package/Container/index.mjs +10 -2
- package/Container/index.mjs.map +1 -1
- package/Datatable/FilterBox.cjs +33 -0
- package/Datatable/FilterBox.cjs.map +1 -0
- package/Datatable/FilterBox.mjs +14 -2
- package/Datatable/FilterBox.mjs.map +1 -1
- package/Datatable/{Row.js → Row.cjs} +24 -7
- package/Datatable/Row.cjs.map +1 -0
- package/Datatable/Row.mjs +17 -2
- package/Datatable/Row.mjs.map +1 -1
- package/Datatable/SelectedBox.cjs +22 -0
- package/Datatable/SelectedBox.cjs.map +1 -0
- package/Datatable/SelectedBox.mjs +11 -2
- package/Datatable/SelectedBox.mjs.map +1 -1
- package/Datatable/Table.cjs +22 -0
- package/Datatable/Table.cjs.map +1 -0
- package/Datatable/Table.mjs +11 -2
- package/Datatable/Table.mjs.map +1 -1
- package/Datatable/{TableHead.js → TableHead.cjs} +18 -5
- package/Datatable/TableHead.cjs.map +1 -0
- package/Datatable/TableHead.mjs +13 -2
- package/Datatable/TableHead.mjs.map +1 -1
- package/Datatable/index.cjs +50 -0
- package/Datatable/index.cjs.map +1 -0
- package/Datatable/index.mjs +15 -2
- package/Datatable/index.mjs.map +1 -1
- package/Divider/{index.js → index.cjs} +12 -2
- package/Divider/index.cjs.map +1 -0
- package/Divider/index.mjs +10 -2
- package/Divider/index.mjs.map +1 -1
- package/Drawer/{index.js → index.cjs} +15 -4
- package/Drawer/index.cjs.map +1 -0
- package/Drawer/index.mjs +11 -2
- package/Drawer/index.mjs.map +1 -1
- package/Form/{index.js → index.cjs} +12 -2
- package/Form/index.cjs.map +1 -0
- package/Form/index.mjs +10 -2
- package/Form/index.mjs.map +1 -1
- package/GridContainer/{index.js → index.cjs} +12 -2
- package/GridContainer/index.cjs.map +1 -0
- package/GridContainer/index.mjs +10 -2
- package/GridContainer/index.mjs.map +1 -1
- package/GridItem/{index.js → index.cjs} +12 -2
- package/GridItem/index.cjs.map +1 -0
- package/GridItem/index.mjs +10 -2
- package/GridItem/index.mjs.map +1 -1
- package/IconButton/{index.js → index.cjs} +14 -3
- package/IconButton/index.cjs.map +1 -0
- package/IconButton/index.mjs +11 -2
- package/IconButton/index.mjs.map +1 -1
- package/Image/{index.js → index.cjs} +12 -2
- package/Image/index.cjs.map +1 -0
- package/Image/index.mjs +10 -2
- package/Image/index.mjs.map +1 -1
- package/Input/{index.js → index.cjs} +17 -6
- package/Input/index.cjs.map +1 -0
- package/Input/index.mjs +14 -5
- package/Input/index.mjs.map +1 -1
- package/Label/{index.js → index.cjs} +12 -2
- package/Label/index.cjs.map +1 -0
- package/Label/index.mjs +10 -2
- package/Label/index.mjs.map +1 -1
- package/Layer/{index.js → index.cjs} +16 -4
- package/Layer/index.cjs.map +1 -0
- package/Layer/index.mjs +12 -2
- package/Layer/index.mjs.map +1 -1
- package/LineProgress/{index.js → index.cjs} +12 -2
- package/LineProgress/index.cjs.map +1 -0
- package/LineProgress/index.mjs +10 -2
- package/LineProgress/index.mjs.map +1 -1
- package/List/{index.js → index.cjs} +12 -2
- package/List/index.cjs.map +1 -0
- package/List/index.mjs +10 -2
- package/List/index.mjs.map +1 -1
- package/ListItem/{index.js → index.cjs} +14 -3
- package/ListItem/index.cjs.map +1 -0
- package/ListItem/index.mjs +11 -2
- package/ListItem/index.mjs.map +1 -1
- package/LoadingBox/{index.js → index.cjs} +14 -3
- package/LoadingBox/index.cjs.map +1 -0
- package/LoadingBox/index.mjs +11 -2
- package/LoadingBox/index.mjs.map +1 -1
- package/Menu/{index.js → index.cjs} +15 -3
- package/Menu/index.cjs.map +1 -0
- package/Menu/index.mjs +12 -2
- package/Menu/index.mjs.map +1 -1
- package/Modal/{index.js → index.cjs} +14 -3
- package/Modal/index.cjs.map +1 -0
- package/Modal/index.mjs +11 -2
- package/Modal/index.mjs.map +1 -1
- package/NoSSR/index.cjs +14 -0
- package/NoSSR/index.cjs.map +1 -0
- package/NoSSR/index.mjs +7 -2
- package/NoSSR/index.mjs.map +1 -1
- package/Option/index.cjs +14 -0
- package/Option/index.cjs.map +1 -0
- package/Option/index.mjs +10 -2
- package/Option/index.mjs.map +1 -1
- package/Paper/{index.js → index.cjs} +12 -2
- package/Paper/index.cjs.map +1 -0
- package/Paper/index.mjs +10 -2
- package/Paper/index.mjs.map +1 -1
- package/Portal/{index.js → index.cjs} +12 -2
- package/Portal/index.cjs.map +1 -0
- package/Portal/index.mjs +10 -2
- package/Portal/index.mjs.map +1 -1
- package/Radio/index.cjs +16 -0
- package/Radio/index.cjs.map +1 -0
- package/Radio/index.mjs +12 -2
- package/Radio/index.mjs.map +1 -1
- package/Scrollbar/{index.js → index.cjs} +12 -2
- package/Scrollbar/index.cjs.map +1 -0
- package/Scrollbar/index.mjs +10 -2
- package/Scrollbar/index.mjs.map +1 -1
- package/Select/{index.js → index.cjs} +21 -5
- package/Select/index.cjs.map +1 -0
- package/Select/index.mjs +16 -2
- package/Select/index.mjs.map +1 -1
- package/Stack/index.cjs +17 -0
- package/Stack/index.cjs.map +1 -0
- package/Stack/index.mjs +10 -2
- package/Stack/index.mjs.map +1 -1
- package/Switch/{index.js → index.cjs} +12 -2
- package/Switch/index.cjs.map +1 -0
- package/Switch/index.mjs +10 -2
- package/Switch/index.mjs.map +1 -1
- package/Tab/index.cjs +16 -0
- package/Tab/index.cjs.map +1 -0
- package/Tab/index.mjs +11 -2
- package/Tab/index.mjs.map +1 -1
- package/Table/{index.js → index.cjs} +14 -3
- package/Table/index.cjs.map +1 -0
- package/Table/index.mjs +11 -2
- package/Table/index.mjs.map +1 -1
- package/TableBody/index.cjs +14 -0
- package/TableBody/index.cjs.map +1 -0
- package/TableBody/index.mjs +10 -2
- package/TableBody/index.mjs.map +1 -1
- package/TableCell/{index.js → index.cjs} +12 -2
- package/TableCell/index.cjs.map +1 -0
- package/TableCell/index.mjs +10 -2
- package/TableCell/index.mjs.map +1 -1
- package/TableFooter/index.cjs +14 -0
- package/TableFooter/index.cjs.map +1 -0
- package/TableFooter/index.mjs +10 -2
- package/TableFooter/index.mjs.map +1 -1
- package/TableHead/index.cjs +14 -0
- package/TableHead/index.cjs.map +1 -0
- package/TableHead/index.mjs +10 -2
- package/TableHead/index.mjs.map +1 -1
- package/TablePagination/{index.js → index.cjs} +22 -6
- package/TablePagination/index.cjs.map +1 -0
- package/TablePagination/index.mjs +16 -2
- package/TablePagination/index.mjs.map +1 -1
- package/TableRow/index.cjs +14 -0
- package/TableRow/index.cjs.map +1 -0
- package/TableRow/index.mjs +10 -2
- package/TableRow/index.mjs.map +1 -1
- package/Tabs/{index.js → index.cjs} +13 -3
- package/Tabs/index.cjs.map +1 -0
- package/Tabs/index.mjs +11 -3
- package/Tabs/index.mjs.map +1 -1
- package/Text/{index.js → index.cjs} +12 -2
- package/Text/index.cjs.map +1 -0
- package/Text/index.mjs +10 -2
- package/Text/index.mjs.map +1 -1
- package/Toast/{index.js → index.cjs} +17 -4
- package/Toast/index.cjs.map +1 -0
- package/Toast/index.mjs +13 -2
- package/Toast/index.mjs.map +1 -1
- package/Tooltip/{index.js → index.cjs} +14 -4
- package/Tooltip/index.cjs.map +1 -0
- package/Tooltip/index.mjs +11 -3
- package/Tooltip/index.mjs.map +1 -1
- package/ViewBox/{index.js → index.cjs} +14 -3
- package/ViewBox/index.cjs.map +1 -0
- package/ViewBox/index.mjs +11 -2
- package/ViewBox/index.mjs.map +1 -1
- package/index.cjs +116 -0
- package/index.cjs.map +1 -0
- package/index.mjs +56 -1
- package/index.mjs.map +1 -1
- package/package.json +4 -14
- package/readme.md +104 -104
- package/useAlert/{index.js → index.cjs} +18 -5
- package/useAlert/index.cjs.map +1 -0
- package/useAlert/index.d.ts +2 -2
- package/useAlert/index.mjs +13 -2
- package/useAlert/index.mjs.map +1 -1
- package/useBlurCss/{index.js → index.cjs} +10 -2
- package/useBlurCss/index.cjs.map +1 -0
- package/useBlurCss/index.mjs +8 -2
- package/useBlurCss/index.mjs.map +1 -1
- package/useCorner/{index.js → index.cjs} +7 -2
- package/useCorner/index.cjs.map +1 -0
- package/useCorner/index.mjs +4 -1
- package/useCorner/index.mjs.map +1 -1
- package/useLayer/{index.js → index.cjs} +13 -3
- package/useLayer/index.cjs.map +1 -0
- package/useLayer/index.mjs +10 -2
- package/useLayer/index.mjs.map +1 -1
- package/useModal/{index.js → index.cjs} +13 -3
- package/useModal/index.cjs.map +1 -0
- package/useModal/index.mjs +10 -2
- package/useModal/index.mjs.map +1 -1
- package/Accordion/index.js.map +0 -1
- package/Alert/index.js.map +0 -1
- package/Avatar/index.js.map +0 -1
- package/Badge/index.js.map +0 -1
- package/Box/index.js +0 -4
- package/Box/index.js.map +0 -1
- package/Button/index.js.map +0 -1
- package/ButtonGroup/index.js.map +0 -1
- package/Calendar/index.js.map +0 -1
- package/CalendarInput/index.js +0 -11
- package/CalendarInput/index.js.map +0 -1
- package/Checkbox/index.js.map +0 -1
- package/Chip/index.js.map +0 -1
- package/CircleProgress/index.js.map +0 -1
- package/ClickOutside/index.js.map +0 -1
- package/Collaps/index.js.map +0 -1
- package/Container/index.js.map +0 -1
- package/Datatable/FilterBox.js +0 -19
- package/Datatable/FilterBox.js.map +0 -1
- package/Datatable/Row.js.map +0 -1
- package/Datatable/SelectedBox.js +0 -11
- package/Datatable/SelectedBox.js.map +0 -1
- package/Datatable/Table.js +0 -11
- package/Datatable/Table.js.map +0 -1
- package/Datatable/TableHead.js.map +0 -1
- package/Datatable/index.js +0 -35
- package/Datatable/index.js.map +0 -1
- package/Divider/index.js.map +0 -1
- package/Drawer/index.js.map +0 -1
- package/Form/index.js.map +0 -1
- package/GridContainer/index.js.map +0 -1
- package/GridItem/index.js.map +0 -1
- package/IconButton/index.js.map +0 -1
- package/Image/index.js.map +0 -1
- package/Input/index.js.map +0 -1
- package/Label/index.js.map +0 -1
- package/Layer/index.js.map +0 -1
- package/LineProgress/index.js.map +0 -1
- package/List/index.js.map +0 -1
- package/ListItem/index.js.map +0 -1
- package/LoadingBox/index.js.map +0 -1
- package/Menu/index.js.map +0 -1
- package/Modal/index.js.map +0 -1
- package/NoSSR/index.js +0 -7
- package/NoSSR/index.js.map +0 -1
- package/Option/index.js +0 -4
- package/Option/index.js.map +0 -1
- package/Paper/index.js.map +0 -1
- package/Portal/index.js.map +0 -1
- package/Radio/index.js +0 -4
- package/Radio/index.js.map +0 -1
- package/Scrollbar/index.js.map +0 -1
- package/Select/index.js.map +0 -1
- package/Stack/index.js +0 -7
- package/Stack/index.js.map +0 -1
- package/Switch/index.js.map +0 -1
- package/Tab/index.js +0 -5
- package/Tab/index.js.map +0 -1
- package/Table/index.js.map +0 -1
- package/TableBody/index.js +0 -4
- package/TableBody/index.js.map +0 -1
- package/TableCell/index.js.map +0 -1
- package/TableFooter/index.js +0 -4
- package/TableFooter/index.js.map +0 -1
- package/TableHead/index.js +0 -4
- package/TableHead/index.js.map +0 -1
- package/TablePagination/index.js.map +0 -1
- package/TableRow/index.js +0 -4
- package/TableRow/index.js.map +0 -1
- package/Tabs/index.js.map +0 -1
- package/Text/index.js.map +0 -1
- package/Toast/index.js.map +0 -1
- package/Tooltip/index.js.map +0 -1
- package/ViewBox/index.js.map +0 -1
- package/index.js +0 -1
- package/index.js.map +0 -1
- package/useAlert/index.js.map +0 -1
- package/useBlurCss/index.js.map +0 -1
- package/useCorner/index.js.map +0 -1
- package/useLayer/index.js.map +0 -1
- package/useModal/index.js.map +0 -1
package/Container/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/Container/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\n}\n\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (maxWidth) _p.maxWidth = maxWidth\n const p: any = useBreakpointProps(_p)\n maxWidth = p.maxWidth\n\n const { breakpoints } = useTheme()\n maxWidth = maxWidth || \"lg\"\n return (\n <Tag\n {...rest}\n sxr={{\n width: \"100%\",\n maxWidth: {\n xs: \"100%\",\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\n },\n mx: \"auto\",\n px: 2,\n }}\n baseClass=\"container\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Container\n\n\n"],"names":["_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Container/index.tsx"],"sourcesContent":["\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\n\r\n\r\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\r\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\r\n}\r\n\r\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\r\n const _p: any = {}\r\n if (maxWidth) _p.maxWidth = maxWidth\r\n const p: any = useBreakpointProps(_p)\r\n maxWidth = p.maxWidth\r\n\r\n const { breakpoints } = useTheme()\r\n maxWidth = maxWidth || \"lg\"\r\n return (\r\n <Tag\r\n {...rest}\r\n sxr={{\r\n width: \"100%\",\r\n maxWidth: {\r\n xs: \"100%\",\r\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\r\n },\r\n mx: \"auto\",\r\n px: 2,\r\n }}\r\n baseClass=\"container\"\r\n ref={ref}\r\n >{children}</Tag>\r\n )\r\n})\r\n\r\nexport default Container\r\n\r\n\r\n"],"names":["_jsx"],"mappings":";;;;;AASA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAkD,EAAE,GAAoB,KAAI;QAA5E,EAAE,QAAQ,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAA7B,wBAA+B,CAAF;IACjG,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,QAAQ;AAAE,QAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACpC,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,QAAQ,GAAG,CAAC,CAAC,QAAQ;AAErB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE;AAClC,IAAA,QAAQ,GAAG,QAAQ,IAAI,IAAI;AAC3B,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE;AACN,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,CAAC,QAAe,GAAI,WAAmB,CAAC,QAAe;AAC1D,aAAA;AACD,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,EAAE,EAAE,CAAC;SACR,EACD,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var index = require('../Stack/index.cjs');
|
|
5
|
+
var index$1 = require('../Tabs/index.cjs');
|
|
6
|
+
var index$2 = require('../Tab/index.cjs');
|
|
7
|
+
var index$3 = require('../Select/index.cjs');
|
|
8
|
+
var index$4 = require('../Option/index.cjs');
|
|
9
|
+
var index$5 = require('../Input/index.cjs');
|
|
10
|
+
var IconSearch = require('@xanui/icons/Search');
|
|
11
|
+
|
|
12
|
+
const FilterBox = (props) => {
|
|
13
|
+
let { tabs, filters, onSearch, onTabChange, disableSearch, slotProps, state, update, } = props;
|
|
14
|
+
let selected = state.selectedIds;
|
|
15
|
+
let checked = state.selectAll || !!selected.length;
|
|
16
|
+
if (checked)
|
|
17
|
+
return jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
18
|
+
return (jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", zIndex: 1, radius: 1, mb: 1, height: 50, width: "100%", children: [jsxRuntime.jsx(index, { gap: 2.4, flexRow: true, children: tabs && jsxRuntime.jsx(index$1, { onChange: (value) => {
|
|
19
|
+
update({ activeTab: value });
|
|
20
|
+
onTabChange && onTabChange(value, state);
|
|
21
|
+
}, value: state.activeTab, children: tabs.map(t => jsxRuntime.jsx(index$2, { value: t.value || t.label.toLowerCase(), children: t.label }, t.label)) }) }), jsxRuntime.jsx(index, { className: 'datatable-header-filter-area', flex: 1, flexRow: true, children: filters && jsxRuntime.jsx(index, { flexRow: true, gap: 2, px: 2, children: Object.keys(filters).map(name => {
|
|
22
|
+
const items = filters[name];
|
|
23
|
+
return (jsxRuntime.jsx(index$3, { placeholder: name.charAt(0).toUpperCase() + name.slice(1), value: state[name] || "", onChange: (value) => {
|
|
24
|
+
update({ [name]: value });
|
|
25
|
+
}, children: items.map((item) => jsxRuntime.jsx(index$4, { value: item.value, children: item.label }, name + item.value)) }, name));
|
|
26
|
+
}) }) }), jsxRuntime.jsx(index, { flexRow: true, gap: 2, className: 'datatable-header-right-area', children: !disableSearch && jsxRuntime.jsx(index$5, Object.assign({ endIcon: jsxRuntime.jsx(IconSearch, {}), p: 1, placeholder: 'Search...' }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.search, { value: state.search, onChange: (e) => {
|
|
27
|
+
update({ search: e.target.value });
|
|
28
|
+
onSearch && onSearch(e.target.value, state);
|
|
29
|
+
} })) })] }));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
module.exports = FilterBox;
|
|
33
|
+
//# sourceMappingURL=FilterBox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterBox.cjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\r\nimport Stack from '../Stack'\r\nimport { DatatableFilter, DatatablePropsWithState } from '.'\r\nimport Tabs from '../Tabs'\r\nimport Tab from '../Tab'\r\nimport Select from '../Select'\r\nimport Option from '../Option'\r\nimport Input from '../Input'\r\nimport IconSearch from '@xanui/icons/Search'\r\n\r\n\r\nconst FilterBox = (props: DatatablePropsWithState) => {\r\n let {\r\n tabs,\r\n filters,\r\n onSearch,\r\n onTabChange,\r\n disableSearch,\r\n slotProps,\r\n state,\r\n update,\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 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 >\r\n <Stack gap={2.4} flexRow>\r\n {\r\n tabs && <Tabs\r\n onChange={(value: any) => {\r\n update({ activeTab: value })\r\n onTabChange && onTabChange(value, state)\r\n }}\r\n value={state.activeTab}\r\n >\r\n {\r\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\r\n }\r\n </Tabs>\r\n }\r\n </Stack>\r\n <Stack className='datatable-header-filter-area' flex={1} flexRow>\r\n {\r\n filters && <Stack flexRow gap={2} px={2}>\r\n {\r\n Object.keys(filters).map(name => {\r\n const items: DatatableFilter[] = (filters as any)[name]\r\n return (\r\n <Select\r\n key={name}\r\n placeholder={name.charAt(0).toUpperCase() + name.slice(1)}\r\n value={(state as any)[name] || \"\"}\r\n onChange={(value) => {\r\n update({ [name]: value } as any)\r\n }}\r\n >\r\n {\r\n items.map((item) => <Option key={name + item.value} value={item.value}>\r\n {item.label}\r\n </Option>)\r\n }\r\n </Select>\r\n )\r\n })\r\n }\r\n </Stack>\r\n }\r\n </Stack>\r\n <Stack flexRow gap={2} className='datatable-header-right-area'>\r\n\r\n {!disableSearch && <Input\r\n endIcon={<IconSearch />}\r\n p={1}\r\n placeholder='Search...'\r\n {...slotProps?.search}\r\n value={state.search}\r\n onChange={(e: any) => {\r\n update({ search: e.target.value })\r\n onSearch && onSearch(e.target.value, state)\r\n }}\r\n />}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default FilterBox"],"names":["_jsx","_jsxs","Stack","Tabs","Tab","Select","Option","Input"],"mappings":"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"}
|
package/Datatable/FilterBox.mjs
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {jsx,Fragment,jsxs}from'react/jsx-runtime';
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import Stack from '../Stack/index.mjs';
|
|
3
|
+
import Tabs from '../Tabs/index.mjs';
|
|
4
|
+
import Tab from '../Tab/index.mjs';
|
|
5
|
+
import Select from '../Select/index.mjs';
|
|
6
|
+
import Option from '../Option/index.mjs';
|
|
7
|
+
import Input from '../Input/index.mjs';
|
|
8
|
+
import IconSearch from '@xanui/icons/Search';
|
|
9
|
+
|
|
10
|
+
const FilterBox = (props) => {
|
|
2
11
|
let { tabs, filters, onSearch, onTabChange, disableSearch, slotProps, state, update, } = props;
|
|
3
12
|
let selected = state.selectedIds;
|
|
4
13
|
let checked = state.selectAll || !!selected.length;
|
|
@@ -16,4 +25,7 @@ import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Stack from'../Stack/ind
|
|
|
16
25
|
update({ search: e.target.value });
|
|
17
26
|
onSearch && onSearch(e.target.value, state);
|
|
18
27
|
} })) })] }));
|
|
19
|
-
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { FilterBox as default };
|
|
31
|
+
//# sourceMappingURL=FilterBox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBox.mjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\nimport Stack from '../Stack'\nimport { DatatableFilter, DatatablePropsWithState } from '.'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Select from '../Select'\nimport Option from '../Option'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\n\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n onSearch,\n onTabChange,\n disableSearch,\n slotProps,\n state,\n update,\n } = props\n\n let selected = state.selectedIds\n let checked = state.selectAll || !!selected.length\n\n if (checked) return <></>\n\n return (\n <Stack\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 >\n <Stack gap={2.4} flexRow>\n {\n tabs && <Tabs\n onChange={(value: any) => {\n update({ activeTab: value })\n onTabChange && onTabChange(value, state)\n }}\n value={state.activeTab}\n >\n {\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\n }\n </Tabs>\n }\n </Stack>\n <Stack className='datatable-header-filter-area' flex={1} flexRow>\n {\n filters && <Stack flexRow gap={2} px={2}>\n {\n Object.keys(filters).map(name => {\n const items: DatatableFilter[] = (filters as any)[name]\n return (\n <Select\n key={name}\n placeholder={name.charAt(0).toUpperCase() + name.slice(1)}\n value={(state as any)[name] || \"\"}\n onChange={(value) => {\n update({ [name]: value } as any)\n }}\n >\n {\n items.map((item) => <Option key={name + item.value} value={item.value}>\n {item.label}\n </Option>)\n }\n </Select>\n )\n })\n }\n </Stack>\n }\n </Stack>\n <Stack flexRow gap={2} className='datatable-header-right-area'>\n\n {!disableSearch && <Input\n endIcon={<IconSearch />}\n p={1}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n onSearch && onSearch(e.target.value, state)\n }}\n />}\n </Stack>\n </Stack>\n )\n}\n\nexport default FilterBox"],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterBox.mjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\r\nimport Stack from '../Stack'\r\nimport { DatatableFilter, DatatablePropsWithState } from '.'\r\nimport Tabs from '../Tabs'\r\nimport Tab from '../Tab'\r\nimport Select from '../Select'\r\nimport Option from '../Option'\r\nimport Input from '../Input'\r\nimport IconSearch from '@xanui/icons/Search'\r\n\r\n\r\nconst FilterBox = (props: DatatablePropsWithState) => {\r\n let {\r\n tabs,\r\n filters,\r\n onSearch,\r\n onTabChange,\r\n disableSearch,\r\n slotProps,\r\n state,\r\n update,\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 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 >\r\n <Stack gap={2.4} flexRow>\r\n {\r\n tabs && <Tabs\r\n onChange={(value: any) => {\r\n update({ activeTab: value })\r\n onTabChange && onTabChange(value, state)\r\n }}\r\n value={state.activeTab}\r\n >\r\n {\r\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\r\n }\r\n </Tabs>\r\n }\r\n </Stack>\r\n <Stack className='datatable-header-filter-area' flex={1} flexRow>\r\n {\r\n filters && <Stack flexRow gap={2} px={2}>\r\n {\r\n Object.keys(filters).map(name => {\r\n const items: DatatableFilter[] = (filters as any)[name]\r\n return (\r\n <Select\r\n key={name}\r\n placeholder={name.charAt(0).toUpperCase() + name.slice(1)}\r\n value={(state as any)[name] || \"\"}\r\n onChange={(value) => {\r\n update({ [name]: value } as any)\r\n }}\r\n >\r\n {\r\n items.map((item) => <Option key={name + item.value} value={item.value}>\r\n {item.label}\r\n </Option>)\r\n }\r\n </Select>\r\n )\r\n })\r\n }\r\n </Stack>\r\n }\r\n </Stack>\r\n <Stack flexRow gap={2} className='datatable-header-right-area'>\r\n\r\n {!disableSearch && <Input\r\n endIcon={<IconSearch />}\r\n p={1}\r\n placeholder='Search...'\r\n {...slotProps?.search}\r\n value={state.search}\r\n onChange={(e: any) => {\r\n update({ search: e.target.value })\r\n onSearch && onSearch(e.target.value, state)\r\n }}\r\n />}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default FilterBox"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var index = require('../TableRow/index.cjs');
|
|
7
|
+
var index$1 = require('../TableCell/index.cjs');
|
|
8
|
+
var index$2 = require('../Checkbox/index.cjs');
|
|
9
|
+
var index$3 = require('../IconButton/index.cjs');
|
|
10
|
+
var index$5 = require('../List/index.cjs');
|
|
11
|
+
var index$6 = require('../ListItem/index.cjs');
|
|
12
|
+
var ActionIcon = require('@xanui/icons/MoreVert');
|
|
13
|
+
var index$4 = require('../Menu/index.cjs');
|
|
14
|
+
|
|
15
|
+
const Row = ({ rows, rawRow, row, rowAction, disableRow, disableSelect, columns, state, update }) => {
|
|
2
16
|
let selectesIds = state.selectedIds;
|
|
3
17
|
const selected = row.id ? state.selectedIds.includes(row === null || row === void 0 ? void 0 : row.id) : false;
|
|
4
18
|
let selectedColor = selected ? "primary.soft" : "transparent";
|
|
5
19
|
const [target, setTarget] = React.useState();
|
|
6
20
|
const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false;
|
|
7
|
-
return (jsxRuntime.jsxs(index
|
|
21
|
+
return (jsxRuntime.jsxs(index, { disabled: isDisable, children: [!disableSelect && jsxRuntime.jsx(index$1, { width: 40, bgcolor: selectedColor, children: !!row.id && jsxRuntime.jsx(index$2, { checked: selected, onChange: () => {
|
|
8
22
|
if (isDisable || !row.id)
|
|
9
23
|
return;
|
|
10
24
|
let ids = [...selectesIds];
|
|
@@ -23,9 +37,9 @@
|
|
|
23
37
|
var { label, field } = _a, rest = tslib.__rest(_a, ["label", "field"]);
|
|
24
38
|
field = field || label;
|
|
25
39
|
if (!row[field])
|
|
26
|
-
return jsxRuntime.jsx(index$1
|
|
27
|
-
return (jsxRuntime.jsx(index$1
|
|
28
|
-
}), jsxRuntime.jsx(index$1
|
|
40
|
+
return jsxRuntime.jsx(index$1, {}, idx);
|
|
41
|
+
return (jsxRuntime.jsx(index$1, Object.assign({ textAlign: "left" }, rest, { bgcolor: selectedColor, children: row[field] }), idx));
|
|
42
|
+
}), jsxRuntime.jsx(index$1, { width: 30, bgcolor: selectedColor, borderColor: "divider", children: rowAction && jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(index$3, { disabled: isDisable || selected, onClick: (e) => setTarget(e.currentTarget), variant: "text", color: "default", children: jsxRuntime.jsx(ActionIcon, {}) }), jsxRuntime.jsx(index$4, { target: target, placement: "bottom-right", onClickOutside: () => setTarget(null), children: jsxRuntime.jsx(index$5, { bgcolor: "background.primary", minWidth: 160, sx: {
|
|
29
43
|
'& > li': {
|
|
30
44
|
borderBottom: 1,
|
|
31
45
|
'&:last-child': {
|
|
@@ -33,9 +47,12 @@
|
|
|
33
47
|
}
|
|
34
48
|
}
|
|
35
49
|
}, children: rowAction({ row, state }).map(({ label, icon, onClick }) => {
|
|
36
|
-
return (jsxRuntime.jsx(index$6
|
|
50
|
+
return (jsxRuntime.jsx(index$6, { startIcon: icon, onClick: (e) => {
|
|
37
51
|
onClick && onClick(e);
|
|
38
52
|
setTarget(null);
|
|
39
53
|
}, children: label }, label));
|
|
40
54
|
}) }) })] }) })] }));
|
|
41
|
-
};
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
module.exports = Row;
|
|
58
|
+
//# sourceMappingURL=Row.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Row.cjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\r\nimport { useState } from 'react'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport { DataTableDefaultRow, DatatablePropsWithState } from '.'\r\nimport Checkbox from '../Checkbox'\r\nimport IconButton from '../IconButton'\r\nimport List from '../List'\r\nimport ListItem from '../ListItem'\r\nimport ActionIcon from '@xanui/icons/MoreVert'\r\nimport Menu from '../Menu'\r\n\r\n\r\ntype Props = DatatablePropsWithState & {\r\n rawRow: DataTableDefaultRow;\r\n row: DataTableDefaultRow;\r\n}\r\n\r\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, disableSelect, columns, state, update }: Props) => {\r\n let selectesIds = state.selectedIds\r\n const selected = row.id ? state.selectedIds.includes(row?.id) : false\r\n let selectedColor = selected ? \"primary.soft\" : \"transparent\"\r\n const [target, setTarget] = useState<any>()\r\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\r\n\r\n return (\r\n <TableRow disabled={isDisable}>\r\n {!disableSelect && <TableCell width={40} bgcolor={selectedColor}>\r\n {\r\n !!row.id && <Checkbox\r\n checked={selected}\r\n onChange={() => {\r\n if (isDisable || !row.id) return\r\n let ids = [...selectesIds]\r\n ids.includes(row.id) ? ids.splice(ids.indexOf(row.id), 1) : ids.push(row.id)\r\n let selectedLength = 0\r\n rows.forEach(r => {\r\n const isDisable = (disableRow ? disableRow(r, state) : false) || false\r\n if (!isDisable) selectedLength++\r\n })\r\n\r\n update({\r\n selectAll: selectedLength === ids.length,\r\n selectedIds: ids\r\n })\r\n }}\r\n />\r\n }\r\n\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field, ...rest }, idx) => {\r\n field = field || label\r\n if (!row[field]) return <TableCell key={idx}></TableCell>\r\n return (\r\n <TableCell\r\n key={idx}\r\n textAlign=\"left\"\r\n {...rest}\r\n bgcolor={selectedColor}\r\n >\r\n {row[field]}\r\n </TableCell>\r\n )\r\n })\r\n }\r\n <TableCell width={30} bgcolor={selectedColor} borderColor=\"divider\">\r\n {rowAction && <>\r\n <IconButton\r\n disabled={isDisable || selected}\r\n onClick={(e: any) => setTarget(e.currentTarget)}\r\n variant=\"text\"\r\n color=\"default\"\r\n >\r\n <ActionIcon />\r\n </IconButton>\r\n <Menu target={target} placement=\"bottom-right\" onClickOutside={() => setTarget(null)}>\r\n <List\r\n bgcolor=\"background.primary\"\r\n minWidth={160}\r\n sx={{\r\n '& > li': {\r\n borderBottom: 1,\r\n '&:last-child': {\r\n borderBottom: 0\r\n }\r\n }\r\n }}\r\n >\r\n {rowAction({ row, state }).map(({ label, icon, onClick }) => {\r\n return (\r\n <ListItem\r\n key={label}\r\n startIcon={icon}\r\n onClick={(e: any) => {\r\n onClick && onClick(e)\r\n setTarget(null)\r\n }}\r\n >{label}</ListItem>\r\n )\r\n })}\r\n </List>\r\n </Menu>\r\n </>}\r\n </TableCell>\r\n </TableRow>\r\n )\r\n}\r\n\r\nexport default Row"],"names":["useState","_jsxs","TableRow","_jsx","TableCell","Checkbox","__rest","_Fragment","IconButton","Menu","List","ListItem"],"mappings":"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"}
|
package/Datatable/Row.mjs
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import {__rest
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import TableRow from '../TableRow/index.mjs';
|
|
5
|
+
import TableCell from '../TableCell/index.mjs';
|
|
6
|
+
import Checkbox from '../Checkbox/index.mjs';
|
|
7
|
+
import IconButton from '../IconButton/index.mjs';
|
|
8
|
+
import List from '../List/index.mjs';
|
|
9
|
+
import ListItem from '../ListItem/index.mjs';
|
|
10
|
+
import ActionIcon from '@xanui/icons/MoreVert';
|
|
11
|
+
import Menu from '../Menu/index.mjs';
|
|
12
|
+
|
|
13
|
+
const Row = ({ rows, rawRow, row, rowAction, disableRow, disableSelect, columns, state, update }) => {
|
|
2
14
|
let selectesIds = state.selectedIds;
|
|
3
15
|
const selected = row.id ? state.selectedIds.includes(row === null || row === void 0 ? void 0 : row.id) : false;
|
|
4
16
|
let selectedColor = selected ? "primary.soft" : "transparent";
|
|
@@ -38,4 +50,7 @@ import {__rest}from'tslib';import {jsxs,jsx,Fragment}from'react/jsx-runtime';imp
|
|
|
38
50
|
setTarget(null);
|
|
39
51
|
}, children: label }, label));
|
|
40
52
|
}) }) })] }) })] }));
|
|
41
|
-
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { Row as default };
|
|
56
|
+
//# sourceMappingURL=Row.mjs.map
|
package/Datatable/Row.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.mjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\nimport { useState } from 'react'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport { DataTableDefaultRow, DatatablePropsWithState } from '.'\nimport Checkbox from '../Checkbox'\nimport IconButton from '../IconButton'\nimport List from '../List'\nimport ListItem from '../ListItem'\nimport ActionIcon from '@xanui/icons/MoreVert'\nimport Menu from '../Menu'\n\n\ntype Props = DatatablePropsWithState & {\n rawRow: DataTableDefaultRow;\n row: DataTableDefaultRow;\n}\n\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, disableSelect, columns, state, update }: Props) => {\n let selectesIds = state.selectedIds\n const selected = row.id ? state.selectedIds.includes(row?.id) : false\n let selectedColor = selected ? \"primary.soft\" : \"transparent\"\n const [target, setTarget] = useState<any>()\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\n\n return (\n <TableRow disabled={isDisable}>\n {!disableSelect && <TableCell width={40} bgcolor={selectedColor}>\n {\n !!row.id && <Checkbox\n checked={selected}\n onChange={() => {\n if (isDisable || !row.id) return\n let ids = [...selectesIds]\n ids.includes(row.id) ? ids.splice(ids.indexOf(row.id), 1) : ids.push(row.id)\n let selectedLength = 0\n rows.forEach(r => {\n const isDisable = (disableRow ? disableRow(r, state) : false) || false\n if (!isDisable) selectedLength++\n })\n\n update({\n selectAll: selectedLength === ids.length,\n selectedIds: ids\n })\n }}\n />\n }\n\n </TableCell>}\n {\n columns.map(({ label, field, ...rest }, idx) => {\n field = field || label\n if (!row[field]) return <TableCell key={idx}></TableCell>\n return (\n <TableCell\n key={idx}\n textAlign=\"left\"\n {...rest}\n bgcolor={selectedColor}\n >\n {row[field]}\n </TableCell>\n )\n })\n }\n <TableCell width={30} bgcolor={selectedColor} borderColor=\"divider\">\n {rowAction && <>\n <IconButton\n disabled={isDisable || selected}\n onClick={(e: any) => setTarget(e.currentTarget)}\n variant=\"text\"\n color=\"default\"\n >\n <ActionIcon />\n </IconButton>\n <Menu target={target} placement=\"bottom-right\" onClickOutside={() => setTarget(null)}>\n <List\n bgcolor=\"background.primary\"\n minWidth={160}\n sx={{\n '& > li': {\n borderBottom: 1,\n '&:last-child': {\n borderBottom: 0\n }\n }\n }}\n >\n {rowAction({ row, state }).map(({ label, icon, onClick }) => {\n return (\n <ListItem\n key={label}\n startIcon={icon}\n onClick={(e: any) => {\n onClick && onClick(e)\n setTarget(null)\n }}\n >{label}</ListItem>\n )\n })}\n </List>\n </Menu>\n </>}\n </TableCell>\n </TableRow>\n )\n}\n\nexport default Row"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Row.mjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\r\nimport { useState } from 'react'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport { DataTableDefaultRow, DatatablePropsWithState } from '.'\r\nimport Checkbox from '../Checkbox'\r\nimport IconButton from '../IconButton'\r\nimport List from '../List'\r\nimport ListItem from '../ListItem'\r\nimport ActionIcon from '@xanui/icons/MoreVert'\r\nimport Menu from '../Menu'\r\n\r\n\r\ntype Props = DatatablePropsWithState & {\r\n rawRow: DataTableDefaultRow;\r\n row: DataTableDefaultRow;\r\n}\r\n\r\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, disableSelect, columns, state, update }: Props) => {\r\n let selectesIds = state.selectedIds\r\n const selected = row.id ? state.selectedIds.includes(row?.id) : false\r\n let selectedColor = selected ? \"primary.soft\" : \"transparent\"\r\n const [target, setTarget] = useState<any>()\r\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\r\n\r\n return (\r\n <TableRow disabled={isDisable}>\r\n {!disableSelect && <TableCell width={40} bgcolor={selectedColor}>\r\n {\r\n !!row.id && <Checkbox\r\n checked={selected}\r\n onChange={() => {\r\n if (isDisable || !row.id) return\r\n let ids = [...selectesIds]\r\n ids.includes(row.id) ? ids.splice(ids.indexOf(row.id), 1) : ids.push(row.id)\r\n let selectedLength = 0\r\n rows.forEach(r => {\r\n const isDisable = (disableRow ? disableRow(r, state) : false) || false\r\n if (!isDisable) selectedLength++\r\n })\r\n\r\n update({\r\n selectAll: selectedLength === ids.length,\r\n selectedIds: ids\r\n })\r\n }}\r\n />\r\n }\r\n\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field, ...rest }, idx) => {\r\n field = field || label\r\n if (!row[field]) return <TableCell key={idx}></TableCell>\r\n return (\r\n <TableCell\r\n key={idx}\r\n textAlign=\"left\"\r\n {...rest}\r\n bgcolor={selectedColor}\r\n >\r\n {row[field]}\r\n </TableCell>\r\n )\r\n })\r\n }\r\n <TableCell width={30} bgcolor={selectedColor} borderColor=\"divider\">\r\n {rowAction && <>\r\n <IconButton\r\n disabled={isDisable || selected}\r\n onClick={(e: any) => setTarget(e.currentTarget)}\r\n variant=\"text\"\r\n color=\"default\"\r\n >\r\n <ActionIcon />\r\n </IconButton>\r\n <Menu target={target} placement=\"bottom-right\" onClickOutside={() => setTarget(null)}>\r\n <List\r\n bgcolor=\"background.primary\"\r\n minWidth={160}\r\n sx={{\r\n '& > li': {\r\n borderBottom: 1,\r\n '&:last-child': {\r\n borderBottom: 0\r\n }\r\n }\r\n }}\r\n >\r\n {rowAction({ row, state }).map(({ label, icon, onClick }) => {\r\n return (\r\n <ListItem\r\n key={label}\r\n startIcon={icon}\r\n onClick={(e: any) => {\r\n onClick && onClick(e)\r\n setTarget(null)\r\n }}\r\n >{label}</ListItem>\r\n )\r\n })}\r\n </List>\r\n </Menu>\r\n </>}\r\n </TableCell>\r\n </TableRow>\r\n )\r\n}\r\n\r\nexport default Row"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var index$2 = require('../IconButton/index.cjs');
|
|
6
|
+
var index = require('../Stack/index.cjs');
|
|
7
|
+
var index$1 = require('../Text/index.cjs');
|
|
8
|
+
|
|
9
|
+
const SelectedBox = (props) => {
|
|
10
|
+
let { state, rowAction } = props;
|
|
11
|
+
let selected = state.selectedIds;
|
|
12
|
+
let checked = state.selectAll || !!selected.length;
|
|
13
|
+
if (!checked)
|
|
14
|
+
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) => {
|
|
16
|
+
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));
|
|
18
|
+
}) })] }));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
module.exports = SelectedBox;
|
|
22
|
+
//# sourceMappingURL=SelectedBox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectedBox.cjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["\r\nimport 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":";;;;;;;;AAMA,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,4 +1,10 @@
|
|
|
1
|
-
import {__rest
|
|
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) => {
|
|
2
8
|
let { state, rowAction } = props;
|
|
3
9
|
let selected = state.selectedIds;
|
|
4
10
|
let checked = state.selectAll || !!selected.length;
|
|
@@ -8,4 +14,7 @@ import {__rest}from'tslib';import {jsx,Fragment,jsxs}from'react/jsx-runtime';imp
|
|
|
8
14
|
var { label, icon } = _a, bprops = __rest(_a, ["label", "icon"]);
|
|
9
15
|
return (jsx(IconButton, Object.assign({ variant: "soft", color: "brand" }, bprops, { children: icon }), label));
|
|
10
16
|
}) })] }));
|
|
11
|
-
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { SelectedBox as default };
|
|
20
|
+
//# sourceMappingURL=SelectedBox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedBox.mjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["\nimport IconButton from '../IconButton'\nimport Stack from '../Stack'\nimport Text from '../Text'\nimport { DatatablePropsWithState } from '.'\n\nconst SelectedBox = (props: DatatablePropsWithState) => {\n let {\n state,\n rowAction\n } = props\n\n let selected = state.selectedIds\n let checked = state.selectAll || !!selected.length\n\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: {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":"
|
|
1
|
+
{"version":3,"file":"SelectedBox.mjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["\r\nimport 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":";;;;;;AAMA,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;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var TableHead = require('./TableHead.cjs');
|
|
5
|
+
var index = require('../Table/index.cjs');
|
|
6
|
+
var index$1 = require('../TableBody/index.cjs');
|
|
7
|
+
var Row = require('./Row.cjs');
|
|
8
|
+
|
|
9
|
+
const TableArea = (props) => {
|
|
10
|
+
let { rows, renderRow, state, update, slotProps } = props;
|
|
11
|
+
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: {
|
|
12
|
+
'& tr:last-child td': {
|
|
13
|
+
borderBottom: 0
|
|
14
|
+
}
|
|
15
|
+
}, children: rows === null || rows === void 0 ? void 0 : rows.map((row, idx) => {
|
|
16
|
+
let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
|
|
17
|
+
return jsxRuntime.jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), row.id + idx);
|
|
18
|
+
}) })] })));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
module.exports = TableArea;
|
|
22
|
+
//# sourceMappingURL=Table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.cjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\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":["_jsxs","Table","_jsx","TableBody"],"mappings":";;;;;;;;AAOA,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,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,cAAA,CAAC,SAAS,oBAAK,KAAK,EAAA,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAA,CAAA,CAAI,EACtDA,eAACC,OAAS,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,OAAOD,cAAA,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;;;;"}
|
package/Datatable/Table.mjs
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import TableHeadRender from './TableHead.mjs';
|
|
3
|
+
import Table from '../Table/index.mjs';
|
|
4
|
+
import TableBody from '../TableBody/index.mjs';
|
|
5
|
+
import Row from './Row.mjs';
|
|
6
|
+
|
|
7
|
+
const TableArea = (props) => {
|
|
2
8
|
let { rows, renderRow, state, update, slotProps } = props;
|
|
3
9
|
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: {
|
|
4
10
|
'& tr:last-child td': {
|
|
@@ -8,4 +14,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import TableHeadRender from'./TableHead
|
|
|
8
14
|
let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
|
|
9
15
|
return jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), row.id + idx);
|
|
10
16
|
}) })] })));
|
|
11
|
-
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { TableArea as default };
|
|
20
|
+
//# sourceMappingURL=Table.mjs.map
|
package/Datatable/Table.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.mjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\nimport TableHead from './TableHead'\nimport Table from '../Table'\nimport TableBody from '../TableBody'\nimport Row from './Row'\nimport { DatatablePropsWithState } from '.'\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":"
|
|
1
|
+
{"version":3,"file":"Table.mjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\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":["_jsxs","_jsx","TableHead"],"mappings":";;;;;;AAOA,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,9 +1,19 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var index = require('../TableHead/index.cjs');
|
|
6
|
+
var index$1 = require('../TableRow/index.cjs');
|
|
7
|
+
var index$2 = require('../TableCell/index.cjs');
|
|
8
|
+
var index$3 = require('../Checkbox/index.cjs');
|
|
9
|
+
var IndeterminateCheckBoxIcon = require('@xanui/icons/IndeterminateCheckBox');
|
|
10
|
+
|
|
11
|
+
const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }) => {
|
|
2
12
|
if (!columns.length)
|
|
3
13
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
4
14
|
let selected = state.selectedIds;
|
|
5
15
|
let checked = state.selectAll || !!selected.length;
|
|
6
|
-
return (jsxRuntime.jsx(index
|
|
16
|
+
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: () => {
|
|
7
17
|
let ids = [];
|
|
8
18
|
let undefinedCount = 0;
|
|
9
19
|
for (let i = 0; i < rows.length; i++) {
|
|
@@ -30,6 +40,9 @@
|
|
|
30
40
|
}
|
|
31
41
|
} }) }), columns.map((_a, idx) => {
|
|
32
42
|
var { label, field: _f } = _a, rest = tslib.__rest(_a, ["label", "field"]);
|
|
33
|
-
return jsxRuntime.jsx(index$2
|
|
34
|
-
}), jsxRuntime.jsx(index$2
|
|
35
|
-
};
|
|
43
|
+
return jsxRuntime.jsx(index$2, Object.assign({ th: true, textAlign: "left" }, rest, { children: label }), idx);
|
|
44
|
+
}), jsxRuntime.jsx(index$2, { th: true, width: 30 })] }) }));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
module.exports = TableHeadRender;
|
|
48
|
+
//# sourceMappingURL=TableHead.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableHead.cjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\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":["_jsx","TableHead","_jsxs","TableRow","TableCell","Checkbox","IntermidiatIcon","__rest"],"mappings":";;;;;;;;;;AASA,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAA2B,KAAI;IAC7G,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAOA,uCAAK;AACjC,IAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;AAElD,IAAA,QACIA,cAAA,CAACC,KAAS,EAAA,EAAC,QAAQ,EAAC,UAAU,EAAA,QAAA,EAC1BC,eAAA,CAACC,OAAQ,EAAA,EAAC,OAAO,EAAC,SAAS,EAAC,YAAY,EAAE,CAAC,EAAA,QAAA,EAAA,CACtC,CAAC,aAAa,IAAIH,cAAA,CAACI,OAAS,EAAA,EAAC,EAAE,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,EAAA,QAAA,EACtCJ,cAAA,CAACK,OAAQ,EAAA,EACL,SAAS,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,GAAGL,cAAA,CAACM,yBAAe,EAAA,EAAA,CAAG,GAAG,SAAS,EAChF,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAK;4BACX,IAAI,GAAG,GAAQ,EAAE;4BACjB,IAAI,cAAc,GAAG,CAAC;AACtB,4BAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,gCAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;gCACnB,MAAM,SAAS,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,KAAK,KAAK;AACxE,gCAAA,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,EAAE;AACtB,oCAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCACpB;qCAAO;oCACH,cAAc,IAAI,CAAC;gCACvB;4BACJ;4BAEA,IAAI,cAAc,EAAE;AAChB,gCAAA,MAAM,CAAC;oCACH,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG;AACvC,oCAAA,SAAS,EAAE,CAAC,QAAQ,CAAC;AACxB,iCAAA,CAAC;4BACN;iCAAO;AACH,gCAAA,MAAM,CAAC;oCACH,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG;AACvC,oCAAA,SAAS,EAAE,CAAC,KAAK,CAAC;AACrB,iCAAA,CAAC;4BACN;AACJ,wBAAA,CAAC,EAAA,CACH,EAAA,CACM,EAER,OAAO,CAAC,GAAG,CAAC,CAAC,EAA6B,EAAE,GAAG,KAAI;wBAAtC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAW,EAAN,IAAI,GAAAC,YAAA,CAAA,EAAA,EAA3B,CAAA,OAAA,EAAA,OAAA,CAA6B,CAAF;AAAY,oBAAA,OAAAP,cAAA,CAACI,OAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EAAW,EAAE,QAAC,SAAS,EAAC,MAAM,EAAA,EAAK,IAAI,EAAA,EAAA,QAAA,EAAG,KAAK,EAAA,CAAA,EAAzC,GAAG,CAAmD;AAAA,gBAAA,CAAA,CAAC,EAE/HJ,cAAA,CAACI,OAAS,EAAA,EAAC,EAAE,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,EAAA,CAEX,CAAA,EAAA,CACL,EAAA,CACH;AAEpB;;;;"}
|
package/Datatable/TableHead.mjs
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import {__rest
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import TableHead from '../TableHead/index.mjs';
|
|
4
|
+
import TableRow from '../TableRow/index.mjs';
|
|
5
|
+
import TableCell from '../TableCell/index.mjs';
|
|
6
|
+
import Checkbox from '../Checkbox/index.mjs';
|
|
7
|
+
import IndeterminateCheckBoxIcon from '@xanui/icons/IndeterminateCheckBox';
|
|
8
|
+
|
|
9
|
+
const TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }) => {
|
|
2
10
|
if (!columns.length)
|
|
3
11
|
return jsx(Fragment, {});
|
|
4
12
|
let selected = state.selectedIds;
|
|
@@ -32,4 +40,7 @@ import {__rest}from'tslib';import {jsx,Fragment,jsxs}from'react/jsx-runtime';imp
|
|
|
32
40
|
var { label, field: _f } = _a, rest = __rest(_a, ["label", "field"]);
|
|
33
41
|
return jsx(TableCell, Object.assign({ th: true, textAlign: "left" }, rest, { children: label }), idx);
|
|
34
42
|
}), jsx(TableCell, { th: true, width: 30 })] }) }));
|
|
35
|
-
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { TableHeadRender as default };
|
|
46
|
+
//# sourceMappingURL=TableHead.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHead.mjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\nimport TableHead from '../TableHead'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport { DatatablePropsWithState } from '.'\nimport Checkbox from '../Checkbox'\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\n\n\nconst TableHeadRender = ({ columns, rows, disableRow, disableSelect, state, update }: DatatablePropsWithState) => {\n if (!columns.length) return <></>\n let selected = state.selectedIds\n let checked = state.selectAll || !!selected.length\n\n return (\n <TableHead position=\"relative\">\n <TableRow bgcolor=\"default\" borderBottom={1} >\n {!disableSelect && <TableCell th width={40}>\n <Checkbox\n checkIcon={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 selectedIds: selected.length ? [] : ids,\n selectAll: !selected.length\n })\n } else {\n update({\n selectedIds: state.selectAll ? [] : ids,\n selectAll: !state.selectAll\n })\n }\n }}\n />\n </TableCell>}\n {\n columns.map(({ label, field: _f, ...rest }, idx) => <TableCell key={idx} th textAlign=\"left\" {...rest}>{label}</TableCell>)\n }\n <TableCell th width={30}>\n\n </TableCell>\n </TableRow>\n </TableHead>\n )\n}\n\nexport default TableHeadRender\n"],"names":["_jsx","_jsxs","IntermidiatIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableHead.mjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\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":["_jsx","_jsxs","IntermidiatIcon"],"mappings":";;;;;;;;AASA,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAA2B,KAAI;IAC7G,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAOA,iBAAK;AACjC,IAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;AAElD,IAAA,QACIA,GAAA,CAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,UAAU,EAAA,QAAA,EAC1BC,IAAA,CAAC,QAAQ,EAAA,EAAC,OAAO,EAAC,SAAS,EAAC,YAAY,EAAE,CAAC,EAAA,QAAA,EAAA,CACtC,CAAC,aAAa,IAAID,GAAA,CAAC,SAAS,EAAA,EAAC,EAAE,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,EAAA,QAAA,EACtCA,GAAA,CAAC,QAAQ,EAAA,EACL,SAAS,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,GAAGA,GAAA,CAACE,yBAAe,EAAA,EAAA,CAAG,GAAG,SAAS,EAChF,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAK;4BACX,IAAI,GAAG,GAAQ,EAAE;4BACjB,IAAI,cAAc,GAAG,CAAC;AACtB,4BAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,gCAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;gCACnB,MAAM,SAAS,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,KAAK,KAAK;AACxE,gCAAA,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,EAAE;AACtB,oCAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCACpB;qCAAO;oCACH,cAAc,IAAI,CAAC;gCACvB;4BACJ;4BAEA,IAAI,cAAc,EAAE;AAChB,gCAAA,MAAM,CAAC;oCACH,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG;AACvC,oCAAA,SAAS,EAAE,CAAC,QAAQ,CAAC;AACxB,iCAAA,CAAC;4BACN;iCAAO;AACH,gCAAA,MAAM,CAAC;oCACH,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG;AACvC,oCAAA,SAAS,EAAE,CAAC,KAAK,CAAC;AACrB,iCAAA,CAAC;4BACN;AACJ,wBAAA,CAAC,EAAA,CACH,EAAA,CACM,EAER,OAAO,CAAC,GAAG,CAAC,CAAC,EAA6B,EAAE,GAAG,KAAI;wBAAtC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAW,EAAN,IAAI,GAAA,MAAA,CAAA,EAAA,EAA3B,CAAA,OAAA,EAAA,OAAA,CAA6B,CAAF;AAAY,oBAAA,OAAAF,GAAA,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EAAW,EAAE,QAAC,SAAS,EAAC,MAAM,EAAA,EAAK,IAAI,EAAA,EAAA,QAAA,EAAG,KAAK,EAAA,CAAA,EAAzC,GAAG,CAAmD;AAAA,gBAAA,CAAA,CAAC,EAE/HA,GAAA,CAAC,SAAS,EAAA,EAAC,EAAE,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,EAAA,CAEX,CAAA,EAAA,CACL,EAAA,CACH;AAEpB;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var index = require('../ViewBox/index.cjs');
|
|
6
|
+
var core = require('@xanui/core');
|
|
7
|
+
var SelectedBox = require('./SelectedBox.cjs');
|
|
8
|
+
var Table = require('./Table.cjs');
|
|
9
|
+
var FilterBox = require('./FilterBox.cjs');
|
|
10
|
+
var index$2 = require('../TablePagination/index.cjs');
|
|
11
|
+
var index$1 = require('../Stack/index.cjs');
|
|
12
|
+
|
|
13
|
+
const DataTable = React.forwardRef((props, ref) => {
|
|
14
|
+
let [_props] = core.useInterface("Datatable", props, {});
|
|
15
|
+
let { rows, tabs, defaultActiveTab, totalCount, page, perpages, getState, fixedHeader, disablePagination, slotProps, } = _props;
|
|
16
|
+
const [state, setState] = React.useState({
|
|
17
|
+
selectedIds: [],
|
|
18
|
+
selectAll: false,
|
|
19
|
+
paginationState: {
|
|
20
|
+
page: page || 1,
|
|
21
|
+
perpage: perpages ? perpages[0] : 30
|
|
22
|
+
},
|
|
23
|
+
activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : "",
|
|
24
|
+
search: ""
|
|
25
|
+
});
|
|
26
|
+
const update = (s) => {
|
|
27
|
+
setState(o => {
|
|
28
|
+
let ns = Object.assign(Object.assign({}, o), s);
|
|
29
|
+
getState && getState(ns);
|
|
30
|
+
return ns;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
return (jsxRuntime.jsxs(index, { baseClass: 'datatable', ref: ref, height: "100%", sx: {
|
|
34
|
+
'& thead': fixedHeader ? {
|
|
35
|
+
position: "sticky",
|
|
36
|
+
top: 0,
|
|
37
|
+
bgcolor: "background.primary",
|
|
38
|
+
zIndex: 1
|
|
39
|
+
} : {},
|
|
40
|
+
}, startContent: (jsxRuntime.jsxs(core.Tag, { baseClass: 'datatable-header', sxr: {
|
|
41
|
+
display: "flex",
|
|
42
|
+
flexDirection: "row",
|
|
43
|
+
justifyContent: "space-between"
|
|
44
|
+
}, 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) => {
|
|
45
|
+
update({ paginationState: state });
|
|
46
|
+
} })) })] }));
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
module.exports = DataTable;
|
|
50
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\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":["useInterface","useState","_jsxs","ViewBox","Tag","_jsx","TableArea","Stack","TablePagination"],"mappings":"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"}
|