@xanui/ui 1.1.48 → 1.1.50

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 (161) hide show
  1. package/Accordion/index.cjs.map +1 -1
  2. package/Accordion/index.js.map +1 -1
  3. package/Alert/index.cjs.map +1 -1
  4. package/Alert/index.js.map +1 -1
  5. package/Autocomplete/index.cjs.map +1 -1
  6. package/Autocomplete/index.js.map +1 -1
  7. package/Avatar/index.cjs.map +1 -1
  8. package/Avatar/index.js.map +1 -1
  9. package/Badge/index.cjs.map +1 -1
  10. package/Badge/index.js.map +1 -1
  11. package/Box/index.cjs.map +1 -1
  12. package/Box/index.js.map +1 -1
  13. package/Button/index.cjs.map +1 -1
  14. package/Button/index.js.map +1 -1
  15. package/ButtonGroup/index.cjs.map +1 -1
  16. package/ButtonGroup/index.js.map +1 -1
  17. package/Calendar/index.cjs.map +1 -1
  18. package/Calendar/index.js.map +1 -1
  19. package/CalendarInput/index.cjs +1 -5
  20. package/CalendarInput/index.cjs.map +1 -1
  21. package/CalendarInput/index.js +1 -5
  22. package/CalendarInput/index.js.map +1 -1
  23. package/Checkbox/index.cjs.map +1 -1
  24. package/Checkbox/index.js.map +1 -1
  25. package/Chip/index.cjs.map +1 -1
  26. package/Chip/index.js.map +1 -1
  27. package/CircleProgress/index.cjs.map +1 -1
  28. package/CircleProgress/index.js.map +1 -1
  29. package/ClickOutside/index.cjs.map +1 -1
  30. package/ClickOutside/index.js.map +1 -1
  31. package/Collaps/index.cjs.map +1 -1
  32. package/Collaps/index.js.map +1 -1
  33. package/Container/index.cjs.map +1 -1
  34. package/Container/index.js.map +1 -1
  35. package/DataFilter/index.cjs.map +1 -1
  36. package/DataFilter/index.js.map +1 -1
  37. package/DataFilter/options/DateFilter.cjs.map +1 -1
  38. package/DataFilter/options/DateFilter.js.map +1 -1
  39. package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
  40. package/DataFilter/options/DateRangeFilter.js.map +1 -1
  41. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
  42. package/DataFilter/options/MultiSelectFilter.js.map +1 -1
  43. package/DataFilter/options/NumberFilter.cjs.map +1 -1
  44. package/DataFilter/options/NumberFilter.js.map +1 -1
  45. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
  46. package/DataFilter/options/NumberRangeFilter.js.map +1 -1
  47. package/DataFilter/options/SelectFilter.cjs.map +1 -1
  48. package/DataFilter/options/SelectFilter.js.map +1 -1
  49. package/DataFilter/options/TextFilter.cjs.map +1 -1
  50. package/DataFilter/options/TextFilter.js.map +1 -1
  51. package/Datatable/FilterBox.cjs.map +1 -1
  52. package/Datatable/FilterBox.js.map +1 -1
  53. package/Datatable/Row.cjs.map +1 -1
  54. package/Datatable/Row.js.map +1 -1
  55. package/Datatable/SelectedBox.cjs.map +1 -1
  56. package/Datatable/SelectedBox.js.map +1 -1
  57. package/Datatable/Table.cjs.map +1 -1
  58. package/Datatable/Table.js.map +1 -1
  59. package/Datatable/TableHead.cjs.map +1 -1
  60. package/Datatable/TableHead.js.map +1 -1
  61. package/Datatable/index.cjs.map +1 -1
  62. package/Datatable/index.js.map +1 -1
  63. package/Divider/index.cjs.map +1 -1
  64. package/Divider/index.js.map +1 -1
  65. package/Drawer/index.cjs.map +1 -1
  66. package/Drawer/index.js.map +1 -1
  67. package/Form/index.cjs.map +1 -1
  68. package/Form/index.js.map +1 -1
  69. package/GridContainer/index.cjs.map +1 -1
  70. package/GridContainer/index.js.map +1 -1
  71. package/GridItem/index.cjs.map +1 -1
  72. package/GridItem/index.js.map +1 -1
  73. package/IconButton/index.cjs.map +1 -1
  74. package/IconButton/index.js.map +1 -1
  75. package/Image/index.cjs.map +1 -1
  76. package/Image/index.js.map +1 -1
  77. package/Input/index.cjs +20 -2
  78. package/Input/index.cjs.map +1 -1
  79. package/Input/index.js +20 -2
  80. package/Input/index.js.map +1 -1
  81. package/InputNumber/index.cjs.map +1 -1
  82. package/InputNumber/index.js.map +1 -1
  83. package/Label/index.cjs.map +1 -1
  84. package/Label/index.js.map +1 -1
  85. package/Layer/index.cjs.map +1 -1
  86. package/Layer/index.js.map +1 -1
  87. package/LineProgress/index.cjs.map +1 -1
  88. package/LineProgress/index.js.map +1 -1
  89. package/List/ListContext.cjs.map +1 -1
  90. package/List/ListContext.js.map +1 -1
  91. package/List/index.cjs +15 -19
  92. package/List/index.cjs.map +1 -1
  93. package/List/index.d.ts +1 -3
  94. package/List/index.js +15 -19
  95. package/List/index.js.map +1 -1
  96. package/ListItem/index.cjs.map +1 -1
  97. package/ListItem/index.js.map +1 -1
  98. package/LoadingBox/index.cjs.map +1 -1
  99. package/LoadingBox/index.js.map +1 -1
  100. package/Menu/index.cjs.map +1 -1
  101. package/Menu/index.js.map +1 -1
  102. package/Modal/index.cjs.map +1 -1
  103. package/Modal/index.js.map +1 -1
  104. package/NoSSR/index.cjs.map +1 -1
  105. package/NoSSR/index.js.map +1 -1
  106. package/Option/index.cjs.map +1 -1
  107. package/Option/index.js.map +1 -1
  108. package/Paper/index.cjs.map +1 -1
  109. package/Paper/index.js.map +1 -1
  110. package/Portal/index.cjs.map +1 -1
  111. package/Portal/index.js.map +1 -1
  112. package/Radio/index.cjs.map +1 -1
  113. package/Radio/index.js.map +1 -1
  114. package/Scrollbar/index.cjs.map +1 -1
  115. package/Scrollbar/index.js.map +1 -1
  116. package/Select/index.cjs.map +1 -1
  117. package/Select/index.js.map +1 -1
  118. package/Skeleton/index.cjs.map +1 -1
  119. package/Skeleton/index.js.map +1 -1
  120. package/Stack/index.cjs.map +1 -1
  121. package/Stack/index.js.map +1 -1
  122. package/Switch/index.cjs.map +1 -1
  123. package/Switch/index.js.map +1 -1
  124. package/Tab/index.cjs.map +1 -1
  125. package/Tab/index.js.map +1 -1
  126. package/Table/index.cjs.map +1 -1
  127. package/Table/index.js.map +1 -1
  128. package/TableBody/index.cjs.map +1 -1
  129. package/TableBody/index.js.map +1 -1
  130. package/TableCell/index.cjs.map +1 -1
  131. package/TableCell/index.js.map +1 -1
  132. package/TableFooter/index.cjs.map +1 -1
  133. package/TableFooter/index.js.map +1 -1
  134. package/TableHead/index.cjs.map +1 -1
  135. package/TableHead/index.js.map +1 -1
  136. package/TablePagination/index.cjs.map +1 -1
  137. package/TablePagination/index.js.map +1 -1
  138. package/TableRow/index.cjs.map +1 -1
  139. package/TableRow/index.js.map +1 -1
  140. package/Tabs/index.cjs.map +1 -1
  141. package/Tabs/index.js.map +1 -1
  142. package/Text/index.cjs.map +1 -1
  143. package/Text/index.js.map +1 -1
  144. package/Toast/index.cjs.map +1 -1
  145. package/Toast/index.js.map +1 -1
  146. package/Tooltip/index.cjs.map +1 -1
  147. package/Tooltip/index.js.map +1 -1
  148. package/ViewBox/index.cjs.map +1 -1
  149. package/ViewBox/index.js.map +1 -1
  150. package/package.json +1 -1
  151. package/readme.md +104 -104
  152. package/useAlert/index.cjs.map +1 -1
  153. package/useAlert/index.js.map +1 -1
  154. package/useBlurCss/index.cjs.map +1 -1
  155. package/useBlurCss/index.js.map +1 -1
  156. package/useCorner/index.cjs.map +1 -1
  157. package/useCorner/index.js.map +1 -1
  158. package/useLayer/index.cjs.map +1 -1
  159. package/useLayer/index.js.map +1 -1
  160. package/useModal/index.cjs.map +1 -1
  161. package/useModal/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Collaps/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag, TagProps, TagComponentType, useInterface, TransitionProps, Transition } from '@xanui/core';\n\nexport type CollapsProps<T extends TagComponentType = \"div\"> = TagProps<T> & Omit<TransitionProps, \"variant\" | \"children\"> & {\n\n}\n\nconst Collaps = React.forwardRef(<T extends TagComponentType = \"div\">({ children, open, ...props }: CollapsProps<T>, ref: any) => {\n let [{\n ease,\n easing,\n duration,\n delay,\n onStart,\n onFinish,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n ...rest\n }] = useInterface<any>(\"Collaps\", props, {})\n\n open ??= false\n easing ??= \"standard\"\n\n return (\n <Transition\n {...{\n ease,\n easing,\n duration,\n delay,\n onStart,\n onFinish,\n onOpen,\n onOpened,\n onClose,\n onClosed\n }}\n disableInitialTransition\n variant=\"collapseVertical\"\n open={open}\n >\n <Tag\n {...rest}\n baseClass='collaps'\n ref={ref}\n >{children}</Tag>\n </Transition>\n )\n})\n\nexport default Collaps\n\n\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA6C,EAAE,GAAQ,KAAI;QAA3D,EAAE,QAAQ,EAAE,IAAI,EAAA,GAAA,EAA6B,EAAxB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA1B,oBAA4B,CAAF;AAC5F,IAAA,IAAI,OAYC,YAAY,CAAM,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAZvC,EACD,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,OAEX,EADM,IAAI,GAAA,MAAA,CAAA,EAAA,EAXN,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,CAYJ,CAA2C;IAE5C,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAJ,IAAI,IAAJ,IAAI,GAAK,KAAK,CAAA;IACd,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,IAAN,MAAM,GAAK,UAAU,CAAA;AAErB,IAAA,QACIA,GAAA,CAAC,UAAU,EAAA,EAEH,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,KAAK;QACL,OAAO;QACP,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAEZ,wBAAwB,EAAA,IAAA,EACxB,OAAO,EAAC,kBAAkB,EAC1B,IAAI,EAAE,IAAI,EAAA,QAAA,EAEVA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO,EAAA,CACR;AAErB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Collaps/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useInterface, TransitionProps, Transition } from '@xanui/core';\r\n\r\nexport type CollapsProps<T extends TagComponentType = \"div\"> = TagProps<T> & Omit<TransitionProps, \"variant\" | \"children\"> & {\r\n\r\n}\r\n\r\nconst Collaps = React.forwardRef(<T extends TagComponentType = \"div\">({ children, open, ...props }: CollapsProps<T>, ref: any) => {\r\n let [{\r\n ease,\r\n easing,\r\n duration,\r\n delay,\r\n onStart,\r\n onFinish,\r\n onOpen,\r\n onOpened,\r\n onClose,\r\n onClosed,\r\n ...rest\r\n }] = useInterface<any>(\"Collaps\", props, {})\r\n\r\n open ??= false\r\n easing ??= \"standard\"\r\n\r\n return (\r\n <Transition\r\n {...{\r\n ease,\r\n easing,\r\n duration,\r\n delay,\r\n onStart,\r\n onFinish,\r\n onOpen,\r\n onOpened,\r\n onClose,\r\n onClosed\r\n }}\r\n disableInitialTransition\r\n variant=\"collapseVertical\"\r\n open={open}\r\n >\r\n <Tag\r\n {...rest}\r\n baseClass='collaps'\r\n ref={ref}\r\n >{children}</Tag>\r\n </Transition>\r\n )\r\n})\r\n\r\nexport default Collaps\r\n\r\n\r\n"],"names":["_jsx"],"mappings":";;;;;AAOA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA6C,EAAE,GAAQ,KAAI;QAA3D,EAAE,QAAQ,EAAE,IAAI,EAAA,GAAA,EAA6B,EAAxB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA1B,oBAA4B,CAAF;AAC5F,IAAA,IAAI,OAYC,YAAY,CAAM,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAZvC,EACD,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,OAEX,EADM,IAAI,GAAA,MAAA,CAAA,EAAA,EAXN,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,CAYJ,CAA2C;IAE5C,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAJ,IAAI,IAAJ,IAAI,GAAK,KAAK,CAAA;IACd,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAN,MAAM,IAAN,MAAM,GAAK,UAAU,CAAA;AAErB,IAAA,QACIA,GAAA,CAAC,UAAU,EAAA,EAEH,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,KAAK;QACL,OAAO;QACP,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAEZ,wBAAwB,EAAA,IAAA,EACxB,OAAO,EAAC,kBAAkB,EAC1B,IAAI,EAAE,IAAI,EAAA,QAAA,EAEVA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO,EAAA,CACR;AAErB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Container/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\n}\n\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (maxWidth) _p.maxWidth = maxWidth\n const p: any = useBreakpointProps(_p)\n maxWidth = p.maxWidth\n\n const { breakpoints } = useTheme()\n maxWidth = maxWidth || \"lg\"\n return (\n <Tag\n {...rest}\n sxr={{\n width: \"100%\",\n maxWidth: {\n xs: \"100%\",\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\n },\n mx: \"auto\",\n px: 2,\n }}\n baseClass=\"container\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Container\n\n\n"],"names":["__rest","useBreakpointProps","useTheme","_jsx","Tag"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAkD,EAAE,GAAoB,KAAI;QAA5E,EAAE,QAAQ,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAA7B,wBAA+B,CAAF;IACjG,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,QAAQ;AAAE,QAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACpC,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,QAAQ,GAAG,CAAC,CAAC,QAAQ;AAErB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAGC,aAAQ,EAAE;AAClC,IAAA,QAAQ,GAAG,QAAQ,IAAI,IAAI;AAC3B,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE;AACN,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,CAAC,QAAe,GAAI,WAAmB,CAAC,QAAe;AAC1D,aAAA;AACD,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,EAAE,EAAE,CAAC;SACR,EACD,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Container/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\n\r\n\r\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\r\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\r\n}\r\n\r\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\r\n const _p: any = {}\r\n if (maxWidth) _p.maxWidth = maxWidth\r\n const p: any = useBreakpointProps(_p)\r\n maxWidth = p.maxWidth\r\n\r\n const { breakpoints } = useTheme()\r\n maxWidth = maxWidth || \"lg\"\r\n return (\r\n <Tag\r\n {...rest}\r\n sxr={{\r\n width: \"100%\",\r\n maxWidth: {\r\n xs: \"100%\",\r\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\r\n },\r\n mx: \"auto\",\r\n px: 2,\r\n }}\r\n baseClass=\"container\"\r\n ref={ref}\r\n >{children}</Tag>\r\n )\r\n})\r\n\r\nexport default Container\r\n\r\n\r\n"],"names":["__rest","useBreakpointProps","useTheme","_jsx","Tag"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAkD,EAAE,GAAoB,KAAI;QAA5E,EAAE,QAAQ,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAA7B,wBAA+B,CAAF;IACjG,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,QAAQ;AAAE,QAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACpC,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,QAAQ,GAAG,CAAC,CAAC,QAAQ;AAErB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAGC,aAAQ,EAAE;AAClC,IAAA,QAAQ,GAAG,QAAQ,IAAI,IAAI;AAC3B,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE;AACN,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,CAAC,QAAe,GAAI,WAAmB,CAAC,QAAe;AAC1D,aAAA;AACD,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,EAAE,EAAE,CAAC;SACR,EACD,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Container/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\n}\n\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (maxWidth) _p.maxWidth = maxWidth\n const p: any = useBreakpointProps(_p)\n maxWidth = p.maxWidth\n\n const { breakpoints } = useTheme()\n maxWidth = maxWidth || \"lg\"\n return (\n <Tag\n {...rest}\n sxr={{\n width: \"100%\",\n maxWidth: {\n xs: \"100%\",\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\n },\n mx: \"auto\",\n px: 2,\n }}\n baseClass=\"container\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Container\n\n\n"],"names":["_jsx"],"mappings":";;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAkD,EAAE,GAAoB,KAAI;QAA5E,EAAE,QAAQ,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAA7B,wBAA+B,CAAF;IACjG,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,QAAQ;AAAE,QAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACpC,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,QAAQ,GAAG,CAAC,CAAC,QAAQ;AAErB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE;AAClC,IAAA,QAAQ,GAAG,QAAQ,IAAI,IAAI;AAC3B,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE;AACN,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,CAAC,QAAe,GAAI,WAAmB,CAAC,QAAe;AAC1D,aAAA;AACD,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,EAAE,EAAE,CAAC;SACR,EACD,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Container/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useTheme, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\n\r\n\r\nexport type ContainerProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\r\n maxWidth?: useBreakpointPropsType<'lg' | 'md' | \"sm\" | 'xs'>\r\n}\r\n\r\nconst Container = React.forwardRef(<T extends TagComponentType = \"div\">({ children, maxWidth, ...rest }: ContainerProps<T>, ref?: React.Ref<any>) => {\r\n const _p: any = {}\r\n if (maxWidth) _p.maxWidth = maxWidth\r\n const p: any = useBreakpointProps(_p)\r\n maxWidth = p.maxWidth\r\n\r\n const { breakpoints } = useTheme()\r\n maxWidth = maxWidth || \"lg\"\r\n return (\r\n <Tag\r\n {...rest}\r\n sxr={{\r\n width: \"100%\",\r\n maxWidth: {\r\n xs: \"100%\",\r\n [maxWidth as any]: (breakpoints as any)[maxWidth as any]\r\n },\r\n mx: \"auto\",\r\n px: 2,\r\n }}\r\n baseClass=\"container\"\r\n ref={ref}\r\n >{children}</Tag>\r\n )\r\n})\r\n\r\nexport default Container\r\n\r\n\r\n"],"names":["_jsx"],"mappings":";;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAkD,EAAE,GAAoB,KAAI;QAA5E,EAAE,QAAQ,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAA7B,wBAA+B,CAAF;IACjG,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,QAAQ;AAAE,QAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ;AACpC,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,QAAQ,GAAG,CAAC,CAAC,QAAQ;AAErB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE;AAClC,IAAA,QAAQ,GAAG,QAAQ,IAAI,IAAI;AAC3B,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE;AACN,gBAAA,EAAE,EAAE,MAAM;AACV,gBAAA,CAAC,QAAe,GAAI,WAAmB,CAAC,QAAe;AAC1D,aAAA;AACD,YAAA,EAAE,EAAE,MAAM;AACV,YAAA,EAAE,EAAE,CAAC;SACR,EACD,SAAS,EAAC,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/DataFilter/index.tsx"],"sourcesContent":["\"use client\"\nimport Stack from '../Stack'\nimport { DataFilterProps } from './types'\nimport SelectFilter from './options/SelectFilter'\nimport MultiSelectFilter from './options/MultiSelectFilter'\nimport NumberFilter from './options/NumberFilter'\nimport TextFilter from './options/TextFilter'\nimport NumberRangeFilter from './options/NumberRangeFilter'\nimport DateFilter from './options/DateFilter'\nimport DateRangeFilter from './options/DateRangeFilter'\nimport React from 'react'\nimport { Tag } from '@xanui/core'\n\nexport {\n SelectFilter,\n MultiSelectFilter,\n NumberFilter,\n TextFilter,\n NumberRangeFilter,\n DateFilter,\n DateRangeFilter,\n}\n\nexport * from './types'\n\nconst DataFilter = ({ inline, options, onChange, value, ...props }: DataFilterProps, ref: React.Ref<HTMLDivElement>) => {\n inline ??= false\n value ??= {}\n onChange ??= () => { }\n\n return (\n <Tag\n {...props}\n sxr={{\n flexBox: true,\n flexDirection: inline ? 'row' : 'column',\n alignItems: inline ? 'center' : 'stretch',\n flexWrap: inline ? 'wrap' : 'nowrap',\n gap: 1,\n p: 2,\n radius: 1,\n }}\n baseClass='data-filter'\n ref={ref}\n >\n {\n options.map((option, index) => {\n switch (option.type) {\n case \"text\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <TextFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"number\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <NumberFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"number-range\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <NumberRangeFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"select\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <SelectFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"multi-select\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <MultiSelectFilter\n option={option as any}\n value={value[option.key] ?? []}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"date\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <DateFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"date-range\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <DateRangeFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n default:\n return null\n\n }\n })\n }\n </Tag>\n )\n}\n\nexport default React.forwardRef(DataFilter);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAyBA;AAAoB;;;;AAKjB;AAIS;;;;AAIA;AACA;AACA;AACF;;AAMK;AACG;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;;AAOrB;AAEA;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/DataFilter/index.tsx"],"sourcesContent":["\"use client\"\r\nimport Stack from '../Stack'\r\nimport { DataFilterProps } from './types'\r\nimport SelectFilter from './options/SelectFilter'\r\nimport MultiSelectFilter from './options/MultiSelectFilter'\r\nimport NumberFilter from './options/NumberFilter'\r\nimport TextFilter from './options/TextFilter'\r\nimport NumberRangeFilter from './options/NumberRangeFilter'\r\nimport DateFilter from './options/DateFilter'\r\nimport DateRangeFilter from './options/DateRangeFilter'\r\nimport React from 'react'\r\nimport { Tag } from '@xanui/core'\r\n\r\nexport {\r\n SelectFilter,\r\n MultiSelectFilter,\r\n NumberFilter,\r\n TextFilter,\r\n NumberRangeFilter,\r\n DateFilter,\r\n DateRangeFilter,\r\n}\r\n\r\nexport * from './types'\r\n\r\nconst DataFilter = ({ inline, options, onChange, value, ...props }: DataFilterProps, ref: React.Ref<HTMLDivElement>) => {\r\n inline ??= false\r\n value ??= {}\r\n onChange ??= () => { }\r\n\r\n return (\r\n <Tag\r\n {...props}\r\n sxr={{\r\n flexBox: true,\r\n flexDirection: inline ? 'row' : 'column',\r\n alignItems: inline ? 'center' : 'stretch',\r\n flexWrap: inline ? 'wrap' : 'nowrap',\r\n gap: 1,\r\n p: 2,\r\n radius: 1,\r\n }}\r\n baseClass='data-filter'\r\n ref={ref}\r\n >\r\n {\r\n options.map((option, index) => {\r\n switch (option.type) {\r\n case \"text\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <TextFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"number\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <NumberFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"number-range\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <NumberRangeFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"select\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <SelectFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"multi-select\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <MultiSelectFilter\r\n option={option as any}\r\n value={value[option.key] ?? []}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"date\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <DateFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"date-range\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <DateRangeFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n default:\r\n return null\r\n\r\n }\r\n })\r\n }\r\n </Tag>\r\n )\r\n}\r\n\r\nexport default React.forwardRef(DataFilter);\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAyBA;AAAoB;;;;AAKjB;AAIS;;;;AAIA;AACA;AACA;AACF;;AAMK;AACG;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;;AAOrB;AAEA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/DataFilter/index.tsx"],"sourcesContent":["\"use client\"\nimport Stack from '../Stack'\nimport { DataFilterProps } from './types'\nimport SelectFilter from './options/SelectFilter'\nimport MultiSelectFilter from './options/MultiSelectFilter'\nimport NumberFilter from './options/NumberFilter'\nimport TextFilter from './options/TextFilter'\nimport NumberRangeFilter from './options/NumberRangeFilter'\nimport DateFilter from './options/DateFilter'\nimport DateRangeFilter from './options/DateRangeFilter'\nimport React from 'react'\nimport { Tag } from '@xanui/core'\n\nexport {\n SelectFilter,\n MultiSelectFilter,\n NumberFilter,\n TextFilter,\n NumberRangeFilter,\n DateFilter,\n DateRangeFilter,\n}\n\nexport * from './types'\n\nconst DataFilter = ({ inline, options, onChange, value, ...props }: DataFilterProps, ref: React.Ref<HTMLDivElement>) => {\n inline ??= false\n value ??= {}\n onChange ??= () => { }\n\n return (\n <Tag\n {...props}\n sxr={{\n flexBox: true,\n flexDirection: inline ? 'row' : 'column',\n alignItems: inline ? 'center' : 'stretch',\n flexWrap: inline ? 'wrap' : 'nowrap',\n gap: 1,\n p: 2,\n radius: 1,\n }}\n baseClass='data-filter'\n ref={ref}\n >\n {\n options.map((option, index) => {\n switch (option.type) {\n case \"text\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <TextFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"number\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <NumberFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"number-range\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <NumberRangeFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"select\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <SelectFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"multi-select\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <MultiSelectFilter\n option={option as any}\n value={value[option.key] ?? []}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"date\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <DateFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n case \"date-range\":\n return (<Stack\n width={inline ? 300 : \"100%\"}\n key={index}\n >\n <DateRangeFilter\n option={option as any}\n value={value[option.key] ?? null}\n onChange={(v) => {\n onChange({\n ...value,\n [option.key]: v\n })\n }}\n />\n </Stack>\n )\n default:\n return null\n\n }\n })\n }\n </Tag>\n )\n}\n\nexport default React.forwardRef(DataFilter);\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAyBA;AAAoB;;;;AAKjB;AAIS;;;;AAIA;AACA;AACA;AACF;;AAMK;AACG;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;;AAOrB;AAEA;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/DataFilter/index.tsx"],"sourcesContent":["\"use client\"\r\nimport Stack from '../Stack'\r\nimport { DataFilterProps } from './types'\r\nimport SelectFilter from './options/SelectFilter'\r\nimport MultiSelectFilter from './options/MultiSelectFilter'\r\nimport NumberFilter from './options/NumberFilter'\r\nimport TextFilter from './options/TextFilter'\r\nimport NumberRangeFilter from './options/NumberRangeFilter'\r\nimport DateFilter from './options/DateFilter'\r\nimport DateRangeFilter from './options/DateRangeFilter'\r\nimport React from 'react'\r\nimport { Tag } from '@xanui/core'\r\n\r\nexport {\r\n SelectFilter,\r\n MultiSelectFilter,\r\n NumberFilter,\r\n TextFilter,\r\n NumberRangeFilter,\r\n DateFilter,\r\n DateRangeFilter,\r\n}\r\n\r\nexport * from './types'\r\n\r\nconst DataFilter = ({ inline, options, onChange, value, ...props }: DataFilterProps, ref: React.Ref<HTMLDivElement>) => {\r\n inline ??= false\r\n value ??= {}\r\n onChange ??= () => { }\r\n\r\n return (\r\n <Tag\r\n {...props}\r\n sxr={{\r\n flexBox: true,\r\n flexDirection: inline ? 'row' : 'column',\r\n alignItems: inline ? 'center' : 'stretch',\r\n flexWrap: inline ? 'wrap' : 'nowrap',\r\n gap: 1,\r\n p: 2,\r\n radius: 1,\r\n }}\r\n baseClass='data-filter'\r\n ref={ref}\r\n >\r\n {\r\n options.map((option, index) => {\r\n switch (option.type) {\r\n case \"text\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <TextFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"number\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <NumberFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"number-range\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <NumberRangeFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"select\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <SelectFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"multi-select\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <MultiSelectFilter\r\n option={option as any}\r\n value={value[option.key] ?? []}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"date\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <DateFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n case \"date-range\":\r\n return (<Stack\r\n width={inline ? 300 : \"100%\"}\r\n key={index}\r\n >\r\n <DateRangeFilter\r\n option={option as any}\r\n value={value[option.key] ?? null}\r\n onChange={(v) => {\r\n onChange({\r\n ...value,\r\n [option.key]: v\r\n })\r\n }}\r\n />\r\n </Stack>\r\n )\r\n default:\r\n return null\r\n\r\n }\r\n })\r\n }\r\n </Tag>\r\n )\r\n}\r\n\r\nexport default React.forwardRef(DataFilter);\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAyBA;AAAoB;;;;AAKjB;AAIS;;;;AAIA;AACA;AACA;AACF;;AAMK;AACG;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;AAYM;AAIT;AACG;;;AAOrB;AAEA;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"DateFilter.cjs","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterDate } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Close from \"@xanui/icons/Close\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\nimport Calendar from \"../../Calendar\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterDate;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst DateFilter = ({ option, onChange, value }: Props) => {\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n const isValue = value !== null && value !== undefined && value !== \"\"\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Chip\r\n size=\"small\"\r\n color=\"default\"\r\n label={new Date(value).toLocaleDateString(\"en-US\")}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <Calendar\r\n value={value ? new Date(value) : null}\r\n onChange={(date) => {\r\n onChange(date?.toISOString() || null);\r\n setTarget(undefined);\r\n }}\r\n />\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default DateFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAqBA;;AAEG;AAEA;AAwBkB;;;AAYA;;;AAsCH;;AAEH;AAKf;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"DateFilter.js","sources":["../../../src/DataFilter/options/DateFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterDate } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Close from \"@xanui/icons/Close\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\nimport Calendar from \"../../Calendar\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterDate;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst DateFilter = ({ option, onChange, value }: Props) => {\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n const isValue = value !== null && value !== undefined && value !== \"\"\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Chip\r\n size=\"small\"\r\n color=\"default\"\r\n label={new Date(value).toLocaleDateString(\"en-US\")}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <Calendar\r\n value={value ? new Date(value) : null}\r\n onChange={(date) => {\r\n onChange(date?.toISOString() || null);\r\n setTarget(undefined);\r\n }}\r\n />\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default DateFilter"],"names":[],"mappings":";;;;;;;;;;;;;AAqBA;;AAEG;AAEA;AAwBkB;;;AAYA;;;AAsCH;;AAEH;AAKf;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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\"\r\n\r\nimport { DataFilterDate } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport CalenderInput from \"../../CalendarInput\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterDate;\r\n value: [string, string] | null;\r\n onChange: (value: [string, string] | null) => void;\r\n}\r\n\r\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\r\n const isValue = value !== null && value !== undefined && value.length === 2\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n const d = new Date();\r\n onChange([d.toISOString(), d.toISOString()]);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <>\r\n <Stack\r\n p={1}\r\n gap={1}\r\n width={\"100%\"}\r\n >\r\n <CalenderInput\r\n fullWidth\r\n variant={\"outline\"}\r\n value={value![0] ? new Date(value[0]) : null}\r\n onChange={(date) => {\r\n onChange([date ? date.toISOString() : \"\", value ? value[1] : \"\"])\r\n }}\r\n />\r\n\r\n <CalenderInput\r\n fullWidth\r\n variant={\"outline\"}\r\n value={value![1] ? new Date(value[1]) : null}\r\n onChange={(date) => {\r\n onChange([value ? value[0] : \"\", date ? date.toISOString() : \"\"])\r\n }}\r\n />\r\n </Stack>\r\n </>\r\n }\r\n </Stack>\r\n\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default DateRangeFilter"],"names":[],"mappings":";;;;;;;;;;;AAiBA;AACG;AAEA;AAwBkB;AACA;;;AAYA;AAwBM;AACH;AAQG;AACH;AASxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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\"\r\n\r\nimport { DataFilterDate } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport CalenderInput from \"../../CalendarInput\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterDate;\r\n value: [string, string] | null;\r\n onChange: (value: [string, string] | null) => void;\r\n}\r\n\r\nconst DateRangeFilter = ({ option, onChange, value }: Props) => {\r\n const isValue = value !== null && value !== undefined && value.length === 2\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n const d = new Date();\r\n onChange([d.toISOString(), d.toISOString()]);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <>\r\n <Stack\r\n p={1}\r\n gap={1}\r\n width={\"100%\"}\r\n >\r\n <CalenderInput\r\n fullWidth\r\n variant={\"outline\"}\r\n value={value![0] ? new Date(value[0]) : null}\r\n onChange={(date) => {\r\n onChange([date ? date.toISOString() : \"\", value ? value[1] : \"\"])\r\n }}\r\n />\r\n\r\n <CalenderInput\r\n fullWidth\r\n variant={\"outline\"}\r\n value={value![1] ? new Date(value[1]) : null}\r\n onChange={(date) => {\r\n onChange([value ? value[0] : \"\", date ? date.toISOString() : \"\"])\r\n }}\r\n />\r\n </Stack>\r\n </>\r\n }\r\n </Stack>\r\n\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default DateRangeFilter"],"names":[],"mappings":";;;;;;;;;AAiBA;AACG;AAEA;AAwBkB;AACA;;;AAYA;AAwBM;AACH;AAQG;AACH;AASxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"MultiSelectFilter.cjs","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterSelect } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport List from \"../../List\";\r\nimport ListItem from \"../../ListItem\";\r\nimport Checkbox from \"../../Checkbox\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\nimport Close from \"@xanui/icons/Close\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string[];\r\n onChange: (value: string[]) => void;\r\n}\r\n\r\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\r\n const ref: any = React.useRef(null)\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n const isValue = value && value.length > 0;\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange([]);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && value.map((val, index) => {\r\n return (\r\n <Chip\r\n key={index}\r\n size=\"small\"\r\n color=\"default\"\r\n label={val}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(value.filter(v => v !== val));\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n )\r\n })\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\r\n {\r\n option.options.map((opt, index) => (\r\n <ListItem\r\n key={index}\r\n startIcon={<Checkbox checked={value?.includes(opt.value)} />}\r\n onClick={() => {\r\n const has = value?.includes(opt.value)\r\n onChange(has ? value?.filter(v => v !== opt.value) : [...value || [], opt.value]);\r\n }}\r\n >\r\n {opt.label}\r\n </ListItem>\r\n ))\r\n }\r\n </List>\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default MultiSelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA;;;;;AAIG;AAwBkB;;;AAYA;AAcH;AAWY;;AAOf;AAeY;AACA;AACH;AAUxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"MultiSelectFilter.js","sources":["../../../src/DataFilter/options/MultiSelectFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterSelect } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport List from \"../../List\";\r\nimport ListItem from \"../../ListItem\";\r\nimport Checkbox from \"../../Checkbox\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\nimport Close from \"@xanui/icons/Close\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string[];\r\n onChange: (value: string[]) => void;\r\n}\r\n\r\nconst MultiSelectFilter = ({ option, onChange, value }: Props) => {\r\n const ref: any = React.useRef(null)\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n const isValue = value && value.length > 0;\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange([]);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && value.map((val, index) => {\r\n return (\r\n <Chip\r\n key={index}\r\n size=\"small\"\r\n color=\"default\"\r\n label={val}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(value.filter(v => v !== val));\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n )\r\n })\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\r\n {\r\n option.options.map((opt, index) => (\r\n <ListItem\r\n key={index}\r\n startIcon={<Checkbox checked={value?.includes(opt.value)} />}\r\n onClick={() => {\r\n const has = value?.includes(opt.value)\r\n onChange(has ? value?.filter(v => v !== opt.value) : [...value || [], opt.value]);\r\n }}\r\n >\r\n {opt.label}\r\n </ListItem>\r\n ))\r\n }\r\n </List>\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default MultiSelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;;;;;AAIG;AAwBkB;;;AAYA;AAcH;AAWY;;AAOf;AAeY;AACA;AACH;AAUxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange(0);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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()}\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport InputNumber from \"../../InputNumber\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: number | null;\r\n onChange: (value: number | null) => void;\r\n}\r\n\r\nconst NumberFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange(0);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <InputNumber\r\n variant={\"outline\"}\r\n value={value.toString()}\r\n onChange={(e: any) => {\r\n onChange(e.target.value);\r\n }}\r\n fullWidth\r\n />\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default NumberFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange(0);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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()}\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport InputNumber from \"../../InputNumber\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: number | null;\r\n onChange: (value: number | null) => void;\r\n}\r\n\r\nconst NumberFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange(0);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <InputNumber\r\n variant={\"outline\"}\r\n value={value.toString()}\r\n onChange={(e: any) => {\r\n onChange(e.target.value);\r\n }}\r\n fullWidth\r\n />\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default NumberFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange([0, 0]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport InputNumber from \"../../InputNumber\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: [number, number] | null;\r\n onChange: (value: [number, number] | null) => void;\r\n}\r\n\r\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange([0, 0]);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flex={1}\r\n >\r\n <InputNumber\r\n flex={1}\r\n variant={\"outline\"}\r\n size=\"small\"\r\n placeholder=\"Min\"\r\n value={value[0] as any ?? ''}\r\n onChange={(e) => {\r\n const val = e.target.value === '' ? 0 : Number(e.target.value);\r\n onChange([val, value ? value[1] : 0]);\r\n }}\r\n />\r\n <InputNumber\r\n variant={\"outline\"}\r\n flex={1}\r\n size=\"small\"\r\n placeholder=\"Max\"\r\n value={value[1] as any ?? undefined}\r\n onChange={(e) => {\r\n const val = e.target.value === '' ? 0 : Number(e.target.value);\r\n onChange([value ? value[0] : 0, val]);\r\n }}\r\n />\r\n </Stack>\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default NumberRangeFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;;AAIG;AAwBkB;;;AAYA;;AA0BG;AACH;;AAUG;AACH;AAOrB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange([0, 0]);\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport InputNumber from \"../../InputNumber\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: [number, number] | null;\r\n onChange: (value: [number, number] | null) => void;\r\n}\r\n\r\nconst NumberRangeFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined && Array.isArray(value) && value.length === 2;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange([0, 0]);\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flex={1}\r\n >\r\n <InputNumber\r\n flex={1}\r\n variant={\"outline\"}\r\n size=\"small\"\r\n placeholder=\"Min\"\r\n value={value[0] as any ?? ''}\r\n onChange={(e) => {\r\n const val = e.target.value === '' ? 0 : Number(e.target.value);\r\n onChange([val, value ? value[1] : 0]);\r\n }}\r\n />\r\n <InputNumber\r\n variant={\"outline\"}\r\n flex={1}\r\n size=\"small\"\r\n placeholder=\"Max\"\r\n value={value[1] as any ?? undefined}\r\n onChange={(e) => {\r\n const val = e.target.value === '' ? 0 : Number(e.target.value);\r\n onChange([value ? value[0] : 0, val]);\r\n }}\r\n />\r\n </Stack>\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default NumberRangeFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;;AAIG;AAwBkB;;;AAYA;;AA0BG;AACH;;AAUG;AACH;AAOrB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"SelectFilter.cjs","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterSelect } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport List from \"../../List\";\r\nimport ListItem from \"../../ListItem\";\r\nimport Checkbox from \"../../Checkbox\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Close from \"@xanui/icons/Close\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst SelectFilter = ({ option, onChange, value }: Props) => {\r\n const ref: any = React.useRef(null)\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={value ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n !!value && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n !!value && <Chip\r\n size=\"small\"\r\n color=\"default\"\r\n label={value}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\r\n {\r\n option.options.map((opt, index) => (\r\n <ListItem\r\n key={index}\r\n startIcon={<Checkbox checked={value === opt.value} />}\r\n onClick={() => {\r\n onChange(opt.value);\r\n }}\r\n >\r\n {opt.label}\r\n </ListItem>\r\n ))\r\n }\r\n </List>\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA;;;;AAGG;AAwBkB;AACH;;AAWG;;AAuBA;AAmBM;AACH;AAUxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\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=\"soft\"\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;;"}
1
+ {"version":3,"file":"SelectFilter.js","sources":["../../../src/DataFilter/options/SelectFilter.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport React from \"react\";\r\nimport { DataFilterSelect } from \"../types\";\r\nimport Menu from \"../../Menu\";\r\nimport List from \"../../List\";\r\nimport ListItem from \"../../ListItem\";\r\nimport Checkbox from \"../../Checkbox\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Close from \"@xanui/icons/Close\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Chip from \"../../Chip\";\r\n\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst SelectFilter = ({ option, onChange, value }: Props) => {\r\n const ref: any = React.useRef(null)\r\n const [target, setTarget] = React.useState<HTMLElement | undefined>()\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={value ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={(e: any) => {\r\n setTarget(e.currentTarget)\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n !!value && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n !!value && <Chip\r\n size=\"small\"\r\n color=\"default\"\r\n label={value}\r\n endIcon={<IconButton\r\n size={16}\r\n variant={\"text\"}\r\n color=\"default\"\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <Close />\r\n </IconButton>}\r\n />\r\n }\r\n </Stack>\r\n <Menu\r\n target={target}\r\n onClickOutside={() => setTarget(undefined)}\r\n placement={\"bottom-right\"}\r\n >\r\n <List width={ref?.current?.offsetWidth || 200} size=\"small\">\r\n {\r\n option.options.map((opt, index) => (\r\n <ListItem\r\n key={index}\r\n startIcon={<Checkbox checked={value === opt.value} />}\r\n onClick={() => {\r\n onChange(opt.value);\r\n }}\r\n >\r\n {opt.label}\r\n </ListItem>\r\n ))\r\n }\r\n </List>\r\n </Menu>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectFilter"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;;;;AAGG;AAwBkB;AACH;;AAWG;;AAuBA;AAmBM;AACH;AAUxB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange('');\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Input from \"../../Input\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst TextFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange('');\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Input\r\n variant={\"outline\"}\r\n value={value.toString()}\r\n onChange={(e: any) => {\r\n onChange(e.target.value);\r\n }}\r\n fullWidth\r\n />\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default TextFilter"],"names":[],"mappings":";;;;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
@@ -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=\"background.secondary\"\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=\"soft\"\n color={\"default\"}\n onClick={() => {\n onChange('');\n }}\n >\n <Add />\n </IconButton>\n {\n isValue && <IconButton\n size=\"small\"\n variant=\"soft\"\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\"\r\n\r\nimport { DataFilterSelect } from \"../types\";\r\nimport IconButton from \"../../IconButton\";\r\nimport Stack from \"../../Stack\";\r\nimport Text from \"../../Text\";\r\nimport Add from \"@xanui/icons/Add\";\r\nimport ClearAll from \"@xanui/icons/ClearAll\";\r\nimport Input from \"../../Input\";\r\n\r\ntype Props = {\r\n option: DataFilterSelect;\r\n value: string | null;\r\n onChange: (value: string | null) => void;\r\n}\r\n\r\nconst TextFilter = ({ option, onChange, value }: Props) => {\r\n\r\n const isValue = value !== null && value !== undefined;\r\n\r\n return (\r\n <Stack\r\n width={\"100%\"}\r\n bgcolor=\"background.secondary\"\r\n p={1}\r\n radius={1}\r\n >\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent={\"space-between\"}\r\n gap={0.5}\r\n mb={isValue ? .5 : 0}\r\n >\r\n <Text>{option.label}</Text>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n >\r\n <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"default\"}\r\n onClick={() => {\r\n onChange('');\r\n }}\r\n >\r\n <Add />\r\n </IconButton>\r\n {\r\n isValue && <IconButton\r\n size=\"small\"\r\n variant=\"soft\"\r\n color={\"danger\"}\r\n onClick={() => {\r\n onChange(null);\r\n }}\r\n >\r\n <ClearAll />\r\n </IconButton>\r\n }\r\n </Stack>\r\n </Stack>\r\n <Stack\r\n direction=\"row\"\r\n gap={0.5}\r\n flexWrap=\"wrap\"\r\n >\r\n {\r\n isValue && <Input\r\n variant={\"outline\"}\r\n value={value.toString()}\r\n onChange={(e: any) => {\r\n onChange(e.target.value);\r\n }}\r\n fullWidth\r\n />\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default TextFilter"],"names":[],"mappings":";;;;;;;;;AAgBA;;AAIG;;;;;AAqDkB;AACH;AAOlB;;"}
@@ -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=\"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;;"}
1
+ {"version":3,"file":"FilterBox.cjs","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\r\nimport Stack from '../Stack'\r\nimport Tabs from '../Tabs'\r\nimport Tab from '../Tab'\r\nimport Input from '../Input'\r\nimport IconSearch from '@xanui/icons/Search'\r\nimport { DatatablePropsWithState } from './types';\r\nimport IconButton from '../IconButton';\r\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\r\nimport Drawer from '../Drawer';\r\nimport Text from '../Text';\r\nimport React from 'react';\r\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\r\nimport ViewBox from '../ViewBox';\r\nimport DataFilter from '../DataFilter';\r\n\r\nconst FilterBox = (props: DatatablePropsWithState) => {\r\n let {\r\n tabs,\r\n filters,\r\n hideSearch,\r\n slotProps,\r\n skeleton,\r\n state,\r\n update,\r\n } = props\r\n const [openFilter, setOpenFilter] = React.useState(false)\r\n let checked = state.selectAll || !!state.selected.length\r\n\r\n if (checked) return <></>\r\n\r\n return (\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n >\r\n <Stack gap={2.4} flexRow>\r\n {\r\n tabs && <Tabs\r\n disabled={skeleton ? true : false}\r\n onChange={(value: any) => {\r\n update({ tab: value })\r\n }}\r\n value={state.tab}\r\n >\r\n {\r\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\r\n }\r\n </Tabs>\r\n }\r\n </Stack>\r\n <Stack\r\n flexRow\r\n gap={2}\r\n className='datatable-header-right-area'\r\n alignItems={\"center\"}\r\n >\r\n {!hideSearch && <Input\r\n disabled={skeleton ? true : false}\r\n endIcon={<IconSearch />}\r\n placeholder='Search...'\r\n {...slotProps?.search}\r\n value={state.search}\r\n onChange={(e: any) => {\r\n update({ search: e.target.value })\r\n }}\r\n />}\r\n {\r\n filters && <Stack>\r\n <IconButton\r\n color=\"default\"\r\n variant={\"text\"}\r\n onClick={() => {\r\n setOpenFilter(true)\r\n }}\r\n >\r\n <FilterListOutlined />\r\n </IconButton>\r\n <Drawer\r\n open={openFilter}\r\n onClickOutside={() => { }}\r\n placement={\"right\"}\r\n >\r\n <ViewBox\r\n height=\"100%\"\r\n p={1}\r\n startContent={<Stack mb={2} px={2} flexRow justifyContent={\"space-between\"} alignItems=\"center\">\r\n <Text fontWeight={600} fontSize=\"h6\">Filters</Text>\r\n <IconButton\r\n size=\"small\"\r\n color=\"default\"\r\n variant=\"text\"\r\n onClick={() => {\r\n setOpenFilter(false)\r\n }}\r\n >\r\n <CloseOutlined />\r\n </IconButton>\r\n </Stack>}\r\n >\r\n <Stack\r\n gap={2}\r\n >\r\n <DataFilter\r\n options={filters}\r\n value={state.filters}\r\n onChange={(s) => {\r\n update({ filters: s })\r\n }}\r\n />\r\n </Stack>\r\n </ViewBox>\r\n </Drawer>\r\n </Stack>\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default FilterBox"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAgBA;AACG;AASA;AACA;AAEA;AAAa;AAEb;AAgBkB;;;;;AAiCA;;AAoBS;AAaG;;AAWjC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBox.js","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\nimport Stack from '../Stack'\nimport Tabs from '../Tabs'\nimport Tab from '../Tab'\nimport Input from '../Input'\nimport IconSearch from '@xanui/icons/Search'\nimport { DatatablePropsWithState } from './types';\nimport IconButton from '../IconButton';\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\nimport Drawer from '../Drawer';\nimport Text from '../Text';\nimport React from 'react';\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\nimport ViewBox from '../ViewBox';\nimport DataFilter from '../DataFilter';\n\nconst FilterBox = (props: DatatablePropsWithState) => {\n let {\n tabs,\n filters,\n hideSearch,\n slotProps,\n skeleton,\n state,\n update,\n } = props\n const [openFilter, setOpenFilter] = React.useState(false)\n let checked = state.selectAll || !!state.selected.length\n\n if (checked) return <></>\n\n return (\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n zIndex={1}\n radius={1}\n mb={1}\n height={50}\n width=\"100%\"\n >\n <Stack gap={2.4} flexRow>\n {\n tabs && <Tabs\n disabled={skeleton ? true : false}\n onChange={(value: any) => {\n update({ tab: value })\n }}\n value={state.tab}\n >\n {\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\n }\n </Tabs>\n }\n </Stack>\n <Stack\n flexRow\n gap={2}\n className='datatable-header-right-area'\n alignItems={\"center\"}\n >\n {!hideSearch && <Input\n disabled={skeleton ? true : false}\n endIcon={<IconSearch />}\n placeholder='Search...'\n {...slotProps?.search}\n value={state.search}\n onChange={(e: any) => {\n update({ search: e.target.value })\n }}\n />}\n {\n filters && <Stack>\n <IconButton\n color=\"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;;"}
1
+ {"version":3,"file":"FilterBox.js","sources":["../../src/Datatable/FilterBox.tsx"],"sourcesContent":["\"use client\";\r\nimport Stack from '../Stack'\r\nimport Tabs from '../Tabs'\r\nimport Tab from '../Tab'\r\nimport Input from '../Input'\r\nimport IconSearch from '@xanui/icons/Search'\r\nimport { DatatablePropsWithState } from './types';\r\nimport IconButton from '../IconButton';\r\nimport FilterListOutlined from '@xanui/icons/FilterListOutlined';\r\nimport Drawer from '../Drawer';\r\nimport Text from '../Text';\r\nimport React from 'react';\r\nimport CloseOutlined from '@xanui/icons/CloseOutlined';\r\nimport ViewBox from '../ViewBox';\r\nimport DataFilter from '../DataFilter';\r\n\r\nconst FilterBox = (props: DatatablePropsWithState) => {\r\n let {\r\n tabs,\r\n filters,\r\n hideSearch,\r\n slotProps,\r\n skeleton,\r\n state,\r\n update,\r\n } = props\r\n const [openFilter, setOpenFilter] = React.useState(false)\r\n let checked = state.selectAll || !!state.selected.length\r\n\r\n if (checked) return <></>\r\n\r\n return (\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n >\r\n <Stack gap={2.4} flexRow>\r\n {\r\n tabs && <Tabs\r\n disabled={skeleton ? true : false}\r\n onChange={(value: any) => {\r\n update({ tab: value })\r\n }}\r\n value={state.tab}\r\n >\r\n {\r\n tabs.map(t => <Tab key={t.label} value={t.value || t.label.toLowerCase()}>{t.label}</Tab>)\r\n }\r\n </Tabs>\r\n }\r\n </Stack>\r\n <Stack\r\n flexRow\r\n gap={2}\r\n className='datatable-header-right-area'\r\n alignItems={\"center\"}\r\n >\r\n {!hideSearch && <Input\r\n disabled={skeleton ? true : false}\r\n endIcon={<IconSearch />}\r\n placeholder='Search...'\r\n {...slotProps?.search}\r\n value={state.search}\r\n onChange={(e: any) => {\r\n update({ search: e.target.value })\r\n }}\r\n />}\r\n {\r\n filters && <Stack>\r\n <IconButton\r\n color=\"default\"\r\n variant={\"text\"}\r\n onClick={() => {\r\n setOpenFilter(true)\r\n }}\r\n >\r\n <FilterListOutlined />\r\n </IconButton>\r\n <Drawer\r\n open={openFilter}\r\n onClickOutside={() => { }}\r\n placement={\"right\"}\r\n >\r\n <ViewBox\r\n height=\"100%\"\r\n p={1}\r\n startContent={<Stack mb={2} px={2} flexRow justifyContent={\"space-between\"} alignItems=\"center\">\r\n <Text fontWeight={600} fontSize=\"h6\">Filters</Text>\r\n <IconButton\r\n size=\"small\"\r\n color=\"default\"\r\n variant=\"text\"\r\n onClick={() => {\r\n setOpenFilter(false)\r\n }}\r\n >\r\n <CloseOutlined />\r\n </IconButton>\r\n </Stack>}\r\n >\r\n <Stack\r\n gap={2}\r\n >\r\n <DataFilter\r\n options={filters}\r\n value={state.filters}\r\n onChange={(s) => {\r\n update({ filters: s })\r\n }}\r\n />\r\n </Stack>\r\n </ViewBox>\r\n </Drawer>\r\n </Stack>\r\n }\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default FilterBox"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgBA;AACG;AASA;AACA;AAEA;AAAa;AAEb;AAgBkB;;;;;AAiCA;;AAoBS;AAaG;;AAWjC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Row.cjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\"use client\";\nimport { useState } from 'react'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport Checkbox from '../Checkbox'\nimport IconButton from '../IconButton'\nimport List from '../List'\nimport ListItem from '../ListItem'\nimport ActionIcon from '@xanui/icons/MoreVert'\nimport Menu from '../Menu'\nimport { DataTableDefaultRow, DatatablePropsWithState } from './types';\n\n\ntype Props = DatatablePropsWithState & {\n rawRow: DataTableDefaultRow;\n row: DataTableDefaultRow;\n}\n\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, hideCheckbox, columns, compact, state, update }: Props) => {\n const selected = row.id ? state.selected.includes(row?.id) : false\n let selectedColor = selected ? \"primary.soft\" : \"transparent\"\n const [target, setTarget] = useState<any>()\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\n\n return (\n <TableRow >\n {!hideCheckbox && <TableCell width={40} bgcolor={selectedColor}>\n {\n !!row.id && <Checkbox\n size={compact ? \"small\" : \"medium\"}\n checked={selected}\n onChange={() => {\n if (isDisable || !row.id) return\n let ids = [...state.selected]\n ids.includes(row.id) ? ids.splice(ids.indexOf(row.id), 1) : ids.push(row.id)\n let selectedLength = 0\n rows.forEach(r => {\n const isDisable = (disableRow ? disableRow(r, state) : false) || false\n if (!isDisable) selectedLength++\n })\n\n update({\n selectAll: selectedLength === ids.length,\n selected: ids\n })\n }}\n />\n }\n\n </TableCell>}\n {\n columns.map(({ label, field, sortable, ...rest }, idx) => {\n field = field || label\n if (!row[field]) return <TableCell key={idx}></TableCell>\n return (\n <TableCell\n key={idx}\n textAlign=\"left\"\n {...rest}\n bgcolor={selectedColor}\n >\n {row[field]}\n </TableCell>\n )\n })\n }\n {!!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell width={30} bgcolor={selectedColor} borderColor=\"divider\">\n <IconButton\n disabled={isDisable || selected}\n onClick={(e: any) => setTarget(e.currentTarget)}\n variant=\"text\"\n color=\"default\"\n >\n <ActionIcon />\n </IconButton>\n <Menu target={target} placement=\"bottom-right\" onClickOutside={() => setTarget(null)}>\n <List\n bgcolor=\"background.primary\"\n minWidth={160}\n sx={{\n '& > li': {\n borderBottom: 1,\n '&:last-child': {\n borderBottom: 0\n }\n }\n }}\n >\n {rowAction({ row, state }).map(({ label, icon, onClick }) => {\n return (\n <ListItem\n key={label}\n startIcon={icon}\n onClick={(e: any) => {\n onClick && onClick(e)\n setTarget(null)\n }}\n >{label}</ListItem>\n )\n })}\n </List>\n </Menu>\n </TableCell>\n }\n </TableRow>\n )\n}\n\nexport default Row"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA;;;;;;;AAc4B;;;AAEA;;AAEA;;AAEI;AAAgB;AACpB;AAEA;AACI;AACA;AACH;AACL;;AAOJ;AACA;AAAiB;;;AA2BT;AACI;AACA;AACI;AACH;AACJ;;AAID;AAKY;;AAEJ;AAGZ;AAOxB;;"}
1
+ {"version":3,"file":"Row.cjs","sources":["../../src/Datatable/Row.tsx"],"sourcesContent":["\"use client\";\r\nimport { useState } from 'react'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport Checkbox from '../Checkbox'\r\nimport IconButton from '../IconButton'\r\nimport List from '../List'\r\nimport ListItem from '../ListItem'\r\nimport ActionIcon from '@xanui/icons/MoreVert'\r\nimport Menu from '../Menu'\r\nimport { DataTableDefaultRow, DatatablePropsWithState } from './types';\r\n\r\n\r\ntype Props = DatatablePropsWithState & {\r\n rawRow: DataTableDefaultRow;\r\n row: DataTableDefaultRow;\r\n}\r\n\r\nconst Row = ({ rows, rawRow, row, rowAction, disableRow, hideCheckbox, columns, compact, state, update }: Props) => {\r\n const selected = row.id ? state.selected.includes(row?.id) : false\r\n let selectedColor = selected ? \"primary.soft\" : \"transparent\"\r\n const [target, setTarget] = useState<any>()\r\n const isDisable = (disableRow ? disableRow(rawRow, state) : false) || false\r\n\r\n return (\r\n <TableRow >\r\n {!hideCheckbox && <TableCell width={40} bgcolor={selectedColor}>\r\n {\r\n !!row.id && <Checkbox\r\n size={compact ? \"small\" : \"medium\"}\r\n checked={selected}\r\n onChange={() => {\r\n if (isDisable || !row.id) return\r\n let ids = [...state.selected]\r\n ids.includes(row.id) ? ids.splice(ids.indexOf(row.id), 1) : ids.push(row.id)\r\n let selectedLength = 0\r\n rows.forEach(r => {\r\n const isDisable = (disableRow ? disableRow(r, state) : false) || false\r\n if (!isDisable) selectedLength++\r\n })\r\n\r\n update({\r\n selectAll: selectedLength === ids.length,\r\n selected: ids\r\n })\r\n }}\r\n />\r\n }\r\n\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field, sortable, ...rest }, idx) => {\r\n field = field || label\r\n if (!row[field]) return <TableCell key={idx}></TableCell>\r\n return (\r\n <TableCell\r\n key={idx}\r\n textAlign=\"left\"\r\n {...rest}\r\n bgcolor={selectedColor}\r\n >\r\n {row[field]}\r\n </TableCell>\r\n )\r\n })\r\n }\r\n {!!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell width={30} bgcolor={selectedColor} borderColor=\"divider\">\r\n <IconButton\r\n disabled={isDisable || selected}\r\n onClick={(e: any) => setTarget(e.currentTarget)}\r\n variant=\"text\"\r\n color=\"default\"\r\n >\r\n <ActionIcon />\r\n </IconButton>\r\n <Menu target={target} placement=\"bottom-right\" onClickOutside={() => setTarget(null)}>\r\n <List\r\n bgcolor=\"background.primary\"\r\n minWidth={160}\r\n sx={{\r\n '& > li': {\r\n borderBottom: 1,\r\n '&:last-child': {\r\n borderBottom: 0\r\n }\r\n }\r\n }}\r\n >\r\n {rowAction({ row, state }).map(({ label, icon, onClick }) => {\r\n return (\r\n <ListItem\r\n key={label}\r\n startIcon={icon}\r\n onClick={(e: any) => {\r\n onClick && onClick(e)\r\n setTarget(null)\r\n }}\r\n >{label}</ListItem>\r\n )\r\n })}\r\n </List>\r\n </Menu>\r\n </TableCell>\r\n }\r\n </TableRow>\r\n )\r\n}\r\n\r\nexport default Row"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA;;;;;;;AAc4B;;;AAEA;;AAEA;;AAEI;AAAgB;AACpB;AAEA;AACI;AACA;AACH;AACL;;AAOJ;AACA;AAAiB;;;AA2BT;AACI;AACA;AACI;AACH;AACJ;;AAID;AAKY;;AAEJ;AAGZ;AAOxB;;"}