@xanui/core 1.2.64 → 1.2.65

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.
@@ -1,7 +1,10 @@
1
+ const getY = (rect) => rect ? Math.min(rect.height / 2, 40) : 20;
2
+ const getX = (rect) => rect ? Math.min(rect.width / 2, 40) : 20;
1
3
  const slideDown = (rect) => {
4
+ const y = getY(rect);
2
5
  return {
3
6
  from: {
4
- transform: `translateY(-${rect.height}px)`,
7
+ transform: `translateY(-${y}px)`,
5
8
  },
6
9
  to: {
7
10
  transform: `translateY(0)`,
@@ -9,9 +12,10 @@ const slideDown = (rect) => {
9
12
  };
10
13
  };
11
14
  const slideUp = (rect) => {
15
+ const y = getY(rect);
12
16
  return {
13
17
  from: {
14
- transform: `translateY(${rect.height}px)`,
18
+ transform: `translateY(${y}px)`,
15
19
  },
16
20
  to: {
17
21
  transform: `translateY(0)`,
@@ -19,9 +23,10 @@ const slideUp = (rect) => {
19
23
  };
20
24
  };
21
25
  const slideRight = (rect) => {
26
+ const x = getX(rect);
22
27
  return {
23
28
  from: {
24
- transform: `translateX(-${rect.width}px)`,
29
+ transform: `translateX(-${x}px)`,
25
30
  },
26
31
  to: {
27
32
  transform: `translateX(0)`,
@@ -29,15 +34,40 @@ const slideRight = (rect) => {
29
34
  };
30
35
  };
31
36
  const slideLeft = (rect) => {
37
+ const x = getX(rect);
32
38
  return {
33
39
  from: {
34
- transform: `translateX(${rect.width}px)`,
40
+ transform: `translateX(${x}px)`,
35
41
  },
36
42
  to: {
37
43
  transform: `translateX(0)`,
38
44
  }
39
45
  };
40
46
  };
47
+ const scaleYDown = () => ({
48
+ from: {
49
+ transform: "scaleY(0.8)",
50
+ opacity: 0,
51
+ transformOrigin: "top"
52
+ },
53
+ to: {
54
+ transform: "scaleY(1)",
55
+ opacity: 1,
56
+ transformOrigin: "top"
57
+ }
58
+ });
59
+ const scaleYUp = () => ({
60
+ from: {
61
+ transform: "scaleY(0.8)",
62
+ transformOrigin: "bottom",
63
+ opacity: 0
64
+ },
65
+ to: {
66
+ transform: "scaleY(1)",
67
+ transformOrigin: "bottom",
68
+ opacity: 1
69
+ }
70
+ });
41
71
  const fade = () => {
42
72
  return {
43
73
  from: {
@@ -48,50 +78,54 @@ const fade = () => {
48
78
  }
49
79
  };
50
80
  };
51
- const fadeDown = () => {
81
+ const fadeDown = (rect) => {
82
+ const y = getY(rect);
52
83
  return {
53
84
  from: {
54
- transform: `translateY(-30px)`,
85
+ transform: `translateY(-${y}px) scale(0.98)`,
55
86
  opacity: 0
56
87
  },
57
88
  to: {
58
- transform: `translateY(0)`,
89
+ transform: `translateY(0) scale(1)`,
59
90
  opacity: 1
60
91
  }
61
92
  };
62
93
  };
63
- const fadeUp = () => {
94
+ const fadeUp = (rect) => {
95
+ const y = getY(rect);
64
96
  return {
65
97
  from: {
66
- transform: `translateY(30px)`,
98
+ transform: `translateY(${y}px) scale(0.98)`,
67
99
  opacity: 0
68
100
  },
69
101
  to: {
70
- transform: `translateY(0)`,
102
+ transform: `translateY(0) scale(1)`,
71
103
  opacity: 1
72
104
  }
73
105
  };
74
106
  };
75
- const fadeRight = () => {
107
+ const fadeRight = (rect) => {
108
+ const x = getX(rect);
76
109
  return {
77
110
  from: {
78
- transform: `translateX(-30px)`,
111
+ transform: `translateX(-${x}px) scale(0.98)`,
79
112
  opacity: 0
80
113
  },
81
114
  to: {
82
- transform: `translateX(0)`,
115
+ transform: `translateX(0) scale(1)`,
83
116
  opacity: 1
84
117
  }
85
118
  };
86
119
  };
87
- const fadeLeft = () => {
120
+ const fadeLeft = (rect) => {
121
+ const x = getX(rect);
88
122
  return {
89
123
  from: {
90
- transform: `translateX(30px)`,
124
+ transform: `translateX(${x}px) scale(0.98)`,
91
125
  opacity: 0
92
126
  },
93
127
  to: {
94
- transform: `translateX(0)`,
128
+ transform: `translateX(0) scale(1)`,
95
129
  opacity: 1
96
130
  }
97
131
  };
@@ -112,10 +146,12 @@ const zoom = () => {
112
146
  return {
113
147
  from: {
114
148
  transform: "scale(.8)",
149
+ transformOrigin: "center",
115
150
  opacity: 0
116
151
  },
117
152
  to: {
118
153
  transform: "scale(1)",
154
+ transformOrigin: "center",
119
155
  opacity: 1
120
156
  }
121
157
  };
@@ -124,10 +160,12 @@ const zoomOver = () => {
124
160
  return {
125
161
  from: {
126
162
  transform: "scale(1.2)",
163
+ transformOrigin: "center",
127
164
  opacity: 0
128
165
  },
129
166
  to: {
130
167
  transform: "scale(1)",
168
+ transformOrigin: "center",
131
169
  opacity: 1
132
170
  }
133
171
  };
@@ -135,11 +173,11 @@ const zoomOver = () => {
135
173
  const collapseVertical = (rect) => {
136
174
  return {
137
175
  from: {
138
- maxHeight: 0 + "px",
176
+ maxHeight: "0px",
139
177
  overflow: "hidden"
140
178
  },
141
179
  to: {
142
- maxHeight: rect.height,
180
+ maxHeight: rect.height + "px",
143
181
  overflow: "hidden"
144
182
  }
145
183
  };
@@ -147,15 +185,15 @@ const collapseVertical = (rect) => {
147
185
  const collapseHorizontal = (rect) => {
148
186
  return {
149
187
  from: {
150
- width: 0 + "px",
188
+ width: "0px",
151
189
  overflow: "hidden"
152
190
  },
153
191
  to: {
154
- width: (rect === null || rect === void 0 ? void 0 : rect.width) ? (rect === null || rect === void 0 ? void 0 : rect.width) + "px" : "auto",
192
+ width: rect.width + "px",
155
193
  overflow: "hidden"
156
194
  }
157
195
  };
158
196
  };
159
197
 
160
- export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
198
+ export { collapseHorizontal, collapseVertical, fade, fadeDown, fadeLeft, fadeRight, fadeUp, grow, scaleYDown, scaleYUp, slideDown, slideLeft, slideRight, slideUp, zoom, zoomOver };
161
199
  //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sources":["../../src/Transition/variants.ts"],"sourcesContent":["\nconst getY = (rect?: DOMRect) =>\n rect ? Math.min(rect.height / 2, 40) : 20\n\nconst getX = (rect?: DOMRect) =>\n rect ? Math.min(rect.width / 2, 40) : 20\n\n\n\nexport const slideDown = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(-${y}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(${y}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(-${x}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(${x}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const scaleYDown = () => ({\n from: {\n transform: \"scaleY(0.8)\",\n opacity: 0,\n transformOrigin: \"top\"\n },\n to: {\n transform: \"scaleY(1)\",\n opacity: 1,\n transformOrigin: \"top\"\n }\n})\n\nexport const scaleYUp = () => ({\n from: {\n transform: \"scaleY(0.8)\",\n transformOrigin: \"bottom\",\n opacity: 0\n },\n to: {\n transform: \"scaleY(1)\",\n transformOrigin: \"bottom\",\n opacity: 1\n }\n})\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\n\nexport const fadeDown = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(-${y}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = (rect?: DOMRect) => {\n const y = getY(rect)\n\n return {\n from: {\n transform: `translateY(${y}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(-${x}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = (rect?: DOMRect) => {\n const x = getX(rect)\n\n return {\n from: {\n transform: `translateX(${x}px) scale(0.98)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0) scale(1)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n transformOrigin: \"center\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n transformOrigin: \"center\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n transformOrigin: \"center\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n transformOrigin: \"center\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n return {\n from: {\n maxHeight: \"0px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height + \"px\",\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: \"0px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect.width + \"px\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
package/index.cjs CHANGED
@@ -7,7 +7,6 @@ var useColorTemplate = require('./hooks/useColorTemplate.cjs');
7
7
  var useBreakpoint = require('./breakpoint/useBreakpoint.cjs');
8
8
  var useBreakpointProps = require('./breakpoint/useBreakpointProps.cjs');
9
9
  var useInterface = require('./hooks/useInterface.cjs');
10
- var index$6 = require('./hooks/useTransition/index.cjs');
11
10
  var useMergeRefs = require('./hooks/useMergeRefs.cjs');
12
11
  var index$5 = require('./Transition/index.cjs');
13
12
  var index = require('./AppRoot/index.cjs');
@@ -17,8 +16,8 @@ var index$4 = require('./Document/index.cjs');
17
16
  var AppRootProvider = require('./AppRoot/AppRootProvider.cjs');
18
17
  var CSSCacheProvider = require('./css/CSSCacheProvider.cjs');
19
18
  var index$1 = require('./Iframe/index.cjs');
20
- var index$7 = require('./css/index.cjs');
21
- var index$8 = require('./theme/index.cjs');
19
+ var index$6 = require('./css/index.cjs');
20
+ var index$7 = require('./theme/index.cjs');
22
21
  var getValue = require('./css/getValue.cjs');
23
22
  var getProps = require('./css/getProps.cjs');
24
23
  var ThemeProvider = require('./theme/ThemeProvider.cjs');
@@ -35,7 +34,6 @@ exports.useColorTemplate = useColorTemplate;
35
34
  exports.useBreakpoint = useBreakpoint;
36
35
  exports.useBreakpointProps = useBreakpointProps;
37
36
  exports.useInterface = useInterface;
38
- exports.useTransition = index$6;
39
37
  exports.useMergeRefs = useMergeRefs;
40
38
  exports.Transition = index$5;
41
39
  exports.AppRoot = index;
@@ -47,12 +45,12 @@ exports.getCSSCache = CSSCacheProvider.getCSSCache;
47
45
  exports.useCSSCache = CSSCacheProvider.useCSSCache;
48
46
  exports.useCSSCacheId = CSSCacheProvider.useCSSCacheId;
49
47
  exports.Iframe = index$1;
50
- exports.adjustColor = index$7.adjustColor;
51
- exports.adjustTextContrast = index$7.adjustTextContrast;
52
- exports.alpha = index$7.alpha;
53
- exports.breakpoints = index$7.breakpoints;
54
- exports.css = index$7.css;
55
- exports.themeRootClass = index$8.themeRootClass;
48
+ exports.adjustColor = index$6.adjustColor;
49
+ exports.adjustTextContrast = index$6.adjustTextContrast;
50
+ exports.alpha = index$6.alpha;
51
+ exports.breakpoints = index$6.breakpoints;
52
+ exports.css = index$6.css;
53
+ exports.themeRootClass = index$7.themeRootClass;
56
54
  exports.getValue = getValue;
57
55
  exports.getProps = getProps;
58
56
  exports.ThemeProvider = ThemeProvider;
package/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.d.ts CHANGED
@@ -5,9 +5,8 @@ export { UseColorTemplateColor, UseColorTemplateType, default as useColorTemplat
5
5
  export { default as useBreakpoint } from './breakpoint/useBreakpoint.js';
6
6
  export { default as useBreakpointProps, useBreakpointPropsType } from './breakpoint/useBreakpointProps.js';
7
7
  export { default as useInterface } from './hooks/useInterface.js';
8
- export { UseTransitionProps, UseTransitionState, UseTransitionVariant, UseTransitionVariantTypes, default as useTransition } from './hooks/useTransition/index.js';
9
8
  export { default as useMergeRefs } from './hooks/useMergeRefs.js';
10
- export { default as Transition, TransitionProps } from './Transition/index.js';
9
+ export { default as Transition, TransitionProps, TransitionState, TransitionVariant, TransitionVariantTypes } from './Transition/index.js';
11
10
  export { default as AppRoot, AppRootProps } from './AppRoot/index.js';
12
11
  export { default as Portal, PortalProps } from './Portal/index.js';
13
12
  export { Renderar } from './AppRoot/Renderar.js';
package/index.js CHANGED
@@ -5,7 +5,6 @@ export { default as useColorTemplate } from './hooks/useColorTemplate.js';
5
5
  export { default as useBreakpoint } from './breakpoint/useBreakpoint.js';
6
6
  export { default as useBreakpointProps } from './breakpoint/useBreakpointProps.js';
7
7
  export { default as useInterface } from './hooks/useInterface.js';
8
- export { default as useTransition } from './hooks/useTransition/index.js';
9
8
  export { default as useMergeRefs } from './hooks/useMergeRefs.js';
10
9
  export { default as Transition } from './Transition/index.js';
11
10
  export { default as AppRoot } from './AppRoot/index.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xanui/core",
3
- "version": "1.2.64",
3
+ "version": "1.2.65",
4
4
  "description": "Xanui Core Library",
5
5
  "private": false,
6
6
  "main": "./index.cjs",
@@ -8,7 +8,7 @@
8
8
  "types": "./index.d.ts",
9
9
  "sideEffects": false,
10
10
  "dependencies": {
11
- "oncss": "^1.2.11",
11
+ "oncss": "^1.2.12",
12
12
  "pretty-class": "^1.0.8"
13
13
  },
14
14
  "keywords": []
@@ -1,108 +0,0 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var tslib = require('tslib');
5
- var React = require('react');
6
- var useAnimation = require('../useAnimation.cjs');
7
- var index$1 = require('../../css/index.cjs');
8
- var oncss = require('oncss');
9
- var variants = require('./variants.cjs');
10
- var index = require('../../Document/index.cjs');
11
- var CSSCacheProvider = require('../../css/CSSCacheProvider.cjs');
12
-
13
- const style = (obj = {}, cacheId, doc) => {
14
- return index$1.css(obj, { selector: "#", container: doc, cacheId }).classname;
15
- };
16
- const getVariant = (rect, variant) => {
17
- let fn = typeof variant === 'string' ? variants[variant] : variant;
18
- if (!fn)
19
- throw new Error(`Transition variant "${variant}" not found.`);
20
- return fn(rect);
21
- };
22
- const useTransition = (_a) => {
23
- var { open } = _a, props = tslib.__rest(_a, ["open"]);
24
- let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = false, onOpen, onOpened, onClose, onClosed, onState } = props;
25
- const doc = index.useDocument();
26
- const cacheId = CSSCacheProvider.useCSSCacheId();
27
- let _ease = ease || useAnimation.animationEases[easing] || useAnimation.animationEases.bounce;
28
- const id = "xui-transition-" + React.useId();
29
- const [state, setState] = React.useState({
30
- initial: false,
31
- classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document),
32
- variant: variant,
33
- rect: null,
34
- stage: open ? "open" : "closed",
35
- unmounted: false,
36
- });
37
- const getEle = () => doc === null || doc === void 0 ? void 0 : doc.document.querySelector(`[data-transition="${id}"]`);
38
- const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
39
- React.useEffect(() => {
40
- if (exitOnUnmount && state.stage === 'closed') {
41
- if (!open) {
42
- setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
43
- }
44
- else {
45
- setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), stage: "open" })));
46
- }
47
- }
48
- }, [open, state.stage, exitOnUnmount, variant]);
49
- // initial effect
50
- React.useLayoutEffect(() => {
51
- const ele = getEle();
52
- if (!ele)
53
- return;
54
- if (exitOnUnmount && state.stage === 'closed')
55
- return;
56
- const rect = getBoundary();
57
- let { from } = getVariant(rect, state.variant);
58
- if (open && !state.initial) {
59
- setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document) : "", initial: true, rect: rect })));
60
- let stimer = null;
61
- let etimer = null;
62
- ele.ontransitionstart = () => {
63
- clearTimeout(stimer);
64
- stimer = setTimeout(() => {
65
- const isOpen = ele.getAttribute('data-transition-state') === 'open';
66
- (onOpen && isOpen) && onOpen();
67
- (onClose && !isOpen) && onClose();
68
- onState && onState(isOpen ? "open" : "close");
69
- setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
70
- }, 1);
71
- };
72
- ele.ontransitionend = () => {
73
- clearTimeout(etimer);
74
- etimer = setTimeout(() => {
75
- const isOpen = ele.getAttribute('data-transition-state') === 'open';
76
- (onOpened && isOpen) && onOpened();
77
- (onClosed && !isOpen) && onClosed();
78
- onState && onState(isOpen ? "opened" : "closed");
79
- setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
80
- }, 1);
81
- };
82
- }
83
- else if (!state.initial) {
84
- setState(s => (Object.assign(Object.assign({}, s), { classname: style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), rect: rect })));
85
- }
86
- }, [open, state.initial, state.stage, exitOnUnmount]);
87
- React.useEffect(() => {
88
- if (state.initial) {
89
- let _variant = state.variant !== variant ? variant : state.variant;
90
- const { from, to } = getVariant(state.rect, _variant);
91
- let _css = open ? to : from;
92
- let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
93
- let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => oncss.formatCSSProp(k)).join(trans + ", ") + trans });
94
- setState(s => (Object.assign(Object.assign({}, s), { classname: style(_, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), variant: _variant })));
95
- }
96
- }, [open, state.initial, variant]);
97
- return {
98
- exited: exitOnUnmount && state.stage === 'closed',
99
- props: {
100
- 'id': state.classname,
101
- 'data-transition': id,
102
- 'data-transition-state': open ? 'open' : 'close',
103
- }
104
- };
105
- };
106
-
107
- module.exports = useTransition;
108
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["\"use client\";\nimport { useState, useEffect, useId, useLayoutEffect } from 'react';\nimport { animationEases } from '../useAnimation';\nimport { css } from '../../css';\nimport { formatCSSProp } from 'oncss';\nimport { CSSProps } from '../../css/types';\nimport * as variants from './variants'\nimport { useDocument } from '../../Document';\nimport { useCSSCacheId } from '../../css/CSSCacheProvider';\n\nexport type UseTransitionVariantTypes = keyof typeof variants\nexport type UseTransitionState = \"open\" | \"opened\" | \"close\" | \"closed\"\n\nexport type UseTransitionVariant = (rect: DOMRect) => ({ from: CSSProps, to: CSSProps })\n\nexport type UseTransitionProps = {\n open: boolean;\n variant: UseTransitionVariant | UseTransitionVariantTypes;\n ease?: string;\n easing?: keyof typeof animationEases;\n duration?: number;\n delay?: number;\n disableInitialTransition?: boolean;\n exitOnUnmount?: boolean;\n onOpen?: () => void;\n onOpened?: () => void;\n onClose?: () => void;\n onClosed?: () => void;\n onState?: (state: UseTransitionState) => void;\n}\n\n\nconst style = (obj = {}, cacheId: string, doc?: Document) => {\n return css(obj, { selector: \"#\", container: doc, cacheId }).classname;\n}\n\nconst getVariant = (rect: DOMRect | null, variant: UseTransitionProps['variant']) => {\n let fn = typeof variant === 'string' ? variants[variant] : variant\n if (!fn) throw new Error(`Transition variant \"${variant}\" not found.`)\n return fn(rect as DOMRect);\n}\n\nconst useTransition = ({ open, ...props }: UseTransitionProps) => {\n let {\n disableInitialTransition = false,\n variant = \"fade\",\n duration = 400,\n delay,\n ease,\n easing,\n exitOnUnmount = false,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n const doc = useDocument();\n const cacheId = useCSSCacheId()\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.bounce\n const id = \"xui-transition-\" + useId()\n const [state, setState] = useState({\n initial: false,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => doc?.document.querySelector(`[data-transition=\"${id}\"]`) as HTMLElement;\n const getBoundary = () => state.rect || getEle()?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n\n useEffect(() => {\n if (exitOnUnmount && state.stage === 'closed') {\n if (!open) {\n setState(s => ({\n ...s,\n initial: false,\n classname: \"\",\n unmounted: true,\n variant: variant,\n }))\n } else {\n setState(s => ({\n ...s,\n variant: variant,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useLayoutEffect(() => {\n const ele = getEle()\n if (!ele) return\n if (exitOnUnmount && state.stage === 'closed') return\n\n const rect = getBoundary();\n let { from } = getVariant(rect, state.variant)\n if (open && !state.initial) {\n setState(s => ({\n ...s,\n classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc?.document) : \"\",\n initial: true,\n rect: rect,\n }))\n let stimer: any = null\n let etimer: any = null\n ele.ontransitionstart = () => {\n clearTimeout(stimer)\n stimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpen && isOpen) && onOpen();\n (onClose && !isOpen) && onClose()\n onState && onState(isOpen ? \"open\" : \"close\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"open\" : \"close\"\n }))\n }, 1)\n }\n\n ele.ontransitionend = () => {\n clearTimeout(etimer)\n etimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpened && isOpen) && onOpened();\n (onClosed && !isOpen) && onClosed();\n onState && onState(isOpen ? \"opened\" : \"closed\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"opened\" : \"closed\"\n }))\n }, 1)\n }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: style(from, cacheId, doc?.document),\n rect: rect,\n }))\n }\n }, [open, state.initial, state.stage, exitOnUnmount])\n\n\n useEffect(() => {\n if (state.initial) {\n let _variant = state.variant !== variant ? variant : state.variant\n const { from, to } = getVariant(state.rect, _variant)\n let _css: CSSProps = open ? to : from\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n let _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\n }\n setState(s => ({\n ...s,\n classname: style(_, cacheId, doc?.document),\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n props: {\n 'id': state.classname,\n 'data-transition': id,\n 'data-transition-state': open ? 'open' : 'close',\n }\n }\n}\n\n\nexport default useTransition"],"names":[],"mappings":";;;;;;;;;;;;AAgCA;AACG;AACH;AAEA;AACG;AACA;AAAS;AACT;AACH;AAEA;AAAuB;AACpB;AAcA;AACA;AACA;AACA;AACA;AACG;AACA;AACA;AACA;;AAEA;AACF;AAED;AACA;;;;;;;AAaS;;;AAQT;;;AAIG;AACA;;AACA;;AAEA;AACA;AACA;;;;AASG;;AAEG;;AAEG;;AAEA;;;AAMN;AAEA;;AAEG;;AAEG;;AAEA;;;AAMN;;AACI;AACJ;;AAMN;;AAIG;AACG;AACA;;;AAGA;AAIA;;;;AASH;AACA;;AAEG;;AAEF;;AAEP;;"}
@@ -1,36 +0,0 @@
1
- import { animationEases } from '../useAnimation.js';
2
- import { CSSProps } from '../../css/types.js';
3
- import * as variants from './variants.js';
4
-
5
- type UseTransitionVariantTypes = keyof typeof variants;
6
- type UseTransitionState = "open" | "opened" | "close" | "closed";
7
- type UseTransitionVariant = (rect: DOMRect) => ({
8
- from: CSSProps;
9
- to: CSSProps;
10
- });
11
- type UseTransitionProps = {
12
- open: boolean;
13
- variant: UseTransitionVariant | UseTransitionVariantTypes;
14
- ease?: string;
15
- easing?: keyof typeof animationEases;
16
- duration?: number;
17
- delay?: number;
18
- disableInitialTransition?: boolean;
19
- exitOnUnmount?: boolean;
20
- onOpen?: () => void;
21
- onOpened?: () => void;
22
- onClose?: () => void;
23
- onClosed?: () => void;
24
- onState?: (state: UseTransitionState) => void;
25
- };
26
- declare const useTransition: ({ open, ...props }: UseTransitionProps) => {
27
- exited: boolean;
28
- props: {
29
- id: string;
30
- 'data-transition': string;
31
- 'data-transition-state': string;
32
- };
33
- };
34
-
35
- export { useTransition as default };
36
- export type { UseTransitionProps, UseTransitionState, UseTransitionVariant, UseTransitionVariantTypes };
@@ -1,106 +0,0 @@
1
- "use client";
2
- import { __rest } from 'tslib';
3
- import { useId, useState, useEffect, useLayoutEffect } from 'react';
4
- import { animationEases } from '../useAnimation.js';
5
- import { css } from '../../css/index.js';
6
- import { formatCSSProp } from 'oncss';
7
- import * as variants from './variants.js';
8
- import { useDocument } from '../../Document/index.js';
9
- import { useCSSCacheId } from '../../css/CSSCacheProvider.js';
10
-
11
- const style = (obj = {}, cacheId, doc) => {
12
- return css(obj, { selector: "#", container: doc, cacheId }).classname;
13
- };
14
- const getVariant = (rect, variant) => {
15
- let fn = typeof variant === 'string' ? variants[variant] : variant;
16
- if (!fn)
17
- throw new Error(`Transition variant "${variant}" not found.`);
18
- return fn(rect);
19
- };
20
- const useTransition = (_a) => {
21
- var { open } = _a, props = __rest(_a, ["open"]);
22
- let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = false, onOpen, onOpened, onClose, onClosed, onState } = props;
23
- const doc = useDocument();
24
- const cacheId = useCSSCacheId();
25
- let _ease = ease || animationEases[easing] || animationEases.bounce;
26
- const id = "xui-transition-" + useId();
27
- const [state, setState] = useState({
28
- initial: false,
29
- classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document),
30
- variant: variant,
31
- rect: null,
32
- stage: open ? "open" : "closed",
33
- unmounted: false,
34
- });
35
- const getEle = () => doc === null || doc === void 0 ? void 0 : doc.document.querySelector(`[data-transition="${id}"]`);
36
- const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
37
- useEffect(() => {
38
- if (exitOnUnmount && state.stage === 'closed') {
39
- if (!open) {
40
- setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
41
- }
42
- else {
43
- setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: style({ visibility: "hidden" }, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), stage: "open" })));
44
- }
45
- }
46
- }, [open, state.stage, exitOnUnmount, variant]);
47
- // initial effect
48
- useLayoutEffect(() => {
49
- const ele = getEle();
50
- if (!ele)
51
- return;
52
- if (exitOnUnmount && state.stage === 'closed')
53
- return;
54
- const rect = getBoundary();
55
- let { from } = getVariant(rect, state.variant);
56
- if (open && !state.initial) {
57
- setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document) : "", initial: true, rect: rect })));
58
- let stimer = null;
59
- let etimer = null;
60
- ele.ontransitionstart = () => {
61
- clearTimeout(stimer);
62
- stimer = setTimeout(() => {
63
- const isOpen = ele.getAttribute('data-transition-state') === 'open';
64
- (onOpen && isOpen) && onOpen();
65
- (onClose && !isOpen) && onClose();
66
- onState && onState(isOpen ? "open" : "close");
67
- setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
68
- }, 1);
69
- };
70
- ele.ontransitionend = () => {
71
- clearTimeout(etimer);
72
- etimer = setTimeout(() => {
73
- const isOpen = ele.getAttribute('data-transition-state') === 'open';
74
- (onOpened && isOpen) && onOpened();
75
- (onClosed && !isOpen) && onClosed();
76
- onState && onState(isOpen ? "opened" : "closed");
77
- setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
78
- }, 1);
79
- };
80
- }
81
- else if (!state.initial) {
82
- setState(s => (Object.assign(Object.assign({}, s), { classname: style(from, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), rect: rect })));
83
- }
84
- }, [open, state.initial, state.stage, exitOnUnmount]);
85
- useEffect(() => {
86
- if (state.initial) {
87
- let _variant = state.variant !== variant ? variant : state.variant;
88
- const { from, to } = getVariant(state.rect, _variant);
89
- let _css = open ? to : from;
90
- let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
91
- let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + ", ") + trans });
92
- setState(s => (Object.assign(Object.assign({}, s), { classname: style(_, cacheId, doc === null || doc === void 0 ? void 0 : doc.document), variant: _variant })));
93
- }
94
- }, [open, state.initial, variant]);
95
- return {
96
- exited: exitOnUnmount && state.stage === 'closed',
97
- props: {
98
- 'id': state.classname,
99
- 'data-transition': id,
100
- 'data-transition-state': open ? 'open' : 'close',
101
- }
102
- };
103
- };
104
-
105
- export { useTransition as default };
106
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["\"use client\";\nimport { useState, useEffect, useId, useLayoutEffect } from 'react';\nimport { animationEases } from '../useAnimation';\nimport { css } from '../../css';\nimport { formatCSSProp } from 'oncss';\nimport { CSSProps } from '../../css/types';\nimport * as variants from './variants'\nimport { useDocument } from '../../Document';\nimport { useCSSCacheId } from '../../css/CSSCacheProvider';\n\nexport type UseTransitionVariantTypes = keyof typeof variants\nexport type UseTransitionState = \"open\" | \"opened\" | \"close\" | \"closed\"\n\nexport type UseTransitionVariant = (rect: DOMRect) => ({ from: CSSProps, to: CSSProps })\n\nexport type UseTransitionProps = {\n open: boolean;\n variant: UseTransitionVariant | UseTransitionVariantTypes;\n ease?: string;\n easing?: keyof typeof animationEases;\n duration?: number;\n delay?: number;\n disableInitialTransition?: boolean;\n exitOnUnmount?: boolean;\n onOpen?: () => void;\n onOpened?: () => void;\n onClose?: () => void;\n onClosed?: () => void;\n onState?: (state: UseTransitionState) => void;\n}\n\n\nconst style = (obj = {}, cacheId: string, doc?: Document) => {\n return css(obj, { selector: \"#\", container: doc, cacheId }).classname;\n}\n\nconst getVariant = (rect: DOMRect | null, variant: UseTransitionProps['variant']) => {\n let fn = typeof variant === 'string' ? variants[variant] : variant\n if (!fn) throw new Error(`Transition variant \"${variant}\" not found.`)\n return fn(rect as DOMRect);\n}\n\nconst useTransition = ({ open, ...props }: UseTransitionProps) => {\n let {\n disableInitialTransition = false,\n variant = \"fade\",\n duration = 400,\n delay,\n ease,\n easing,\n exitOnUnmount = false,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n const doc = useDocument();\n const cacheId = useCSSCacheId()\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.bounce\n const id = \"xui-transition-\" + useId()\n const [state, setState] = useState({\n initial: false,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => doc?.document.querySelector(`[data-transition=\"${id}\"]`) as HTMLElement;\n const getBoundary = () => state.rect || getEle()?.getBoundingClientRect() || new DOMRect(0, 0, 0, 0);\n\n useEffect(() => {\n if (exitOnUnmount && state.stage === 'closed') {\n if (!open) {\n setState(s => ({\n ...s,\n initial: false,\n classname: \"\",\n unmounted: true,\n variant: variant,\n }))\n } else {\n setState(s => ({\n ...s,\n variant: variant,\n classname: style({ visibility: \"hidden\" }, cacheId, doc?.document),\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useLayoutEffect(() => {\n const ele = getEle()\n if (!ele) return\n if (exitOnUnmount && state.stage === 'closed') return\n\n const rect = getBoundary();\n let { from } = getVariant(rect, state.variant)\n if (open && !state.initial) {\n setState(s => ({\n ...s,\n classname: (!disableInitialTransition || state.unmounted) ? style(from, cacheId, doc?.document) : \"\",\n initial: true,\n rect: rect,\n }))\n let stimer: any = null\n let etimer: any = null\n ele.ontransitionstart = () => {\n clearTimeout(stimer)\n stimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpen && isOpen) && onOpen();\n (onClose && !isOpen) && onClose()\n onState && onState(isOpen ? \"open\" : \"close\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"open\" : \"close\"\n }))\n }, 1)\n }\n\n ele.ontransitionend = () => {\n clearTimeout(etimer)\n etimer = setTimeout(() => {\n const isOpen = ele.getAttribute('data-transition-state') === 'open';\n (onOpened && isOpen) && onOpened();\n (onClosed && !isOpen) && onClosed();\n onState && onState(isOpen ? \"opened\" : \"closed\")\n setState(s => ({\n ...s,\n stage: isOpen ? \"opened\" : \"closed\"\n }))\n }, 1)\n }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: style(from, cacheId, doc?.document),\n rect: rect,\n }))\n }\n }, [open, state.initial, state.stage, exitOnUnmount])\n\n\n useEffect(() => {\n if (state.initial) {\n let _variant = state.variant !== variant ? variant : state.variant\n const { from, to } = getVariant(state.rect, _variant)\n let _css: CSSProps = open ? to : from\n let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`\n let _ = {\n ..._css,\n transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + \", \") + trans,\n }\n setState(s => ({\n ...s,\n classname: style(_, cacheId, doc?.document),\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n props: {\n 'id': state.classname,\n 'data-transition': id,\n 'data-transition-state': open ? 'open' : 'close',\n }\n }\n}\n\n\nexport default useTransition"],"names":[],"mappings":";;;;;;;;;;AAgCA;AACG;AACH;AAEA;AACG;AACA;AAAS;AACT;AACH;AAEA;AAAuB;AACpB;AAcA;AACA;AACA;AACA;AACA;AACG;AACA;AACA;AACA;;AAEA;AACF;AAED;AACA;;;;;;;AAaS;;;AAQT;;;AAIG;AACA;;AACA;;AAEA;AACA;AACA;;;;AASG;;AAEG;;AAEG;;AAEA;;;AAMN;AAEA;;AAEG;;AAEG;;AAEA;;;AAMN;;AACI;AACJ;;AAMN;;AAIG;AACG;AACA;;;AAGA;AAIA;;;;AASH;AACA;;AAEG;;AAEF;;AAEP;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.cjs","sources":["../../../src/hooks/useTransition/variants.ts"],"sourcesContent":["\nexport const slideDown = (rect: DOMRect) => {\n\n return {\n from: {\n transform: `translateY(-${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateY(${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(-${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = () => {\n return {\n from: {\n transform: `translateY(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = () => {\n return {\n from: {\n transform: `translateY(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = () => {\n return {\n from: {\n transform: `translateX(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = () => {\n return {\n from: {\n transform: `translateX(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect?.width ? rect?.width + \"px\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.js","sources":["../../../src/hooks/useTransition/variants.ts"],"sourcesContent":["\nexport const slideDown = (rect: DOMRect) => {\n\n return {\n from: {\n transform: `translateY(-${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideUp = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateY(${rect.height}px)`,\n },\n to: {\n transform: `translateY(0)`,\n }\n }\n}\n\nexport const slideRight = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(-${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const slideLeft = (rect: DOMRect) => {\n return {\n from: {\n transform: `translateX(${rect.width}px)`,\n },\n to: {\n transform: `translateX(0)`,\n }\n }\n}\n\nexport const fade = () => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = () => {\n return {\n from: {\n transform: `translateY(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeUp = () => {\n return {\n from: {\n transform: `translateY(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateY(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeRight = () => {\n return {\n from: {\n transform: `translateX(-30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const fadeLeft = () => {\n return {\n from: {\n transform: `translateX(30px)`,\n opacity: 0\n },\n to: {\n transform: `translateX(0)`,\n opacity: 1\n }\n }\n}\n\nexport const grow = () => {\n return {\n from: {\n transform: \"scale(.8, .6)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoom = () => {\n return {\n from: {\n transform: \"scale(.8)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const zoomOver = () => {\n return {\n from: {\n transform: \"scale(1.2)\",\n opacity: 0\n },\n to: {\n transform: \"scale(1)\",\n opacity: 1\n }\n }\n}\n\nexport const collapseVertical = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapseHorizontal = (rect: DOMRect) => {\n return {\n from: {\n width: 0 + \"px\",\n overflow: \"hidden\"\n },\n to: {\n width: rect?.width ? rect?.width + \"px\" : \"auto\",\n overflow: \"hidden\"\n }\n }\n}\n\n\n\n\n"],"names":[],"mappings":"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"}