/**
 * 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>`,
  },
);
