@xanui/ui 1.2.9 → 1.2.11
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.cjs +3 -3
- package/Accordion/index.cjs.map +1 -1
- package/Accordion/index.js +3 -3
- package/Accordion/index.js.map +1 -1
- package/Alert/index.cjs +8 -8
- package/Alert/index.cjs.map +1 -1
- package/Alert/index.js +8 -8
- package/Alert/index.js.map +1 -1
- package/Autocomplete/index.cjs +2 -2
- package/Autocomplete/index.cjs.map +1 -1
- package/Autocomplete/index.d.ts +1 -1
- package/Autocomplete/index.js +2 -2
- package/Autocomplete/index.js.map +1 -1
- package/Avatar/index.cjs +2 -2
- package/Avatar/index.cjs.map +1 -1
- package/Avatar/index.js +2 -2
- package/Avatar/index.js.map +1 -1
- package/AvatarBox/index.cjs +1 -1
- package/AvatarBox/index.cjs.map +1 -1
- package/AvatarBox/index.js +1 -1
- package/AvatarBox/index.js.map +1 -1
- package/AvatarPicker/index.cjs +3 -3
- package/AvatarPicker/index.cjs.map +1 -1
- package/AvatarPicker/index.d.ts +1 -1
- package/AvatarPicker/index.js +3 -3
- package/AvatarPicker/index.js.map +1 -1
- package/Badge/index.cjs +1 -1
- package/Badge/index.cjs.map +1 -1
- package/Badge/index.js +1 -1
- package/Badge/index.js.map +1 -1
- package/Button/index.cjs +1 -1
- package/Button/index.cjs.map +1 -1
- package/Button/index.js +1 -1
- package/Button/index.js.map +1 -1
- package/ButtonGroup/index.cjs +1 -1
- package/ButtonGroup/index.cjs.map +1 -1
- package/ButtonGroup/index.js +1 -1
- package/ButtonGroup/index.js.map +1 -1
- package/Calendar/index.cjs +9 -9
- package/Calendar/index.cjs.map +1 -1
- package/Calendar/index.js +9 -9
- package/Calendar/index.js.map +1 -1
- package/CalendarInput/index.cjs +1 -1
- package/CalendarInput/index.cjs.map +1 -1
- package/CalendarInput/index.js +1 -1
- package/CalendarInput/index.js.map +1 -1
- package/Card/index.cjs +4 -4
- package/Card/index.cjs.map +1 -1
- package/Card/index.d.ts +1 -1
- package/Card/index.js +4 -4
- package/Card/index.js.map +1 -1
- package/Checkbox/index.cjs +1 -1
- package/Checkbox/index.cjs.map +1 -1
- package/Checkbox/index.js +1 -1
- package/Checkbox/index.js.map +1 -1
- package/CircleProgress/index.cjs +7 -7
- package/CircleProgress/index.cjs.map +1 -1
- package/CircleProgress/index.js +7 -7
- package/CircleProgress/index.js.map +1 -1
- package/DataFilter/options/DateFilter.cjs +2 -2
- package/DataFilter/options/DateFilter.cjs.map +1 -1
- package/DataFilter/options/DateFilter.js +2 -2
- package/DataFilter/options/DateFilter.js.map +1 -1
- package/DataFilter/options/DateRangeFilter.cjs +1 -1
- package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
- package/DataFilter/options/DateRangeFilter.js +1 -1
- package/DataFilter/options/DateRangeFilter.js.map +1 -1
- package/DataFilter/options/MultiSelectFilter.cjs +2 -2
- package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
- package/DataFilter/options/MultiSelectFilter.js +2 -2
- package/DataFilter/options/MultiSelectFilter.js.map +1 -1
- package/DataFilter/options/NumberFilter.cjs +1 -1
- package/DataFilter/options/NumberFilter.cjs.map +1 -1
- package/DataFilter/options/NumberFilter.js +1 -1
- package/DataFilter/options/NumberFilter.js.map +1 -1
- package/DataFilter/options/NumberRangeFilter.cjs +1 -1
- package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
- package/DataFilter/options/NumberRangeFilter.js +1 -1
- package/DataFilter/options/NumberRangeFilter.js.map +1 -1
- package/DataFilter/options/SelectFilter.cjs +2 -2
- package/DataFilter/options/SelectFilter.cjs.map +1 -1
- package/DataFilter/options/SelectFilter.js +2 -2
- package/DataFilter/options/SelectFilter.js.map +1 -1
- package/DataFilter/options/TextFilter.cjs +1 -1
- package/DataFilter/options/TextFilter.cjs.map +1 -1
- package/DataFilter/options/TextFilter.js +1 -1
- package/DataFilter/options/TextFilter.js.map +1 -1
- package/Datatable/FilterBox.cjs +2 -2
- package/Datatable/FilterBox.cjs.map +1 -1
- package/Datatable/FilterBox.js +2 -2
- package/Datatable/FilterBox.js.map +1 -1
- package/Datatable/Row.cjs +1 -1
- package/Datatable/Row.cjs.map +1 -1
- package/Datatable/Row.js +1 -1
- package/Datatable/Row.js.map +1 -1
- package/Datatable/SelectedBox.cjs +1 -1
- package/Datatable/SelectedBox.cjs.map +1 -1
- package/Datatable/SelectedBox.js +1 -1
- package/Datatable/SelectedBox.js.map +1 -1
- package/Datatable/Table.cjs +1 -1
- package/Datatable/Table.cjs.map +1 -1
- package/Datatable/Table.js +1 -1
- package/Datatable/Table.js.map +1 -1
- package/Datatable/TableHead.cjs +3 -3
- package/Datatable/TableHead.cjs.map +1 -1
- package/Datatable/TableHead.js +3 -3
- package/Datatable/TableHead.js.map +1 -1
- package/Datatable/index.cjs +1 -1
- package/Datatable/index.cjs.map +1 -1
- package/Datatable/index.js +1 -1
- package/Datatable/index.js.map +1 -1
- package/Divider/index.cjs +3 -3
- package/Divider/index.cjs.map +1 -1
- package/Divider/index.js +3 -3
- package/Divider/index.js.map +1 -1
- package/Drawer/index.cjs +1 -1
- package/Drawer/index.cjs.map +1 -1
- package/Drawer/index.js +1 -1
- package/Drawer/index.js.map +1 -1
- package/FilePicker/index.d.ts +1 -1
- package/Form/index.cjs +1 -1
- package/Form/index.cjs.map +1 -1
- package/Form/index.js +1 -1
- package/Form/index.js.map +1 -1
- package/GalleryPicker/index.cjs +5 -5
- package/GalleryPicker/index.cjs.map +1 -1
- package/GalleryPicker/index.d.ts +1 -1
- package/GalleryPicker/index.js +5 -5
- package/GalleryPicker/index.js.map +1 -1
- package/Input/index.cjs +7 -7
- package/Input/index.cjs.map +1 -1
- package/Input/index.d.ts +1 -1
- package/Input/index.js +7 -7
- package/Input/index.js.map +1 -1
- package/Label/index.cjs +1 -1
- package/Label/index.cjs.map +1 -1
- package/Label/index.js +1 -1
- package/Label/index.js.map +1 -1
- package/LineProgress/index.cjs +2 -2
- package/LineProgress/index.cjs.map +1 -1
- package/LineProgress/index.js +2 -2
- package/LineProgress/index.js.map +1 -1
- package/ListItem/index.cjs +2 -2
- package/ListItem/index.cjs.map +1 -1
- package/ListItem/index.js +2 -2
- package/ListItem/index.js.map +1 -1
- package/Menu/index.cjs +1 -1
- package/Menu/index.cjs.map +1 -1
- package/Menu/index.js +1 -1
- package/Menu/index.js.map +1 -1
- package/Modal/index.cjs +1 -1
- package/Modal/index.cjs.map +1 -1
- package/Modal/index.js +1 -1
- package/Modal/index.js.map +1 -1
- package/PasswordInput/index.cjs +1 -1
- package/PasswordInput/index.cjs.map +1 -1
- package/PasswordInput/index.js +1 -1
- package/PasswordInput/index.js.map +1 -1
- package/RangeSlider/index.cjs +2 -2
- package/RangeSlider/index.cjs.map +1 -1
- package/RangeSlider/index.js +2 -2
- package/RangeSlider/index.js.map +1 -1
- package/Skeleton/index.cjs +1 -1
- package/Skeleton/index.cjs.map +1 -1
- package/Skeleton/index.js +1 -1
- package/Skeleton/index.js.map +1 -1
- package/Switch/index.cjs +1 -1
- package/Switch/index.cjs.map +1 -1
- package/Switch/index.d.ts +1 -1
- package/Switch/index.js +1 -1
- package/Switch/index.js.map +1 -1
- package/Tab/index.cjs +1 -1
- package/Tab/index.cjs.map +1 -1
- package/Tab/index.js +1 -1
- package/Tab/index.js.map +1 -1
- package/Table/index.cjs +4 -4
- package/Table/index.cjs.map +1 -1
- package/Table/index.js +4 -4
- package/Table/index.js.map +1 -1
- package/TableCell/index.cjs +1 -1
- package/TableCell/index.cjs.map +1 -1
- package/TableCell/index.js +1 -1
- package/TableCell/index.js.map +1 -1
- package/TablePagination/index.cjs +2 -2
- package/TablePagination/index.cjs.map +1 -1
- package/TablePagination/index.js +2 -2
- package/TablePagination/index.js.map +1 -1
- package/Tabs/index.cjs +1 -1
- package/Tabs/index.cjs.map +1 -1
- package/Tabs/index.js +1 -1
- package/Tabs/index.js.map +1 -1
- package/Text/index.cjs +1 -1
- package/Text/index.cjs.map +1 -1
- package/Text/index.js +1 -1
- package/Text/index.js.map +1 -1
- package/Tooltip/index.cjs +2 -2
- package/Tooltip/index.cjs.map +1 -1
- package/Tooltip/index.js +2 -2
- package/Tooltip/index.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +4 -4
- package/useBlurCss/index.cjs +1 -1
- package/useBlurCss/index.cjs.map +1 -1
- package/useBlurCss/index.js +1 -1
- package/useBlurCss/index.js.map +1 -1
- package/useContextMenu/index.cjs +1 -1
- package/useContextMenu/index.cjs.map +1 -1
- package/useContextMenu/index.js +1 -1
- package/useContextMenu/index.js.map +1 -1
|
@@ -11,7 +11,7 @@ var index$3 = require('../../CalendarInput/index.cjs');
|
|
|
11
11
|
|
|
12
12
|
const DateRangeFilter = ({ option, onChange, value }) => {
|
|
13
13
|
const isValue = value !== null && value !== undefined && value.length === 2;
|
|
14
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
14
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
15
15
|
const d = new Date();
|
|
16
16
|
onChange([d.toISOString(), d.toISOString()]);
|
|
17
17
|
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeFilter.cjs","sources":["../../../src/DataFilter/options/DateRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterDate } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport CalenderInput from \"../../CalendarInput\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: [string, string] | null;\n onChange: (value: [string, string] | null) => void;\n}\n\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\n const isValue = value !== null && value !== undefined && value.length === 2\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"DateRangeFilter.cjs","sources":["../../../src/DataFilter/options/DateRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterDate } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport CalenderInput from \"../../CalendarInput\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: [string, string] | null;\n onChange: (value: [string, string] | null) => void;\n}\n\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\n const isValue = value !== null && value !== undefined && value.length === 2\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n const d = new Date();\n onChange([d.toISOString(), d.toISOString()]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <>\n <Stack\n p={1}\n gap={1}\n width={\"100%\"}\n >\n <CalenderInput\n fullWidth\n variant={\"outline\"}\n value={value![0] ? new Date(value[0]) : null}\n onChange={(date) => {\n onChange([date ? date.toISOString() : \"\", value ? value[1] : \"\"])\n }}\n />\n\n <CalenderInput\n fullWidth\n variant={\"outline\"}\n value={value![1] ? new Date(value[1]) : null}\n onChange={(date) => {\n onChange([value ? value[0] : \"\", date ? date.toISOString() : \"\"])\n }}\n />\n </Stack>\n </>\n }\n </Stack>\n\n </Stack>\n )\n}\n\nexport default DateRangeFilter"],"names":[],"mappings":";;;;;;;;;;;AAiBA;AACG;AAEA;AAwBkB;AACA;;;AAYA;AAwBM;AACH;AAQG;AACH;AASxB;;"}
|
|
@@ -9,7 +9,7 @@ import CalenderInput from '../../CalendarInput/index.js';
|
|
|
9
9
|
|
|
10
10
|
const DateRangeFilter = ({ option, onChange, value }) => {
|
|
11
11
|
const isValue = value !== null && value !== undefined && value.length === 2;
|
|
12
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
12
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
13
13
|
const d = new Date();
|
|
14
14
|
onChange([d.toISOString(), d.toISOString()]);
|
|
15
15
|
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeFilter.js","sources":["../../../src/DataFilter/options/DateRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterDate } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport CalenderInput from \"../../CalendarInput\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: [string, string] | null;\n onChange: (value: [string, string] | null) => void;\n}\n\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\n const isValue = value !== null && value !== undefined && value.length === 2\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"DateRangeFilter.js","sources":["../../../src/DataFilter/options/DateRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterDate } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport CalenderInput from \"../../CalendarInput\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: [string, string] | null;\n onChange: (value: [string, string] | null) => void;\n}\n\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\n const isValue = value !== null && value !== undefined && value.length === 2\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n const d = new Date();\n onChange([d.toISOString(), d.toISOString()]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <>\n <Stack\n p={1}\n gap={1}\n width={\"100%\"}\n >\n <CalenderInput\n fullWidth\n variant={\"outline\"}\n value={value![0] ? new Date(value[0]) : null}\n onChange={(date) => {\n onChange([date ? date.toISOString() : \"\", value ? value[1] : \"\"])\n }}\n />\n\n <CalenderInput\n fullWidth\n variant={\"outline\"}\n value={value![1] ? new Date(value[1]) : null}\n onChange={(date) => {\n onChange([value ? value[0] : \"\", date ? date.toISOString() : \"\"])\n }}\n />\n </Stack>\n </>\n }\n </Stack>\n\n </Stack>\n )\n}\n\nexport default DateRangeFilter"],"names":[],"mappings":";;;;;;;;;AAiBA;AACG;AAEA;AAwBkB;AACA;;;AAYA;AAwBM;AACH;AAQG;AACH;AASxB;;"}
|
|
@@ -20,12 +20,12 @@ const MultiSelectFilter = ({ option, onChange, value }) => {
|
|
|
20
20
|
const ref = React.useRef(null);
|
|
21
21
|
const [target, setTarget] = React.useState();
|
|
22
22
|
const isValue = value && value.length > 0;
|
|
23
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
23
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: (e) => {
|
|
24
24
|
setTarget(e.currentTarget);
|
|
25
25
|
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
26
26
|
onChange([]);
|
|
27
27
|
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && value.map((val, index) => {
|
|
28
|
-
return (jsxRuntime.jsx(index$3, { size: "small", color: "
|
|
28
|
+
return (jsxRuntime.jsx(index$3, { size: "small", color: "default", label: val, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "default", onClick: () => {
|
|
29
29
|
onChange(value.filter(v => v !== val));
|
|
30
30
|
}, children: jsxRuntime.jsx(Close, {}) }) }, index));
|
|
31
31
|
}) }), jsxRuntime.jsx(index$4, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsxRuntime.jsx(index$5, { width: ((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 200, size: "small", children: option.options.map((opt, index) => (jsxRuntime.jsx(index$6, { startIcon: jsxRuntime.jsx(index$7, { checked: value === null || value === void 0 ? void 0 : value.includes(opt.value) }), onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectFilter.cjs","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\nimport Close from \"@xanui/icons/Close\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string[];\n onChange: (value: string[]) => void;\n}\n\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value && value.length > 0;\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"MultiSelectFilter.cjs","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\nimport Close from \"@xanui/icons/Close\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string[];\n onChange: (value: string[]) => void;\n}\n\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value && value.length > 0;\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={(e: any) => {\n setTarget(e.currentTarget)\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange([]);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && value.map((val, index) => {\n return (\n <Chip\n key={index}\n size=\"small\"\n color=\"default\"\n label={val}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"default\"\n onClick={() => {\n onChange(value.filter(v => v !== val));\n }}\n >\n <Close />\n </IconButton>}\n />\n )\n })\n }\n </Stack>\n <Menu\n target={target}\n onClickOutside={() => setTarget(undefined)}\n placement={\"bottom-right\"}\n >\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\n {\n option.options.map((opt, index) => (\n <ListItem\n key={index}\n startIcon={<Checkbox checked={value?.includes(opt.value)} />}\n onClick={() => {\n const has = value?.includes(opt.value)\n onChange(has ? value?.filter(v => v !== opt.value) : [...value || [], opt.value]);\n }}\n >\n {opt.label}\n </ListItem>\n ))\n }\n </List>\n </Menu>\n </Stack>\n )\n}\n\nexport default MultiSelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA;;;;;AAIG;AAwBkB;;;AAYA;AAcH;AAWY;;AAOf;AAeY;AACA;AACH;AAUxB;;"}
|
|
@@ -18,12 +18,12 @@ const MultiSelectFilter = ({ option, onChange, value }) => {
|
|
|
18
18
|
const ref = React.useRef(null);
|
|
19
19
|
const [target, setTarget] = React.useState();
|
|
20
20
|
const isValue = value && value.length > 0;
|
|
21
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
21
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: (e) => {
|
|
22
22
|
setTarget(e.currentTarget);
|
|
23
23
|
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
24
24
|
onChange([]);
|
|
25
25
|
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && value.map((val, index) => {
|
|
26
|
-
return (jsx(Chip, { size: "small", color: "
|
|
26
|
+
return (jsx(Chip, { size: "small", color: "default", label: val, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "default", onClick: () => {
|
|
27
27
|
onChange(value.filter(v => v !== val));
|
|
28
28
|
}, children: jsx(Close, {}) }) }, index));
|
|
29
29
|
}) }), jsx(Menu, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsx(List, { width: ((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 200, size: "small", children: option.options.map((opt, index) => (jsx(ListItem, { startIcon: jsx(Checkbox, { checked: value === null || value === void 0 ? void 0 : value.includes(opt.value) }), onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectFilter.js","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\nimport Close from \"@xanui/icons/Close\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string[];\n onChange: (value: string[]) => void;\n}\n\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value && value.length > 0;\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"MultiSelectFilter.js","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\nimport Close from \"@xanui/icons/Close\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string[];\n onChange: (value: string[]) => void;\n}\n\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value && value.length > 0;\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={(e: any) => {\n setTarget(e.currentTarget)\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange([]);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && value.map((val, index) => {\n return (\n <Chip\n key={index}\n size=\"small\"\n color=\"default\"\n label={val}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"default\"\n onClick={() => {\n onChange(value.filter(v => v !== val));\n }}\n >\n <Close />\n </IconButton>}\n />\n )\n })\n }\n </Stack>\n <Menu\n target={target}\n onClickOutside={() => setTarget(undefined)}\n placement={\"bottom-right\"}\n >\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\n {\n option.options.map((opt, index) => (\n <ListItem\n key={index}\n startIcon={<Checkbox checked={value?.includes(opt.value)} />}\n onClick={() => {\n const has = value?.includes(opt.value)\n onChange(has ? value?.filter(v => v !== opt.value) : [...value || [], opt.value]);\n }}\n >\n {opt.label}\n </ListItem>\n ))\n }\n </List>\n </Menu>\n </Stack>\n )\n}\n\nexport default MultiSelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;;;;;AAIG;AAwBkB;;;AAYA;AAcH;AAWY;;AAOf;AAeY;AACA;AACH;AAUxB;;"}
|
|
@@ -11,7 +11,7 @@ var index$3 = require('../../InputNumber/index.cjs');
|
|
|
11
11
|
|
|
12
12
|
const NumberFilter = ({ option, onChange, value }) => {
|
|
13
13
|
const isValue = value !== null && value !== undefined;
|
|
14
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
14
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
15
15
|
onChange(0);
|
|
16
16
|
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
17
17
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFilter.cjs","sources":["../../../src/DataFilter/options/NumberFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: number | null;\n onChange: (value: number | null) => void;\n}\n\nconst NumberFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"NumberFilter.cjs","sources":["../../../src/DataFilter/options/NumberFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: number | null;\n onChange: (value: number | null) => void;\n}\n\nconst NumberFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange(0);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <InputNumber\n variant={\"outline\"}\n value={value.toString() as any}\n onChange={(e: any) => {\n onChange(e.target.value);\n }}\n fullWidth\n />\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default NumberFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
|
|
@@ -9,7 +9,7 @@ import InputNumber from '../../InputNumber/index.js';
|
|
|
9
9
|
|
|
10
10
|
const NumberFilter = ({ option, onChange, value }) => {
|
|
11
11
|
const isValue = value !== null && value !== undefined;
|
|
12
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
12
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
13
13
|
onChange(0);
|
|
14
14
|
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
15
15
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFilter.js","sources":["../../../src/DataFilter/options/NumberFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: number | null;\n onChange: (value: number | null) => void;\n}\n\nconst NumberFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"NumberFilter.js","sources":["../../../src/DataFilter/options/NumberFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: number | null;\n onChange: (value: number | null) => void;\n}\n\nconst NumberFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange(0);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <InputNumber\n variant={\"outline\"}\n value={value.toString() as any}\n onChange={(e: any) => {\n onChange(e.target.value);\n }}\n fullWidth\n />\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default NumberFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
|
|
@@ -12,7 +12,7 @@ var index$3 = require('../../InputNumber/index.cjs');
|
|
|
12
12
|
const NumberRangeFilter = ({ option, onChange, value }) => {
|
|
13
13
|
var _a, _b;
|
|
14
14
|
const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;
|
|
15
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
15
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
16
16
|
onChange([0, 0]);
|
|
17
17
|
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
18
18
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberRangeFilter.cjs","sources":["../../../src/DataFilter/options/NumberRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: [number, number] | null;\n onChange: (value: [number, number] | null) => void;\n}\n\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"NumberRangeFilter.cjs","sources":["../../../src/DataFilter/options/NumberRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: [number, number] | null;\n onChange: (value: [number, number] | null) => void;\n}\n\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange([0, 0]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <Stack\n direction=\"row\"\n gap={0.5}\n flex={1}\n >\n <InputNumber\n flex={1}\n variant={\"outline\"}\n size=\"small\"\n placeholder=\"Min\"\n value={value[0] as any ?? ''}\n onChange={(e) => {\n const val = e.target.value === '' ? 0 : Number(e.target.value);\n onChange([val, value ? value[1] : 0]);\n }}\n />\n <InputNumber\n variant={\"outline\"}\n flex={1}\n size=\"small\"\n placeholder=\"Max\"\n value={value[1] as any ?? undefined}\n onChange={(e) => {\n const val = e.target.value === '' ? 0 : Number(e.target.value);\n onChange([value ? value[0] : 0, val]);\n }}\n />\n </Stack>\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default NumberRangeFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;;AAIG;AAwBkB;;;AAYA;;AA0BG;AACH;;AAUG;AACH;AAOrB;;"}
|
|
@@ -10,7 +10,7 @@ import InputNumber from '../../InputNumber/index.js';
|
|
|
10
10
|
const NumberRangeFilter = ({ option, onChange, value }) => {
|
|
11
11
|
var _a, _b;
|
|
12
12
|
const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;
|
|
13
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
13
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
14
14
|
onChange([0, 0]);
|
|
15
15
|
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
16
16
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberRangeFilter.js","sources":["../../../src/DataFilter/options/NumberRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: [number, number] | null;\n onChange: (value: [number, number] | null) => void;\n}\n\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"NumberRangeFilter.js","sources":["../../../src/DataFilter/options/NumberRangeFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport InputNumber from \"../../InputNumber\";\n\ntype Props = {\n option: DataFilterSelect;\n value: [number, number] | null;\n onChange: (value: [number, number] | null) => void;\n}\n\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange([0, 0]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <Stack\n direction=\"row\"\n gap={0.5}\n flex={1}\n >\n <InputNumber\n flex={1}\n variant={\"outline\"}\n size=\"small\"\n placeholder=\"Min\"\n value={value[0] as any ?? ''}\n onChange={(e) => {\n const val = e.target.value === '' ? 0 : Number(e.target.value);\n onChange([val, value ? value[1] : 0]);\n }}\n />\n <InputNumber\n variant={\"outline\"}\n flex={1}\n size=\"small\"\n placeholder=\"Max\"\n value={value[1] as any ?? undefined}\n onChange={(e) => {\n const val = e.target.value === '' ? 0 : Number(e.target.value);\n onChange([value ? value[0] : 0, val]);\n }}\n />\n </Stack>\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default NumberRangeFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;;AAIG;AAwBkB;;;AAYA;;AA0BG;AACH;;AAUG;AACH;AAOrB;;"}
|
|
@@ -19,11 +19,11 @@ const SelectFilter = ({ option, onChange, value }) => {
|
|
|
19
19
|
var _a;
|
|
20
20
|
const ref = React.useRef(null);
|
|
21
21
|
const [target, setTarget] = React.useState();
|
|
22
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
22
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: value ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: (e) => {
|
|
23
23
|
setTarget(e.currentTarget);
|
|
24
24
|
}, children: jsxRuntime.jsx(Add, {}) }), !!value && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
25
25
|
onChange(null);
|
|
26
|
-
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: !!value && jsxRuntime.jsx(index$3, { size: "small", color: "
|
|
26
|
+
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: !!value && jsxRuntime.jsx(index$3, { size: "small", color: "default", label: value, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "default", onClick: () => {
|
|
27
27
|
onChange(null);
|
|
28
28
|
}, children: jsxRuntime.jsx(Close, {}) }) }) }), jsxRuntime.jsx(index$4, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsxRuntime.jsx(index$5, { width: ((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 200, size: "small", children: option.options.map((opt, index) => (jsxRuntime.jsx(index$6, { startIcon: jsxRuntime.jsx(index$7, { checked: value === opt.value }), onClick: () => {
|
|
29
29
|
onChange(opt.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectFilter.cjs","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Close from \"@xanui/icons/Close\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst SelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"SelectFilter.cjs","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Close from \"@xanui/icons/Close\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst SelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={value ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={(e: any) => {\n setTarget(e.currentTarget)\n }}\n >\n <Add />\n </IconButton>\n {\n !!value && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n !!value && <Chip\n size=\"small\"\n color=\"default\"\n label={value}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"default\"\n onClick={() => {\n onChange(null);\n }}\n >\n <Close />\n </IconButton>}\n />\n }\n </Stack>\n <Menu\n target={target}\n onClickOutside={() => setTarget(undefined)}\n placement={\"bottom-right\"}\n >\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\n {\n option.options.map((opt, index) => (\n <ListItem\n key={index}\n startIcon={<Checkbox checked={value === opt.value} />}\n onClick={() => {\n onChange(opt.value);\n }}\n >\n {opt.label}\n </ListItem>\n ))\n }\n </List>\n </Menu>\n </Stack>\n )\n}\n\nexport default SelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA;;;;AAGG;AAwBkB;AACH;;AAWG;;AAuBA;AAmBM;AACH;AAUxB;;"}
|
|
@@ -17,11 +17,11 @@ const SelectFilter = ({ option, onChange, value }) => {
|
|
|
17
17
|
var _a;
|
|
18
18
|
const ref = React.useRef(null);
|
|
19
19
|
const [target, setTarget] = React.useState();
|
|
20
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
20
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: value ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: (e) => {
|
|
21
21
|
setTarget(e.currentTarget);
|
|
22
22
|
}, children: jsx(Add, {}) }), !!value && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
23
23
|
onChange(null);
|
|
24
|
-
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: !!value && jsx(Chip, { size: "small", color: "
|
|
24
|
+
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: !!value && jsx(Chip, { size: "small", color: "default", label: value, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "default", onClick: () => {
|
|
25
25
|
onChange(null);
|
|
26
26
|
}, children: jsx(Close, {}) }) }) }), jsx(Menu, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsx(List, { width: ((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 200, size: "small", children: option.options.map((opt, index) => (jsx(ListItem, { startIcon: jsx(Checkbox, { checked: value === opt.value }), onClick: () => {
|
|
27
27
|
onChange(opt.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectFilter.js","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Close from \"@xanui/icons/Close\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst SelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"SelectFilter.js","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterSelect } from \"../types\";\nimport Menu from \"../../Menu\";\nimport List from \"../../List\";\nimport ListItem from \"../../ListItem\";\nimport Checkbox from \"../../Checkbox\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Close from \"@xanui/icons/Close\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Chip from \"../../Chip\";\n\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst SelectFilter = ({ option, onChange, value }: Props) => {\n const ref: any = React.useRef(null)\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={value ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={(e: any) => {\n setTarget(e.currentTarget)\n }}\n >\n <Add />\n </IconButton>\n {\n !!value && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n !!value && <Chip\n size=\"small\"\n color=\"default\"\n label={value}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"default\"\n onClick={() => {\n onChange(null);\n }}\n >\n <Close />\n </IconButton>}\n />\n }\n </Stack>\n <Menu\n target={target}\n onClickOutside={() => setTarget(undefined)}\n placement={\"bottom-right\"}\n >\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\n {\n option.options.map((opt, index) => (\n <ListItem\n key={index}\n startIcon={<Checkbox checked={value === opt.value} />}\n onClick={() => {\n onChange(opt.value);\n }}\n >\n {opt.label}\n </ListItem>\n ))\n }\n </List>\n </Menu>\n </Stack>\n )\n}\n\nexport default SelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;;;;AAGG;AAwBkB;AACH;;AAWG;;AAuBA;AAmBM;AACH;AAUxB;;"}
|
|
@@ -11,7 +11,7 @@ var index$3 = require('../../Input/index.cjs');
|
|
|
11
11
|
|
|
12
12
|
const TextFilter = ({ option, onChange, value }) => {
|
|
13
13
|
const isValue = value !== null && value !== undefined;
|
|
14
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
14
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxRuntime.jsxs(index, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsxRuntime.jsx(index$1, { children: option.label }), jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, children: [jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
15
15
|
onChange('');
|
|
16
16
|
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
17
17
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFilter.cjs","sources":["../../../src/DataFilter/options/TextFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Input from \"../../Input\";\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst TextFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"TextFilter.cjs","sources":["../../../src/DataFilter/options/TextFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Input from \"../../Input\";\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst TextFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange('');\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <Input\n variant={\"outline\"}\n value={value.toString()}\n onChange={(e: any) => {\n onChange(e.target.value);\n }}\n fullWidth\n />\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default TextFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
|
|
@@ -9,7 +9,7 @@ import Input from '../../Input/index.js';
|
|
|
9
9
|
|
|
10
10
|
const TextFilter = ({ option, onChange, value }) => {
|
|
11
11
|
const isValue = value !== null && value !== undefined;
|
|
12
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
12
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "default.base", p: 1, radius: 1, children: [jsxs(Stack, { direction: "row", alignItems: "center", justifyContent: "space-between", gap: 0.5, mb: isValue ? .5 : 0, children: [jsx(Text, { children: option.label }), jsxs(Stack, { direction: "row", gap: 0.5, children: [jsx(IconButton, { size: "small", variant: "ghost", color: 'default', onClick: () => {
|
|
13
13
|
onChange('');
|
|
14
14
|
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
15
15
|
onChange(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFilter.js","sources":["../../../src/DataFilter/options/TextFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Input from \"../../Input\";\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst TextFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"TextFilter.js","sources":["../../../src/DataFilter/options/TextFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport { DataFilterSelect } from \"../types\";\nimport IconButton from \"../../IconButton\";\nimport Stack from \"../../Stack\";\nimport Text from \"../../Text\";\nimport Add from \"@xanui/icons/Add\";\nimport ClearAll from \"@xanui/icons/ClearAll\";\nimport Input from \"../../Input\";\n\ntype Props = {\n option: DataFilterSelect;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst TextFilter = ({ option, onChange, value }: Props) => {\n\n const isValue = value !== null && value !== undefined;\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"default.base\"\n p={1}\n radius={1}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={\"space-between\"}\n gap={0.5}\n mb={isValue ? .5 : 0}\n >\n <Text>{option.label}</Text>\n <Stack\n direction=\"row\"\n gap={0.5}\n >\n <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={'default'}\n onClick={() => {\n onChange('');\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"ghost\"\n color={\"danger\"}\n onClick={() => {\n onChange(null);\n }}\n >\n <ClearAll />\n </IconButton>\n }\n </Stack>\n </Stack>\n <Stack\n direction=\"row\"\n gap={0.5}\n flexWrap=\"wrap\"\n >\n {\n isValue && <Input\n variant={\"outline\"}\n value={value.toString()}\n onChange={(e: any) => {\n onChange(e.target.value);\n }}\n fullWidth\n />\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default TextFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
|
package/Datatable/FilterBox.cjs
CHANGED
|
@@ -26,9 +26,9 @@ const FilterBox = (props) => {
|
|
|
26
26
|
update({ tab: value });
|
|
27
27
|
}, value: state.tab, children: tabs.map(t => jsxRuntime.jsx(index$2, { value: t.value || t.label.toLowerCase(), children: t.label }, t.label)) }) }), jsxRuntime.jsxs(index, { flexRow: true, gap: 2, className: 'datatable-header-right-area', alignItems: "center", children: [!hideSearch && jsxRuntime.jsx(index$3, Object.assign({ disabled: skeleton ? true : false, endIcon: jsxRuntime.jsx(IconSearch, {}), placeholder: 'Search...' }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.search, { value: state.search, onChange: (e) => {
|
|
28
28
|
update({ search: e.target.value });
|
|
29
|
-
} })), filters && jsxRuntime.jsxs(index, { children: [jsxRuntime.jsx(index$4, { color: "
|
|
29
|
+
} })), filters && jsxRuntime.jsxs(index, { children: [jsxRuntime.jsx(index$4, { color: "default", variant: "text", onClick: () => {
|
|
30
30
|
setOpenFilter(true);
|
|
31
|
-
}, children: jsxRuntime.jsx(FilterListOutlined, {}) }), jsxRuntime.jsx(index$5, { open: openFilter, onClickOutside: () => { }, placement: "right", children: jsxRuntime.jsx(index$6, { height: "100%", p: 1, startContent: jsxRuntime.jsxs(index, { mb: 2, px: 2, flexRow: true, justifyContent: "space-between", alignItems: "center", children: [jsxRuntime.jsx(index$8, { fontWeight: 600, fontSize: "h6", children: "Filters" }), jsxRuntime.jsx(index$4, { size: "small", color: "
|
|
31
|
+
}, children: jsxRuntime.jsx(FilterListOutlined, {}) }), jsxRuntime.jsx(index$5, { open: openFilter, onClickOutside: () => { }, placement: "right", children: jsxRuntime.jsx(index$6, { height: "100%", p: 1, startContent: jsxRuntime.jsxs(index, { mb: 2, px: 2, flexRow: true, justifyContent: "space-between", alignItems: "center", children: [jsxRuntime.jsx(index$8, { fontWeight: 600, fontSize: "h6", children: "Filters" }), jsxRuntime.jsx(index$4, { size: "small", color: "default", variant: "text", onClick: () => {
|
|
32
32
|
setOpenFilter(false);
|
|
33
33
|
}, children: jsxRuntime.jsx(CloseOutlined, {}) })] }), children: jsxRuntime.jsx(index, { gap: 2, children: jsxRuntime.jsx(index$7.default, { options: filters, value: state.filters, onChange: (s) => {
|
|
34
34
|
update({ filters: s });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBox.cjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\nimport Stack from '../Stack'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\nimport { DatatablePropsWithState } from './types';\nimport IconButton from '../IconButton';\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\nimport Drawer from '../Drawer';\nimport Text from '../Text';\nimport React from 'react';\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\nimport ViewBox from '../ViewBox';\nimport DataFilter from '../DataFilter';\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n hideSearch,\n slotProps,\n skeleton,\n state,\n update,\n } = props\n const [openFilter, setOpenFilter] = React.useState(false)\n let checked = state.selectAll || !!state.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 disabled={skeleton ? true : false}\n onChange={(value: any) => {\n update({ tab: value })\n }}\n value={state.tab}\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\n flexRow\n gap={2}\n className='datatable-header-right-area'\n alignItems={\"center\"}\n >\n {!hideSearch && <Input\n disabled={skeleton ? true : false}\n endIcon={<IconSearch />}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n }}\n />}\n {\n filters && <Stack>\n <IconButton\n color=\"
|
|
1
|
+
{"version":3,"file":"FilterBox.cjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\nimport Stack from '../Stack'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\nimport { DatatablePropsWithState } from './types';\nimport IconButton from '../IconButton';\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\nimport Drawer from '../Drawer';\nimport Text from '../Text';\nimport React from 'react';\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\nimport ViewBox from '../ViewBox';\nimport DataFilter from '../DataFilter';\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n hideSearch,\n slotProps,\n skeleton,\n state,\n update,\n } = props\n const [openFilter, setOpenFilter] = React.useState(false)\n let checked = state.selectAll || !!state.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 disabled={skeleton ? true : false}\n onChange={(value: any) => {\n update({ tab: value })\n }}\n value={state.tab}\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\n flexRow\n gap={2}\n className='datatable-header-right-area'\n alignItems={\"center\"}\n >\n {!hideSearch && <Input\n disabled={skeleton ? true : false}\n endIcon={<IconSearch />}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n }}\n />}\n {\n filters && <Stack>\n <IconButton\n color=\"default\"\n variant={\"text\"}\n onClick={() => {\n setOpenFilter(true)\n }}\n >\n <FilterListOutlined />\n </IconButton>\n <Drawer\n open={openFilter}\n onClickOutside={() => { }}\n placement={\"right\"}\n >\n <ViewBox\n height=\"100%\"\n p={1}\n startContent={<Stack mb={2} px={2} flexRow justifyContent={\"space-between\"} alignItems=\"center\">\n <Text fontWeight={600} fontSize=\"h6\">Filters</Text>\n <IconButton\n size=\"small\"\n color=\"default\"\n variant=\"text\"\n onClick={() => {\n setOpenFilter(false)\n }}\n >\n <CloseOutlined />\n </IconButton>\n </Stack>}\n >\n <Stack\n gap={2}\n >\n <DataFilter\n options={filters}\n value={state.filters}\n onChange={(s) => {\n update({ filters: s })\n }}\n />\n </Stack>\n </ViewBox>\n </Drawer>\n </Stack>\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default FilterBox"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAgBA;AACG;AASA;AACA;AAEA;AAAa;AAEb;AAgBkB;;;;;AAiCA;;AAoBS;AAaG;;AAWjC;;"}
|
package/Datatable/FilterBox.js
CHANGED
|
@@ -24,9 +24,9 @@ const FilterBox = (props) => {
|
|
|
24
24
|
update({ tab: value });
|
|
25
25
|
}, value: state.tab, children: tabs.map(t => jsx(Tab, { value: t.value || t.label.toLowerCase(), children: t.label }, t.label)) }) }), jsxs(Stack, { flexRow: true, gap: 2, className: 'datatable-header-right-area', alignItems: "center", children: [!hideSearch && jsx(Input, Object.assign({ disabled: skeleton ? true : false, endIcon: jsx(IconSearch, {}), placeholder: 'Search...' }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.search, { value: state.search, onChange: (e) => {
|
|
26
26
|
update({ search: e.target.value });
|
|
27
|
-
} })), filters && jsxs(Stack, { children: [jsx(IconButton, { color: "
|
|
27
|
+
} })), filters && jsxs(Stack, { children: [jsx(IconButton, { color: "default", variant: "text", onClick: () => {
|
|
28
28
|
setOpenFilter(true);
|
|
29
|
-
}, children: jsx(FilterListOutlined, {}) }), jsx(Drawer, { open: openFilter, onClickOutside: () => { }, placement: "right", children: jsx(ViewBox, { height: "100%", p: 1, startContent: jsxs(Stack, { mb: 2, px: 2, flexRow: true, justifyContent: "space-between", alignItems: "center", children: [jsx(Text, { fontWeight: 600, fontSize: "h6", children: "Filters" }), jsx(IconButton, { size: "small", color: "
|
|
29
|
+
}, children: jsx(FilterListOutlined, {}) }), jsx(Drawer, { open: openFilter, onClickOutside: () => { }, placement: "right", children: jsx(ViewBox, { height: "100%", p: 1, startContent: jsxs(Stack, { mb: 2, px: 2, flexRow: true, justifyContent: "space-between", alignItems: "center", children: [jsx(Text, { fontWeight: 600, fontSize: "h6", children: "Filters" }), jsx(IconButton, { size: "small", color: "default", variant: "text", onClick: () => {
|
|
30
30
|
setOpenFilter(false);
|
|
31
31
|
}, children: jsx(CloseOutlined, {}) })] }), children: jsx(Stack, { gap: 2, children: jsx(DataFilter, { options: filters, value: state.filters, onChange: (s) => {
|
|
32
32
|
update({ filters: s });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBox.js","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\nimport Stack from '../Stack'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\nimport { DatatablePropsWithState } from './types';\nimport IconButton from '../IconButton';\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\nimport Drawer from '../Drawer';\nimport Text from '../Text';\nimport React from 'react';\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\nimport ViewBox from '../ViewBox';\nimport DataFilter from '../DataFilter';\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n hideSearch,\n slotProps,\n skeleton,\n state,\n update,\n } = props\n const [openFilter, setOpenFilter] = React.useState(false)\n let checked = state.selectAll || !!state.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 disabled={skeleton ? true : false}\n onChange={(value: any) => {\n update({ tab: value })\n }}\n value={state.tab}\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\n flexRow\n gap={2}\n className='datatable-header-right-area'\n alignItems={\"center\"}\n >\n {!hideSearch && <Input\n disabled={skeleton ? true : false}\n endIcon={<IconSearch />}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n }}\n />}\n {\n filters && <Stack>\n <IconButton\n color=\"
|
|
1
|
+
{"version":3,"file":"FilterBox.js","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\nimport Stack from '../Stack'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\nimport { DatatablePropsWithState } from './types';\nimport IconButton from '../IconButton';\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\nimport Drawer from '../Drawer';\nimport Text from '../Text';\nimport React from 'react';\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\nimport ViewBox from '../ViewBox';\nimport DataFilter from '../DataFilter';\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n hideSearch,\n slotProps,\n skeleton,\n state,\n update,\n } = props\n const [openFilter, setOpenFilter] = React.useState(false)\n let checked = state.selectAll || !!state.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 disabled={skeleton ? true : false}\n onChange={(value: any) => {\n update({ tab: value })\n }}\n value={state.tab}\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\n flexRow\n gap={2}\n className='datatable-header-right-area'\n alignItems={\"center\"}\n >\n {!hideSearch && <Input\n disabled={skeleton ? true : false}\n endIcon={<IconSearch />}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n }}\n />}\n {\n filters && <Stack>\n <IconButton\n color=\"default\"\n variant={\"text\"}\n onClick={() => {\n setOpenFilter(true)\n }}\n >\n <FilterListOutlined />\n </IconButton>\n <Drawer\n open={openFilter}\n onClickOutside={() => { }}\n placement={\"right\"}\n >\n <ViewBox\n height=\"100%\"\n p={1}\n startContent={<Stack mb={2} px={2} flexRow justifyContent={\"space-between\"} alignItems=\"center\">\n <Text fontWeight={600} fontSize=\"h6\">Filters</Text>\n <IconButton\n size=\"small\"\n color=\"default\"\n variant=\"text\"\n onClick={() => {\n setOpenFilter(false)\n }}\n >\n <CloseOutlined />\n </IconButton>\n </Stack>}\n >\n <Stack\n gap={2}\n >\n <DataFilter\n options={filters}\n value={state.filters}\n onChange={(s) => {\n update({ filters: s })\n }}\n />\n </Stack>\n </ViewBox>\n </Drawer>\n </Stack>\n }\n </Stack>\n </Stack>\n )\n}\n\nexport default FilterBox"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA;AACG;AASA;AACA;AAEA;AAAa;AAEb;AAgBkB;;;;;AAiCA;;AAoBS;AAaG;;AAWjC;;"}
|
package/Datatable/Row.cjs
CHANGED
|
@@ -40,7 +40,7 @@ const Row = ({ rows, rawRow, row, rowAction, disableRow, hideCheckbox, columns,
|
|
|
40
40
|
if (!row[field])
|
|
41
41
|
return jsxRuntime.jsx(index$1, {}, idx);
|
|
42
42
|
return (jsxRuntime.jsx(index$1, Object.assign({ textAlign: "left" }, rest, { bgcolor: selectedColor, children: row[field] }), idx));
|
|
43
|
-
}), !!(rows.length && rowAction && ((_a = rowAction(rows[0])) === null || _a === void 0 ? void 0 : _a.length)) && jsxRuntime.jsxs(index$1, { width: 30, bgcolor: selectedColor, borderColor: "
|
|
43
|
+
}), !!(rows.length && rowAction && ((_a = rowAction(rows[0])) === null || _a === void 0 ? void 0 : _a.length)) && jsxRuntime.jsxs(index$1, { width: 30, bgcolor: selectedColor, borderColor: "default.divider", 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: "default.base", minWidth: 160, sx: {
|
|
44
44
|
'& > li': {
|
|
45
45
|
borderBottom: 1,
|
|
46
46
|
'&:last-child': {
|
package/Datatable/Row.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Row.cjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\"use client\";\nimport { useState } from 'react'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\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'\nimport { DataTableDefaultRow, DatatablePropsWithState } from './types';\n\n\ntype Props = DatatablePropsWithState & {\n rawRow: DataTableDefaultRow;\n row: DataTableDefaultRow;\n}\n\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, hideCheckbox, columns, compact, state, update }: Props) => {\n const selected = row.id ? state.selected.includes(row?.id) : false\n let selectedColor = selected ? \"primary.ghost\" : \"transparent\"\n const [target, setTarget] = useState<any>()\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\n\n return (\n <TableRow >\n {!hideCheckbox && <TableCell width={40} bgcolor={selectedColor}>\n {\n !!row.id && <Checkbox\n size={compact ? \"small\" : \"medium\"}\n checked={selected}\n onChange={() => {\n if (isDisable || !row.id) return\n let ids = [...state.selected]\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 selected: ids\n })\n }}\n />\n }\n\n </TableCell>}\n {\n columns.map(({ label, field, sortable, ...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 {!!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell width={30} bgcolor={selectedColor} borderColor=\"
|
|
1
|
+
{"version":3,"file":"Row.cjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\"use client\";\nimport { useState } from 'react'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\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'\nimport { DataTableDefaultRow, DatatablePropsWithState } from './types';\n\n\ntype Props = DatatablePropsWithState & {\n rawRow: DataTableDefaultRow;\n row: DataTableDefaultRow;\n}\n\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, hideCheckbox, columns, compact, state, update }: Props) => {\n const selected = row.id ? state.selected.includes(row?.id) : false\n let selectedColor = selected ? \"primary.ghost\" : \"transparent\"\n const [target, setTarget] = useState<any>()\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\n\n return (\n <TableRow >\n {!hideCheckbox && <TableCell width={40} bgcolor={selectedColor}>\n {\n !!row.id && <Checkbox\n size={compact ? \"small\" : \"medium\"}\n checked={selected}\n onChange={() => {\n if (isDisable || !row.id) return\n let ids = [...state.selected]\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 selected: ids\n })\n }}\n />\n }\n\n </TableCell>}\n {\n columns.map(({ label, field, sortable, ...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 {!!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell width={30} bgcolor={selectedColor} borderColor=\"default.divider\">\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=\"default.base\"\n minWidth={160}\n sx={{\n '& > li': {\n borderBottom: 1,\n '&:last-child': {\n borderBottom: 0\n }\n }\n }}\n >\n {rowAction({ row: rawRow, 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 </TableCell>\n }\n </TableRow>\n )\n}\n\nexport default Row"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA;;;;;;;AAc4B;;;AAEA;;AAEA;;AAEI;AAAgB;AACpB;AAEA;AACI;AACA;AACH;AACL;;AAOJ;AACA;AAAiB;;;AA2BT;AACI;AACA;AACI;AACH;AACJ;;AAID;AAKY;;AAEJ;AAGZ;AAOxB;;"}
|