@xanui/ui 1.0.0

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 (320) hide show
  1. package/Accordion/index.d.ts +32 -0
  2. package/Accordion/index.js +82 -0
  3. package/Accordion/index.js.map +1 -0
  4. package/Accordion/index.mjs +82 -0
  5. package/Accordion/index.mjs.map +1 -0
  6. package/Alert/index.d.ts +41 -0
  7. package/Alert/index.js +137 -0
  8. package/Alert/index.js.map +1 -0
  9. package/Alert/index.mjs +137 -0
  10. package/Alert/index.mjs.map +1 -0
  11. package/Avatar/index.d.ts +10 -0
  12. package/Avatar/index.js +34 -0
  13. package/Avatar/index.js.map +1 -0
  14. package/Avatar/index.mjs +34 -0
  15. package/Avatar/index.mjs.map +1 -0
  16. package/Badge/index.d.ts +16 -0
  17. package/Badge/index.js +68 -0
  18. package/Badge/index.js.map +1 -0
  19. package/Badge/index.mjs +68 -0
  20. package/Badge/index.mjs.map +1 -0
  21. package/Box/index.d.ts +8 -0
  22. package/Box/index.js +4 -0
  23. package/Box/index.js.map +1 -0
  24. package/Box/index.mjs +4 -0
  25. package/Box/index.mjs.map +1 -0
  26. package/Button/index.d.ts +22 -0
  27. package/Button/index.js +77 -0
  28. package/Button/index.js.map +1 -0
  29. package/Button/index.mjs +77 -0
  30. package/Button/index.mjs.map +1 -0
  31. package/ButtonGroup/index.d.ts +14 -0
  32. package/ButtonGroup/index.js +47 -0
  33. package/ButtonGroup/index.js.map +1 -0
  34. package/ButtonGroup/index.mjs +47 -0
  35. package/ButtonGroup/index.mjs.map +1 -0
  36. package/Calendar/index.d.ts +14 -0
  37. package/Calendar/index.js +140 -0
  38. package/Calendar/index.js.map +1 -0
  39. package/Calendar/index.mjs +140 -0
  40. package/Calendar/index.mjs.map +1 -0
  41. package/CalendarInput/index.d.ts +18 -0
  42. package/CalendarInput/index.js +11 -0
  43. package/CalendarInput/index.js.map +1 -0
  44. package/CalendarInput/index.mjs +11 -0
  45. package/CalendarInput/index.mjs.map +1 -0
  46. package/Checkbox/index.d.ts +15 -0
  47. package/Checkbox/index.js +44 -0
  48. package/Checkbox/index.js.map +1 -0
  49. package/Checkbox/index.mjs +44 -0
  50. package/Checkbox/index.mjs.map +1 -0
  51. package/Chip/index.d.ts +17 -0
  52. package/Chip/index.js +59 -0
  53. package/Chip/index.js.map +1 -0
  54. package/Chip/index.mjs +59 -0
  55. package/Chip/index.mjs.map +1 -0
  56. package/CircleProgress/index.d.ts +20 -0
  57. package/CircleProgress/index.js +118 -0
  58. package/CircleProgress/index.js.map +1 -0
  59. package/CircleProgress/index.mjs +118 -0
  60. package/CircleProgress/index.mjs.map +1 -0
  61. package/ClickOutside/index.d.ts +10 -0
  62. package/ClickOutside/index.js +16 -0
  63. package/ClickOutside/index.js.map +1 -0
  64. package/ClickOutside/index.mjs +16 -0
  65. package/ClickOutside/index.mjs.map +1 -0
  66. package/Collaps/index.d.ts +8 -0
  67. package/Collaps/index.js +18 -0
  68. package/Collaps/index.js.map +1 -0
  69. package/Collaps/index.mjs +18 -0
  70. package/Collaps/index.mjs.map +1 -0
  71. package/Container/index.d.ts +10 -0
  72. package/Container/index.js +19 -0
  73. package/Container/index.js.map +1 -0
  74. package/Container/index.mjs +19 -0
  75. package/Container/index.mjs.map +1 -0
  76. package/Datatable/FilterBox.js +19 -0
  77. package/Datatable/FilterBox.js.map +1 -0
  78. package/Datatable/FilterBox.mjs +19 -0
  79. package/Datatable/FilterBox.mjs.map +1 -0
  80. package/Datatable/Row.js +41 -0
  81. package/Datatable/Row.js.map +1 -0
  82. package/Datatable/Row.mjs +41 -0
  83. package/Datatable/Row.mjs.map +1 -0
  84. package/Datatable/SelectedBox.js +11 -0
  85. package/Datatable/SelectedBox.js.map +1 -0
  86. package/Datatable/SelectedBox.mjs +11 -0
  87. package/Datatable/SelectedBox.mjs.map +1 -0
  88. package/Datatable/Table.js +11 -0
  89. package/Datatable/Table.js.map +1 -0
  90. package/Datatable/Table.mjs +11 -0
  91. package/Datatable/Table.mjs.map +1 -0
  92. package/Datatable/TableHead.js +35 -0
  93. package/Datatable/TableHead.js.map +1 -0
  94. package/Datatable/TableHead.mjs +35 -0
  95. package/Datatable/TableHead.mjs.map +1 -0
  96. package/Datatable/index.d.ts +71 -0
  97. package/Datatable/index.js +35 -0
  98. package/Datatable/index.js.map +1 -0
  99. package/Datatable/index.mjs +35 -0
  100. package/Datatable/index.mjs.map +1 -0
  101. package/Divider/index.d.ts +12 -0
  102. package/Divider/index.js +21 -0
  103. package/Divider/index.js.map +1 -0
  104. package/Divider/index.mjs +21 -0
  105. package/Divider/index.mjs.map +1 -0
  106. package/Drawer/index.d.ts +25 -0
  107. package/Drawer/index.js +57 -0
  108. package/Drawer/index.js.map +1 -0
  109. package/Drawer/index.mjs +57 -0
  110. package/Drawer/index.mjs.map +1 -0
  111. package/Form/index.d.ts +8 -0
  112. package/Form/index.js +34 -0
  113. package/Form/index.js.map +1 -0
  114. package/Form/index.mjs +34 -0
  115. package/Form/index.mjs.map +1 -0
  116. package/GridContainer/index.d.ts +8 -0
  117. package/GridContainer/index.js +9 -0
  118. package/GridContainer/index.js.map +1 -0
  119. package/GridContainer/index.mjs +9 -0
  120. package/GridContainer/index.mjs.map +1 -0
  121. package/GridItem/index.d.ts +14 -0
  122. package/GridItem/index.js +10 -0
  123. package/GridItem/index.js.map +1 -0
  124. package/GridItem/index.mjs +10 -0
  125. package/GridItem/index.mjs.map +1 -0
  126. package/IconButton/index.d.ts +13 -0
  127. package/IconButton/index.js +48 -0
  128. package/IconButton/index.js.map +1 -0
  129. package/IconButton/index.mjs +48 -0
  130. package/IconButton/index.mjs.map +1 -0
  131. package/Image/index.d.ts +10 -0
  132. package/Image/index.js +16 -0
  133. package/Image/index.js.map +1 -0
  134. package/Image/index.mjs +16 -0
  135. package/Image/index.mjs.map +1 -0
  136. package/Input/index.d.ts +26 -0
  137. package/Input/index.js +149 -0
  138. package/Input/index.js.map +1 -0
  139. package/Input/index.mjs +149 -0
  140. package/Input/index.mjs.map +1 -0
  141. package/Label/index.d.ts +8 -0
  142. package/Label/index.js +10 -0
  143. package/Label/index.js.map +1 -0
  144. package/Label/index.mjs +10 -0
  145. package/Label/index.mjs.map +1 -0
  146. package/Layer/index.d.ts +34 -0
  147. package/Layer/index.js +73 -0
  148. package/Layer/index.js.map +1 -0
  149. package/Layer/index.mjs +73 -0
  150. package/Layer/index.mjs.map +1 -0
  151. package/LineProgress/index.d.ts +15 -0
  152. package/LineProgress/index.js +48 -0
  153. package/LineProgress/index.js.map +1 -0
  154. package/LineProgress/index.mjs +48 -0
  155. package/LineProgress/index.mjs.map +1 -0
  156. package/List/index.d.ts +13 -0
  157. package/List/index.js +51 -0
  158. package/List/index.js.map +1 -0
  159. package/List/index.mjs +51 -0
  160. package/List/index.mjs.map +1 -0
  161. package/ListItem/index.d.ts +13 -0
  162. package/ListItem/index.js +26 -0
  163. package/ListItem/index.js.map +1 -0
  164. package/ListItem/index.mjs +26 -0
  165. package/ListItem/index.mjs.map +1 -0
  166. package/LoadingBox/index.d.ts +15 -0
  167. package/LoadingBox/index.js +22 -0
  168. package/LoadingBox/index.js.map +1 -0
  169. package/LoadingBox/index.mjs +22 -0
  170. package/LoadingBox/index.mjs.map +1 -0
  171. package/Menu/getOrigin.js +42 -0
  172. package/Menu/getOrigin.js.map +1 -0
  173. package/Menu/getOrigin.mjs +42 -0
  174. package/Menu/getOrigin.mjs.map +1 -0
  175. package/Menu/index.d.ts +22 -0
  176. package/Menu/index.js +47 -0
  177. package/Menu/index.js.map +1 -0
  178. package/Menu/index.mjs +47 -0
  179. package/Menu/index.mjs.map +1 -0
  180. package/Menu/placedMenu.d.ts +5 -0
  181. package/Menu/placedMenu.js +95 -0
  182. package/Menu/placedMenu.js.map +1 -0
  183. package/Menu/placedMenu.mjs +95 -0
  184. package/Menu/placedMenu.mjs.map +1 -0
  185. package/Modal/index.d.ts +19 -0
  186. package/Modal/index.js +38 -0
  187. package/Modal/index.js.map +1 -0
  188. package/Modal/index.mjs +38 -0
  189. package/Modal/index.mjs.map +1 -0
  190. package/NoSSR/index.d.ts +3 -0
  191. package/NoSSR/index.js +7 -0
  192. package/NoSSR/index.js.map +1 -0
  193. package/NoSSR/index.mjs +7 -0
  194. package/NoSSR/index.mjs.map +1 -0
  195. package/Option/index.d.ts +10 -0
  196. package/Option/index.js +4 -0
  197. package/Option/index.js.map +1 -0
  198. package/Option/index.mjs +4 -0
  199. package/Option/index.mjs.map +1 -0
  200. package/Paper/index.d.ts +8 -0
  201. package/Paper/index.js +5 -0
  202. package/Paper/index.js.map +1 -0
  203. package/Paper/index.mjs +5 -0
  204. package/Paper/index.mjs.map +1 -0
  205. package/Portal/index.d.ts +11 -0
  206. package/Portal/index.js +26 -0
  207. package/Portal/index.js.map +1 -0
  208. package/Portal/index.mjs +26 -0
  209. package/Portal/index.mjs.map +1 -0
  210. package/Radio/index.d.ts +6 -0
  211. package/Radio/index.js +4 -0
  212. package/Radio/index.js.map +1 -0
  213. package/Radio/index.mjs +4 -0
  214. package/Radio/index.mjs.map +1 -0
  215. package/Scrollbar/index.d.ts +14 -0
  216. package/Scrollbar/index.js +65 -0
  217. package/Scrollbar/index.js.map +1 -0
  218. package/Scrollbar/index.mjs +65 -0
  219. package/Scrollbar/index.mjs.map +1 -0
  220. package/Select/index.d.ts +24 -0
  221. package/Select/index.js +35 -0
  222. package/Select/index.js.map +1 -0
  223. package/Select/index.mjs +35 -0
  224. package/Select/index.mjs.map +1 -0
  225. package/Stack/index.d.ts +8 -0
  226. package/Stack/index.js +7 -0
  227. package/Stack/index.js.map +1 -0
  228. package/Stack/index.mjs +7 -0
  229. package/Stack/index.mjs.map +1 -0
  230. package/Switch/index.d.ts +19 -0
  231. package/Switch/index.js +68 -0
  232. package/Switch/index.js.map +1 -0
  233. package/Switch/index.mjs +68 -0
  234. package/Switch/index.mjs.map +1 -0
  235. package/Tab/index.d.ts +11 -0
  236. package/Tab/index.js +5 -0
  237. package/Tab/index.js.map +1 -0
  238. package/Tab/index.mjs +5 -0
  239. package/Tab/index.mjs.map +1 -0
  240. package/Table/index.d.ts +14 -0
  241. package/Table/index.js +77 -0
  242. package/Table/index.js.map +1 -0
  243. package/Table/index.mjs +77 -0
  244. package/Table/index.mjs.map +1 -0
  245. package/TableBody/index.d.ts +8 -0
  246. package/TableBody/index.js +4 -0
  247. package/TableBody/index.js.map +1 -0
  248. package/TableBody/index.mjs +4 -0
  249. package/TableBody/index.mjs.map +1 -0
  250. package/TableCell/index.d.ts +10 -0
  251. package/TableCell/index.js +4 -0
  252. package/TableCell/index.js.map +1 -0
  253. package/TableCell/index.mjs +4 -0
  254. package/TableCell/index.mjs.map +1 -0
  255. package/TableFooter/index.d.ts +8 -0
  256. package/TableFooter/index.js +4 -0
  257. package/TableFooter/index.js.map +1 -0
  258. package/TableFooter/index.mjs +4 -0
  259. package/TableFooter/index.mjs.map +1 -0
  260. package/TableHead/index.d.ts +8 -0
  261. package/TableHead/index.js +4 -0
  262. package/TableHead/index.js.map +1 -0
  263. package/TableHead/index.mjs +4 -0
  264. package/TableHead/index.mjs.map +1 -0
  265. package/TablePagination/index.d.ts +26 -0
  266. package/TablePagination/index.js +51 -0
  267. package/TablePagination/index.js.map +1 -0
  268. package/TablePagination/index.mjs +51 -0
  269. package/TablePagination/index.mjs.map +1 -0
  270. package/TableRow/index.d.ts +8 -0
  271. package/TableRow/index.js +4 -0
  272. package/TableRow/index.js.map +1 -0
  273. package/TableRow/index.mjs +4 -0
  274. package/TableRow/index.mjs.map +1 -0
  275. package/Tabs/index.d.ts +24 -0
  276. package/Tabs/index.js +188 -0
  277. package/Tabs/index.js.map +1 -0
  278. package/Tabs/index.mjs +188 -0
  279. package/Tabs/index.mjs.map +1 -0
  280. package/Text/index.d.ts +10 -0
  281. package/Text/index.js +10 -0
  282. package/Text/index.js.map +1 -0
  283. package/Text/index.mjs +10 -0
  284. package/Text/index.mjs.map +1 -0
  285. package/ThemeProvider/RenderRoot.js +22 -0
  286. package/ThemeProvider/RenderRoot.js.map +1 -0
  287. package/ThemeProvider/RenderRoot.mjs +22 -0
  288. package/ThemeProvider/RenderRoot.mjs.map +1 -0
  289. package/ThemeProvider/index.d.ts +8 -0
  290. package/ThemeProvider/index.js +4 -0
  291. package/ThemeProvider/index.js.map +1 -0
  292. package/ThemeProvider/index.mjs +4 -0
  293. package/ThemeProvider/index.mjs.map +1 -0
  294. package/Toast/index.d.ts +20 -0
  295. package/Toast/index.js +145 -0
  296. package/Toast/index.js.map +1 -0
  297. package/Toast/index.mjs +145 -0
  298. package/Toast/index.mjs.map +1 -0
  299. package/Tooltip/index.d.ts +16 -0
  300. package/Tooltip/index.js +29 -0
  301. package/Tooltip/index.js.map +1 -0
  302. package/Tooltip/index.mjs +29 -0
  303. package/Tooltip/index.mjs.map +1 -0
  304. package/ViewBox/index.d.ts +16 -0
  305. package/ViewBox/index.js +21 -0
  306. package/ViewBox/index.js.map +1 -0
  307. package/ViewBox/index.mjs +21 -0
  308. package/ViewBox/index.mjs.map +1 -0
  309. package/index.d.ts +56 -0
  310. package/index.js +1 -0
  311. package/index.js.map +1 -0
  312. package/index.mjs +1 -0
  313. package/index.mjs.map +1 -0
  314. package/package.json +41 -0
  315. package/readme.md +0 -0
  316. package/useCorner/index.d.ts +5 -0
  317. package/useCorner/index.js +17 -0
  318. package/useCorner/index.js.map +1 -0
  319. package/useCorner/index.mjs +17 -0
  320. package/useCorner/index.mjs.map +1 -0
