@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)! - AddgetVariantConfig()
utility tocore
&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
- #133 (opens in a new tab)
97130ec
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Ensure compatibility withexactOptionalPropertyTypes:true
in tsconfig.json
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)! - AddgetVariantConfig()
utility tocore
&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
- #133 (opens in a new tab)
97130ec
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Ensure compatibility withexactOptionalPropertyTypes:true
in tsconfig.json
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 apiconst 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 (opens in a new tab)
67ec8d98
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - This release exports the default merger ascx
, adds additional test cases for cx & react props, bumps all packages to latest
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 dataAttributesExample
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 dataAttributesExample
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
- #101 (opens in a new tab)
f19df61f
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Improve performance for core lib, carries over to React
1.4.0
Minor Changes
- #82 (opens in a new tab)
0f5f46fa
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support forderiveClassed
&makeStrict
. Updated core internal typing for compatibility.
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
- #82 (opens in a new tab)
0f5f46fa
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support forderiveClassed
&makeStrict
. Updated core internal typing for compatibility.
1.3.2
Patch Changes
-
#68 (opens in a new tab)
091ef6a4
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support in core lib forclass
&className
when calling a class producer functionExample:
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
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Adds support in core lib forclass
&className
when calling a class producer functionExample:
const button = classed("bg-blue-500"); // LitHTML html`<button class=${button({ class: "text-white" })}>Click me</button>`;
1.3.0
Patch Changes
-
#61 (opens in a new tab)
79be37a2
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - This release extends core to support the createClassed API, adds improvements to the documentation -
#61 (opens in a new tab)
29570c7e
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Export DerivedComponentType to handle as prop in derived components -
#61 (opens in a new tab)
f328e321
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Switch to SWC powered bunchee bundler -
#61 (opens in a new tab)
e7596bb9
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fixes "This module is a CJS module" in node.js with type:"module"
1.3.0-canary.4
Patch Changes
e7596bb9
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fixes "This module is a CJS module" in node.js with type:"module"
1.3.0-canary.3
Patch Changes
f328e321
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Switch to SWC powered bunchee bundler
1.3.0-canary.2
Patch Changes
29570c7e
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Export DerivedComponentType to handle as prop in derived components
1.3.0-canary.1
Patch Changes
79be37a2
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - This release extends core to support the createClassed API, adds improvements to the documentation
1.2.5
Patch Changes
9d8f12f4
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Widen types of boolean variants
1.2.4
Patch Changes
413c87d1
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Export VariantProps from core, document variant props in core docs
1.2.3
Patch Changes
-
#39 (opens in a new tab)
55e8b2b8
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - ES2018 build spec, code refactor, readme updates -
#33 (opens in a new tab)
92617148
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fix numeric variants
1.2.3-canary.1
Patch Changes
55e8b2b8
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - ES2018 build spec, code refactor, readme updates
1.2.3-canary.0
Patch Changes
- #33 (opens in a new tab)
92617148
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fix numeric variants
1.2.2
Patch Changes
- #30 (opens in a new tab)
1cc8c2e6
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fix core require
1.2.1
Patch Changes
- #27 (opens in a new tab)
c6d76b9e
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Fixes Reflect.has api bug
1.2.0
Patch Changes
-
#19 (opens in a new tab)
2d24a386
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Switch core bundler to unbuild for bundleless exports -
#21 (opens in a new tab)
01c1a8b3
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Final Proxty API & base property
1.2.0-canary.3
Patch Changes
- #21 (opens in a new tab)
01c1a8b3
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Final Proxty API & base property
1.2.0-canary.2
Patch Changes
- #19 (opens in a new tab)
2d24a386
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Switch core bundler to unbuild for bundleless exports
1.1.0
Minor Changes
- #12 (opens in a new tab)
c6e1ae2
(opens in a new tab) Thanks @sannajammeh (opens in a new tab)! - Added full support for compoundVariants, base property in config object
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.