CSS Utilities
Core styles are what you need to write your custom css. They include custom properties, custom media queries and utilities.
Media queries
Inside the core style, we provide a set of breakpoints which you can use while building components and applications. To use them you have to import the relative file:
@import "@lualtek/react-components/core/utils/media.css";
Here the complete list of the available custom media queries you can use:
Viewport
@media (--from-extra-small);
/* min-width: 30em => 480px */
@media (--from-small);
/* (min-width: 48em) => 768px */
@media (--from-medium);
/* (min-width: 60em) => 960px */
@media (--from-large);
/* (min-width: 80em) => 1280px */
@media (--from-extra-large);
/* (min-width: 100em) => 1600px */
Orientation
@media (--portrait);
/* (orientation: portrait) */
@media (--landscape);
/* (orientation: landscape) */
System preferences
@media (--dark-scheme);
/* (prefers-color-scheme: dark) */
@media (--light-scheme);
/* (prefers-color-scheme: light) */
@media (--motion);
/* (prefers-reduced-motion: no-preference) */
@media (--reduced-motion);
/* (prefers-reduced-motion: reduce) */
@media (--opacity);
/* (prefers-reduced-transparency: no-preference) */
@media (--reduce-opacity);
/* (prefers-reduced-transparency: reduce) */
@media (--high-contrast);
/* (prefers-contrast: high) */
@media (--low-contrast);
/* (prefers-contrast: low) */
Pointers
@media (--touch);
/* (hover: none) and (pointer: coarse) */
@media (--stylus);
/* (hover: none) and (pointer: fine) */
@media (--pointer);
/* (hover) and (pointer: coarse) */
@media (--mouse);
/* (hover) and (pointer: fine) */
Effects
The components come with a built-in react hook used to apply shared styles to the components. The hook is called useStyles
and you can import it directly from @lualtek/react-components
Usage
import { useStyles } from "@lualtek/react-components";
const MyComponent = (props) => {
const { vibrancy } = useStyles();
return (
<div {...vibrancy.attributes}>
Apply default vibrancy style and add elevation shadow
</div>
);
};
Advanced Usage
This hook provides attributes for elevation
and vibrancy
, but elevation requires also custom properties to apply the shadow. You can use elevation.style
to spread the custom properties inside the style
attribute.
import { useStyles } from "@lualtek/react-components";
const MyComponent = (props) => {
/**
* You can pass an object to override the default values
*/
const { vibrancy, elevation } = useStyles({
elevation: {
resting: 2,
onHover: 4,
},
vibrancy: {
color: "soft",
saturation: "high",
},
});
return (
<div
style={{ ...elevation.style }}
{...elevation.attributes}
{...vibrancy.attributes}
>
Apply default vibrancy style and add elevation shadow
</div>
);
};
Read more about this hook.