@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
package/Tabs/index.js ADDED
@@ -0,0 +1,188 @@
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 getRect = (ele, parent) => {
2
+ const _rect = {};
3
+ const parentRect = parent.getBoundingClientRect();
4
+ const childRect = ele.getBoundingClientRect();
5
+ _rect.top = childRect.top - parentRect.top;
6
+ _rect.right = childRect.right - parentRect.right;
7
+ _rect.bottom = childRect.bottom - parentRect.bottom;
8
+ _rect.left = childRect.left - parentRect.left;
9
+ _rect.width = childRect.width;
10
+ _rect.height = childRect.height;
11
+ return _rect;
12
+ };
13
+ const Tabs = React.forwardRef((_a, ref) => {
14
+ var _b, _c, _d;
15
+ var { onChange, value, children } = _a, props = tslib.__rest(_a, ["onChange", "value", "children"]);
16
+ let [_e] = core.useInterface("Tabs", props, {}), { verticle, color, variant, indicatorSize, disableTransition, slotProps } = _e, rest = tslib.__rest(_e, ["verticle", "color", "variant", "indicatorSize", "disableTransition", "slotProps"]);
17
+ const _p = {};
18
+ if (variant)
19
+ _p.variant = variant;
20
+ if (color)
21
+ _p.color = color;
22
+ if (verticle)
23
+ _p.verticle = verticle;
24
+ if (disableTransition)
25
+ _p.disableTransition = disableTransition;
26
+ if (indicatorSize)
27
+ _p.indicatorSize = indicatorSize;
28
+ const p = core.useBreakpointProps(_p);
29
+ variant = (_b = p.variant) !== null && _b !== void 0 ? _b : "end-line";
30
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : "brand";
31
+ verticle = p.verticle;
32
+ disableTransition = p.disableTransition;
33
+ indicatorSize = (_d = p.indicatorSize) !== null && _d !== void 0 ? _d : 3;
34
+ ref = ref || React.useRef(null);
35
+ const containerRef = React.useRef(null);
36
+ const [trans, setTrans] = React.useState();
37
+ const { childs, selectedIndex } = React.useMemo(() => {
38
+ let info = {
39
+ childs: null,
40
+ selectedIndex: 0
41
+ };
42
+ info.childs = React.Children.map(children, (child, idx) => {
43
+ let selected = child.props.value === value;
44
+ if (selected) {
45
+ info.selectedIndex = idx;
46
+ }
47
+ let btnProps = {};
48
+ if (variant === 'fill' && selected) {
49
+ btnProps = {
50
+ sx: {
51
+ bgcolor: "transparent!importnat",
52
+ color: "#FFFFFF!important"
53
+ }
54
+ };
55
+ }
56
+ else if (variant === 'alpha' && selected) {
57
+ btnProps = {
58
+ sx: {
59
+ bgcolor: "transparent!importnat",
60
+ }
61
+ };
62
+ }
63
+ // delete child.props.value
64
+ return React.cloneElement(child, Object.assign(Object.assign(Object.assign({ corner: "square", value: undefined, onClick: () => {
65
+ onChange && onChange(child.props.value);
66
+ }, border: 1, borderColor: "transparent" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button), btnProps), { color: selected ? color : "default", variant: "text", classNames: [child.props.classNames, { "tab-selected": selected }] }));
67
+ });
68
+ return info;
69
+ }, [children, onChange, value, variant, color, verticle]);
70
+ React.useEffect(() => {
71
+ let con = containerRef.current;
72
+ const conChilds = con.children;
73
+ if (conChilds && conChilds[selectedIndex]) {
74
+ const selectedTab = con.querySelector(".tab-selected") || conChilds[0];
75
+ const prevRect = getRect(selectedTab, con);
76
+ const rect = getRect(conChilds[selectedIndex], con);
77
+ let anim = {};
78
+ if (verticle) {
79
+ anim = {
80
+ from: {
81
+ top: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.top) || 0,
82
+ height: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.height) || 0,
83
+ },
84
+ to: {
85
+ top: (rect === null || rect === void 0 ? void 0 : rect.top) || 0,
86
+ height: (rect === null || rect === void 0 ? void 0 : rect.height) || 0,
87
+ }
88
+ };
89
+ if (["fill", "alpha", "outline"].includes(variant)) {
90
+ anim.from.width = prevRect === null || prevRect === void 0 ? void 0 : prevRect.width;
91
+ anim.to.width = rect === null || rect === void 0 ? void 0 : rect.width;
92
+ }
93
+ }
94
+ else {
95
+ anim = {
96
+ from: {
97
+ left: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.left) || 0,
98
+ width: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.width) || 0,
99
+ },
100
+ to: {
101
+ left: (rect === null || rect === void 0 ? void 0 : rect.left) || 0,
102
+ width: (rect === null || rect === void 0 ? void 0 : rect.width) || 0,
103
+ },
104
+ };
105
+ if (["fill", "alpha", "outline"].includes(variant)) {
106
+ anim.from.height = (prevRect === null || prevRect === void 0 ? void 0 : prevRect.height) || 0;
107
+ anim.to.height = (rect === null || rect === void 0 ? void 0 : rect.height) || 0;
108
+ }
109
+ }
110
+ setTrans(anim);
111
+ }
112
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
+ }, [selectedIndex, variant, color, verticle]);
114
+ let indicatorProps = React.useMemo(() => {
115
+ let _indicatorProps = {};
116
+ switch (variant) {
117
+ case "start-line":
118
+ if (verticle) {
119
+ _indicatorProps = {
120
+ left: 0,
121
+ width: indicatorSize
122
+ };
123
+ }
124
+ else {
125
+ _indicatorProps = {
126
+ top: 0,
127
+ height: indicatorSize
128
+ };
129
+ }
130
+ break;
131
+ case "end-line":
132
+ if (verticle) {
133
+ _indicatorProps = {
134
+ right: 0,
135
+ width: indicatorSize
136
+ };
137
+ }
138
+ else {
139
+ _indicatorProps = {
140
+ bottom: 0,
141
+ height: indicatorSize
142
+ };
143
+ }
144
+ break;
145
+ case "fill":
146
+ _indicatorProps = {
147
+ top: 0,
148
+ bgcolor: color
149
+ };
150
+ break;
151
+ case "outline":
152
+ _indicatorProps = {
153
+ top: 0,
154
+ border: 1,
155
+ borderColor: color,
156
+ bgcolor: "transparent"
157
+ };
158
+ break;
159
+ case "alpha":
160
+ _indicatorProps = {
161
+ top: 0,
162
+ bgcolor: `${color}.alpha`
163
+ };
164
+ break;
165
+ case "text":
166
+ _indicatorProps = {
167
+ display: "none"
168
+ };
169
+ break;
170
+ }
171
+ return _indicatorProps;
172
+ }, [selectedIndex, variant, color, verticle]);
173
+ return (jsxRuntime.jsxs(core.Tag, Object.assign({}, rest, { baseClass: 'tabs', ref: ref, sxr: {
174
+ position: "relative",
175
+ zIndex: 1,
176
+ display: "inline-block"
177
+ } }, { children: [jsxRuntime.jsx(core.Tag, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.content, { baseClass: 'tabs-content', sxr: {
178
+ display: verticle ? "flex" : "inline-flex",
179
+ flexDirection: verticle ? "column" : "row",
180
+ }, ref: containerRef }, { children: childs })), jsxRuntime.jsx(core.Transition, Object.assign({ open: !!trans, variant: trans || { from: {}, to: {} }, easing: "easeInOut", duration: trans ? (disableTransition ? 0 : 250) : 0 }, { children: jsxRuntime.jsx(core.Tag, Object.assign({ baseClass: 'tabs-indicator',
181
+ // className={classname}
182
+ sxr: {
183
+ position: "absolute",
184
+ zIndex: -1,
185
+ cursor: "pointer",
186
+ bgcolor: color
187
+ } }, indicatorProps)) }), !!trans ? "asd" : "qwe")] })));
188
+ });exports.default=Tabs;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, ColorTemplateColors, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"alpha\">;\n color?: useBreakpointPropsType<ColorTemplateColors>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'alpha' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n border: 1,\n borderColor: \"transparent\",\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = {}\n if (verticle) {\n anim = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n if ([\"fill\", \"alpha\", \"outline\"].includes(variant)) {\n anim.from.width = prevRect?.width\n anim.to.width = rect?.width\n }\n } else {\n anim = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n if ([\"fill\", \"alpha\", \"outline\"].includes(variant)) {\n anim.from.height = prevRect?.height || 0\n anim.to.height = rect?.height || 0\n }\n }\n setTrans(anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: 1,\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"alpha\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.alpha`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n key={!!trans ? \"asd\" : \"qwe\"}\n open={!!trans}\n variant={trans || { from: {}, to: {} }}\n easing=\"easeInOut\"\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":["__rest","useInterface","useBreakpointProps","useRef","useState","useMemo","Children","cloneElement","useEffect","_jsxs","Tag","_jsx","Transition"],"mappings":"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"}
package/Tabs/index.mjs ADDED
@@ -0,0 +1,188 @@
1
+ import {__rest}from'tslib';import {jsxs,jsx}from'react/jsx-runtime';import React,{useRef,useState,useMemo,Children,cloneElement,useEffect}from'react';import {useInterface,useBreakpointProps,Tag,Transition}from'@xanui/core';const getRect = (ele, parent) => {
2
+ const _rect = {};
3
+ const parentRect = parent.getBoundingClientRect();
4
+ const childRect = ele.getBoundingClientRect();
5
+ _rect.top = childRect.top - parentRect.top;
6
+ _rect.right = childRect.right - parentRect.right;
7
+ _rect.bottom = childRect.bottom - parentRect.bottom;
8
+ _rect.left = childRect.left - parentRect.left;
9
+ _rect.width = childRect.width;
10
+ _rect.height = childRect.height;
11
+ return _rect;
12
+ };
13
+ const Tabs = React.forwardRef((_a, ref) => {
14
+ var _b, _c, _d;
15
+ var { onChange, value, children } = _a, props = __rest(_a, ["onChange", "value", "children"]);
16
+ let [_e] = useInterface("Tabs", props, {}), { verticle, color, variant, indicatorSize, disableTransition, slotProps } = _e, rest = __rest(_e, ["verticle", "color", "variant", "indicatorSize", "disableTransition", "slotProps"]);
17
+ const _p = {};
18
+ if (variant)
19
+ _p.variant = variant;
20
+ if (color)
21
+ _p.color = color;
22
+ if (verticle)
23
+ _p.verticle = verticle;
24
+ if (disableTransition)
25
+ _p.disableTransition = disableTransition;
26
+ if (indicatorSize)
27
+ _p.indicatorSize = indicatorSize;
28
+ const p = useBreakpointProps(_p);
29
+ variant = (_b = p.variant) !== null && _b !== void 0 ? _b : "end-line";
30
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : "brand";
31
+ verticle = p.verticle;
32
+ disableTransition = p.disableTransition;
33
+ indicatorSize = (_d = p.indicatorSize) !== null && _d !== void 0 ? _d : 3;
34
+ ref = ref || useRef(null);
35
+ const containerRef = useRef(null);
36
+ const [trans, setTrans] = useState();
37
+ const { childs, selectedIndex } = useMemo(() => {
38
+ let info = {
39
+ childs: null,
40
+ selectedIndex: 0
41
+ };
42
+ info.childs = Children.map(children, (child, idx) => {
43
+ let selected = child.props.value === value;
44
+ if (selected) {
45
+ info.selectedIndex = idx;
46
+ }
47
+ let btnProps = {};
48
+ if (variant === 'fill' && selected) {
49
+ btnProps = {
50
+ sx: {
51
+ bgcolor: "transparent!importnat",
52
+ color: "#FFFFFF!important"
53
+ }
54
+ };
55
+ }
56
+ else if (variant === 'alpha' && selected) {
57
+ btnProps = {
58
+ sx: {
59
+ bgcolor: "transparent!importnat",
60
+ }
61
+ };
62
+ }
63
+ // delete child.props.value
64
+ return cloneElement(child, Object.assign(Object.assign(Object.assign({ corner: "square", value: undefined, onClick: () => {
65
+ onChange && onChange(child.props.value);
66
+ }, border: 1, borderColor: "transparent" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button), btnProps), { color: selected ? color : "default", variant: "text", classNames: [child.props.classNames, { "tab-selected": selected }] }));
67
+ });
68
+ return info;
69
+ }, [children, onChange, value, variant, color, verticle]);
70
+ useEffect(() => {
71
+ let con = containerRef.current;
72
+ const conChilds = con.children;
73
+ if (conChilds && conChilds[selectedIndex]) {
74
+ const selectedTab = con.querySelector(".tab-selected") || conChilds[0];
75
+ const prevRect = getRect(selectedTab, con);
76
+ const rect = getRect(conChilds[selectedIndex], con);
77
+ let anim = {};
78
+ if (verticle) {
79
+ anim = {
80
+ from: {
81
+ top: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.top) || 0,
82
+ height: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.height) || 0,
83
+ },
84
+ to: {
85
+ top: (rect === null || rect === void 0 ? void 0 : rect.top) || 0,
86
+ height: (rect === null || rect === void 0 ? void 0 : rect.height) || 0,
87
+ }
88
+ };
89
+ if (["fill", "alpha", "outline"].includes(variant)) {
90
+ anim.from.width = prevRect === null || prevRect === void 0 ? void 0 : prevRect.width;
91
+ anim.to.width = rect === null || rect === void 0 ? void 0 : rect.width;
92
+ }
93
+ }
94
+ else {
95
+ anim = {
96
+ from: {
97
+ left: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.left) || 0,
98
+ width: (prevRect === null || prevRect === void 0 ? void 0 : prevRect.width) || 0,
99
+ },
100
+ to: {
101
+ left: (rect === null || rect === void 0 ? void 0 : rect.left) || 0,
102
+ width: (rect === null || rect === void 0 ? void 0 : rect.width) || 0,
103
+ },
104
+ };
105
+ if (["fill", "alpha", "outline"].includes(variant)) {
106
+ anim.from.height = (prevRect === null || prevRect === void 0 ? void 0 : prevRect.height) || 0;
107
+ anim.to.height = (rect === null || rect === void 0 ? void 0 : rect.height) || 0;
108
+ }
109
+ }
110
+ setTrans(anim);
111
+ }
112
+ // eslint-disable-next-line react-hooks/exhaustive-deps
113
+ }, [selectedIndex, variant, color, verticle]);
114
+ let indicatorProps = useMemo(() => {
115
+ let _indicatorProps = {};
116
+ switch (variant) {
117
+ case "start-line":
118
+ if (verticle) {
119
+ _indicatorProps = {
120
+ left: 0,
121
+ width: indicatorSize
122
+ };
123
+ }
124
+ else {
125
+ _indicatorProps = {
126
+ top: 0,
127
+ height: indicatorSize
128
+ };
129
+ }
130
+ break;
131
+ case "end-line":
132
+ if (verticle) {
133
+ _indicatorProps = {
134
+ right: 0,
135
+ width: indicatorSize
136
+ };
137
+ }
138
+ else {
139
+ _indicatorProps = {
140
+ bottom: 0,
141
+ height: indicatorSize
142
+ };
143
+ }
144
+ break;
145
+ case "fill":
146
+ _indicatorProps = {
147
+ top: 0,
148
+ bgcolor: color
149
+ };
150
+ break;
151
+ case "outline":
152
+ _indicatorProps = {
153
+ top: 0,
154
+ border: 1,
155
+ borderColor: color,
156
+ bgcolor: "transparent"
157
+ };
158
+ break;
159
+ case "alpha":
160
+ _indicatorProps = {
161
+ top: 0,
162
+ bgcolor: `${color}.alpha`
163
+ };
164
+ break;
165
+ case "text":
166
+ _indicatorProps = {
167
+ display: "none"
168
+ };
169
+ break;
170
+ }
171
+ return _indicatorProps;
172
+ }, [selectedIndex, variant, color, verticle]);
173
+ return (jsxs(Tag, Object.assign({}, rest, { baseClass: 'tabs', ref: ref, sxr: {
174
+ position: "relative",
175
+ zIndex: 1,
176
+ display: "inline-block"
177
+ } }, { children: [jsx(Tag, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.content, { baseClass: 'tabs-content', sxr: {
178
+ display: verticle ? "flex" : "inline-flex",
179
+ flexDirection: verticle ? "column" : "row",
180
+ }, ref: containerRef }, { children: childs })), jsx(Transition, Object.assign({ open: !!trans, variant: trans || { from: {}, to: {} }, easing: "easeInOut", duration: trans ? (disableTransition ? 0 : 250) : 0 }, { children: jsx(Tag, Object.assign({ baseClass: 'tabs-indicator',
181
+ // className={classname}
182
+ sxr: {
183
+ position: "absolute",
184
+ zIndex: -1,
185
+ cursor: "pointer",
186
+ bgcolor: color
187
+ } }, indicatorProps)) }), !!trans ? "asd" : "qwe")] })));
188
+ });export{Tabs as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, ColorTemplateColors, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"alpha\">;\n color?: useBreakpointPropsType<ColorTemplateColors>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'alpha' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n border: 1,\n borderColor: \"transparent\",\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = {}\n if (verticle) {\n anim = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n if ([\"fill\", \"alpha\", \"outline\"].includes(variant)) {\n anim.from.width = prevRect?.width\n anim.to.width = rect?.width\n }\n } else {\n anim = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n if ([\"fill\", \"alpha\", \"outline\"].includes(variant)) {\n anim.from.height = prevRect?.height || 0\n anim.to.height = rect?.height || 0\n }\n }\n setTrans(anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: 1,\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"alpha\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.alpha`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n key={!!trans ? \"asd\" : \"qwe\"}\n open={!!trans}\n variant={trans || { from: {}, to: {} }}\n easing=\"easeInOut\"\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { TagComponentType, TagProps, useBreakpointPropsType } from '@xanui/core';
3
+
4
+ type TextProps<T extends TagComponentType = "p"> = TagProps<T> & {
5
+ variant?: useBreakpointPropsType<"text" | "button" | "small" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6">;
6
+ };
7
+ declare const Text: React.ForwardRefExoticComponent<Omit<TextProps<TagComponentType>, "ref"> & React.RefAttributes<any>>;
8
+
9
+ export { Text as default };
10
+ export type { TextProps };
package/Text/index.js ADDED
@@ -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 Text = React.forwardRef((_a, ref) => {
2
+ var _b;
3
+ var { children, variant } = _a, props = tslib.__rest(_a, ["children", "variant"]);
4
+ const _p = {};
5
+ if (variant)
6
+ _p.variant = variant;
7
+ const p = core.useBreakpointProps(_p);
8
+ variant = (_b = p.variant) !== null && _b !== void 0 ? _b : 'text';
9
+ return (jsxRuntime.jsx(core.Tag, Object.assign({ component: (variant === 'text' || variant === 'small' ? "p" : variant) }, props, { sxr: Object.assign({ fontSize: variant, lineHeight: variant, fontWeight: variant, color: "text.primary" }, props === null || props === void 0 ? void 0 : props.sx), baseClass: 'text', ref: ref }, { children: children })));
10
+ });exports.default=Text;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/Text/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant === 'text' || variant === 'small' ? \"p\" : variant) as any}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n ...(props as any)?.sx\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":["__rest","useBreakpointProps","_jsx","Tag"],"mappings":"4LASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAmC,EAA6C,EAAE,GAAoB,KAAI;;QAAvE,EAAE,QAAQ,EAAE,OAAO,EAAA,GAAA,EAA0B,EAArB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAA7B,uBAA+B,CAAF;IAC1F,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,OAAO;AAAE,QAAA,EAAE,CAAC,OAAO,GAAG,OAAO;AACjC,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,OAAO,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;AAE7B,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,GAAG,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,GAAG,GAAG,GAAG,OAAO,CAAQ,EAAA,EACzE,KAAK,EAAA,EACT,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,cAAc,EAAA,EACjB,KAAa,aAAb,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAU,EAAE,CAAA,EAEzB,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,GAAG,EAAA,EAAA,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
package/Text/index.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import React from'react';import {useBreakpointProps,Tag}from'@xanui/core';const Text = React.forwardRef((_a, ref) => {
2
+ var _b;
3
+ var { children, variant } = _a, props = __rest(_a, ["children", "variant"]);
4
+ const _p = {};
5
+ if (variant)
6
+ _p.variant = variant;
7
+ const p = useBreakpointProps(_p);
8
+ variant = (_b = p.variant) !== null && _b !== void 0 ? _b : 'text';
9
+ return (jsx(Tag, Object.assign({ component: (variant === 'text' || variant === 'small' ? "p" : variant) }, props, { sxr: Object.assign({ fontSize: variant, lineHeight: variant, fontWeight: variant, color: "text.primary" }, props === null || props === void 0 ? void 0 : props.sx), baseClass: 'text', ref: ref }, { children: children })));
10
+ });export{Text as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Text/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant === 'text' || variant === 'small' ? \"p\" : variant) as any}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n ...(props as any)?.sx\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":["_jsx"],"mappings":"yIASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAmC,EAA6C,EAAE,GAAoB,KAAI;;QAAvE,EAAE,QAAQ,EAAE,OAAO,EAAA,GAAA,EAA0B,EAArB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA7B,uBAA+B,CAAF;IAC1F,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,OAAO;AAAE,QAAA,EAAE,CAAC,OAAO,GAAG,OAAO;AACjC,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,OAAO,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;AAE7B,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,GAAG,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,GAAG,GAAG,GAAG,OAAO,CAAQ,EAAA,EACzE,KAAK,EAAA,EACT,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,cAAc,EAAA,EACjB,KAAa,aAAb,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAU,EAAE,CAAA,EAEzB,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,GAAG,EAAA,EAAA,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var jsxRuntime=require('react/jsx-runtime'),React=require('react');const Renderar = {
2
+ components: {},
3
+ dispatch: () => { },
4
+ create: (id, component) => {
5
+ Renderar.components[id] = component;
6
+ },
7
+ delete: (id) => {
8
+ if (Renderar.components[id]) {
9
+ delete Renderar.components[id];
10
+ Renderar.dispatch();
11
+ }
12
+ }
13
+ };
14
+ const RenderComponents = () => {
15
+ const [, dispatch] = React.useState(0);
16
+ React.useEffect(() => {
17
+ Renderar.dispatch = () => {
18
+ dispatch(Math.random());
19
+ };
20
+ }, []);
21
+ return jsxRuntime.jsx(jsxRuntime.Fragment, { children: Object.values(Renderar.components).map((Render, idx) => jsxRuntime.jsx(Render, {}, "renderar" + idx)) });
22
+ };exports.RenderComponents=RenderComponents;exports.default=Renderar;//# sourceMappingURL=RenderRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderRoot.js","sources":["../../src/ThemeProvider/RenderRoot.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from \"react\";\n\n\ntype Callback = () => ReactNode\n\n\nconst Renderar = {\n components: {} as { [id: string]: Callback },\n dispatch: () => { },\n create: (id: string, component: Callback) => {\n Renderar.components[id] = component\n },\n delete: (id: string) => {\n if (Renderar.components[id]) {\n delete Renderar.components[id]\n Renderar.dispatch()\n }\n }\n}\n\nexport default Renderar\n\nexport const RenderComponents = () => {\n const [, dispatch] = useState(0)\n useEffect(() => {\n Renderar.dispatch = () => {\n dispatch(Math.random())\n }\n }, [])\n\n return <>{Object.values(Renderar.components).map((Render: any, idx) => <Render key={\"renderar\" + idx} />)}</>\n}"],"names":["useState","useEffect","_jsx","_Fragment"],"mappings":"yIAMA,MAAM,QAAQ,GAAG;AACd,IAAA,UAAU,EAAE,EAAgC;AAC5C,IAAA,QAAQ,EAAE,MAAK,EAAG,CAAC;AACnB,IAAA,MAAM,EAAE,CAAC,EAAU,EAAE,SAAmB,KAAI;AACzC,QAAA,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,SAAS;IACtC,CAAC;AACD,IAAA,MAAM,EAAE,CAAC,EAAU,KAAI;AACpB,QAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;AAC1B,YAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,QAAQ,EAAE;AACrB,QAAA;IACJ;;AAKI,MAAM,gBAAgB,GAAG,MAAK;IAClC,MAAM,GAAG,QAAQ,CAAC,GAAGA,cAAQ,CAAC,CAAC,CAAC;IAChCC,eAAS,CAAC,MAAK;AACZ,QAAA,QAAQ,CAAC,QAAQ,GAAG,MAAK;AACtB,YAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAC1B,QAAA,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,GAAG,KAAKD,cAAA,CAAC,MAAM,EAAA,EAAA,EAAM,UAAU,GAAG,GAAG,CAAI,CAAC,EAAA,CAAI;AAChH"}
@@ -0,0 +1,22 @@
1
+ import {jsx,Fragment}from'react/jsx-runtime';import {useState,useEffect}from'react';const Renderar = {
2
+ components: {},
3
+ dispatch: () => { },
4
+ create: (id, component) => {
5
+ Renderar.components[id] = component;
6
+ },
7
+ delete: (id) => {
8
+ if (Renderar.components[id]) {
9
+ delete Renderar.components[id];
10
+ Renderar.dispatch();
11
+ }
12
+ }
13
+ };
14
+ const RenderComponents = () => {
15
+ const [, dispatch] = useState(0);
16
+ useEffect(() => {
17
+ Renderar.dispatch = () => {
18
+ dispatch(Math.random());
19
+ };
20
+ }, []);
21
+ return jsx(Fragment, { children: Object.values(Renderar.components).map((Render, idx) => jsx(Render, {}, "renderar" + idx)) });
22
+ };export{RenderComponents,Renderar as default};//# sourceMappingURL=RenderRoot.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderRoot.mjs","sources":["../../src/ThemeProvider/RenderRoot.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from \"react\";\n\n\ntype Callback = () => ReactNode\n\n\nconst Renderar = {\n components: {} as { [id: string]: Callback },\n dispatch: () => { },\n create: (id: string, component: Callback) => {\n Renderar.components[id] = component\n },\n delete: (id: string) => {\n if (Renderar.components[id]) {\n delete Renderar.components[id]\n Renderar.dispatch()\n }\n }\n}\n\nexport default Renderar\n\nexport const RenderComponents = () => {\n const [, dispatch] = useState(0)\n useEffect(() => {\n Renderar.dispatch = () => {\n dispatch(Math.random())\n }\n }, [])\n\n return <>{Object.values(Renderar.components).map((Render: any, idx) => <Render key={\"renderar\" + idx} />)}</>\n}"],"names":["_jsx","_Fragment"],"mappings":"oFAMA,MAAM,QAAQ,GAAG;AACd,IAAA,UAAU,EAAE,EAAgC;AAC5C,IAAA,QAAQ,EAAE,MAAK,EAAG,CAAC;AACnB,IAAA,MAAM,EAAE,CAAC,EAAU,EAAE,SAAmB,KAAI;AACzC,QAAA,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,SAAS;IACtC,CAAC;AACD,IAAA,MAAM,EAAE,CAAC,EAAU,KAAI;AACpB,QAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;AAC1B,YAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,QAAQ,EAAE;AACrB,QAAA;IACJ;;AAKI,MAAM,gBAAgB,GAAG,MAAK;IAClC,MAAM,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,MAAK;AACZ,QAAA,QAAQ,CAAC,QAAQ,GAAG,MAAK;AACtB,YAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAC1B,QAAA,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAOA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,GAAG,KAAKD,GAAA,CAAC,MAAM,EAAA,EAAA,EAAM,UAAU,GAAG,GAAG,CAAI,CAAC,EAAA,CAAI;AAChH"}
@@ -0,0 +1,8 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ThemeProviderProps as ThemeProviderProps$1 } from '@xanui/core';
3
+
4
+ type ThemeProviderProps = ThemeProviderProps$1 & {};
5
+ declare const ThemeProvider: ({ children, ...props }: ThemeProviderProps) => react_jsx_runtime.JSX.Element;
6
+
7
+ export { ThemeProvider as default };
8
+ export type { ThemeProviderProps };
@@ -0,0 +1,4 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),core=require('@xanui/core'),RenderRoot=require('./RenderRoot.js');const ThemeProvider = (_a) => {
2
+ var { children } = _a, props = tslib.__rest(_a, ["children"]);
3
+ return (jsxRuntime.jsx(core.ThemeProvider, Object.assign({}, props, { renderIsRoot: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [props.renderIsRoot, jsxRuntime.jsx(RenderRoot.RenderComponents, {})] }) }, { children: children })));
4
+ };exports.default=ThemeProvider;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/ThemeProvider/index.tsx"],"sourcesContent":["import { ThemeProvider as RootThemeProvider, ThemeProviderProps as RootThemeProviderProps } from '@xanui/core'\nimport { RenderComponents } from './RenderRoot'\n\nexport type ThemeProviderProps = RootThemeProviderProps & {\n\n}\n\nconst ThemeProvider = ({ children, ...props }: ThemeProviderProps) => {\n return (\n <RootThemeProvider\n {...props}\n renderIsRoot={<>\n {props.renderIsRoot}\n <RenderComponents />\n </>}\n >\n {children}\n </RootThemeProvider>\n )\n}\n\nexport default ThemeProvider"],"names":["__rest","_jsx","RootThemeProvider","_jsxs","_Fragment","RenderComponents"],"mappings":"2MAOA,MAAM,aAAa,GAAG,CAAC,EAA0C,KAAI;AAA9C,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAgC,EAA3B,KAAK,GAAAA,YAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACvC,QACIC,eAACC,kBAAiB,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,KAAK,EAAA,EACT,YAAY,EAAEC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACT,KAAK,CAAC,YAAY,EACnBH,eAACI,2BAAgB,EAAA,EAAA,CAAG,IACrB,EAAA,EAAA,EAAA,QAAA,EAEF,QAAQ,EAAA,CAAA,CACO;AAE5B"}
@@ -0,0 +1,4 @@
1
+ import {__rest}from'tslib';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {ThemeProvider as ThemeProvider$1}from'@xanui/core';import {RenderComponents}from'./RenderRoot.mjs';const ThemeProvider = (_a) => {
2
+ var { children } = _a, props = __rest(_a, ["children"]);
3
+ return (jsx(ThemeProvider$1, Object.assign({}, props, { renderIsRoot: jsxs(Fragment, { children: [props.renderIsRoot, jsx(RenderComponents, {})] }) }, { children: children })));
4
+ };export{ThemeProvider as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../src/ThemeProvider/index.tsx"],"sourcesContent":["import { ThemeProvider as RootThemeProvider, ThemeProviderProps as RootThemeProviderProps } from '@xanui/core'\nimport { RenderComponents } from './RenderRoot'\n\nexport type ThemeProviderProps = RootThemeProviderProps & {\n\n}\n\nconst ThemeProvider = ({ children, ...props }: ThemeProviderProps) => {\n return (\n <RootThemeProvider\n {...props}\n renderIsRoot={<>\n {props.renderIsRoot}\n <RenderComponents />\n </>}\n >\n {children}\n </RootThemeProvider>\n )\n}\n\nexport default ThemeProvider"],"names":["_jsx","RootThemeProvider","_jsxs","_Fragment"],"mappings":"wLAOA,MAAM,aAAa,GAAG,CAAC,EAA0C,KAAI;AAA9C,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAgC,EAA3B,KAAK,GAAA,MAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACvC,QACIA,IAACC,eAAiB,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,KAAK,EAAA,EACT,YAAY,EAAEC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACT,KAAK,CAAC,YAAY,EACnBH,IAAC,gBAAgB,EAAA,EAAA,CAAG,IACrB,EAAA,EAAA,EAAA,QAAA,EAEF,QAAQ,EAAA,CAAA,CACO;AAE5B"}
@@ -0,0 +1,20 @@
1
+ import { useBreakpointPropsType, ColorTemplateType, ColorTemplateColors } from '@xanui/core';
2
+ import { ReactElement } from 'react';
3
+ import { AlertProps } from '../Alert/index.js';
4
+
5
+ type PlacementType = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
6
+ type ToastProps = {
7
+ title?: useBreakpointPropsType<string | ReactElement>;
8
+ content?: AlertProps['children'];
9
+ variant?: useBreakpointPropsType<ColorTemplateType>;
10
+ color?: useBreakpointPropsType<ColorTemplateColors>;
11
+ icon?: useBreakpointPropsType<"info" | "warning" | "success" | "error" | false | ReactElement>;
12
+ placement?: PlacementType;
13
+ closeable?: useBreakpointPropsType<boolean>;
14
+ };
15
+ declare const Toast: {
16
+ open: (props: ToastProps) => void;
17
+ };
18
+
19
+ export { Toast as default };
20
+ export type { ToastProps };