From b496a1cef747540feb6c3f2de5df75f510ca3201 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Mon, 2 Sep 2024 15:31:47 +0530 Subject: [PATCH 01/10] feat: add figma code connect --- .../workflows/blade-figma-code-connect.yml | 14 + packages/blade/figma.config.json | 17 + packages/blade/package.json | 3 +- .../components/Button/Button/Button.figma.tsx | 47 +++ .../src/components/Link/Link/Link.figma.tsx | 42 ++ yarn.lock | 370 +++++++++++++++++- 6 files changed, 489 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/blade-figma-code-connect.yml create mode 100644 packages/blade/figma.config.json create mode 100644 packages/blade/src/components/Button/Button/Button.figma.tsx create mode 100644 packages/blade/src/components/Link/Link/Link.figma.tsx diff --git a/.github/workflows/blade-figma-code-connect.yml b/.github/workflows/blade-figma-code-connect.yml new file mode 100644 index 00000000000..aa42c4279b9 --- /dev/null +++ b/.github/workflows/blade-figma-code-connect.yml @@ -0,0 +1,14 @@ +name: Blade Figma Code Connect + +on: + push: + paths: + - src/components/**/*.figma.tsx + branches: + - master +jobs: + code-connect: + name: Code Connect + runs-on: ubuntu-latest # nosemgrep: non-self-hosted-runner + steps: + - run: npx figma connect publish diff --git a/packages/blade/figma.config.json b/packages/blade/figma.config.json new file mode 100644 index 00000000000..5cd6eecef0f --- /dev/null +++ b/packages/blade/figma.config.json @@ -0,0 +1,17 @@ +{ + "codeConnect": { + "parser": "react", + "include": ["src/components/**"], + "exclude": ["__test__/**", "docs/**", "build/**"], + "importPaths": { + "src/components/*": "@razorpay/blade/components" + }, + "paths": { + "~utils": ["src/utils"], + "~utils/*": ["src/utils/*"], + "~components/*": ["src/components/*"], + "~tokens/*": ["src/tokens/*"], + "~src/*": ["src/*"] + } + } +} diff --git a/packages/blade/package.json b/packages/blade/package.json index 347e0786f35..660f5989dff 100644 --- a/packages/blade/package.json +++ b/packages/blade/package.json @@ -147,7 +147,8 @@ "@mantine/core": "6.0.21", "@mantine/dates": "6.0.21", "@mantine/hooks": "6.0.21", - "dayjs": "1.11.10" + "dayjs": "1.11.10", + "@figma/code-connect": "1.0.6" }, "devDependencies": { "http-server": "14.1.1", diff --git a/packages/blade/src/components/Button/Button/Button.figma.tsx b/packages/blade/src/components/Button/Button/Button.figma.tsx new file mode 100644 index 00000000000..f9d2040fe79 --- /dev/null +++ b/packages/blade/src/components/Button/Button/Button.figma.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import { Button } from '../Button'; +import figma from '@figma/code-connect'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + Button, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=58628-55194&m=dev', + { + props: { + icon: figma.instance('icon'), + // TODO: Figure out how to handle iconPosition + // trailingIcon: figma.boolean('↩ trailingIcon'), + // leadingIcon: figma.boolean('↪ leadingIcon'), + children: figma.string('label'), + variant: figma.enum('variant', { + Primary: 'primary', + Secondary: 'secondary', + Tertiary: 'tertiary', + }), + color: figma.enum('color', { + Primary: 'primary', + White: 'white', + Positive: 'positive', + Negative: 'negative', + }), + isDisabled: figma.boolean('isDisabled'), + isLoading: figma.boolean('isLoading'), + size: figma.enum('size', { + Large: 'large', + Medium: 'medium', + Small: 'small', + XSmall: 'xsmall', + }), + isFullWidth: figma.boolean('isFullWidth'), + iconOnly: figma.boolean('iconOnly'), + }, + example: ({ children }) => , + }, +); diff --git a/packages/blade/src/components/Link/Link/Link.figma.tsx b/packages/blade/src/components/Link/Link/Link.figma.tsx new file mode 100644 index 00000000000..fe4d9325051 --- /dev/null +++ b/packages/blade/src/components/Link/Link/Link.figma.tsx @@ -0,0 +1,42 @@ +import React from 'react'; +import figma from '@figma/code-connect'; +import { Link } from '../Link'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ +figma.connect( + Link, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=59519-143300&m=dev', + { + props: { + icon: figma.instance('icon'), + // TODO: Figure out how to handle iconPosition + children: figma.string('label'), + variant: figma.enum('type', { + Anchor: 'anchor', + Action: 'button', + }), + color: figma.enum('color', { + Primary: 'primary', + White: 'white', + Neutral: 'neutral', + Negative: 'negative', + Positive: 'positive', + }), + isDisabled: figma.boolean('isDisabled'), + size: figma.enum('size', { + Large: 'large', + Medium: 'medium', + Small: 'small', + XSmall: 'xsmall', + }), + }, + // @ts-expect-error ignore this line + example: ({ children, ...props }) => {children}, + }, +); diff --git a/yarn.lock b/yarn.lock index e05fad2c51e..47c6bc4527b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -65,11 +65,24 @@ "@babel/highlight" "^7.24.2" picocolors "^1.0.0" +"@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== + dependencies: + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/compat-data@^7.25.2": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" + integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== + "@babel/core@7.12.9": version "7.12.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" @@ -155,6 +168,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.24.7": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@7.21.8": version "7.21.8" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz#59fb6fc4f3b017ab86987c076226ceef7b2b2ef2" @@ -183,6 +217,16 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.24.7", "@babel/generator@^7.25.0", "@babel/generator@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== + dependencies: + "@babel/types" "^7.25.6" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -208,6 +252,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== + dependencies: + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" @@ -303,6 +358,14 @@ dependencies: "@babel/types" "^7.24.0" +"@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.20.2", "@babel/helper-module-transforms@^7.21.5", "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" @@ -314,6 +377,16 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" +"@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" @@ -356,6 +429,14 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" @@ -375,16 +456,31 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + "@babel/helper-validator-option@^7.14.5", "@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== +"@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== + "@babel/helper-wrap-function@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" @@ -403,6 +499,14 @@ "@babel/traverse" "^7.24.1" "@babel/types" "^7.24.0" +"@babel/helpers@^7.25.0": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== + dependencies: + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" + "@babel/highlight@^7.24.2": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" @@ -413,6 +517,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" @@ -423,6 +537,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== +"@babel/parser@^7.24.7", "@babel/parser@^7.25.0", "@babel/parser@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== + dependencies: + "@babel/types" "^7.25.6" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz#6125f0158543fb4edf1c22f322f3db67f21cb3e1" @@ -1587,6 +1708,15 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" +"@babel/template@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" + "@babel/traverse@7.23.7": version "7.23.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" @@ -1619,6 +1749,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.6" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.16.0", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" @@ -1628,6 +1771,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" @@ -2476,6 +2628,36 @@ resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== +"@figma/code-connect@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@figma/code-connect/-/code-connect-1.0.6.tgz#58d799fa21542fc048d6cfd9c189f55cdeb9db61" + integrity sha512-3nWJYoZObnYpVVEDb1O2+A0VIQgLUZxFTc27m52dotkWHzT2pHuzztncJsVOWhR2BWnZG7t41ANq6aveDTQ18w== + dependencies: + "@babel/core" "^7.24.7" + "@babel/generator" "^7.24.7" + "@babel/parser" "^7.24.7" + "@babel/types" "^7.24.7" + "@storybook/csf-tools" "^7.6.7" + axios "^1.7.4" + boxen "5.1.1" + chalk "^4.1.2" + commander "^11.1.0" + compare-versions "^6.1.0" + cross-spawn "^7.0.3" + dotenv "^16.3.1" + fast-fuzzy "^1.12.0" + find-up "^5.0.0" + glob "^10.3.10" + lodash "^4.17.21" + minimatch "^9.0.3" + ora "^5.4.1" + prettier "^2.8.8" + prompts "^2.4.2" + strip-ansi "^6.0.0" + typescript "5.4.2" + zod "^3.23.6" + zod-validation-error "^3.2.0" + "@floating-ui/core@^1.0.0", "@floating-ui/core@^1.2.6": version "1.6.0" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" @@ -5366,6 +5548,18 @@ telejson "^7.2.0" tiny-invariant "^1.3.1" +"@storybook/channels@7.6.20": + version "7.6.20" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.20.tgz#33d8292b1b16d7f504bf751c57a792477d1c3a9e" + integrity sha512-4hkgPSH6bJclB2OvLnkZOGZW1WptJs09mhQ6j6qLjgBZzL/ZdD6priWSd7iXrmPiN5TzUobkG4P4Dp7FjkiO7A== + dependencies: + "@storybook/client-logger" "7.6.20" + "@storybook/core-events" "7.6.20" + "@storybook/global" "^5.0.0" + qs "^6.10.0" + telejson "^7.2.0" + tiny-invariant "^1.3.1" + "@storybook/channels@7.6.6": version "7.6.6" resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.6.tgz#c3de381a88897ae62043430a9c469aa37c0de41d" @@ -5479,6 +5673,13 @@ dependencies: "@storybook/global" "^5.0.0" +"@storybook/client-logger@7.6.20": + version "7.6.20" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.20.tgz#1d6e93443091cccd50e269371aa786172d0c4659" + integrity sha512-NwG0VIJQCmKrSaN5GBDFyQgTAHLNishUPLW1NrzqTDNAhfZUoef64rPQlinbopa0H4OXmlB+QxbQIb3ubeXmSQ== + dependencies: + "@storybook/global" "^5.0.0" + "@storybook/client-logger@7.6.6": version "7.6.6" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.6.tgz#a8bc9568a1763c34d16d7154498bea971a181b06" @@ -5708,6 +5909,13 @@ dependencies: ts-dedent "^2.0.0" +"@storybook/core-events@7.6.20": + version "7.6.20" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.20.tgz#6648d661d1c96841a4c2a710a35759b01b6a06a1" + integrity sha512-tlVDuVbDiNkvPDFAu+0ou3xBBYbx9zUURQz4G9fAq0ScgBOs/bpzcRrFb4mLpemUViBAd47tfZKdH4MAX45KVQ== + dependencies: + ts-dedent "^2.0.0" + "@storybook/core-events@7.6.6": version "7.6.6" resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.6.tgz#64b911db989acc05058e45400a2f8bad602113cd" @@ -5891,6 +6099,21 @@ recast "^0.23.1" ts-dedent "^2.0.0" +"@storybook/csf-tools@^7.6.7": + version "7.6.20" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.6.20.tgz#fdd9fa9459720a627e83e31d3839721dbc655f22" + integrity sha512-rwcwzCsAYh/m/WYcxBiEtLpIW5OH1ingxNdF/rK9mtGWhJxXRDV8acPkFrF8rtFWIVKoOCXu5USJYmc3f2gdYQ== + dependencies: + "@babel/generator" "^7.23.0" + "@babel/parser" "^7.23.0" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + "@storybook/csf" "^0.1.2" + "@storybook/types" "7.6.20" + fs-extra "^11.1.0" + recast "^0.23.1" + ts-dedent "^2.0.0" + "@storybook/csf@0.0.2--canary.4566f4d.1": version "0.0.2--canary.4566f4d.1" resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz#dac52a21c40ef198554e71fe4d20d61e17f65327" @@ -6554,6 +6777,16 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" +"@storybook/types@7.6.20": + version "7.6.20" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.20.tgz#b8d62b30914b35e6750b1f4937da532432f02890" + integrity sha512-GncdY3x0LpbhmUAAJwXYtJDUQEwfF175gsjH0/fxPkxPoV7Sef9TM41jQLJW/5+6TnZoCZP/+aJZTJtq3ni23Q== + dependencies: + "@storybook/channels" "7.6.20" + "@types/babel__core" "^7.0.0" + "@types/express" "^4.7.0" + file-system-cache "2.3.0" + "@storybook/types@7.6.6": version "7.6.6" resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.6.tgz#46159522742b6c00816ad3f5d213a9e949f24b52" @@ -9242,6 +9475,15 @@ axios@^1.6.1: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.7.4: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.1.1, axobject-query@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -9832,6 +10074,20 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +boxen@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.1.tgz#4faca6a437885add0bf8d99082e272d480814cd4" + integrity sha512-JtIQYts08AFAYGF4eSh3pUt3NQkYV/e75pRtQmAVTLNWR/1L7Bsswxlgzgk8nmLEM+gFszsIlA9BgD3XnSqp3g== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + boxen@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" @@ -9999,6 +10255,16 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.18.1, browserslist@^4 node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -10314,6 +10580,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001587, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz#ca12d7330dd8bcb784557eb9aa64f0037870d9d6" integrity sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ== +caniuse-lite@^1.0.30001646: + version "1.0.30001655" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz#0ce881f5a19a2dcfda2ecd927df4d5c1684b982f" + integrity sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg== + capital-case@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" @@ -10860,6 +11131,11 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== +commander@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + commander@^2.18.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -10933,6 +11209,11 @@ compare-versions@^3.5.1: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== +compare-versions@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" + integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== + component-emitter@^1.2.1: version "1.3.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" @@ -12456,7 +12737,7 @@ dotenv@^10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== -dotenv@^16.0.0: +dotenv@^16.0.0, dotenv@^16.3.1: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== @@ -12523,6 +12804,11 @@ electron-to-chromium@^1.4.668: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.726.tgz#9ca95f19e9a0d63675e838b24681182203e40a30" integrity sha512-xtjfBXn53RORwkbyKvDfTajtnTp0OJoPOIBzXvkNbb7+YYvCHJflba3L7Txyx/6Fov3ov2bGPr/n5MTixmPhdQ== +electron-to-chromium@^1.5.4: + version "1.5.13" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" + integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== + elliptic@^6.5.3, elliptic@^6.5.5: version "6.5.5" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" @@ -12915,6 +13201,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -13924,6 +14215,13 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== +fast-fuzzy@^1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/fast-fuzzy/-/fast-fuzzy-1.12.0.tgz#f900a8165bffbb7dd5c013a1bb96ee22179ba406" + integrity sha512-sXxGgHS+ubYpsdLnvOvJ9w5GYYZrtL9mkosG3nfuD446ahvoWEsSKBP7ieGmWIKVLnaxRDgUJkZMdxRgA2Ni+Q== + dependencies: + graphemesplit "^2.4.1" + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -15130,6 +15428,14 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +graphemesplit@^2.4.1: + version "2.4.4" + resolved "https://registry.yarnpkg.com/graphemesplit/-/graphemesplit-2.4.4.tgz#6d325c61e928efdaec2189f54a9b87babf89b75a" + integrity sha512-lKrpp1mk1NH26USxC/Asw4OHbhSQf5XfrWZ+CDv/dFVvd1j17kFgMotdJvOesmHkbFX9P9sBfpH8VogxOWLg8w== + dependencies: + js-base64 "^3.6.0" + unicode-trie "^2.0.0" + gud@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" @@ -17977,6 +18283,11 @@ joi@^17.11.0, joi@^17.2.1: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" +js-base64@^3.6.0: + version "3.7.7" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.7.tgz#e51b84bf78fbf5702b9541e2cb7bfcb893b43e79" + integrity sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw== + js-sdsl@^4.1.4: version "4.4.2" resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.2.tgz#2e3c031b1f47d3aca8b775532e3ebb0818e7f847" @@ -20416,6 +20727,13 @@ minimatch@^9.0.0, minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.3: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -20902,6 +21220,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + node-stream-zip@^1.9.1: version "1.15.0" resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" @@ -21760,7 +22083,7 @@ pacote@^11.2.6: ssri "^8.0.1" tar "^6.1.0" -pako@~0.2.0: +pako@^0.2.5, pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== @@ -22130,6 +22453,11 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -23024,7 +23352,7 @@ prettier@^1.19.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.4.1, prettier@^2.7.1, prettier@^2.8.0: +prettier@^2.4.1, prettier@^2.7.1, prettier@^2.8.0, prettier@^2.8.8: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== @@ -26804,6 +27132,11 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tiny-inflate@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + tiny-invariant@^1.0.2, tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" @@ -27259,6 +27592,11 @@ typescript@4.9: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + ufo@^1.4.0: version "1.5.3" resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" @@ -27361,6 +27699,14 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unicode-trie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-2.0.0.tgz#8fd8845696e2e14a8b67d78fa9e0dd2cad62fec8" + integrity sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ== + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + unicorn-magic@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" @@ -27670,6 +28016,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + upper-case-first@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" @@ -29026,6 +29380,16 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== +zod-validation-error@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-3.3.1.tgz#86adc781129d1a7fed3c3e567e8dbe7c4a15eaa4" + integrity sha512-uFzCZz7FQis256dqw4AhPQgD6f3pzNca/Zh62RNELavlumQB3nDIUFbF5JQfFLcMbO1s02Q7Xg/gpcOBlEnYZA== + +zod@^3.23.6: + version "3.23.8" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" + integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== + zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" From 38253719b1d43bc6d338bf171d6e9ef032c83d17 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 3 Sep 2024 17:00:39 +0530 Subject: [PATCH 02/10] update Link.figma.tsx --- .../src/components/Link/Link/Link.figma.tsx | 86 +++++++++++++++++-- 1 file changed, 77 insertions(+), 9 deletions(-) diff --git a/packages/blade/src/components/Link/Link/Link.figma.tsx b/packages/blade/src/components/Link/Link/Link.figma.tsx index fe4d9325051..22c21240ff4 100644 --- a/packages/blade/src/components/Link/Link/Link.figma.tsx +++ b/packages/blade/src/components/Link/Link/Link.figma.tsx @@ -2,20 +2,12 @@ import React from 'react'; import figma from '@figma/code-connect'; import { Link } from '../Link'; -/** - * -- This file was auto-generated by `figma connect create` -- - * `props` includes a mapping from Figma properties and variants to - * suggested values. You should update this to match the props of your - * code component, and update the `example` function to return the - * code example you'd like to see in Figma - */ figma.connect( Link, 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=59519-143300&m=dev', { props: { - icon: figma.instance('icon'), - // TODO: Figure out how to handle iconPosition + icon: figma.instance('iconLeading'), children: figma.string('label'), variant: figma.enum('type', { Anchor: 'anchor', @@ -40,3 +32,79 @@ figma.connect( example: ({ children, ...props }) => {children}, }, ); + +// with variant '↩ trailingIcon' as true +figma.connect( + Link, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=59519-143300&m=dev', + { + variant: { '↩ trailingIcon': true }, + props: { + icon: figma.instance('iconTrailing'), + // TODO: Figure out how to handle iconPosition + children: figma.string('label'), + variant: figma.enum('type', { + Anchor: 'anchor', + Action: 'button', + }), + color: figma.enum('color', { + Primary: 'primary', + White: 'white', + Neutral: 'neutral', + Negative: 'negative', + Positive: 'positive', + }), + isDisabled: figma.boolean('isDisabled'), + size: figma.enum('size', { + Large: 'large', + Medium: 'medium', + Small: 'small', + XSmall: 'xsmall', + }), + }, + // @ts-expect-error ignore this line + example: ({ children, ...props }) => ( + + {children} + + ), + }, +); + +// with variant '↪ leadingIcon' as true +figma.connect( + Link, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=59519-143300&m=dev', + { + variant: { '↪ leadingIcon': true }, + props: { + icon: figma.instance('iconLeading'), + // TODO: Figure out how to handle iconPosition + children: figma.string('label'), + variant: figma.enum('type', { + Anchor: 'anchor', + Action: 'button', + }), + color: figma.enum('color', { + Primary: 'primary', + White: 'white', + Neutral: 'neutral', + Negative: 'negative', + Positive: 'positive', + }), + isDisabled: figma.boolean('isDisabled'), + size: figma.enum('size', { + Large: 'large', + Medium: 'medium', + Small: 'small', + XSmall: 'xsmall', + }), + }, + // @ts-expect-error ignore this line + example: ({ children, ...props }) => ( + + {children} + + ), + }, +); From 3a0eb7d2d3f0d0fbdc7c019fee40d90f90947c83 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Thu, 5 Sep 2024 11:33:49 +0530 Subject: [PATCH 03/10] update card figma --- .../blade/src/components/Card/Card.figma.tsx | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 packages/blade/src/components/Card/Card.figma.tsx diff --git a/packages/blade/src/components/Card/Card.figma.tsx b/packages/blade/src/components/Card/Card.figma.tsx new file mode 100644 index 00000000000..226f5afa72f --- /dev/null +++ b/packages/blade/src/components/Card/Card.figma.tsx @@ -0,0 +1,98 @@ +import React from 'react'; +import { + Card, + CardBody, + CardHeader, + CardHeaderCounter, + CardHeaderIcon, + CardHeaderLeading, + CardHeaderTrailing, +} from '../Card'; +import figma from '@figma/code-connect'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + Card, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=72099-253612&m=dev', + { + props: { + elevation: figma.enum('elevation', { + None: undefined, + highRaised: 'highRaised', + lowRaised: 'lowRaised', + midRaised: 'midRaised', + }), + cardHeader: figma.nestedProps('_Card/Header', { + title: figma.textContent('title'), + subtitle: figma.textContent('subtitle'), + }), + cardHeaderLeading: figma.nestedProps('_Card/ Leading Item', { + leadingIcon: figma.instance('leadingIcon'), + }), + cardHeaderTrailing: figma.nestedProps('_Card/Trailing Item', { + trailing: figma.instance('trailing'), + }), + cardHeaderAvatar: figma.nestedProps('Avatar', { + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + }), + cardHeaderCounter: figma.nestedProps('Counter', { + color: figma.enum('color', { + Primary: 'primary', + Neutral: 'neutral', + Information: 'information', + Notice: 'notice', + Positive: 'positive', + Negative: 'negative', + }), + count: figma.string('label'), + emphasis: figma.enum('emphasis', { + Subtle: 'subtle', + Intense: 'intense', + }), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + }), + }, + example: ({ + elevation, + cardHeader, + cardHeaderLeading, + cardHeaderCounter, + cardHeaderTrailing, + }) => ( + + + } + suffix={ + + } + /> + + + {/* Add your content here */} + + ), + }, +); From 283a0a3843cd742cf45f3dbe48e3a6ddc9524a5b Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 12:41:12 +0530 Subject: [PATCH 04/10] update card footer --- .../blade/src/components/Card/Card.figma.tsx | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/packages/blade/src/components/Card/Card.figma.tsx b/packages/blade/src/components/Card/Card.figma.tsx index 226f5afa72f..64cc8a89851 100644 --- a/packages/blade/src/components/Card/Card.figma.tsx +++ b/packages/blade/src/components/Card/Card.figma.tsx @@ -1,14 +1,16 @@ import React from 'react'; +import figma from '@figma/code-connect'; import { Card, CardBody, + CardFooter, + CardFooterTrailing, CardHeader, CardHeaderCounter, CardHeaderIcon, CardHeaderLeading, CardHeaderTrailing, } from '../Card'; -import figma from '@figma/code-connect'; /** * -- This file was auto-generated by `figma connect create` -- @@ -39,12 +41,8 @@ figma.connect( cardHeaderTrailing: figma.nestedProps('_Card/Trailing Item', { trailing: figma.instance('trailing'), }), - cardHeaderAvatar: figma.nestedProps('Avatar', { - size: figma.enum('size', { - Small: 'small', - Medium: 'medium', - Large: 'large', - }), + cardFooter: figma.nestedProps('_Card/Footer', { + showDivider: figma.boolean('showDivider'), }), cardHeaderCounter: figma.nestedProps('Counter', { color: figma.enum('color', { @@ -73,6 +71,7 @@ figma.connect( cardHeaderLeading, cardHeaderCounter, cardHeaderTrailing, + cardFooter, }) => ( @@ -83,7 +82,7 @@ figma.connect( suffix={ @@ -91,7 +90,23 @@ figma.connect( /> - {/* Add your content here */} + {/* Add card body content here */} + + {} + }, + secondary: { + /* Add secondary action here */ + // text:"Hello" + // onClick: () => {} + }, + }} + /> + ), }, From ab2b3618daa08cf6c3868e98c092922e76a2b77d Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 12:57:00 +0530 Subject: [PATCH 05/10] add code connect setup for Badge and Checkbox components --- .../src/components/Badge/Badge.figma.tsx | 41 +++++++++++++++++ .../components/Checkbox/Checkbox.figma.tsx | 44 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 packages/blade/src/components/Badge/Badge.figma.tsx create mode 100644 packages/blade/src/components/Checkbox/Checkbox.figma.tsx diff --git a/packages/blade/src/components/Badge/Badge.figma.tsx b/packages/blade/src/components/Badge/Badge.figma.tsx new file mode 100644 index 00000000000..f36d4e42523 --- /dev/null +++ b/packages/blade/src/components/Badge/Badge.figma.tsx @@ -0,0 +1,41 @@ +import React from 'react'; +import { Badge } from './Badge'; +import figma from '@figma/code-connect'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + Badge, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=8110-469&m=dev', + { + props: { + children: figma.string('label'), + showLeadingIcon: figma.boolean('showLeadingIcon'), + leadingIcon: figma.instance('leadingIcon'), + color: figma.enum('color', { + Positive: 'positive', + Negative: 'negative', + Notice: 'notice', + Information: 'information', + Neutral: 'neutral', + Primary: 'primary', + }), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + emphasis: figma.enum('emphasis', { + Subtle: 'subtle', + Intense: 'intense', + }), + }, + example: ({ children, ...props }) => {children}, + }, +); diff --git a/packages/blade/src/components/Checkbox/Checkbox.figma.tsx b/packages/blade/src/components/Checkbox/Checkbox.figma.tsx new file mode 100644 index 00000000000..37aca1125d2 --- /dev/null +++ b/packages/blade/src/components/Checkbox/Checkbox.figma.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { Checkbox } from './Checkbox'; +import figma from '@figma/code-connect'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + Checkbox, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=71951-34708&m=dev', + { + props: { + helpText: figma.boolean('showHelpText'), + children: figma.string('label'), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + isDisabled: figma.boolean('isDisabled'), + isChecked: figma.boolean('isChecked'), + isIntermediate: figma.boolean('isIntermediate'), + validationState: figma.enum('validationState', { + Error: 'error', + }), + errorText: figma.boolean('errorText'), + }, + + example: ({ children, errorText, helpText, ...props }) => ( + + {children} + + ), + }, +); From a2f1f96adad683fb9fad5dd6d528172ebe8d1eb8 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 13:10:53 +0530 Subject: [PATCH 06/10] add checkbox group --- .../components/Checkbox/Checkbox.figma.tsx | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/packages/blade/src/components/Checkbox/Checkbox.figma.tsx b/packages/blade/src/components/Checkbox/Checkbox.figma.tsx index 37aca1125d2..f0f5cc36ed8 100644 --- a/packages/blade/src/components/Checkbox/Checkbox.figma.tsx +++ b/packages/blade/src/components/Checkbox/Checkbox.figma.tsx @@ -1,15 +1,8 @@ import React from 'react'; -import { Checkbox } from './Checkbox'; +import { Checkbox } from '../Checkbox'; +import { CheckboxGroup } from './CheckboxGroup'; import figma from '@figma/code-connect'; -/** - * -- This file was auto-generated by `figma connect create` -- - * `props` includes a mapping from Figma properties and variants to - * suggested values. You should update this to match the props of your - * code component, and update the `example` function to return the - * code example you'd like to see in Figma - */ - figma.connect( Checkbox, 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=71951-34708&m=dev', @@ -42,3 +35,36 @@ figma.connect( ), }, ); + +figma.connect( + CheckboxGroup, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=72092-40150&m=dev', + { + props: { + label: figma.boolean('showLabel'), + helpText: figma.boolean('helpText'), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + validationState: figma.enum('validationState', { + Error: 'error', + }), + labelPosition: figma.enum('labelPosition', { + Top: 'top', + Left: 'left', + }), + }, + + example: ({ helpText, label, ...props }) => ( + + {/* Add Checkbox components here */} + + ), + }, +); From d92d9fd9349004f9825f9dbb3e7d87f842fd7408 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 16:46:16 +0530 Subject: [PATCH 07/10] add radio figma file --- .../src/components/Radio/Radio.figma.tsx | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 packages/blade/src/components/Radio/Radio.figma.tsx diff --git a/packages/blade/src/components/Radio/Radio.figma.tsx b/packages/blade/src/components/Radio/Radio.figma.tsx new file mode 100644 index 00000000000..5d551fe9b09 --- /dev/null +++ b/packages/blade/src/components/Radio/Radio.figma.tsx @@ -0,0 +1,73 @@ +import React from 'react'; +import { Radio } from './Radio'; +import figma from '@figma/code-connect'; +import { RadioGroup } from './RadioGroup'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + Radio, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=71905-62364&m=dev', + { + props: { + children: figma.boolean('label'), + helpText: figma.boolean('showHelpText'), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + validationState: figma.enum('validationState', { + Error: 'error', + }), + }, + example: ({ children, ...props }) => ( + + {children} + + ), + }, +); + +figma.connect( + RadioGroup, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=71971-26042&m=dev', + { + props: { + label: figma.boolean('showLabel'), + isDisabled: figma.boolean('isDisabled'), + helpText: figma.boolean('showHelpText'), + size: figma.enum('size', { + Small: 'small', + Medium: 'medium', + Large: 'large', + }), + validationState: figma.enum('validationState', { + Error: 'error', + }), + labelPosition: figma.enum('labelPosition', { + Top: 'top', + Left: 'left', + }), + }, + + example: ({ helpText, label, ...props }) => ( + + {/* Add Radio components here */} + + ), + }, +); From 500ec0157e72a01dd94021b643668c69f5d07db0 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 16:53:34 +0530 Subject: [PATCH 08/10] update radio --- packages/blade/src/components/Radio/Radio.figma.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/blade/src/components/Radio/Radio.figma.tsx b/packages/blade/src/components/Radio/Radio.figma.tsx index 5d551fe9b09..e6aec4b0738 100644 --- a/packages/blade/src/components/Radio/Radio.figma.tsx +++ b/packages/blade/src/components/Radio/Radio.figma.tsx @@ -16,7 +16,7 @@ figma.connect( 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=71905-62364&m=dev', { props: { - children: figma.boolean('label'), + children: figma.string('label'), helpText: figma.boolean('showHelpText'), size: figma.enum('size', { Small: 'small', From 4ddc31657b1774d4c8d8c23eb40ec52391ec4aed Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 17:02:40 +0530 Subject: [PATCH 09/10] update Button and Link figma files --- packages/blade/src/components/Button/Button/Button.figma.tsx | 3 +-- packages/blade/src/components/Link/Link/Link.figma.tsx | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/blade/src/components/Button/Button/Button.figma.tsx b/packages/blade/src/components/Button/Button/Button.figma.tsx index f9d2040fe79..07db6c3b724 100644 --- a/packages/blade/src/components/Button/Button/Button.figma.tsx +++ b/packages/blade/src/components/Button/Button/Button.figma.tsx @@ -40,8 +40,7 @@ figma.connect( XSmall: 'xsmall', }), isFullWidth: figma.boolean('isFullWidth'), - iconOnly: figma.boolean('iconOnly'), }, - example: ({ children }) => , + example: ({ children, ...props }) => , }, ); diff --git a/packages/blade/src/components/Link/Link/Link.figma.tsx b/packages/blade/src/components/Link/Link/Link.figma.tsx index 22c21240ff4..e571b41f955 100644 --- a/packages/blade/src/components/Link/Link/Link.figma.tsx +++ b/packages/blade/src/components/Link/Link/Link.figma.tsx @@ -7,7 +7,8 @@ figma.connect( 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=59519-143300&m=dev', { props: { - icon: figma.instance('iconLeading'), + //TODO: Figure out how to handle iconPosition + icon: figma.instance('icon'), children: figma.string('label'), variant: figma.enum('type', { Anchor: 'anchor', From d96f17de178fc3041ddf05cf079b54eb0cbf6186 Mon Sep 17 00:00:00 2001 From: Chaitanya Deorukhkar Date: Tue, 10 Sep 2024 17:23:48 +0530 Subject: [PATCH 10/10] add TextInput.figma.tsx --- .../Input/TextInput/TextInput.figma.tsx | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 packages/blade/src/components/Input/TextInput/TextInput.figma.tsx diff --git a/packages/blade/src/components/Input/TextInput/TextInput.figma.tsx b/packages/blade/src/components/Input/TextInput/TextInput.figma.tsx new file mode 100644 index 00000000000..7a5d13471a6 --- /dev/null +++ b/packages/blade/src/components/Input/TextInput/TextInput.figma.tsx @@ -0,0 +1,64 @@ +import React from 'react'; +import { TextInput } from './TextInput'; +import figma from '@figma/code-connect'; + +/** + * -- This file was auto-generated by `figma connect create` -- + * `props` includes a mapping from Figma properties and variants to + * suggested values. You should update this to match the props of your + * code component, and update the `example` function to return the + * code example you'd like to see in Figma + */ + +figma.connect( + TextInput, + 'https://www.figma.com/design/jubmQL9Z8V7881ayUD95ps/Blade-DSL?node-id=77380-13131&m=dev', + { + props: { + // TODO: Figure out how to handle conditional properties from figma + // showLink773806: figma.boolean("showLink"), + // showSuffixIcon773803: figma.boolean("showSuffixIcon"), + // suffixIcon773800: figma.instance("suffixIcon"), + // showPrefixText726611550: figma.boolean('showPrefixText'), + // suffixText726611400: figma.string('suffixText'), + // prefixIcon726611500: figma.instance('prefixIcon'), + // showSuffixText726611450: figma.boolean('showSuffixText'), + // showPrefixIcon726611475: figma.boolean('showPrefixIcon'), + // prefixText726611525: figma.string('prefixText'), + // showLabel726611300: figma.boolean('showLabel'), + // showPrefix726611350: figma.boolean('showPrefix'), + // showHelpText726611325: figma.boolean('showHelpText'), + // showSuffix726611375: figma.boolean('showSuffix'), + // prefixText: figma.string('prefixText'), + placeholder: figma.string('placeholder'), + size: figma.enum('size', { + Medium: 'medium', + Large: 'large', + }), + value: figma.string('value'), + isDisabled: figma.boolean('isDisabled'), + isLoading: figma.boolean('isLoading'), + validationState: figma.enum('validationState', { + Success: 'success', + Error: 'error', + }), + labelPosition: figma.enum('labelPosition', { + Top: 'top', + Left: 'left', + }), + }, + example: ({ ...props }) => ( + + ), + }, +);