lukasoppermann / design-tokens

🎨 Figma plugin to export design tokens to json in an amazon style dictionary compatible format.
https://www.figma.com/community/plugin/888356646278934516/Design-Tokens
MIT License
964 stars 134 forks source link

Variables not working #255

Closed juliana-negrete closed 1 year ago

juliana-negrete commented 1 year ago

I am trying to export figma variables but I click the save & export button and nothing is happening.

Is there a specific set up I need for variables in Figma? ![Uploading Screenshot 2023-07-31 at 13.50.20.png…]()

lukasoppermann commented 1 year ago

Hey @juliana-negrete,

the png is sadly not uploaded.

Can you please do the following so I can try to recreate the issue:

  1. Press cmd + option + i to open the console → please take a screenshot of what it says when you click the button
  2. Can you send a screenshot of the variables you have set up?

Thanks

juliana-negrete commented 1 year ago

@lukasoppermann thanks for getting back to me so quickly. This is what the console is saying. Attaching files again (let me know if you can see them)

I can also invite you to the figma file if you need

Screenshot 2023-07-31 at 14 28 12

www.figma.com-1690810073384.log

Screenshot 2023-07-31 at 14 28 48 Screenshot 2023-07-31 at 14 28 42
lukasoppermann commented 1 year ago

Should be fixed in new release version 66. Please reopen if it persists.

juliana-negrete commented 1 year ago

@lukasoppermann Thank you! Now it just says no tokens to export. Do I need to select them in a specific way or something?

lukasoppermann commented 1 year ago

Hey @juliana-negrete please try again now.

juliana-negrete commented 1 year ago

@lukasoppermann thank you! they are exporting now. However I believe there is one level missing from the JSON so it doesn't compile in style dictionary. Basically in my primitives collection I have only one mode called base. This "base" level shows up in the primitives. However when this is then referenced in other tokens that level is not being shown therefore it doesn't compile. If I remove "base" from the JSON it works. I believe that if there is only 1 mode this should either be omitted everywhere or then shown everywhere

https://www.style-dictionary-play.dev/#project=7ZrNctowEIBfJePeMgH8b9wX6KkzvZdOR0gyETG2R7LTppm8ey3LBP9VkHpNaUsOBOSd1afVatcr6dlYI0HnefpAEzHfijQx3hvPq+TmZmV8zTjbsZw9UrEy3t9UrfJvZeA0TnmrTbauOUpIp1W2E0qzWVbwLKa9p/J5/pRVD1713nUlHlFc1CLvrNCMHCeKBsTWMU3Ix5TUoknKdyheGU2xl7sOG+IPs3WtfSSZaToB8qDIaExxzhmGs5wfSrtB8THOCBWYJjmc/SJMCRQfwjlLEzg2z4OzXc0GNrPr0LYiC4ouZpv7HA4uCogPZzoFBzSr2CZjZvXwo0lZCtMi51K6FwrrJzMTwq71H4xd92QWBJkXBRGCJrMByGhAceRAkzkAZMQnaxpAk7kQi8TEPgmhyTwAsoAuQwRO5gOQuYG3DGxosgCAzAld1/OgyZYAZLZrIwecLIRI/r6JLRs8TRRsIEMUDCq52S5GcPmh5NpwShMIFyQ0wi4gGKcEJJ8GXugBYj3ROE6/gZCRaLkGJJMeNrM8MCezfVgng2FTfgbIVvoZDJlyNUAy5WpQcNLbfhuuEe32Xw/AK0OwH93gphoH3omb5ITtyh2KsmrqYDXYzV8F2kq9NVa9q1Vvj1W/1Kp3xqq3fK1+d6x+W28eb6x+x9bq90fPrt57grH6fb19lqPdR+8/4Wj/sY8sL3O8h5pDsUN9kZ+q1zqI3agty0an9d5AC6MMWQg/bHha9HYmm49mcqcT8SftEIZiZytyPjc2TOeV9Lx+C52/1v0vzWjZNmMDR1CcJuQcQNaJQDnKy63IY3uSY+mqHeR5p5c3ER7blYQh7PRyGiFhApUJlEw+p06bZygL5/R73lsPsnGylaAM1zgK0BitAjnfGvCPoijfkmcFF2AXBdOPdVOYxjxGc19iTINyQiwY8uyhQ6jDhvukzt3a1dcYrpabzsFbOEcCVJxu0tlOnoKJgkcI00uZSEF3KCk9vTeXLIlk3SG7AGct2LwujzUmw6iQlp1i5lT/qprTECR0M+X4yzpX03mWCjZh59UGwAnrPOWEctF/qavaz/ZCt9TlfoVyvkR2QuJnJUvfaLL1IjJ/BfJHc0of52zvbd4vpk992ZOpOwsXVeW8ZYbPUuXUQPu7Hdca55+rcfxLrHHe/Pb8x1LDtca5oBpHu9KuNc7fUOMc8alrfXOtb/7O+sa8pPrGv8

Screenshot 2023-08-01 at 11 15 46

j65i0m+6/rG1df38h/5ceLcVf MicrosoftTeams-image (40) 2lkRs07mOLtKCq9D9eV8J3d4ubpt315X+L/U5URajXIbS9iGRwKJ7nb2kS4SU/FC+xWZqPEqsuSALFpNPKL9Xz6ufCym1aIlFLFbX5T8fhtq7Dy9ylqC8Og2Tur4+Is7kHIh5p9taZ5UPDlyLV/lBg37pFozbUwa8PWG4W4DBHsa61Y90ix6RwJxl+YIKXzvSV9d5+Qk=

Attaching images with examples. Basically in "value": "{_primitives.color.brand.deep-purple}" it is missing the base level from the primitives so they do not match

lukasoppermann commented 1 year ago

Hey @juliana-negrete see #257

This is more complex than one would think. The problem is that we need modes in Json as we would have name duplicates which are not allowed in Json. But in references modes don't make sense.