@xanui/ui 1.1.50 → 1.1.52

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 (160) 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.map +1 -1
  20. package/CalendarInput/index.js.map +1 -1
  21. package/Checkbox/index.cjs.map +1 -1
  22. package/Checkbox/index.js.map +1 -1
  23. package/Chip/index.cjs.map +1 -1
  24. package/Chip/index.js.map +1 -1
  25. package/CircleProgress/index.cjs.map +1 -1
  26. package/CircleProgress/index.js.map +1 -1
  27. package/ClickOutside/index.cjs.map +1 -1
  28. package/ClickOutside/index.js.map +1 -1
  29. package/Collaps/index.cjs.map +1 -1
  30. package/Collaps/index.js.map +1 -1
  31. package/Container/index.cjs.map +1 -1
  32. package/Container/index.js.map +1 -1
  33. package/DataFilter/index.cjs.map +1 -1
  34. package/DataFilter/index.js.map +1 -1
  35. package/DataFilter/options/DateFilter.cjs.map +1 -1
  36. package/DataFilter/options/DateFilter.js.map +1 -1
  37. package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
  38. package/DataFilter/options/DateRangeFilter.js.map +1 -1
  39. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
  40. package/DataFilter/options/MultiSelectFilter.js.map +1 -1
  41. package/DataFilter/options/NumberFilter.cjs.map +1 -1
  42. package/DataFilter/options/NumberFilter.js.map +1 -1
  43. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
  44. package/DataFilter/options/NumberRangeFilter.js.map +1 -1
  45. package/DataFilter/options/SelectFilter.cjs.map +1 -1
  46. package/DataFilter/options/SelectFilter.js.map +1 -1
  47. package/DataFilter/options/TextFilter.cjs.map +1 -1
  48. package/DataFilter/options/TextFilter.js.map +1 -1
  49. package/Datatable/FilterBox.cjs.map +1 -1
  50. package/Datatable/FilterBox.js.map +1 -1
  51. package/Datatable/Row.cjs +1 -1
  52. package/Datatable/Row.cjs.map +1 -1
  53. package/Datatable/Row.js +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 +1 -1
  58. package/Datatable/Table.cjs.map +1 -1
  59. package/Datatable/Table.js +1 -1
  60. package/Datatable/Table.js.map +1 -1
  61. package/Datatable/TableHead.cjs.map +1 -1
  62. package/Datatable/TableHead.js.map +1 -1
  63. package/Datatable/index.cjs +1 -1
  64. package/Datatable/index.cjs.map +1 -1
  65. package/Datatable/index.js +1 -1
  66. package/Datatable/index.js.map +1 -1
  67. package/Divider/index.cjs.map +1 -1
  68. package/Divider/index.js.map +1 -1
  69. package/Drawer/index.cjs.map +1 -1
  70. package/Drawer/index.js.map +1 -1
  71. package/Form/index.cjs.map +1 -1
  72. package/Form/index.js.map +1 -1
  73. package/GridContainer/index.cjs.map +1 -1
  74. package/GridContainer/index.js.map +1 -1
  75. package/GridItem/index.cjs.map +1 -1
  76. package/GridItem/index.js.map +1 -1
  77. package/IconButton/index.cjs.map +1 -1
  78. package/IconButton/index.js.map +1 -1
  79. package/Image/index.cjs.map +1 -1
  80. package/Image/index.js.map +1 -1
  81. package/Input/index.cjs.map +1 -1
  82. package/Input/index.js.map +1 -1
  83. package/InputNumber/index.cjs.map +1 -1
  84. package/InputNumber/index.js.map +1 -1
  85. package/Label/index.cjs.map +1 -1
  86. package/Label/index.js.map +1 -1
  87. package/Layer/index.cjs.map +1 -1
  88. package/Layer/index.js.map +1 -1
  89. package/LineProgress/index.cjs.map +1 -1
  90. package/LineProgress/index.js.map +1 -1
  91. package/List/ListContext.cjs.map +1 -1
  92. package/List/ListContext.js.map +1 -1
  93. package/List/index.cjs.map +1 -1
  94. package/List/index.js.map +1 -1
  95. package/ListItem/index.cjs.map +1 -1
  96. package/ListItem/index.js.map +1 -1
  97. package/LoadingBox/index.cjs.map +1 -1
  98. package/LoadingBox/index.js.map +1 -1
  99. package/Menu/index.cjs.map +1 -1
  100. package/Menu/index.js.map +1 -1
  101. package/Modal/index.cjs.map +1 -1
  102. package/Modal/index.js.map +1 -1
  103. package/NoSSR/index.cjs.map +1 -1
  104. package/NoSSR/index.js.map +1 -1
  105. package/Option/index.cjs.map +1 -1
  106. package/Option/index.js.map +1 -1
  107. package/Paper/index.cjs.map +1 -1
  108. package/Paper/index.js.map +1 -1
  109. package/Portal/index.cjs.map +1 -1
  110. package/Portal/index.js.map +1 -1
  111. package/Radio/index.cjs.map +1 -1
  112. package/Radio/index.js.map +1 -1
  113. package/Scrollbar/index.cjs.map +1 -1
  114. package/Scrollbar/index.js.map +1 -1
  115. package/Select/index.cjs.map +1 -1
  116. package/Select/index.js.map +1 -1
  117. package/Skeleton/index.cjs.map +1 -1
  118. package/Skeleton/index.js.map +1 -1
  119. package/Stack/index.cjs.map +1 -1
  120. package/Stack/index.js.map +1 -1
  121. package/Switch/index.cjs.map +1 -1
  122. package/Switch/index.js.map +1 -1
  123. package/Tab/index.cjs.map +1 -1
  124. package/Tab/index.js.map +1 -1
  125. package/Table/index.cjs.map +1 -1
  126. package/Table/index.js.map +1 -1
  127. package/TableBody/index.cjs.map +1 -1
  128. package/TableBody/index.js.map +1 -1
  129. package/TableCell/index.cjs.map +1 -1
  130. package/TableCell/index.js.map +1 -1
  131. package/TableFooter/index.cjs.map +1 -1
  132. package/TableFooter/index.js.map +1 -1
  133. package/TableHead/index.cjs.map +1 -1
  134. package/TableHead/index.js.map +1 -1
  135. package/TablePagination/index.cjs.map +1 -1
  136. package/TablePagination/index.js.map +1 -1
  137. package/TableRow/index.cjs.map +1 -1
  138. package/TableRow/index.js.map +1 -1
  139. package/Tabs/index.cjs.map +1 -1
  140. package/Tabs/index.js.map +1 -1
  141. package/Text/index.cjs.map +1 -1
  142. package/Text/index.js.map +1 -1
  143. package/Toast/index.cjs.map +1 -1
  144. package/Toast/index.js.map +1 -1
  145. package/Tooltip/index.cjs.map +1 -1
  146. package/Tooltip/index.js.map +1 -1
  147. package/ViewBox/index.cjs.map +1 -1
  148. package/ViewBox/index.js.map +1 -1
  149. package/package.json +1 -1
  150. package/readme.md +104 -104
  151. package/useAlert/index.cjs.map +1 -1
  152. package/useAlert/index.js.map +1 -1
  153. package/useBlurCss/index.cjs.map +1 -1
  154. package/useBlurCss/index.js.map +1 -1
  155. package/useCorner/index.cjs.map +1 -1
  156. package/useCorner/index.js.map +1 -1
  157. package/useLayer/index.cjs.map +1 -1
  158. package/useLayer/index.js.map +1 -1
  159. package/useModal/index.cjs.map +1 -1
  160. package/useModal/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","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;;"}
1
+ {"version":3,"file":"Row.js","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: rawRow, state }).map(({ label, icon, onClick }) => {\n return (\n <ListItem\n key={label}\n startIcon={icon}\n onClick={(e: any) => {\n onClick && onClick(e)\n setTarget(null)\n }}\n >{label}</ListItem>\n )\n })}\n </List>\n </Menu>\n </TableCell>\n }\n </TableRow>\n )\n}\n\nexport default Row"],"names":[],"mappings":";;;;;;;;;;;;;AAkBA;;;;;;;AAc4B;;;AAEA;;AAEA;;AAEI;AAAgB;AACpB;AAEA;AACI;AACA;AACH;AACL;;AAOJ;AACA;AAAiB;;;AA2BT;AACI;AACA;AACI;AACH;AACJ;;AAID;AAKY;;AAEJ;AAGZ;AAOxB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedBox.cjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\r\nimport Stack from '../Stack'\r\nimport Text from '../Text'\r\nimport { DatatablePropsWithState } from './types'\r\n\r\nconst SelectedBox = (props: DatatablePropsWithState) => {\r\n let {\r\n state,\r\n rowAction\r\n } = props\r\n\r\n let checked = state.selectAll || !!state.selected.length\r\n if (!checked) return <></>\r\n\r\n return (\r\n <Stack\r\n bgcolor=\"background.secondary\"\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n px={1.5}\r\n >\r\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\r\n <Stack\r\n flexRow\r\n gap={1}\r\n >\r\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\r\n return (\r\n <IconButton\r\n key={label}\r\n variant=\"soft\"\r\n color=\"brand\"\r\n {...bprops}\r\n >\r\n {icon}\r\n </IconButton>\r\n )\r\n })}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectedBox"],"names":["_jsx","_jsxs","Stack","Text","__rest","IconButton"],"mappings":";;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,uCAAK;AAE1B,IAAA,QACGC,eAAA,CAACC,KAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPD,gBAACE,OAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DH,eAACE,KAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAAE,YAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGJ,cAAA,CAACK,OAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
1
+ {"version":3,"file":"SelectedBox.cjs","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\nimport Stack from '../Stack'\nimport Text from '../Text'\nimport { DatatablePropsWithState } from './types'\n\nconst SelectedBox = (props: DatatablePropsWithState) => {\n let {\n state,\n rowAction\n } = props\n\n let checked = state.selectAll || !!state.selected.length\n if (!checked) return <></>\n\n return (\n <Stack\n bgcolor=\"background.secondary\"\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n zIndex={1}\n radius={1}\n mb={1}\n height={50}\n width=\"100%\"\n px={1.5}\n >\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\n <Stack\n flexRow\n gap={1}\n >\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\n return (\n <IconButton\n key={label}\n variant=\"soft\"\n color=\"brand\"\n {...bprops}\n >\n {icon}\n </IconButton>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default SelectedBox"],"names":["_jsx","_jsxs","Stack","Text","__rest","IconButton"],"mappings":";;;;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,uCAAK;AAE1B,IAAA,QACGC,eAAA,CAACC,KAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPD,gBAACE,OAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DH,eAACE,KAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAAE,YAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGJ,cAAA,CAACK,OAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedBox.js","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\r\nimport Stack from '../Stack'\r\nimport Text from '../Text'\r\nimport { DatatablePropsWithState } from './types'\r\n\r\nconst SelectedBox = (props: DatatablePropsWithState) => {\r\n let {\r\n state,\r\n rowAction\r\n } = props\r\n\r\n let checked = state.selectAll || !!state.selected.length\r\n if (!checked) return <></>\r\n\r\n return (\r\n <Stack\r\n bgcolor=\"background.secondary\"\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n zIndex={1}\r\n radius={1}\r\n mb={1}\r\n height={50}\r\n width=\"100%\"\r\n px={1.5}\r\n >\r\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\r\n <Stack\r\n flexRow\r\n gap={1}\r\n >\r\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\r\n return (\r\n <IconButton\r\n key={label}\r\n variant=\"soft\"\r\n color=\"brand\"\r\n {...bprops}\r\n >\r\n {icon}\r\n </IconButton>\r\n )\r\n })}\r\n </Stack>\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default SelectedBox"],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,iBAAK;AAE1B,IAAA,QACGC,IAAA,CAAC,KAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPA,KAAC,IAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DD,IAAC,KAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAA,MAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGA,GAAA,CAAC,UAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
1
+ {"version":3,"file":"SelectedBox.js","sources":["../../src/Datatable/SelectedBox.tsx"],"sourcesContent":["import IconButton from '../IconButton'\nimport Stack from '../Stack'\nimport Text from '../Text'\nimport { DatatablePropsWithState } from './types'\n\nconst SelectedBox = (props: DatatablePropsWithState) => {\n let {\n state,\n rowAction\n } = props\n\n let checked = state.selectAll || !!state.selected.length\n if (!checked) return <></>\n\n return (\n <Stack\n bgcolor=\"background.secondary\"\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n zIndex={1}\n radius={1}\n mb={1}\n height={50}\n width=\"100%\"\n px={1.5}\n >\n <Text fontWeight={600}>Selected: {state.selected.length}</Text>\n <Stack\n flexRow\n gap={1}\n >\n {rowAction && rowAction({ row: null, state }).map(({ label, icon, ...bprops }) => {\n return (\n <IconButton\n key={label}\n variant=\"soft\"\n color=\"brand\"\n {...bprops}\n >\n {icon}\n </IconButton>\n )\n })}\n </Stack>\n </Stack>\n )\n}\n\nexport default SelectedBox"],"names":["_jsx","_jsxs"],"mappings":";;;;;;AAKA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;AACpD,IAAA,IAAI,EACD,KAAK,EACL,SAAS,EACX,GAAG,KAAK;AAET,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM;AACxD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAOA,iBAAK;AAE1B,IAAA,QACGC,IAAA,CAAC,KAAK,IACH,OAAO,EAAC,sBAAsB,EAC9B,SAAS,EAAC,KAAK,EACf,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,eAAe,EAC9B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,EACL,MAAM,EAAE,EAAE,EACV,KAAK,EAAC,MAAM,EACZ,EAAE,EAAE,GAAG,EAAA,QAAA,EAAA,CAEPA,KAAC,IAAI,EAAA,EAAC,UAAU,EAAE,GAAG,2BAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAA,CAAQ,EAC/DD,IAAC,KAAK,EAAA,EACH,OAAO,EAAA,IAAA,EACP,GAAG,EAAE,CAAC,YAEL,SAAS,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAA0B,KAAI;wBAA9B,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAAa,EAAR,MAAM,GAAA,MAAA,CAAA,EAAA,EAAxB,iBAA0B,CAAF;AACxE,oBAAA,QACGA,GAAA,CAAC,UAAU,kBAER,OAAO,EAAC,MAAM,EACd,KAAK,EAAC,OAAO,EAAA,EACT,MAAM,EAAA,EAAA,QAAA,EAET,IAAI,KALA,KAAK,CAMA;AAEnB,gBAAA,CAAC,CAAC,EAAA,CACG,CAAA,EAAA,CACH;AAEd;;;;"}
@@ -14,7 +14,7 @@ const TableArea = (props) => {
14
14
  borderBottom: 0
15
15
  }
