1c9a7c0b05
Co-authored-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: Wendy Tang <wendytang@squareup.com> Co-authored-by: Jarrod Sibbison <72240382+jsibbison-square@users.noreply.github.com> Co-authored-by: Alex Hancock <alex.hancock@example.com> Co-authored-by: Alex Hancock <alexhancock@block.xyz> Co-authored-by: Lifei Zhou <lifei@squareup.com> Co-authored-by: Wes <141185334+wesrblock@users.noreply.github.com> Co-authored-by: Max Novich <maksymstepanenko1990@gmail.com> Co-authored-by: Zaki Ali <zaki@squareup.com> Co-authored-by: Salman Mohammed <smohammed@squareup.com> Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com> Co-authored-by: Alec Thomas <alec@swapoff.org> Co-authored-by: lily-de <119957291+lily-de@users.noreply.github.com> Co-authored-by: kalvinnchau <kalvin@block.xyz> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rizel Scarlett <rizel@squareup.com> Co-authored-by: bwrage <bwrage@squareup.com> Co-authored-by: Kalvin Chau <kalvin@squareup.com> Co-authored-by: Alice Hau <110418948+ahau-square@users.noreply.github.com> Co-authored-by: Alistair Gray <ajgray@stripe.com> Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com> Co-authored-by: Alex Hancock <alexhancock@squareup.com> Co-authored-by: Nahiyan Khan <nahiyan@squareup.com> Co-authored-by: marcelle <1852848+laanak08@users.noreply.github.com> Co-authored-by: Yingjie He <yingjiehe@block.xyz> Co-authored-by: Yingjie He <yingjiehe@squareup.com> Co-authored-by: Lily Delalande <ldelalande@block.xyz> Co-authored-by: Adewale Abati <acekyd01@gmail.com> Co-authored-by: Ebony Louis <ebony774@gmail.com> Co-authored-by: Angie Jones <jones.angie@gmail.com> Co-authored-by: Ebony Louis <55366651+EbonyLouis@users.noreply.github.com>
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
import React from 'react';
|
|
import clsx from 'clsx';
|
|
import Link from '@docusaurus/Link';
|
|
|
|
const InstallButton = ({
|
|
size = null,
|
|
outline = false,
|
|
variant = 'primary',
|
|
block = false,
|
|
disabled = false,
|
|
className,
|
|
style,
|
|
link,
|
|
label
|
|
}) => {
|
|
const sizeMap = {
|
|
sm: 'sm',
|
|
small: 'sm',
|
|
lg: 'lg',
|
|
large: 'lg',
|
|
medium: null,
|
|
};
|
|
|
|
const buttonSize = size ? sizeMap[size] : '';
|
|
const sizeClass = buttonSize ? `button--${buttonSize}` : '';
|
|
const outlineClass = outline ? 'button--outline' : '';
|
|
const variantClass = variant ? `button--${variant}` : '';
|
|
const blockClass = block ? 'button--block' : '';
|
|
const disabledClass = disabled ? 'disabled' : '';
|
|
const destination = disabled ? null : link;
|
|
|
|
// Replace shortcodes like ":arrow_down:" with actual emojis
|
|
const parsedLabel = label.replace(':arrow_down:', '⬇️');
|
|
|
|
return (
|
|
<Link to={destination}>
|
|
<button
|
|
className={clsx('button', sizeClass, outlineClass, variantClass, blockClass, disabledClass, className)}
|
|
style={style}
|
|
role="button"
|
|
aria-disabled={disabled}
|
|
>
|
|
{parsedLabel}
|
|
</button>
|
|
</Link>
|
|
);
|
|
};
|
|
|
|
export default InstallButton;
|