Core
Changelog

@tw-classed/core

1.7.0

Minor Changes

  • #132 (opens in a new tab) 6fd3d61 (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Add getVariantConfig() utility to core & react api's. This extracts the entire parsed variant config from a classed component, also supports nested variants from component composition.

    Usage:

    const Button = classed("button", {
      variants: {
        color: {
          blue: "bg-blue-500",
        },
      },
    });
     
    const { variants } = getVariantConfig(Button);
    variants.color.blue; // "bg-blue-500"

Patch Changes

1.7.0-canary.0

Minor Changes

  • #132 (opens in a new tab) 6fd3d61 (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Add getVariantConfig() utility to core & react api's. This extracts the entire parsed variant config from a classed component, also supports nested variants from component composition.

    Usage:

    const Button = classed("button", {
      variants: {
        color: {
          blue: "bg-blue-500",
        },
      },
    });
     
    const { variants } = getVariantConfig(Button);
    variants.color.blue; // "bg-blue-500"

Patch Changes

1.6.0

Minor Changes

  • #125 (opens in a new tab) e3b9d61e (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - - (Feat): Add support for defaultProps in React api Components can now have default props in the React api

    const Button = classed.button({
      defaultProps: {
        someProp: "someValue",
      },
    });

    This change is considered unstable, for now defaultProps will not populate when using composition nor affect variants or classname generation.

    • (Fix): Data attributes are now correctly generated for composition

1.5.2

Patch Changes

1.5.1

Patch Changes

  • #114 (opens in a new tab) 52abded9 (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Add support for array matching compound variants

    • Add support for matched variants to appear as dataAttributes
    • Update dependencies

    chore(core): update parser and types to support array compound variants

    • Update parser to handle array compound variants
    • Update types to handle array compound variants

    feat(react): update types to support array compound variants

    • Update types to handle array compound variants

    test(core): add tests for array compound variants

    • Add tests for array compound variants

    test(compound.spec.tsx): add tests for array compound variants to improve test coverage

1.5.0

Minor Changes

  • #105 (opens in a new tab) 233bddfd (opens in a new tab) Thanks @Xiot (opens in a new tab)! - Adds support for matched variants to appear as dataAttributes

    Example

    const Button = classed("button", {
      variants: {
        color: {
          blue: "bg-blue-100",
          red: "bg-red-100",
        },
      },
      defaultVariants: {
        color: "red",
      },
      dataAttributes: ["color"],
    });
     
    <Button color="blue" />
    // Rendered html will be
    <button data-color="blue" />
     
    <Button>
    // Rendered html will be
    <button data-color="red /> // From default variants

1.5.0-canary.0

Minor Changes

  • #105 (opens in a new tab) 233bddfd (opens in a new tab) Thanks @Xiot (opens in a new tab)! - Adds support for matched variants to appear as dataAttributes

    Example

    const Button = classed("button", {
      variants: {
        color: {
          blue: "bg-blue-100",
          red: "bg-red-100",
        },
      },
      defaultVariants: {
        color: "red",
      },
      dataAttributes: ["color"],
    });
     
    <Button color="blue" />
    // Rendered html will be
    <button data-color="blue" />
     
    <Button>
    // Rendered html will be
    <button data-color="red /> // From default variants

1.4.4

Patch Changes

1.4.0

Minor Changes

Patch Changes

  • #89 (opens in a new tab) 785bcaaa (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support for compoundVariants to be inherit via the composition API.

    Example:

    const Button = classed.button({
      base: "bg-blue-500 text-white",
      variants: {
        size: {
          sm: "px-2 py-1 text-sm",
          md: "px-4 py-2 text-base",
        },
        color: {
          red: "bg-red-500",
          green: "bg-green-500",
        },
      },
      compoundVariants: [
        {
          size: "sm",
          color: "green"
          class: "super-special-class-modifyer"
        },
      ],
    });
     
    const GreenButton = classed(Button, {
      defaultVariants: {
        color: "green", // This now triggers the compoundVariant
      },
    });

1.4.0-canary.5

Patch Changes

  • 785bcaaa (opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support for compoundVariants to be inherit via the composition API.

    Example:

    const Button = classed.button({
      base: "bg-blue-500 text-white",
      variants: {
        size: {
          sm: "px-2 py-1 text-sm",
          md: "px-4 py-2 text-base",
        },
        color: {
          red: "bg-red-500",
          green: "bg-green-500",
        },
      },
      compoundVariants: [
        {
          size: "sm",
          color: "green"
          class: "super-special-class-modifyer"
        },
      ],
    });
     
    const GreenButton = classed(Button, {
      defaultVariants: {
        color: "green", // This now triggers the compoundVariant
      },
    });

1.4.0-canary.1

Minor Changes

1.3.2

Patch Changes

1.3.2-canary.1

Patch Changes

1.3.0

Patch Changes

1.3.0-canary.4

Patch Changes

1.3.0-canary.3

Patch Changes

1.3.0-canary.2

Patch Changes

1.3.0-canary.1

Patch Changes

1.2.5

Patch Changes

1.2.4

Patch Changes

1.2.3

Patch Changes

1.2.3-canary.1

Patch Changes

1.2.3-canary.0

Patch Changes

1.2.2

Patch Changes

1.2.1

Patch Changes

1.2.0

Patch Changes

1.2.0-canary.3

Patch Changes

1.2.0-canary.2

Patch Changes

1.1.0

Minor Changes

1.0.0

Major Changes

  • Final v1 release of all packages. Breaking from alpha: both core and react no longer export default and switched to classed.