16
16
  }, children: rows === null || rows === void 0 ? void 0 : rows.map((row, idx) => {
17
- let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
17
+ let _row = renderRow ? renderRow(structuredClone(row), state) : row;
18
18
  return jsxRuntime.jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), `dt-row-${row.id}-${idx}`);
19
19
  }) })] })));
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport TableHead from './TableHead'\r\nimport Table from '../Table'\r\nimport TableBody from '../TableBody'\r\nimport Row from './Row'\r\nimport { DatatablePropsWithState } from './types';\r\n\r\nconst TableArea = (props: DatatablePropsWithState) => {\r\n let {\r\n rows,\r\n compact,\r\n renderRow,\r\n state,\r\n update,\r\n slotProps\r\n } = props\r\n\r\n return (\r\n <Table width=\"100%\" size={compact ? \"small\" : \"medium\"} border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\r\n <TableHead {...props} update={update} state={state} />\r\n <TableBody\r\n sx={{\r\n '& tr:last-child td': {\r\n borderBottom: 0\r\n }\r\n }}\r\n >\r\n {\r\n rows?.map((row: any, idx) => {\r\n let _row = renderRow ? renderRow({ ...row }, state) : row\r\n return <Row\r\n key={`dt-row-${row.id}-${idx}`}\r\n rawRow={row}\r\n row={_row}\r\n {...props}\r\n update={update}\r\n state={state}\r\n />\r\n })\r\n }\r\n </TableBody>\r\n </Table>\r\n )\r\n}\r\n\r\nexport default TableArea"],"names":[],"mappings":";;;;;;;;;AAQA;AACG;;AAcY;AACG;AACF;AACH;AAIK;AACA;AAQH;AAKf;;"}
1
+ {"version":3,"file":"Table.cjs","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport TableHead from './TableHead'\nimport Table from '../Table'\nimport TableBody from '../TableBody'\nimport Row from './Row'\nimport { DatatablePropsWithState } from './types';\n\nconst TableArea = (props: DatatablePropsWithState) => {\n let {\n rows,\n compact,\n renderRow,\n state,\n update,\n slotProps\n } = props\n\n return (\n <Table width=\"100%\" size={compact ? \"small\" : \"medium\"} border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\n <TableHead {...props} update={update} state={state} />\n <TableBody\n sx={{\n '& tr:last-child td': {\n borderBottom: 0\n }\n }}\n >\n {\n rows?.map((row: any, idx) => {\n let _row = renderRow ? renderRow(structuredClone(row), state) : row\n return <Row\n key={`dt-row-${row.id}-${idx}`}\n rawRow={row}\n row={_row}\n {...props}\n update={update}\n state={state}\n />\n })\n }\n </TableBody>\n </Table>\n )\n}\n\nexport default TableArea"],"names":[],"mappings":";;;;;;;;;AAQA;AACG;;AAcY;AACG;AACF;AACH;AAIK;AACA;AAQH;AAKf;;"}
@@ -12,7 +12,7 @@ const TableArea = (props) => {
12
12
  borderBottom: 0
13
13
  }
