@snack-uikit/button v0.19.11
Button
Installation
npm i @snack-uikit/button
TODO
- Add transition/animation
- Fix onClick type (button & anchor)
- R&D two icons in a button
- R&D type prop
Example
import { ButtonFilled, ButtonFunction, ButtonSimple } from "@snack-uikit/button";
import { Counter } from "@snack-uikit/counter";
import { DaySVG } from "@snack-uikit/icons";
<ButtonFilled
label='Navigate'
onClick={() => navigate()}
icon={<DaySVG />}
size='m'
appearance='primary'
href='https://cloud.ru/'
target='_blank'
disabled={true}
loading={true}
/>
<ButtonSimple
label='Submit'
onClick={() => sendForm()}
/>
const CounterProps = {
value: 7,
appearance: 'red',
}
<ButtonFunction
label='Unread Messages'
onClick={() => openMessages()}
counter={CounterProps}
/>
ButtonFilled
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
label | string | - | Текст кнопки |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
appearance | enum Appearance: "primary" , "neutral" , "destructive" | primary | Внешний вид кнопки |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
fullWidth | boolean | - | Сделать кнопку во всю ширину |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
ButtonSimple
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
label | string | - | Текст кнопки |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
appearance | enum Appearance: "primary" , "neutral" , "destructive" | neutral | Внешний вид кнопки |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
fullWidth | boolean | - | Сделать кнопку во всю ширину |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
ButtonOutline
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
label | string | - | Текст кнопки |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
appearance | enum Appearance: "primary" , "neutral" , "destructive" | primary | Внешний вид кнопки |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
fullWidth | boolean | - | Сделать кнопку во всю ширину |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
ButtonTonal
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
label | string | - | Текст кнопки |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
appearance | enum Appearance: "primary" , "neutral" , "destructive" | primary | Внешний вид кнопки |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
fullWidth | boolean | - | Сделать кнопку во всю ширину |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
ButtonFunction
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
iconPosition | enum IconPosition: "before" , "after" | after | Позиция иконки |
label | string | - | Текст кнопки |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
appearance | enum Appearance: "primary" , "neutral" , "destructive" | neutral | Внешний вид кнопки |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
fullWidth | boolean | - | Сделать кнопку во всю ширину |
counter | CounterInButtonProps | - | Пропсы каунтера в кнопке |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
ButtonElevated
Props
name | type | default value | description |
---|---|---|---|
href | string | - | Ссылка |
target | HTMLAttributeAnchorTarget | _blank | HTML-аттрибут target |
className | string | - | CSS-класс |
disabled | boolean | - | Флаг неактивности компонента |
icon | ReactElement | - | Иконка |
loading | boolean | - | Флаг состояния загрузки |
onClick | MouseEventHandler<HTMLElement> | - | Колбек обработки клика |
onKeyDown | KeyboardEventHandler<HTMLElement> | - | Колбек обработки нажатия клавиши |
onFocus | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки фокуса |
onBlur | FocusEventHandler<HTMLButtonElement \| HTMLAnchorElement> | - | Колбек обработки блюра |
type | "submit" | "reset" | "button" | button | HTML-аттрибут type |
tabIndex | number | - | HTML-аттрибут tab-index |
size | enum Size: "xs" , "s" , "m" , "l" | s | Размер |
ref | Ref<HTMLButtonElement \| HTMLAnchorElement> | - | Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref). @see https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom |
key | Key | - |
8 months ago
4 months ago
4 months ago
4 months ago
5 months ago
8 months ago
8 months ago
7 months ago
7 months ago
6 months ago
5 months ago
1 month ago
2 months ago
6 months ago
7 months ago
3 months ago
5 months ago
3 months ago
7 months ago
5 months ago
7 months ago
7 months ago
2 months ago
5 months ago
7 months ago
7 months ago
4 months ago
5 months ago
1 month ago
5 months ago
2 months ago
7 months ago
5 months ago
5 months ago
9 months ago
9 months ago
9 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
11 months ago
1 year ago
11 months ago
11 months ago
10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago