@mozaic-ds/vue
Version:
Mozaic-Vue is the Vue.js implementation of ADEO Design system
57 lines (54 loc) • 1.51 kB
text/typescript
/**
* Code Connect mapping for MButton
* Links Figma Button to @mozaic-ds/vue
* Props discovered via Figma MCP get_code_connect_suggestions
*/
import figma, { html } from '@figma/code-connect/html';
figma.connect(
'https://www.figma.com/design/Zyh9RyabNaqkjbuFWP9Aqj/%E2%9C%A8-Components--ADS2---Stable-version-?node-id=1%3A609',
{
props: {
label: figma.string('Label'),
appearance: figma.enum('Appearance', {
Standard: 'standard',
Accent: 'accent',
Danger: 'danger',
'Inverse (only on dark background)': 'inverse',
}),
size: figma.enum('Size', {
S: 's',
'M (default)': 'm',
L: 'l',
}),
iconLeft: figma.boolean('Icon left'),
iconRight: figma.boolean('Icon right'),
iconOnly: figma.boolean('Icon only'),
disabled: figma.boolean('Is disabled'),
isLoading: figma.boolean('Is loading'),
outlined: figma.enum('Type', { Outlined: true }),
ghost: figma.enum('Type', { Ghost: true }),
},
example: ({
label,
appearance,
size,
disabled,
isLoading,
outlined,
ghost,
}) =>
html`<script setup>
import { MButton } from '@mozaic-ds/vue';
</script>
<MButton
appearance=${appearance}
size=${size}
disabled=${disabled}
:is-loading=${isLoading}
outlined=${outlined}
ghost=${ghost}
>
${label}
</MButton>`,
},
);