@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.
- package/Accordion/index.d.ts +32 -0
- package/Accordion/index.js +82 -0
- package/Accordion/index.js.map +1 -0
- package/Accordion/index.mjs +82 -0
- package/Accordion/index.mjs.map +1 -0
- package/Alert/index.d.ts +41 -0
- package/Alert/index.js +137 -0
- package/Alert/index.js.map +1 -0
- package/Alert/index.mjs +137 -0
- package/Alert/index.mjs.map +1 -0
- package/Avatar/index.d.ts +10 -0
- package/Avatar/index.js +34 -0
- package/Avatar/index.js.map +1 -0
- package/Avatar/index.mjs +34 -0
- package/Avatar/index.mjs.map +1 -0
- package/Badge/index.d.ts +16 -0
- package/Badge/index.js +68 -0
- package/Badge/index.js.map +1 -0
- package/Badge/index.mjs +68 -0
- package/Badge/index.mjs.map +1 -0
- package/Box/index.d.ts +8 -0
- package/Box/index.js +4 -0
- package/Box/index.js.map +1 -0
- package/Box/index.mjs +4 -0
- package/Box/index.mjs.map +1 -0
- package/Button/index.d.ts +22 -0
- package/Button/index.js +77 -0
- package/Button/index.js.map +1 -0
- package/Button/index.mjs +77 -0
- package/Button/index.mjs.map +1 -0
- package/ButtonGroup/index.d.ts +14 -0
- package/ButtonGroup/index.js +47 -0
- package/ButtonGroup/index.js.map +1 -0
- package/ButtonGroup/index.mjs +47 -0
- package/ButtonGroup/index.mjs.map +1 -0
- package/Calendar/index.d.ts +14 -0
- package/Calendar/index.js +140 -0
- package/Calendar/index.js.map +1 -0
- package/Calendar/index.mjs +140 -0
- package/Calendar/index.mjs.map +1 -0
- package/CalendarInput/index.d.ts +18 -0
- package/CalendarInput/index.js +11 -0
- package/CalendarInput/index.js.map +1 -0
- package/CalendarInput/index.mjs +11 -0
- package/CalendarInput/index.mjs.map +1 -0
- package/Checkbox/index.d.ts +15 -0
- package/Checkbox/index.js +44 -0
- package/Checkbox/index.js.map +1 -0
- package/Checkbox/index.mjs +44 -0
- package/Checkbox/index.mjs.map +1 -0
- package/Chip/index.d.ts +17 -0
- package/Chip/index.js +59 -0
- package/Chip/index.js.map +1 -0
- package/Chip/index.mjs +59 -0
- package/Chip/index.mjs.map +1 -0
- package/CircleProgress/index.d.ts +20 -0
- package/CircleProgress/index.js +118 -0
- package/CircleProgress/index.js.map +1 -0
- package/CircleProgress/index.mjs +118 -0
- package/CircleProgress/index.mjs.map +1 -0
- package/ClickOutside/index.d.ts +10 -0
- package/ClickOutside/index.js +16 -0
- package/ClickOutside/index.js.map +1 -0
- package/ClickOutside/index.mjs +16 -0
- package/ClickOutside/index.mjs.map +1 -0
- package/Collaps/index.d.ts +8 -0
- package/Collaps/index.js +18 -0
- package/Collaps/index.js.map +1 -0
- package/Collaps/index.mjs +18 -0
- package/Collaps/index.mjs.map +1 -0
- package/Container/index.d.ts +10 -0
- package/Container/index.js +19 -0
- package/Container/index.js.map +1 -0
- package/Container/index.mjs +19 -0
- package/Container/index.mjs.map +1 -0
- package/Datatable/FilterBox.js +19 -0
- package/Datatable/FilterBox.js.map +1 -0
- package/Datatable/FilterBox.mjs +19 -0
- package/Datatable/FilterBox.mjs.map +1 -0
- package/Datatable/Row.js +41 -0
- package/Datatable/Row.js.map +1 -0
- package/Datatable/Row.mjs +41 -0
- package/Datatable/Row.mjs.map +1 -0
- package/Datatable/SelectedBox.js +11 -0
- package/Datatable/SelectedBox.js.map +1 -0
- package/Datatable/SelectedBox.mjs +11 -0
- package/Datatable/SelectedBox.mjs.map +1 -0
- package/Datatable/Table.js +11 -0
- package/Datatable/Table.js.map +1 -0
- package/Datatable/Table.mjs +11 -0
- package/Datatable/Table.mjs.map +1 -0
- package/Datatable/TableHead.js +35 -0
- package/Datatable/TableHead.js.map +1 -0
- package/Datatable/TableHead.mjs +35 -0
- package/Datatable/TableHead.mjs.map +1 -0
- package/Datatable/index.d.ts +71 -0
- package/Datatable/index.js +35 -0
- package/Datatable/index.js.map +1 -0
- package/Datatable/index.mjs +35 -0
- package/Datatable/index.mjs.map +1 -0
- package/Divider/index.d.ts +12 -0
- package/Divider/index.js +21 -0
- package/Divider/index.js.map +1 -0
- package/Divider/index.mjs +21 -0
- package/Divider/index.mjs.map +1 -0
- package/Drawer/index.d.ts +25 -0
- package/Drawer/index.js +57 -0
- package/Drawer/index.js.map +1 -0
- package/Drawer/index.mjs +57 -0
- package/Drawer/index.mjs.map +1 -0
- package/Form/index.d.ts +8 -0
- package/Form/index.js +34 -0
- package/Form/index.js.map +1 -0
- package/Form/index.mjs +34 -0
- package/Form/index.mjs.map +1 -0
- package/GridContainer/index.d.ts +8 -0
- package/GridContainer/index.js +9 -0
- package/GridContainer/index.js.map +1 -0
- package/GridContainer/index.mjs +9 -0
- package/GridContainer/index.mjs.map +1 -0
- package/GridItem/index.d.ts +14 -0
- package/GridItem/index.js +10 -0
- package/GridItem/index.js.map +1 -0
- package/GridItem/index.mjs +10 -0
- package/GridItem/index.mjs.map +1 -0
- package/IconButton/index.d.ts +13 -0
- package/IconButton/index.js +48 -0
- package/IconButton/index.js.map +1 -0
- package/IconButton/index.mjs +48 -0
- package/IconButton/index.mjs.map +1 -0
- package/Image/index.d.ts +10 -0
- package/Image/index.js +16 -0
- package/Image/index.js.map +1 -0
- package/Image/index.mjs +16 -0
- package/Image/index.mjs.map +1 -0
- package/Input/index.d.ts +26 -0
- package/Input/index.js +149 -0
- package/Input/index.js.map +1 -0
- package/Input/index.mjs +149 -0
- package/Input/index.mjs.map +1 -0
- package/Label/index.d.ts +8 -0
- package/Label/index.js +10 -0
- package/Label/index.js.map +1 -0
- package/Label/index.mjs +10 -0
- package/Label/index.mjs.map +1 -0
- package/Layer/index.d.ts +34 -0
- package/Layer/index.js +73 -0
- package/Layer/index.js.map +1 -0
- package/Layer/index.mjs +73 -0
- package/Layer/index.mjs.map +1 -0
- package/LineProgress/index.d.ts +15 -0
- package/LineProgress/index.js +48 -0
- package/LineProgress/index.js.map +1 -0
- package/LineProgress/index.mjs +48 -0
- package/LineProgress/index.mjs.map +1 -0
- package/List/index.d.ts +13 -0
- package/List/index.js +51 -0
- package/List/index.js.map +1 -0
- package/List/index.mjs +51 -0
- package/List/index.mjs.map +1 -0
- package/ListItem/index.d.ts +13 -0
- package/ListItem/index.js +26 -0
- package/ListItem/index.js.map +1 -0
- package/ListItem/index.mjs +26 -0
- package/ListItem/index.mjs.map +1 -0
- package/LoadingBox/index.d.ts +15 -0
- package/LoadingBox/index.js +22 -0
- package/LoadingBox/index.js.map +1 -0
- package/LoadingBox/index.mjs +22 -0
- package/LoadingBox/index.mjs.map +1 -0
- package/Menu/getOrigin.js +42 -0
- package/Menu/getOrigin.js.map +1 -0
- package/Menu/getOrigin.mjs +42 -0
- package/Menu/getOrigin.mjs.map +1 -0
- package/Menu/index.d.ts +22 -0
- package/Menu/index.js +47 -0
- package/Menu/index.js.map +1 -0
- package/Menu/index.mjs +47 -0
- package/Menu/index.mjs.map +1 -0
- package/Menu/placedMenu.d.ts +5 -0
- package/Menu/placedMenu.js +95 -0
- package/Menu/placedMenu.js.map +1 -0
- package/Menu/placedMenu.mjs +95 -0
- package/Menu/placedMenu.mjs.map +1 -0
- package/Modal/index.d.ts +19 -0
- package/Modal/index.js +38 -0
- package/Modal/index.js.map +1 -0
- package/Modal/index.mjs +38 -0
- package/Modal/index.mjs.map +1 -0
- package/NoSSR/index.d.ts +3 -0
- package/NoSSR/index.js +7 -0
- package/NoSSR/index.js.map +1 -0
- package/NoSSR/index.mjs +7 -0
- package/NoSSR/index.mjs.map +1 -0
- package/Option/index.d.ts +10 -0
- package/Option/index.js +4 -0
- package/Option/index.js.map +1 -0
- package/Option/index.mjs +4 -0
- package/Option/index.mjs.map +1 -0
- package/Paper/index.d.ts +8 -0
- package/Paper/index.js +5 -0
- package/Paper/index.js.map +1 -0
- package/Paper/index.mjs +5 -0
- package/Paper/index.mjs.map +1 -0
- package/Portal/index.d.ts +11 -0
- package/Portal/index.js +26 -0
- package/Portal/index.js.map +1 -0
- package/Portal/index.mjs +26 -0
- package/Portal/index.mjs.map +1 -0
- package/Radio/index.d.ts +6 -0
- package/Radio/index.js +4 -0
- package/Radio/index.js.map +1 -0
- package/Radio/index.mjs +4 -0
- package/Radio/index.mjs.map +1 -0
- package/Scrollbar/index.d.ts +14 -0
- package/Scrollbar/index.js +65 -0
- package/Scrollbar/index.js.map +1 -0
- package/Scrollbar/index.mjs +65 -0
- package/Scrollbar/index.mjs.map +1 -0
- package/Select/index.d.ts +24 -0
- package/Select/index.js +35 -0
- package/Select/index.js.map +1 -0
- package/Select/index.mjs +35 -0
- package/Select/index.mjs.map +1 -0
- package/Stack/index.d.ts +8 -0
- package/Stack/index.js +7 -0
- package/Stack/index.js.map +1 -0
- package/Stack/index.mjs +7 -0
- package/Stack/index.mjs.map +1 -0
- package/Switch/index.d.ts +19 -0
- package/Switch/index.js +68 -0
- package/Switch/index.js.map +1 -0
- package/Switch/index.mjs +68 -0
- package/Switch/index.mjs.map +1 -0
- package/Tab/index.d.ts +11 -0
- package/Tab/index.js +5 -0
- package/Tab/index.js.map +1 -0
- package/Tab/index.mjs +5 -0
- package/Tab/index.mjs.map +1 -0
- package/Table/index.d.ts +14 -0
- package/Table/index.js +77 -0
- package/Table/index.js.map +1 -0
- package/Table/index.mjs +77 -0
- package/Table/index.mjs.map +1 -0
- package/TableBody/index.d.ts +8 -0
- package/TableBody/index.js +4 -0
- package/TableBody/index.js.map +1 -0
- package/TableBody/index.mjs +4 -0
- package/TableBody/index.mjs.map +1 -0
- package/TableCell/index.d.ts +10 -0
- package/TableCell/index.js +4 -0
- package/TableCell/index.js.map +1 -0
- package/TableCell/index.mjs +4 -0
- package/TableCell/index.mjs.map +1 -0
- package/TableFooter/index.d.ts +8 -0
- package/TableFooter/index.js +4 -0
- package/TableFooter/index.js.map +1 -0
- package/TableFooter/index.mjs +4 -0
- package/TableFooter/index.mjs.map +1 -0
- package/TableHead/index.d.ts +8 -0
- package/TableHead/index.js +4 -0
- package/TableHead/index.js.map +1 -0
- package/TableHead/index.mjs +4 -0
- package/TableHead/index.mjs.map +1 -0
- package/TablePagination/index.d.ts +26 -0
- package/TablePagination/index.js +51 -0
- package/TablePagination/index.js.map +1 -0
- package/TablePagination/index.mjs +51 -0
- package/TablePagination/index.mjs.map +1 -0
- package/TableRow/index.d.ts +8 -0
- package/TableRow/index.js +4 -0
- package/TableRow/index.js.map +1 -0
- package/TableRow/index.mjs +4 -0
- package/TableRow/index.mjs.map +1 -0
- package/Tabs/index.d.ts +24 -0
- package/Tabs/index.js +188 -0
- package/Tabs/index.js.map +1 -0
- package/Tabs/index.mjs +188 -0
- package/Tabs/index.mjs.map +1 -0
- package/Text/index.d.ts +10 -0
- package/Text/index.js +10 -0
- package/Text/index.js.map +1 -0
- package/Text/index.mjs +10 -0
- package/Text/index.mjs.map +1 -0
- package/ThemeProvider/RenderRoot.js +22 -0
- package/ThemeProvider/RenderRoot.js.map +1 -0
- package/ThemeProvider/RenderRoot.mjs +22 -0
- package/ThemeProvider/RenderRoot.mjs.map +1 -0
- package/ThemeProvider/index.d.ts +8 -0
- package/ThemeProvider/index.js +4 -0
- package/ThemeProvider/index.js.map +1 -0
- package/ThemeProvider/index.mjs +4 -0
- package/ThemeProvider/index.mjs.map +1 -0
- package/Toast/index.d.ts +20 -0
- package/Toast/index.js +145 -0
- package/Toast/index.js.map +1 -0
- package/Toast/index.mjs +145 -0
- package/Toast/index.mjs.map +1 -0
- package/Tooltip/index.d.ts +16 -0
- package/Tooltip/index.js +29 -0
- package/Tooltip/index.js.map +1 -0
- package/Tooltip/index.mjs +29 -0
- package/Tooltip/index.mjs.map +1 -0
- package/ViewBox/index.d.ts +16 -0
- package/ViewBox/index.js +21 -0
- package/ViewBox/index.js.map +1 -0
- package/ViewBox/index.mjs +21 -0
- package/ViewBox/index.mjs.map +1 -0
- package/index.d.ts +56 -0
- package/index.js +1 -0
- package/index.js.map +1 -0
- package/index.mjs +1 -0
- package/index.mjs.map +1 -0
- package/package.json +41 -0
- package/readme.md +0 -0
- package/useCorner/index.d.ts +5 -0
- package/useCorner/index.js +17 -0
- package/useCorner/index.js.map +1 -0
- package/useCorner/index.mjs +17 -0
- 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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"}
|
package/Text/index.d.ts
ADDED
|
@@ -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"}
|
package/Toast/index.d.ts
ADDED
|
@@ -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 };
|