@xanui/ui 1.2.8 → 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.
Files changed (210) hide show
  1. package/Accordion/index.cjs +5 -5
  2. package/Accordion/index.cjs.map +1 -1
  3. package/Accordion/index.d.ts +1 -0
  4. package/Accordion/index.js +5 -5
  5. package/Accordion/index.js.map +1 -1
  6. package/Alert/index.cjs +8 -8
  7. package/Alert/index.cjs.map +1 -1
  8. package/Alert/index.js +8 -8
  9. package/Alert/index.js.map +1 -1
  10. package/Autocomplete/index.cjs +2 -2
  11. package/Autocomplete/index.cjs.map +1 -1
  12. package/Autocomplete/index.d.ts +1 -1
  13. package/Autocomplete/index.js +2 -2
  14. package/Autocomplete/index.js.map +1 -1
  15. package/Avatar/index.cjs +2 -2
  16. package/Avatar/index.cjs.map +1 -1
  17. package/Avatar/index.js +2 -2
  18. package/Avatar/index.js.map +1 -1
  19. package/AvatarBox/index.cjs +1 -1
  20. package/AvatarBox/index.cjs.map +1 -1
  21. package/AvatarBox/index.js +1 -1
  22. package/AvatarBox/index.js.map +1 -1
  23. package/AvatarPicker/index.cjs +3 -3
  24. package/AvatarPicker/index.cjs.map +1 -1
  25. package/AvatarPicker/index.d.ts +1 -1
  26. package/AvatarPicker/index.js +3 -3
  27. package/AvatarPicker/index.js.map +1 -1
  28. package/Badge/index.cjs +1 -1
  29. package/Badge/index.cjs.map +1 -1
  30. package/Badge/index.js +1 -1
  31. package/Badge/index.js.map +1 -1
  32. package/Button/index.cjs +1 -1
  33. package/Button/index.cjs.map +1 -1
  34. package/Button/index.js +1 -1
  35. package/Button/index.js.map +1 -1
  36. package/ButtonGroup/index.cjs +1 -1
  37. package/ButtonGroup/index.cjs.map +1 -1
  38. package/ButtonGroup/index.js +1 -1
  39. package/ButtonGroup/index.js.map +1 -1
  40. package/Calendar/index.cjs +9 -9
  41. package/Calendar/index.cjs.map +1 -1
  42. package/Calendar/index.js +9 -9
  43. package/Calendar/index.js.map +1 -1
  44. package/CalendarInput/index.cjs +1 -1
  45. package/CalendarInput/index.cjs.map +1 -1
  46. package/CalendarInput/index.js +1 -1
  47. package/CalendarInput/index.js.map +1 -1
  48. package/Card/index.cjs +4 -4
  49. package/Card/index.cjs.map +1 -1
  50. package/Card/index.d.ts +1 -1
  51. package/Card/index.js +4 -4
  52. package/Card/index.js.map +1 -1
  53. package/Checkbox/index.cjs +1 -1
  54. package/Checkbox/index.cjs.map +1 -1
  55. package/Checkbox/index.js +1 -1
  56. package/Checkbox/index.js.map +1 -1
  57. package/CircleProgress/index.cjs +7 -7
  58. package/CircleProgress/index.cjs.map +1 -1
  59. package/CircleProgress/index.js +7 -7
  60. package/CircleProgress/index.js.map +1 -1
  61. package/DataFilter/options/DateFilter.cjs +2 -2
  62. package/DataFilter/options/DateFilter.cjs.map +1 -1
  63. package/DataFilter/options/DateFilter.js +2 -2
  64. package/DataFilter/options/DateFilter.js.map +1 -1
  65. package/DataFilter/options/DateRangeFilter.cjs +1 -1
  66. package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
  67. package/DataFilter/options/DateRangeFilter.js +1 -1
  68. package/DataFilter/options/DateRangeFilter.js.map +1 -1
  69. package/DataFilter/options/MultiSelectFilter.cjs +2 -2
  70. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
  71. package/DataFilter/options/MultiSelectFilter.js +2 -2
  72. package/DataFilter/options/MultiSelectFilter.js.map +1 -1
  73. package/DataFilter/options/NumberFilter.cjs +1 -1
  74. package/DataFilter/options/NumberFilter.cjs.map +1 -1
  75. package/DataFilter/options/NumberFilter.js +1 -1
  76. package/DataFilter/options/NumberFilter.js.map +1 -1
  77. package/DataFilter/options/NumberRangeFilter.cjs +1 -1
  78. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
  79. package/DataFilter/options/NumberRangeFilter.js +1 -1
  80. package/DataFilter/options/NumberRangeFilter.js.map +1 -1
  81. package/DataFilter/options/SelectFilter.cjs +2 -2
  82. package/DataFilter/options/SelectFilter.cjs.map +1 -1
  83. package/DataFilter/options/SelectFilter.js +2 -2
  84. package/DataFilter/options/SelectFilter.js.map +1 -1
  85. package/DataFilter/options/TextFilter.cjs +1 -1
  86. package/DataFilter/options/TextFilter.cjs.map +1 -1
  87. package/DataFilter/options/TextFilter.js +1 -1
  88. package/DataFilter/options/TextFilter.js.map +1 -1
  89. package/Datatable/FilterBox.cjs +2 -2
  90. package/Datatable/FilterBox.cjs.map +1 -1
  91. package/Datatable/FilterBox.js +2 -2
  92. package/Datatable/FilterBox.js.map +1 -1
  93. package/Datatable/Row.cjs +1 -1
  94. package/Datatable/Row.cjs.map +1 -1
  95. package/Datatable/Row.js +1 -1
  96. package/Datatable/Row.js.map +1 -1
  97. package/Datatable/SelectedBox.cjs +1 -1
  98. package/Datatable/SelectedBox.cjs.map +1 -1
  99. package/Datatable/SelectedBox.js +1 -1
  100. package/Datatable/SelectedBox.js.map +1 -1
  101. package/Datatable/Table.cjs +1 -1
  102. package/Datatable/Table.cjs.map +1 -1
  103. package/Datatable/Table.js +1 -1
  104. package/Datatable/Table.js.map +1 -1
  105. package/Datatable/TableHead.cjs +3 -3
  106. package/Datatable/TableHead.cjs.map +1 -1
  107. package/Datatable/TableHead.js +3 -3
  108. package/Datatable/TableHead.js.map +1 -1
  109. package/Datatable/index.cjs +1 -1
  110. package/Datatable/index.cjs.map +1 -1
  111. package/Datatable/index.js +1 -1
  112. package/Datatable/index.js.map +1 -1
  113. package/Divider/index.cjs +3 -3
  114. package/Divider/index.cjs.map +1 -1
  115. package/Divider/index.js +3 -3
  116. package/Divider/index.js.map +1 -1
  117. package/Drawer/index.cjs +1 -1
  118. package/Drawer/index.cjs.map +1 -1
  119. package/Drawer/index.js +1 -1
  120. package/Drawer/index.js.map +1 -1
  121. package/FilePicker/index.d.ts +1 -1
  122. package/Form/index.cjs +1 -1
  123. package/Form/index.cjs.map +1 -1
  124. package/Form/index.js +1 -1
  125. package/Form/index.js.map +1 -1
  126. package/GalleryPicker/index.cjs +5 -5
  127. package/GalleryPicker/index.cjs.map +1 -1
  128. package/GalleryPicker/index.d.ts +1 -1
  129. package/GalleryPicker/index.js +5 -5
  130. package/GalleryPicker/index.js.map +1 -1
  131. package/Input/index.cjs +7 -7
  132. package/Input/index.cjs.map +1 -1
  133. package/Input/index.d.ts +1 -1
  134. package/Input/index.js +7 -7
  135. package/Input/index.js.map +1 -1
  136. package/Label/index.cjs +1 -1
  137. package/Label/index.cjs.map +1 -1
  138. package/Label/index.js +1 -1
  139. package/Label/index.js.map +1 -1
  140. package/LineProgress/index.cjs +2 -2
  141. package/LineProgress/index.cjs.map +1 -1
  142. package/LineProgress/index.js +2 -2
  143. package/LineProgress/index.js.map +1 -1
  144. package/ListItem/index.cjs +2 -2
  145. package/ListItem/index.cjs.map +1 -1
  146. package/ListItem/index.js +2 -2
  147. package/ListItem/index.js.map +1 -1
  148. package/Menu/index.cjs +1 -1
  149. package/Menu/index.cjs.map +1 -1
  150. package/Menu/index.js +1 -1
  151. package/Menu/index.js.map +1 -1
  152. package/Modal/index.cjs +1 -1
  153. package/Modal/index.cjs.map +1 -1
  154. package/Modal/index.js +1 -1
  155. package/Modal/index.js.map +1 -1
  156. package/PasswordInput/index.cjs +1 -1
  157. package/PasswordInput/index.cjs.map +1 -1
  158. package/PasswordInput/index.js +1 -1
  159. package/PasswordInput/index.js.map +1 -1
  160. package/RangeSlider/index.cjs +2 -2
  161. package/RangeSlider/index.cjs.map +1 -1
  162. package/RangeSlider/index.js +2 -2
  163. package/RangeSlider/index.js.map +1 -1
  164. package/Skeleton/index.cjs +1 -1
  165. package/Skeleton/index.cjs.map +1 -1
  166. package/Skeleton/index.js +1 -1
  167. package/Skeleton/index.js.map +1 -1
  168. package/Switch/index.cjs +1 -1
  169. package/Switch/index.cjs.map +1 -1
  170. package/Switch/index.d.ts +1 -1
  171. package/Switch/index.js +1 -1
  172. package/Switch/index.js.map +1 -1
  173. package/Tab/index.cjs +1 -1
  174. package/Tab/index.cjs.map +1 -1
  175. package/Tab/index.js +1 -1
  176. package/Tab/index.js.map +1 -1
  177. package/Table/index.cjs +4 -4
  178. package/Table/index.cjs.map +1 -1
  179. package/Table/index.js +4 -4
  180. package/Table/index.js.map +1 -1
  181. package/TableCell/index.cjs +1 -1
  182. package/TableCell/index.cjs.map +1 -1
  183. package/TableCell/index.js +1 -1
  184. package/TableCell/index.js.map +1 -1
  185. package/TablePagination/index.cjs +2 -2
  186. package/TablePagination/index.cjs.map +1 -1
  187. package/TablePagination/index.js +2 -2
  188. package/TablePagination/index.js.map +1 -1
  189. package/Tabs/index.cjs +1 -1
  190. package/Tabs/index.cjs.map +1 -1
  191. package/Tabs/index.js +1 -1
  192. package/Tabs/index.js.map +1 -1
  193. package/Text/index.cjs +1 -1
  194. package/Text/index.cjs.map +1 -1
  195. package/Text/index.js +1 -1
  196. package/Text/index.js.map +1 -1
  197. package/Tooltip/index.cjs +2 -2
  198. package/Tooltip/index.cjs.map +1 -1
  199. package/Tooltip/index.js +2 -2
  200. package/Tooltip/index.js.map +1 -1
  201. package/package.json +2 -2
  202. package/readme.md +4 -4
  203. package/useBlurCss/index.cjs +1 -1
  204. package/useBlurCss/index.cjs.map +1 -1
  205. package/useBlurCss/index.js +1 -1
  206. package/useBlurCss/index.js.map +1 -1
  207. package/useContextMenu/index.cjs +1 -1
  208. package/useContextMenu/index.cjs.map +1 -1
  209. package/useContextMenu/index.js +1 -1
  210. package/useContextMenu/index.js.map +1 -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: "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) => {