14
14
  }, children: rows === null || rows === void 0 ? void 0 : rows.map((row, idx) => {
15
- let _row = renderRow ? renderRow(Object.assign({}, row), state) : row;
15
+ let _row = renderRow ? renderRow(structuredClone(row), state) : row;
16
16
  return jsx(Row, Object.assign({ rawRow: row, row: _row }, props, { update: update, state: state }), `dt-row-${row.id}-${idx}`);
17
17
  }) })] })));
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport TableHead from './TableHead'\r\nimport Table from '../Table'\r\nimport TableBody from '../TableBody'\r\nimport Row from './Row'\r\nimport { DatatablePropsWithState } from './types';\r\n\r\nconst TableArea = (props: DatatablePropsWithState) => {\r\n let {\r\n rows,\r\n compact,\r\n renderRow,\r\n state,\r\n update,\r\n slotProps\r\n } = props\r\n\r\n return (\r\n <Table width=\"100%\" size={compact ? \"small\" : \"medium\"} border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\r\n <TableHead {...props} update={update} state={state} />\r\n <TableBody\r\n sx={{\r\n '& tr:last-child td': {\r\n borderBottom: 0\r\n }\r\n }}\r\n >\r\n {\r\n rows?.map((row: any, idx) => {\r\n let _row = renderRow ? renderRow({ ...row }, state) : row\r\n return <Row\r\n key={`dt-row-${row.id}-${idx}`}\r\n rawRow={row}\r\n row={_row}\r\n {...props}\r\n update={update}\r\n state={state}\r\n />\r\n })\r\n }\r\n </TableBody>\r\n </Table>\r\n )\r\n}\r\n\r\nexport default TableArea"],"names":[],"mappings":";;;;;;;AAQA;AACG;;AAcY;AACG;AACF;AACH;AAIK;AACA;AAQH;AAKf;;"}
1
+ {"version":3,"file":"Table.js","sources":["../../src/Datatable/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport TableHead from './TableHead'\nimport Table from '../Table'\nimport TableBody from '../TableBody'\nimport Row from './Row'\nimport { DatatablePropsWithState } from './types';\n\nconst TableArea = (props: DatatablePropsWithState) => {\n let {\n rows,\n compact,\n renderRow,\n state,\n update,\n slotProps\n } = props\n\n return (\n <Table width=\"100%\" size={compact ? \"small\" : \"medium\"} border=\"1px solid\" borderColor=\"divider\" {...slotProps?.table}>\n <TableHead {...props} update={update} state={state} />\n <TableBody\n sx={{\n '& tr:last-child td': {\n borderBottom: 0\n }\n }}\n >\n {\n rows?.map((row: any, idx) => {\n let _row = renderRow ? renderRow(structuredClone(row), state) : row\n return <Row\n key={`dt-row-${row.id}-${idx}`}\n rawRow={row}\n row={_row}\n {...props}\n update={update}\n state={state}\n />\n })\n }\n </TableBody>\n </Table>\n )\n}\n\nexport default TableArea"],"names":[],"mappings":";;;;;;;AAQA;AACG;;AAcY;AACG;AACF;AACH;AAIK;AACA;AAQH;AAKf;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.cjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\r\nimport TableHead from '../TableHead'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport Checkbox from '../Checkbox'\r\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\r\nimport { DatatablePropsWithState } from './types';\r\nimport Stack from '../Stack';\r\nimport Text from '../Text';\r\nimport SwitchRight from '@xanui/icons/SwitchRight';\r\n\r\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, compact, skeleton, state, update }: DatatablePropsWithState) => {\r\n if (!columns.length) return <></>\r\n let checked = state.selectAll || !!state.selected.length\r\n let sortables = state.sortable || {}\r\n\r\n return (\r\n <TableHead position=\"relative\">\r\n <TableRow bgcolor=\"default\" borderBottom={1} >\r\n {!hideCheckbox && <TableCell th width={40}>\r\n <Checkbox\r\n size={compact ? \"small\" : \"medium\"}\r\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\r\n checked={checked}\r\n onChange={() => {\r\n let ids: any = []\r\n let undefinedCount = 0\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i]\r\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\r\n if (!isDisable && row.id) {\r\n ids.push(row.id)\r\n } else {\r\n undefinedCount += 1\r\n }\r\n }\r\n\r\n if (undefinedCount) {\r\n update({\r\n selected: state.selected.length ? [] : ids,\r\n selectAll: !state.selected.length\r\n })\r\n } else {\r\n update({\r\n selected: state.selectAll ? [] : ids,\r\n selectAll: !state.selectAll\r\n })\r\n }\r\n }}\r\n />\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell\r\n key={idx}\r\n th\r\n textAlign=\"left\"\r\n {...rest}\r\n >\r\n <Stack\r\n disabled={skeleton ? true : false}\r\n flexRow\r\n alignItems=\"center\"\r\n cursor={sortable ? \"pointer\" : \"default\"}\r\n userSelect={\"none\"}\r\n gap={.5}\r\n onClick={() => {\r\n if (sortable) {\r\n let v = sortables[_f as any]\r\n if (!v) {\r\n sortables[_f as any] = 'asc'\r\n } else if (v === 'asc') {\r\n sortables[_f as any] = 'desc'\r\n } else {\r\n delete sortables[_f as any]\r\n }\r\n update({\r\n sortable: sortables\r\n })\r\n }\r\n }}\r\n >\r\n <Text color=\"text.secondary\" fontWeight={600}>{label}</Text>\r\n {sortable && <>\r\n <SwitchRight\r\n opacity={sortables[_f as any] ? 1 : .3}\r\n color={sortables[_f as any] ? 'brand' : 'text.secondary'}\r\n sx={{\r\n fontSize: 23,\r\n transform: sortables[_f as any] === 'desc' ? 'rotate(-90deg)' : 'rotate(90deg)',\r\n }}\r\n />\r\n </>}\r\n </Stack>\r\n </TableCell>)\r\n }\r\n {\r\n !!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell th width={30} />\r\n }\r\n </TableRow>\r\n </TableHead>\r\n )\r\n}\r\n\r\nexport default TableHeadRender\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA;;;AACyB;AACrB;AACA;AAEA;;;AAWwB;AACI;;AAEA;AACI;;;;;;;AAOJ;AACI;AACA;AACH;;;AAED;;AAEI;AACH;;AAET;AAIS;;;AAeG;;AAEI;;AACG;AACH;;;AAEA;;AAEJ;AACI;AACH;;;AAUG;AACA;AACH;AAIL;AAQhC;;"}
1
+ {"version":3,"file":"TableHead.cjs","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\nimport TableHead from '../TableHead'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport Checkbox from '../Checkbox'\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\nimport { DatatablePropsWithState } from './types';\nimport Stack from '../Stack';\nimport Text from '../Text';\nimport SwitchRight from '@xanui/icons/SwitchRight';\n\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, compact, skeleton, state, update }: DatatablePropsWithState) => {\n if (!columns.length) return <></>\n let checked = state.selectAll || !!state.selected.length\n let sortables = state.sortable || {}\n\n return (\n <TableHead position=\"relative\">\n <TableRow bgcolor=\"default\" borderBottom={1} >\n {!hideCheckbox && <TableCell th width={40}>\n <Checkbox\n size={compact ? \"small\" : \"medium\"}\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\n checked={checked}\n onChange={() => {\n let ids: any = []\n let undefinedCount = 0\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i]\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\n if (!isDisable && row.id) {\n ids.push(row.id)\n } else {\n undefinedCount += 1\n }\n }\n\n if (undefinedCount) {\n update({\n selected: state.selected.length ? [] : ids,\n selectAll: !state.selected.length\n })\n } else {\n update({\n selected: state.selectAll ? [] : ids,\n selectAll: !state.selectAll\n })\n }\n }}\n />\n </TableCell>}\n {\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell\n key={idx}\n th\n textAlign=\"left\"\n {...rest}\n >\n <Stack\n disabled={skeleton ? true : false}\n flexRow\n alignItems=\"center\"\n cursor={sortable ? \"pointer\" : \"default\"}\n userSelect={\"none\"}\n gap={.5}\n onClick={() => {\n if (sortable) {\n let v = sortables[_f as any]\n if (!v) {\n sortables[_f as any] = 'asc'\n } else if (v === 'asc') {\n sortables[_f as any] = 'desc'\n } else {\n delete sortables[_f as any]\n }\n update({\n sortable: sortables\n })\n }\n }}\n >\n <Text color=\"text.secondary\" fontWeight={600}>{label}</Text>\n {sortable && <>\n <SwitchRight\n opacity={sortables[_f as any] ? 1 : .3}\n color={sortables[_f as any] ? 'brand' : 'text.secondary'}\n sx={{\n fontSize: 23,\n transform: sortables[_f as any] === 'desc' ? 'rotate(-90deg)' : 'rotate(90deg)',\n }}\n />\n </>}\n </Stack>\n </TableCell>)\n }\n {\n !!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell th width={30} />\n }\n </TableRow>\n </TableHead>\n )\n}\n\nexport default TableHeadRender\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA;;;AACyB;AACrB;AACA;AAEA;;;AAWwB;AACI;;AAEA;AACI;;;;;;;AAOJ;AACI;AACA;AACH;;;AAED;;AAEI;AACH;;AAET;AAIS;;;AAeG;;AAEI;;AACG;AACH;;;AAEA;;AAEJ;AACI;AACH;;;AAUG;AACA;AACH;AAIL;AAQhC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHead.js","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\r\nimport TableHead from '../TableHead'\r\nimport TableRow from '../TableRow'\r\nimport TableCell from '../TableCell'\r\nimport Checkbox from '../Checkbox'\r\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\r\nimport { DatatablePropsWithState } from './types';\r\nimport Stack from '../Stack';\r\nimport Text from '../Text';\r\nimport SwitchRight from '@xanui/icons/SwitchRight';\r\n\r\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, compact, skeleton, state, update }: DatatablePropsWithState) => {\r\n if (!columns.length) return <></>\r\n let checked = state.selectAll || !!state.selected.length\r\n let sortables = state.sortable || {}\r\n\r\n return (\r\n <TableHead position=\"relative\">\r\n <TableRow bgcolor=\"default\" borderBottom={1} >\r\n {!hideCheckbox && <TableCell th width={40}>\r\n <Checkbox\r\n size={compact ? \"small\" : \"medium\"}\r\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\r\n checked={checked}\r\n onChange={() => {\r\n let ids: any = []\r\n let undefinedCount = 0\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i]\r\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\r\n if (!isDisable && row.id) {\r\n ids.push(row.id)\r\n } else {\r\n undefinedCount += 1\r\n }\r\n }\r\n\r\n if (undefinedCount) {\r\n update({\r\n selected: state.selected.length ? [] : ids,\r\n selectAll: !state.selected.length\r\n })\r\n } else {\r\n update({\r\n selected: state.selectAll ? [] : ids,\r\n selectAll: !state.selectAll\r\n })\r\n }\r\n }}\r\n />\r\n </TableCell>}\r\n {\r\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell\r\n key={idx}\r\n th\r\n textAlign=\"left\"\r\n {...rest}\r\n >\r\n <Stack\r\n disabled={skeleton ? true : false}\r\n flexRow\r\n alignItems=\"center\"\r\n cursor={sortable ? \"pointer\" : \"default\"}\r\n userSelect={\"none\"}\r\n gap={.5}\r\n onClick={() => {\r\n if (sortable) {\r\n let v = sortables[_f as any]\r\n if (!v) {\r\n sortables[_f as any] = 'asc'\r\n } else if (v === 'asc') {\r\n sortables[_f as any] = 'desc'\r\n } else {\r\n delete sortables[_f as any]\r\n }\r\n update({\r\n sortable: sortables\r\n })\r\n }\r\n }}\r\n >\r\n <Text color=\"text.secondary\" fontWeight={600}>{label}</Text>\r\n {sortable && <>\r\n <SwitchRight\r\n opacity={sortables[_f as any] ? 1 : .3}\r\n color={sortables[_f as any] ? 'brand' : 'text.secondary'}\r\n sx={{\r\n fontSize: 23,\r\n transform: sortables[_f as any] === 'desc' ? 'rotate(-90deg)' : 'rotate(90deg)',\r\n }}\r\n />\r\n </>}\r\n </Stack>\r\n </TableCell>)\r\n }\r\n {\r\n !!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell th width={30} />\r\n }\r\n </TableRow>\r\n </TableHead>\r\n )\r\n}\r\n\r\nexport default TableHeadRender\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA;;;AACyB;AACrB;AACA;AAEA;;;AAWwB;AACI;;AAEA;AACI;;;;;;;AAOJ;AACI;AACA;AACH;;;AAED;;AAEI;AACH;;AAET;AAIS;;;AAeG;;AAEI;;AACG;AACH;;;AAEA;;AAEJ;AACI;AACH;;;AAUG;AACA;AACH;AAIL;AAQhC;;"}
1
+ {"version":3,"file":"TableHead.js","sources":["../../src/Datatable/TableHead.tsx"],"sourcesContent":["\"use client\";\nimport TableHead from '../TableHead'\nimport TableRow from '../TableRow'\nimport TableCell from '../TableCell'\nimport Checkbox from '../Checkbox'\nimport IntermidiatIcon from '@xanui/icons/IndeterminateCheckBox'\nimport { DatatablePropsWithState } from './types';\nimport Stack from '../Stack';\nimport Text from '../Text';\nimport SwitchRight from '@xanui/icons/SwitchRight';\n\nconst TableHeadRender = ({ columns, rows, disableRow, rowAction, hideCheckbox, compact, skeleton, state, update }: DatatablePropsWithState) => {\n if (!columns.length) return <></>\n let checked = state.selectAll || !!state.selected.length\n let sortables = state.sortable || {}\n\n return (\n <TableHead position=\"relative\">\n <TableRow bgcolor=\"default\" borderBottom={1} >\n {!hideCheckbox && <TableCell th width={40}>\n <Checkbox\n size={compact ? \"small\" : \"medium\"}\n checkIcon={state.selected.length && !state.selectAll ? <IntermidiatIcon /> : undefined}\n checked={checked}\n onChange={() => {\n let ids: any = []\n let undefinedCount = 0\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i]\n const isDisable = (disableRow ? disableRow(row, state) : false) || false\n if (!isDisable && row.id) {\n ids.push(row.id)\n } else {\n undefinedCount += 1\n }\n }\n\n if (undefinedCount) {\n update({\n selected: state.selected.length ? [] : ids,\n selectAll: !state.selected.length\n })\n } else {\n update({\n selected: state.selectAll ? [] : ids,\n selectAll: !state.selectAll\n })\n }\n }}\n />\n </TableCell>}\n {\n columns.map(({ label, field: _f, sortable, ...rest }, idx) => <TableCell\n key={idx}\n th\n textAlign=\"left\"\n {...rest}\n >\n <Stack\n disabled={skeleton ? true : false}\n flexRow\n alignItems=\"center\"\n cursor={sortable ? \"pointer\" : \"default\"}\n userSelect={\"none\"}\n gap={.5}\n onClick={() => {\n if (sortable) {\n let v = sortables[_f as any]\n if (!v) {\n sortables[_f as any] = 'asc'\n } else if (v === 'asc') {\n sortables[_f as any] = 'desc'\n } else {\n delete sortables[_f as any]\n }\n update({\n sortable: sortables\n })\n }\n }}\n >\n <Text color=\"text.secondary\" fontWeight={600}>{label}</Text>\n {sortable && <>\n <SwitchRight\n opacity={sortables[_f as any] ? 1 : .3}\n color={sortables[_f as any] ? 'brand' : 'text.secondary'}\n sx={{\n fontSize: 23,\n transform: sortables[_f as any] === 'desc' ? 'rotate(-90deg)' : 'rotate(90deg)',\n }}\n />\n </>}\n </Stack>\n </TableCell>)\n }\n {\n !!(rows.length && rowAction && rowAction((rows as any)[0])?.length) && <TableCell th width={30} />\n }\n </TableRow>\n </TableHead>\n )\n}\n\nexport default TableHeadRender\n"],"names":[],"mappings":";;;;;;;;;;;;AAWA;;;AACyB;AACrB;AACA;AAEA;;;AAWwB;AACI;;AAEA;AACI;;;;;;;AAOJ;AACI;AACA;AACH;;;AAED;;AAEI;AACH;;AAET;AAIS;;;AAeG;;AAEI;;AACG;AACH;;;AAEA;;AAEJ;AACI;AACH;;;AAUG;AACA;AACH;AAIL;AAQhC;;"}
@@ -47,7 +47,7 @@ const DataTable = React.forwardRef((props, ref) => {
47
47
  np.rowAction = undefined;
48
48
  }
49
49
  return np;
50
- }, [p.skeleton, props.columns, props.rowAction, p.hideCheckbox, p.rows]);
50
+ }, [p]);
51
51
  let { rows, tabs, pagination: { perpages = [30, 50, 100], total = 0 } = {}, state: userState = {}, onChange, fixedHeader, hidePagination, slotProps,
52
52
  // skip props for ViewBox
53
53
  skeleton, rowAction, disableRow, renderRow, filters, hideCheckbox, hideSearch, columns, compact } = _props, viewBoxProps = tslib.__rest(_props, ["rows", "tabs", "pagination", "state", "onChange", "fixedHeader", "hidePagination", "slotProps", "skeleton", "rowAction", "disableRow", "renderRow", "filters", "hideCheckbox", "hideSearch", "columns", "compact"]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useMemo } from 'react'\r\nimport ViewBox from '../ViewBox'\r\nimport { Tag, useInterface } from '@xanui/core';\r\nimport SelectedBox from './SelectedBox'\r\nimport TableArea from './Table'\r\nimport FilterBox from './FilterBox'\r\nimport TablePagination, { TablePaginationState } from '../TablePagination'\r\nimport Stack from '../Stack'\r\nimport { DatatableProps, DatatableState } from './types';\r\nimport Skeleton from '../Skeleton';\r\n\r\nexport type * from './types';\r\n\r\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\r\n let [p] = useInterface<any>(\"Datatable\", props, {})\r\n\r\n let _props = useMemo(() => {\r\n let np = { ...p }\r\n\r\n if (typeof np.skeleton === 'number' || np.skeleton === true) {\r\n const limit = np.perpages && np.perpages.length > 0 ? np.perpages[0] : 10\r\n let length = np.skeleton === true ? limit : np.skeleton\r\n\r\n if (!np.hideCheckbox) {\r\n np.columns = [{\r\n label: '', field: \"__checkbox\", width: 34\r\n }, ...np.columns]\r\n }\r\n\r\n if (np.rowAction) {\r\n np.columns = [...np.columns, { label: \"\", field: \"__actions\", width: 34 }]\r\n }\r\n\r\n let columns = np.columns || []\r\n\r\n np.rows = []\r\n for (let i = 0; i < length; i++) {\r\n let r: any = { id: i }\r\n for (let col of columns) {\r\n r[col.field] = \"\"\r\n }\r\n np.rows.push(r)\r\n }\r\n\r\n np.renderRow = (r: any) => {\r\n for (let col of columns) {\r\n r[col.field] = <Skeleton\r\n animation={\"wave\"}\r\n height={16}\r\n radius={.5}\r\n width={\"100%\"}\r\n />\r\n }\r\n return r\r\n }\r\n np.hideCheckbox = true\r\n np.rowAction = undefined\r\n }\r\n return np\r\n }, [p.skeleton, props.columns, props.rowAction, p.hideCheckbox, p.rows])\r\n\r\n let {\r\n rows,\r\n tabs,\r\n\r\n pagination: { perpages = [30, 50, 100], total = 0 } = {},\r\n state: userState = {},\r\n onChange,\r\n\r\n fixedHeader,\r\n hidePagination,\r\n slotProps,\r\n\r\n\r\n // skip props for ViewBox\r\n skeleton,\r\n rowAction,\r\n disableRow,\r\n renderRow,\r\n filters,\r\n hideCheckbox,\r\n hideSearch,\r\n columns,\r\n compact,\r\n\r\n ...viewBoxProps\r\n } = _props\r\n\r\n\r\n const state = {\r\n selected: userState?.selected || [],\r\n selectAll: userState?.selectAll || false,\r\n pagination: {\r\n page: userState?.page || 1,\r\n perpage: perpages && perpages.length > 0 ? perpages[0] : 10,\r\n from: userState?.from || 1,\r\n to: userState?.to || (perpages && perpages.length > 0 ? perpages[0] : 10),\r\n },\r\n tab: tabs ? (userState?.tab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\r\n search: userState?.search || \"\",\r\n sortable: userState?.sortable || {},\r\n filters: userState?.filters || {}\r\n }\r\n\r\n const update = (s: Partial<DatatableState>) => {\r\n onChange({ ...state, ...s })\r\n }\r\n\r\n return (\r\n <ViewBox\r\n height=\"100%\"\r\n {...viewBoxProps}\r\n baseClass='datatable'\r\n ref={ref as any}\r\n sx={{\r\n ...viewBoxProps?.sx,\r\n '& thead': fixedHeader ? {\r\n position: \"sticky\",\r\n top: 0,\r\n bgcolor: \"background.primary\",\r\n zIndex: 1\r\n } : {},\r\n }}\r\n startContent={(\r\n <Tag\r\n baseClass='datatable-header'\r\n sxr={{\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: \"space-between\"\r\n }}\r\n >\r\n <SelectedBox {..._props} update={update} state={state} />\r\n <FilterBox {..._props} update={update} state={state} />\r\n </Tag>\r\n )}\r\n >\r\n <TableArea\r\n {..._props}\r\n update={update}\r\n state={state}\r\n />\r\n <Stack\r\n p={1}\r\n alignItems=\"flex-end\"\r\n >\r\n {!hidePagination && <TablePagination\r\n disabled={_props.skeleton ? true : false}\r\n {...slotProps?.pagination}\r\n total={total || rows.length}\r\n page={state.pagination.page}\r\n perpage={state.pagination.perpage}\r\n perpages={perpages}\r\n slotProps={{\r\n select: {\r\n size: \"small\",\r\n }\r\n }}\r\n onChange={(state: TablePaginationState) => {\r\n update({ pagination: state })\r\n }}\r\n />}\r\n </Stack>\r\n </ViewBox>\r\n )\r\n})\r\n\r\nexport default DataTable"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA;AACI;AAEA;AACI;AAEA;;AAEI;AAEA;;;AAGK;;AAGL;;;AAIA;AAEA;AACA;AACI;AACA;AACI;;AAEJ;;AAGJ;AACI;;;AAQA;AACJ;AACA;AACA;;AAEJ;;AAGJ;;;AA4BA;;;AAGI;;AAEI;;AAEA;AACH;AACD;;;;;AAMJ;AACI;AACJ;AAEA;AASgB;AACA;AACA;AACA;AACH;AAMO;AACA;AACA;;AAyBA;AACI;AACH;AACJ;AAEG;AACJ;AAKpB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useMemo } from 'react'\nimport ViewBox from '../ViewBox'\nimport { Tag, useInterface } from '@xanui/core';\nimport SelectedBox from './SelectedBox'\nimport TableArea from './Table'\nimport FilterBox from './FilterBox'\nimport TablePagination, { TablePaginationState } from '../TablePagination'\nimport Stack from '../Stack'\nimport { DatatableProps, DatatableState } from './types';\nimport Skeleton from '../Skeleton';\n\nexport type * from './types';\n\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\n let [p] = useInterface<any>(\"Datatable\", props, {})\n\n let _props = useMemo(() => {\n let np = { ...p }\n\n if (typeof np.skeleton === 'number' || np.skeleton === true) {\n const limit = np.perpages && np.perpages.length > 0 ? np.perpages[0] : 10\n let length = np.skeleton === true ? limit : np.skeleton\n\n if (!np.hideCheckbox) {\n np.columns = [{\n label: '', field: \"__checkbox\", width: 34\n }, ...np.columns]\n }\n\n if (np.rowAction) {\n np.columns = [...np.columns, { label: \"\", field: \"__actions\", width: 34 }]\n }\n\n let columns = np.columns || []\n\n np.rows = []\n for (let i = 0; i < length; i++) {\n let r: any = { id: i }\n for (let col of columns) {\n r[col.field] = \"\"\n }\n np.rows.push(r)\n }\n\n np.renderRow = (r: any) => {\n for (let col of columns) {\n r[col.field] = <Skeleton\n animation={\"wave\"}\n height={16}\n radius={.5}\n width={\"100%\"}\n />\n }\n return r\n }\n np.hideCheckbox = true\n np.rowAction = undefined\n }\n return np\n }, [p])\n\n let {\n rows,\n tabs,\n\n pagination: { perpages = [30, 50, 100], total = 0 } = {},\n state: userState = {},\n onChange,\n\n fixedHeader,\n hidePagination,\n slotProps,\n\n\n // skip props for ViewBox\n skeleton,\n rowAction,\n disableRow,\n renderRow,\n filters,\n hideCheckbox,\n hideSearch,\n columns,\n compact,\n\n ...viewBoxProps\n } = _props\n\n\n const state = {\n selected: userState?.selected || [],\n selectAll: userState?.selectAll || false,\n pagination: {\n page: userState?.page || 1,\n perpage: perpages && perpages.length > 0 ? perpages[0] : 10,\n from: userState?.from || 1,\n to: userState?.to || (perpages && perpages.length > 0 ? perpages[0] : 10),\n },\n tab: tabs ? (userState?.tab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\n search: userState?.search || \"\",\n sortable: userState?.sortable || {},\n filters: userState?.filters || {}\n }\n\n const update = (s: Partial<DatatableState>) => {\n onChange({ ...state, ...s })\n }\n\n return (\n <ViewBox\n height=\"100%\"\n {...viewBoxProps}\n baseClass='datatable'\n ref={ref as any}\n sx={{\n ...viewBoxProps?.sx,\n '& thead': fixedHeader ? {\n position: \"sticky\",\n top: 0,\n bgcolor: \"background.primary\",\n zIndex: 1\n } : {},\n }}\n startContent={(\n <Tag\n baseClass='datatable-header'\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }}\n >\n <SelectedBox {..._props} update={update} state={state} />\n <FilterBox {..._props} update={update} state={state} />\n </Tag>\n )}\n >\n <TableArea\n {..._props}\n update={update}\n state={state}\n />\n <Stack\n p={1}\n alignItems=\"flex-end\"\n >\n {!hidePagination && <TablePagination\n disabled={_props.skeleton ? true : false}\n {...slotProps?.pagination}\n total={total || rows.length}\n page={state.pagination.page}\n perpage={state.pagination.perpage}\n perpages={perpages}\n slotProps={{\n select: {\n size: \"small\",\n }\n }}\n onChange={(state: TablePaginationState) => {\n update({ pagination: state })\n }}\n />}\n </Stack>\n </ViewBox>\n )\n})\n\nexport default DataTable"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA;AACI;AAEA;AACI;AAEA;;AAEI;AAEA;;;AAGK;;AAGL;;;AAIA;AAEA;AACA;AACI;AACA;AACI;;AAEJ;;AAGJ;AACI;;;AAQA;AACJ;AACA;AACA;;AAEJ;AACJ;AAEA;;;AA4BA;;;AAGI;;AAEI;;AAEA;AACH;AACD;;;;;AAMJ;AACI;AACJ;AAEA;AASgB;AACA;AACA;AACA;AACH;AAMO;AACA;AACA;;AAyBA;AACI;AACH;AACJ;AAEG;AACJ;AAKpB;;"}
@@ -45,7 +45,7 @@ const DataTable = React.forwardRef((props, ref) => {
45
45
  np.rowAction = undefined;
46
46
  }
47
47
  return np;
48
- }, [p.skeleton, props.columns, props.rowAction, p.hideCheckbox, p.rows]);
48
+ }, [p]);
49
49
  let { rows, tabs, pagination: { perpages = [30, 50, 100], total = 0 } = {}, state: userState = {}, onChange, fixedHeader, hidePagination, slotProps,
50
50
  // skip props for ViewBox
51
51
  skeleton, rowAction, disableRow, renderRow, filters, hideCheckbox, hideSearch, columns, compact } = _props, viewBoxProps = __rest(_props, ["rows", "tabs", "pagination", "state", "onChange", "fixedHeader", "hidePagination", "slotProps", "skeleton", "rowAction", "disableRow", "renderRow", "filters", "hideCheckbox", "hideSearch", "columns", "compact"]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useMemo } from 'react'\r\nimport ViewBox from '../ViewBox'\r\nimport { Tag, useInterface } from '@xanui/core';\r\nimport SelectedBox from './SelectedBox'\r\nimport TableArea from './Table'\r\nimport FilterBox from './FilterBox'\r\nimport TablePagination, { TablePaginationState } from '../TablePagination'\r\nimport Stack from '../Stack'\r\nimport { DatatableProps, DatatableState } from './types';\r\nimport Skeleton from '../Skeleton';\r\n\r\nexport type * from './types';\r\n\r\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\r\n let [p] = useInterface<any>(\"Datatable\", props, {})\r\n\r\n let _props = useMemo(() => {\r\n let np = { ...p }\r\n\r\n if (typeof np.skeleton === 'number' || np.skeleton === true) {\r\n const limit = np.perpages && np.perpages.length > 0 ? np.perpages[0] : 10\r\n let length = np.skeleton === true ? limit : np.skeleton\r\n\r\n if (!np.hideCheckbox) {\r\n np.columns = [{\r\n label: '', field: \"__checkbox\", width: 34\r\n }, ...np.columns]\r\n }\r\n\r\n if (np.rowAction) {\r\n np.columns = [...np.columns, { label: \"\", field: \"__actions\", width: 34 }]\r\n }\r\n\r\n let columns = np.columns || []\r\n\r\n np.rows = []\r\n for (let i = 0; i < length; i++) {\r\n let r: any = { id: i }\r\n for (let col of columns) {\r\n r[col.field] = \"\"\r\n }\r\n np.rows.push(r)\r\n }\r\n\r\n np.renderRow = (r: any) => {\r\n for (let col of columns) {\r\n r[col.field] = <Skeleton\r\n animation={\"wave\"}\r\n height={16}\r\n radius={.5}\r\n width={\"100%\"}\r\n />\r\n }\r\n return r\r\n }\r\n np.hideCheckbox = true\r\n np.rowAction = undefined\r\n }\r\n return np\r\n }, [p.skeleton, props.columns, props.rowAction, p.hideCheckbox, p.rows])\r\n\r\n let {\r\n rows,\r\n tabs,\r\n\r\n pagination: { perpages = [30, 50, 100], total = 0 } = {},\r\n state: userState = {},\r\n onChange,\r\n\r\n fixedHeader,\r\n hidePagination,\r\n slotProps,\r\n\r\n\r\n // skip props for ViewBox\r\n skeleton,\r\n rowAction,\r\n disableRow,\r\n renderRow,\r\n filters,\r\n hideCheckbox,\r\n hideSearch,\r\n columns,\r\n compact,\r\n\r\n ...viewBoxProps\r\n } = _props\r\n\r\n\r\n const state = {\r\n selected: userState?.selected || [],\r\n selectAll: userState?.selectAll || false,\r\n pagination: {\r\n page: userState?.page || 1,\r\n perpage: perpages && perpages.length > 0 ? perpages[0] : 10,\r\n from: userState?.from || 1,\r\n to: userState?.to || (perpages && perpages.length > 0 ? perpages[0] : 10),\r\n },\r\n tab: tabs ? (userState?.tab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\r\n search: userState?.search || \"\",\r\n sortable: userState?.sortable || {},\r\n filters: userState?.filters || {}\r\n }\r\n\r\n const update = (s: Partial<DatatableState>) => {\r\n onChange({ ...state, ...s })\r\n }\r\n\r\n return (\r\n <ViewBox\r\n height=\"100%\"\r\n {...viewBoxProps}\r\n baseClass='datatable'\r\n ref={ref as any}\r\n sx={{\r\n ...viewBoxProps?.sx,\r\n '& thead': fixedHeader ? {\r\n position: \"sticky\",\r\n top: 0,\r\n bgcolor: \"background.primary\",\r\n zIndex: 1\r\n } : {},\r\n }}\r\n startContent={(\r\n <Tag\r\n baseClass='datatable-header'\r\n sxr={{\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: \"space-between\"\r\n }}\r\n >\r\n <SelectedBox {..._props} update={update} state={state} />\r\n <FilterBox {..._props} update={update} state={state} />\r\n </Tag>\r\n )}\r\n >\r\n <TableArea\r\n {..._props}\r\n update={update}\r\n state={state}\r\n />\r\n <Stack\r\n p={1}\r\n alignItems=\"flex-end\"\r\n >\r\n {!hidePagination && <TablePagination\r\n disabled={_props.skeleton ? true : false}\r\n {...slotProps?.pagination}\r\n total={total || rows.length}\r\n page={state.pagination.page}\r\n perpage={state.pagination.perpage}\r\n perpages={perpages}\r\n slotProps={{\r\n select: {\r\n size: \"small\",\r\n }\r\n }}\r\n onChange={(state: TablePaginationState) => {\r\n update({ pagination: state })\r\n }}\r\n />}\r\n </Stack>\r\n </ViewBox>\r\n )\r\n})\r\n\r\nexport default DataTable"],"names":[],"mappings":";;;;;;;;;;;;;AAcA;AACI;AAEA;AACI;AAEA;;AAEI;AAEA;;;AAGK;;AAGL;;;AAIA;AAEA;AACA;AACI;AACA;AACI;;AAEJ;;AAGJ;AACI;;;AAQA;AACJ;AACA;AACA;;AAEJ;;AAGJ;;;AA4BA;;;AAGI;;AAEI;;AAEA;AACH;AACD;;;;;AAMJ;AACI;AACJ;AAEA;AASgB;AACA;AACA;AACA;AACH;AAMO;AACA;AACA;;AAyBA;AACI;AACH;AACJ;AAEG;AACJ;AAKpB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useMemo } from 'react'\nimport ViewBox from '../ViewBox'\nimport { Tag, useInterface } from '@xanui/core';\nimport SelectedBox from './SelectedBox'\nimport TableArea from './Table'\nimport FilterBox from './FilterBox'\nimport TablePagination, { TablePaginationState } from '../TablePagination'\nimport Stack from '../Stack'\nimport { DatatableProps, DatatableState } from './types';\nimport Skeleton from '../Skeleton';\n\nexport type * from './types';\n\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\n let [p] = useInterface<any>(\"Datatable\", props, {})\n\n let _props = useMemo(() => {\n let np = { ...p }\n\n if (typeof np.skeleton === 'number' || np.skeleton === true) {\n const limit = np.perpages && np.perpages.length > 0 ? np.perpages[0] : 10\n let length = np.skeleton === true ? limit : np.skeleton\n\n if (!np.hideCheckbox) {\n np.columns = [{\n label: '', field: \"__checkbox\", width: 34\n }, ...np.columns]\n }\n\n if (np.rowAction) {\n np.columns = [...np.columns, { label: \"\", field: \"__actions\", width: 34 }]\n }\n\n let columns = np.columns || []\n\n np.rows = []\n for (let i = 0; i < length; i++) {\n let r: any = { id: i }\n for (let col of columns) {\n r[col.field] = \"\"\n }\n np.rows.push(r)\n }\n\n np.renderRow = (r: any) => {\n for (let col of columns) {\n r[col.field] = <Skeleton\n animation={\"wave\"}\n height={16}\n radius={.5}\n width={\"100%\"}\n />\n }\n return r\n }\n np.hideCheckbox = true\n np.rowAction = undefined\n }\n return np\n }, [p])\n\n let {\n rows,\n tabs,\n\n pagination: { perpages = [30, 50, 100], total = 0 } = {},\n state: userState = {},\n onChange,\n\n fixedHeader,\n hidePagination,\n slotProps,\n\n\n // skip props for ViewBox\n skeleton,\n rowAction,\n disableRow,\n renderRow,\n filters,\n hideCheckbox,\n hideSearch,\n columns,\n compact,\n\n ...viewBoxProps\n } = _props\n\n\n const state = {\n selected: userState?.selected || [],\n selectAll: userState?.selectAll || false,\n pagination: {\n page: userState?.page || 1,\n perpage: perpages && perpages.length > 0 ? perpages[0] : 10,\n from: userState?.from || 1,\n to: userState?.to || (perpages && perpages.length > 0 ? perpages[0] : 10),\n },\n tab: tabs ? (userState?.tab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\n search: userState?.search || \"\",\n sortable: userState?.sortable || {},\n filters: userState?.filters || {}\n }\n\n const update = (s: Partial<DatatableState>) => {\n onChange({ ...state, ...s })\n }\n\n return (\n <ViewBox\n height=\"100%\"\n {...viewBoxProps}\n baseClass='datatable'\n ref={ref as any}\n sx={{\n ...viewBoxProps?.sx,\n '& thead': fixedHeader ? {\n position: \"sticky\",\n top: 0,\n bgcolor: \"background.primary\",\n zIndex: 1\n } : {},\n }}\n startContent={(\n <Tag\n baseClass='datatable-header'\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n }}\n >\n <SelectedBox {..._props} update={update} state={state} />\n <FilterBox {..._props} update={update} state={state} />\n </Tag>\n )}\n >\n <TableArea\n {..._props}\n update={update}\n state={state}\n />\n <Stack\n p={1}\n alignItems=\"flex-end\"\n >\n {!hidePagination && <TablePagination\n disabled={_props.skeleton ? true : false}\n {...slotProps?.pagination}\n total={total || rows.length}\n page={state.pagination.page}\n perpage={state.pagination.perpage}\n perpages={perpages}\n slotProps={{\n select: {\n size: \"small\",\n }\n }}\n onChange={(state: TablePaginationState) => {\n update({ pagination: state })\n }}\n />}\n </Stack>\n </ViewBox>\n )\n})\n\nexport default DataTable"],"names":[],"mappings":";;;;;;;;;;;;;AAcA;AACI;AAEA;AACI;AAEA;;AAEI;AAEA;;;AAGK;;AAGL;;;AAIA;AAEA;AACA;AACI;AACA;AACI;;AAEJ;;AAGJ;AACI;;;AAQA;AACJ;AACA;AACA;;AAEJ;AACJ;AAEA;;;AA4BA;;;AAGI;;AAEI;;AAEA;AACH;AACD;;;;;AAMJ;AACI;AACJ;AAEA;AASgB;AACA;AACA;AACA;AACH;AAMO;AACA;AACA;;AAyBA;AACI;AACH;AACJ;AAEG;AACJ;AAKpB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Divider/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\n\r\n\r\nexport type DividerProps<T extends TagComponentType = \"div\"> = Omit<TagProps<T>, \"color\"> & {\r\n direction?: useBreakpointPropsType<\"verticle\" | \"horizental\">;\r\n color?: useBreakpointPropsType<UseColorTemplateColor>;\r\n size?: useBreakpointPropsType<number>;\r\n}\r\n\r\nconst Divider = React.forwardRef(<T extends TagComponentType = \"div\">({ children, direction, color, size, ...rest }: DividerProps<T>, ref: React.Ref<any>) => {\r\n const _p: any = {}\r\n if (direction) _p.direction = direction\r\n if (color) _p.color = color\r\n if (size) _p.size = size\r\n const p: any = useBreakpointProps(_p)\r\n direction = p.direction ?? \"horizental\"\r\n color = p.color ?? \"default\"\r\n size = p.size ?? 1\r\n\r\n let isHori = direction === 'horizental'\r\n\r\n return (\r\n <Tag\r\n {...rest}\r\n baseClass='divider'\r\n sxr={{\r\n width: isHori ? \"100%\" : size,\r\n height: isHori ? size : \"100%\",\r\n bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,\r\n }}\r\n ref={ref}\r\n >{children}</Tag>\r\n )\r\n})\r\n\r\nexport default Divider\r\n\r\n"],"names":["__rest","useBreakpointProps","_jsx","Tag"],"mappings":";;;;;;;AAUA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA8D,EAAE,GAAmB,KAAI;;AAAvF,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAA4B,EAAvB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAA3C,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAA6C,CAAF;IAC7G,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,SAAS;AAAE,QAAA,EAAE,CAAC,SAAS,GAAG,SAAS;AACvC,IAAA,IAAI,KAAK;AAAE,QAAA,EAAE,CAAC,KAAK,GAAG,KAAK;AAC3B,IAAA,IAAI,IAAI;AAAE,QAAA,EAAE,CAAC,IAAI,GAAG,IAAI;AACxB,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,YAAY;AACvC,IAAA,KAAK,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,SAAS;AAC5B,IAAA,IAAI,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAElB,IAAA,IAAI,MAAM,GAAG,SAAS,KAAK,YAAY;IAEvC,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE;YACD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;AAC9B,YAAA,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,CAAA,oBAAA,CAAsB,GAAG,CAAA,EAAG,KAAK,CAAA,UAAA,CAAY;AAC/E,SAAA,EACD,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Divider/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type DividerProps<T extends TagComponentType = \"div\"> = Omit<TagProps<T>, \"color\"> & {\n direction?: useBreakpointPropsType<\"verticle\" | \"horizental\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n size?: useBreakpointPropsType<number>;\n}\n\nconst Divider = React.forwardRef(<T extends TagComponentType = \"div\">({ children, direction, color, size, ...rest }: DividerProps<T>, ref: React.Ref<any>) => {\n const _p: any = {}\n if (direction) _p.direction = direction\n if (color) _p.color = color\n if (size) _p.size = size\n const p: any = useBreakpointProps(_p)\n direction = p.direction ?? \"horizental\"\n color = p.color ?? \"default\"\n size = p.size ?? 1\n\n let isHori = direction === 'horizental'\n\n return (\n <Tag\n {...rest}\n baseClass='divider'\n sxr={{\n width: isHori ? \"100%\" : size,\n height: isHori ? size : \"100%\",\n bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,\n }}\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Divider\n\n"],"names":["__rest","useBreakpointProps","_jsx","Tag"],"mappings":";;;;;;;AAUA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA8D,EAAE,GAAmB,KAAI;;AAAvF,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAA4B,EAAvB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAA3C,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAA6C,CAAF;IAC7G,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,SAAS;AAAE,QAAA,EAAE,CAAC,SAAS,GAAG,SAAS;AACvC,IAAA,IAAI,KAAK;AAAE,QAAA,EAAE,CAAC,KAAK,GAAG,KAAK;AAC3B,IAAA,IAAI,IAAI;AAAE,QAAA,EAAE,CAAC,IAAI,GAAG,IAAI;AACxB,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,YAAY;AACvC,IAAA,KAAK,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,SAAS;AAC5B,IAAA,IAAI,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAElB,IAAA,IAAI,MAAM,GAAG,SAAS,KAAK,YAAY;IAEvC,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE;YACD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;AAC9B,YAAA,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,CAAA,oBAAA,CAAsB,GAAG,CAAA,EAAG,KAAK,CAAA,UAAA,CAAY;AAC/E,SAAA,EACD,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Divider/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\n\r\n\r\nexport type DividerProps<T extends TagComponentType = \"div\"> = Omit<TagProps<T>, \"color\"> & {\r\n direction?: useBreakpointPropsType<\"verticle\" | \"horizental\">;\r\n color?: useBreakpointPropsType<UseColorTemplateColor>;\r\n size?: useBreakpointPropsType<number>;\r\n}\r\n\r\nconst Divider = React.forwardRef(<T extends TagComponentType = \"div\">({ children, direction, color, size, ...rest }: DividerProps<T>, ref: React.Ref<any>) => {\r\n const _p: any = {}\r\n if (direction) _p.direction = direction\r\n if (color) _p.color = color\r\n if (size) _p.size = size\r\n const p: any = useBreakpointProps(_p)\r\n direction = p.direction ?? \"horizental\"\r\n color = p.color ?? \"default\"\r\n size = p.size ?? 1\r\n\r\n let isHori = direction === 'horizental'\r\n\r\n return (\r\n <Tag\r\n {...rest}\r\n baseClass='divider'\r\n sxr={{\r\n width: isHori ? \"100%\" : size,\r\n height: isHori ? size : \"100%\",\r\n bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,\r\n }}\r\n ref={ref}\r\n >{children}</Tag>\r\n )\r\n})\r\n\r\nexport default Divider\r\n\r\n"],"names":["_jsx"],"mappings":";;;;;AAUA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA8D,EAAE,GAAmB,KAAI;;AAAvF,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAA4B,EAAvB,IAAI,GAAA,MAAA,CAAA,EAAA,EAA3C,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAA6C,CAAF;IAC7G,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,SAAS;AAAE,QAAA,EAAE,CAAC,SAAS,GAAG,SAAS;AACvC,IAAA,IAAI,KAAK;AAAE,QAAA,EAAE,CAAC,KAAK,GAAG,KAAK;AAC3B,IAAA,IAAI,IAAI;AAAE,QAAA,EAAE,CAAC,IAAI,GAAG,IAAI;AACxB,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,YAAY;AACvC,IAAA,KAAK,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,SAAS;AAC5B,IAAA,IAAI,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAElB,IAAA,IAAI,MAAM,GAAG,SAAS,KAAK,YAAY;IAEvC,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE;YACD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;AAC9B,YAAA,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,CAAA,oBAAA,CAAsB,GAAG,CAAA,EAAG,KAAK,CAAA,UAAA,CAAY;AAC/E,SAAA,EACD,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Divider/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type DividerProps<T extends TagComponentType = \"div\"> = Omit<TagProps<T>, \"color\"> & {\n direction?: useBreakpointPropsType<\"verticle\" | \"horizental\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n size?: useBreakpointPropsType<number>;\n}\n\nconst Divider = React.forwardRef(<T extends TagComponentType = \"div\">({ children, direction, color, size, ...rest }: DividerProps<T>, ref: React.Ref<any>) => {\n const _p: any = {}\n if (direction) _p.direction = direction\n if (color) _p.color = color\n if (size) _p.size = size\n const p: any = useBreakpointProps(_p)\n direction = p.direction ?? \"horizental\"\n color = p.color ?? \"default\"\n size = p.size ?? 1\n\n let isHori = direction === 'horizental'\n\n return (\n <Tag\n {...rest}\n baseClass='divider'\n sxr={{\n width: isHori ? \"100%\" : size,\n height: isHori ? size : \"100%\",\n bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,\n }}\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Divider\n\n"],"names":["_jsx"],"mappings":";;;;;AAUA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA8D,EAAE,GAAmB,KAAI;;AAAvF,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAA,GAAA,EAA4B,EAAvB,IAAI,GAAA,MAAA,CAAA,EAAA,EAA3C,CAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,CAA6C,CAAF;IAC7G,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,SAAS;AAAE,QAAA,EAAE,CAAC,SAAS,GAAG,SAAS;AACvC,IAAA,IAAI,KAAK;AAAE,QAAA,EAAE,CAAC,KAAK,GAAG,KAAK;AAC3B,IAAA,IAAI,IAAI;AAAE,QAAA,EAAE,CAAC,IAAI,GAAG,IAAI;AACxB,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,YAAY;AACvC,IAAA,KAAK,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,SAAS;AAC5B,IAAA,IAAI,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAElB,IAAA,IAAI,MAAM,GAAG,SAAS,KAAK,YAAY;IAEvC,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,SAAS,EACnB,GAAG,EAAE;YACD,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;AAC9B,YAAA,OAAO,EAAE,KAAK,KAAK,SAAS,GAAG,CAAA,oBAAA,CAAsB,GAAG,CAAA,EAAG,KAAK,CAAA,UAAA,CAAY;AAC/E,SAAA,EACD,GAAG,EAAE,GAAG,YACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\"use client\";\r\nimport { Renderar, Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\nimport Layer, { LayerProps } from '../Layer';\r\nimport ClickOutside, { ClickOutsideProps } from '../ClickOutside';\r\n\r\n\r\nexport type DrawerProps = Omit<LayerProps, \"transition\" | \"slotProps\"> & {\r\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\r\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\r\n onClickOutside?: () => void;\r\n slotProps?: {\r\n layer?: Partial<Omit<LayerProps, \"children\">>\r\n root?: TagProps<\"div\">;\r\n content?: TagProps<\"div\">;\r\n clickOutside?: Omit<ClickOutsideProps, \"children\" | \"onClickOutside\">;\r\n }\r\n}\r\n\r\nconst getVariant = (placement?: any) => {\r\n switch (placement) {\r\n case \"right\":\r\n return \"fadeLeft\"\r\n case \"top\":\r\n return \"fadeDown\"\r\n case \"bottom\":\r\n return \"fadeUp\"\r\n default:\r\n return \"fadeRight\"\r\n }\r\n}\r\n\r\nconst Drawer = ({ children, placement, size, slotProps, onClickOutside, ...layerProps }: DrawerProps) => {\r\n const _p: any = {}\r\n if (placement) _p.placement = placement\r\n if (size) _p.size = size\r\n const p: any = useBreakpointProps(_p)\r\n\r\n placement = p.placement ?? 'left'\r\n size = p.size || \"medium\"\r\n\r\n let isSide = placement === 'left' || placement === 'right'\r\n let sizes: any = {\r\n small: 220,\r\n medium: 330,\r\n large: 440\r\n }\r\n\r\n let _size = sizes[size as any] || size\r\n\r\n return (\r\n <Layer\r\n {...layerProps}\r\n {...slotProps?.layer}\r\n transition={getVariant(placement)}\r\n >\r\n <Tag\r\n {...slotProps?.root}\r\n baseClass='drawer'\r\n sxr={{\r\n width: \"100vw\",\r\n height: \"100vh\",\r\n display: \"flex\",\r\n direction: isSide ? \"row\" : \"column\" as any,\r\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\r\n }}\r\n >\r\n <ClickOutside\r\n {...slotProps?.clickOutside}\r\n onClickOutside={onClickOutside || (() => { })}\r\n >\r\n <Tag\r\n sxr={{\r\n width: isSide ? _size : \"100%\",\r\n height: isSide ? \"100%\" : _size,\r\n bgcolor: \"background.primary\",\r\n shadow: 20\r\n }}\r\n baseClass='drawer-content'\r\n >\r\n {children}\r\n </Tag>\r\n </ClickOutside>\r\n </Tag>\r\n </Layer>\r\n )\r\n}\r\n\r\n\r\nDrawer.open = (children: DrawerProps[\"children\"], props?: Omit<DrawerProps, \"children\" | \"open\">) => {\r\n const d = Renderar.render(Drawer as any, {\r\n open: true,\r\n ...props,\r\n children,\r\n onClosed: () => {\r\n d.unrender()\r\n },\r\n onClickOutside: () => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n d.updateProps({ open: false })\r\n }\r\n }\r\n })\r\n\r\n return {\r\n open: () => {\r\n d.updateProps({ open: true })\r\n },\r\n close: () => {\r\n d.updateProps({ open: false })\r\n },\r\n }\r\n}\r\n\r\nDrawer.close = () => {\r\n Renderar.unrender(Drawer as any)\r\n}\r\n\r\nexport default Drawer"],"names":[],"mappings":";;;;;;;;;AAkBA;;AAEQ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;;AAEZ;AAEA;;AAAgB;;AAEZ;AAAe;AACf;AAAU;AACV;AAEA;AACA;;AAGA;AACI;AACA;AACA;;;AAKJ;AAUgB;AACA;AACA;;AAEA;;;;AAWQ;AACA;;AAU5B;AAGA;AACI;;AAMI;;;;;;;AAOA;;;;;;;;;AAWR;AAEA;AACI;AACJ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\"use client\";\nimport { Renderar, Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Layer, { LayerProps } from '../Layer';\nimport ClickOutside, { ClickOutsideProps } from '../ClickOutside';\n\n\nexport type DrawerProps = Omit<LayerProps, \"transition\" | \"slotProps\"> & {\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n onClickOutside?: () => void;\n slotProps?: {\n layer?: Partial<Omit<LayerProps, \"children\">>\n root?: TagProps<\"div\">;\n content?: TagProps<\"div\">;\n clickOutside?: Omit<ClickOutsideProps, \"children\" | \"onClickOutside\">;\n }\n}\n\nconst getVariant = (placement?: any) => {\n switch (placement) {\n case \"right\":\n return \"fadeLeft\"\n case \"top\":\n return \"fadeDown\"\n case \"bottom\":\n return \"fadeUp\"\n default:\n return \"fadeRight\"\n }\n}\n\nconst Drawer = ({ children, placement, size, slotProps, onClickOutside, ...layerProps }: DrawerProps) => {\n const _p: any = {}\n if (placement) _p.placement = placement\n if (size) _p.size = size\n const p: any = useBreakpointProps(_p)\n\n placement = p.placement ?? 'left'\n size = p.size || \"medium\"\n\n let isSide = placement === 'left' || placement === 'right'\n let sizes: any = {\n small: 220,\n medium: 330,\n large: 440\n }\n\n let _size = sizes[size as any] || size\n\n return (\n <Layer\n {...layerProps}\n {...slotProps?.layer}\n transition={getVariant(placement)}\n >\n <Tag\n {...slotProps?.root}\n baseClass='drawer'\n sxr={{\n width: \"100vw\",\n height: \"100vh\",\n display: \"flex\",\n direction: isSide ? \"row\" : \"column\" as any,\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\n }}\n >\n <ClickOutside\n {...slotProps?.clickOutside}\n onClickOutside={onClickOutside || (() => { })}\n >\n <Tag\n sxr={{\n width: isSide ? _size : \"100%\",\n height: isSide ? \"100%\" : _size,\n bgcolor: \"background.primary\",\n shadow: 20\n }}\n baseClass='drawer-content'\n >\n {children}\n </Tag>\n </ClickOutside>\n </Tag>\n </Layer>\n )\n}\n\n\nDrawer.open = (children: DrawerProps[\"children\"], props?: Omit<DrawerProps, \"children\" | \"open\">) => {\n const d = Renderar.render(Drawer as any, {\n open: true,\n ...props,\n children,\n onClosed: () => {\n d.unrender()\n },\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n d.updateProps({ open: false })\n }\n }\n })\n\n return {\n open: () => {\n d.updateProps({ open: true })\n },\n close: () => {\n d.updateProps({ open: false })\n },\n }\n}\n\nDrawer.close = () => {\n Renderar.unrender(Drawer as any)\n}\n\nexport default Drawer"],"names":[],"mappings":";;;;;;;;;AAkBA;;AAEQ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;;AAEZ;AAEA;;AAAgB;;AAEZ;AAAe;AACf;AAAU;AACV;AAEA;AACA;;AAGA;AACI;AACA;AACA;;;AAKJ;AAUgB;AACA;AACA;;AAEA;;;;AAWQ;AACA;;AAU5B;AAGA;AACI;;AAMI;;;;;;;AAOA;;;;;;;;;AAWR;AAEA;AACI;AACJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\"use client\";\r\nimport { Renderar, Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\nimport Layer, { LayerProps } from '../Layer';\r\nimport ClickOutside, { ClickOutsideProps } from '../ClickOutside';\r\n\r\n\r\nexport type DrawerProps = Omit<LayerProps, \"transition\" | \"slotProps\"> & {\r\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\r\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\r\n onClickOutside?: () => void;\r\n slotProps?: {\r\n layer?: Partial<Omit<LayerProps, \"children\">>\r\n root?: TagProps<\"div\">;\r\n content?: TagProps<\"div\">;\r\n clickOutside?: Omit<ClickOutsideProps, \"children\" | \"onClickOutside\">;\r\n }\r\n}\r\n\r\nconst getVariant = (placement?: any) => {\r\n switch (placement) {\r\n case \"right\":\r\n return \"fadeLeft\"\r\n case \"top\":\r\n return \"fadeDown\"\r\n case \"bottom\":\r\n return \"fadeUp\"\r\n default:\r\n return \"fadeRight\"\r\n }\r\n}\r\n\r\nconst Drawer = ({ children, placement, size, slotProps, onClickOutside, ...layerProps }: DrawerProps) => {\r\n const _p: any = {}\r\n if (placement) _p.placement = placement\r\n if (size) _p.size = size\r\n const p: any = useBreakpointProps(_p)\r\n\r\n placement = p.placement ?? 'left'\r\n size = p.size || \"medium\"\r\n\r\n let isSide = placement === 'left' || placement === 'right'\r\n let sizes: any = {\r\n small: 220,\r\n medium: 330,\r\n large: 440\r\n }\r\n\r\n let _size = sizes[size as any] || size\r\n\r\n return (\r\n <Layer\r\n {...layerProps}\r\n {...slotProps?.layer}\r\n transition={getVariant(placement)}\r\n >\r\n <Tag\r\n {...slotProps?.root}\r\n baseClass='drawer'\r\n sxr={{\r\n width: \"100vw\",\r\n height: \"100vh\",\r\n display: \"flex\",\r\n direction: isSide ? \"row\" : \"column\" as any,\r\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\r\n }}\r\n >\r\n <ClickOutside\r\n {...slotProps?.clickOutside}\r\n onClickOutside={onClickOutside || (() => { })}\r\n >\r\n <Tag\r\n sxr={{\r\n width: isSide ? _size : \"100%\",\r\n height: isSide ? \"100%\" : _size,\r\n bgcolor: \"background.primary\",\r\n shadow: 20\r\n }}\r\n baseClass='drawer-content'\r\n >\r\n {children}\r\n </Tag>\r\n </ClickOutside>\r\n </Tag>\r\n </Layer>\r\n )\r\n}\r\n\r\n\r\nDrawer.open = (children: DrawerProps[\"children\"], props?: Omit<DrawerProps, \"children\" | \"open\">) => {\r\n const d = Renderar.render(Drawer as any, {\r\n open: true,\r\n ...props,\r\n children,\r\n onClosed: () => {\r\n d.unrender()\r\n },\r\n onClickOutside: () => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n d.updateProps({ open: false })\r\n }\r\n }\r\n })\r\n\r\n return {\r\n open: () => {\r\n d.updateProps({ open: true })\r\n },\r\n close: () => {\r\n d.updateProps({ open: false })\r\n },\r\n }\r\n}\r\n\r\nDrawer.close = () => {\r\n Renderar.unrender(Drawer as any)\r\n}\r\n\r\nexport default Drawer"],"names":[],"mappings":";;;;;;;AAkBA;;AAEQ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;;AAEZ;AAEA;;AAAgB;;AAEZ;AAAe;AACf;AAAU;AACV;AAEA;AACA;;AAGA;AACI;AACA;AACA;;;AAKJ;AAUgB;AACA;AACA;;AAEA;;;;AAWQ;AACA;;AAU5B;AAGA;AACI;;AAMI;;;;;;;AAOA;;;;;;;;;AAWR;AAEA;AACI;AACJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\"use client\";\nimport { Renderar, Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Layer, { LayerProps } from '../Layer';\nimport ClickOutside, { ClickOutsideProps } from '../ClickOutside';\n\n\nexport type DrawerProps = Omit<LayerProps, \"transition\" | \"slotProps\"> & {\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n onClickOutside?: () => void;\n slotProps?: {\n layer?: Partial<Omit<LayerProps, \"children\">>\n root?: TagProps<\"div\">;\n content?: TagProps<\"div\">;\n clickOutside?: Omit<ClickOutsideProps, \"children\" | \"onClickOutside\">;\n }\n}\n\nconst getVariant = (placement?: any) => {\n switch (placement) {\n case \"right\":\n return \"fadeLeft\"\n case \"top\":\n return \"fadeDown\"\n case \"bottom\":\n return \"fadeUp\"\n default:\n return \"fadeRight\"\n }\n}\n\nconst Drawer = ({ children, placement, size, slotProps, onClickOutside, ...layerProps }: DrawerProps) => {\n const _p: any = {}\n if (placement) _p.placement = placement\n if (size) _p.size = size\n const p: any = useBreakpointProps(_p)\n\n placement = p.placement ?? 'left'\n size = p.size || \"medium\"\n\n let isSide = placement === 'left' || placement === 'right'\n let sizes: any = {\n small: 220,\n medium: 330,\n large: 440\n }\n\n let _size = sizes[size as any] || size\n\n return (\n <Layer\n {...layerProps}\n {...slotProps?.layer}\n transition={getVariant(placement)}\n >\n <Tag\n {...slotProps?.root}\n baseClass='drawer'\n sxr={{\n width: \"100vw\",\n height: \"100vh\",\n display: \"flex\",\n direction: isSide ? \"row\" : \"column\" as any,\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\n }}\n >\n <ClickOutside\n {...slotProps?.clickOutside}\n onClickOutside={onClickOutside || (() => { })}\n >\n <Tag\n sxr={{\n width: isSide ? _size : \"100%\",\n height: isSide ? \"100%\" : _size,\n bgcolor: \"background.primary\",\n shadow: 20\n }}\n baseClass='drawer-content'\n >\n {children}\n </Tag>\n </ClickOutside>\n </Tag>\n </Layer>\n )\n}\n\n\nDrawer.open = (children: DrawerProps[\"children\"], props?: Omit<DrawerProps, \"children\" | \"open\">) => {\n const d = Renderar.render(Drawer as any, {\n open: true,\n ...props,\n children,\n onClosed: () => {\n d.unrender()\n },\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n d.updateProps({ open: false })\n }\n }\n })\n\n return {\n open: () => {\n d.updateProps({ open: true })\n },\n close: () => {\n d.updateProps({ open: false })\n },\n }\n}\n\nDrawer.close = () => {\n Renderar.unrender(Drawer as any)\n}\n\nexport default Drawer"],"names":[],"mappings":";;;;;;;AAkBA;;AAEQ;AACI;AACJ;AACI;AACJ;AACI;AACJ;AACI;;AAEZ;AAEA;;AAAgB;;AAEZ;AAAe;AACf;AAAU;AACV;AAEA;AACA;;AAGA;AACI;AACA;AACA;;;AAKJ;AAUgB;AACA;AACA;;AAEA;;;;AAWQ;AACA;;AAU5B;AAGA;AACI;;AAMI;;;;;;;AAOA;;;;;;;;;AAWR;AAEA;AACI;AACJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Form/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useRef } from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type FormProps<T extends TagComponentType = \"form\"> = TagProps<T> & {\r\n\r\n}\r\n\r\n\r\nconst Form = React.forwardRef(<T extends TagComponentType = \"form\">({ children, ...rest }: FormProps<T>, ref: React.Ref<any>) => {\r\n let formRef: any = ref || useRef(null)\r\n\r\n const cloneAllChildren: any = (childs: any) => {\r\n return React.Children.map(childs, (child: any) => {\r\n let c: any = child;\r\n if (React.isValidElement(child) && c.props.name) {\r\n const form = formRef.current\r\n const formData = new FormData(form);\r\n return React.cloneElement(child, {\r\n onChange: () => {\r\n console.log(formData.get(c.props.name));\r\n },\r\n value: formData.get(c.props.name),\r\n children: cloneAllChildren(c.props.children),\r\n } as any);\r\n }\r\n return child;\r\n });\r\n };\r\n\r\n return (\r\n <Tag\r\n component=\"form\"\r\n {...rest}\r\n onSubmit={(e) => {\r\n e.preventDefault()\r\n const form = formRef.current\r\n\r\n const formData = new FormData(form);\r\n\r\n formData.forEach((value, key) => {\r\n console.log(key + \": \" + value);\r\n });\r\n }}\r\n sxr={{\r\n bgcolor: \"default\",\r\n p: 2,\r\n maxWidth: 400,\r\n radius: 1,\r\n }}\r\n baseClass='form'\r\n ref={formRef}\r\n >\r\n {cloneAllChildren(children)}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default Form\r\n\r\n"],"names":[],"mappings":";;;;;;;;AASA;AAAoE;;AAGhE;;;AAGQ;AACI;AACA;AACA;;AAEQ;;;;AAIA;;AAEZ;AACJ;AACJ;AAEA;;AAMY;AAEA;;;AAIA;;AAGA;AACA;AACA;AACA;AACH;AAOb;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Form/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type FormProps<T extends TagComponentType = \"form\"> = TagProps<T> & {\n\n}\n\n\nconst Form = React.forwardRef(<T extends TagComponentType = \"form\">({ children, ...rest }: FormProps<T>, ref: React.Ref<any>) => {\n let formRef: any = ref || useRef(null)\n\n const cloneAllChildren: any = (childs: any) => {\n return React.Children.map(childs, (child: any) => {\n let c: any = child;\n if (React.isValidElement(child) && c.props.name) {\n const form = formRef.current\n const formData = new FormData(form);\n return React.cloneElement(child, {\n onChange: () => {\n console.log(formData.get(c.props.name));\n },\n value: formData.get(c.props.name),\n children: cloneAllChildren(c.props.children),\n } as any);\n }\n return child;\n });\n };\n\n return (\n <Tag\n component=\"form\"\n {...rest}\n onSubmit={(e) => {\n e.preventDefault()\n const form = formRef.current\n\n const formData = new FormData(form);\n\n formData.forEach((value, key) => {\n console.log(key + \": \" + value);\n });\n }}\n sxr={{\n bgcolor: \"default\",\n p: 2,\n maxWidth: 400,\n radius: 1,\n }}\n baseClass='form'\n ref={formRef}\n >\n {cloneAllChildren(children)}\n </Tag>\n )\n})\n\nexport default Form\n\n"],"names":[],"mappings":";;;;;;;;AASA;AAAoE;;AAGhE;;;AAGQ;AACI;AACA;AACA;;AAEQ;;;;AAIA;;AAEZ;AACJ;AACJ;AAEA;;AAMY;AAEA;;;AAIA;;AAGA;AACA;AACA;AACA;AACH;AAOb;;"}
