Skip to content

Latest commit

 

History

History
261 lines (201 loc) · 5.52 KB

CHANGELOG.md

File metadata and controls

261 lines (201 loc) · 5.52 KB

@pandacss/extractor

0.7.0

Patch Changes

  • f2abf34d: Fix extractor behaviour when encoutering operation tokens, try to evaluate them instead of resolving them as string

    before:

    <AspectRatio ratio={1 / 2} asterisk={1 * 5} exp={1 ** 4} minus={5 - 1} />

    would be extracted to:

    {
      "asterisk": "1 *5",
      "exp": "1**4",
      "minus": "5 -1",
      "ratio": "1 / 2"
    }

    now, it will be extracted to the actual values:

    {
      "asterisk": 5,
      "exp": 1,
      "minus": 4,
      "ratio": 0.5
    }
  • 7bc69e4b: Fix issue where extraction does not work when the spread syntax is used or prop contains string that ends with ':'

0.6.0

Patch Changes

  • 21295f2e: Resolve identifier default value from parameter, code like position and inset here:

    export const Positioned: React.FC<PositionedProps> = ({ children, position = 'absolute', inset = 0, ...rest }) => (
      <styled.div position={position} inset={inset} {...rest}>
        {children}
      </styled.div>
    )

0.5.1

Patch Changes

  • 6f03ead3: Fix issue where operation tokens did not get extracted.

    This means that values such as 1 / 2, 3*5, 2 **4, 8- 1 will now properly be extracted

  • e48b130a: - Remove stack from box.toJSON() so that generated JSON files have less noise, mostly useful to get make the panda debug command easier to read

    • Also use the ParserResult.toJSON() method on panda debug command for the same reason

    instead of:

    [
      {
        "type": "map",
        "value": {
          "padding": {
            "type": "literal",
            "value": "25px",
            "node": "StringLiteral",
            "stack": [
              "CallExpression",
              "ObjectLiteralExpression",
              "PropertyAssignment",
              "Identifier",
              "Identifier",
              "VariableDeclaration",
              "StringLiteral"
            ],
            "line": 10,
            "column": 20
          },
          "fontSize": {
            "type": "literal",
            "value": "2xl",
            "node": "StringLiteral",
            "stack": [
              "CallExpression",
              "ObjectLiteralExpression",
              "PropertyAssignment",
              "ConditionalExpression"
            ],
            "line": 11,
            "column": 67
          }
        },
        "node": "CallExpression",
        "stack": [
          "CallExpression",
          "ObjectLiteralExpression"
        ],
        "line": 11,
        "column": 21
      },

    we now have:

    {
      "css": [
        {
          "type": "object",
          "name": "css",
          "box": {
            "type": "map",
            "value": {},
            "node": "CallExpression",
            "line": 15,
            "column": 27
          },
          "data": [
            {
              "alignItems": "center",
              "backgroundColor": "white",
              "border": "1px solid black",
              "borderRadius": "8px",
              "display": "flex",
              "gap": "16px",
              "p": "8px",
              "pr": "16px"
            }
          ]
        }
      ],
      "cva": [],
      "recipe": {
        "checkboxRoot": [
          {
            "type": "recipe",
            "name": "checkboxRoot",
            "box": {
              "type": "map",
              "value": {},
              "node": "CallExpression",
              "line": 38,
              "column": 47
            },
            "data": [
              {}
            ]
          }
        ],
  • d9bc63e7: Fix ShorthandPropertyAssignment handling on root objects, it was only handled when accessing an object from a prop acces / element access

    this was fine:

    const aliased = 'green.600'
    const colorMap = { aliased }
    const className = css({ color: colorMap['aliased'] })

    this was not (weirdly):

    const color = 'green.600'
    const className = css({ color })
  • Updated dependencies [f9247e52]

0.5.0

Minor Changes

  • ead9eaa3: Add support for tagged template literal version.

    This features is pure css approach to writing styles, and can be a great way to migrate from styled-components and emotion.

    Set the syntax option to template-literal in the panda config to enable this feature.

    // panda.config.ts
    export default defineConfig({
      //...
      syntax: 'template-literal',
    })

    For existing projects, you might need to run the panda codegen --clean

    You can also use the --syntax option to specify the syntax type when using the CLI.

    panda init -p --syntax template-literal

    To get autocomplete for token variables, consider using the CSS Var Autocomplete extension.

Patch Changes

0.4.0

Patch Changes

0.3.2

Patch Changes

0.3.1

Patch Changes

  • efd79d83: Baseline release for the launch
  • Updated dependencies [efd79d83]

0.3.0

Patch Changes

0.0.2

Patch Changes

  • fb40fff2: Initial release of all packages

    • Internal AST parser for TS and TSX
    • Support for defining presets in config
    • Support for design tokens (core and semantic)
    • Add outExtension key to config to allow file extension options for generated javascript. .js or .mjs
    • Add jsxElement option to patterns, to allow specifying the jsx element rendered by the patterns.
  • Updated dependencies [fb40fff2]