@xanui/core 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/ServerStyleTags.d.ts +3 -0
- package/ServerStyleTags.js +17 -0
- package/ServerStyleTags.js.map +7 -0
- package/Tag/cssPropList.d.ts +2 -0
- package/Tag/cssPropList.js +190 -0
- package/Tag/cssPropList.js.map +7 -0
- package/Tag/index.d.ts +6 -0
- package/Tag/index.js +12 -0
- package/Tag/index.js.map +7 -0
- package/Tag/types.d.ts +179 -0
- package/Tag/types.js +1 -0
- package/Tag/types.js.map +7 -0
- package/Tag/useTagProps.d.ts +3 -0
- package/Tag/useTagProps.js +27 -0
- package/Tag/useTagProps.js.map +7 -0
- package/Transition/index.d.ts +31 -0
- package/Transition/index.js +101 -0
- package/Transition/index.js.map +7 -0
- package/Transition/variants.d.ts +131 -0
- package/Transition/variants.js +175 -0
- package/Transition/variants.js.map +7 -0
- package/breakpoint/index.d.ts +6 -0
- package/breakpoint/index.js +46 -0
- package/breakpoint/index.js.map +7 -0
- package/breakpoint/useBreakpoint.d.ts +10 -0
- package/breakpoint/useBreakpoint.js +32 -0
- package/breakpoint/useBreakpoint.js.map +7 -0
- package/breakpoint/useBreakpointProps.d.ts +6 -0
- package/breakpoint/useBreakpointProps.js +48 -0
- package/breakpoint/useBreakpointProps.js.map +7 -0
- package/css/aliases.d.ts +4 -0
- package/css/aliases.js +34 -0
- package/css/aliases.js.map +7 -0
- package/css/getProps.d.ts +3 -0
- package/css/getProps.js +37 -0
- package/css/getProps.js.map +7 -0
- package/css/getValue.d.ts +3 -0
- package/css/getValue.js +108 -0
- package/css/getValue.js.map +7 -0
- package/css/index.d.ts +15 -0
- package/css/index.js +70 -0
- package/css/index.js.map +7 -0
- package/css/types.d.ts +54 -0
- package/css/types.js +1 -0
- package/css/types.js.map +7 -0
- package/index.d.ts +21 -0
- package/index.js +30 -0
- package/index.js.map +7 -0
- package/isWindow.d.ts +2 -0
- package/isWindow.js +6 -0
- package/isWindow.js.map +7 -0
- package/package.json +28 -0
- package/readme.md +0 -0
- package/theme/ThemeCssVars.d.ts +3 -0
- package/theme/ThemeCssVars.js +92 -0
- package/theme/ThemeCssVars.js.map +7 -0
- package/theme/ThemeDefaultOptions.d.ts +68 -0
- package/theme/ThemeDefaultOptions.js +148 -0
- package/theme/ThemeDefaultOptions.js.map +7 -0
- package/theme/ThemeProvider.d.ts +10 -0
- package/theme/ThemeProvider.js +120 -0
- package/theme/ThemeProvider.js.map +7 -0
- package/theme/core.d.ts +7 -0
- package/theme/core.js +26 -0
- package/theme/core.js.map +7 -0
- package/theme/createColor.d.ts +41 -0
- package/theme/createColor.js +52 -0
- package/theme/createColor.js.map +7 -0
- package/theme/createTheme.d.ts +2 -0
- package/theme/createTheme.js +33 -0
- package/theme/createTheme.js.map +7 -0
- package/theme/createThemeSwitcher.d.ts +6 -0
- package/theme/createThemeSwitcher.js +19 -0
- package/theme/createThemeSwitcher.js.map +7 -0
- package/theme/index.d.ts +4 -0
- package/theme/index.js +14 -0
- package/theme/index.js.map +7 -0
- package/theme/types.d.ts +124 -0
- package/theme/types.js +1 -0
- package/theme/types.js.map +7 -0
- package/useAnimation.d.ts +18 -0
- package/useAnimation.js +33 -0
- package/useAnimation.js.map +7 -0
- package/useColorTemplate.d.ts +4 -0
- package/useColorTemplate.js +11 -0
- package/useColorTemplate.js.map +7 -0
- package/useInterface.d.ts +2 -0
- package/useInterface.js +14 -0
- package/useInterface.js.map +7 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { CSSFactory } from "oncss";
|
|
3
|
+
const ServerStyleTags = () => {
|
|
4
|
+
return Array.from(CSSFactory.values()).map((c, idx) => /* @__PURE__ */ React.createElement(
|
|
5
|
+
"style",
|
|
6
|
+
{
|
|
7
|
+
key: c.classname + idx,
|
|
8
|
+
"data-oncss": c.classname,
|
|
9
|
+
dangerouslySetInnerHTML: { __html: c.css }
|
|
10
|
+
}
|
|
11
|
+
));
|
|
12
|
+
};
|
|
13
|
+
var ServerStyleTags_default = ServerStyleTags;
|
|
14
|
+
export {
|
|
15
|
+
ServerStyleTags_default as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=ServerStyleTags.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/ServerStyleTags.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport { CSSFactory } from 'oncss'\n\nconst ServerStyleTags = () => {\n return Array.from(CSSFactory.values()).map((c, idx) => <style\n key={c.classname + idx}\n data-oncss={c.classname}\n dangerouslySetInnerHTML={{ __html: c.css }}\n />)\n}\n\nexport default ServerStyleTags"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;AACvB,SAAS,kBAAkB;AAE3B,MAAM,kBAAkB,MAAM;AAC1B,SAAO,MAAM,KAAK,WAAW,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ;AAAA,IAAC;AAAA;AAAA,MACpD,KAAK,EAAE,YAAY;AAAA,MACnB,cAAY,EAAE;AAAA,MACd,yBAAyB,EAAE,QAAQ,EAAE,IAAI;AAAA;AAAA,EAC7C,CAAE;AACN;AAEA,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
const CSS_PROP_LIST = {
|
|
2
|
+
typography: 1,
|
|
3
|
+
bgcolor: 1,
|
|
4
|
+
bgimage: 1,
|
|
5
|
+
bg: 1,
|
|
6
|
+
p: 1,
|
|
7
|
+
pt: 1,
|
|
8
|
+
pr: 1,
|
|
9
|
+
pb: 1,
|
|
10
|
+
pl: 1,
|
|
11
|
+
px: 1,
|
|
12
|
+
py: 1,
|
|
13
|
+
m: 1,
|
|
14
|
+
mt: 1,
|
|
15
|
+
mr: 1,
|
|
16
|
+
mb: 1,
|
|
17
|
+
ml: 1,
|
|
18
|
+
mx: 1,
|
|
19
|
+
my: 1,
|
|
20
|
+
radius: 1,
|
|
21
|
+
shadow: 1,
|
|
22
|
+
flexBox: 1,
|
|
23
|
+
flexRow: 1,
|
|
24
|
+
flexColumn: 1,
|
|
25
|
+
flexWraped: 1,
|
|
26
|
+
disabled: 1,
|
|
27
|
+
spacing: 1,
|
|
28
|
+
gradient: 1,
|
|
29
|
+
// CSS Props
|
|
30
|
+
alignContent: 1,
|
|
31
|
+
alignItems: 1,
|
|
32
|
+
alignSelf: 1,
|
|
33
|
+
animation: 1,
|
|
34
|
+
animationComposition: 1,
|
|
35
|
+
animationDelay: 1,
|
|
36
|
+
animationDirection: 1,
|
|
37
|
+
animationDuration: 1,
|
|
38
|
+
animationFillMode: 1,
|
|
39
|
+
animationIterationCount: 1,
|
|
40
|
+
animationName: 1,
|
|
41
|
+
animationTimingFunction: 1,
|
|
42
|
+
backdropFilter: 1,
|
|
43
|
+
background: 1,
|
|
44
|
+
backgroundAttachment: 1,
|
|
45
|
+
backgroundColor: 1,
|
|
46
|
+
backgroundImage: 1,
|
|
47
|
+
backgroundOrigin: 1,
|
|
48
|
+
backgroundPosition: 1,
|
|
49
|
+
backgroundRepeat: 1,
|
|
50
|
+
backgroundSize: 1,
|
|
51
|
+
border: 1,
|
|
52
|
+
borderBottom: 1,
|
|
53
|
+
borderBottomColor: 1,
|
|
54
|
+
borderBottomStyle: 1,
|
|
55
|
+
borderBottomWidth: 1,
|
|
56
|
+
borderColor: 1,
|
|
57
|
+
borderImage: 1,
|
|
58
|
+
borderLeft: 1,
|
|
59
|
+
borderLeftColor: 1,
|
|
60
|
+
borderLeftStyle: 1,
|
|
61
|
+
borderLeftWidth: 1,
|
|
62
|
+
borderRadius: 1,
|
|
63
|
+
borderRight: 1,
|
|
64
|
+
borderRightColor: 1,
|
|
65
|
+
borderRightStyle: 1,
|
|
66
|
+
borderRightWidth: 1,
|
|
67
|
+
borderStyle: 1,
|
|
68
|
+
borderTop: 1,
|
|
69
|
+
borderTopColor: 1,
|
|
70
|
+
borderTopLeftRadius: 1,
|
|
71
|
+
borderTopRightRadius: 1,
|
|
72
|
+
borderTopStyle: 1,
|
|
73
|
+
borderTopWidth: 1,
|
|
74
|
+
borderWidth: 1,
|
|
75
|
+
bottom: 1,
|
|
76
|
+
boxShadow: 1,
|
|
77
|
+
boxSizing: 1,
|
|
78
|
+
cursor: 1,
|
|
79
|
+
color: 1,
|
|
80
|
+
display: 1,
|
|
81
|
+
direction: 1,
|
|
82
|
+
filter: 1,
|
|
83
|
+
flex: 1,
|
|
84
|
+
flexBasis: 1,
|
|
85
|
+
flexDirection: 1,
|
|
86
|
+
flexFlow: 1,
|
|
87
|
+
flexGrow: 1,
|
|
88
|
+
flexShrink: 1,
|
|
89
|
+
flexWrap: 1,
|
|
90
|
+
float: 1,
|
|
91
|
+
fontFamily: 1,
|
|
92
|
+
fontSize: 1,
|
|
93
|
+
fontStyle: 1,
|
|
94
|
+
fontWeight: 1,
|
|
95
|
+
font: 1,
|
|
96
|
+
gap: 1,
|
|
97
|
+
grid: 1,
|
|
98
|
+
gridArea: 1,
|
|
99
|
+
gridAutoColumns: 1,
|
|
100
|
+
gridAutoFlow: 1,
|
|
101
|
+
gridAutoRows: 1,
|
|
102
|
+
gridColumn: 1,
|
|
103
|
+
gridColumnEnd: 1,
|
|
104
|
+
gridColumnGap: 1,
|
|
105
|
+
gridColumnStart: 1,
|
|
106
|
+
gridGap: 1,
|
|
107
|
+
gridRow: 1,
|
|
108
|
+
gridRowEnd: 1,
|
|
109
|
+
gridRowGap: 1,
|
|
110
|
+
gridRowStart: 1,
|
|
111
|
+
gridTemplate: 1,
|
|
112
|
+
gridTemplateAreas: 1,
|
|
113
|
+
gridTemplateColumns: 1,
|
|
114
|
+
gridTemplateRows: 1,
|
|
115
|
+
height: 1,
|
|
116
|
+
justifyContent: 1,
|
|
117
|
+
justifyItems: 1,
|
|
118
|
+
justifySelf: 1,
|
|
119
|
+
left: 1,
|
|
120
|
+
letterSpacing: 1,
|
|
121
|
+
lineBreak: 1,
|
|
122
|
+
lineHeight: 1,
|
|
123
|
+
listStyle: 1,
|
|
124
|
+
margin: 1,
|
|
125
|
+
marginBlock: 1,
|
|
126
|
+
marginBlockEnd: 1,
|
|
127
|
+
marginBlockStart: 1,
|
|
128
|
+
marginBottom: 1,
|
|
129
|
+
marginInline: 1,
|
|
130
|
+
marginInlineEnd: 1,
|
|
131
|
+
marginInlineStart: 1,
|
|
132
|
+
marginLeft: 1,
|
|
133
|
+
marginRight: 1,
|
|
134
|
+
marginTop: 1,
|
|
135
|
+
maxHeight: 1,
|
|
136
|
+
maxWidth: 1,
|
|
137
|
+
minHeight: 1,
|
|
138
|
+
minWidth: 1,
|
|
139
|
+
objectFit: 1,
|
|
140
|
+
objectPosition: 1,
|
|
141
|
+
opacity: 1,
|
|
142
|
+
order: 1,
|
|
143
|
+
outline: 1,
|
|
144
|
+
overflow: 1,
|
|
145
|
+
overflowX: 1,
|
|
146
|
+
overflowY: 1,
|
|
147
|
+
padding: 1,
|
|
148
|
+
paddingBlock: 1,
|
|
149
|
+
paddingBlockEnd: 1,
|
|
150
|
+
paddingBlockStart: 1,
|
|
151
|
+
paddingBottom: 1,
|
|
152
|
+
paddingInline: 1,
|
|
153
|
+
paddingInlineEnd: 1,
|
|
154
|
+
paddingInlineStart: 1,
|
|
155
|
+
paddingLeft: 1,
|
|
156
|
+
paddingRight: 1,
|
|
157
|
+
paddingTop: 1,
|
|
158
|
+
perspective: 1,
|
|
159
|
+
perspectiveOrigin: 1,
|
|
160
|
+
pointerEvents: 1,
|
|
161
|
+
position: 1,
|
|
162
|
+
right: 1,
|
|
163
|
+
textAlign: 1,
|
|
164
|
+
textDecoration: 1,
|
|
165
|
+
textShadow: 1,
|
|
166
|
+
textTransform: 1,
|
|
167
|
+
top: 1,
|
|
168
|
+
transform: 1,
|
|
169
|
+
transformOrigin: 1,
|
|
170
|
+
transformStyle: 1,
|
|
171
|
+
transition: 1,
|
|
172
|
+
transitionDelay: 1,
|
|
173
|
+
transitionDuration: 1,
|
|
174
|
+
transitionProperty: 1,
|
|
175
|
+
transitionTimingFunction: 1,
|
|
176
|
+
userSelect: 1,
|
|
177
|
+
verticalAlign: 1,
|
|
178
|
+
visibility: 1,
|
|
179
|
+
whiteSpace: 1,
|
|
180
|
+
width: 1,
|
|
181
|
+
wordBreak: 1,
|
|
182
|
+
wordSpacing: 1,
|
|
183
|
+
wordWrap: 1,
|
|
184
|
+
zIndex: 1
|
|
185
|
+
};
|
|
186
|
+
var cssPropList_default = CSS_PROP_LIST;
|
|
187
|
+
export {
|
|
188
|
+
cssPropList_default as default
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=cssPropList.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Tag/cssPropList.ts"],
|
|
4
|
+
"sourcesContent": ["\nconst CSS_PROP_LIST: any = {\n typography: 1,\n bgcolor: 1,\n bgimage: 1,\n bg: 1,\n p: 1,\n pt: 1,\n pr: 1,\n pb: 1,\n pl: 1,\n px: 1,\n py: 1,\n m: 1,\n mt: 1,\n mr: 1,\n mb: 1,\n ml: 1,\n mx: 1,\n my: 1,\n radius: 1,\n shadow: 1,\n flexBox: 1,\n flexRow: 1,\n flexColumn: 1,\n flexWraped: 1,\n disabled: 1,\n spacing: 1,\n\n gradient: 1,\n\n // CSS Props\n alignContent: 1,\n alignItems: 1,\n alignSelf: 1,\n animation: 1,\n animationComposition: 1,\n animationDelay: 1,\n animationDirection: 1,\n animationDuration: 1,\n animationFillMode: 1,\n animationIterationCount: 1,\n animationName: 1,\n animationTimingFunction: 1,\n backdropFilter: 1,\n background: 1,\n backgroundAttachment: 1,\n backgroundColor: 1,\n backgroundImage: 1,\n backgroundOrigin: 1,\n backgroundPosition: 1,\n backgroundRepeat: 1,\n backgroundSize: 1,\n border: 1,\n borderBottom: 1,\n borderBottomColor: 1,\n borderBottomStyle: 1,\n borderBottomWidth: 1,\n borderColor: 1,\n borderImage: 1,\n borderLeft: 1,\n borderLeftColor: 1,\n borderLeftStyle: 1,\n borderLeftWidth: 1,\n borderRadius: 1,\n borderRight: 1,\n borderRightColor: 1,\n borderRightStyle: 1,\n borderRightWidth: 1,\n borderStyle: 1,\n borderTop: 1,\n borderTopColor: 1,\n borderTopLeftRadius: 1,\n borderTopRightRadius: 1,\n borderTopStyle: 1,\n borderTopWidth: 1,\n borderWidth: 1,\n bottom: 1,\n boxShadow: 1,\n boxSizing: 1,\n cursor: 1,\n color: 1,\n display: 1,\n direction: 1,\n filter: 1,\n flex: 1,\n flexBasis: 1,\n flexDirection: 1,\n flexFlow: 1,\n flexGrow: 1,\n flexShrink: 1,\n flexWrap: 1,\n float: 1,\n fontFamily: 1,\n fontSize: 1,\n fontStyle: 1,\n fontWeight: 1,\n font: 1,\n gap: 1,\n grid: 1,\n gridArea: 1,\n gridAutoColumns: 1,\n gridAutoFlow: 1,\n gridAutoRows: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnGap: 1,\n gridColumnStart: 1,\n gridGap: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowGap: 1,\n gridRowStart: 1,\n gridTemplate: 1,\n gridTemplateAreas: 1,\n gridTemplateColumns: 1,\n gridTemplateRows: 1,\n height: 1,\n justifyContent: 1,\n justifyItems: 1,\n justifySelf: 1,\n left: 1,\n letterSpacing: 1,\n lineBreak: 1,\n lineHeight: 1,\n listStyle: 1,\n margin: 1,\n marginBlock: 1,\n marginBlockEnd: 1,\n marginBlockStart: 1,\n marginBottom: 1,\n marginInline: 1,\n marginInlineEnd: 1,\n marginInlineStart: 1,\n marginLeft: 1,\n marginRight: 1,\n marginTop: 1,\n maxHeight: 1,\n maxWidth: 1,\n minHeight: 1,\n minWidth: 1,\n objectFit: 1,\n objectPosition: 1,\n opacity: 1,\n order: 1,\n outline: 1,\n overflow: 1,\n overflowX: 1,\n overflowY: 1,\n padding: 1,\n paddingBlock: 1,\n paddingBlockEnd: 1,\n paddingBlockStart: 1,\n paddingBottom: 1,\n paddingInline: 1,\n paddingInlineEnd: 1,\n paddingInlineStart: 1,\n paddingLeft: 1,\n paddingRight: 1,\n paddingTop: 1,\n perspective: 1,\n perspectiveOrigin: 1,\n pointerEvents: 1,\n position: 1,\n right: 1,\n textAlign: 1,\n textDecoration: 1,\n textShadow: 1,\n textTransform: 1,\n top: 1,\n transform: 1,\n transformOrigin: 1,\n transformStyle: 1,\n transition: 1,\n transitionDelay: 1,\n transitionDuration: 1,\n transitionProperty: 1,\n transitionTimingFunction: 1,\n userSelect: 1,\n verticalAlign: 1,\n visibility: 1,\n whiteSpace: 1,\n width: 1,\n wordBreak: 1,\n wordSpacing: 1,\n wordWrap: 1,\n zIndex: 1,\n}\n\nexport default CSS_PROP_LIST"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/Tag/index.d.ts
ADDED
package/Tag/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import useTagProps from "./useTagProps";
|
|
3
|
+
const Tag = React.forwardRef(({ component, children, ...rest }, ref) => {
|
|
4
|
+
const props = useTagProps(rest);
|
|
5
|
+
props.ref = ref;
|
|
6
|
+
return React.createElement(component || "div", props, children);
|
|
7
|
+
});
|
|
8
|
+
var Tag_default = Tag;
|
|
9
|
+
export {
|
|
10
|
+
Tag_default as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
package/Tag/index.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Tag/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport { TagComponentType, TagPropsRoot } from './types';\nimport useTagProps from './useTagProps';\n\nconst Tag = React.forwardRef(<T extends TagComponentType = 'div'>({ component, children, ...rest }: TagPropsRoot<T>, ref: React.Ref<any>) => {\n const props: any = useTagProps(rest)\n props.ref = ref\n return React.createElement(component || \"div\", props, children)\n}) as <T extends TagComponentType = 'div'>(props: TagPropsRoot<T> & { ref?: React.Ref<any> }) => React.ReactElement;\n\nexport default Tag"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;AAEvB,OAAO,iBAAiB;AAExB,MAAM,MAAM,MAAM,WAAW,CAAqC,EAAE,WAAW,UAAU,GAAG,KAAK,GAAoB,QAAwB;AACzI,QAAM,QAAa,YAAY,IAAI;AACnC,QAAM,MAAM;AACZ,SAAO,MAAM,cAAc,aAAa,OAAO,OAAO,QAAQ;AAClE,CAAC;AAED,IAAO,cAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/Tag/types.d.ts
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import * as CSS from 'csstype';
|
|
2
|
+
import { Aliases, BreakpointKeys, CSSProps, CSSValueType } from "../css/types";
|
|
3
|
+
import { ColorsRefTypes, TypographyRefTypes } from '../theme/types';
|
|
4
|
+
import { classNamesTypes } from 'pretty-class';
|
|
5
|
+
export type TagComponentType = keyof React.JSX.IntrinsicElements | React.ComponentType<any>;
|
|
6
|
+
export type TagProps<T extends TagComponentType = 'div'> = Omit<React.HTMLProps<T>, 'width' | 'height'> & {
|
|
7
|
+
component?: T;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
ref?: any;
|
|
10
|
+
} & CSSPropAsAttr;
|
|
11
|
+
export type TagPropsRoot<T extends TagComponentType = 'div'> = TagProps<T> & {
|
|
12
|
+
sxr?: CSSProps;
|
|
13
|
+
};
|
|
14
|
+
interface TagCSSProperties {
|
|
15
|
+
alignContent: CSSValueType<"alignContent">;
|
|
16
|
+
alignItems: CSSValueType<"alignItems">;
|
|
17
|
+
alignSelf: CSSValueType<"alignSelf">;
|
|
18
|
+
animation: CSSValueType<"animation">;
|
|
19
|
+
animationComposition: CSSValueType<"animationComposition">;
|
|
20
|
+
animationDelay: CSSValueType<"animationDelay">;
|
|
21
|
+
animationDirection: CSSValueType<"animationDirection">;
|
|
22
|
+
animationDuration: CSSValueType<"animationDuration">;
|
|
23
|
+
animationFillMode: CSSValueType<"animationFillMode">;
|
|
24
|
+
animationIterationCount: CSSValueType<"animationIterationCount">;
|
|
25
|
+
animationName: CSSValueType<"animationName">;
|
|
26
|
+
animationTimingFunction: CSSValueType<"animationTimingFunction">;
|
|
27
|
+
backdropFilter: CSSValueType<"backdropFilter">;
|
|
28
|
+
background: CSSValueType<"background"> | ColorsRefTypes;
|
|
29
|
+
backgroundAttachment: CSSValueType<"backgroundAttachment">;
|
|
30
|
+
backgroundColor: CSSValueType<"backgroundColor"> | ColorsRefTypes;
|
|
31
|
+
backgroundImage: CSSValueType<"backgroundImage">;
|
|
32
|
+
backgroundOrigin: CSSValueType<"backgroundOrigin">;
|
|
33
|
+
backgroundPosition: CSSValueType<"backgroundPosition">;
|
|
34
|
+
backgroundRepeat: CSSValueType<"backgroundRepeat">;
|
|
35
|
+
backgroundSize: CSSValueType<"backgroundSize">;
|
|
36
|
+
border: CSSValueType<"border">;
|
|
37
|
+
borderBottom: CSSValueType<"borderBottom">;
|
|
38
|
+
borderBottomColor: CSSValueType<"borderBottomColor"> | ColorsRefTypes;
|
|
39
|
+
borderBottomStyle: CSSValueType<"borderBottomStyle">;
|
|
40
|
+
borderBottomWidth: CSSValueType<"borderBottomWidth">;
|
|
41
|
+
borderColor: CSS.Properties['borderColor'] | ColorsRefTypes;
|
|
42
|
+
borderImage: CSSValueType<"borderImage">;
|
|
43
|
+
borderLeft: CSSValueType<"borderLeft">;
|
|
44
|
+
borderLeftColor: CSSValueType<"borderLeftColor"> | ColorsRefTypes;
|
|
45
|
+
borderLeftStyle: CSSValueType<"borderLeftStyle">;
|
|
46
|
+
borderLeftWidth: CSSValueType<"borderLeftWidth">;
|
|
47
|
+
borderRadius: CSSValueType<"borderRadius">;
|
|
48
|
+
borderRight: CSSValueType<"borderRight">;
|
|
49
|
+
borderRightColor: CSSValueType<"borderRightColor"> | ColorsRefTypes;
|
|
50
|
+
borderRightStyle: CSSValueType<"borderRightStyle">;
|
|
51
|
+
borderRightWidth: CSSValueType<"borderRightWidth">;
|
|
52
|
+
borderStyle: CSSValueType<"borderStyle">;
|
|
53
|
+
borderTop: CSSValueType<"borderTop">;
|
|
54
|
+
borderTopColor: CSSValueType<"borderTopColor"> | ColorsRefTypes;
|
|
55
|
+
borderTopLeftRadius: CSSValueType<"borderTopLeftRadius">;
|
|
56
|
+
borderTopRightRadius: CSSValueType<"borderTopRightRadius">;
|
|
57
|
+
borderTopStyle: CSSValueType<"borderTopStyle">;
|
|
58
|
+
borderTopWidth: CSSValueType<"borderTopWidth">;
|
|
59
|
+
borderWidth: CSSValueType<"borderWidth">;
|
|
60
|
+
bottom: CSSValueType<"bottom">;
|
|
61
|
+
boxShadow: CSSValueType<"boxShadow"> | number;
|
|
62
|
+
boxSizing: CSSValueType<"boxSizing">;
|
|
63
|
+
cursor: CSSValueType<"cursor">;
|
|
64
|
+
color: CSS.Properties['color'] | ColorsRefTypes;
|
|
65
|
+
display: CSSValueType<"display">;
|
|
66
|
+
direction: "row" | "column" | CSSValueType<"direction">;
|
|
67
|
+
filter: CSSValueType<"filter">;
|
|
68
|
+
flex: CSSValueType<"flex">;
|
|
69
|
+
flexBasis: CSSValueType<"flexBasis">;
|
|
70
|
+
flexDirection: CSSValueType<"flexDirection">;
|
|
71
|
+
flexFlow: CSSValueType<"flexFlow">;
|
|
72
|
+
flexGrow: CSSValueType<"flexGrow">;
|
|
73
|
+
flexShrink: CSSValueType<"flexShrink">;
|
|
74
|
+
flexWrap: CSSValueType<"flexWrap">;
|
|
75
|
+
float: CSSValueType<"float">;
|
|
76
|
+
fontFamily: CSSValueType<"fontFamily"> | "default";
|
|
77
|
+
fontSize: CSSValueType<"fontSize"> | TypographyRefTypes;
|
|
78
|
+
fontStyle: CSSValueType<"fontStyle">;
|
|
79
|
+
fontWeight: CSSValueType<"fontWeight"> | TypographyRefTypes;
|
|
80
|
+
font: CSSValueType<"font"> | TypographyRefTypes;
|
|
81
|
+
gap: CSSValueType<"gap">;
|
|
82
|
+
grid: CSSValueType<"grid">;
|
|
83
|
+
gridArea: CSSValueType<"gridArea">;
|
|
84
|
+
gridAutoColumns: CSSValueType<"gridAutoColumns">;
|
|
85
|
+
gridAutoFlow: CSSValueType<"gridAutoFlow">;
|
|
86
|
+
gridAutoRows: CSSValueType<"gridAutoRows">;
|
|
87
|
+
gridColumn: CSSValueType<"gridColumn">;
|
|
88
|
+
gridColumnEnd: CSSValueType<"gridColumnEnd">;
|
|
89
|
+
gridColumnGap: CSSValueType<"gridColumnGap">;
|
|
90
|
+
gridColumnStart: CSSValueType<"gridColumnStart">;
|
|
91
|
+
gridGap: CSSValueType<"gridGap">;
|
|
92
|
+
gridRow: CSSValueType<"gridRow">;
|
|
93
|
+
gridRowEnd: CSSValueType<"gridRowEnd">;
|
|
94
|
+
gridRowGap: CSSValueType<"gridRowGap">;
|
|
95
|
+
gridRowStart: CSSValueType<"gridRowStart">;
|
|
96
|
+
gridTemplate: CSSValueType<"gridTemplate">;
|
|
97
|
+
gridTemplateAreas: CSSValueType<"gridTemplateAreas">;
|
|
98
|
+
gridTemplateColumns: CSSValueType<"gridTemplateColumns">;
|
|
99
|
+
gridTemplateRows: CSSValueType<"gridTemplateRows">;
|
|
100
|
+
height: CSSValueType<"height">;
|
|
101
|
+
justifyContent: CSSValueType<"justifyContent">;
|
|
102
|
+
justifyItems: CSSValueType<"justifyItems">;
|
|
103
|
+
justifySelf: CSSValueType<"justifySelf">;
|
|
104
|
+
left: CSSValueType<"left">;
|
|
105
|
+
letterSpacing: CSSValueType<"letterSpacing">;
|
|
106
|
+
lineBreak: CSSValueType<"lineBreak">;
|
|
107
|
+
lineHeight: CSSValueType<"lineHeight"> | TypographyRefTypes;
|
|
108
|
+
listStyle: CSSValueType<"listStyle">;
|
|
109
|
+
margin: CSSValueType<"margin">;
|
|
110
|
+
marginBlock: CSSValueType<"marginBlock">;
|
|
111
|
+
marginBlockEnd: CSSValueType<"marginBlockEnd">;
|
|
112
|
+
marginBlockStart: CSSValueType<"marginBlockStart">;
|
|
113
|
+
marginBottom: CSSValueType<"marginBottom">;
|
|
114
|
+
marginInline: CSSValueType<"marginInline">;
|
|
115
|
+
marginInlineEnd: CSSValueType<"marginInlineEnd">;
|
|
116
|
+
marginInlineStart: CSSValueType<"marginInlineStart">;
|
|
117
|
+
marginLeft: CSSValueType<"marginLeft">;
|
|
118
|
+
marginRight: CSSValueType<"marginRight">;
|
|
119
|
+
marginTop: CSSValueType<"marginTop">;
|
|
120
|
+
maxHeight: CSSValueType<"maxHeight">;
|
|
121
|
+
maxWidth: CSSValueType<"maxWidth"> | BreakpointKeys;
|
|
122
|
+
minHeight: CSSValueType<"minHeight">;
|
|
123
|
+
minWidth: CSSValueType<"minWidth"> | BreakpointKeys;
|
|
124
|
+
objectFit: CSSValueType<"objectFit">;
|
|
125
|
+
objectPosition: CSSValueType<"objectPosition">;
|
|
126
|
+
opacity: CSSValueType<"opacity">;
|
|
127
|
+
order: CSSValueType<"order">;
|
|
128
|
+
outline: CSSValueType<"outline">;
|
|
129
|
+
overflow: CSSValueType<"overflow">;
|
|
130
|
+
overflowX: CSSValueType<"overflowX">;
|
|
131
|
+
overflowY: CSSValueType<"overflowY">;
|
|
132
|
+
padding: CSSValueType<"padding">;
|
|
133
|
+
paddingBlock: CSSValueType<"paddingBlock">;
|
|
134
|
+
paddingBlockEnd: CSSValueType<"paddingBlockEnd">;
|
|
135
|
+
paddingBlockStart: CSSValueType<"paddingBlockStart">;
|
|
136
|
+
paddingBottom: CSSValueType<"paddingBottom">;
|
|
137
|
+
paddingInline: CSSValueType<"paddingInline">;
|
|
138
|
+
paddingInlineEnd: CSSValueType<"paddingInlineEnd">;
|
|
139
|
+
paddingInlineStart: CSSValueType<"paddingInlineStart">;
|
|
140
|
+
paddingLeft: CSSValueType<"paddingLeft">;
|
|
141
|
+
paddingRight: CSSValueType<"paddingRight">;
|
|
142
|
+
paddingTop: CSSValueType<"paddingTop">;
|
|
143
|
+
perspective: CSSValueType<"perspective">;
|
|
144
|
+
perspectiveOrigin: CSSValueType<"perspectiveOrigin">;
|
|
145
|
+
pointerEvents: CSSValueType<"pointerEvents">;
|
|
146
|
+
position: CSSValueType<"position">;
|
|
147
|
+
right: CSSValueType<"right">;
|
|
148
|
+
textAlign: CSSValueType<"textAlign">;
|
|
149
|
+
textDecoration: CSSValueType<"textDecoration">;
|
|
150
|
+
textShadow: CSSValueType<"textShadow">;
|
|
151
|
+
textTransform: CSSValueType<"textTransform">;
|
|
152
|
+
top: CSSValueType<"top">;
|
|
153
|
+
transform: CSSValueType<"transform">;
|
|
154
|
+
transformOrigin: CSSValueType<"transformOrigin">;
|
|
155
|
+
transformStyle: CSSValueType<"transformStyle">;
|
|
156
|
+
transition: CSSValueType<"transition">;
|
|
157
|
+
transitionDelay: CSSValueType<"transitionDelay">;
|
|
158
|
+
transitionDuration: CSSValueType<"transitionDuration">;
|
|
159
|
+
transitionProperty: CSSValueType<"transitionProperty">;
|
|
160
|
+
transitionTimingFunction: CSSValueType<"transitionTimingFunction">;
|
|
161
|
+
translate: CSSValueType<"translate">;
|
|
162
|
+
userSelect: CSSValueType<"userSelect">;
|
|
163
|
+
verticalAlign: CSSValueType<"verticalAlign">;
|
|
164
|
+
visibility: CSSValueType<"visibility">;
|
|
165
|
+
whiteSpace: CSSValueType<"whiteSpace">;
|
|
166
|
+
width: CSSValueType<"width"> | BreakpointKeys;
|
|
167
|
+
wordBreak: CSSValueType<"wordBreak">;
|
|
168
|
+
wordSpacing: CSSValueType<"wordSpacing">;
|
|
169
|
+
wordWrap: CSSValueType<"wordWrap">;
|
|
170
|
+
zIndex: CSSValueType<"zIndex">;
|
|
171
|
+
}
|
|
172
|
+
export type CSSPropAsAttr = Partial<TagCSSProperties> & Aliases & {
|
|
173
|
+
baseClass?: string;
|
|
174
|
+
sx?: CSSProps;
|
|
175
|
+
hover?: CSSProps;
|
|
176
|
+
disabled?: boolean;
|
|
177
|
+
classNames?: classNamesTypes;
|
|
178
|
+
};
|
|
179
|
+
export {};
|
package/Tag/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
package/Tag/types.js.map
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import cssPropList from "./cssPropList";
|
|
2
|
+
import { css } from "../css";
|
|
3
|
+
import { classNames } from "pretty-class";
|
|
4
|
+
const useTagProps = ({ sxr, sx, baseClass, classNames: clses, hover, ...props }) => {
|
|
5
|
+
let _css = { ...sxr, ...sx, ...props };
|
|
6
|
+
if (hover) _css["&:hover"] = hover;
|
|
7
|
+
const style = css(_css, {
|
|
8
|
+
skipProps: (prop) => !cssPropList[prop]
|
|
9
|
+
});
|
|
10
|
+
let skipProps = style.skiped[style.classname] || [];
|
|
11
|
+
const _props = {};
|
|
12
|
+
for (let prop of skipProps) {
|
|
13
|
+
_props[prop] = props[prop];
|
|
14
|
+
}
|
|
15
|
+
_props.className = classNames([
|
|
16
|
+
baseClass ? "nui-" + baseClass : "",
|
|
17
|
+
style.classname,
|
|
18
|
+
props.className,
|
|
19
|
+
...clses || []
|
|
20
|
+
]);
|
|
21
|
+
return _props;
|
|
22
|
+
};
|
|
23
|
+
var useTagProps_default = useTagProps;
|
|
24
|
+
export {
|
|
25
|
+
useTagProps_default as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useTagProps.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Tag/useTagProps.ts"],
|
|
4
|
+
"sourcesContent": ["import { TagComponentType, TagProps, TagPropsRoot } from './types';\nimport cssPropList from './cssPropList';\nimport { css } from '../css';\nimport { classNames } from 'pretty-class';\n\nconst useTagProps = <T extends TagComponentType = \"div\">({ sxr, sx, baseClass, classNames: clses, hover, ...props }: TagPropsRoot<T>): TagProps<T> => {\n let _css: any = { ...sxr, ...sx, ...props }\n if (hover) _css['&:hover'] = hover\n const style = css(_css, {\n skipProps: (prop): any => !cssPropList[prop]\n })\n\n let skipProps = style.skiped[style.classname as any] || []\n const _props: any = {};\n for (let prop of skipProps) {\n _props[prop] = (props as any)[prop]\n }\n _props.className = classNames([\n baseClass ? \"nui-\" + baseClass : \"\",\n style.classname,\n props.className,\n ...(clses as any || []),\n ])\n return _props\n}\n\n\nexport default useTagProps"],
|
|
5
|
+
"mappings": "AACA,OAAO,iBAAiB;AACxB,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAE3B,MAAM,cAAc,CAAqC,EAAE,KAAK,IAAI,WAAW,YAAY,OAAO,OAAO,GAAG,MAAM,MAAoC;AACnJ,MAAI,OAAY,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM;AAC1C,MAAI,MAAO,MAAK,SAAS,IAAI;AAC7B,QAAM,QAAQ,IAAI,MAAM;AAAA,IACrB,WAAW,CAAC,SAAc,CAAC,YAAY,IAAI;AAAA,EAC9C,CAAC;AAED,MAAI,YAAY,MAAM,OAAO,MAAM,SAAgB,KAAK,CAAC;AACzD,QAAM,SAAc,CAAC;AACrB,WAAS,QAAQ,WAAW;AACzB,WAAO,IAAI,IAAK,MAAc,IAAI;AAAA,EACrC;AACA,SAAO,YAAY,WAAW;AAAA,IAC3B,YAAY,SAAS,YAAY;AAAA,IACjC,MAAM;AAAA,IACN,MAAM;AAAA,IACN,GAAI,SAAgB,CAAC;AAAA,EACxB,CAAC;AACD,SAAO;AACV;AAGA,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
|
+
import { animationEases } from '../useAnimation';
|
|
3
|
+
import { CSSProps } from '../css/types';
|
|
4
|
+
import * as variants from './variants';
|
|
5
|
+
export type TransitionVariantTypes = keyof typeof variants;
|
|
6
|
+
export type TransitionElementProps = {
|
|
7
|
+
height: number;
|
|
8
|
+
width: number;
|
|
9
|
+
rect: DOMRect | null;
|
|
10
|
+
};
|
|
11
|
+
export type TransitionState = "open" | "opened" | "close" | "closed";
|
|
12
|
+
export type TransitionProps = {
|
|
13
|
+
children: ReactElement;
|
|
14
|
+
open: boolean;
|
|
15
|
+
variant: {
|
|
16
|
+
from: CSSProps;
|
|
17
|
+
to: CSSProps;
|
|
18
|
+
} | TransitionVariantTypes;
|
|
19
|
+
ease?: string;
|
|
20
|
+
easing?: keyof typeof animationEases;
|
|
21
|
+
duration?: number;
|
|
22
|
+
delay?: number;
|
|
23
|
+
disableInitialTransition?: boolean;
|
|
24
|
+
onOpen?: () => void;
|
|
25
|
+
onOpened?: () => void;
|
|
26
|
+
onClose?: () => void;
|
|
27
|
+
onClosed?: () => void;
|
|
28
|
+
onState?: (state: TransitionState) => void;
|
|
29
|
+
};
|
|
30
|
+
declare const Transition: ({ children, open, ...props }: TransitionProps) => React.JSX.Element;
|
|
31
|
+
export default Transition;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import React, { cloneElement, Children, useState, useEffect, useId } from "react";
|
|
3
|
+
import Tag from "../Tag";
|
|
4
|
+
import { animationEases } from "../useAnimation";
|
|
5
|
+
import { css } from "../css";
|
|
6
|
+
import { formatCSSProp } from "oncss";
|
|
7
|
+
import * as variants from "./variants";
|
|
8
|
+
const Transition = ({ children, open, ...props }) => {
|
|
9
|
+
let { disableInitialTransition, variant, duration, delay, ease, easing, onOpen, onOpened, onClose, onClosed, onState } = props;
|
|
10
|
+
let _ease = ease || animationEases[easing] || animationEases.easeBounceOut;
|
|
11
|
+
disableInitialTransition ??= false;
|
|
12
|
+
duration ??= 400;
|
|
13
|
+
variant ??= "fade";
|
|
14
|
+
const id = useId().replaceAll(":", "");
|
|
15
|
+
const [rendered, setRendered] = useState(false);
|
|
16
|
+
const [transitionState, setTransitionState] = useState(open ? disableInitialTransition ? "opened" : "open" : "closed");
|
|
17
|
+
const [element, setElement] = useState({
|
|
18
|
+
height: 0,
|
|
19
|
+
width: 0,
|
|
20
|
+
rect: null
|
|
21
|
+
});
|
|
22
|
+
if (typeof variant === "string") {
|
|
23
|
+
variant = variants[variant](element);
|
|
24
|
+
}
|
|
25
|
+
let from = variant.from;
|
|
26
|
+
let to = variant.to;
|
|
27
|
+
const [_css, setCss] = useState(open ? to : from);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
30
|
+
if (ele) {
|
|
31
|
+
setRendered(true);
|
|
32
|
+
setElement({
|
|
33
|
+
height: ele.clientHeight,
|
|
34
|
+
width: ele.clientWidth,
|
|
35
|
+
rect: ele.getBoundingClientRect()
|
|
36
|
+
});
|
|
37
|
+
if (!disableInitialTransition && open) {
|
|
38
|
+
setCss(from);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
44
|
+
if (rendered && ele) {
|
|
45
|
+
let stimer = null;
|
|
46
|
+
let etimer = null;
|
|
47
|
+
ele.ontransitionstart = () => {
|
|
48
|
+
clearTimeout(stimer);
|
|
49
|
+
stimer = setTimeout(() => {
|
|
50
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
51
|
+
onOpen && isOpen && onOpen();
|
|
52
|
+
onClose && !isOpen && onClose();
|
|
53
|
+
onState && onState(isOpen ? "open" : "close");
|
|
54
|
+
setTransitionState(isOpen ? "open" : "close");
|
|
55
|
+
}, 1);
|
|
56
|
+
};
|
|
57
|
+
ele.ontransitionend = () => {
|
|
58
|
+
clearTimeout(etimer);
|
|
59
|
+
etimer = setTimeout(() => {
|
|
60
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
61
|
+
onOpened && isOpen && onOpened();
|
|
62
|
+
onClosed && !isOpen && onClosed();
|
|
63
|
+
onState && onState(isOpen ? "opened" : "closed");
|
|
64
|
+
setTransitionState(isOpen ? "opened" : "closed");
|
|
65
|
+
}, 1);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}, [rendered]);
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (rendered) {
|
|
71
|
+
setCss(open ? to : from);
|
|
72
|
+
}
|
|
73
|
+
}, [rendered, open]);
|
|
74
|
+
let _ = {};
|
|
75
|
+
if (rendered) {
|
|
76
|
+
let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
|
|
77
|
+
_ = {
|
|
78
|
+
transition: Object.keys(_css || {}).map((k) => formatCSSProp(k)).join(trans + ", ") + trans,
|
|
79
|
+
..._css
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const cls = css(_);
|
|
83
|
+
if (!children || Array.isArray(children)) throw new Error("Invalid children in Transition");
|
|
84
|
+
const first = Children.toArray(children).shift();
|
|
85
|
+
let classname = `${cls.classname} trans-${id} trans-${open ? "open" : "close"} trans-state-${transitionState}`;
|
|
86
|
+
const child = cloneElement(first, { className: classname });
|
|
87
|
+
if (rendered) return child;
|
|
88
|
+
return /* @__PURE__ */ React.createElement(
|
|
89
|
+
Tag,
|
|
90
|
+
{
|
|
91
|
+
height: 0,
|
|
92
|
+
overflow: "hidden"
|
|
93
|
+
},
|
|
94
|
+
child
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
var Transition_default = Transition;
|
|
98
|
+
export {
|
|
99
|
+
Transition_default as default
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Transition/index.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { ReactElement, cloneElement, Children, useState, useEffect, useId } from 'react';\nimport Tag from '../Tag';\nimport { animationEases } from '../useAnimation';\nimport { css } from '../css';\nimport { formatCSSProp } from 'oncss';\nimport { CSSProps } from '../css/types';\nimport * as variants from './variants'\nexport type TransitionVariantTypes = keyof typeof variants\n\nexport type TransitionElementProps = {\n height: number;\n width: number;\n rect: DOMRect | null\n}\n\nexport type TransitionState = \"open\" | \"opened\" | \"close\" | \"closed\"\n\nexport type TransitionProps = {\n children: ReactElement;\n open: boolean;\n variant: {\n from: CSSProps;\n to: CSSProps;\n } | TransitionVariantTypes;\n ease?: string;\n easing?: keyof typeof animationEases;\n duration?: number;\n delay?: number;\n disableInitialTransition?: boolean;\n onOpen?: () => void;\n onOpened?: () => void;\n onClose?: () => void;\n onClosed?: () => void;\n onState?: (state: TransitionState) => void;\n}\n\nconst Transition = ({ children, open, ...props }: TransitionProps) => {\n let { disableInitialTransition, variant, duration, delay, ease, easing, onOpen, onOpened, onClose, onClosed, onState } = props as TransitionProps\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.easeBounceOut\n disableInitialTransition ??= false\n duration ??= 400\n variant ??= \"fade\"\n\n const id = useId().replaceAll(\":\", \"\")\n const [rendered, setRendered] = useState(false)\n const [transitionState, setTransitionState] = useState<TransitionState>(open ? (disableInitialTransition ? \"opened\" : \"open\") : \"closed\")\n const [element, setElement] = useState<TransitionElementProps>({\n height: 0,\n width: 0,\n rect: null\n });\n\n if (typeof variant === 'string') {\n variant = (variants as any)[variant](element)\n }\n\n let from = (variant as any).from\n let to = (variant as any).to\n const [_css, setCss] = useState(open ? to : from)\n\n useEffect(() => {\n const ele: HTMLElement = document.querySelector(`.trans-${id}`) as any\n if (ele) {\n setRendered(true)\n setElement({\n height: ele.clientHeight,\n width: ele.clientWidth,\n rect: ele.getBoundingClientRect()\n })\n if (!disableInitialTransition && open) {\n setCss(from)\n }\n }\n }, [])\n\n useEffect(() => {\n const ele: HTMLElement = document.querySelector(`.trans-${id}`) as any\n if (rendered && ele) {\n let stimer: any = null\n let etimer: any = null\n ele.ontransitionstart = () => {\n clearTimeout(stimer)\n stimer = setTimeout(() => {\n const isOpen = Array.from(ele.classList).includes(\"trans-open\");\n (onOpen && isOpen) && onOpen();\n (onClose && !isOpen) && onClose()\n onState && onState(isOpen ? \"open\" : \"close\")\n setTransitionState(isOpen ? \"open\" : \"close\")\n }, 1)\n }\n ele.ontransitionend = () => {\n clearTimeout(etimer)\n etimer = setTimeout(() => {\n const isOpen = Array.from(ele.classList).includes(\"trans-open\");\n (onOpened && isOpen) && onOpened();\n (onClosed && !isOpen) && onClosed();\n onState && onState(isOpen ? \"opened\" : \"closed\")\n setTransitionState(isOpen ? \"opened\" : \"closed\")\n }, 1)\n }\n }\n }, [rendered])\n\n useEffect(() => {\n if (rendered) {\n setCss(open ? to : from)\n }\n }, [rendered, open])\n\n let _: any = {}\n if (rendered) {\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n _ = {\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\n ..._css\n }\n }\n\n const cls = css(_)\n if (!children || Array.isArray(children)) throw new Error(\"Invalid children in Transition\")\n const first: any = Children.toArray(children).shift();\n let classname = `${cls.classname} trans-${id} trans-${(open ? \"open\" : \"close\")} trans-state-${transitionState}`\n const child = cloneElement(first, { className: classname })\n if (rendered) return child\n\n return (\n <Tag\n height={0}\n overflow=\"hidden\"\n >\n {child}\n </Tag>\n )\n}\n\n\nexport default Transition"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|