package/Form/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Form/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React, { useRef } from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type FormProps<T extends TagComponentType = \"form\"> = TagProps<T> & {\r\n\r\n}\r\n\r\n\r\nconst Form = React.forwardRef(<T extends TagComponentType = \"form\">({ children, ...rest }: FormProps<T>, ref: React.Ref<any>) => {\r\n let formRef: any = ref || useRef(null)\r\n\r\n const cloneAllChildren: any = (childs: any) => {\r\n return React.Children.map(childs, (child: any) => {\r\n let c: any = child;\r\n if (React.isValidElement(child) && c.props.name) {\r\n const form = formRef.current\r\n const formData = new FormData(form);\r\n return React.cloneElement(child, {\r\n onChange: () => {\r\n console.log(formData.get(c.props.name));\r\n },\r\n value: formData.get(c.props.name),\r\n children: cloneAllChildren(c.props.children),\r\n } as any);\r\n }\r\n return child;\r\n });\r\n };\r\n\r\n return (\r\n <Tag\r\n component=\"form\"\r\n {...rest}\r\n onSubmit={(e) => {\r\n e.preventDefault()\r\n const form = formRef.current\r\n\r\n const formData = new FormData(form);\r\n\r\n formData.forEach((value, key) => {\r\n console.log(key + \": \" + value);\r\n });\r\n }}\r\n sxr={{\r\n bgcolor: \"default\",\r\n p: 2,\r\n maxWidth: 400,\r\n radius: 1,\r\n }}\r\n baseClass='form'\r\n ref={formRef}\r\n >\r\n {cloneAllChildren(children)}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default Form\r\n\r\n"],"names":[],"mappings":";;;;;;AASA;AAAoE;;AAGhE;;;AAGQ;AACI;AACA;AACA;;AAEQ;;;;AAIA;;AAEZ;AACJ;AACJ;AAEA;;AAMY;AAEA;;;AAIA;;AAGA;AACA;AACA;AACA;AACH;AAOb;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Form/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type FormProps<T extends TagComponentType = \"form\"> = TagProps<T> & {\n\n}\n\n\nconst Form = React.forwardRef(<T extends TagComponentType = \"form\">({ children, ...rest }: FormProps<T>, ref: React.Ref<any>) => {\n let formRef: any = ref || useRef(null)\n\n const cloneAllChildren: any = (childs: any) => {\n return React.Children.map(childs, (child: any) => {\n let c: any = child;\n if (React.isValidElement(child) && c.props.name) {\n const form = formRef.current\n const formData = new FormData(form);\n return React.cloneElement(child, {\n onChange: () => {\n console.log(formData.get(c.props.name));\n },\n value: formData.get(c.props.name),\n children: cloneAllChildren(c.props.children),\n } as any);\n }\n return child;\n });\n };\n\n return (\n <Tag\n component=\"form\"\n {...rest}\n onSubmit={(e) => {\n e.preventDefault()\n const form = formRef.current\n\n const formData = new FormData(form);\n\n formData.forEach((value, key) => {\n console.log(key + \": \" + value);\n });\n }}\n sxr={{\n bgcolor: \"default\",\n p: 2,\n maxWidth: 400,\n radius: 1,\n }}\n baseClass='form'\n ref={formRef}\n >\n {cloneAllChildren(children)}\n </Tag>\n )\n})\n\nexport default Form\n\n"],"names":[],"mappings":";;;;;;AASA;AAAoE;;AAGhE;;;AAGQ;AACI;AACA;AACA;;AAEQ;;;;AAIA;;AAEZ;AACJ;AACJ;AAEA;;AAMY;AAEA;;;AAIA;;AAGA;AACA;AACA;AACA;AACH;AAOb;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/GridContainer/index.tsx"],"sourcesContent":["\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type GridContainerProps<T extends TagComponentType = \"div\"> = TagProps<T>\r\nconst GridContainer = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: GridContainerProps<T>, ref?: React.Ref<any>) => {\r\n return (\r\n <Tag\r\n {...rest}\r\n sxr={{\r\n display: \"flex\",\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n width: '100%',\r\n }}\r\n baseClass='grid-container'\r\n ref={ref}\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default GridContainer"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAKA,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA4C,EAAE,GAAoB,KAAI;AAAtE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAkC,EAA7B,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AAC3F,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,MAAM;SAChB,EACD,SAAS,EAAC,gBAAgB,EAC1B,GAAG,EAAE,GAAG,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/GridContainer/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type GridContainerProps<T extends TagComponentType = \"div\"> = TagProps<T>\nconst GridContainer = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: GridContainerProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n display: \"flex\",\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n }}\n baseClass='grid-container'\n ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default GridContainer"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAKA,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA4C,EAAE,GAAoB,KAAI;AAAtE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAkC,EAA7B,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AAC3F,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,MAAM;SAChB,EACD,SAAS,EAAC,gBAAgB,EAC1B,GAAG,EAAE,GAAG,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/GridContainer/index.tsx"],"sourcesContent":["\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type GridContainerProps<T extends TagComponentType = \"div\"> = TagProps<T>\r\nconst GridContainer = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: GridContainerProps<T>, ref?: React.Ref<any>) => {\r\n return (\r\n <Tag\r\n {...rest}\r\n sxr={{\r\n display: \"flex\",\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n width: '100%',\r\n }}\r\n baseClass='grid-container'\r\n ref={ref}\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default GridContainer"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA4C,EAAE,GAAoB,KAAI;AAAtE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAkC,EAA7B,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AAC3F,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,MAAM;SAChB,EACD,SAAS,EAAC,gBAAgB,EAC1B,GAAG,EAAE,GAAG,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/GridContainer/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type GridContainerProps<T extends TagComponentType = \"div\"> = TagProps<T>\nconst GridContainer = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...rest }: GridContainerProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n display: \"flex\",\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n }}\n baseClass='grid-container'\n ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default GridContainer"],"names":["_jsx"],"mappings":";;;;;AAKA,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA4C,EAAE,GAAoB,KAAI;AAAtE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAkC,EAA7B,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;AAC3F,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,MAAM;SAChB,EACD,SAAS,EAAC,gBAAgB,EAC1B,GAAG,EAAE,GAAG,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/GridItem/index.tsx"],"sourcesContent":["\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type GridItemProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\r\n xs?: number;\r\n sm?: number;\r\n md?: number;\r\n lg?: number;\r\n xl?: number;\r\n}\r\n\r\nconst GridItem = React.forwardRef(<T extends TagComponentType = \"div\">({ children, xs, sm, md, lg, xl, ...rest }: GridItemProps<T>, ref?: React.Ref<any>) => {\r\n\r\n let w: any = {}\r\n\r\n xs && (w.xs = (100 / 12 * xs) + \"%\")\r\n sm && (w.sm = (100 / 12 * sm) + \"%\")\r\n md && (w.md = (100 / 12 * md) + \"%\")\r\n lg && (w.lg = (100 / 12 * lg) + \"%\")\r\n xl && (w.xl = (100 / 12 * xl) + \"%\")\r\n\r\n return (\r\n <Tag\r\n ref={ref}\r\n {...rest}\r\n maxWidth={w}\r\n flexBasis={w}\r\n flexGrow={0}\r\n baseClass=\"grid-item\"\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default GridItem"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAYA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA2D,EAAE,GAAoB,KAAI;AAArF,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAvC,0CAAyC,CAAF;IAE1G,IAAI,CAAC,GAAQ,EAAE;AAEf,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AAEpC,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,GAAG,EAAE,GAAG,EAAA,EACJ,IAAI,EAAA,EACR,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,WAAW,EAAA,QAAA,EAEpB,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/GridItem/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type GridItemProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n}\n\nconst GridItem = React.forwardRef(<T extends TagComponentType = \"div\">({ children, xs, sm, md, lg, xl, ...rest }: GridItemProps<T>, ref?: React.Ref<any>) => {\n\n let w: any = {}\n\n xs && (w.xs = (100 / 12 * xs) + \"%\")\n sm && (w.sm = (100 / 12 * sm) + \"%\")\n md && (w.md = (100 / 12 * md) + \"%\")\n lg && (w.lg = (100 / 12 * lg) + \"%\")\n xl && (w.xl = (100 / 12 * xl) + \"%\")\n\n return (\n <Tag\n ref={ref}\n {...rest}\n maxWidth={w}\n flexBasis={w}\n flexGrow={0}\n baseClass=\"grid-item\"\n >\n {children}\n </Tag>\n )\n})\n\nexport default GridItem"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAYA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA2D,EAAE,GAAoB,KAAI;AAArF,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAvC,0CAAyC,CAAF;IAE1G,IAAI,CAAC,GAAQ,EAAE;AAEf,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AAEpC,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,GAAG,EAAE,GAAG,EAAA,EACJ,IAAI,EAAA,EACR,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,WAAW,EAAA,QAAA,EAEpB,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/GridItem/index.tsx"],"sourcesContent":["\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type GridItemProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\r\n xs?: number;\r\n sm?: number;\r\n md?: number;\r\n lg?: number;\r\n xl?: number;\r\n}\r\n\r\nconst GridItem = React.forwardRef(<T extends TagComponentType = \"div\">({ children, xs, sm, md, lg, xl, ...rest }: GridItemProps<T>, ref?: React.Ref<any>) => {\r\n\r\n let w: any = {}\r\n\r\n xs && (w.xs = (100 / 12 * xs) + \"%\")\r\n sm && (w.sm = (100 / 12 * sm) + \"%\")\r\n md && (w.md = (100 / 12 * md) + \"%\")\r\n lg && (w.lg = (100 / 12 * lg) + \"%\")\r\n xl && (w.xl = (100 / 12 * xl) + \"%\")\r\n\r\n return (\r\n <Tag\r\n ref={ref}\r\n {...rest}\r\n maxWidth={w}\r\n flexBasis={w}\r\n flexGrow={0}\r\n baseClass=\"grid-item\"\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n\r\nexport default GridItem"],"names":["_jsx"],"mappings":";;;;;AAYA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA2D,EAAE,GAAoB,KAAI;AAArF,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAvC,0CAAyC,CAAF;IAE1G,IAAI,CAAC,GAAQ,EAAE;AAEf,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AAEpC,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,GAAG,EAAE,GAAG,EAAA,EACJ,IAAI,EAAA,EACR,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,WAAW,EAAA,QAAA,EAEpB,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/GridItem/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type GridItemProps<T extends TagComponentType = \"div\"> = TagProps<T> & {\n xs?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n}\n\nconst GridItem = React.forwardRef(<T extends TagComponentType = \"div\">({ children, xs, sm, md, lg, xl, ...rest }: GridItemProps<T>, ref?: React.Ref<any>) => {\n\n let w: any = {}\n\n xs && (w.xs = (100 / 12 * xs) + \"%\")\n sm && (w.sm = (100 / 12 * sm) + \"%\")\n md && (w.md = (100 / 12 * md) + \"%\")\n lg && (w.lg = (100 / 12 * lg) + \"%\")\n xl && (w.xl = (100 / 12 * xl) + \"%\")\n\n return (\n <Tag\n ref={ref}\n {...rest}\n maxWidth={w}\n flexBasis={w}\n flexGrow={0}\n baseClass=\"grid-item\"\n >\n {children}\n </Tag>\n )\n})\n\nexport default GridItem"],"names":["_jsx"],"mappings":";;;;;AAYA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAA2D,EAAE,GAAoB,KAAI;AAArF,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAvC,0CAAyC,CAAF;IAE1G,IAAI,CAAC,GAAQ,EAAE;AAEf,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AACpC,IAAA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC;AAEpC,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,GAAG,EAAE,GAAG,EAAA,EACJ,IAAI,EAAA,EACR,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,WAAW,EAAA,QAAA,EAEpB,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/IconButton/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useInterface, UseColorTemplateColor, UseColorTemplateType, useColorTemplate, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\nimport useCorner from '../useCorner'\r\n\r\n\r\nexport type IconButtonProps<T extends TagComponentType = 'button'> = Omit<TagProps<T>, \"color\" | \"size\"> & {\r\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\r\n color?: useBreakpointPropsType<UseColorTemplateColor>;\r\n variant?: useBreakpointPropsType<UseColorTemplateType>;\r\n corner?: useBreakpointPropsType<\"square\" | \"rounded\" | \"circle\">;\r\n}\r\n\r\nconst IconButton = React.forwardRef(<T extends TagComponentType = 'button'>({ children, ...rest }: IconButtonProps<T>, ref: React.Ref<any>) => {\r\n rest.sx = (rest as any).sx || {};\r\n let [{ variant, corner, color, size, ..._props }] = useInterface<any>(\"IconButton\", rest, {})\r\n\r\n const _p: any = {}\r\n if (size) _p.size = size\r\n if (color) _p.color = color\r\n if (variant) _p.variant = variant\r\n if (corner) _p.corner = corner\r\n const p: any = useBreakpointProps(_p)\r\n\r\n size = p.size ?? \"medium\"\r\n color = p.color\r\n variant = p.variant\r\n corner = p.corner ?? \"circle\"\r\n\r\n let template = useColorTemplate(color || \"brand\", variant || \"fill\")\r\n const cornerCss = useCorner(corner)\r\n\r\n if (size === 'small') {\r\n size = 28\r\n } else if (size === 'medium') {\r\n size = 34\r\n } else if (size === 'large') {\r\n size = 52\r\n }\r\n\r\n return (\r\n <Tag\r\n component='button'\r\n ref={ref}\r\n {...cornerCss}\r\n {..._props}\r\n {...template.primary}\r\n baseClass='icon-button'\r\n sxr={{\r\n border: 0,\r\n radius: size,\r\n height: size,\r\n width: size,\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n\r\n lineHeight: 1,\r\n fontSize: \"button\",\r\n\r\n bgcolor: \"transparent\",\r\n\r\n \"& svg\": {\r\n fontSize: Math.round((size / 3) * 1.8),\r\n display: \"block\",\r\n width: \"1em\",\r\n height: \"1em\",\r\n flexShrink: 0,\r\n },\r\n }}\r\n hover={{\r\n ...template.secondary,\r\n ...((_props as any)?.hover || {})\r\n }}\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n// const IconButton = forwardRef(_IconButton) as unknown as typeof _IconButton\r\nexport default IconButton\r\n"],"names":[],"mappings":";;;;;;;;;AAaA;;AAA4E;;;;AAKxE;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAY;AACZ;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;;;AAEO;;;AAEA;;;;AAaK;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACI;AACA;AACA;AACA;AACA;AACH;;AAUjB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/IconButton/index.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useInterface, UseColorTemplateColor, UseColorTemplateType, useColorTemplate, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport useCorner from '../useCorner'\n\n\nexport type IconButtonProps<T extends TagComponentType = 'button'> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n corner?: useBreakpointPropsType<\"square\" | \"rounded\" | \"circle\">;\n}\n\nconst IconButton = React.forwardRef(<T extends TagComponentType = 'button'>({ children, ...rest }: IconButtonProps<T>, ref: React.Ref<any>) => {\n rest.sx = (rest as any).sx || {};\n let [{ variant, corner, color, size, ..._props }] = useInterface<any>(\"IconButton\", rest, {})\n\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (corner) _p.corner = corner\n const p: any = useBreakpointProps(_p)\n\n size = p.size ?? \"medium\"\n color = p.color\n variant = p.variant\n corner = p.corner ?? \"circle\"\n\n let template = useColorTemplate(color || \"brand\", variant || \"fill\")\n const cornerCss = useCorner(corner)\n\n if (size === 'small') {\n size = 28\n } else if (size === 'medium') {\n size = 34\n } else if (size === 'large') {\n size = 52\n }\n\n return (\n <Tag\n component='button'\n ref={ref}\n {...cornerCss}\n {..._props}\n {...template.primary}\n baseClass='icon-button'\n sxr={{\n border: 0,\n radius: size,\n height: size,\n width: size,\n cursor: \"pointer\",\n fontFamily: \"inherit\",\n\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n lineHeight: 1,\n fontSize: \"button\",\n\n bgcolor: \"transparent\",\n\n \"& svg\": {\n fontSize: Math.round((size / 3) * 1.8),\n display: \"block\",\n width: \"1em\",\n height: \"1em\",\n flexShrink: 0,\n },\n }}\n hover={{\n ...template.secondary,\n ...((_props as any)?.hover || {})\n }}\n >\n {children}\n </Tag>\n )\n})\n// const IconButton = forwardRef(_IconButton) as unknown as typeof _IconButton\nexport default IconButton\n"],"names":[],"mappings":";;;;;;;;;AAaA;;AAA4E;;;;AAKxE;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAY;AACZ;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;;;AAEO;;;AAEA;;;;AAaK;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACI;AACA;AACA;AACA;AACA;AACH;;AAUjB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/IconButton/index.tsx"],"sourcesContent":["\"use client\";\r\nimport React from 'react';\r\nimport { Tag, TagProps, TagComponentType, useInterface, UseColorTemplateColor, UseColorTemplateType, useColorTemplate, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\r\nimport useCorner from '../useCorner'\r\n\r\n\r\nexport type IconButtonProps<T extends TagComponentType = 'button'> = Omit<TagProps<T>, \"color\" | \"size\"> & {\r\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\r\n color?: useBreakpointPropsType<UseColorTemplateColor>;\r\n variant?: useBreakpointPropsType<UseColorTemplateType>;\r\n corner?: useBreakpointPropsType<\"square\" | \"rounded\" | \"circle\">;\r\n}\r\n\r\nconst IconButton = React.forwardRef(<T extends TagComponentType = 'button'>({ children, ...rest }: IconButtonProps<T>, ref: React.Ref<any>) => {\r\n rest.sx = (rest as any).sx || {};\r\n let [{ variant, corner, color, size, ..._props }] = useInterface<any>(\"IconButton\", rest, {})\r\n\r\n const _p: any = {}\r\n if (size) _p.size = size\r\n if (color) _p.color = color\r\n if (variant) _p.variant = variant\r\n if (corner) _p.corner = corner\r\n const p: any = useBreakpointProps(_p)\r\n\r\n size = p.size ?? \"medium\"\r\n color = p.color\r\n variant = p.variant\r\n corner = p.corner ?? \"circle\"\r\n\r\n let template = useColorTemplate(color || \"brand\", variant || \"fill\")\r\n const cornerCss = useCorner(corner)\r\n\r\n if (size === 'small') {\r\n size = 28\r\n } else if (size === 'medium') {\r\n size = 34\r\n } else if (size === 'large') {\r\n size = 52\r\n }\r\n\r\n return (\r\n <Tag\r\n component='button'\r\n ref={ref}\r\n {...cornerCss}\r\n {..._props}\r\n {...template.primary}\r\n baseClass='icon-button'\r\n sxr={{\r\n border: 0,\r\n radius: size,\r\n height: size,\r\n width: size,\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n\r\n lineHeight: 1,\r\n fontSize: \"button\",\r\n\r\n bgcolor: \"transparent\",\r\n\r\n \"& svg\": {\r\n fontSize: Math.round((size / 3) * 1.8),\r\n display: \"block\",\r\n width: \"1em\",\r\n height: \"1em\",\r\n flexShrink: 0,\r\n },\r\n }}\r\n hover={{\r\n ...template.secondary,\r\n ...((_props as any)?.hover || {})\r\n }}\r\n >\r\n {children}\r\n </Tag>\r\n )\r\n})\r\n// const IconButton = forwardRef(_IconButton) as unknown as typeof _IconButton\r\nexport default IconButton\r\n"],"names":[],"mappings":";;;;;;;AAaA;;AAA4E;;;;AAKxE;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAY;AACZ;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;;;AAEO;;;AAEA;;;;AAaK;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACI;AACA;AACA;AACA;AACA;AACH;;AAUjB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/IconButton/index.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useInterface, UseColorTemplateColor, UseColorTemplateType, useColorTemplate, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport useCorner from '../useCorner'\n\n\nexport type IconButtonProps<T extends TagComponentType = 'button'> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n corner?: useBreakpointPropsType<\"square\" | \"rounded\" | \"circle\">;\n}\n\nconst IconButton = React.forwardRef(<T extends TagComponentType = 'button'>({ children, ...rest }: IconButtonProps<T>, ref: React.Ref<any>) => {\n rest.sx = (rest as any).sx || {};\n let [{ variant, corner, color, size, ..._props }] = useInterface<any>(\"IconButton\", rest, {})\n\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (corner) _p.corner = corner\n const p: any = useBreakpointProps(_p)\n\n size = p.size ?? \"medium\"\n color = p.color\n variant = p.variant\n corner = p.corner ?? \"circle\"\n\n let template = useColorTemplate(color || \"brand\", variant || \"fill\")\n const cornerCss = useCorner(corner)\n\n if (size === 'small') {\n size = 28\n } else if (size === 'medium') {\n size = 34\n } else if (size === 'large') {\n size = 52\n }\n\n return (\n <Tag\n component='button'\n ref={ref}\n {...cornerCss}\n {..._props}\n {...template.primary}\n baseClass='icon-button'\n sxr={{\n border: 0,\n radius: size,\n height: size,\n width: size,\n cursor: \"pointer\",\n fontFamily: \"inherit\",\n\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n lineHeight: 1,\n fontSize: \"button\",\n\n bgcolor: \"transparent\",\n\n \"& svg\": {\n fontSize: Math.round((size / 3) * 1.8),\n display: \"block\",\n width: \"1em\",\n height: \"1em\",\n flexShrink: 0,\n },\n }}\n hover={{\n ...template.secondary,\n ...((_props as any)?.hover || {})\n }}\n >\n {children}\n </Tag>\n )\n})\n// const IconButton = forwardRef(_IconButton) as unknown as typeof _IconButton\nexport default IconButton\n"],"names":[],"mappings":";;;;;;;AAaA;;AAA4E;;;;AAKxE;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAY;AACZ;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;;;AAEO;;;AAEA;;;;AAaK;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACI;AACA;AACA;AACA;AACA;AACH;;AAUjB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Image/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactElement, useState } from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type ImageProps<T extends TagComponentType = \"img\"> = TagProps<T> & {\r\n errorView?: ReactElement\r\n}\r\n\r\nconst Image = React.forwardRef(<T extends TagComponentType = \"img\">({ children, src, alt, errorView, ...rest }: ImageProps<T>, ref: any) => {\r\n const [faild, setFaild] = useState<boolean>()\r\n\r\n if (faild === false) {\r\n let t = errorView || alt?.charAt(0).toUpperCase() || children\r\n return (\r\n <Tag\r\n src={src}\r\n {...rest as any}\r\n sxr={{\r\n display: \"inline-flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n component=\"div\"\r\n baseClass='image'\r\n ref={ref}\r\n >{t}</Tag>\r\n )\r\n }\r\n return (\r\n <Tag\r\n objectFit=\"cover\"\r\n {...rest as any}\r\n component=\"img\"\r\n alt={alt}\r\n src={src}\r\n baseClass='image'\r\n onError={(e) => {\r\n setFaild(false)\r\n rest.onError && rest.onError(e as any)\r\n }}\r\n ref={ref}\r\n />\r\n )\r\n})\r\n\r\nexport default Image\r\n\r\n\r\n"],"names":[],"mappings":";;;;;;;;AASA;AAAoE;;AAGhE;AACI;;AAMY;AACA;AACA;AACH;;AAOb;;;AAWQ;AAIZ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Image/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type ImageProps<T extends TagComponentType = \"img\"> = TagProps<T> & {\n errorView?: ReactElement\n}\n\nconst Image = React.forwardRef(<T extends TagComponentType = \"img\">({ children, src, alt, errorView, ...rest }: ImageProps<T>, ref: any) => {\n const [faild, setFaild] = useState<boolean>()\n\n if (faild === false) {\n let t = errorView || alt?.charAt(0).toUpperCase() || children\n return (\n <Tag\n src={src}\n {...rest as any}\n sxr={{\n display: \"inline-flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n component=\"div\"\n baseClass='image'\n ref={ref}\n >{t}</Tag>\n )\n }\n return (\n <Tag\n objectFit=\"cover\"\n {...rest as any}\n component=\"img\"\n alt={alt}\n src={src}\n baseClass='image'\n onError={(e) => {\n setFaild(false)\n rest.onError && rest.onError(e as any)\n }}\n ref={ref}\n />\n )\n})\n\nexport default Image\n\n\n"],"names":[],"mappings":";;;;;;;;AASA;AAAoE;;AAGhE;AACI;;AAMY;AACA;AACA;AACH;;AAOb;;;AAWQ;AAIZ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Image/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactElement, useState } from 'react';\r\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\r\n\r\nexport type ImageProps<T extends TagComponentType = \"img\"> = TagProps<T> & {\r\n errorView?: ReactElement\r\n}\r\n\r\nconst Image = React.forwardRef(<T extends TagComponentType = \"img\">({ children, src, alt, errorView, ...rest }: ImageProps<T>, ref: any) => {\r\n const [faild, setFaild] = useState<boolean>()\r\n\r\n if (faild === false) {\r\n let t = errorView || alt?.charAt(0).toUpperCase() || children\r\n return (\r\n <Tag\r\n src={src}\r\n {...rest as any}\r\n sxr={{\r\n display: \"inline-flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n component=\"div\"\r\n baseClass='image'\r\n ref={ref}\r\n >{t}</Tag>\r\n )\r\n }\r\n return (\r\n <Tag\r\n objectFit=\"cover\"\r\n {...rest as any}\r\n component=\"img\"\r\n alt={alt}\r\n src={src}\r\n baseClass='image'\r\n onError={(e) => {\r\n setFaild(false)\r\n rest.onError && rest.onError(e as any)\r\n }}\r\n ref={ref}\r\n />\r\n )\r\n})\r\n\r\nexport default Image\r\n\r\n\r\n"],"names":[],"mappings":";;;;;;AASA;AAAoE;;AAGhE;AACI;;AAMY;AACA;AACA;AACH;;AAOb;;;AAWQ;AAIZ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Image/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type ImageProps<T extends TagComponentType = \"img\"> = TagProps<T> & {\n errorView?: ReactElement\n}\n\nconst Image = React.forwardRef(<T extends TagComponentType = \"img\">({ children, src, alt, errorView, ...rest }: ImageProps<T>, ref: any) => {\n const [faild, setFaild] = useState<boolean>()\n\n if (faild === false) {\n let t = errorView || alt?.charAt(0).toUpperCase() || children\n return (\n <Tag\n src={src}\n {...rest as any}\n sxr={{\n display: \"inline-flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n component=\"div\"\n baseClass='image'\n ref={ref}\n >{t}</Tag>\n )\n }\n return (\n <Tag\n objectFit=\"cover\"\n {...rest as any}\n component=\"img\"\n alt={alt}\n src={src}\n baseClass='image'\n onError={(e) => {\n setFaild(false)\n rest.onError && rest.onError(e as any)\n }}\n ref={ref}\n />\n )\n})\n\nexport default Image\n\n\n"],"names":[],"mappings":";;;;;;AASA;AAAoE;;AAGhE;AACI;;AAMY;AACA;AACA;AACH;;AAOb;;;AAWQ;AAIZ;;"}