19
+ 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) => {
20
20
  setTarget(e.currentTarget);
21
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: "surface", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", onClick: () => {
23
+ }, children: jsxRuntime.jsx(ClearAll, {}) })] })] }), jsxRuntime.jsx(index, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsxRuntime.jsx(index$3, { size: "small", color: "default", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "default", 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=\"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;;"}
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=\"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(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=\"default\"\n label={new Date(value).toLocaleDateString(\"en-US\")}\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 <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: "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) => {
17
+ 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) => {
18
18
  setTarget(e.currentTarget);
19
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: "surface", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", onClick: () => {
21
+ }, children: jsx(ClearAll, {}) })] })] }), jsx(Stack, { direction: "row", gap: 0.5, flexWrap: "wrap", children: isValue && jsx(Chip, { size: "small", color: "default", label: new Date(value).toLocaleDateString("en-US"), endIcon: jsx(IconButton, { size: 16, variant: "text", color: "default", 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=\"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;;"}
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=\"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(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=\"default\"\n label={new Date(value).toLocaleDateString(\"en-US\")}\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 <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,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: "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: () => {
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=\"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;;"}
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: "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: () => {
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=\"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;;"}
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: "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) => {
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: "surface", label: val, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", onClick: () => {
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=\"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;;"}
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: "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) => {
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: "surface", label: val, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", onClick: () => {
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=\"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;;"}
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: "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: () => {
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=\"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;;"}
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: "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: () => {
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=\"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;;"}
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: "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
+ 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=\"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;;"}
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: "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
+ 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=\"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;;"}
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: "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) => {
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: "surface", label: value, endIcon: jsxRuntime.jsx(index$2, { size: 16, variant: "text", color: "surface", onClick: () => {
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=\"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;;"}
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: "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) => {
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: "surface", label: value, endIcon: jsx(IconButton, { size: 16, variant: "text", color: "surface", onClick: () => {
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=\"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;;"}
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: "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: () => {
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=\"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;;"}
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: "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: () => {
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=\"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;;"}
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;;"}
@@ -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: "surface", variant: "text", onClick: () => {
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: "surface", variant: "text", onClick: () => {
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=\"surface\"\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=\"surface\"\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;;"}
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;;"}