TW-Classed

Core Changelog

Release history for TW-Classed Core

@tw-classed/core

1.7.0

Minor Changes

  • #132 6fd3d61 Thanks @sannajammeh! - 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 6fd3d61 Thanks @sannajammeh! - 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 e3b9d61e Thanks @sannajammeh! - - (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

  • #119 67ec8d98 Thanks @sannajammeh! - This release exports the default merger as cx, adds additional test cases for cx & react props, bumps all packages to latest

1.5.1

Patch Changes

  • #114 52abded9 Thanks @sannajammeh! - 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 233bddfd Thanks @Xiot! - 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 233bddfd Thanks @Xiot! - 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

  • #82 0f5f46fa Thanks @sannajammeh! - Adds support for deriveClassed & makeStrict. Updated core internal typing for compatibility.

Patch Changes

  • #89 785bcaaa Thanks @sannajammeh! - 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 Thanks @sannajammeh! - 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

  • #82 0f5f46fa Thanks @sannajammeh! - Adds support for deriveClassed & makeStrict. Updated core internal typing for compatibility.

1.3.2

Patch Changes

  • #68 091ef6a4 Thanks @sannajammeh! - Adds support in core lib for class & className when calling a class producer function

    Example:

    const button = classed("bg-blue-500");
    
    // LitHTML
    html`<button class=${button({ class: "text-white" })}>Click me</button>`;

1.3.2-canary.1

Patch Changes

  • 091ef6a4 Thanks @sannajammeh! - Adds support in core lib for class & className when calling a class producer function

    Example:

    const button = classed("bg-blue-500");
    
    // LitHTML
    html`<button class=${button({ class: "text-white" })}>Click me</button>`;

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

  • 29570c7e Thanks @sannajammeh! - Export DerivedComponentType to handle as prop in derived components

1.3.0-canary.1

Patch Changes

  • 79be37a2 Thanks @sannajammeh! - This release extends core to support the createClassed API, adds improvements to the documentation

1.2.5

Patch Changes

1.2.4

Patch Changes

  • 413c87d1 Thanks @sannajammeh! - Export VariantProps from core, document variant props in core docs

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.

On this page