{"version":3,"file":"Button.resolver.mjs","sources":["../../src/button/Button.resolver.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport LegacyButton, { LegacyButtonProps } from './LegacyButton';\nimport { ButtonReferenceType, ButtonProps as NewButtonProps } from './Button.types';\nimport NewButton from './Button';\n\nexport type ButtonProps = LegacyButtonProps | NewButtonProps;\n\nconst mapProps = (props: LegacyButtonProps): NewButtonProps => {\n  const { priority, size, type, ...newProps } = props;\n\n  const priorityMapping: Record<string, Record<string, NewButtonProps['priority']>> = {\n    accent: {\n      primary: 'primary',\n      secondary: 'secondary-neutral',\n      tertiary: 'tertiary',\n    },\n    positive: {\n      primary: 'primary',\n      secondary: 'secondary-neutral',\n      tertiary: 'secondary-neutral',\n    },\n    negative: {\n      primary: 'primary',\n      secondary: 'secondary',\n      tertiary: 'secondary',\n    },\n  };\n\n  const mappedPriority =\n    type && priority ? priorityMapping[type]?.[priority] || priority : priority || undefined;\n  const mappedSentiment = type === 'negative' ? 'negative' : undefined;\n\n  const legacyButtonTypes: LegacyButtonProps['type'][] = [\n    'accent',\n    'negative',\n    'positive',\n    'primary',\n    'pay',\n    'secondary',\n    'danger',\n    'link',\n  ];\n\n  const resolveSize = () => {\n    if (size) {\n      return { xs: 'sm', sm: 'sm', md: 'md', lg: 'lg' }[size] || size;\n    }\n\n    return size;\n  };\n\n  return {\n    ...newProps,\n    size: resolveSize(),\n    priority: mappedPriority,\n    sentiment: mappedSentiment || ('sentiment' in props ? props.sentiment : null),\n    type: type && !legacyButtonTypes.includes(type) ? type : props.htmlType || null,\n    v2: true,\n  } as NewButtonProps;\n};\n\nconst Button = forwardRef<ButtonReferenceType, ButtonProps>(({ v2 = false, ...props }, ref) => {\n  if (v2) {\n    const mappedProps = mapProps(props as LegacyButtonProps);\n    return <NewButton {...mappedProps} ref={ref} />;\n  }\n\n  return <LegacyButton {...(props as LegacyButtonProps)} ref={ref} />;\n});\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"names":["mapProps","props","priority","size","type","newProps","priorityMapping","accent","primary","secondary","tertiary","positive","negative","mappedPriority","undefined","mappedSentiment","legacyButtonTypes","resolveSize","xs","sm","md","lg","sentiment","includes","htmlType","v2","Button","forwardRef","ref","mappedProps","_jsx","NewButton","LegacyButton","displayName"],"mappings":";;;;;AAOA,MAAMA,QAAQ,GAAIC,KAAwB,IAAoB;EAC5D,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAE,GAAGC;AAAQ,GAAE,GAAGJ,KAAK;AAEnD,EAAA,MAAMK,eAAe,GAA+D;AAClFC,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,SAAS;AAClBC,MAAAA,SAAS,EAAE,mBAAmB;AAC9BC,MAAAA,QAAQ,EAAE;KACX;AACDC,IAAAA,QAAQ,EAAE;AACRH,MAAAA,OAAO,EAAE,SAAS;AAClBC,MAAAA,SAAS,EAAE,mBAAmB;AAC9BC,MAAAA,QAAQ,EAAE;KACX;AACDE,IAAAA,QAAQ,EAAE;AACRJ,MAAAA,OAAO,EAAE,SAAS;AAClBC,MAAAA,SAAS,EAAE,WAAW;AACtBC,MAAAA,QAAQ,EAAE;AACX;GACF;AAED,EAAA,MAAMG,cAAc,GAClBT,IAAI,IAAIF,QAAQ,GAAGI,eAAe,CAACF,IAAI,CAAC,GAAGF,QAAQ,CAAC,IAAIA,QAAQ,GAAGA,QAAQ,IAAIY,SAAS;EAC1F,MAAMC,eAAe,GAAGX,IAAI,KAAK,UAAU,GAAG,UAAU,GAAGU,SAAS;AAEpE,EAAA,MAAME,iBAAiB,GAAgC,CACrD,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,CACP;EAED,MAAMC,WAAW,GAAGA,MAAK;AACvB,IAAA,IAAId,IAAI,EAAE;MACR,OAAO;AAAEe,QAAAA,EAAE,EAAE,IAAI;AAAEC,QAAAA,EAAE,EAAE,IAAI;AAAEC,QAAAA,EAAE,EAAE,IAAI;AAAEC,QAAAA,EAAE,EAAE;AAAI,OAAE,CAAClB,IAAI,CAAC,IAAIA,IAAI;AACjE,IAAA;AAEA,IAAA,OAAOA,IAAI;EACb,CAAC;EAED,OAAO;AACL,IAAA,GAAGE,QAAQ;IACXF,IAAI,EAAEc,WAAW,EAAE;AACnBf,IAAAA,QAAQ,EAAEW,cAAc;AACxBS,IAAAA,SAAS,EAAEP,eAAe,KAAK,WAAW,IAAId,KAAK,GAAGA,KAAK,CAACqB,SAAS,GAAG,IAAI,CAAC;AAC7ElB,IAAAA,IAAI,EAAEA,IAAI,IAAI,CAACY,iBAAiB,CAACO,QAAQ,CAACnB,IAAI,CAAC,GAAGA,IAAI,GAAGH,KAAK,CAACuB,QAAQ,IAAI,IAAI;AAC/EC,IAAAA,EAAE,EAAE;GACa;AACrB,CAAC;AAED,MAAMC,MAAM,gBAAGC,UAAU,CAAmC,CAAC;AAAEF,EAAAA,EAAE,GAAG,KAAK;EAAE,GAAGxB;AAAK,CAAE,EAAE2B,GAAG,KAAI;AAC5F,EAAA,IAAIH,EAAE,EAAE;AACN,IAAA,MAAMI,WAAW,GAAG7B,QAAQ,CAACC,KAA0B,CAAC;IACxD,oBAAO6B,GAAA,CAACC,QAAS,EAAA;AAAA,MAAA,GAAKF,WAAW;AAAED,MAAAA,GAAG,EAAEA;AAAI,MAAG;AACjD,EAAA;EAEA,oBAAOE,GAAA,CAACE,YAAY,EAAA;AAAA,IAAA,GAAM/B,KAA2B;AAAE2B,IAAAA,GAAG,EAAEA;AAAI,IAAG;AACrE,CAAC;AAEDF,MAAM,CAACO,WAAW,GAAG,QAAQ;;;;"}