@xanui/core 1.2.22 → 1.2.23

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,4 +1,4 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var cssPropList=require('./cssPropList.js'),index=require('../css/index.js'),prettyClass=require('pretty-class'),React=require('react');const useTagProps = (props) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var cssPropList=require('./cssPropList.js'),index=require('../css/index.js'),classNames=require('pretty-class'),React=require('react');const useTagProps = (props) => {
2
2
  const parsed = React.useMemo(() => {
3
3
  let _props = {};
4
4
  let clss = [];
@@ -38,7 +38,7 @@
38
38
  return {
39
39
  props: _props,
40
40
  styles,
41
- className: prettyClass.classNames(clss)
41
+ className: classNames.classNames(clss)
42
42
  };
43
43
  }, [JSON.stringify(props)]);
44
44
  const _props = {};
@@ -1 +1 @@
1
- {"version":3,"file":"useTagProps.js","sources":["../../src/Tag/useTagProps.ts"],"sourcesContent":["import { TagComponentType, TagProps, TagPropsRoot } from './types';\nimport cssPropList from './cssPropList';\nimport { css } from '../css';\nimport { classNames } from 'pretty-class';\nimport { CSSFactoryType } from 'oncss';\nimport { useMemo } from 'react';\n\nexport type useTagPropsReturn<T extends TagComponentType = \"div\"> = {\n props: TagProps<T>,\n style: CSSFactoryType\n}\n\nconst useTagProps = <T extends TagComponentType = \"div\">(props: TagPropsRoot<T>): useTagPropsReturn<T> => {\n\n const parsed = useMemo(() => {\n let _props: any = {}\n let clss = []\n let _css: any = {}\n\n let sx = props.sx || {}\n let sxr = props.sxr || {}\n let hover = props.hover || {}\n let style = props.style || {}\n\n for (let key in props) {\n if (key === \"sx\" || key === \"sxr\" || key === \"style\") {\n continue;\n }\n\n let val = (props as any)[key];\n if (key === \"className\") {\n clss.push(val)\n } else if (key === 'baseClass') {\n clss.push(\"xui-\" + val)\n } else if (key === 'classNames') {\n clss.push(...val)\n } else if (key === \"hover\") {\n _css['&:hover'] = { ...(_css['&:hover'] || {}), ...val }\n } else if (!cssPropList[key]) {\n _props[key] = val\n } else {\n _css[key] = val\n }\n }\n\n const styles = css({ ...sxr, ..._css, ...sx, ...style }, {\n injectStyle: typeof window !== 'undefined',\n })\n\n clss.push(styles.classname)\n return {\n props: _props,\n styles,\n className: classNames(clss)\n }\n }, [JSON.stringify(props)])\n\n const _props: any = {};\n for (let prop in parsed.props) {\n _props[prop] = (props as any)[prop]\n }\n _props.className = parsed.className;\n\n return { props: _props, style: parsed.styles };\n}\n\n\nexport default useTagProps"],"names":["useMemo","cssPropList","css","classNames"],"mappings":"8MAYA,MAAM,WAAW,GAAG,CAAqC,KAAsB,KAA0B;AAEtG,IAAA,MAAM,MAAM,GAAGA,aAAO,CAAC,MAAK;QACzB,IAAI,MAAM,GAAQ,EAAE;QACpB,IAAI,IAAI,GAAG,EAAE;QACb,IAAI,IAAI,GAAQ,EAAE;AAElB,QAAA,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE;AACvB,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE;AACzB,QAAY,KAAK,CAAC,KAAK,IAAI;AAC3B,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAE7B,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACpB,YAAA,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnD;YACH;AAEA,YAAA,IAAI,GAAG,GAAI,KAAa,CAAC,GAAG,CAAC;AAC7B,YAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACjB;AAAO,iBAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAC1B;AAAO,iBAAA,IAAI,GAAG,KAAK,YAAY,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACpB;AAAO,iBAAA,IAAI,GAAG,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,EAAK,GAAG,CAAE;YAC3D;AAAO,iBAAA,IAAI,CAACC,mBAAW,CAAC,GAAG,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG;YACpB;iBAAO;AACJ,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;YAClB;QACH;QAEA,MAAM,MAAM,GAAGC,SAAG,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAA,EAAK,IAAI,CAAA,EAAK,EAAE,CAAA,EAAK,KAAK,CAAA,EAAI;AACtD,YAAA,WAAW,EAAE,OAAO,MAAM,KAAK,WAAW;AAC5C,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,OAAO;AACJ,YAAA,KAAK,EAAE,MAAM;YACb,MAAM;AACN,YAAA,SAAS,EAAEC,sBAAU,CAAC,IAAI;SAC5B;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAQ,EAAE;AACtB,IAAA,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;IACtC;AACA,IAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;IAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;AACjD"}
1
+ {"version":3,"file":"useTagProps.js","sources":["../../src/Tag/useTagProps.ts"],"sourcesContent":["import { TagComponentType, TagProps, TagPropsRoot } from './types';\nimport cssPropList from './cssPropList';\nimport { css } from '../css';\nimport { classNames } from 'pretty-class';\nimport { CSSFactoryType } from 'oncss';\nimport { useMemo } from 'react';\n\nexport type useTagPropsReturn<T extends TagComponentType = \"div\"> = {\n props: TagProps<T>,\n style: CSSFactoryType\n}\n\nconst useTagProps = <T extends TagComponentType = \"div\">(props: TagPropsRoot<T>): useTagPropsReturn<T> => {\n\n const parsed = useMemo(() => {\n let _props: any = {}\n let clss = []\n let _css: any = {}\n\n let sx = props.sx || {}\n let sxr = props.sxr || {}\n let hover = props.hover || {}\n let style = props.style || {}\n\n for (let key in props) {\n if (key === \"sx\" || key === \"sxr\" || key === \"style\") {\n continue;\n }\n\n let val = (props as any)[key];\n if (key === \"className\") {\n clss.push(val)\n } else if (key === 'baseClass') {\n clss.push(\"xui-\" + val)\n } else if (key === 'classNames') {\n clss.push(...val)\n } else if (key === \"hover\") {\n _css['&:hover'] = { ...(_css['&:hover'] || {}), ...val }\n } else if (!cssPropList[key]) {\n _props[key] = val\n } else {\n _css[key] = val\n }\n }\n\n const styles = css({ ...sxr, ..._css, ...sx, ...style }, {\n injectStyle: typeof window !== 'undefined',\n })\n\n clss.push(styles.classname)\n return {\n props: _props,\n styles,\n className: classNames(clss)\n }\n }, [JSON.stringify(props)])\n\n const _props: any = {};\n for (let prop in parsed.props) {\n _props[prop] = (props as any)[prop]\n }\n _props.className = parsed.className;\n\n return { props: _props, style: parsed.styles };\n}\n\n\nexport default useTagProps"],"names":["useMemo","cssPropList","css","classNames"],"mappings":"6MAYA,MAAM,WAAW,GAAG,CAAqC,KAAsB,KAA0B;AAEtG,IAAA,MAAM,MAAM,GAAGA,aAAO,CAAC,MAAK;QACzB,IAAI,MAAM,GAAQ,EAAE;QACpB,IAAI,IAAI,GAAG,EAAE;QACb,IAAI,IAAI,GAAQ,EAAE;AAElB,QAAA,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE;AACvB,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE;AACzB,QAAY,KAAK,CAAC,KAAK,IAAI;AAC3B,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAE7B,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACpB,YAAA,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnD;YACH;AAEA,YAAA,IAAI,GAAG,GAAI,KAAa,CAAC,GAAG,CAAC;AAC7B,YAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACjB;AAAO,iBAAA,IAAI,GAAG,KAAK,WAAW,EAAE;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAC1B;AAAO,iBAAA,IAAI,GAAG,KAAK,YAAY,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACpB;AAAO,iBAAA,IAAI,GAAG,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAS,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,EAAK,GAAG,CAAE;YAC3D;AAAO,iBAAA,IAAI,CAACC,mBAAW,CAAC,GAAG,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG;YACpB;iBAAO;AACJ,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;YAClB;QACH;QAEA,MAAM,MAAM,GAAGC,SAAG,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,GAAG,CAAA,EAAK,IAAI,CAAA,EAAK,EAAE,CAAA,EAAK,KAAK,CAAA,EAAI;AACtD,YAAA,WAAW,EAAE,OAAO,MAAM,KAAK,WAAW;AAC5C,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,OAAO;AACJ,YAAA,KAAK,EAAE,MAAM;YACb,MAAM;AACN,YAAA,SAAS,EAAEC,qBAAU,CAAC,IAAI;SAC5B;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAQ,EAAE;AACtB,IAAA,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;IACtC;AACA,IAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;IAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;AACjD"}
@@ -1,34 +1,12 @@
1
- import React__default, { ReactElement } from 'react';
2
- import { animationEases } from '../hooks/useAnimation.js';
3
- import { CSSProps } from '../css/types.js';
4
- import * as variants from './variants.js';
1
+ import * as React$1 from 'react';
2
+ import { UseTransitionProps } from '../hooks/useTransition/index.js';
5
3
 
6
- type TransitionVariantTypes = keyof typeof variants;
7
- type TransitionElementProps = {
8
- height: number;
9
- width: number;
10
- rect: DOMRect | null;
4
+ type TransitionProps = UseTransitionProps & {
5
+ children: React.ReactElement;
11
6
  };
12
- type TransitionState = "open" | "opened" | "close" | "closed";
13
- type TransitionProps = {
14
- children: ReactElement;
15
- open: boolean;
16
- variant: {
17
- from: CSSProps;
18
- to: CSSProps;
19
- } | TransitionVariantTypes;
20
- ease?: string;
21
- easing?: keyof typeof animationEases;
22
- duration?: number;
23
- delay?: number;
24
- disableInitialTransition?: boolean;
25
- onOpen?: () => void;
26
- onOpened?: () => void;
27
- onClose?: () => void;
28
- onClosed?: () => void;
29
- onState?: (state: TransitionState) => void;
30
- };
31
- declare const Transition: ({ children, open, ...props }: TransitionProps) => React__default.JSX.Element;
7
+ declare const Transition: ({ children, ...props }: TransitionProps) => React$1.DetailedReactHTMLElement<{
8
+ className: string;
9
+ }, HTMLElement> | null;
32
10
 
33
11
  export { Transition as default };
34
- export type { TransitionElementProps, TransitionProps, TransitionState, TransitionVariantTypes };
12
+ export type { TransitionProps };
@@ -1,93 +1,11 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),React=require('react'),index$1=require('../Tag/index.js'),useAnimation=require('../hooks/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
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),React=require('react'),index=require('../hooks/useTransition/index.js');const Transition = (_a) => {
2
+ var _b;
3
+ var { children } = _a, props = tslib.__rest(_a, ["children"]);
4
+ const { exited, classname } = index.default(props);
5
+ if (exited)
6
+ return null;
7
+ const clone = React.Children.only(children);
8
+ return React.cloneElement(clone, {
9
+ className: `${((_b = clone === null || clone === void 0 ? void 0 : clone.props) === null || _b === void 0 ? void 0 : _b.className) || ''} ${classname || ''}`.trim()
16
10
  });
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 (jsxRuntime.jsx(index$1.default, { height: 0, overflow: 'hidden', position: "fixed", visibility: "hidden", children: child }));
93
11
  };exports.default=Transition;//# sourceMappingURL=index.js.map
@@ -1 +1 @@
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 '../hooks/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 position=\"fixed\"\n visibility=\"hidden\"\n >\n {child}\n </Tag>\n )\n}\n\n\nexport default Transition"],"names":["__rest","animationEases","useId","useState","useEffect","formatCSSProp","css","Children","cloneElement","_jsx","Tag"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Transition/index.tsx"],"sourcesContent":["import { cloneElement, Children } from 'react';\nimport useTransition, { UseTransitionProps } from '../hooks/useTransition';\n\nexport type TransitionProps = UseTransitionProps & {\n children: React.ReactElement;\n}\n\nconst Transition = ({ children, ...props }: TransitionProps) => {\n const { exited, classname } = useTransition(props);\n if (exited) return null;\n const clone: any = Children.only(children);\n return cloneElement(clone, {\n className: `${clone?.props?.className || ''} ${classname || ''}`.trim()\n });\n}\n\n\nexport default Transition"],"names":["__rest","useTransition","Children","cloneElement"],"mappings":"yKAOA,MAAM,UAAU,GAAG,CAAC,EAAuC,KAAI;;AAA3C,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA6B,EAAxB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAGC,aAAa,CAAC,KAAK,CAAC;AAClD,IAAA,IAAI,MAAM;AAAE,QAAA,OAAO,IAAI;IACvB,MAAM,KAAK,GAAQC,cAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1C,OAAOC,kBAAY,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,GAAG,CAAA,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,KAAK,0CAAE,SAAS,KAAI,EAAE,CAAA,CAAA,EAAI,SAAS,IAAI,EAAE,CAAA,CAAE,CAAC,IAAI;AACxE,KAAA,CAAC;AACN"}
@@ -1,93 +1,11 @@
1
- import {__rest}from'tslib';import {jsx}from'react/jsx-runtime';import {useId,useState,useEffect,Children,cloneElement}from'react';import Tag from'../Tag/index.mjs';import {animationEases}from'../hooks/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
1
+ import {__rest}from'tslib';import {Children,cloneElement}from'react';import useTransition from'../hooks/useTransition/index.mjs';const Transition = (_a) => {
2
+ var _b;
3
+ var { children } = _a, props = __rest(_a, ["children"]);
4
+ const { exited, classname } = useTransition(props);
5
+ if (exited)
6
+ return null;
7
+ const clone = Children.only(children);
8
+ return cloneElement(clone, {
9
+ className: `${((_b = clone === null || clone === void 0 ? void 0 : clone.props) === null || _b === void 0 ? void 0 : _b.className) || ''} ${classname || ''}`.trim()
16
10
  });
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 (jsx(Tag, { height: 0, overflow: 'hidden', position: "fixed", visibility: "hidden", children: child }));
93
11
  };export{Transition as default};//# sourceMappingURL=index.mjs.map
@@ -1 +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 '../hooks/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 position=\"fixed\"\n visibility=\"hidden\"\n >\n {child}\n </Tag>\n )\n}\n\n\nexport default Transition"],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/Transition/index.tsx"],"sourcesContent":["import { cloneElement, Children } from 'react';\nimport useTransition, { UseTransitionProps } from '../hooks/useTransition';\n\nexport type TransitionProps = UseTransitionProps & {\n children: React.ReactElement;\n}\n\nconst Transition = ({ children, ...props }: TransitionProps) => {\n const { exited, classname } = useTransition(props);\n if (exited) return null;\n const clone: any = Children.only(children);\n return cloneElement(clone, {\n className: `${clone?.props?.className || ''} ${classname || ''}`.trim()\n });\n}\n\n\nexport default Transition"],"names":[],"mappings":"iIAOA,MAAM,UAAU,GAAG,CAAC,EAAuC,KAAI;;AAA3C,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA6B,EAAxB,KAAK,GAAA,MAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;IACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC;AAClD,IAAA,IAAI,MAAM;AAAE,QAAA,OAAO,IAAI;IACvB,MAAM,KAAK,GAAQ,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1C,OAAO,YAAY,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,GAAG,CAAA,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,KAAK,0CAAE,SAAS,KAAI,EAAE,CAAA,CAAA,EAAI,SAAS,IAAI,EAAE,CAAA,CAAE,CAAC,IAAI;AACxE,KAAA,CAAC;AACN"}
@@ -0,0 +1,32 @@
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
+ classname: string;
29
+ };
30
+
31
+ export { useTransition as default };
32
+ export type { UseTransitionProps, UseTransitionState, UseTransitionVariant, UseTransitionVariantTypes };
@@ -0,0 +1,76 @@
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),React=require('react'),useAnimation=require('../useAnimation.js'),index=require('../../css/index.js'),oncss=require('oncss'),variants=require('./variants.js'),classNames=require('pretty-class');const getVariant = (rect, variant) => {
2
+ let fn = typeof variant === 'string' ? variants[variant] : variant;
3
+ if (!fn)
4
+ throw new Error(`Transition variant "${variant}" not found.`);
5
+ return fn(rect);
6
+ };
7
+ const useTransition = (_a) => {
8
+ var { open } = _a, props = tslib.__rest(_a, ["open"]);
9
+ let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = true, onOpen, onOpened, onClose, onClosed, onState } = props;
10
+ let _ease = ease || useAnimation.animationEases[easing] || useAnimation.animationEases.easeBounceOut;
11
+ const id = React.useId().replace(/:/g, "");
12
+ const [state, setState] = React.useState({
13
+ initial: false,
14
+ classname: "",
15
+ variant: variant,
16
+ rect: null,
17
+ stage: open ? "open" : "closed",
18
+ unmounted: false,
19
+ });
20
+ const getEle = () => document.querySelector(`.${id}`);
21
+ const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
22
+ React.useEffect(() => {
23
+ if (exitOnUnmount && state.stage === 'closed') {
24
+ if (!open) {
25
+ setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
26
+ }
27
+ else {
28
+ setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: index.css({ visibility: "hidden" }).classname, stage: "open" })));
29
+ }
30
+ }
31
+ }, [open, state.stage, exitOnUnmount, variant]);
32
+ // initial effect
33
+ React.useEffect(() => {
34
+ const ele = getEle();
35
+ if (!ele)
36
+ return;
37
+ if (exitOnUnmount && state.stage === 'closed')
38
+ return;
39
+ const rect = getBoundary();
40
+ let { from } = getVariant(rect, state.variant);
41
+ if (open && !state.initial) {
42
+ setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? index.css(from).classname : "", initial: true, rect: rect })));
43
+ ele.ontransitionstart = () => {
44
+ const isOpen = Array.from(ele.classList).includes("xui-transition-open");
45
+ (onOpen && isOpen) && onOpen();
46
+ (onClose && !isOpen) && onClose();
47
+ onState && onState(isOpen ? "open" : "close");
48
+ setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
49
+ };
50
+ ele.ontransitionend = () => {
51
+ const isOpen = Array.from(ele.classList).includes("xui-transition-open");
52
+ (onOpened && isOpen) && onOpened();
53
+ (onClosed && !isOpen) && onClosed();
54
+ onState && onState(isOpen ? "opened" : "closed");
55
+ setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
56
+ };
57
+ }
58
+ else if (!state.initial) {
59
+ setState(s => (Object.assign(Object.assign({}, s), { classname: index.css(from).classname, rect: rect })));
60
+ }
61
+ }, [open, state.initial, state.stage, exitOnUnmount]);
62
+ React.useEffect(() => {
63
+ if (state.initial) {
64
+ let _variant = state.variant !== variant ? variant : state.variant;
65
+ const { from, to } = getVariant(state.rect, _variant);
66
+ let _css = open ? to : from;
67
+ let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
68
+ let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => oncss.formatCSSProp(k)).join(trans + ", ") + trans });
69
+ setState(s => (Object.assign(Object.assign({}, s), { classname: index.css(_).classname, variant: _variant })));
70
+ }
71
+ }, [open, state.initial, variant]);
72
+ return {
73
+ exited: exitOnUnmount && state.stage === 'closed',
74
+ classname: classNames(id, state.classname, `xui-transition-${open ? "open" : "close"}`, `xui-transition-${state.stage}`)
75
+ };
76
+ };exports.default=useTransition;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["import { ReactElement, cloneElement, Children, useState, useEffect, useId } 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 classNames from 'pretty-class';\n\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 getVariant = (rect: any, 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)\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 = true,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.easeBounceOut\n const id = useId().replace(/:/g, \"\")\n\n const [state, setState] = useState({\n initial: false,\n classname: \"\",\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => document.querySelector(`.${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: css({ visibility: \"hidden\" }).classname,\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useEffect(() => {\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) ? css(from).classname : \"\",\n initial: true,\n rect: rect,\n }))\n\n ele.ontransitionstart = () => {\n const isOpen = Array.from(ele.classList).includes(\"xui-transition-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 }\n\n ele.ontransitionend = () => {\n const isOpen = Array.from(ele.classList).includes(\"xui-transition-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 }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: css(from).classname,\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: css(_).classname,\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n classname: classNames(\n id,\n state.classname,\n `xui-transition-${open ? \"open\" : \"close\"}`,\n `xui-transition-${state.stage}`,\n )\n }\n}\n\n\nexport default useTransition"],"names":["__rest","animationEases","useId","useState","useEffect","css","formatCSSProp"],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import {__rest}from'tslib';import {useId,useState,useEffect}from'react';import {animationEases}from'../useAnimation.mjs';import {css}from'../../css/index.mjs';import {formatCSSProp}from'oncss';import*as variants from'./variants.mjs';import classNames from'pretty-class';const getVariant = (rect, variant) => {
2
+ let fn = typeof variant === 'string' ? variants[variant] : variant;
3
+ if (!fn)
4
+ throw new Error(`Transition variant "${variant}" not found.`);
5
+ return fn(rect);
6
+ };
7
+ const useTransition = (_a) => {
8
+ var { open } = _a, props = __rest(_a, ["open"]);
9
+ let { disableInitialTransition = false, variant = "fade", duration = 400, delay, ease, easing, exitOnUnmount = true, onOpen, onOpened, onClose, onClosed, onState } = props;
10
+ let _ease = ease || animationEases[easing] || animationEases.easeBounceOut;
11
+ const id = useId().replace(/:/g, "");
12
+ const [state, setState] = useState({
13
+ initial: false,
14
+ classname: "",
15
+ variant: variant,
16
+ rect: null,
17
+ stage: open ? "open" : "closed",
18
+ unmounted: false,
19
+ });
20
+ const getEle = () => document.querySelector(`.${id}`);
21
+ const getBoundary = () => { var _a; return state.rect || ((_a = getEle()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || new DOMRect(0, 0, 0, 0); };
22
+ useEffect(() => {
23
+ if (exitOnUnmount && state.stage === 'closed') {
24
+ if (!open) {
25
+ setState(s => (Object.assign(Object.assign({}, s), { initial: false, classname: "", unmounted: true, variant: variant })));
26
+ }
27
+ else {
28
+ setState(s => (Object.assign(Object.assign({}, s), { variant: variant, classname: css({ visibility: "hidden" }).classname, stage: "open" })));
29
+ }
30
+ }
31
+ }, [open, state.stage, exitOnUnmount, variant]);
32
+ // initial effect
33
+ useEffect(() => {
34
+ const ele = getEle();
35
+ if (!ele)
36
+ return;
37
+ if (exitOnUnmount && state.stage === 'closed')
38
+ return;
39
+ const rect = getBoundary();
40
+ let { from } = getVariant(rect, state.variant);
41
+ if (open && !state.initial) {
42
+ setState(s => (Object.assign(Object.assign({}, s), { classname: (!disableInitialTransition || state.unmounted) ? css(from).classname : "", initial: true, rect: rect })));
43
+ ele.ontransitionstart = () => {
44
+ const isOpen = Array.from(ele.classList).includes("xui-transition-open");
45
+ (onOpen && isOpen) && onOpen();
46
+ (onClose && !isOpen) && onClose();
47
+ onState && onState(isOpen ? "open" : "close");
48
+ setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "open" : "close" })));
49
+ };
50
+ ele.ontransitionend = () => {
51
+ const isOpen = Array.from(ele.classList).includes("xui-transition-open");
52
+ (onOpened && isOpen) && onOpened();
53
+ (onClosed && !isOpen) && onClosed();
54
+ onState && onState(isOpen ? "opened" : "closed");
55
+ setState(s => (Object.assign(Object.assign({}, s), { stage: isOpen ? "opened" : "closed" })));
56
+ };
57
+ }
58
+ else if (!state.initial) {
59
+ setState(s => (Object.assign(Object.assign({}, s), { classname: css(from).classname, rect: rect })));
60
+ }
61
+ }, [open, state.initial, state.stage, exitOnUnmount]);
62
+ useEffect(() => {
63
+ if (state.initial) {
64
+ let _variant = state.variant !== variant ? variant : state.variant;
65
+ const { from, to } = getVariant(state.rect, _variant);
66
+ let _css = open ? to : from;
67
+ let trans = ` ${duration}ms ${_ease} ${delay || 0}ms`;
68
+ let _ = Object.assign(Object.assign({}, _css), { transition: Object.keys(_css || {}).map(k => formatCSSProp(k)).join(trans + ", ") + trans });
69
+ setState(s => (Object.assign(Object.assign({}, s), { classname: css(_).classname, variant: _variant })));
70
+ }
71
+ }, [open, state.initial, variant]);
72
+ return {
73
+ exited: exitOnUnmount && state.stage === 'closed',
74
+ classname: classNames(id, state.classname, `xui-transition-${open ? "open" : "close"}`, `xui-transition-${state.stage}`)
75
+ };
76
+ };export{useTransition as default};//# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/hooks/useTransition/index.ts"],"sourcesContent":["import { ReactElement, cloneElement, Children, useState, useEffect, useId } 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 classNames from 'pretty-class';\n\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 getVariant = (rect: any, 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)\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 = true,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n onState\n } = props\n let _ease = ease || (animationEases as any)[easing as any] || animationEases.easeBounceOut\n const id = useId().replace(/:/g, \"\")\n\n const [state, setState] = useState({\n initial: false,\n classname: \"\",\n variant: variant,\n rect: null as DOMRect | null,\n stage: open ? \"open\" : \"closed\",\n unmounted: false,\n })\n\n const getEle = () => document.querySelector(`.${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: css({ visibility: \"hidden\" }).classname,\n stage: \"open\",\n }))\n }\n }\n }, [open, state.stage, exitOnUnmount, variant])\n\n // initial effect\n useEffect(() => {\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) ? css(from).classname : \"\",\n initial: true,\n rect: rect,\n }))\n\n ele.ontransitionstart = () => {\n const isOpen = Array.from(ele.classList).includes(\"xui-transition-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 }\n\n ele.ontransitionend = () => {\n const isOpen = Array.from(ele.classList).includes(\"xui-transition-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 }\n } else if (!state.initial) {\n setState(s => ({\n ...s,\n classname: css(from).classname,\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: css(_).classname,\n variant: _variant\n }))\n }\n }, [open, state.initial, variant])\n\n return {\n exited: exitOnUnmount && state.stage === 'closed',\n classname: classNames(\n id,\n state.classname,\n `xui-transition-${open ? \"open\" : \"close\"}`,\n `xui-transition-${state.stage}`,\n )\n }\n}\n\n\nexport default useTransition"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { TransitionElementProps } from './index.js';
2
-
3
- declare const slideDown: (_arg: TransitionElementProps) => {
1
+ declare const slideDown: (rect: DOMRect) => {
4
2
  from: {
5
3
  transform: string;
6
4
  };
@@ -8,7 +6,7 @@ declare const slideDown: (_arg: TransitionElementProps) => {
8
6
  transform: string;
9
7
  };
10
8
  };
11
- declare const slideUp: (_arg: TransitionElementProps) => {
9
+ declare const slideUp: (_arg: DOMRect) => {
12
10
  from: {
13
11
  transform: string;
14
12
  };
@@ -16,7 +14,7 @@ declare const slideUp: (_arg: TransitionElementProps) => {
16
14
  transform: string;
17
15
  };
18
16
  };
19
- declare const slideRight: (_arg: TransitionElementProps) => {
17
+ declare const slideRight: (_arg: DOMRect) => {
20
18
  from: {
21
19
  transform: string;
22
20
  };
@@ -24,7 +22,7 @@ declare const slideRight: (_arg: TransitionElementProps) => {
24
22
  transform: string;
25
23
  };
26
24
  };
27
- declare const slideLeft: (_arg: TransitionElementProps) => {
25
+ declare const slideLeft: (_arg: DOMRect) => {
28
26
  from: {
29
27
  transform: string;
30
28
  };
@@ -32,7 +30,7 @@ declare const slideLeft: (_arg: TransitionElementProps) => {
32
30
  transform: string;
33
31
  };
34
32
  };
35
- declare const fade: (_arg: TransitionElementProps) => {
33
+ declare const fade: (_arg: DOMRect) => {
36
34
  from: {
37
35
  opacity: number;
38
36
  };
@@ -40,7 +38,7 @@ declare const fade: (_arg: TransitionElementProps) => {
40
38
  opacity: number;
41
39
  };
42
40
  };
43
- declare const fadeDown: (_arg: TransitionElementProps) => {
41
+ declare const fadeDown: (_arg: DOMRect) => {
44
42
  from: {
45
43
  transform: string;
46
44
  opacity: number;
@@ -50,7 +48,7 @@ declare const fadeDown: (_arg: TransitionElementProps) => {
50
48
  opacity: number;
51
49
  };
52
50
  };
53
- declare const fadeUp: (_arg: TransitionElementProps) => {
51
+ declare const fadeUp: (_arg: DOMRect) => {
54
52
  from: {
55
53
  transform: string;
56
54
  opacity: number;
@@ -60,7 +58,7 @@ declare const fadeUp: (_arg: TransitionElementProps) => {
60
58
  opacity: number;
61
59
  };
62
60
  };
63
- declare const fadeRight: (_arg: TransitionElementProps) => {
61
+ declare const fadeRight: (_arg: DOMRect) => {
64
62
  from: {
65
63
  transform: string;
66
64
  opacity: number;
@@ -70,7 +68,7 @@ declare const fadeRight: (_arg: TransitionElementProps) => {
70
68
  opacity: number;
71
69
  };
72
70
  };
73
- declare const fadeLeft: (_arg: TransitionElementProps) => {
71
+ declare const fadeLeft: (_arg: DOMRect) => {
74
72
  from: {
75
73
  transform: string;
76
74
  opacity: number;
@@ -80,7 +78,7 @@ declare const fadeLeft: (_arg: TransitionElementProps) => {
80
78
  opacity: number;
81
79
  };
82
80
  };
83
- declare const grow: (_arg: TransitionElementProps) => {
81
+ declare const grow: (_arg: DOMRect) => {
84
82
  from: {
85
83
  transform: string;
86
84
  opacity: number;
@@ -90,7 +88,7 @@ declare const grow: (_arg: TransitionElementProps) => {
90
88
  opacity: number;
91
89
  };
92
90
  };
93
- declare const zoom: (_arg: TransitionElementProps) => {
91
+ declare const zoom: (_arg: DOMRect) => {
94
92
  from: {
95
93
  transform: string;
96
94
  opacity: number;
@@ -100,7 +98,7 @@ declare const zoom: (_arg: TransitionElementProps) => {
100
98
  opacity: number;
101
99
  };
102
100
  };
103
- declare const zoomOver: (_arg: TransitionElementProps) => {
101
+ declare const zoomOver: (_arg: DOMRect) => {
104
102
  from: {
105
103
  transform: string;
106
104
  opacity: number;
@@ -110,17 +108,17 @@ declare const zoomOver: (_arg: TransitionElementProps) => {
110
108
  opacity: number;
111
109
  };
112
110
  };
113
- declare const collapsVerticle: (_arg: TransitionElementProps) => {
111
+ declare const collapsVerticle: (rect: DOMRect) => {
114
112
  from: {
115
- height: string;
113
+ maxHeight: string;
116
114
  overflow: string;
117
115
  };
118
116
  to: {
119
- height: string;
117
+ maxHeight: number;
120
118
  overflow: string;
121
119
  };
122
120
  };
123
- declare const collapsHorizental: (_arg: TransitionElementProps) => {
121
+ declare const collapsHorizental: (_arg: DOMRect) => {
124
122
  from: {
125
123
  width: string;
126
124
  overflow: string;
@@ -1,7 +1,7 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});const slideDown = (_arg) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});const slideDown = (rect) => {
2
2
  return {
3
3
  from: {
4
- transform: `translateY(-${_arg.height}px)!important`,
4
+ transform: `translateY(-${rect.height}px)!important`,
5
5
  },
6
6
  to: {
7
7
  transform: `translateY(0)!important`,
@@ -132,14 +132,14 @@ const zoomOver = (_arg) => {
132
132
  }
133
133
  };
134
134
  };
135
- const collapsVerticle = (_arg) => {
135
+ const collapsVerticle = (rect) => {
136
136
  return {
137
137
  from: {
138
- height: 0 + "px!important",
138
+ maxHeight: 0 + "px!important",
139
139
  overflow: "hidden"
140
140
  },
141
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",
142
+ maxHeight: rect.height,
143
143
  overflow: "hidden"
144
144
  }
145
145
  };
@@ -0,0 +1 @@
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)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideUp = (_arg: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = (_arg: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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 = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapsHorizental = (_arg: DOMRect) => {\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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"}
@@ -1,7 +1,7 @@
1
- const slideDown = (_arg) => {
1
+ const slideDown = (rect) => {
2
2
  return {
3
3
  from: {
4
- transform: `translateY(-${_arg.height}px)!important`,
4
+ transform: `translateY(-${rect.height}px)!important`,
5
5
  },
6
6
  to: {
7
7
  transform: `translateY(0)!important`,
@@ -132,14 +132,14 @@ const zoomOver = (_arg) => {
132
132
  }
133
133
  };
134
134
  };
135
- const collapsVerticle = (_arg) => {
135
+ const collapsVerticle = (rect) => {
136
136
  return {
137
137
  from: {
138
- height: 0 + "px!important",
138
+ maxHeight: 0 + "px!important",
139
139
  overflow: "hidden"
140
140
  },
141
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",
142
+ maxHeight: rect.height,
143
143
  overflow: "hidden"
144
144
  }
145
145
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.mjs","sources":["../../../src/hooks/useTransition/variants.ts"],"sourcesContent":["\nexport const slideDown = (rect: DOMRect) => {\n\n return {\n from: {\n transform: `translateY(-${rect.height}px)!important`,\n },\n to: {\n transform: `translateY(0)!important`,\n }\n }\n}\n\nexport const slideUp = (_arg: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\n return {\n from: {\n opacity: 0\n },\n to: {\n opacity: 1\n }\n }\n}\n\nexport const fadeDown = (_arg: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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: DOMRect) => {\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 = (rect: DOMRect) => {\n\n return {\n from: {\n maxHeight: 0 + \"px!important\",\n overflow: \"hidden\"\n },\n to: {\n maxHeight: rect.height,\n overflow: \"hidden\"\n }\n }\n}\n\n\nexport const collapsHorizental = (_arg: DOMRect) => {\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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"}
package/index.d.ts CHANGED
@@ -5,7 +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 { default as Transition, TransitionElementProps, TransitionProps, TransitionState, TransitionVariantTypes } from './Transition/index.js';
8
+ export { default as useTransition } from './hooks/useTransition/index.js';
9
+ export { default as Transition, TransitionProps } from './Transition/index.js';
9
10
  export { default as AppRoot, AppRootProps, appRootElement } from './AppRoot/index.js';
10
11
  export { default as usePortal } from './hooks/usePortal.js';
11
12
  export { Renderar } from './AppRoot/Renderar.js';
package/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var index$1=require('./Tag/index.js'),useTagProps=require('./Tag/useTagProps.js'),useAnimation=require('./hooks/useAnimation.js'),useColorTemplate=require('./hooks/useColorTemplate.js'),useBreakpoint=require('./breakpoint/useBreakpoint.js'),useBreakpointProps=require('./breakpoint/useBreakpointProps.js'),useInterface=require('./hooks/useInterface.js'),index$2=require('./Transition/index.js'),index=require('./AppRoot/index.js'),usePortal=require('./hooks/usePortal.js'),Renderar=require('./AppRoot/Renderar.js'),index$3=require('./css/index.js'),index$4=require('./theme/index.js'),getValue=require('./css/getValue.js'),getProps=require('./css/getProps.js'),ThemeProvider=require('./theme/ThemeProvider.js'),createThemeSwitcher=require('./theme/createThemeSwitcher.js'),createTheme=require('./theme/createTheme.js'),core=require('./theme/core.js');exports.Tag=index$1.default;exports.useTagProps=useTagProps.default;exports.animationEases=useAnimation.animationEases;exports.useAnimation=useAnimation.default;exports.useColorTemplate=useColorTemplate.default;exports.useBreakpoint=useBreakpoint.default;exports.useBreakpointProps=useBreakpointProps.default;exports.useInterface=useInterface.default;exports.Transition=index$2.default;exports.AppRoot=index.default;exports.appRootElement=index.appRootElement;exports.usePortal=usePortal.usePortal;exports.Renderar=Renderar.Renderar;exports.adjustColor=index$3.adjustColor;exports.adjustTextContrast=index$3.adjustTextContrast;exports.alpha=index$3.alpha;exports.breakpoints=index$3.breakpoints;exports.css=index$3.css;exports.themeRootClass=index$4.themeRootClass;exports.getValue=getValue.default;exports.getProps=getProps.default;exports.ThemeProvider=ThemeProvider.default;exports.createThemeSwitcher=createThemeSwitcher.default;exports.createTheme=createTheme.createTheme;exports.getTheme=core.getTheme;exports.useTheme=core.useTheme;//# sourceMappingURL=index.js.map
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var index$1=require('./Tag/index.js'),useTagProps=require('./Tag/useTagProps.js'),useAnimation=require('./hooks/useAnimation.js'),useColorTemplate=require('./hooks/useColorTemplate.js'),useBreakpoint=require('./breakpoint/useBreakpoint.js'),useBreakpointProps=require('./breakpoint/useBreakpointProps.js'),useInterface=require('./hooks/useInterface.js'),index$3=require('./hooks/useTransition/index.js'),index$2=require('./Transition/index.js'),index=require('./AppRoot/index.js'),usePortal=require('./hooks/usePortal.js'),Renderar=require('./AppRoot/Renderar.js'),index$4=require('./css/index.js'),index$5=require('./theme/index.js'),getValue=require('./css/getValue.js'),getProps=require('./css/getProps.js'),ThemeProvider=require('./theme/ThemeProvider.js'),createThemeSwitcher=require('./theme/createThemeSwitcher.js'),createTheme=require('./theme/createTheme.js'),core=require('./theme/core.js');exports.Tag=index$1.default;exports.useTagProps=useTagProps.default;exports.animationEases=useAnimation.animationEases;exports.useAnimation=useAnimation.default;exports.useColorTemplate=useColorTemplate.default;exports.useBreakpoint=useBreakpoint.default;exports.useBreakpointProps=useBreakpointProps.default;exports.useInterface=useInterface.default;exports.useTransition=index$3.default;exports.Transition=index$2.default;exports.AppRoot=index.default;exports.appRootElement=index.appRootElement;exports.usePortal=usePortal.usePortal;exports.Renderar=Renderar.Renderar;exports.adjustColor=index$4.adjustColor;exports.adjustTextContrast=index$4.adjustTextContrast;exports.alpha=index$4.alpha;exports.breakpoints=index$4.breakpoints;exports.css=index$4.css;exports.themeRootClass=index$5.themeRootClass;exports.getValue=getValue.default;exports.getProps=getProps.default;exports.ThemeProvider=ThemeProvider.default;exports.createThemeSwitcher=createThemeSwitcher.default;exports.createTheme=createTheme.createTheme;exports.getTheme=core.getTheme;exports.useTheme=core.useTheme;//# sourceMappingURL=index.js.map
package/index.mjs CHANGED
@@ -1 +1 @@
1
- export{default as Tag}from'./Tag/index.mjs';export{default as useTagProps}from'./Tag/useTagProps.mjs';export{animationEases,default as useAnimation}from'./hooks/useAnimation.mjs';export{default as useColorTemplate}from'./hooks/useColorTemplate.mjs';export{default as useBreakpoint}from'./breakpoint/useBreakpoint.mjs';export{default as useBreakpointProps}from'./breakpoint/useBreakpointProps.mjs';export{default as useInterface}from'./hooks/useInterface.mjs';export{default as Transition}from'./Transition/index.mjs';export{default as AppRoot,appRootElement}from'./AppRoot/index.mjs';export{usePortal}from'./hooks/usePortal.mjs';export{Renderar}from'./AppRoot/Renderar.mjs';export{adjustColor,adjustTextContrast,alpha,breakpoints,css}from'./css/index.mjs';export{themeRootClass}from'./theme/index.mjs';export{default as getValue}from'./css/getValue.mjs';export{default as getProps}from'./css/getProps.mjs';export{default as ThemeProvider}from'./theme/ThemeProvider.mjs';export{default as createThemeSwitcher}from'./theme/createThemeSwitcher.mjs';export{createTheme}from'./theme/createTheme.mjs';export{getTheme,useTheme}from'./theme/core.mjs';//# sourceMappingURL=index.mjs.map
1
+ export{default as Tag}from'./Tag/index.mjs';export{default as useTagProps}from'./Tag/useTagProps.mjs';export{animationEases,default as useAnimation}from'./hooks/useAnimation.mjs';export{default as useColorTemplate}from'./hooks/useColorTemplate.mjs';export{default as useBreakpoint}from'./breakpoint/useBreakpoint.mjs';export{default as useBreakpointProps}from'./breakpoint/useBreakpointProps.mjs';export{default as useInterface}from'./hooks/useInterface.mjs';export{default as useTransition}from'./hooks/useTransition/index.mjs';export{default as Transition}from'./Transition/index.mjs';export{default as AppRoot,appRootElement}from'./AppRoot/index.mjs';export{usePortal}from'./hooks/usePortal.mjs';export{Renderar}from'./AppRoot/Renderar.mjs';export{adjustColor,adjustTextContrast,alpha,breakpoints,css}from'./css/index.mjs';export{themeRootClass}from'./theme/index.mjs';export{default as getValue}from'./css/getValue.mjs';export{default as getProps}from'./css/getProps.mjs';export{default as ThemeProvider}from'./theme/ThemeProvider.mjs';export{default as createThemeSwitcher}from'./theme/createThemeSwitcher.mjs';export{createTheme}from'./theme/createTheme.mjs';export{getTheme,useTheme}from'./theme/core.mjs';//# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xanui/core",
3
- "version": "1.2.22",
3
+ "version": "1.2.23",
4
4
  "description": "",
5
5
  "private": false,
6
6
  "main": "./index.js",
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.mjs","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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"}