@xanui/ui 1.2.6 → 1.2.7
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 +5 -5
- package/Accordion/index.cjs.map +1 -1
- package/Accordion/index.d.ts +3 -3
- package/Accordion/index.js +5 -5
- package/Accordion/index.js.map +1 -1
- package/Alert/index.cjs +19 -17
- package/Alert/index.cjs.map +1 -1
- package/Alert/index.d.ts +2 -2
- package/Alert/index.js +19 -17
- 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 +7 -7
- 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.d.ts +2 -2
- package/Avatar/index.js +2 -2
- package/Avatar/index.js.map +1 -1
- package/AvatarBox/index.cjs +19 -0
- package/AvatarBox/index.cjs.map +1 -0
- package/AvatarBox/index.d.ts +19 -0
- package/AvatarBox/index.js +17 -0
- package/AvatarBox/index.js.map +1 -0
- package/AvatarPicker/index.cjs +80 -0
- package/AvatarPicker/index.cjs.map +1 -0
- package/AvatarPicker/index.d.ts +27 -0
- package/AvatarPicker/index.js +78 -0
- package/AvatarPicker/index.js.map +1 -0
- package/Badge/index.cjs +1 -1
- package/Badge/index.cjs.map +1 -1
- package/Badge/index.d.ts +4 -4
- package/Badge/index.js +1 -1
- package/Badge/index.js.map +1 -1
- package/Box/index.d.ts +2 -2
- package/Button/index.cjs +5 -3
- package/Button/index.cjs.map +1 -1
- package/Button/index.d.ts +2 -2
- package/Button/index.js +5 -3
- package/Button/index.js.map +1 -1
- package/ButtonGroup/index.cjs +3 -2
- package/ButtonGroup/index.cjs.map +1 -1
- package/ButtonGroup/index.d.ts +2 -2
- package/ButtonGroup/index.js +3 -2
- package/ButtonGroup/index.js.map +1 -1
- package/Calendar/index.cjs +10 -10
- package/Calendar/index.cjs.map +1 -1
- package/Calendar/index.js +10 -10
- 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/Carousel/index.cjs +231 -0
- package/Carousel/index.cjs.map +1 -0
- package/Carousel/index.d.ts +28 -0
- package/Carousel/index.js +229 -0
- package/Carousel/index.js.map +1 -0
- package/Checkbox/index.cjs +2 -2
- package/Checkbox/index.cjs.map +1 -1
- package/Checkbox/index.d.ts +2 -2
- package/Checkbox/index.js +2 -2
- package/Checkbox/index.js.map +1 -1
- package/Chip/index.cjs +3 -3
- package/Chip/index.cjs.map +1 -1
- package/Chip/index.d.ts +2 -2
- package/Chip/index.js +3 -3
- package/Chip/index.js.map +1 -1
- package/CircleProgress/index.cjs +10 -10
- package/CircleProgress/index.cjs.map +1 -1
- package/CircleProgress/index.d.ts +2 -2
- package/CircleProgress/index.js +10 -10
- package/CircleProgress/index.js.map +1 -1
- package/ClickOutside/index.cjs +3 -12
- package/ClickOutside/index.cjs.map +1 -1
- package/ClickOutside/index.d.ts +3 -3
- package/ClickOutside/index.js +4 -13
- package/ClickOutside/index.js.map +1 -1
- package/Collaps/index.cjs +5 -5
- package/Collaps/index.cjs.map +1 -1
- package/Collaps/index.d.ts +2 -2
- package/Collaps/index.js +5 -5
- package/Collaps/index.js.map +1 -1
- package/Container/index.d.ts +2 -2
- package/DataFilter/index.d.ts +2 -2
- package/DataFilter/options/DateFilter.cjs +3 -3
- package/DataFilter/options/DateFilter.cjs.map +1 -1
- package/DataFilter/options/DateFilter.js +3 -3
- package/DataFilter/options/DateFilter.js.map +1 -1
- package/DataFilter/options/DateRangeFilter.cjs +2 -2
- package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
- package/DataFilter/options/DateRangeFilter.js +2 -2
- package/DataFilter/options/DateRangeFilter.js.map +1 -1
- package/DataFilter/options/MultiSelectFilter.cjs +3 -3
- package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
- package/DataFilter/options/MultiSelectFilter.js +3 -3
- package/DataFilter/options/MultiSelectFilter.js.map +1 -1
- package/DataFilter/options/NumberFilter.cjs +2 -2
- package/DataFilter/options/NumberFilter.cjs.map +1 -1
- package/DataFilter/options/NumberFilter.js +2 -2
- package/DataFilter/options/NumberFilter.js.map +1 -1
- package/DataFilter/options/NumberRangeFilter.cjs +2 -2
- package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
- package/DataFilter/options/NumberRangeFilter.js +2 -2
- package/DataFilter/options/NumberRangeFilter.js.map +1 -1
- package/DataFilter/options/SelectFilter.cjs +3 -3
- package/DataFilter/options/SelectFilter.cjs.map +1 -1
- package/DataFilter/options/SelectFilter.js +3 -3
- package/DataFilter/options/SelectFilter.js.map +1 -1
- package/DataFilter/options/TextFilter.cjs +2 -2
- package/DataFilter/options/TextFilter.cjs.map +1 -1
- package/DataFilter/options/TextFilter.js +2 -2
- 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 +2 -2
- package/Datatable/Row.cjs.map +1 -1
- package/Datatable/Row.js +2 -2
- package/Datatable/Row.js.map +1 -1
- package/Datatable/SelectedBox.cjs +2 -2
- package/Datatable/SelectedBox.cjs.map +1 -1
- package/Datatable/SelectedBox.js +2 -2
- 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.d.ts +2 -2
- 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.d.ts +2 -2
- package/Divider/index.js +3 -3
- package/Divider/index.js.map +1 -1
- package/Drawer/index.cjs +2 -2
- package/Drawer/index.cjs.map +1 -1
- package/Drawer/index.js +2 -2
- package/Drawer/index.js.map +1 -1
- package/FilePicker/index.cjs +115 -0
- package/FilePicker/index.cjs.map +1 -0
- package/FilePicker/index.d.ts +23 -0
- package/FilePicker/index.js +113 -0
- package/FilePicker/index.js.map +1 -0
- package/Form/index.cjs +1 -1
- package/Form/index.cjs.map +1 -1
- package/Form/index.d.ts +2 -2
- package/Form/index.js +1 -1
- package/Form/index.js.map +1 -1
- package/GalleryPicker/index.cjs +88 -0
- package/GalleryPicker/index.cjs.map +1 -0
- package/GalleryPicker/index.d.ts +26 -0
- package/GalleryPicker/index.js +86 -0
- package/GalleryPicker/index.js.map +1 -0
- package/GridContainer/index.d.ts +2 -2
- package/GridItem/index.d.ts +2 -2
- package/IconButton/index.cjs +6 -3
- package/IconButton/index.cjs.map +1 -1
- package/IconButton/index.d.ts +2 -2
- package/IconButton/index.js +6 -3
- package/IconButton/index.js.map +1 -1
- package/Image/index.cjs +2 -14
- package/Image/index.cjs.map +1 -1
- package/Image/index.d.ts +3 -5
- package/Image/index.js +3 -15
- package/Image/index.js.map +1 -1
- package/Input/index.cjs +10 -10
- package/Input/index.cjs.map +1 -1
- package/Input/index.d.ts +14 -14
- package/Input/index.js +10 -10
- package/Input/index.js.map +1 -1
- package/InputNumber/index.d.ts +2 -2
- package/Label/index.cjs +1 -1
- package/Label/index.cjs.map +1 -1
- package/Label/index.d.ts +2 -2
- package/Label/index.js +1 -1
- package/Label/index.js.map +1 -1
- package/Layer/index.cjs +12 -13
- package/Layer/index.cjs.map +1 -1
- package/Layer/index.d.ts +5 -5
- package/Layer/index.js +13 -14
- package/Layer/index.js.map +1 -1
- package/LineProgress/index.cjs +6 -6
- package/LineProgress/index.cjs.map +1 -1
- package/LineProgress/index.d.ts +2 -2
- package/LineProgress/index.js +6 -6
- package/LineProgress/index.js.map +1 -1
- package/Link/index.cjs +41 -0
- package/Link/index.cjs.map +1 -0
- package/Link/index.d.ts +17 -0
- package/Link/index.js +39 -0
- package/Link/index.js.map +1 -0
- package/List/index.cjs +1 -1
- package/List/index.cjs.map +1 -1
- package/List/index.d.ts +2 -2
- package/List/index.js +1 -1
- package/List/index.js.map +1 -1
- package/ListItem/index.cjs +8 -8
- package/ListItem/index.cjs.map +1 -1
- package/ListItem/index.d.ts +2 -2
- package/ListItem/index.js +8 -8
- package/ListItem/index.js.map +1 -1
- package/LoadingBox/index.cjs +2 -2
- package/LoadingBox/index.cjs.map +1 -1
- package/LoadingBox/index.d.ts +2 -2
- package/LoadingBox/index.js +2 -2
- package/LoadingBox/index.js.map +1 -1
- package/Menu/index.cjs +6 -21
- package/Menu/index.cjs.map +1 -1
- package/Menu/index.d.ts +6 -4
- package/Menu/index.js +6 -21
- package/Menu/index.js.map +1 -1
- package/Modal/index.cjs +5 -5
- package/Modal/index.cjs.map +1 -1
- package/Modal/index.js +5 -5
- package/Modal/index.js.map +1 -1
- package/Option/index.d.ts +2 -2
- package/PasswordInput/index.cjs +21 -0
- package/PasswordInput/index.cjs.map +1 -0
- package/PasswordInput/index.d.ts +11 -0
- package/PasswordInput/index.js +19 -0
- package/PasswordInput/index.js.map +1 -0
- package/Portal/index.d.ts +3 -3
- package/Radio/index.d.ts +2 -2
- package/RangeSlider/index.cjs +158 -0
- package/RangeSlider/index.cjs.map +1 -0
- package/RangeSlider/index.d.ts +24 -0
- package/RangeSlider/index.js +156 -0
- package/RangeSlider/index.js.map +1 -0
- package/Scrollbar/index.cjs +6 -6
- package/Scrollbar/index.cjs.map +1 -1
- package/Scrollbar/index.d.ts +3 -3
- package/Scrollbar/index.js +6 -6
- package/Scrollbar/index.js.map +1 -1
- package/Select/index.cjs +2 -2
- package/Select/index.cjs.map +1 -1
- package/Select/index.d.ts +5 -5
- package/Select/index.js +2 -2
- package/Select/index.js.map +1 -1
- package/Skeleton/index.cjs +7 -5
- package/Skeleton/index.cjs.map +1 -1
- package/Skeleton/index.js +7 -5
- package/Skeleton/index.js.map +1 -1
- package/Stack/index.d.ts +2 -2
- package/Switch/index.cjs +2 -2
- package/Switch/index.cjs.map +1 -1
- package/Switch/index.d.ts +3 -3
- package/Switch/index.js +2 -2
- package/Switch/index.js.map +1 -1
- package/Tab/index.cjs +23 -2
- package/Tab/index.cjs.map +1 -1
- package/Tab/index.d.ts +2 -2
- package/Tab/index.js +25 -4
- package/Tab/index.js.map +1 -1
- package/Table/index.cjs +9 -9
- package/Table/index.cjs.map +1 -1
- package/Table/index.d.ts +2 -2
- package/Table/index.js +9 -9
- package/Table/index.js.map +1 -1
- package/TableBody/index.d.ts +2 -2
- package/TableCell/index.cjs +1 -1
- package/TableCell/index.cjs.map +1 -1
- package/TableCell/index.d.ts +2 -2
- package/TableCell/index.js +1 -1
- package/TableCell/index.js.map +1 -1
- package/TableFooter/index.d.ts +2 -2
- package/TableHead/index.d.ts +2 -2
- package/TablePagination/index.cjs +2 -2
- package/TablePagination/index.cjs.map +1 -1
- package/TablePagination/index.d.ts +2 -2
- package/TablePagination/index.js +2 -2
- package/TablePagination/index.js.map +1 -1
- package/TableRow/index.d.ts +2 -2
- package/Tabs/context.cjs +11 -0
- package/Tabs/context.cjs.map +1 -0
- package/Tabs/context.js +8 -0
- package/Tabs/context.js.map +1 -0
- package/Tabs/index.cjs +83 -168
- package/Tabs/index.cjs.map +1 -1
- package/Tabs/index.d.ts +4 -22
- package/Tabs/index.js +86 -171
- package/Tabs/index.js.map +1 -1
- package/Tabs/types.d.ts +16 -0
- package/Text/index.cjs +1 -1
- package/Text/index.cjs.map +1 -1
- package/Text/index.d.ts +2 -2
- package/Text/index.js +1 -1
- package/Text/index.js.map +1 -1
- package/Toast/index.cjs +15 -16
- package/Toast/index.cjs.map +1 -1
- package/Toast/index.js +16 -17
- package/Toast/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/ViewBox/index.d.ts +2 -2
- package/index.cjs +124 -110
- package/index.cjs.map +1 -1
- package/index.d.ts +8 -1
- package/index.js +8 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +1 -1
- package/useBlurCss/index.cjs +1 -2
- package/useBlurCss/index.cjs.map +1 -1
- package/useBlurCss/index.js +1 -2
- package/useBlurCss/index.js.map +1 -1
- package/useContextMenu/index.cjs +2 -2
- package/useContextMenu/index.cjs.map +1 -1
- package/useContextMenu/index.d.ts +1 -1
- package/useContextMenu/index.js +2 -2
- package/useContextMenu/index.js.map +1 -1
- package/Paper/index.cjs +0 -16
- package/Paper/index.cjs.map +0 -1
- package/Paper/index.d.ts +0 -8
- package/Paper/index.js +0 -14
- package/Paper/index.js.map +0 -1
|
@@ -16,11 +16,11 @@ var index$5 = require('../../Calendar/index.cjs');
|
|
|
16
16
|
const DateFilter = ({ option, onChange, value }) => {
|
|
17
17
|
const [target, setTarget] = React.useState();
|
|
18
18
|
const isValue = value !== null && value !== undefined && value !== "";
|
|
19
|
-
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "
|
|
19
|
+
return (jsxRuntime.jsxs(index, { width: "100%", bgcolor: "surface.light", 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: 'surface', onClick: (e) => {
|
|
20
20
|
setTarget(e.currentTarget);
|
|
21
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
21
|
+
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
22
22
|
onChange(null);
|
|
23
|
-
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(index$3, { size: "small", color: "
|
|
23
|
+
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(index$3, { size: "small", color: "surface", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", onClick: () => {
|
|
24
24
|
onChange(null);
|
|
25
25
|
}, children: jsxRuntime.jsx(Close, {}) }) }) }), jsxRuntime.jsx(index$4, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsxRuntime.jsx(index$5, { value: value ? new Date(value) : null, onChange: (date) => {
|
|
26
26
|
onChange((date === null || date === void 0 ? void 0 : date.toISOString()) || null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilter.cjs","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterDate } from \"../types\";\nimport Menu from \"../../Menu\";\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\";\nimport Calendar from \"../../Calendar\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst DateFilter = ({ option, onChange, value }: Props) => {\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value !== null && value !== undefined && value !== \"\"\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"DateFilter.cjs","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterDate } from \"../types\";\nimport Menu from \"../../Menu\";\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\";\nimport Calendar from \"../../Calendar\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst DateFilter = ({ option, onChange, value }: Props) => {\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value !== null && value !== undefined && value !== \"\"\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"surface.light\"\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={'surface'}\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(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 && <Chip\n size=\"small\"\n color=\"surface\"\n label={new Date(value).toLocaleDateString(\"en-US\")}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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 <Calendar\n value={value ? new Date(value) : null}\n onChange={(date) => {\n onChange(date?.toISOString() || null);\n setTarget(undefined);\n }}\n />\n </Menu>\n </Stack>\n )\n}\n\nexport default DateFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAqBA;;AAEG;AAEA;AAwBkB;;;AAYA;;;AAsCH;;AAEH;AAKf;;"}
|
|
@@ -14,11 +14,11 @@ import Calendar from '../../Calendar/index.js';
|
|
|
14
14
|
const DateFilter = ({ option, onChange, value }) => {
|
|
15
15
|
const [target, setTarget] = React.useState();
|
|
16
16
|
const isValue = value !== null && value !== undefined && value !== "";
|
|
17
|
-
return (jsxs(Stack, { width: "100%", bgcolor: "
|
|
17
|
+
return (jsxs(Stack, { width: "100%", bgcolor: "surface.light", 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: 'surface', onClick: (e) => {
|
|
18
18
|
setTarget(e.currentTarget);
|
|
19
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
19
|
+
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
20
20
|
onChange(null);
|
|
21
|
-
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(Chip, { size: "small", color: "
|
|
21
|
+
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(Chip, { size: "small", color: "surface", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", onClick: () => {
|
|
22
22
|
onChange(null);
|
|
23
23
|
}, children: jsx(Close, {}) }) }) }), jsx(Menu, { target: target, onClickOutside: () => setTarget(undefined), placement: "bottom-right", children: jsx(Calendar, { value: value ? new Date(value) : null, onChange: (date) => {
|
|
24
24
|
onChange((date === null || date === void 0 ? void 0 : date.toISOString()) || null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFilter.js","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterDate } from \"../types\";\nimport Menu from \"../../Menu\";\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\";\nimport Calendar from \"../../Calendar\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst DateFilter = ({ option, onChange, value }: Props) => {\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value !== null && value !== undefined && value !== \"\"\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"
|
|
1
|
+
{"version":3,"file":"DateFilter.js","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\n\nimport React from \"react\";\nimport { DataFilterDate } from \"../types\";\nimport Menu from \"../../Menu\";\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\";\nimport Calendar from \"../../Calendar\";\n\n\ntype Props = {\n option: DataFilterDate;\n value: string | null;\n onChange: (value: string | null) => void;\n}\n\nconst DateFilter = ({ option, onChange, value }: Props) => {\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\n const isValue = value !== null && value !== undefined && value !== \"\"\n\n return (\n <Stack\n width={\"100%\"}\n bgcolor=\"surface.light\"\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={'surface'}\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(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 && <Chip\n size=\"small\"\n color=\"surface\"\n label={new Date(value).toLocaleDateString(\"en-US\")}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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 <Calendar\n value={value ? new Date(value) : null}\n onChange={(date) => {\n onChange(date?.toISOString() || null);\n setTarget(undefined);\n }}\n />\n </Menu>\n </Stack>\n )\n}\n\nexport default DateFilter"],"names":[],"mappings":";;;;;;;;;;;;;AAqBA;;AAEG;AAEA;AAwBkB;;;AAYA;;;AAsCH;;AAEH;AAKf;;"}
|
|
@@ -11,10 +11,10 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
15
15
|
const d = new Date();
|
|
16
16
|
onChange([d.toISOString(), d.toISOString()]);
|
|
17
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
17
|
+
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
18
18
|
onChange(null);
|
|
19
19
|
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(index, { p: 1, gap: 1, width: "100%", children: [jsxRuntime.jsx(index$3, { fullWidth: true, variant: "outline", value: value[0] ? new Date(value[0]) : null, onChange: (date) => {
|
|
20
20
|
onChange([date ? date.toISOString() : "", value ? value[1] : ""]);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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,10 +9,10 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
13
13
|
const d = new Date();
|
|
14
14
|
onChange([d.toISOString(), d.toISOString()]);
|
|
15
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
15
|
+
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
16
16
|
onChange(null);
|
|
17
17
|
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(Fragment, { children: jsxs(Stack, { p: 1, gap: 1, width: "100%", children: [jsx(CalenderInput, { fullWidth: true, variant: "outline", value: value[0] ? new Date(value[0]) : null, onChange: (date) => {
|
|
18
18
|
onChange([date ? date.toISOString() : "", value ? value[1] : ""]);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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: "surface.light", 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: 'surface', onClick: (e) => {
|
|
24
24
|
setTarget(e.currentTarget);
|
|
25
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
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: "surface", label: val, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", 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=\"surface.light\"\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={'surface'}\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=\"surface\"\n label={val}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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: "surface.light", 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: 'surface', onClick: (e) => {
|
|
22
22
|
setTarget(e.currentTarget);
|
|
23
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
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: "surface", label: val, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", 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=\"surface.light\"\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={'surface'}\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=\"surface\"\n label={val}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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,9 +11,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
15
15
|
onChange(0);
|
|
16
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
16
|
+
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
17
17
|
onChange(null);
|
|
18
18
|
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(index$3, { variant: "outline", value: value.toString(), onChange: (e) => {
|
|
19
19
|
onChange(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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,9 +9,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
13
13
|
onChange(0);
|
|
14
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
14
|
+
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
15
15
|
onChange(null);
|
|
16
16
|
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(InputNumber, { variant: "outline", value: value.toString(), onChange: (e) => {
|
|
17
17
|
onChange(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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,9 +12,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
16
16
|
onChange([0, 0]);
|
|
17
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
17
|
+
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
18
18
|
onChange(null);
|
|
19
19
|
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsxs(index, { direction: "row", gap: 0.5, flex: 1, children: [jsxRuntime.jsx(index$3, { flex: 1, variant: "outline", size: "small", placeholder: "Min", value: (_a = value[0]) !== null && _a !== void 0 ? _a : '', onChange: (e) => {
|
|
20
20
|
const val = e.target.value === '' ? 0 : Number(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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,9 +10,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
14
14
|
onChange([0, 0]);
|
|
15
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
15
|
+
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
16
16
|
onChange(null);
|
|
17
17
|
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxs(Stack, { direction: "row", gap: 0.5, flex: 1, children: [jsx(InputNumber, { flex: 1, variant: "outline", size: "small", placeholder: "Min", value: (_a = value[0]) !== null && _a !== void 0 ? _a : '', onChange: (e) => {
|
|
18
18
|
const val = e.target.value === '' ? 0 : Number(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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: "surface.light", 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: 'surface', onClick: (e) => {
|
|
23
23
|
setTarget(e.currentTarget);
|
|
24
|
-
}, children: jsxRuntime.jsx(Add, {}) }), !!value && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
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: "surface", label: value, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", 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=\"surface.light\"\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={'surface'}\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=\"surface\"\n label={value}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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: "surface.light", 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: 'surface', onClick: (e) => {
|
|
21
21
|
setTarget(e.currentTarget);
|
|
22
|
-
}, children: jsx(Add, {}) }), !!value && jsx(IconButton, { size: "small", variant: "
|
|
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: "surface", label: value, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", 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=\"surface.light\"\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={'surface'}\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=\"surface\"\n label={value}\n endIcon={<IconButton\n size={16}\n variant={\"text\"}\n color=\"surface\"\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,9 +11,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
15
15
|
onChange('');
|
|
16
|
-
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "
|
|
16
|
+
}, children: jsxRuntime.jsx(Add, {}) }), isValue && jsxRuntime.jsx(index$2, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
17
17
|
onChange(null);
|
|
18
18
|
}, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(index$3, { variant: "outline", value: value.toString(), onChange: (e) => {
|
|
19
19
|
onChange(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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,9 +9,9 @@ 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: "surface.light", 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: 'surface', onClick: () => {
|
|
13
13
|
onChange('');
|
|
14
|
-
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "
|
|
14
|
+
}, children: jsx(Add, {}) }), isValue && jsx(IconButton, { size: "small", variant: "ghost", color: "danger", onClick: () => {
|
|
15
15
|
onChange(null);
|
|
16
16
|
}, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(Input, { variant: "outline", value: value.toString(), onChange: (e) => {
|
|
17
17
|
onChange(e.target.value);
|
|
@@ -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=\"surface.light\"\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={'surface'}\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;;"}
|