@@ -0,0 +1,71 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { TableColumnProps } from '../TableCell/index.js';
3
+ import { IconButtonProps } from '../IconButton/index.js';
4
+ import { InputProps } from '../Input/index.js';
5
+ import { TablePaginationProps } from '../TablePagination/index.js';
6
+ import { TableProps } from '../Table/index.js';
7
+
8
+ type ColumnType = (Omit<TableColumnProps, "children"> & {
9
+ label: string;
10
+ field?: string;
11
+ });
12
+ type DataTableDefaultRow = {
13
+ id?: number;
14
+ [key: string | number]: any;
15
+ };
16
+ type RowActionType = Omit<IconButtonProps, "children"> & {
17
+ label: string;
18
+ icon: ReactElement;
19
+ };
20
+ type TabsProps = {
21
+ label: string;
22
+ value?: string;
23
+ };
24
+ type DatatableFilter = {
25
+ label: string;
26
+ value: string | number;
27
+ };
28
+ type DatatableProps = {
29
+ rows: DataTableDefaultRow[];
30
+ columns: ColumnType[];
31
+ tabs?: TabsProps[];
32
+ defaultActiveTab?: string;
33
+ rowAction?: (props: {
34
+ row: DataTableDefaultRow | null;
35
+ state: State;
36
+ }) => RowActionType[];
37
+ renderRow?: (row: DataTableDefaultRow, state: State) => DataTableDefaultRow;
38
+ disableRow?: (row: DataTableDefaultRow, state: State) => boolean | void;
39
+ totalCount?: number;
40
+ page?: number;
41
+ perpages?: number[];
42
+ getState?: (state: State) => void;
43
+ onSearch?: (text: string, state: State) => void;
44
+ onTabChange?: (tab: string, state: State) => void;
45
+ filters?: {
46
+ [key: string]: DatatableFilter[];
47
+ };
48
+ fixedHeader?: boolean;
49
+ disablePagination?: boolean;
50
+ disableSearch?: boolean;
51
+ disableSelect?: boolean;
52
+ slotProps?: {
53
+ search?: Omit<InputProps, "value" | "onChange">;
54
+ table?: Omit<TableProps, 'children'>;
55
+ pagination?: TablePaginationProps;
56
+ };
57
+ };
58
+ type State = {
59
+ selectedIds: number[];
60
+ selectAll: boolean;
61
+ paginationState: {
62
+ page: number;
63
+ perpage: number;
64
+ };
65
+ activeTab: string;
66
+ search: string;
67
+ };
68
+ declare const DataTable: React.ForwardRefExoticComponent<DatatableProps & React.RefAttributes<HTMLDivElement>>;
69
+
70
+ export { DataTable as default };
71
+ export type { ColumnType, DataTableDefaultRow, DatatableFilter, DatatableProps, RowActionType, State, TabsProps };
@@ -0,0 +1,35 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),React=require('react'),index=require('../ViewBox/index.js'),core=require('@xanui/core'),SelectedBox=require('./SelectedBox.js'),Table=require('./Table.js'),FilterBox=require('./FilterBox.js'),index$2=require('../TablePagination/index.js'),index$1=require('../Stack/index.js');const DataTable = React.forwardRef((props, ref) => {
2
+ let [_props] = core.useInterface("Datatable", props, {});
3
+ let { rows, tabs, defaultActiveTab, totalCount, page, perpages, getState, fixedHeader, disablePagination, slotProps, } = _props;
4
+ const [state, setState] = React.useState({
5
+ selectedIds: [],
6
+ selectAll: false,
7
+ paginationState: {
8
+ page: page || 1,
9
+ perpage: perpages ? perpages[0] : 30
10
+ },
11
+ activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : "",
12
+ search: ""
13
+ });
14
+ const update = (s) => {
15
+ setState(o => {
16
+ let ns = Object.assign(Object.assign({}, o), s);
17
+ getState && getState(ns);
18
+ return ns;
19
+ });
20
+ };
21
+ return (jsxRuntime.jsxs(index.default, Object.assign({ baseClass: 'datatable', ref: ref, height: "100%", sx: {
22
+ '& thead': fixedHeader ? {
23
+ position: "sticky",
24
+ top: 0,
25
+ bgcolor: "background.primary",
26
+ zIndex: 1
27
+ } : {},
28
+ }, startContent: (jsxRuntime.jsxs(core.Tag, Object.assign({ baseClass: 'datatable-header', sxr: {
29
+ display: "flex",
30
+ flexDirection: "row",
31
+ justifyContent: "space-between"
32
+ } }, { children: [jsxRuntime.jsx(SelectedBox.default, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(FilterBox.default, Object.assign({}, _props, { update: update, state: state }))] }))) }, { children: [jsxRuntime.jsx(Table.default, Object.assign({}, _props, { update: update, state: state })), jsxRuntime.jsx(index$1.default, Object.assign({ p: 1, alignItems: "flex-end" }, { children: !disablePagination && jsxRuntime.jsx(index$2.default, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.pagination, { total: totalCount || rows.length, page: state.paginationState.page, perpages: perpages, onChange: (state) => {
33
+ update({ paginationState: state });
34
+ } })) }))] })));
35
+ });exports.default=DataTable;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\nimport React, { ReactElement, useState } from 'react'\nimport { TableColumnProps } from '../TableCell'\nimport { IconButtonProps } from '../IconButton'\nimport { InputProps } from '../Input'\nimport ViewBox from '../ViewBox'\nimport { Tag, useInterface } from '@xanui/core';\nimport SelectedBox from './SelectedBox'\nimport TableArea from './Table'\nimport FilterBox from './FilterBox'\nimport TablePagination, { TablePaginationProps } from '../TablePagination'\nimport Stack from '../Stack'\nimport { TableProps } from '../Table'\n\n\nexport type ColumnType = (Omit<TableColumnProps, \"children\"> & { label: string, field?: string })\nexport type DataTableDefaultRow = { id?: number, [key: string | number]: any }\nexport type RowActionType = Omit<IconButtonProps, \"children\"> & {\n label: string;\n icon: ReactElement;\n}\nexport type TabsProps = {\n label: string;\n value?: string\n}\nexport type DatatableFilter = {\n label: string;\n value: string | number\n}\n\nexport type DatatableProps = {\n rows: DataTableDefaultRow[];\n columns: ColumnType[];\n tabs?: TabsProps[];\n defaultActiveTab?: string;\n rowAction?: (props: { row: DataTableDefaultRow | null, state: State }) => RowActionType[];\n renderRow?: (row: DataTableDefaultRow, state: State) => DataTableDefaultRow;\n disableRow?: (row: DataTableDefaultRow, state: State) => boolean | void;\n totalCount?: number;\n page?: number;\n perpages?: number[];\n getState?: (state: State) => void;\n onSearch?: (text: string, state: State) => void;\n onTabChange?: (tab: string, state: State) => void;\n filters?: { [key: string]: DatatableFilter[] }\n fixedHeader?: boolean;\n disablePagination?: boolean;\n disableSearch?: boolean;\n disableSelect?: boolean;\n slotProps?: {\n search?: Omit<InputProps, \"value\" | \"onChange\">;\n table?: Omit<TableProps, 'children'>;\n pagination?: TablePaginationProps;\n }\n}\n\nexport type State = {\n selectedIds: number[];\n selectAll: boolean;\n paginationState: {\n page: number,\n perpage: number\n },\n activeTab: string;\n search: string;\n}\n\nexport type DatatablePropsWithState = DatatableProps & {\n state: State,\n update: (state: Partial<State>) => void;\n}\n\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\n let [_props] = useInterface<any>(\"Datatable\", props, {})\n let {\n rows,\n tabs,\n defaultActiveTab,\n totalCount,\n page,\n perpages,\n getState,\n\n fixedHeader,\n disablePagination,\n slotProps,\n } = _props\n\n const [state, setState] = useState<State>({\n selectedIds: [],\n selectAll: false,\n paginationState: {\n page: page || 1,\n perpage: perpages ? perpages[0] : 30\n },\n activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\n search: \"\"\n })\n\n const update = (s: Partial<State>) => {\n setState(o => {\n let ns = { ...o, ...s }\n getState && getState(ns)\n return ns\n })\n }\n\n return (\n <ViewBox\n baseClass='datatable'\n ref={ref as any}\n height=\"100%\"\n 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 {!disablePagination && <TablePagination\n {...slotProps?.pagination}\n total={totalCount || rows.length}\n page={state.paginationState.page}\n perpages={perpages}\n onChange={(state: any) => {\n update({ paginationState: state })\n }}\n />}\n </Stack>\n </ViewBox>\n )\n})\n\nexport default DataTable"],"names":["useInterface","useState","_jsxs","ViewBox","Tag","_jsx","SelectedBox","FilterBox","TableArea","Stack","TablePagination"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import {jsxs,jsx}from'react/jsx-runtime';import React,{useState}from'react';import ViewBox from'../ViewBox/index.mjs';import {useInterface,Tag}from'@xanui/core';import SelectedBox from'./SelectedBox.mjs';import TableArea from'./Table.mjs';import FilterBox from'./FilterBox.mjs';import TablePagination from'../TablePagination/index.mjs';import Stack from'../Stack/index.mjs';const DataTable = React.forwardRef((props, ref) => {
2
+ let [_props] = useInterface("Datatable", props, {});
3
+ let { rows, tabs, defaultActiveTab, totalCount, page, perpages, getState, fixedHeader, disablePagination, slotProps, } = _props;
4
+ const [state, setState] = useState({
5
+ selectedIds: [],
6
+ selectAll: false,
7
+ paginationState: {
8
+ page: page || 1,
9
+ perpage: perpages ? perpages[0] : 30
10
+ },
11
+ activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : "",
12
+ search: ""
13
+ });
14
+ const update = (s) => {
15
+ setState(o => {
16
+ let ns = Object.assign(Object.assign({}, o), s);
17
+ getState && getState(ns);
18
+ return ns;
19
+ });
20
+ };
21
+ return (jsxs(ViewBox, Object.assign({ baseClass: 'datatable', ref: ref, height: "100%", sx: {
22
+ '& thead': fixedHeader ? {
23
+ position: "sticky",
24
+ top: 0,
25
+ bgcolor: "background.primary",
26
+ zIndex: 1
27
+ } : {},
28
+ }, startContent: (jsxs(Tag, Object.assign({ baseClass: 'datatable-header', sxr: {
29
+ display: "flex",
30
+ flexDirection: "row",
31
+ justifyContent: "space-between"
32
+ } }, { children: [jsx(SelectedBox, Object.assign({}, _props, { update: update, state: state })), jsx(FilterBox, Object.assign({}, _props, { update: update, state: state }))] }))) }, { children: [jsx(TableArea, Object.assign({}, _props, { update: update, state: state })), jsx(Stack, Object.assign({ p: 1, alignItems: "flex-end" }, { children: !disablePagination && jsx(TablePagination, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.pagination, { total: totalCount || rows.length, page: state.paginationState.page, perpages: perpages, onChange: (state) => {
33
+ update({ paginationState: state });
34
+ } })) }))] })));
35
+ });export{DataTable as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Datatable/index.tsx"],"sourcesContent":["\nimport React, { ReactElement, useState } from 'react'\nimport { TableColumnProps } from '../TableCell'\nimport { IconButtonProps } from '../IconButton'\nimport { InputProps } from '../Input'\nimport ViewBox from '../ViewBox'\nimport { Tag, useInterface } from '@xanui/core';\nimport SelectedBox from './SelectedBox'\nimport TableArea from './Table'\nimport FilterBox from './FilterBox'\nimport TablePagination, { TablePaginationProps } from '../TablePagination'\nimport Stack from '../Stack'\nimport { TableProps } from '../Table'\n\n\nexport type ColumnType = (Omit<TableColumnProps, \"children\"> & { label: string, field?: string })\nexport type DataTableDefaultRow = { id?: number, [key: string | number]: any }\nexport type RowActionType = Omit<IconButtonProps, \"children\"> & {\n label: string;\n icon: ReactElement;\n}\nexport type TabsProps = {\n label: string;\n value?: string\n}\nexport type DatatableFilter = {\n label: string;\n value: string | number\n}\n\nexport type DatatableProps = {\n rows: DataTableDefaultRow[];\n columns: ColumnType[];\n tabs?: TabsProps[];\n defaultActiveTab?: string;\n rowAction?: (props: { row: DataTableDefaultRow | null, state: State }) => RowActionType[];\n renderRow?: (row: DataTableDefaultRow, state: State) => DataTableDefaultRow;\n disableRow?: (row: DataTableDefaultRow, state: State) => boolean | void;\n totalCount?: number;\n page?: number;\n perpages?: number[];\n getState?: (state: State) => void;\n onSearch?: (text: string, state: State) => void;\n onTabChange?: (tab: string, state: State) => void;\n filters?: { [key: string]: DatatableFilter[] }\n fixedHeader?: boolean;\n disablePagination?: boolean;\n disableSearch?: boolean;\n disableSelect?: boolean;\n slotProps?: {\n search?: Omit<InputProps, \"value\" | \"onChange\">;\n table?: Omit<TableProps, 'children'>;\n pagination?: TablePaginationProps;\n }\n}\n\nexport type State = {\n selectedIds: number[];\n selectAll: boolean;\n paginationState: {\n page: number,\n perpage: number\n },\n activeTab: string;\n search: string;\n}\n\nexport type DatatablePropsWithState = DatatableProps & {\n state: State,\n update: (state: Partial<State>) => void;\n}\n\nconst DataTable = React.forwardRef((props: DatatableProps, ref: React.Ref<HTMLDivElement>) => {\n let [_props] = useInterface<any>(\"Datatable\", props, {})\n let {\n rows,\n tabs,\n defaultActiveTab,\n totalCount,\n page,\n perpages,\n getState,\n\n fixedHeader,\n disablePagination,\n slotProps,\n } = _props\n\n const [state, setState] = useState<State>({\n selectedIds: [],\n selectAll: false,\n paginationState: {\n page: page || 1,\n perpage: perpages ? perpages[0] : 30\n },\n activeTab: tabs ? (defaultActiveTab || tabs[0].value || tabs[0].label.toLowerCase()) : \"\",\n search: \"\"\n })\n\n const update = (s: Partial<State>) => {\n setState(o => {\n let ns = { ...o, ...s }\n getState && getState(ns)\n return ns\n })\n }\n\n return (\n <ViewBox\n baseClass='datatable'\n ref={ref as any}\n height=\"100%\"\n 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 {!disablePagination && <TablePagination\n {...slotProps?.pagination}\n total={totalCount || rows.length}\n page={state.paginationState.page}\n perpages={perpages}\n onChange={(state: any) => {\n update({ paginationState: state })\n }}\n />}\n </Stack>\n </ViewBox>\n )\n})\n\nexport default DataTable"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { TagComponentType, TagProps, useBreakpointPropsType, ColorTemplateColors } from '@xanui/core';
3
+
4
+ type DividerProps<T extends TagComponentType = "div"> = Omit<TagProps<T>, "color"> & {
5
+ direction?: useBreakpointPropsType<"verticle" | "horizental">;
6
+ color?: useBreakpointPropsType<ColorTemplateColors>;
7
+ size?: useBreakpointPropsType<number>;
8
+ };
9
+ declare const Divider: React.ForwardRefExoticComponent<Omit<DividerProps<TagComponentType>, "ref"> & React.RefAttributes<any>>;
10
+
11
+ export { Divider as default };
12
+ export type { DividerProps };
@@ -0,0 +1,21 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core');const Divider = React.forwardRef((_a, ref) => {
2
+ var _b, _c, _d;
3
+ var { children, direction, color, size } = _a, rest = tslib.__rest(_a, ["children", "direction", "color", "size"]);
4
+ const _p = {};
5
+ if (direction)
6
+ _p.direction = direction;
7
+ if (color)
8
+ _p.color = color;
9
+ if (size)
10
+ _p.size = size;
11
+ const p = core.useBreakpointProps(_p);
12
+ direction = (_b = p.direction) !== null && _b !== void 0 ? _b : "horizental";
13
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : "default";
14
+ size = (_d = p.size) !== null && _d !== void 0 ? _d : 1;
15
+ let isHori = direction === 'horizental';
16
+ return (jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { baseClass: 'divider', sxr: {
17
+ width: isHori ? "100%" : size,
18
+ height: isHori ? size : "100%",
19
+ bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,
20
+ }, ref: ref }, { children: children })));
21
+ });exports.default=Divider;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Divider/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, ColorTemplateColors, 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<ColorTemplateColors>;\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":"4LAWA,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,gBACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React from'react';import {useBreakpointProps,Tag}from'@xanui/core';const Divider = React.forwardRef((_a, ref) => {
2
+ var _b, _c, _d;
3
+ var { children, direction, color, size } = _a, rest = __rest(_a, ["children", "direction", "color", "size"]);
4
+ const _p = {};
5
+ if (direction)
6
+ _p.direction = direction;
7
+ if (color)
8
+ _p.color = color;
9
+ if (size)
10
+ _p.size = size;
11
+ const p = useBreakpointProps(_p);
12
+ direction = (_b = p.direction) !== null && _b !== void 0 ? _b : "horizental";
13
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : "default";
14
+ size = (_d = p.size) !== null && _d !== void 0 ? _d : 1;
15
+ let isHori = direction === 'horizental';
16
+ return (jsx(Tag, Object.assign({}, rest, { baseClass: 'divider', sxr: {
17
+ width: isHori ? "100%" : size,
18
+ height: isHori ? size : "100%",
19
+ bgcolor: color === 'default' ? `background.secondary` : `${color}.secondary`,
20
+ }, ref: ref }, { children: children })));
21
+ });export{Divider as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Divider/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, ColorTemplateColors, 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<ColorTemplateColors>;\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":"yIAWA,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,gBACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, ReactElement } from 'react';
3
+ import { TagProps, useBreakpointPropsType } from '@xanui/core';
4
+ import { LayerProps } from '../Layer/index.js';
5
+
6
+ type DrawerChildrenType = ReactNode | ReactElement | string;
7
+ type DrawerProps = Omit<TagProps, "children" | "size"> & {
8
+ children?: DrawerChildrenType;
9
+ placement?: useBreakpointPropsType<"left" | "right" | "bottom" | "top">;
10
+ open?: boolean;
11
+ size?: useBreakpointPropsType<number | "small" | "medium" | "large">;
12
+ onClickOutside?: () => void;
13
+ slotProps?: {
14
+ root?: TagProps<"div">;
15
+ layer?: Omit<LayerProps, 'id' | 'children' | 'open' | 'transition'>;
16
+ };
17
+ };
18
+ declare const Drawer: {
19
+ ({ children, open, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
20
+ open(content: DrawerChildrenType, props?: Omit<DrawerProps, "children" | "open">): void;
21
+ close(): void;
22
+ };
23
+
24
+ export { Drawer as default };
25
+ export type { DrawerChildrenType, DrawerProps };
@@ -0,0 +1,57 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),core=require('@xanui/core'),index=require('../Layer/index.js'),index$1=require('../ClickOutside/index.js');const MainView = (_a) => {
2
+ var _b;
3
+ var { children, placement, open, size, slotProps, onClickOutside } = _a, rest = tslib.__rest(_a, ["children", "placement", "open", "size", "slotProps", "onClickOutside"]);
4
+ const _p = {};
5
+ if (placement)
6
+ _p.placement = placement;
7
+ if (size)
8
+ _p.size = size;
9
+ const p = core.useBreakpointProps(_p);
10
+ placement = (_b = p.placement) !== null && _b !== void 0 ? _b : 'left';
11
+ size = p.size || "medium";
12
+ let isSide = placement === 'left' || placement === 'right';
13
+ let sizes = {
14
+ small: 200,
15
+ medium: 300,
16
+ large: 400
17
+ };
18
+ let _size = sizes[size] || size;
19
+ return (jsxRuntime.jsx(core.Tag, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root, { baseClass: 'drawer', sxr: {
20
+ width: "100%",
21
+ height: "100%",
22
+ display: "flex",
23
+ direction: isSide ? "row" : "column",
24
+ justifyContent: placement === 'left' || placement === 'top' ? "flex-start" : "flex-end"
25
+ } }, { children: jsxRuntime.jsx(index$1.default, Object.assign({ onClickOutside: onClickOutside || (() => { }) }, { children: jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { sxr: {
26
+ width: isSide ? _size : "100%",
27
+ height: isSide ? "100%" : _size,
28
+ bgcolor: "background.primary",
29
+ shadow: 10
30
+ }, baseClass: 'drawer-content' }, { children: children })) })) })));
31
+ };
32
+ let drawerId = "_" + Math.random().toString(32).substring(2);
33
+ const getVariant = (placement) => {
34
+ switch (placement) {
35
+ case "right":
36
+ return "fadeLeft";
37
+ case "top":
38
+ return "fadeDown";
39
+ case "bottom":
40
+ return "fadeUp";
41
+ default:
42
+ return "fadeRight";
43
+ }
44
+ };
45
+ const Drawer = (_a) => {
46
+ var _b;
47
+ var { children, open } = _a, rest = tslib.__rest(_a, ["children", "open"]);
48
+ return (jsxRuntime.jsx(index.default, Object.assign({}, (_b = rest === null || rest === void 0 ? void 0 : rest.slotProps) === null || _b === void 0 ? void 0 : _b.layer, { open: open !== null && open !== void 0 ? open : true, transition: getVariant(rest.placement) }, { children: jsxRuntime.jsx(MainView, Object.assign({}, rest, { open: true }, { children: children })) })));
49
+ };
50
+ Drawer.open = (content, props) => {
51
+ let { placement, slotProps } = props || {};
52
+ placement !== null && placement !== void 0 ? placement : (placement = 'left');
53
+ index.default.open(drawerId, jsxRuntime.jsx(MainView, Object.assign({ onClickOutside: () => index.default.close(drawerId) }, props, { open: true }, { children: content })), Object.assign(Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.layer), { transition: getVariant(placement) }));
54
+ };
55
+ Drawer.close = () => {
56
+ index.default.close(drawerId);
57
+ };exports.default=Drawer;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\nimport { ReactElement, ReactNode } from 'react';\nimport { Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Layer, { LayerProps } from '../Layer';\nimport ClickOutside from '../ClickOutside';\n\n\nexport type DrawerChildrenType = ReactNode | ReactElement | string\n\nexport type DrawerProps = Omit<TagProps, \"children\" | \"size\"> & {\n children?: DrawerChildrenType;\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\n open?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n onClickOutside?: () => void;\n slotProps?: {\n root?: TagProps<\"div\">;\n layer?: Omit<LayerProps, 'id' | 'children' | 'open' | 'transition'>;\n }\n}\n\nconst MainView = ({ children, placement, open, size, slotProps, onClickOutside, ...rest }: 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: 200,\n medium: 300,\n large: 400\n }\n\n let _size = sizes[size as any] || size\n\n return (\n <Tag\n {...slotProps?.root}\n baseClass='drawer'\n sxr={{\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n direction: isSide ? \"row\" : \"column\" as any,\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\n }}\n >\n <ClickOutside onClickOutside={onClickOutside || (() => { })}>\n <Tag\n {...rest}\n sxr={{\n width: isSide ? _size : \"100%\",\n height: isSide ? \"100%\" : _size,\n bgcolor: \"background.primary\",\n shadow: 10\n }}\n baseClass='drawer-content'\n >\n {children}\n </Tag>\n </ClickOutside>\n </Tag>\n )\n}\n\nlet drawerId = \"_\" + Math.random().toString(32).substring(2)\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, open, ...rest }: DrawerProps) => {\n return (\n <Layer\n {...rest?.slotProps?.layer}\n open={open ?? true}\n transition={getVariant(rest.placement)}\n >\n <MainView {...rest} open={true}>{children}</MainView>\n </Layer>\n )\n}\n\n\nDrawer.open = (content: DrawerChildrenType, props?: Omit<DrawerProps, \"children\" | \"open\">) => {\n let { placement, slotProps } = props || {}\n placement ??= 'left'\n Layer.open(drawerId, <MainView\n onClickOutside={() => Layer.close(drawerId)}\n {...props}\n open={true}\n >{content}</MainView>, {\n ...slotProps?.layer,\n transition: getVariant(placement)\n })\n}\n\nDrawer.close = () => {\n Layer.close(drawerId)\n}\n\nexport default Drawer"],"names":["__rest","useBreakpointProps","_jsx","Tag","ClickOutside","Layer"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import {useBreakpointProps,Tag}from'@xanui/core';import Layer from'../Layer/index.mjs';import ClickOutside from'../ClickOutside/index.mjs';const MainView = (_a) => {
2
+ var _b;
3
+ var { children, placement, open, size, slotProps, onClickOutside } = _a, rest = __rest(_a, ["children", "placement", "open", "size", "slotProps", "onClickOutside"]);
4
+ const _p = {};
5
+ if (placement)
6
+ _p.placement = placement;
7
+ if (size)
8
+ _p.size = size;
9
+ const p = useBreakpointProps(_p);
10
+ placement = (_b = p.placement) !== null && _b !== void 0 ? _b : 'left';
11
+ size = p.size || "medium";
12
+ let isSide = placement === 'left' || placement === 'right';
13
+ let sizes = {
14
+ small: 200,
15
+ medium: 300,
16
+ large: 400
17
+ };
18
+ let _size = sizes[size] || size;
19
+ return (jsx(Tag, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root, { baseClass: 'drawer', sxr: {
20
+ width: "100%",
21
+ height: "100%",
22
+ display: "flex",
23
+ direction: isSide ? "row" : "column",
24
+ justifyContent: placement === 'left' || placement === 'top' ? "flex-start" : "flex-end"
25
+ } }, { children: jsx(ClickOutside, Object.assign({ onClickOutside: onClickOutside || (() => { }) }, { children: jsx(Tag, Object.assign({}, rest, { sxr: {
26
+ width: isSide ? _size : "100%",
27
+ height: isSide ? "100%" : _size,
28
+ bgcolor: "background.primary",
29
+ shadow: 10
30
+ }, baseClass: 'drawer-content' }, { children: children })) })) })));
31
+ };
32
+ let drawerId = "_" + Math.random().toString(32).substring(2);
33
+ const getVariant = (placement) => {
34
+ switch (placement) {
35
+ case "right":
36
+ return "fadeLeft";
37
+ case "top":
38
+ return "fadeDown";
39
+ case "bottom":
40
+ return "fadeUp";
41
+ default:
42
+ return "fadeRight";
43
+ }
44
+ };
45
+ const Drawer = (_a) => {
46
+ var _b;
47
+ var { children, open } = _a, rest = __rest(_a, ["children", "open"]);
48
+ return (jsx(Layer, Object.assign({}, (_b = rest === null || rest === void 0 ? void 0 : rest.slotProps) === null || _b === void 0 ? void 0 : _b.layer, { open: open !== null && open !== void 0 ? open : true, transition: getVariant(rest.placement) }, { children: jsx(MainView, Object.assign({}, rest, { open: true }, { children: children })) })));
49
+ };
50
+ Drawer.open = (content, props) => {
51
+ let { placement, slotProps } = props || {};
52
+ placement !== null && placement !== void 0 ? placement : (placement = 'left');
53
+ Layer.open(drawerId, jsx(MainView, Object.assign({ onClickOutside: () => Layer.close(drawerId) }, props, { open: true }, { children: content })), Object.assign(Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.layer), { transition: getVariant(placement) }));
54
+ };
55
+ Drawer.close = () => {
56
+ Layer.close(drawerId);
57
+ };export{Drawer as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Drawer/index.tsx"],"sourcesContent":["\nimport { ReactElement, ReactNode } from 'react';\nimport { Tag, TagProps, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Layer, { LayerProps } from '../Layer';\nimport ClickOutside from '../ClickOutside';\n\n\nexport type DrawerChildrenType = ReactNode | ReactElement | string\n\nexport type DrawerProps = Omit<TagProps, \"children\" | \"size\"> & {\n children?: DrawerChildrenType;\n placement?: useBreakpointPropsType<\"left\" | \"right\" | \"bottom\" | \"top\">;\n open?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n onClickOutside?: () => void;\n slotProps?: {\n root?: TagProps<\"div\">;\n layer?: Omit<LayerProps, 'id' | 'children' | 'open' | 'transition'>;\n }\n}\n\nconst MainView = ({ children, placement, open, size, slotProps, onClickOutside, ...rest }: 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: 200,\n medium: 300,\n large: 400\n }\n\n let _size = sizes[size as any] || size\n\n return (\n <Tag\n {...slotProps?.root}\n baseClass='drawer'\n sxr={{\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n direction: isSide ? \"row\" : \"column\" as any,\n justifyContent: placement === 'left' || placement === 'top' ? \"flex-start\" : \"flex-end\"\n }}\n >\n <ClickOutside onClickOutside={onClickOutside || (() => { })}>\n <Tag\n {...rest}\n sxr={{\n width: isSide ? _size : \"100%\",\n height: isSide ? \"100%\" : _size,\n bgcolor: \"background.primary\",\n shadow: 10\n }}\n baseClass='drawer-content'\n >\n {children}\n </Tag>\n </ClickOutside>\n </Tag>\n )\n}\n\nlet drawerId = \"_\" + Math.random().toString(32).substring(2)\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, open, ...rest }: DrawerProps) => {\n return (\n <Layer\n {...rest?.slotProps?.layer}\n open={open ?? true}\n transition={getVariant(rest.placement)}\n >\n <MainView {...rest} open={true}>{children}</MainView>\n </Layer>\n )\n}\n\n\nDrawer.open = (content: DrawerChildrenType, props?: Omit<DrawerProps, \"children\" | \"open\">) => {\n let { placement, slotProps } = props || {}\n placement ??= 'left'\n Layer.open(drawerId, <MainView\n onClickOutside={() => Layer.close(drawerId)}\n {...props}\n open={true}\n >{content}</MainView>, {\n ...slotProps?.layer,\n transition: getVariant(placement)\n })\n}\n\nDrawer.close = () => {\n Layer.close(drawerId)\n}\n\nexport default Drawer"],"names":["_jsx"],"mappings":"0MAqBA,MAAM,QAAQ,GAAG,CAAC,EAAoF,KAAI;;AAAxF,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAA,GAAA,EAAwB,EAAnB,IAAI,GAAA,MAAA,CAAA,EAAA,EAArE,wEAAuE,CAAF;IACnF,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,SAAS;AAAE,QAAA,EAAE,CAAC,SAAS,GAAG,SAAS;AACvC,IAAA,IAAI,IAAI;AAAE,QAAA,EAAE,CAAC,IAAI,GAAG,IAAI;AACxB,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AAErC,IAAA,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;AACjC,IAAA,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,QAAQ;IAEzB,IAAI,MAAM,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;AAC1D,IAAA,IAAI,KAAK,GAAQ;AACb,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,KAAK,EAAE;KACV;IAED,IAAI,KAAK,GAAG,KAAK,CAAC,IAAW,CAAC,IAAI,IAAI;AAEtC,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,IAAI,EAAA,EACnB,SAAS,EAAC,QAAQ,EAClB,GAAG,EAAE;AACD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,QAAe;AAC3C,YAAA,cAAc,EAAE,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,GAAG,YAAY,GAAG;SAChF,EAAA,EAAA,EAAA,QAAA,EAEDA,GAAA,CAAC,YAAY,EAAA,MAAA,CAAA,MAAA,CAAA,EAAC,cAAc,EAAE,cAAc,KAAK,QAAQ,CAAC,CAAC,gBACvDA,GAAA,CAAC,GAAG,oBACI,IAAI,EAAA,EACR,GAAG,EAAE;oBACD,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM;oBAC9B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK;AAC/B,oBAAA,OAAO,EAAE,oBAAoB;AAC7B,oBAAA,MAAM,EAAE;iBACX,EACD,SAAS,EAAC,gBAAgB,EAAA,EAAA,EAAA,QAAA,EAEzB,QAAQ,EAAA,CAAA,CACP,EAAA,CAAA,CACK,EAAA,CAAA,CACb;AAEd,CAAC;AAED,IAAI,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,GAAG,CAAC,SAAe,KAAI;AACnC,IAAA,QAAQ,SAAS;AACb,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,UAAU;AACrB,QAAA,KAAK,KAAK;AACN,YAAA,OAAO,UAAU;AACrB,QAAA,KAAK,QAAQ;AACT,YAAA,OAAO,QAAQ;AACnB,QAAA;AACI,YAAA,OAAO,WAAW;AACzB;AACL,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,EAAwC,KAAI;;QAA5C,EAAE,QAAQ,EAAE,IAAI,EAAA,GAAA,EAAwB,EAAnB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAzB,oBAA2B,CAAF;IACrC,QACIA,IAAC,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACE,MAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,EAAA,EAC1B,IAAI,EAAE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAJ,IAAI,GAAI,IAAI,EAClB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA,EAAA,EAAA,QAAA,EAEtCA,GAAA,CAAC,QAAQ,oBAAK,IAAI,EAAA,EAAE,IAAI,EAAE,IAAI,gBAAG,QAAQ,EAAA,CAAA,CAAY,EAAA,CAAA,CACjD;AAEhB;AAGA,MAAM,CAAC,IAAI,GAAG,CAAC,OAA2B,EAAE,KAA8C,KAAI;IAC1F,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,IAAI,EAAE;IAC1C,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAT,SAAS,IAAT,SAAS,GAAK,MAAM,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAEA,GAAA,CAAC,QAAQ,kBAC1B,cAAc,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IACvC,KAAK,EAAA,EACT,IAAI,EAAE,IAAI,gBACZ,OAAO,EAAA,CAAA,CAAY,kCACd,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,KAAK,CAAA,EAAA,EACnB,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,IACnC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,GAAG,MAAK;AAChB,IAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;AACzB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { TagComponentType, TagProps } from '@xanui/core';
3
+
4
+ type FormProps<T extends TagComponentType = "form"> = TagProps<T> & {};
5
+ declare const Form: React.ForwardRefExoticComponent<Omit<FormProps<TagComponentType>, "ref"> & React.RefAttributes<any>>;
6
+
7
+ export { Form as default };
8
+ export type { FormProps };
package/Form/index.js ADDED
@@ -0,0 +1,34 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core');const Form = React.forwardRef((_a, ref) => {
2
+ var { children } = _a, rest = tslib.__rest(_a, ["children"]);
3
+ let formRef = ref || React.useRef(null);
4
+ const cloneAllChildren = (childs) => {
5
+ return React.Children.map(childs, (child) => {
6
+ let c = child;
7
+ if (React.isValidElement(child) && c.props.name) {
8
+ const form = formRef.current;
9
+ const formData = new FormData(form);
10
+ return React.cloneElement(child, {
11
+ onChange: () => {
12
+ console.log(formData.get(c.props.name));
13
+ },
14
+ value: formData.get(c.props.name),
15
+ children: cloneAllChildren(c.props.children),
16
+ });
17
+ }
18
+ return child;
19
+ });
20
+ };
21
+ return (jsxRuntime.jsx(core.Tag, Object.assign({ component: "form" }, rest, { onSubmit: (e) => {
22
+ e.preventDefault();
23
+ const form = formRef.current;
24
+ const formData = new FormData(form);
25
+ formData.forEach((value, key) => {
26
+ console.log(key + ": " + value);
27
+ });
28
+ }, sxr: {
29
+ bgcolor: "default",
30
+ p: 2,
31
+ maxWidth: 400,
32
+ radius: 1,
33
+ }, baseClass: 'form', ref: formRef }, { children: cloneAllChildren(children) })));
34
+ });exports.default=Form;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Form/index.tsx"],"sourcesContent":["\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":["__rest","useRef","_jsx","Tag"],"mappings":"4LASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAsC,EAAmC,EAAE,GAAmB,KAAI;AAA5D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAyB,EAApB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACnF,IAAI,OAAO,GAAQ,GAAG,IAAIC,YAAM,CAAC,IAAI,CAAC;AAEtC,IAAA,MAAM,gBAAgB,GAAQ,CAAC,MAAW,KAAI;QAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAU,KAAI;YAC7C,IAAI,CAAC,GAAQ,KAAK;AAClB,YAAA,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;AAC7C,gBAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;AAC5B,gBAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;AACnC,gBAAA,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;oBAC7B,QAAQ,EAAE,MAAK;AACX,wBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3C,CAAC;oBACD,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AACxC,iBAAA,CAAC;AACZ,YAAA;AACD,YAAA,OAAO,KAAK;AAChB,QAAA,CAAC,CAAC;AACN,IAAA,CAAC;AAED,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAC,MAAM,EAAA,EACZ,IAAI,IACR,QAAQ,EAAE,CAAC,CAAC,KAAI;YACZ,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;AAE5B,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;YAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;AACnC,YAAA,CAAC,CAAC;QACN,CAAC,EACD,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,MAAM,EAAE,CAAC;AACZ,SAAA,EACD,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,OAAO,EAAA,EAAA,EAAA,QAAA,EAEX,gBAAgB,CAAC,QAAQ,CAAC,EAAA,CAAA,CACzB;AAEd,CAAC"}
package/Form/index.mjs ADDED
@@ -0,0 +1,34 @@
1
+ import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React,{useRef}from'react';import {Tag}from'@xanui/core';const Form = React.forwardRef((_a, ref) => {
2
+ var { children } = _a, rest = __rest(_a, ["children"]);
3
+ let formRef = ref || useRef(null);
4
+ const cloneAllChildren = (childs) => {
5
+ return React.Children.map(childs, (child) => {
6
+ let c = child;
7
+ if (React.isValidElement(child) && c.props.name) {
8
+ const form = formRef.current;
9
+ const formData = new FormData(form);
10
+ return React.cloneElement(child, {
11
+ onChange: () => {
12
+ console.log(formData.get(c.props.name));
13
+ },
14
+ value: formData.get(c.props.name),
15
+ children: cloneAllChildren(c.props.children),
16
+ });
17
+ }
18
+ return child;
19
+ });
20
+ };
21
+ return (jsx(Tag, Object.assign({ component: "form" }, rest, { onSubmit: (e) => {
22
+ e.preventDefault();
23
+ const form = formRef.current;
24
+ const formData = new FormData(form);
25
+ formData.forEach((value, key) => {
26
+ console.log(key + ": " + value);
27
+ });
28
+ }, sxr: {
29
+ bgcolor: "default",
30
+ p: 2,
31
+ maxWidth: 400,
32
+ radius: 1,
33
+ }, baseClass: 'form', ref: formRef }, { children: cloneAllChildren(children) })));
34
+ });export{Form as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Form/index.tsx"],"sourcesContent":["\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":["_jsx"],"mappings":"8HASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAsC,EAAmC,EAAE,GAAmB,KAAI;AAA5D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAyB,EAApB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACnF,IAAI,OAAO,GAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;AAEtC,IAAA,MAAM,gBAAgB,GAAQ,CAAC,MAAW,KAAI;QAC1C,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAU,KAAI;YAC7C,IAAI,CAAC,GAAQ,KAAK;AAClB,YAAA,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;AAC7C,gBAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;AAC5B,gBAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;AACnC,gBAAA,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;oBAC7B,QAAQ,EAAE,MAAK;AACX,wBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3C,CAAC;oBACD,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AACxC,iBAAA,CAAC;AACZ,YAAA;AACD,YAAA,OAAO,KAAK;AAChB,QAAA,CAAC,CAAC;AACN,IAAA,CAAC;AAED,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAC,MAAM,EAAA,EACZ,IAAI,IACR,QAAQ,EAAE,CAAC,CAAC,KAAI;YACZ,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;AAE5B,YAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC;YAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;AACnC,YAAA,CAAC,CAAC;QACN,CAAC,EACD,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,MAAM,EAAE,CAAC;AACZ,SAAA,EACD,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,OAAO,EAAA,EAAA,EAAA,QAAA,EAEX,gBAAgB,CAAC,QAAQ,CAAC,EAAA,CAAA,CACzB;AAEd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { TagComponentType, TagProps } from '@xanui/core';
3
+
4
+ type GridContainerProps<T extends TagComponentType = "div"> = TagProps<T>;
5
+ declare const GridContainer: React.ForwardRefExoticComponent<Omit<GridContainerProps<TagComponentType>, "ref"> & React.RefAttributes<any>>;
6
+
7
+ export { GridContainer as default };
8
+ export type { GridContainerProps };
@@ -0,0 +1,9 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core');const GridContainer = React.forwardRef((_a, ref) => {
2
+ var { children } = _a, rest = tslib.__rest(_a, ["children"]);
3
+ return (jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { sxr: {
4
+ display: "flex",
5
+ flexDirection: 'row',
6
+ flexWrap: 'wrap',
7
+ width: '100%',
8
+ }, baseClass: 'grid-container', ref: ref }, { children: children })));
9
+ });exports.default=GridContainer;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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":["__rest","_jsx","Tag"],"mappings":"4LAKA,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,EAAA,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React from'react';import {Tag}from'@xanui/core';const GridContainer = React.forwardRef((_a, ref) => {
2
+ var { children } = _a, rest = __rest(_a, ["children"]);
3
+ return (jsx(Tag, Object.assign({}, rest, { sxr: {
4
+ display: "flex",
5
+ flexDirection: 'row',
6
+ flexWrap: 'wrap',
7
+ width: '100%',
8
+ }, baseClass: 'grid-container', ref: ref }, { children: children })));
9
+ });export{GridContainer as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","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":"sHAKA,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,EAAA,EAAA,QAAA,EAEP,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { TagComponentType, TagProps } from '@xanui/core';
3
+
4
+ type GridItemProps<T extends TagComponentType = "div"> = TagProps<T> & {
5
+ xs?: number;
6
+ sm?: number;
7
+ md?: number;
8
+ lg?: number;
9
+ xl?: number;
10
+ };
11
+ declare const GridItem: React.ForwardRefExoticComponent<Omit<GridItemProps<TagComponentType>, "ref"> & React.RefAttributes<any>>;
12
+
13
+ export { GridItem as default };
14
+ export type { GridItemProps };
@@ -0,0 +1,10 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),core=require('@xanui/core');const GridItem = React.forwardRef((_a, ref) => {
2
+ var { children, xs, sm, md, lg, xl } = _a, rest = tslib.__rest(_a, ["children", "xs", "sm", "md", "lg", "xl"]);
3
+ let w = {};
4
+ xs && (w.xs = (100 / 12 * xs) + "%");
5
+ sm && (w.sm = (100 / 12 * sm) + "%");
6
+ md && (w.md = (100 / 12 * md) + "%");
7
+ lg && (w.lg = (100 / 12 * lg) + "%");
8
+ xl && (w.xl = (100 / 12 * xl) + "%");
9
+ return (jsxRuntime.jsx(core.Tag, Object.assign({ ref: ref }, rest, { maxWidth: w, flexBasis: w, flexGrow: 0, baseClass: "grid-item" }, { children: children })));
10
+ });exports.default=GridItem;//# sourceMappingURL=index.js.map