@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.
Files changed (89) hide show
  1. package/ServerStyleTags.d.ts +3 -0
  2. package/ServerStyleTags.js +17 -0
  3. package/ServerStyleTags.js.map +7 -0
  4. package/Tag/cssPropList.d.ts +2 -0
  5. package/Tag/cssPropList.js +190 -0
  6. package/Tag/cssPropList.js.map +7 -0
  7. package/Tag/index.d.ts +6 -0
  8. package/Tag/index.js +12 -0
  9. package/Tag/index.js.map +7 -0
  10. package/Tag/types.d.ts +179 -0
  11. package/Tag/types.js +1 -0
  12. package/Tag/types.js.map +7 -0
  13. package/Tag/useTagProps.d.ts +3 -0
  14. package/Tag/useTagProps.js +27 -0
  15. package/Tag/useTagProps.js.map +7 -0
  16. package/Transition/index.d.ts +31 -0
  17. package/Transition/index.js +101 -0
  18. package/Transition/index.js.map +7 -0
  19. package/Transition/variants.d.ts +131 -0
  20. package/Transition/variants.js +175 -0
  21. package/Transition/variants.js.map +7 -0
  22. package/breakpoint/index.d.ts +6 -0
  23. package/breakpoint/index.js +46 -0
  24. package/breakpoint/index.js.map +7 -0
  25. package/breakpoint/useBreakpoint.d.ts +10 -0
  26. package/breakpoint/useBreakpoint.js +32 -0
  27. package/breakpoint/useBreakpoint.js.map +7 -0
  28. package/breakpoint/useBreakpointProps.d.ts +6 -0
  29. package/breakpoint/useBreakpointProps.js +48 -0
  30. package/breakpoint/useBreakpointProps.js.map +7 -0
  31. package/css/aliases.d.ts +4 -0
  32. package/css/aliases.js +34 -0
  33. package/css/aliases.js.map +7 -0
  34. package/css/getProps.d.ts +3 -0
  35. package/css/getProps.js +37 -0
  36. package/css/getProps.js.map +7 -0
  37. package/css/getValue.d.ts +3 -0
  38. package/css/getValue.js +108 -0
  39. package/css/getValue.js.map +7 -0
  40. package/css/index.d.ts +15 -0
  41. package/css/index.js +70 -0
  42. package/css/index.js.map +7 -0
  43. package/css/types.d.ts +54 -0
  44. package/css/types.js +1 -0
  45. package/css/types.js.map +7 -0
  46. package/index.d.ts +21 -0
  47. package/index.js +30 -0
  48. package/index.js.map +7 -0
  49. package/isWindow.d.ts +2 -0
  50. package/isWindow.js +6 -0
  51. package/isWindow.js.map +7 -0
  52. package/package.json +28 -0
  53. package/readme.md +0 -0
  54. package/theme/ThemeCssVars.d.ts +3 -0
  55. package/theme/ThemeCssVars.js +92 -0
  56. package/theme/ThemeCssVars.js.map +7 -0
  57. package/theme/ThemeDefaultOptions.d.ts +68 -0
  58. package/theme/ThemeDefaultOptions.js +148 -0
  59. package/theme/ThemeDefaultOptions.js.map +7 -0
  60. package/theme/ThemeProvider.d.ts +10 -0
  61. package/theme/ThemeProvider.js +120 -0
  62. package/theme/ThemeProvider.js.map +7 -0
  63. package/theme/core.d.ts +7 -0
  64. package/theme/core.js +26 -0
  65. package/theme/core.js.map +7 -0
  66. package/theme/createColor.d.ts +41 -0
  67. package/theme/createColor.js +52 -0
  68. package/theme/createColor.js.map +7 -0
  69. package/theme/createTheme.d.ts +2 -0
  70. package/theme/createTheme.js +33 -0
  71. package/theme/createTheme.js.map +7 -0
  72. package/theme/createThemeSwitcher.d.ts +6 -0
  73. package/theme/createThemeSwitcher.js +19 -0
  74. package/theme/createThemeSwitcher.js.map +7 -0
  75. package/theme/index.d.ts +4 -0
  76. package/theme/index.js +14 -0
  77. package/theme/index.js.map +7 -0
  78. package/theme/types.d.ts +124 -0
  79. package/theme/types.js +1 -0
  80. package/theme/types.js.map +7 -0
  81. package/useAnimation.d.ts +18 -0
  82. package/useAnimation.js +33 -0
  83. package/useAnimation.js.map +7 -0
  84. package/useColorTemplate.d.ts +4 -0
  85. package/useColorTemplate.js +11 -0
  86. package/useColorTemplate.js.map +7 -0
  87. package/useInterface.d.ts +2 -0
  88. package/useInterface.js +14 -0
  89. package/useInterface.js.map +7 -0
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const ServerStyleTags: () => React.JSX.Element[];
3
+ export default ServerStyleTags;
@@ -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,2 @@
1
+ declare const CSS_PROP_LIST: any;
2
+ export default CSS_PROP_LIST;
@@ -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
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { TagComponentType, TagPropsRoot } from './types';
3
+ declare const Tag: <T extends TagComponentType = "div">(props: TagPropsRoot<T> & {
4
+ ref?: React.Ref<any>;
5
+ }) => React.ReactElement;
6
+ export default Tag;
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
@@ -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
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ import { TagComponentType, TagProps, TagPropsRoot } from './types';
2
+ declare const useTagProps: <T extends TagComponentType = "div">({ sxr, sx, baseClass, classNames: clses, hover, ...props }: TagPropsRoot<T>) => TagProps<T>;
3
+ export default useTagProps;
@@ -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": ";AACA,OAAO,SAAuB,cAAc,UAAU,UAAU,WAAW,aAAa;AACxF,OAAO,SAAS;AAChB,SAAS,sBAAsB;AAC/B,SAAS,WAAW;AACpB,SAAS,qBAAqB;AAE9B,YAAY,cAAc;AA8B1B,MAAM,aAAa,CAAC,EAAE,UAAU,MAAM,GAAG,MAAM,MAAuB;AAClE,MAAI,EAAE,0BAA0B,SAAS,UAAU,OAAO,MAAM,QAAQ,QAAQ,UAAU,SAAS,UAAU,QAAQ,IAAI;AACzH,MAAI,QAAQ,QAAS,eAAuB,MAAa,KAAK,eAAe;AAC7E,+BAA6B;AAC7B,eAAa;AACb,cAAY;AAEZ,QAAM,KAAK,MAAM,EAAE,WAAW,KAAK,EAAE;AACrC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAA0B,OAAQ,2BAA2B,WAAW,SAAU,QAAQ;AACxI,QAAM,CAAC,SAAS,UAAU,IAAI,SAAiC;AAAA,IAC3D,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,MAAM;AAAA,EACV,CAAC;AAED,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAW,SAAiB,OAAO,EAAE,OAAO;AAAA,EAChD;AAEA,MAAI,OAAQ,QAAgB;AAC5B,MAAI,KAAM,QAAgB;AAC1B,QAAM,CAAC,MAAM,MAAM,IAAI,SAAS,OAAO,KAAK,IAAI;AAEhD,YAAU,MAAM;AACZ,UAAM,MAAmB,SAAS,cAAc,UAAU,EAAE,EAAE;AAC9D,QAAI,KAAK;AACL,kBAAY,IAAI;AAChB,iBAAW;AAAA,QACP,QAAQ,IAAI;AAAA,QACZ,OAAO,IAAI;AAAA,QACX,MAAM,IAAI,sBAAsB;AAAA,MACpC,CAAC;AACD,UAAI,CAAC,4BAA4B,MAAM;AACnC,eAAO,IAAI;AAAA,MACf;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACZ,UAAM,MAAmB,SAAS,cAAc,UAAU,EAAE,EAAE;AAC9D,QAAI,YAAY,KAAK;AACjB,UAAI,SAAc;AAClB,UAAI,SAAc;AAClB,UAAI,oBAAoB,MAAM;AAC1B,qBAAa,MAAM;AACnB,iBAAS,WAAW,MAAM;AACtB,gBAAM,SAAS,MAAM,KAAK,IAAI,SAAS,EAAE,SAAS,YAAY;AAC9D,UAAC,UAAU,UAAW,OAAO;AAC7B,UAAC,WAAW,CAAC,UAAW,QAAQ;AAChC,qBAAW,QAAQ,SAAS,SAAS,OAAO;AAC5C,6BAAmB,SAAS,SAAS,OAAO;AAAA,QAChD,GAAG,CAAC;AAAA,MACR;AACA,UAAI,kBAAkB,MAAM;AACxB,qBAAa,MAAM;AACnB,iBAAS,WAAW,MAAM;AACtB,gBAAM,SAAS,MAAM,KAAK,IAAI,SAAS,EAAE,SAAS,YAAY;AAC9D,UAAC,YAAY,UAAW,SAAS;AACjC,UAAC,YAAY,CAAC,UAAW,SAAS;AAClC,qBAAW,QAAQ,SAAS,WAAW,QAAQ;AAC/C,6BAAmB,SAAS,WAAW,QAAQ;AAAA,QACnD,GAAG,CAAC;AAAA,MACR;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAU,MAAM;AACZ,QAAI,UAAU;AACV,aAAO,OAAO,KAAK,IAAI;AAAA,IAC3B;AAAA,EACJ,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,MAAI,IAAS,CAAC;AACd,MAAI,UAAU;AACV,QAAI,QAAQ,IAAI,QAAQ,MAAM,KAAK,IAAI,SAAS,CAAC;AACjD,QAAI;AAAA,MACA,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,EAAE,IAAI,OAAK,cAAc,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI;AAAA,MACpF,GAAG;AAAA,IACP;AAAA,EACJ;AAEA,QAAM,MAAM,IAAI,CAAC;AACjB,MAAI,CAAC,YAAY,MAAM,QAAQ,QAAQ,EAAG,OAAM,IAAI,MAAM,gCAAgC;AAC1F,QAAM,QAAa,SAAS,QAAQ,QAAQ,EAAE,MAAM;AACpD,MAAI,YAAY,GAAG,IAAI,SAAS,UAAU,EAAE,UAAW,OAAO,SAAS,OAAQ,gBAAgB,eAAe;AAC9G,QAAM,QAAQ,aAAa,OAAO,EAAE,WAAW,UAAU,CAAC;AAC1D,MAAI,SAAU,QAAO;AAErB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,QAAQ;AAAA,MACR,UAAS;AAAA;AAAA,IAER;AAAA,EACL;AAER;AAGA,IAAO,qBAAQ;",
6
+ "names": []
7
+ }