0.105.0 • Published 2 years ago

@webstudio-is/css-vars v0.105.0

Weekly downloads
-
License
AGPL-3.0-or-later
Repository
-
Last release
2 years ago

CSS Vars utils

This package helps you create uniquely named css variables as well as use them.

API

import { cssVars } from "css-vars";

const myVariable = cssVars.define("my-variable"); // --my-variable-0

cssVars.use(myVariable, "fallback"); // var(--my-variable-0, fallback)

Example using style prop

import { cssVars } from "css-vars";

// icon.ts
const showVar = cssVars.define("button-show"); // --button-show-0

export const buttonCssVars = ({ show }: { show: boolean }) => ({
  [showVar]: show ? "block" : "none",
});

export const Button = () => {
  return <button style={{ display: cssVars.use(showVar, "none") }}></button>;
};

// panel.ts
import { Button, buttonCssVars } from "./button";

const Panel = (props) => {
  const [show, setShow] = useState(false);

  return (
    <div {...props} style={buttonCssVars({ show })}>
      <Button />
    </div>
  );
};

Example using stitches with :hover

import { cssVars } from "css-vars";
import {styled} from 'stitches'

// icon.ts
const showVar = cssVars.define("button-show"); // --button-show-0
const primaryBgVar = cssVars.define("button-primary-bg"); // --button-primary-bg-1

export const buttonCssVars = ({ show, variant }: { show: boolean, variant: 'primary' | 'secondary' }) => ({
  [showVar]: show ? "block" : "none",
  [primaryBgVar]: variant === 'primary' ? "red" : "grey",
});

export const Button = styled('button', {
  display: cssVars.use(showVar, "none")
  variants: {
    variant: {
      primary: {
        background: cssVars.use(primaryBgVar, "red")
      }
    }
  }
})

// panel.ts
import {Button, buttonCssVars} from './button'
import {styled} from 'stitches'

const Panel = styled('div', {
  '&:hover': buttonCssVars({show: true})
})
0.99.1-9c576a1.0

2 years ago

0.99.1-de264e0.0

2 years ago

0.99.1-77bd812.0

2 years ago

0.99.1-90cd039.0

2 years ago

0.85.0

2 years ago

0.81.0

2 years ago

0.99.1-5b8cdaa.0

2 years ago

0.78.0

2 years ago

0.99.1-58c6583.0

2 years ago

0.97.0

2 years ago

0.99.1-111e255.0

2 years ago

0.93.0

2 years ago

0.99.1-7c7e2d3.0

2 years ago

0.102.0

2 years ago

0.86.0

2 years ago

0.82.0

2 years ago

0.79.0

2 years ago

0.99.1-841a2f7.0

2 years ago

0.90.0

2 years ago

0.99.1-87c0eb4.0

2 years ago

0.99.1-e132cba.0

2 years ago

0.98.0

2 years ago

0.94.0

2 years ago

0.87.1

2 years ago

0.105.0

2 years ago

0.101.0

2 years ago

0.87.0

2 years ago

0.83.0

2 years ago

0.99.1-251324f.0

2 years ago

0.99.0

2 years ago

0.99.1-48ee023.0

2 years ago

0.95.0

2 years ago

0.76.0

2 years ago

0.91.0

2 years ago

0.99.1-786061d.0

2 years ago

0.88.0

2 years ago

0.104.0

2 years ago

0.100.0

2 years ago

0.84.0

2 years ago

0.99.1-596a55d.0

2 years ago

0.80.0

2 years ago

0.77.0

2 years ago

0.99.1-926a4f6.0

2 years ago

0.99.1-6ad9b47.0

2 years ago

0.96.0

2 years ago

0.99.1-4f2a72e.0

2 years ago

0.92.0

2 years ago

0.103.0

2 years ago

0.89.0

2 years ago

0.99.1-939d933.0

2 years ago

0.75.0

2 years ago

0.74.0

2 years ago

0.73.0

2 years ago

0.72.0

2 years ago

0.71.0

2 years ago

0.70.0

2 years ago

0.69.0

2 years ago

0.68.0

2 years ago

0.67.0

2 years ago

0.66.0

2 years ago

0.65.0

2 years ago

0.64.0

2 years ago

0.63.0

2 years ago

0.62.0

2 years ago

0.61.0

2 years ago

0.60.0

2 years ago

0.59.0

2 years ago

0.58.0

2 years ago

0.57.0

2 years ago

0.56.0

2 years ago

0.55.0

2 years ago

0.54.0

2 years ago

0.53.0

2 years ago

0.52.0

2 years ago

0.51.0

2 years ago

0.50.0

2 years ago

0.49.0

2 years ago

0.48.0

2 years ago

0.47.0

2 years ago

0.46.0

2 years ago

0.45.0

2 years ago

0.44.0

2 years ago

0.43.0

2 years ago

0.42.0

2 years ago

0.41.0

2 years ago

0.40.0

2 years ago

0.36.0

2 years ago

0.35.0

2 years ago

0.34.0

2 years ago

0.33.0

2 years ago

0.32.0

2 years ago

0.31.0

2 years ago

0.30.0

2 years ago

0.29.0

2 years ago

0.28.0

2 years ago

0.27.0

2 years ago

0.26.0

2 years ago

0.25.0

2 years ago

0.24.0

2 years ago

0.23.0

2 years ago

0.22.0

2 years ago

0.21.0

2 years ago

0.20.0

2 years ago

0.19.0

2 years ago

0.18.0

2 years ago

0.17.0

3 years ago

0.16.0

3 years ago

0.15.0

3 years ago

0.3.0

3 years ago

0.1.0

3 years ago