@xanui/core 1.1.3 → 1.1.6
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 -1
- package/ServerStyleTags.js +3 -2
- package/ServerStyleTags.js.map +1 -7
- package/ServerStyleTags.mjs +3 -0
- package/ServerStyleTags.mjs.map +1 -0
- package/Tag/cssPropList.js +186 -2
- package/Tag/cssPropList.js.map +1 -7
- package/Tag/cssPropList.mjs +186 -0
- package/Tag/cssPropList.mjs.map +1 -0
- package/Tag/index.d.ts +4 -2
- package/Tag/index.js +6 -2
- package/Tag/index.js.map +1 -7
- package/Tag/index.mjs +6 -0
- package/Tag/index.mjs.map +1 -0
- package/Tag/types.d.ts +9 -7
- package/Tag/useTagProps.d.ts +4 -2
- package/Tag/useTagProps.js +21 -2
- package/Tag/useTagProps.js.map +1 -7
- package/Tag/useTagProps.mjs +21 -0
- package/Tag/useTagProps.mjs.map +1 -0
- package/Transition/index.d.ts +13 -10
- package/Transition/index.js +93 -2
- package/Transition/index.js.map +1 -7
- package/Transition/index.mjs +93 -0
- package/Transition/index.mjs.map +1 -0
- package/Transition/variants.d.ts +18 -15
- package/Transition/variants.js +158 -2
- package/Transition/variants.js.map +1 -7
- package/Transition/variants.mjs +158 -0
- package/Transition/variants.mjs.map +1 -0
- package/breakpoint/BreakpointProvider.js +43 -0
- package/breakpoint/BreakpointProvider.js.map +1 -0
- package/breakpoint/BreakpointProvider.mjs +43 -0
- package/breakpoint/BreakpointProvider.mjs.map +1 -0
- package/breakpoint/useBreakpoint.d.ts +4 -2
- package/breakpoint/useBreakpoint.js +23 -2
- package/breakpoint/useBreakpoint.js.map +1 -7
- package/breakpoint/useBreakpoint.mjs +23 -0
- package/breakpoint/useBreakpoint.mjs.map +1 -0
- package/breakpoint/useBreakpointProps.d.ts +6 -3
- package/breakpoint/useBreakpointProps.js +42 -2
- package/breakpoint/useBreakpointProps.js.map +1 -7
- package/breakpoint/useBreakpointProps.mjs +42 -0
- package/breakpoint/useBreakpointProps.mjs.map +1 -0
- package/css/aliases.js +29 -2
- package/css/aliases.js.map +1 -7
- package/css/aliases.mjs +29 -0
- package/css/aliases.mjs.map +1 -0
- package/css/getProps.d.ts +4 -2
- package/css/getProps.js +32 -2
- package/css/getProps.js.map +1 -7
- package/css/getProps.mjs +32 -0
- package/css/getProps.mjs.map +1 -0
- package/css/getValue.d.ts +4 -2
- package/css/getValue.js +92 -2
- package/css/getValue.js.map +1 -7
- package/css/getValue.mjs +92 -0
- package/css/getValue.mjs.map +1 -0
- package/css/index.d.ts +10 -9
- package/css/index.js +55 -2
- package/css/index.js.map +1 -7
- package/css/index.mjs +55 -0
- package/css/index.mjs.map +1 -0
- package/css/types.d.ts +12 -9
- package/index.d.ts +19 -21
- package/index.js +1 -2
- package/index.js.map +1 -7
- package/index.mjs +1 -0
- package/index.mjs.map +1 -0
- package/isWindow.d.ts +2 -1
- package/isWindow.js +1 -2
- package/isWindow.js.map +1 -7
- package/isWindow.mjs +1 -0
- package/isWindow.mjs.map +1 -0
- package/package.json +28 -24
- package/theme/ThemeCssVars.js +5 -2
- package/theme/ThemeCssVars.js.map +1 -7
- package/theme/ThemeCssVars.mjs +5 -0
- package/theme/ThemeCssVars.mjs.map +1 -0
- package/theme/ThemeDefaultOptions.js +131 -2
- package/theme/ThemeDefaultOptions.js.map +1 -7
- package/theme/ThemeDefaultOptions.mjs +131 -0
- package/theme/ThemeDefaultOptions.mjs.map +1 -0
- package/theme/ThemeProvider.d.ts +7 -4
- package/theme/ThemeProvider.js +88 -2
- package/theme/ThemeProvider.js.map +1 -7
- package/theme/ThemeProvider.mjs +88 -0
- package/theme/ThemeProvider.mjs.map +1 -0
- package/theme/core.d.ts +6 -7
- package/theme/core.js +18 -2
- package/theme/core.js.map +1 -7
- package/theme/core.mjs +18 -0
- package/theme/core.mjs.map +1 -0
- package/theme/createColor.js +46 -2
- package/theme/createColor.js.map +1 -7
- package/theme/createColor.mjs +46 -0
- package/theme/createColor.mjs.map +1 -0
- package/theme/createTheme.js +21 -2
- package/theme/createTheme.js.map +1 -7
- package/theme/createTheme.mjs +21 -0
- package/theme/createTheme.mjs.map +1 -0
- package/theme/createThemeSwitcher.d.ts +5 -2
- package/theme/createThemeSwitcher.js +12 -2
- package/theme/createThemeSwitcher.js.map +1 -7
- package/theme/createThemeSwitcher.mjs +12 -0
- package/theme/createThemeSwitcher.mjs.map +1 -0
- package/theme/index.js +2 -2
- package/theme/index.js.map +1 -7
- package/theme/index.mjs +2 -0
- package/theme/index.mjs.map +1 -0
- package/theme/types.d.ts +17 -14
- package/useAnimation.d.ts +7 -4
- package/useAnimation.js +25 -2
- package/useAnimation.js.map +1 -7
- package/useAnimation.mjs +25 -0
- package/useAnimation.mjs.map +1 -0
- package/useColorTemplate.d.ts +5 -3
- package/useColorTemplate.js +6 -2
- package/useColorTemplate.js.map +1 -7
- package/useColorTemplate.mjs +6 -0
- package/useColorTemplate.mjs.map +1 -0
- package/useInterface.d.ts +5 -2
- package/useInterface.js +8 -2
- package/useInterface.js.map +1 -7
- package/useInterface.mjs +8 -0
- package/useInterface.mjs.map +1 -0
- package/Tag/cssPropList.d.ts +0 -2
- package/Tag/types.js +0 -1
- package/Tag/types.js.map +0 -7
- package/breakpoint/index.d.ts +0 -6
- package/breakpoint/index.js +0 -2
- package/breakpoint/index.js.map +0 -7
- package/cjs/ServerStyleTags.js +0 -2
- package/cjs/ServerStyleTags.js.map +0 -7
- package/cjs/Tag/cssPropList.js +0 -2
- package/cjs/Tag/cssPropList.js.map +0 -7
- package/cjs/Tag/index.js +0 -2
- package/cjs/Tag/index.js.map +0 -7
- package/cjs/Tag/types.js +0 -2
- package/cjs/Tag/types.js.map +0 -7
- package/cjs/Tag/useTagProps.js +0 -2
- package/cjs/Tag/useTagProps.js.map +0 -7
- package/cjs/Transition/index.js +0 -2
- package/cjs/Transition/index.js.map +0 -7
- package/cjs/Transition/variants.js +0 -2
- package/cjs/Transition/variants.js.map +0 -7
- package/cjs/breakpoint/index.js +0 -2
- package/cjs/breakpoint/index.js.map +0 -7
- package/cjs/breakpoint/useBreakpoint.js +0 -2
- package/cjs/breakpoint/useBreakpoint.js.map +0 -7
- package/cjs/breakpoint/useBreakpointProps.js +0 -2
- package/cjs/breakpoint/useBreakpointProps.js.map +0 -7
- package/cjs/css/aliases.js +0 -2
- package/cjs/css/aliases.js.map +0 -7
- package/cjs/css/getProps.js +0 -2
- package/cjs/css/getProps.js.map +0 -7
- package/cjs/css/getValue.js +0 -2
- package/cjs/css/getValue.js.map +0 -7
- package/cjs/css/index.js +0 -2
- package/cjs/css/index.js.map +0 -7
- package/cjs/css/types.js +0 -2
- package/cjs/css/types.js.map +0 -7
- package/cjs/index.js +0 -2
- package/cjs/index.js.map +0 -7
- package/cjs/isWindow.js +0 -2
- package/cjs/isWindow.js.map +0 -7
- package/cjs/theme/ThemeCssVars.js +0 -2
- package/cjs/theme/ThemeCssVars.js.map +0 -7
- package/cjs/theme/ThemeDefaultOptions.js +0 -2
- package/cjs/theme/ThemeDefaultOptions.js.map +0 -7
- package/cjs/theme/ThemeProvider.js +0 -2
- package/cjs/theme/ThemeProvider.js.map +0 -7
- package/cjs/theme/core.js +0 -2
- package/cjs/theme/core.js.map +0 -7
- package/cjs/theme/createColor.js +0 -2
- package/cjs/theme/createColor.js.map +0 -7
- package/cjs/theme/createTheme.js +0 -2
- package/cjs/theme/createTheme.js.map +0 -7
- package/cjs/theme/createThemeSwitcher.js +0 -2
- package/cjs/theme/createThemeSwitcher.js.map +0 -7
- package/cjs/theme/index.js +0 -2
- package/cjs/theme/index.js.map +0 -7
- package/cjs/theme/types.js +0 -2
- package/cjs/theme/types.js.map +0 -7
- package/cjs/useAnimation.js +0 -2
- package/cjs/useAnimation.js.map +0 -7
- package/cjs/useColorTemplate.js +0 -2
- package/cjs/useColorTemplate.js.map +0 -7
- package/cjs/useInterface.js +0 -2
- package/cjs/useInterface.js.map +0 -7
- package/css/aliases.d.ts +0 -4
- package/css/types.js +0 -1
- package/css/types.js.map +0 -7
- package/theme/ThemeCssVars.d.ts +0 -3
- package/theme/ThemeDefaultOptions.d.ts +0 -68
- package/theme/createColor.d.ts +0 -41
- package/theme/createTheme.d.ts +0 -2
- package/theme/index.d.ts +0 -5
- package/theme/types.js +0 -1
- package/theme/types.js.map +0 -7
package/Transition/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { animationEases } from '../useAnimation';
|
|
3
|
-
import { CSSProps } from '../css/types';
|
|
4
|
-
import * as variants from './variants';
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import React__default, { ReactElement } from 'react';
|
|
2
|
+
import { animationEases } from '../useAnimation.js';
|
|
3
|
+
import { CSSProps } from '../css/types.js';
|
|
4
|
+
import * as variants from './variants.js';
|
|
5
|
+
|
|
6
|
+
type TransitionVariantTypes = keyof typeof variants;
|
|
7
|
+
type TransitionElementProps = {
|
|
7
8
|
height: number;
|
|
8
9
|
width: number;
|
|
9
10
|
rect: DOMRect | null;
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
type TransitionState = "open" | "opened" | "close" | "closed";
|
|
13
|
+
type TransitionProps = {
|
|
13
14
|
children: ReactElement;
|
|
14
15
|
open: boolean;
|
|
15
16
|
variant: {
|
|
@@ -27,5 +28,7 @@ export type TransitionProps = {
|
|
|
27
28
|
onClosed?: () => void;
|
|
28
29
|
onState?: (state: TransitionState) => void;
|
|
29
30
|
};
|
|
30
|
-
declare const Transition: ({ children, open, ...props }: TransitionProps) =>
|
|
31
|
-
|
|
31
|
+
declare const Transition: ({ children, open, ...props }: TransitionProps) => React__default.JSX.Element;
|
|
32
|
+
|
|
33
|
+
export { Transition as default };
|
|
34
|
+
export type { TransitionElementProps, TransitionProps, TransitionState, TransitionVariantTypes };
|
package/Transition/index.js
CHANGED
|
@@ -1,2 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use strict';var tslib=require('tslib'),React=require('react'),index$1=require('../Tag/index.js'),useAnimation=require('../useAnimation.js'),index=require('../css/index.js'),oncss=require('oncss'),variants=require('./variants.js');const Transition = (_a) => {
|
|
2
|
+
var { children, open } = _a, props = tslib.__rest(_a, ["children", "open"]);
|
|
3
|
+
let { disableInitialTransition, variant, duration, delay, ease, easing, onOpen, onOpened, onClose, onClosed, onState } = props;
|
|
4
|
+
let _ease = ease || useAnimation.animationEases[easing] || useAnimation.animationEases.easeBounceOut;
|
|
5
|
+
disableInitialTransition !== null && disableInitialTransition !== void 0 ? disableInitialTransition : (disableInitialTransition = false);
|
|
6
|
+
duration !== null && duration !== void 0 ? duration : (duration = 400);
|
|
7
|
+
variant !== null && variant !== void 0 ? variant : (variant = "fade");
|
|
8
|
+
const id = React.useId().replace(/:/g, "");
|
|
9
|
+
const [rendered, setRendered] = React.useState(false);
|
|
10
|
+
const [initial, setInitial] = React.useState(false);
|
|
11
|
+
const [transitionState, setTransitionState] = React.useState(open ? (disableInitialTransition ? "opened" : "open") : "closed");
|
|
12
|
+
const [element, setElement] = React.useState({
|
|
13
|
+
height: 0,
|
|
14
|
+
width: 0,
|
|
15
|
+
rect: null
|
|
16
|
+
});
|
|
17
|
+
if (typeof variant === 'string') {
|
|
18
|
+
variant = variants[variant](element);
|
|
19
|
+
}
|
|
20
|
+
let from = variant.from;
|
|
21
|
+
let to = variant.to;
|
|
22
|
+
const [_css, setCss] = React.useState(open ? to : from);
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
25
|
+
if (ele) {
|
|
26
|
+
setRendered(true);
|
|
27
|
+
setElement({
|
|
28
|
+
height: ele.clientHeight,
|
|
29
|
+
width: ele.clientWidth,
|
|
30
|
+
rect: ele.getBoundingClientRect()
|
|
31
|
+
});
|
|
32
|
+
if (!disableInitialTransition && open) {
|
|
33
|
+
setCss(from);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, []);
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
39
|
+
if (rendered && ele) {
|
|
40
|
+
let stimer = null;
|
|
41
|
+
let etimer = null;
|
|
42
|
+
ele.ontransitionstart = () => {
|
|
43
|
+
clearTimeout(stimer);
|
|
44
|
+
stimer = setTimeout(() => {
|
|
45
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
46
|
+
(onOpen && isOpen) && onOpen();
|
|
47
|
+
(onClose && !isOpen) && onClose();
|
|
48
|
+
onState && onState(isOpen ? "open" : "close");
|
|
49
|
+
setTransitionState(isOpen ? "open" : "close");
|
|
50
|
+
}, 1);
|
|
51
|
+
};
|
|
52
|
+
ele.ontransitionend = () => {
|
|
53
|
+
clearTimeout(etimer);
|
|
54
|
+
etimer = setTimeout(() => {
|
|
55
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
56
|
+
(onOpened && isOpen) && onOpened();
|
|
57
|
+
(onClosed && !isOpen) && onClosed();
|
|
58
|
+
onState && onState(isOpen ? "opened" : "closed");
|
|
59
|
+
setTransitionState(isOpen ? "opened" : "closed");
|
|
60
|
+
}, 1);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}, [rendered]);
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
if (rendered) {
|
|
66
|
+
if (!initial) {
|
|
67
|
+
setInitial(true);
|
|
68
|
+
setTimeout(() => {
|
|
69
|
+
setCss(open ? to : from);
|
|
70
|
+
}, 50);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
setCss(open ? to : from);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}, [rendered, open, JSON.stringify(from), JSON.stringify(to)]);
|
|
77
|
+
let _ = {};
|
|
78
|
+
if (rendered) {
|
|
79
|
+
let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
|
|
80
|
+
_ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => oncss.formatCSSProp(k)).join(trans + ", ") + trans });
|
|
81
|
+
}
|
|
82
|
+
const cls = index.css(_);
|
|
83
|
+
if (!children || Array.isArray(children))
|
|
84
|
+
throw new Error("Invalid children in Transition");
|
|
85
|
+
const first = React.Children.toArray(children).shift();
|
|
86
|
+
let classname = `${cls.classname} trans-${id} trans-${(open ? "open" : "close")} trans-state-${transitionState}`;
|
|
87
|
+
const child = React.cloneElement(first, { classNames: [classname] });
|
|
88
|
+
if (rendered)
|
|
89
|
+
return child;
|
|
90
|
+
if (!rendered && disableInitialTransition && open)
|
|
91
|
+
return child;
|
|
92
|
+
return (React.createElement(index$1, { height: 0, overflow: "hidden" }, child));
|
|
93
|
+
};module.exports=Transition;//# sourceMappingURL=index.js.map
|
package/Transition/index.js.map
CHANGED
|
@@ -1,7 +1 @@
|
|
|
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().replace(/:/g, \"\")\n const [rendered, setRendered] = useState(false)\n const [initial, setInitial] = 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\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 if (!initial) {\n setInitial(true)\n setTimeout(() => {\n setCss(open ? to : from)\n }, 50);\n } else {\n setCss(open ? to : from)\n }\n }\n }, [rendered, open, JSON.stringify(from), JSON.stringify(to)])\n\n let _: any = {}\n if (rendered) {\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\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, { classNames: [classname] })\n if (rendered) return child\n if (!rendered && disableInitialTransition && open) 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": ["React", "cloneElement", "Children", "useState", "useEffect", "useId", "Tag", "animationEases", "css", "formatCSSProp", "variants", "Transition", "children", "open", "props", "disableInitialTransition", "variant", "duration", "delay", "ease", "easing", "onOpen", "onOpened", "onClose", "onClosed", "onState", "_ease", "id", "rendered", "setRendered", "initial", "setInitial", "transitionState", "setTransitionState", "element", "setElement", "from", "to", "_css", "setCss", "ele", "stimer", "etimer", "isOpen", "_", "trans", "k", "cls", "first", "classname", "child", "Transition_default"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/Transition/index.tsx"],"sourcesContent":["import 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().replace(/:/g, \"\")\n const [rendered, setRendered] = useState(false)\n const [initial, setInitial] = 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\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 if (!initial) {\n setInitial(true)\n setTimeout(() => {\n setCss(open ? to : from)\n }, 50);\n } else {\n setCss(open ? to : from)\n }\n }\n }, [rendered, open, JSON.stringify(from), JSON.stringify(to)])\n\n let _: any = {}\n if (rendered) {\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\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, { classNames: [classname] })\n if (rendered) return child\n if (!rendered && disableInitialTransition && open) 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"],"names":["__rest","animationEases","useId","useState","useEffect","formatCSSProp","css","Children","cloneElement","Tag"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import {__rest}from'tslib';import React__default,{useId,useState,useEffect,Children,cloneElement}from'react';import Tag from'../Tag/index.mjs';import {animationEases}from'../useAnimation.mjs';import {css}from'../css/index.mjs';import {formatCSSProp}from'oncss';import*as variants from'./variants.mjs';const Transition = (_a) => {
|
|
2
|
+
var { children, open } = _a, props = __rest(_a, ["children", "open"]);
|
|
3
|
+
let { disableInitialTransition, variant, duration, delay, ease, easing, onOpen, onOpened, onClose, onClosed, onState } = props;
|
|
4
|
+
let _ease = ease || animationEases[easing] || animationEases.easeBounceOut;
|
|
5
|
+
disableInitialTransition !== null && disableInitialTransition !== void 0 ? disableInitialTransition : (disableInitialTransition = false);
|
|
6
|
+
duration !== null && duration !== void 0 ? duration : (duration = 400);
|
|
7
|
+
variant !== null && variant !== void 0 ? variant : (variant = "fade");
|
|
8
|
+
const id = useId().replace(/:/g, "");
|
|
9
|
+
const [rendered, setRendered] = useState(false);
|
|
10
|
+
const [initial, setInitial] = useState(false);
|
|
11
|
+
const [transitionState, setTransitionState] = useState(open ? (disableInitialTransition ? "opened" : "open") : "closed");
|
|
12
|
+
const [element, setElement] = useState({
|
|
13
|
+
height: 0,
|
|
14
|
+
width: 0,
|
|
15
|
+
rect: null
|
|
16
|
+
});
|
|
17
|
+
if (typeof variant === 'string') {
|
|
18
|
+
variant = variants[variant](element);
|
|
19
|
+
}
|
|
20
|
+
let from = variant.from;
|
|
21
|
+
let to = variant.to;
|
|
22
|
+
const [_css, setCss] = useState(open ? to : from);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
25
|
+
if (ele) {
|
|
26
|
+
setRendered(true);
|
|
27
|
+
setElement({
|
|
28
|
+
height: ele.clientHeight,
|
|
29
|
+
width: ele.clientWidth,
|
|
30
|
+
rect: ele.getBoundingClientRect()
|
|
31
|
+
});
|
|
32
|
+
if (!disableInitialTransition && open) {
|
|
33
|
+
setCss(from);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}, []);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const ele = document.querySelector(`.trans-${id}`);
|
|
39
|
+
if (rendered && ele) {
|
|
40
|
+
let stimer = null;
|
|
41
|
+
let etimer = null;
|
|
42
|
+
ele.ontransitionstart = () => {
|
|
43
|
+
clearTimeout(stimer);
|
|
44
|
+
stimer = setTimeout(() => {
|
|
45
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
46
|
+
(onOpen && isOpen) && onOpen();
|
|
47
|
+
(onClose && !isOpen) && onClose();
|
|
48
|
+
onState && onState(isOpen ? "open" : "close");
|
|
49
|
+
setTransitionState(isOpen ? "open" : "close");
|
|
50
|
+
}, 1);
|
|
51
|
+
};
|
|
52
|
+
ele.ontransitionend = () => {
|
|
53
|
+
clearTimeout(etimer);
|
|
54
|
+
etimer = setTimeout(() => {
|
|
55
|
+
const isOpen = Array.from(ele.classList).includes("trans-open");
|
|
56
|
+
(onOpened && isOpen) && onOpened();
|
|
57
|
+
(onClosed && !isOpen) && onClosed();
|
|
58
|
+
onState && onState(isOpen ? "opened" : "closed");
|
|
59
|
+
setTransitionState(isOpen ? "opened" : "closed");
|
|
60
|
+
}, 1);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}, [rendered]);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (rendered) {
|
|
66
|
+
if (!initial) {
|
|
67
|
+
setInitial(true);
|
|
68
|
+
setTimeout(() => {
|
|
69
|
+
setCss(open ? to : from);
|
|
70
|
+
}, 50);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
setCss(open ? to : from);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}, [rendered, open, JSON.stringify(from), JSON.stringify(to)]);
|
|
77
|
+
let _ = {};
|
|
78
|
+
if (rendered) {
|
|
79
|
+
let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
|
|
80
|
+
_ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + ", ") + trans });
|
|
81
|
+
}
|
|
82
|
+
const cls = css(_);
|
|
83
|
+
if (!children || Array.isArray(children))
|
|
84
|
+
throw new Error("Invalid children in Transition");
|
|
85
|
+
const first = Children.toArray(children).shift();
|
|
86
|
+
let classname = `${cls.classname} trans-${id} trans-${(open ? "open" : "close")} trans-state-${transitionState}`;
|
|
87
|
+
const child = cloneElement(first, { classNames: [classname] });
|
|
88
|
+
if (rendered)
|
|
89
|
+
return child;
|
|
90
|
+
if (!rendered && disableInitialTransition && open)
|
|
91
|
+
return child;
|
|
92
|
+
return (React__default.createElement(Tag, { height: 0, overflow: "hidden" }, child));
|
|
93
|
+
};export{Transition as default};//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/Transition/index.tsx"],"sourcesContent":["import 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().replace(/:/g, \"\")\n const [rendered, setRendered] = useState(false)\n const [initial, setInitial] = 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\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 if (!initial) {\n setInitial(true)\n setTimeout(() => {\n setCss(open ? to : from)\n }, 50);\n } else {\n setCss(open ? to : from)\n }\n }\n }, [rendered, open, JSON.stringify(from), JSON.stringify(to)])\n\n let _: any = {}\n if (rendered) {\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\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, { classNames: [classname] })\n if (rendered) return child\n if (!rendered && disableInitialTransition && open) 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"],"names":["React"],"mappings":"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"}
|
package/Transition/variants.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { TransitionElementProps } from
|
|
2
|
-
|
|
1
|
+
import { TransitionElementProps } from './index.js';
|
|
2
|
+
|
|
3
|
+
declare const slideDown: (_arg: TransitionElementProps) => {
|
|
3
4
|
from: {
|
|
4
5
|
transform: string;
|
|
5
6
|
};
|
|
@@ -7,7 +8,7 @@ export declare const slideDown: (_arg: TransitionElementProps) => {
|
|
|
7
8
|
transform: string;
|
|
8
9
|
};
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
declare const slideUp: (_arg: TransitionElementProps) => {
|
|
11
12
|
from: {
|
|
12
13
|
transform: string;
|
|
13
14
|
};
|
|
@@ -15,7 +16,7 @@ export declare const slideUp: (_arg: TransitionElementProps) => {
|
|
|
15
16
|
transform: string;
|
|
16
17
|
};
|
|
17
18
|
};
|
|
18
|
-
|
|
19
|
+
declare const slideRight: (_arg: TransitionElementProps) => {
|
|
19
20
|
from: {
|
|
20
21
|
transform: string;
|
|
21
22
|
};
|
|
@@ -23,7 +24,7 @@ export declare const slideRight: (_arg: TransitionElementProps) => {
|
|
|
23
24
|
transform: string;
|
|
24
25
|
};
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
+
declare const slideLeft: (_arg: TransitionElementProps) => {
|
|
27
28
|
from: {
|
|
28
29
|
transform: string;
|
|
29
30
|
};
|
|
@@ -31,7 +32,7 @@ export declare const slideLeft: (_arg: TransitionElementProps) => {
|
|
|
31
32
|
transform: string;
|
|
32
33
|
};
|
|
33
34
|
};
|
|
34
|
-
|
|
35
|
+
declare const fade: (_arg: TransitionElementProps) => {
|
|
35
36
|
from: {
|
|
36
37
|
opacity: number;
|
|
37
38
|
};
|
|
@@ -39,7 +40,7 @@ export declare const fade: (_arg: TransitionElementProps) => {
|
|
|
39
40
|
opacity: number;
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
|
-
|
|
43
|
+
declare const fadeDown: (_arg: TransitionElementProps) => {
|
|
43
44
|
from: {
|
|
44
45
|
transform: string;
|
|
45
46
|
opacity: number;
|
|
@@ -49,7 +50,7 @@ export declare const fadeDown: (_arg: TransitionElementProps) => {
|
|
|
49
50
|
opacity: number;
|
|
50
51
|
};
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
+
declare const fadeUp: (_arg: TransitionElementProps) => {
|
|
53
54
|
from: {
|
|
54
55
|
transform: string;
|
|
55
56
|
opacity: number;
|
|
@@ -59,7 +60,7 @@ export declare const fadeUp: (_arg: TransitionElementProps) => {
|
|
|
59
60
|
opacity: number;
|
|
60
61
|
};
|
|
61
62
|
};
|
|
62
|
-
|
|
63
|
+
declare const fadeRight: (_arg: TransitionElementProps) => {
|
|
63
64
|
from: {
|
|
64
65
|
transform: string;
|
|
65
66
|
opacity: number;
|
|
@@ -69,7 +70,7 @@ export declare const fadeRight: (_arg: TransitionElementProps) => {
|
|
|
69
70
|
opacity: number;
|
|
70
71
|
};
|
|
71
72
|
};
|
|
72
|
-
|
|
73
|
+
declare const fadeLeft: (_arg: TransitionElementProps) => {
|
|
73
74
|
from: {
|
|
74
75
|
transform: string;
|
|
75
76
|
opacity: number;
|
|
@@ -79,7 +80,7 @@ export declare const fadeLeft: (_arg: TransitionElementProps) => {
|
|
|
79
80
|
opacity: number;
|
|
80
81
|
};
|
|
81
82
|
};
|
|
82
|
-
|
|
83
|
+
declare const grow: (_arg: TransitionElementProps) => {
|
|
83
84
|
from: {
|
|
84
85
|
transform: string;
|
|
85
86
|
opacity: number;
|
|
@@ -89,7 +90,7 @@ export declare const grow: (_arg: TransitionElementProps) => {
|
|
|
89
90
|
opacity: number;
|
|
90
91
|
};
|
|
91
92
|
};
|
|
92
|
-
|
|
93
|
+
declare const zoom: (_arg: TransitionElementProps) => {
|
|
93
94
|
from: {
|
|
94
95
|
transform: string;
|
|
95
96
|
opacity: number;
|
|
@@ -99,7 +100,7 @@ export declare const zoom: (_arg: TransitionElementProps) => {
|
|
|
99
100
|
opacity: number;
|
|
100
101
|
};
|
|
101
102
|
};
|
|
102
|
-
|
|
103
|
+
declare const zoomOver: (_arg: TransitionElementProps) => {
|
|
103
104
|
from: {
|
|
104
105
|
transform: string;
|
|
105
106
|
opacity: number;
|
|
@@ -109,7 +110,7 @@ export declare const zoomOver: (_arg: TransitionElementProps) => {
|
|
|
109
110
|
opacity: number;
|
|
110
111
|
};
|
|
111
112
|
};
|
|
112
|
-
|
|
113
|
+
declare const collapsVerticle: (_arg: TransitionElementProps) => {
|
|
113
114
|
from: {
|
|
114
115
|
height: string;
|
|
115
116
|
overflow: string;
|
|
@@ -119,7 +120,7 @@ export declare const collapsVerticle: (_arg: TransitionElementProps) => {
|
|
|
119
120
|
overflow: string;
|
|
120
121
|
};
|
|
121
122
|
};
|
|
122
|
-
|
|
123
|
+
declare const collapsHorizental: (_arg: TransitionElementProps) => {
|
|
123
124
|
from: {
|
|
124
125
|
width: string;
|
|
125
126
|
overflow: string;
|
|
@@ -129,3 +130,5 @@ export declare const collapsHorizental: (_arg: TransitionElementProps) => {
|
|
|
129
130
|
overflow: string;
|
|
130
131
|
};
|
|
131
132
|
};
|
|
133
|
+
|
|
134
|
+
export { collapsHorizental, collapsVerticle, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
|
package/Transition/variants.js
CHANGED
|
@@ -1,2 +1,158 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});const slideDown = (_arg) => {
|
|
2
|
+
return {
|
|
3
|
+
from: {
|
|
4
|
+
transform: `translateY(-${_arg.height}px)!important`,
|
|
5
|
+
},
|
|
6
|
+
to: {
|
|
7
|
+
transform: `translateY(0)!important`,
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
const slideUp = (_arg) => {
|
|
12
|
+
return {
|
|
13
|
+
from: {
|
|
14
|
+
transform: `translateY(${_arg.height}px)!important`,
|
|
15
|
+
},
|
|
16
|
+
to: {
|
|
17
|
+
transform: `translateY(0)!important`,
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
const slideRight = (_arg) => {
|
|
22
|
+
return {
|
|
23
|
+
from: {
|
|
24
|
+
transform: `translateX(-${_arg.width}px)!important`,
|
|
25
|
+
},
|
|
26
|
+
to: {
|
|
27
|
+
transform: `translateX(0)!important`,
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const slideLeft = (_arg) => {
|
|
32
|
+
return {
|
|
33
|
+
from: {
|
|
34
|
+
transform: `translateX(${_arg.width}px)!important`,
|
|
35
|
+
},
|
|
36
|
+
to: {
|
|
37
|
+
transform: `translateX(0)!important`,
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const fade = (_arg) => {
|
|
42
|
+
return {
|
|
43
|
+
from: {
|
|
44
|
+
opacity: 0
|
|
45
|
+
},
|
|
46
|
+
to: {
|
|
47
|
+
opacity: 1
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const fadeDown = (_arg) => {
|
|
52
|
+
return {
|
|
53
|
+
from: {
|
|
54
|
+
transform: `translateY(-30px)!important`,
|
|
55
|
+
opacity: 0
|
|
56
|
+
},
|
|
57
|
+
to: {
|
|
58
|
+
transform: `translateY(0)!important`,
|
|
59
|
+
opacity: 1
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
const fadeUp = (_arg) => {
|
|
64
|
+
return {
|
|
65
|
+
from: {
|
|
66
|
+
transform: `translateY(30px)!important`,
|
|
67
|
+
opacity: 0
|
|
68
|
+
},
|
|
69
|
+
to: {
|
|
70
|
+
transform: `translateY(0)!important`,
|
|
71
|
+
opacity: 1
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
const fadeRight = (_arg) => {
|
|
76
|
+
return {
|
|
77
|
+
from: {
|
|
78
|
+
transform: `translateX(-30px)!important`,
|
|
79
|
+
opacity: 0
|
|
80
|
+
},
|
|
81
|
+
to: {
|
|
82
|
+
transform: `translateX(0)!important`,
|
|
83
|
+
opacity: 1
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const fadeLeft = (_arg) => {
|
|
88
|
+
return {
|
|
89
|
+
from: {
|
|
90
|
+
transform: `translateX(30px)!important`,
|
|
91
|
+
opacity: 0
|
|
92
|
+
},
|
|
93
|
+
to: {
|
|
94
|
+
transform: `translateX(0)!important`,
|
|
95
|
+
opacity: 1
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
const grow = (_arg) => {
|
|
100
|
+
return {
|
|
101
|
+
from: {
|
|
102
|
+
transform: "scale(.8, .6)!important",
|
|
103
|
+
opacity: 0
|
|
104
|
+
},
|
|
105
|
+
to: {
|
|
106
|
+
transform: "scale(1)!important",
|
|
107
|
+
opacity: 1
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
const zoom = (_arg) => {
|
|
112
|
+
return {
|
|
113
|
+
from: {
|
|
114
|
+
transform: "scale(.8)!important",
|
|
115
|
+
opacity: 0
|
|
116
|
+
},
|
|
117
|
+
to: {
|
|
118
|
+
transform: "scale(1)!important",
|
|
119
|
+
opacity: 1
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
const zoomOver = (_arg) => {
|
|
124
|
+
return {
|
|
125
|
+
from: {
|
|
126
|
+
transform: "scale(1.2)!important",
|
|
127
|
+
opacity: 0
|
|
128
|
+
},
|
|
129
|
+
to: {
|
|
130
|
+
transform: "scale(1)!important",
|
|
131
|
+
opacity: 1
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
const collapsVerticle = (_arg) => {
|
|
136
|
+
return {
|
|
137
|
+
from: {
|
|
138
|
+
height: 0 + "px!important",
|
|
139
|
+
overflow: "hidden"
|
|
140
|
+
},
|
|
141
|
+
to: {
|
|
142
|
+
height: (_arg === null || _arg === void 0 ? void 0 : _arg.height) ? (_arg === null || _arg === void 0 ? void 0 : _arg.height) + "px!important" : "auto",
|
|
143
|
+
overflow: "hidden"
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
const collapsHorizental = (_arg) => {
|
|
148
|
+
return {
|
|
149
|
+
from: {
|
|
150
|
+
width: 0 + "px!important",
|
|
151
|
+
overflow: "hidden"
|
|
152
|
+
},
|
|
153
|
+
to: {
|
|
154
|
+
width: (_arg === null || _arg === void 0 ? void 0 : _arg.width) ? (_arg === null || _arg === void 0 ? void 0 : _arg.width) + "px!important" : "auto",
|
|
155
|
+
overflow: "hidden"
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
};exports.collapsHorizental=collapsHorizental;exports.collapsVerticle=collapsVerticle;exports.fade=fade;exports.fadeDown=fadeDown;exports.fadeLeft=fadeLeft;exports.fadeRight=fadeRight;exports.fadeUp=fadeUp;exports.grow=grow;exports.slideDown=slideDown;exports.slideLeft=slideLeft;exports.slideRight=slideRight;exports.slideUp=slideUp;exports.zoom=zoom;exports.zoomOver=zoomOver;//# sourceMappingURL=variants.js.map
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Transition/variants.ts"],
|
|
4
|
-
"sourcesContent": ["import { TransitionElementProps } from \".\"\n\nexport const slideDown = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(-${_arg.height}px)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideUp = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(${_arg.height}px)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideRight = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(-${_arg.width}px)!important`,\n },\n to: {\n transform: `translateX(0)!important`,\n }\n }\n}\n\nexport const slideLeft = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(${_arg.width}px)!important`,\n },\n to: {\n transform: `translateX(0)!important`,\n }\n }\n}\n\nexport const fade = (_arg: TransitionElementProps) => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(-30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(-30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const grow = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(.8, .6)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(.8)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(1.2)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const collapsVerticle = (_arg: TransitionElementProps) => {\n return {\n from: {\n height: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n height: _arg?.height ? _arg?.height + \"px!important\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapsHorizental = (_arg: TransitionElementProps) => {\n return {\n from: {\n width: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n width: _arg?.width ? _arg?.width + \"px!important\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],
|
|
5
|
-
"mappings": "AAEO,MAAMA,EAAaC,IACf,CACH,KAAM,CACF,UAAW,eAAeA,EAAK,MAAM,eACzC,EACA,GAAI,CACA,UAAW,yBACf,CACJ,GAGSC,EAAWD,IACb,CACH,KAAM,CACF,UAAW,cAAcA,EAAK,MAAM,eACxC,EACA,GAAI,CACA,UAAW,yBACf,CACJ,GAGSE,EAAcF,IAChB,CACH,KAAM,CACF,UAAW,eAAeA,EAAK,KAAK,eACxC,EACA,GAAI,CACA,UAAW,yBACf,CACJ,GAGSG,EAAaH,IACf,CACH,KAAM,CACF,UAAW,cAAcA,EAAK,KAAK,eACvC,EACA,GAAI,CACA,UAAW,yBACf,CACJ,GAGSI,EAAQJ,IACV,CACH,KAAM,CACF,QAAS,CACb,EACA,GAAI,CACA,QAAS,CACb,CACJ,GAGSK,EAAYL,IACd,CACH,KAAM,CACF,UAAW,8BACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,0BACX,QAAS,CACb,CACJ,GAGSM,EAAUN,IACZ,CACH,KAAM,CACF,UAAW,6BACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,0BACX,QAAS,CACb,CACJ,GAGSO,EAAaP,IACf,CACH,KAAM,CACF,UAAW,8BACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,0BACX,QAAS,CACb,CACJ,GAGSQ,EAAYR,IACd,CACH,KAAM,CACF,UAAW,6BACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,0BACX,QAAS,CACb,CACJ,GAGSS,EAAQT,IACV,CACH,KAAM,CACF,UAAW,0BACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,qBACX,QAAS,CACb,CACJ,GAGSU,EAAQV,IACV,CACH,KAAM,CACF,UAAW,sBACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,qBACX,QAAS,CACb,CACJ,GAGSW,EAAYX,IACd,CACH,KAAM,CACF,UAAW,uBACX,QAAS,CACb,EACA,GAAI,CACA,UAAW,qBACX,QAAS,CACb,CACJ,GAGSY,EAAmBZ,IACrB,CACH,KAAM,CACF,OAAQ,gBACR,SAAU,QACd,EACA,GAAI,CACA,OAAQA,GAAM,OAASA,GAAM,OAAS,eAAiB,OACvD,SAAU,QACd,CACJ,GAISa,EAAqBb,IACvB,CACH,KAAM,CACF,MAAO,gBACP,SAAU,QACd,EACA,GAAI,CACA,MAAOA,GAAM,MAAQA,GAAM,MAAQ,eAAiB,OACpD,SAAU,QACd,CACJ",
|
|
6
|
-
"names": ["slideDown", "_arg", "slideUp", "slideRight", "slideLeft", "fade", "fadeDown", "fadeUp", "fadeRight", "fadeLeft", "grow", "zoom", "zoomOver", "collapsVerticle", "collapsHorizental"]
|
|
7
|
-
}
|
|
1
|
+
{"version":3,"file":"variants.js","sources":["../../src/Transition/variants.ts"],"sourcesContent":["import { TransitionElementProps } from \".\"\n\nexport const slideDown = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(-${_arg.height}px)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideUp = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(${_arg.height}px)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideRight = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(-${_arg.width}px)!important`,\n },\n to: {\n transform: `translateX(0)!important`,\n }\n }\n}\n\nexport const slideLeft = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(${_arg.width}px)!important`,\n },\n to: {\n transform: `translateX(0)!important`,\n }\n }\n}\n\nexport const fade = (_arg: TransitionElementProps) => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(-30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateY(30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(-30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: `translateX(30px)!important`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)!important`,\n opacity: 1\n }\n }\n}\n\nexport const grow = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(.8, .6)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(.8)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = (_arg: TransitionElementProps) => {\n return {\n from: {\n transform: \"scale(1.2)!important\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)!important\",\n opacity: 1\n }\n }\n}\n\nexport const collapsVerticle = (_arg: TransitionElementProps) => {\n return {\n from: {\n height: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n height: _arg?.height ? _arg?.height + \"px!important\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapsHorizental = (_arg: TransitionElementProps) => {\n return {\n from: {\n width: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n width: _arg?.width ? _arg?.width + \"px!important\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
|