mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
86 lines
1.7 KiB
TypeScript
86 lines
1.7 KiB
TypeScript
import { css, Global, keyframes, Keyframes } from "@emotion/react";
|
|
import styled from "@emotion/styled";
|
|
|
|
export const globalStyles = (
|
|
<Global
|
|
styles={css`
|
|
html,
|
|
body {
|
|
padding: 3rem 1rem;
|
|
margin: 0;
|
|
background: papayawhip;
|
|
min-height: 100%;
|
|
font-family: Helvetica, Arial, sans-serif;
|
|
font-size: 24px;
|
|
}
|
|
`}
|
|
/>
|
|
);
|
|
|
|
export const basicStyles = css({
|
|
backgroundColor: "white",
|
|
color: "cornflowerblue",
|
|
border: "1px solid lightgreen",
|
|
borderRight: "none",
|
|
borderBottom: "none",
|
|
boxShadow: "5px 5px 0 0 lightgreen, 10px 10px 0 0 lightyellow",
|
|
transition: "all 0.1s linear",
|
|
margin: "3rem 0",
|
|
padding: "1rem 0.5rem",
|
|
});
|
|
|
|
export const hoverStyles = css`
|
|
&:hover {
|
|
color: white;
|
|
background-color: lightgray;
|
|
border-color: aqua;
|
|
box-shadow:
|
|
-15px -15px 0 0 aqua,
|
|
-30px -30px 0 0 cornflowerblue;
|
|
}
|
|
`;
|
|
export const bounce = keyframes`
|
|
from {
|
|
transform: scale(1.01);
|
|
}
|
|
to {
|
|
transform: scale(0.99);
|
|
}
|
|
`;
|
|
|
|
export const Basic = styled.div`
|
|
${basicStyles};
|
|
`;
|
|
|
|
export const Combined = styled.div`
|
|
${basicStyles};
|
|
${hoverStyles};
|
|
& code {
|
|
background-color: linen;
|
|
}
|
|
`;
|
|
|
|
export const Pink = styled(Basic)({
|
|
color: "hotpink",
|
|
});
|
|
|
|
export const BasicExtended = styled(Basic, {
|
|
shouldForwardProp: (propertyName: string) => !propertyName.startsWith("$"),
|
|
})``;
|
|
|
|
export const ComponentSelectorsExtended = styled.div`
|
|
${BasicExtended} {
|
|
color: green;
|
|
}
|
|
box-shadow: -5px -5px 0 0 green;
|
|
`;
|
|
|
|
export const Animated = styled.div<{ animation: Keyframes }>`
|
|
${basicStyles};
|
|
${hoverStyles};
|
|
& code {
|
|
background-color: linen;
|
|
}
|
|
animation: ${({ animation }) => animation} 0.2s infinite ease-in-out alternate;
|
|
`;
|