@gfazioli/mantine-flip 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Flip.cjs +126 -0
- package/dist/cjs/Flip.cjs.map +1 -0
- package/dist/cjs/Flip.context.cjs +13 -0
- package/dist/cjs/Flip.context.cjs.map +1 -0
- package/dist/cjs/Flip.errors.cjs +10 -0
- package/dist/cjs/Flip.errors.cjs.map +1 -0
- package/dist/cjs/Flip.module.css.cjs +7 -0
- package/dist/cjs/Flip.module.css.cjs.map +1 -0
- package/dist/cjs/FlipTarget/FlipTarget.cjs +28 -0
- package/dist/cjs/FlipTarget/FlipTarget.cjs.map +1 -0
- package/dist/cjs/index.cjs +9 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/Flip.context.mjs +10 -0
- package/dist/esm/Flip.context.mjs.map +1 -0
- package/dist/esm/Flip.errors.mjs +8 -0
- package/dist/esm/Flip.errors.mjs.map +1 -0
- package/dist/esm/Flip.mjs +124 -0
- package/dist/esm/Flip.mjs.map +1 -0
- package/dist/esm/Flip.module.css.mjs +5 -0
- package/dist/esm/Flip.module.css.mjs.map +1 -0
- package/dist/esm/FlipTarget/FlipTarget.mjs +26 -0
- package/dist/esm/FlipTarget/FlipTarget.mjs.map +1 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/styles.layer.css +1 -0
- package/dist/types/Flip.context.d.ts +9 -0
- package/dist/types/Flip.d.ts +76 -0
- package/dist/types/Flip.errors.d.ts +4 -0
- package/dist/types/FlipTarget/FlipTarget.d.ts +8 -0
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +4 -7
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
var hooks = require('@mantine/hooks');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var Flip_context = require('./Flip.context.cjs');
|
|
8
|
+
var Flip_module = require('./Flip.module.css.cjs');
|
|
9
|
+
var FlipTarget = require('./FlipTarget/FlipTarget.cjs');
|
|
10
|
+
|
|
11
|
+
const defaultProps = {
|
|
12
|
+
direction: "horizontal",
|
|
13
|
+
directionFlipIn: "negative",
|
|
14
|
+
directionFlipOut: "positive"
|
|
15
|
+
};
|
|
16
|
+
const varsResolver = core.createVarsResolver((_, { perspective, easing, duration }) => ({
|
|
17
|
+
root: {
|
|
18
|
+
"--flip-perspective": perspective === void 0 ? "1000px" : perspective,
|
|
19
|
+
"--flip-transition-duration": duration === void 0 ? ".8s" : `${duration}s`,
|
|
20
|
+
"--flip-transition-timing-function": easing === void 0 ? "ease-in-out" : easing
|
|
21
|
+
}
|
|
22
|
+
}));
|
|
23
|
+
const Flip = core.polymorphicFactory((_props, ref) => {
|
|
24
|
+
const props = core.useProps("Flip", defaultProps, _props);
|
|
25
|
+
const {
|
|
26
|
+
perspective,
|
|
27
|
+
duration,
|
|
28
|
+
easing,
|
|
29
|
+
classNames,
|
|
30
|
+
style,
|
|
31
|
+
styles,
|
|
32
|
+
unstyled,
|
|
33
|
+
vars,
|
|
34
|
+
children,
|
|
35
|
+
className,
|
|
36
|
+
flipped,
|
|
37
|
+
defaultFlipped,
|
|
38
|
+
direction,
|
|
39
|
+
directionFlipIn,
|
|
40
|
+
directionFlipOut,
|
|
41
|
+
onChange,
|
|
42
|
+
onBack,
|
|
43
|
+
onFront,
|
|
44
|
+
...others
|
|
45
|
+
} = props;
|
|
46
|
+
const containerRef = React.useRef(null);
|
|
47
|
+
const [rotateValue, setRotateValue] = React.useState(defaultFlipped ? -180 : 0);
|
|
48
|
+
const [_flipped, setFlipped] = hooks.useUncontrolled({
|
|
49
|
+
value: flipped,
|
|
50
|
+
defaultValue: defaultFlipped,
|
|
51
|
+
finalValue: false,
|
|
52
|
+
onChange
|
|
53
|
+
});
|
|
54
|
+
const getStyles = core.useStyles({
|
|
55
|
+
name: "Flip",
|
|
56
|
+
props,
|
|
57
|
+
classes: Flip_module,
|
|
58
|
+
className,
|
|
59
|
+
style,
|
|
60
|
+
classNames,
|
|
61
|
+
styles,
|
|
62
|
+
unstyled,
|
|
63
|
+
vars,
|
|
64
|
+
varsResolver
|
|
65
|
+
});
|
|
66
|
+
hooks.useDidUpdate(() => {
|
|
67
|
+
setRotateValue(0);
|
|
68
|
+
}, [directionFlipIn, directionFlipOut, direction]);
|
|
69
|
+
hooks.useDidUpdate(() => {
|
|
70
|
+
if (directionFlipIn === "negative" && directionFlipOut === "positive") {
|
|
71
|
+
setRotateValue((v) => v ? v + 180 : -180);
|
|
72
|
+
}
|
|
73
|
+
if (directionFlipIn === "negative" && directionFlipOut === "negative") {
|
|
74
|
+
setRotateValue((v) => v - 180);
|
|
75
|
+
}
|
|
76
|
+
if (directionFlipIn === "positive" && directionFlipOut === "negative") {
|
|
77
|
+
setRotateValue((v) => v ? v - 180 : 180);
|
|
78
|
+
}
|
|
79
|
+
if (directionFlipIn === "positive" && directionFlipOut === "positive") {
|
|
80
|
+
setRotateValue((v) => v + 180);
|
|
81
|
+
}
|
|
82
|
+
}, [_flipped]);
|
|
83
|
+
const childrenArray = React.Children.toArray(children);
|
|
84
|
+
if (childrenArray.length !== 2) {
|
|
85
|
+
throw new Error("Flip component must have exactly two children");
|
|
86
|
+
}
|
|
87
|
+
function getDirectionIn() {
|
|
88
|
+
if (direction === "horizontal") {
|
|
89
|
+
return { transform: `rotateY(${rotateValue}deg)` };
|
|
90
|
+
}
|
|
91
|
+
return { transform: `rotateX(${rotateValue}deg)` };
|
|
92
|
+
}
|
|
93
|
+
function getBackRotation() {
|
|
94
|
+
if (direction === "horizontal") {
|
|
95
|
+
return { transform: "rotateY(180deg)" };
|
|
96
|
+
}
|
|
97
|
+
return { transform: "rotateX(180deg)" };
|
|
98
|
+
}
|
|
99
|
+
const frontChild = childrenArray[0];
|
|
100
|
+
const backChild = childrenArray[1];
|
|
101
|
+
const front = () => {
|
|
102
|
+
setFlipped(false);
|
|
103
|
+
_flipped && onFront?.();
|
|
104
|
+
};
|
|
105
|
+
const back = () => {
|
|
106
|
+
setFlipped(true);
|
|
107
|
+
!_flipped && onBack?.();
|
|
108
|
+
};
|
|
109
|
+
const toggleFlip = () => _flipped ? front() : back();
|
|
110
|
+
return /* @__PURE__ */ React.createElement(
|
|
111
|
+
Flip_context.FlipContextProvider,
|
|
112
|
+
{
|
|
113
|
+
value: {
|
|
114
|
+
toggleFlip,
|
|
115
|
+
flipped: _flipped
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
/* @__PURE__ */ React.createElement(core.Box, { ref, ...getStyles("root"), ...others }, /* @__PURE__ */ React.createElement("div", { ref: containerRef, ...getStyles("flip-inner"), style: getDirectionIn() }, /* @__PURE__ */ React.createElement("div", { ...getStyles("flip-content"), style: { zIndex: 0 } }, frontChild), /* @__PURE__ */ React.createElement("div", { ...getStyles("flip-content"), style: getBackRotation() }, backChild)))
|
|
119
|
+
);
|
|
120
|
+
});
|
|
121
|
+
Flip.classes = Flip_module;
|
|
122
|
+
Flip.displayName = "@mantine/core/Flip";
|
|
123
|
+
Flip.Target = FlipTarget.FlipTarget;
|
|
124
|
+
|
|
125
|
+
exports.Flip = Flip;
|
|
126
|
+
//# sourceMappingURL=Flip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.cjs","sources":["../../src/Flip.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n PolymorphicFactory,\n StylesApiProps,\n createVarsResolver,\n polymorphicFactory,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport React, { useRef, useState } from 'react';\nimport { FlipContextProvider } from './Flip.context';\nimport classes from './Flip.module.css';\nimport { FlipTarget } from './FlipTarget/FlipTarget';\n\nexport type FlipStylesNames = 'root' | 'flip-inner' | 'flip-content';\n\nexport type FlipCssVariables = {\n root: '--flip-perspective' | '--flip-transition-duration' | '--flip-transition-timing-function';\n};\n\nexport type FlipDirection = 'horizontal' | 'vertical';\n\nexport type FlipIn = 'positive' | 'negative';\n\nexport type FlipOut = FlipIn;\n\nexport interface FlipBaseProps {\n /** Perspective value for flip animation. Default `1000px` */\n perspective?: string;\n\n /** Flip animation duration in seconds. Default `.8` */\n duration?: number;\n\n /** Flip animation timing function. Default `ease-in-out` */\n easing?: React.CSSProperties['transitionTimingFunction'];\n\n /** Controlled flip opened state */\n flipped?: boolean;\n\n /** Uncontrolled flip initial opened state */\n defaultFlipped?: boolean;\n\n /** Flip direction to show the front and back side. Default `horizontal` */\n direction?: FlipDirection;\n\n /** Flip direction to show the back side. Default `negative` */\n directionFlipIn?: FlipIn;\n\n /** Flip direction to hide the back side. Default `positive` */\n directionFlipOut?: FlipOut;\n\n /** Called when flip flipped state changes */\n onChange?: (flipped: boolean) => void;\n\n /** Called when Flip is shown back side */\n onBack?: () => void;\n\n /** Called when Flip is shown front side */\n onFront?: () => void;\n\n children?: React.ReactNode;\n}\n\nexport interface FlipProps extends BoxProps, FlipBaseProps, StylesApiProps<FlipFactory> {}\n\nexport type FlipFactory = PolymorphicFactory<{\n props: FlipProps;\n defaultComponent: 'div';\n defaultRef: HTMLDivElement;\n stylesNames: FlipStylesNames;\n vars: FlipCssVariables;\n staticComponents: {\n Target: typeof FlipTarget;\n };\n}>;\n\nconst defaultProps: Partial<FlipProps> = {\n direction: 'horizontal',\n directionFlipIn: 'negative',\n directionFlipOut: 'positive',\n};\n\nconst varsResolver = createVarsResolver<FlipFactory>((_, { perspective, easing, duration }) => ({\n root: {\n '--flip-perspective': perspective === undefined ? '1000px' : perspective,\n '--flip-transition-duration': duration === undefined ? '.8s' : `${duration}s`,\n '--flip-transition-timing-function': easing === undefined ? 'ease-in-out' : easing,\n },\n}));\n\nexport const Flip = polymorphicFactory<FlipFactory>((_props, ref) => {\n const props = useProps('Flip', defaultProps, _props);\n const {\n perspective,\n duration,\n easing,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n children,\n className,\n flipped,\n defaultFlipped,\n direction,\n directionFlipIn,\n directionFlipOut,\n onChange,\n onBack,\n onFront,\n ...others\n } = props;\n\n const containerRef = useRef(null);\n\n const [rotateValue, setRotateValue] = useState<number>(defaultFlipped ? -180 : 0);\n\n const [_flipped, setFlipped] = useUncontrolled({\n value: flipped,\n defaultValue: defaultFlipped,\n finalValue: false,\n onChange,\n });\n\n const getStyles = useStyles<FlipFactory>({\n name: 'Flip',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n useDidUpdate(() => {\n setRotateValue(0);\n }, [directionFlipIn, directionFlipOut, direction]);\n\n useDidUpdate(() => {\n if (directionFlipIn === 'negative' && directionFlipOut === 'positive') {\n setRotateValue((v) => (v ? v + 180 : -180));\n }\n\n if (directionFlipIn === 'negative' && directionFlipOut === 'negative') {\n setRotateValue((v) => v - 180);\n }\n\n if (directionFlipIn === 'positive' && directionFlipOut === 'negative') {\n setRotateValue((v) => (v ? v - 180 : 180));\n }\n\n if (directionFlipIn === 'positive' && directionFlipOut === 'positive') {\n setRotateValue((v) => v + 180);\n }\n }, [_flipped]);\n\n const childrenArray = React.Children.toArray(children);\n\n if (childrenArray.length !== 2) {\n throw new Error('Flip component must have exactly two children');\n }\n\n function getDirectionIn() {\n if (direction === 'horizontal') {\n return { transform: `rotateY(${rotateValue}deg)` };\n }\n return { transform: `rotateX(${rotateValue}deg)` };\n }\n\n function getBackRotation() {\n if (direction === 'horizontal') {\n return { transform: 'rotateY(180deg)' };\n }\n return { transform: 'rotateX(180deg)' };\n }\n\n // get the first child from children\n const frontChild = childrenArray[0] as React.ReactElement;\n const backChild = childrenArray[1] as React.ReactElement;\n\n const front = () => {\n setFlipped(false);\n _flipped && onFront?.();\n };\n\n const back = () => {\n setFlipped(true);\n !_flipped && onBack?.();\n };\n\n const toggleFlip = () => (_flipped ? front() : back());\n\n return (\n <FlipContextProvider\n value={{\n toggleFlip,\n flipped: _flipped,\n }}\n >\n <Box ref={ref} {...getStyles('root')} {...others}>\n <div ref={containerRef} {...getStyles('flip-inner')} style={getDirectionIn()}>\n <div {...getStyles('flip-content')} style={{ zIndex: 0 }}>\n {frontChild}\n </div>\n <div {...getStyles('flip-content')} style={getBackRotation()}>\n {backChild}\n </div>\n </div>\n </Box>\n </FlipContextProvider>\n );\n});\n\nFlip.classes = classes;\nFlip.displayName = '@mantine/core/Flip';\nFlip.Target = FlipTarget;\n"],"names":["createVarsResolver","polymorphicFactory","useProps","useRef","useState","useUncontrolled","useStyles","classes","useDidUpdate","FlipContextProvider","Box","FlipTarget"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
var Flip_errors = require('./Flip.errors.cjs');
|
|
6
|
+
|
|
7
|
+
const [FlipContextProvider, useFlipContext] = core.createSafeContext(
|
|
8
|
+
Flip_errors.FLIP_ERRORS.context
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
exports.FlipContextProvider = FlipContextProvider;
|
|
12
|
+
exports.useFlipContext = useFlipContext;
|
|
13
|
+
//# sourceMappingURL=Flip.context.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.context.cjs","sources":["../../src/Flip.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/core';\nimport { FLIP_ERRORS } from './Flip.errors';\n\ninterface FlipContext {\n toggleFlip: () => void;\n flipped: boolean;\n}\n\nexport const [FlipContextProvider, useFlipContext] = createSafeContext<FlipContext>(\n FLIP_ERRORS.context\n);\n"],"names":["createSafeContext","FLIP_ERRORS"],"mappings":";;;;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,GAAGA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtE,CAAEC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAW,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const FLIP_ERRORS = {
|
|
5
|
+
context: "Flip component was not found in the tree",
|
|
6
|
+
children: "Flip.Target component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported"
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
exports.FLIP_ERRORS = FLIP_ERRORS;
|
|
10
|
+
//# sourceMappingURL=Flip.errors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.errors.cjs","sources":["../../src/Flip.errors.ts"],"sourcesContent":["export const FLIP_ERRORS = {\n context: 'Flip component was not found in the tree',\n children:\n 'Flip.Target component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported',\n};\n"],"names":[],"mappings":";;;AAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,WAAW,CAAG,CAAA,CAAA,CAAA;AAC3B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrD,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAA+J,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3K,CAAA,CAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var core = require('@mantine/core');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var Flip_context = require('../Flip.context.cjs');
|
|
7
|
+
|
|
8
|
+
const defaultProps = {
|
|
9
|
+
refProp: "ref"
|
|
10
|
+
};
|
|
11
|
+
const FlipTarget = React.forwardRef((props, ref) => {
|
|
12
|
+
const { children, refProp, ...others } = core.useProps("MenuTarget", defaultProps, props);
|
|
13
|
+
if (!core.isElement(children)) {
|
|
14
|
+
throw new Error(
|
|
15
|
+
"Flip.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
const ctx = Flip_context.useFlipContext();
|
|
19
|
+
const onClick = core.createEventHandler(children.props.onClick, () => ctx.toggleFlip());
|
|
20
|
+
return /* @__PURE__ */ React.createElement("div", { ref, ...others }, React.cloneElement(children, {
|
|
21
|
+
onClick,
|
|
22
|
+
"data-flipped": ctx.flipped ? true : void 0
|
|
23
|
+
}));
|
|
24
|
+
});
|
|
25
|
+
FlipTarget.displayName = "@mantine/core/FlipTarget";
|
|
26
|
+
|
|
27
|
+
exports.FlipTarget = FlipTarget;
|
|
28
|
+
//# sourceMappingURL=FlipTarget.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlipTarget.cjs","sources":["../../../src/FlipTarget/FlipTarget.tsx"],"sourcesContent":["import { createEventHandler, isElement, useProps } from '@mantine/core';\nimport React, { cloneElement, forwardRef } from 'react';\nimport { useFlipContext } from '../Flip.context';\n\nexport interface FlipTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nconst defaultProps: Partial<FlipTargetProps> = {\n refProp: 'ref',\n};\n\nexport const FlipTarget = forwardRef<HTMLDivElement, FlipTargetProps>((props, ref) => {\n const { children, refProp, ...others } = useProps('MenuTarget', defaultProps, props);\n\n if (!isElement(children)) {\n throw new Error(\n 'Flip.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useFlipContext();\n\n const onClick = createEventHandler(children.props.onClick, () => ctx.toggleFlip());\n\n return (\n <div ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n 'data-flipped': ctx.flipped ? true : undefined,\n })}\n </div>\n );\n});\n\nFlipTarget.displayName = '@mantine/core/FlipTarget';\n"],"names":["forwardRef","useProps","isElement","useFlipContext","createEventHandler","cloneElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createSafeContext } from '@mantine/core';
|
|
3
|
+
import { FLIP_ERRORS } from './Flip.errors.mjs';
|
|
4
|
+
|
|
5
|
+
const [FlipContextProvider, useFlipContext] = createSafeContext(
|
|
6
|
+
FLIP_ERRORS.context
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
export { FlipContextProvider, useFlipContext };
|
|
10
|
+
//# sourceMappingURL=Flip.context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.context.mjs","sources":["../../src/Flip.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/core';\nimport { FLIP_ERRORS } from './Flip.errors';\n\ninterface FlipContext {\n toggleFlip: () => void;\n flipped: boolean;\n}\n\nexport const [FlipContextProvider, useFlipContext] = createSafeContext<FlipContext>(\n FLIP_ERRORS.context\n);\n"],"names":[],"mappings":";;;;AAEY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,GAAG,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtE,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
const FLIP_ERRORS = {
|
|
3
|
+
context: "Flip component was not found in the tree",
|
|
4
|
+
children: "Flip.Target component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported"
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export { FLIP_ERRORS };
|
|
8
|
+
//# sourceMappingURL=Flip.errors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.errors.mjs","sources":["../../src/Flip.errors.ts"],"sourcesContent":["export const FLIP_ERRORS = {\n context: 'Flip component was not found in the tree',\n children:\n 'Flip.Target component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported',\n};\n"],"names":[],"mappings":";AAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,WAAW,CAAG,CAAA,CAAA,CAAA;AAC3B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrD,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,EAAE,CAA+J,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3K,CAAA,CAAA;;"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createVarsResolver, polymorphicFactory, useProps, useStyles, Box } from '@mantine/core';
|
|
3
|
+
import { useUncontrolled, useDidUpdate } from '@mantine/hooks';
|
|
4
|
+
import React, { useRef, useState } from 'react';
|
|
5
|
+
import { FlipContextProvider } from './Flip.context.mjs';
|
|
6
|
+
import classes from './Flip.module.css.mjs';
|
|
7
|
+
import { FlipTarget } from './FlipTarget/FlipTarget.mjs';
|
|
8
|
+
|
|
9
|
+
const defaultProps = {
|
|
10
|
+
direction: "horizontal",
|
|
11
|
+
directionFlipIn: "negative",
|
|
12
|
+
directionFlipOut: "positive"
|
|
13
|
+
};
|
|
14
|
+
const varsResolver = createVarsResolver((_, { perspective, easing, duration }) => ({
|
|
15
|
+
root: {
|
|
16
|
+
"--flip-perspective": perspective === void 0 ? "1000px" : perspective,
|
|
17
|
+
"--flip-transition-duration": duration === void 0 ? ".8s" : `${duration}s`,
|
|
18
|
+
"--flip-transition-timing-function": easing === void 0 ? "ease-in-out" : easing
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
const Flip = polymorphicFactory((_props, ref) => {
|
|
22
|
+
const props = useProps("Flip", defaultProps, _props);
|
|
23
|
+
const {
|
|
24
|
+
perspective,
|
|
25
|
+
duration,
|
|
26
|
+
easing,
|
|
27
|
+
classNames,
|
|
28
|
+
style,
|
|
29
|
+
styles,
|
|
30
|
+
unstyled,
|
|
31
|
+
vars,
|
|
32
|
+
children,
|
|
33
|
+
className,
|
|
34
|
+
flipped,
|
|
35
|
+
defaultFlipped,
|
|
36
|
+
direction,
|
|
37
|
+
directionFlipIn,
|
|
38
|
+
directionFlipOut,
|
|
39
|
+
onChange,
|
|
40
|
+
onBack,
|
|
41
|
+
onFront,
|
|
42
|
+
...others
|
|
43
|
+
} = props;
|
|
44
|
+
const containerRef = useRef(null);
|
|
45
|
+
const [rotateValue, setRotateValue] = useState(defaultFlipped ? -180 : 0);
|
|
46
|
+
const [_flipped, setFlipped] = useUncontrolled({
|
|
47
|
+
value: flipped,
|
|
48
|
+
defaultValue: defaultFlipped,
|
|
49
|
+
finalValue: false,
|
|
50
|
+
onChange
|
|
51
|
+
});
|
|
52
|
+
const getStyles = useStyles({
|
|
53
|
+
name: "Flip",
|
|
54
|
+
props,
|
|
55
|
+
classes,
|
|
56
|
+
className,
|
|
57
|
+
style,
|
|
58
|
+
classNames,
|
|
59
|
+
styles,
|
|
60
|
+
unstyled,
|
|
61
|
+
vars,
|
|
62
|
+
varsResolver
|
|
63
|
+
});
|
|
64
|
+
useDidUpdate(() => {
|
|
65
|
+
setRotateValue(0);
|
|
66
|
+
}, [directionFlipIn, directionFlipOut, direction]);
|
|
67
|
+
useDidUpdate(() => {
|
|
68
|
+
if (directionFlipIn === "negative" && directionFlipOut === "positive") {
|
|
69
|
+
setRotateValue((v) => v ? v + 180 : -180);
|
|
70
|
+
}
|
|
71
|
+
if (directionFlipIn === "negative" && directionFlipOut === "negative") {
|
|
72
|
+
setRotateValue((v) => v - 180);
|
|
73
|
+
}
|
|
74
|
+
if (directionFlipIn === "positive" && directionFlipOut === "negative") {
|
|
75
|
+
setRotateValue((v) => v ? v - 180 : 180);
|
|
76
|
+
}
|
|
77
|
+
if (directionFlipIn === "positive" && directionFlipOut === "positive") {
|
|
78
|
+
setRotateValue((v) => v + 180);
|
|
79
|
+
}
|
|
80
|
+
}, [_flipped]);
|
|
81
|
+
const childrenArray = React.Children.toArray(children);
|
|
82
|
+
if (childrenArray.length !== 2) {
|
|
83
|
+
throw new Error("Flip component must have exactly two children");
|
|
84
|
+
}
|
|
85
|
+
function getDirectionIn() {
|
|
86
|
+
if (direction === "horizontal") {
|
|
87
|
+
return { transform: `rotateY(${rotateValue}deg)` };
|
|
88
|
+
}
|
|
89
|
+
return { transform: `rotateX(${rotateValue}deg)` };
|
|
90
|
+
}
|
|
91
|
+
function getBackRotation() {
|
|
92
|
+
if (direction === "horizontal") {
|
|
93
|
+
return { transform: "rotateY(180deg)" };
|
|
94
|
+
}
|
|
95
|
+
return { transform: "rotateX(180deg)" };
|
|
96
|
+
}
|
|
97
|
+
const frontChild = childrenArray[0];
|
|
98
|
+
const backChild = childrenArray[1];
|
|
99
|
+
const front = () => {
|
|
100
|
+
setFlipped(false);
|
|
101
|
+
_flipped && onFront?.();
|
|
102
|
+
};
|
|
103
|
+
const back = () => {
|
|
104
|
+
setFlipped(true);
|
|
105
|
+
!_flipped && onBack?.();
|
|
106
|
+
};
|
|
107
|
+
const toggleFlip = () => _flipped ? front() : back();
|
|
108
|
+
return /* @__PURE__ */ React.createElement(
|
|
109
|
+
FlipContextProvider,
|
|
110
|
+
{
|
|
111
|
+
value: {
|
|
112
|
+
toggleFlip,
|
|
113
|
+
flipped: _flipped
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
/* @__PURE__ */ React.createElement(Box, { ref, ...getStyles("root"), ...others }, /* @__PURE__ */ React.createElement("div", { ref: containerRef, ...getStyles("flip-inner"), style: getDirectionIn() }, /* @__PURE__ */ React.createElement("div", { ...getStyles("flip-content"), style: { zIndex: 0 } }, frontChild), /* @__PURE__ */ React.createElement("div", { ...getStyles("flip-content"), style: getBackRotation() }, backChild)))
|
|
117
|
+
);
|
|
118
|
+
});
|
|
119
|
+
Flip.classes = classes;
|
|
120
|
+
Flip.displayName = "@mantine/core/Flip";
|
|
121
|
+
Flip.Target = FlipTarget;
|
|
122
|
+
|
|
123
|
+
export { Flip };
|
|
124
|
+
//# sourceMappingURL=Flip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.mjs","sources":["../../src/Flip.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n PolymorphicFactory,\n StylesApiProps,\n createVarsResolver,\n polymorphicFactory,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport React, { useRef, useState } from 'react';\nimport { FlipContextProvider } from './Flip.context';\nimport classes from './Flip.module.css';\nimport { FlipTarget } from './FlipTarget/FlipTarget';\n\nexport type FlipStylesNames = 'root' | 'flip-inner' | 'flip-content';\n\nexport type FlipCssVariables = {\n root: '--flip-perspective' | '--flip-transition-duration' | '--flip-transition-timing-function';\n};\n\nexport type FlipDirection = 'horizontal' | 'vertical';\n\nexport type FlipIn = 'positive' | 'negative';\n\nexport type FlipOut = FlipIn;\n\nexport interface FlipBaseProps {\n /** Perspective value for flip animation. Default `1000px` */\n perspective?: string;\n\n /** Flip animation duration in seconds. Default `.8` */\n duration?: number;\n\n /** Flip animation timing function. Default `ease-in-out` */\n easing?: React.CSSProperties['transitionTimingFunction'];\n\n /** Controlled flip opened state */\n flipped?: boolean;\n\n /** Uncontrolled flip initial opened state */\n defaultFlipped?: boolean;\n\n /** Flip direction to show the front and back side. Default `horizontal` */\n direction?: FlipDirection;\n\n /** Flip direction to show the back side. Default `negative` */\n directionFlipIn?: FlipIn;\n\n /** Flip direction to hide the back side. Default `positive` */\n directionFlipOut?: FlipOut;\n\n /** Called when flip flipped state changes */\n onChange?: (flipped: boolean) => void;\n\n /** Called when Flip is shown back side */\n onBack?: () => void;\n\n /** Called when Flip is shown front side */\n onFront?: () => void;\n\n children?: React.ReactNode;\n}\n\nexport interface FlipProps extends BoxProps, FlipBaseProps, StylesApiProps<FlipFactory> {}\n\nexport type FlipFactory = PolymorphicFactory<{\n props: FlipProps;\n defaultComponent: 'div';\n defaultRef: HTMLDivElement;\n stylesNames: FlipStylesNames;\n vars: FlipCssVariables;\n staticComponents: {\n Target: typeof FlipTarget;\n };\n}>;\n\nconst defaultProps: Partial<FlipProps> = {\n direction: 'horizontal',\n directionFlipIn: 'negative',\n directionFlipOut: 'positive',\n};\n\nconst varsResolver = createVarsResolver<FlipFactory>((_, { perspective, easing, duration }) => ({\n root: {\n '--flip-perspective': perspective === undefined ? '1000px' : perspective,\n '--flip-transition-duration': duration === undefined ? '.8s' : `${duration}s`,\n '--flip-transition-timing-function': easing === undefined ? 'ease-in-out' : easing,\n },\n}));\n\nexport const Flip = polymorphicFactory<FlipFactory>((_props, ref) => {\n const props = useProps('Flip', defaultProps, _props);\n const {\n perspective,\n duration,\n easing,\n classNames,\n style,\n styles,\n unstyled,\n vars,\n children,\n className,\n flipped,\n defaultFlipped,\n direction,\n directionFlipIn,\n directionFlipOut,\n onChange,\n onBack,\n onFront,\n ...others\n } = props;\n\n const containerRef = useRef(null);\n\n const [rotateValue, setRotateValue] = useState<number>(defaultFlipped ? -180 : 0);\n\n const [_flipped, setFlipped] = useUncontrolled({\n value: flipped,\n defaultValue: defaultFlipped,\n finalValue: false,\n onChange,\n });\n\n const getStyles = useStyles<FlipFactory>({\n name: 'Flip',\n props,\n classes,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n });\n\n useDidUpdate(() => {\n setRotateValue(0);\n }, [directionFlipIn, directionFlipOut, direction]);\n\n useDidUpdate(() => {\n if (directionFlipIn === 'negative' && directionFlipOut === 'positive') {\n setRotateValue((v) => (v ? v + 180 : -180));\n }\n\n if (directionFlipIn === 'negative' && directionFlipOut === 'negative') {\n setRotateValue((v) => v - 180);\n }\n\n if (directionFlipIn === 'positive' && directionFlipOut === 'negative') {\n setRotateValue((v) => (v ? v - 180 : 180));\n }\n\n if (directionFlipIn === 'positive' && directionFlipOut === 'positive') {\n setRotateValue((v) => v + 180);\n }\n }, [_flipped]);\n\n const childrenArray = React.Children.toArray(children);\n\n if (childrenArray.length !== 2) {\n throw new Error('Flip component must have exactly two children');\n }\n\n function getDirectionIn() {\n if (direction === 'horizontal') {\n return { transform: `rotateY(${rotateValue}deg)` };\n }\n return { transform: `rotateX(${rotateValue}deg)` };\n }\n\n function getBackRotation() {\n if (direction === 'horizontal') {\n return { transform: 'rotateY(180deg)' };\n }\n return { transform: 'rotateX(180deg)' };\n }\n\n // get the first child from children\n const frontChild = childrenArray[0] as React.ReactElement;\n const backChild = childrenArray[1] as React.ReactElement;\n\n const front = () => {\n setFlipped(false);\n _flipped && onFront?.();\n };\n\n const back = () => {\n setFlipped(true);\n !_flipped && onBack?.();\n };\n\n const toggleFlip = () => (_flipped ? front() : back());\n\n return (\n <FlipContextProvider\n value={{\n toggleFlip,\n flipped: _flipped,\n }}\n >\n <Box ref={ref} {...getStyles('root')} {...others}>\n <div ref={containerRef} {...getStyles('flip-inner')} style={getDirectionIn()}>\n <div {...getStyles('flip-content')} style={{ zIndex: 0 }}>\n {frontChild}\n </div>\n <div {...getStyles('flip-content')} style={getBackRotation()}>\n {backChild}\n </div>\n </div>\n </Box>\n </FlipContextProvider>\n );\n});\n\nFlip.classes = classes;\nFlip.displayName = '@mantine/core/Flip';\nFlip.Target = FlipTarget;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Flip.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useProps, isElement, createEventHandler } from '@mantine/core';
|
|
3
|
+
import React, { forwardRef, cloneElement } from 'react';
|
|
4
|
+
import { useFlipContext } from '../Flip.context.mjs';
|
|
5
|
+
|
|
6
|
+
const defaultProps = {
|
|
7
|
+
refProp: "ref"
|
|
8
|
+
};
|
|
9
|
+
const FlipTarget = forwardRef((props, ref) => {
|
|
10
|
+
const { children, refProp, ...others } = useProps("MenuTarget", defaultProps, props);
|
|
11
|
+
if (!isElement(children)) {
|
|
12
|
+
throw new Error(
|
|
13
|
+
"Flip.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
const ctx = useFlipContext();
|
|
17
|
+
const onClick = createEventHandler(children.props.onClick, () => ctx.toggleFlip());
|
|
18
|
+
return /* @__PURE__ */ React.createElement("div", { ref, ...others }, cloneElement(children, {
|
|
19
|
+
onClick,
|
|
20
|
+
"data-flipped": ctx.flipped ? true : void 0
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
FlipTarget.displayName = "@mantine/core/FlipTarget";
|
|
24
|
+
|
|
25
|
+
export { FlipTarget };
|
|
26
|
+
//# sourceMappingURL=FlipTarget.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlipTarget.mjs","sources":["../../../src/FlipTarget/FlipTarget.tsx"],"sourcesContent":["import { createEventHandler, isElement, useProps } from '@mantine/core';\nimport React, { cloneElement, forwardRef } from 'react';\nimport { useFlipContext } from '../Flip.context';\n\nexport interface FlipTargetProps {\n /** Target element */\n children: React.ReactNode;\n\n /** Key of the prop that should be used to get element ref */\n refProp?: string;\n}\n\nconst defaultProps: Partial<FlipTargetProps> = {\n refProp: 'ref',\n};\n\nexport const FlipTarget = forwardRef<HTMLDivElement, FlipTargetProps>((props, ref) => {\n const { children, refProp, ...others } = useProps('MenuTarget', defaultProps, props);\n\n if (!isElement(children)) {\n throw new Error(\n 'Flip.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported'\n );\n }\n\n const ctx = useFlipContext();\n\n const onClick = createEventHandler(children.props.onClick, () => ctx.toggleFlip());\n\n return (\n <div ref={ref} {...others}>\n {cloneElement(children, {\n onClick,\n 'data-flipped': ctx.flipped ? true : undefined,\n })}\n </div>\n );\n});\n\nFlipTarget.displayName = '@mantine/core/FlipTarget';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.me-51f1fe22{perspective:var(--flip-perspective,"1000px")}.me-ae362a36{height:100%;position:relative;transform-style:preserve-3d;transition:transform var(--flip-transition-duration,".1") var(--flip-transition-timing-function,"ease-in-out");width:100%}.me-bdaa9859{backface-visibility:hidden;height:100%;position:absolute;width:100%}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mantine {.me-51f1fe22{perspective:var(--flip-perspective,"1000px")}.me-ae362a36{height:100%;position:relative;transform-style:preserve-3d;transition:transform var(--flip-transition-duration,".1") var(--flip-transition-timing-function,"ease-in-out");width:100%}.me-bdaa9859{backface-visibility:hidden;height:100%;position:absolute;width:100%}}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface FlipContext {
|
|
2
|
+
toggleFlip: () => void;
|
|
3
|
+
flipped: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const FlipContextProvider: ({ children, value }: {
|
|
6
|
+
value: FlipContext;
|
|
7
|
+
children: import("react").ReactNode;
|
|
8
|
+
}) => import("react").JSX.Element, useFlipContext: () => FlipContext;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { BoxProps, PolymorphicFactory, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { FlipTarget } from './FlipTarget/FlipTarget';
|
|
4
|
+
export type FlipStylesNames = 'root' | 'flip-inner' | 'flip-content';
|
|
5
|
+
export type FlipCssVariables = {
|
|
6
|
+
root: '--flip-perspective' | '--flip-transition-duration' | '--flip-transition-timing-function';
|
|
7
|
+
};
|
|
8
|
+
export type FlipDirection = 'horizontal' | 'vertical';
|
|
9
|
+
export type FlipIn = 'positive' | 'negative';
|
|
10
|
+
export type FlipOut = FlipIn;
|
|
11
|
+
export interface FlipBaseProps {
|
|
12
|
+
/** Perspective value for flip animation. Default `1000px` */
|
|
13
|
+
perspective?: string;
|
|
14
|
+
/** Flip animation duration in seconds. Default `.8` */
|
|
15
|
+
duration?: number;
|
|
16
|
+
/** Flip animation timing function. Default `ease-in-out` */
|
|
17
|
+
easing?: React.CSSProperties['transitionTimingFunction'];
|
|
18
|
+
/** Controlled flip opened state */
|
|
19
|
+
flipped?: boolean;
|
|
20
|
+
/** Uncontrolled flip initial opened state */
|
|
21
|
+
defaultFlipped?: boolean;
|
|
22
|
+
/** Flip direction to show the front and back side. Default `horizontal` */
|
|
23
|
+
direction?: FlipDirection;
|
|
24
|
+
/** Flip direction to show the back side. Default `negative` */
|
|
25
|
+
directionFlipIn?: FlipIn;
|
|
26
|
+
/** Flip direction to hide the back side. Default `positive` */
|
|
27
|
+
directionFlipOut?: FlipOut;
|
|
28
|
+
/** Called when flip flipped state changes */
|
|
29
|
+
onChange?: (flipped: boolean) => void;
|
|
30
|
+
/** Called when Flip is shown back side */
|
|
31
|
+
onBack?: () => void;
|
|
32
|
+
/** Called when Flip is shown front side */
|
|
33
|
+
onFront?: () => void;
|
|
34
|
+
children?: React.ReactNode;
|
|
35
|
+
}
|
|
36
|
+
export interface FlipProps extends BoxProps, FlipBaseProps, StylesApiProps<FlipFactory> {
|
|
37
|
+
}
|
|
38
|
+
export type FlipFactory = PolymorphicFactory<{
|
|
39
|
+
props: FlipProps;
|
|
40
|
+
defaultComponent: 'div';
|
|
41
|
+
defaultRef: HTMLDivElement;
|
|
42
|
+
stylesNames: FlipStylesNames;
|
|
43
|
+
vars: FlipCssVariables;
|
|
44
|
+
staticComponents: {
|
|
45
|
+
Target: typeof FlipTarget;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
export declare const Flip: (<C = "div">(props: import("@mantine/core/lib/core/factory/create-polymorphic-component").PolymorphicComponentProps<C, FlipProps>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & Omit<React.FunctionComponent<(FlipProps & {
|
|
49
|
+
component?: any;
|
|
50
|
+
} & Omit<Omit<any, "ref">, keyof FlipProps | "component"> & {
|
|
51
|
+
ref?: any;
|
|
52
|
+
renderRoot?: (props: any) => any;
|
|
53
|
+
}) | (FlipProps & {
|
|
54
|
+
component: React.ElementType<any>;
|
|
55
|
+
renderRoot?: (props: Record<string, any>) => any;
|
|
56
|
+
})>, never> & import("@mantine/core/lib/core/factory/factory").ThemeExtend<{
|
|
57
|
+
props: FlipProps;
|
|
58
|
+
defaultComponent: 'div';
|
|
59
|
+
defaultRef: HTMLDivElement;
|
|
60
|
+
stylesNames: FlipStylesNames;
|
|
61
|
+
vars: FlipCssVariables;
|
|
62
|
+
staticComponents: {
|
|
63
|
+
Target: typeof FlipTarget;
|
|
64
|
+
};
|
|
65
|
+
}> & import("@mantine/core/lib/core/factory/factory").ComponentClasses<{
|
|
66
|
+
props: FlipProps;
|
|
67
|
+
defaultComponent: 'div';
|
|
68
|
+
defaultRef: HTMLDivElement;
|
|
69
|
+
stylesNames: FlipStylesNames;
|
|
70
|
+
vars: FlipCssVariables;
|
|
71
|
+
staticComponents: {
|
|
72
|
+
Target: typeof FlipTarget;
|
|
73
|
+
};
|
|
74
|
+
}> & {
|
|
75
|
+
Target: typeof FlipTarget;
|
|
76
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface FlipTargetProps {
|
|
3
|
+
/** Target element */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Key of the prop that should be used to get element ref */
|
|
6
|
+
refProp?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const FlipTarget: React.ForwardRefExoticComponent<FlipTargetProps & React.RefAttributes<HTMLDivElement>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gfazioli/mantine-flip",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Flip component is a wrapper for any component that can be flipped. It is used to create cards, flip boxes and more.",
|
|
5
5
|
"homepage": "https://github.com/gfazioli/mantine-flip#readme",
|
|
6
6
|
"packageManager": "yarn@4.0.1",
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"author": "Giovambattista Fazioli <giovambattista.fazioli@gmail.com>",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"extension",
|
|
11
|
-
"mantine",
|
|
12
11
|
"flip",
|
|
12
|
+
"mantine",
|
|
13
13
|
"widget"
|
|
14
14
|
],
|
|
15
15
|
"main": "./dist/cjs/index.cjs",
|
|
@@ -29,10 +29,7 @@
|
|
|
29
29
|
"./styles.css": "./dist/styles.css",
|
|
30
30
|
"./styles.layer.css": "./dist/styles.layer.css"
|
|
31
31
|
},
|
|
32
|
-
"repository":
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "git+https://github.com/gfazioli/mantine-flip.git"
|
|
35
|
-
},
|
|
32
|
+
"repository": "gfazioli/mantine-flip.git",
|
|
36
33
|
"workspaces": [
|
|
37
34
|
"docs"
|
|
38
35
|
],
|
|
@@ -43,4 +40,4 @@
|
|
|
43
40
|
"react-dom": "^18.2.0"
|
|
44
41
|
},
|
|
45
42
|
"bugs": "https://github.com/gfazioli/mantine-flip/issues"
|
|
46
|
-
}
|
|
43
|
+
}
|