0.28.21 • Published 28 days ago

@n3/kit v0.28.21

Weekly downloads
270
License
MIT
Repository
gitlab
Last release
28 days ago

Alert

Компонент уведомления.

import {
  Alert,
  alertTypes,
} from '@n3/kit/Alert';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
type+enum- alertTypes.INFO- alertTypes.WARNING- alertTypes.DANGER- alertTypes.SUCCESSТип сообщения
titlenodenullЗаголовок сообщения
buttonnodenullКнопка действий у сообщения
noMarginsboolfalseЕсли true, сообщение ренедерится без отступов сверху и снизу
childrennodenull

AsyncCreatable

Стилизованный react-select/creatable + react-select-async-paginate.

import { AsyncCreatable } from '@n3/kit/AsyncCreatable';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
allowCreateWhileLoadingboolean
formatCreateLabel(inputValue: string) => ReactNode
isValidNewOption(inputValue: string, value: any, options: OptionsType) => boolean
getNewOptionData(inputValue: string, optionLabel: ReactNode) => any
onCreateOption(inputValue: string) => void
createOptionPosition"first""last"
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
renderModal(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeundefinedФункция рендера содержимого модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabel
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValue
onChange(nextValue: any) => void"(): void => {}"Обработчик изменения значения поля@param nextValue - новое значение поля
loadOptionsLoadOptions<any, any>Асинхронная функция запроса данных с сервера в формате react-select-async-paginate@param search - значение строки поиска@param prevOptions - список загруженных опций@param additional - дополнительные параметры запроса@returns ответ сервера
additionalanyДополнительные параметры первого запроса
debounceTimeoutnumberЗадержка при отправке запросов
cacheUniqs+any[]Список значений при изменении одного из которых опции будут сброшены

Autocomplete

Автокомплит.

import { Autocomplete } from '@n3/kit/Autocomplete';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
loadOptions+LoadOptionsФункция загрузки опций@param search - текущее значение поля ввода@returns response.options - опции
value+stringЗначение элемента input
onChangeOnChangeОбработчик изменения значения поля при ручном вводе
onSelectOnSelectОбработчик изменения значения поля при выборе из меню@param value - текст выбранной опции@param option - выбранная опция
disabledbooleanfalseВыключено ли поле
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
inputPropsHTMLProps\<HTMLInputElement>"{}"Дополнительные props элемента input
labelKeystring"label"Ключ, по которому хранится текст опции
getOptionLabelGetOptionLabelФункция получения текста опции, который будет подставлен при выборе
formatOptionLabelFormatOptionLabelФункция отображения опции

AxiosErrorPage

Страницы ошибки, полученной с помощью axios.

import { AxiosErrorPage } from '@n3/kit/AxiosErrorPage';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
error+AxiosErrorОшибка axios

Breadcrumbs

Компонент хлебных крошек.

import { Breadcrumbs } from '@n3/kit/Breadcrumbs';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbs+arrayOf   shape {  - url    string  - title    string  }массив объектов хлебных крошек
homeLinkstringundefinedСсылка на домашнюю страницу

Button

Компонент кнопки.

import {
  Button,
  buttonColors,
  ButtonIcon,
  buttonSizes,
} from '@n3/kit/Button';

Props

Button

НазваниеОбязательностьТипЗначение по умолчаниюОписание
colorButtonColorЦвет кнопки
sizeButtonSizeРазмер кнопки
componentelementType'button'Компонент корневого элемента кнопки
componentPropsobject{}Дополнительный props компонента кнопки при использовании кастомного component
loadingboolfalseСостояние загрузки
disabledboolfalseКнопка выключена
pressedboolfalseКнопка зажата
flatLeftboolfalseНе отображать закругления слева
flatRightboolfalseНе отображать закругления справа
onlyIconboolfalseКнопка состоит только из иконки
classNamestring''Дополнительный класс корневого компонента кнопки
onClickfuncFunction.prototypeОбработчик нажатия на кнопку
childrennodenull

ButtonIcon

Компонент для выравнивания иконок относительно границ и текста кнопки.

<Button>
  Скачать
  <ButtonIcon
    isRight
  >
    <i className="fa fa-download" />
  </ButtonIcon>
</Button>
НазваниеОбязательностьТипЗначение по умолчаниюОписание
isLeftboolfalseИконка находится слева от текста
isRightboolfalseИконка находится справа от текста

ButtonDropdown

Кнопка-дропдаун.

import { ButtonDropdown } from '@n3/kit/ButtonDropdown';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
dropdown+DropdownBaseprops компонента Dropdown
hasArrowbooleanfalseПоказывать ли стрелку справа от текста
childrenReactNodenullСодержимое кнопки
...restObjectprops, которые будут переданы в кнопку

ButtonGroup

Группа кнопок.

import { ButtonGroup } from '@n3/kit/ButtonGroup';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
borderCollapsebooleanfalseДолжны ли соседние кнопки иметь общую границу
...restObjectprops, которые будут переданы в каждую кнопку

ButtonLink

Ссылка react-router-dom, стилизованная под кнопку.

import { ButtonLink } from '@n3/kit/ButtonLink';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
icon-ReactNodeundefinedИконка кнопки
onlyIcon-booleanundefinedОтображать только иконку внутри кнопки
to+anyПараметр ссылки react-router-dom
targetstringundefinedПараметр ссылки react-router-dom
disabledbooleanfalseВыключена ли кнопка

ButtonModal

Кнопка, открывающая модальное окно.

import { ButtonModal } from '@n3/kit/ButtonModal';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
renderModal+(renderProps: { closeModal: () => void;}) => ReactNodeФункция рендера модального окна
modalSizeModalSizeРазмер модального окна
hasCloseButtonbooleanОтображается ли кнопка закрытия окна
isHideOnBackdropClickbooleanЗакрывать ли окно при нажатии вне окна
...restOmit<ButtonProps, 'component' | 'componentProps'>Свойства кнопки

ButtonToolbar

Тулбар кнопок.

import { ButtonToolbar } from '@n3/kit/ButtonToolbar';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
alignenum- 'left'- 'right''left'Выравнивание кнопок внутри
indentenum- 'default'- 'small''default'Расстояние между кнопками
childrennodenull

ButtonWithDropdown

Кнопка с выпадающим списком.

import { ButtonWithDropdown } from '@n3/kit/ButtonWithDropdown';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
sizeButtonSizeРазмер кнопки
componentButtonComponentundefinedКомпонент корневого элемента кнопки
Компонент кнопки
componentProps{ key: string: any; }undefinedДополнительный props компонента кнопки при использовании кастомного component
Дополнительные props кнопки
loadingbooleanfalseСостояние загрузки
Находится ли кнопка в состоянии загрузки
disabledbooleanfalseКнопка выключена
Выключены ли кнопка и дропдаун
pressedbooleanКнопка зажата
flatLeftbooleanНе отображать закругления слева
flatRightbooleanНе отображать закругления справа
onlyIconbooleanКнопка состоит только из иконки
classNamestringДополнительный класс корневого компонента кнопки
onClickFunctionFunction.prototypeОбработчик нажатия на кнопку
Обработчик нажатия на кнопку
childrenReactNodenullТекст кнопки
dropdown+DropdownBaseprops компонента Dropdown
buttonDisabledbooleanfalseВыключена ли кнопка
colorButtonColorbuttonColors.DEFAULTЦвет
dropdownDisabledbooleanfalseВыключена ли кнопка открытия выпадающего списка

Cell

Ячейка внутри Row.

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
isPercenagebooleanfalseПропорциональная ширина колонки относительно контейнера
xs1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12nullКоличество колонок в разрешениях до 576px
sm1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12nullКоличество колонок в разрешениях до 768px
md1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12nullКоличество колонок в разрешениях до 992px
lg1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12nullКоличество колонок в разрешениях до 1200px
xl1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12nullКоличество колонок в разрешениях от 1200px включительно

Checkbox

Чекбокс.

import { Checkbox } from '@n3/kit/Checkbox';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
checked+booleanвыбран ли данный чекбокс
namestring""name html-элемента input, а также аргумент колбэка onChange
valueReactText""value html-элемента input, а также аргумент колбэка onChange
disabledbooleanfalseвыключен ли данный чекбокс
hasErrorbooleanfalseподсветка ошибки
hasWarningbooleanfalseподсветка предупреждения
indeterminatebooleanfalseнаходится ли данный чекбокс в неопределённом состоянии
helpTextReactNodenullтекст/контент, всплывающий при наведении на чекбокс
labelReactNodenullтекст/контент, выводящийся рядом с чекбоксом
onChangeOnCheckboxChange"(): void => {}"хэндлер изменения значения, вызывается с параметрами: (nextChecked, value, name)

CheckboxGroup

Группа чекбоксов.

import { CheckboxGroup } from '@n3/kit/CheckboxGroup';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
inlinebooleanfalseинлайновый вывод чекбоксов
namestring""name каждого html-элемента input
value+ReactText[]массив значений выбранных опций
disabledbooleanfalseвыключена ли данная группа чекбоксов
options+Record<string, any>[]список опций данной группы чекбоксов
valueKeystring"value"ключ, по которому хранятся значения в объектах options
labelKeystring"label"ключ, по которому хранятся заголовки в объектах options
onChange(nextValue: ReactText[]) => void"(): void => {}"хэндлер изменения значения

ClearButton

Кнопка очистки поля.

import { ClearButton } from '@n3/kit/ClearButton';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
asComponentType'span'Корневой компонент
...restComponentPropsДополнительные props компонента as

Counter

Счётчик.

import { Counter } from '@n3/kit/Counter';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
counter+numberЗначение счётчика
maxNumbernumbernullМаксимальное значение счётчика
isLightboolfalseОтображение в светлых цветах

Creatable

Стилизованный react-select/creatable.

import { Creatable } from '@n3/kit/Creatable';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
allowCreateWhileLoadingboolean
formatCreateLabel(inputValue: string) => ReactNode
isValidNewOption(inputValue: string, value: any, options: OptionsType) => boolean
getNewOptionData(inputValue: string, optionLabel: ReactNode) => any
onCreateOption(inputValue: string) => void
createOptionPosition"first""last"
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
renderModal(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeundefinedФункция рендера содержимого модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabel
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValue
onChange(nextValue: any) => void"(): void => {}"Обработчик изменения значения поля@param nextValue - новое значение поля
options+OptionsTypeGroupedOptionsTypeСписок опций

createDropdownMenu

Список опций выпадающего меню для приложений на базе @n3/kit.

import { createDropdownMenu } from '@n3/kit/createDropdownMenu';

Пример

import { ButtonDropdown } from '@n3/kit/ButtonDropdown';
import { createDropdownMenu } from '@n3/kit/createDropdownMenu';

// ...

<ButtonDropdown
  dropdown={createDropdownMenu([
    {
      render: ({
        className,
        children,
      }) => (
        <a
          className={className}
          href="http://netrika.ru/"
          target="_blank"
        >
          {children}
        </a>
      ),
      label: 'Ссылка на сайт Нетрики',
    },

    {
      onClick: () => {
        alert('Hello');
      },
      label: 'Алерт',
    },
  ])}
>
  Открыть меню
</ButtonDropdown>

Параметры пункта меню

НазваниеОбязательностьТипЗначение по умолчаниюОписание
render(renderProps: DropdownMenuItemRenderProps) => ReactNodedefaultRenderФункция рендера компонента
disabledboolfalseВыключен ли данный элемент меню
classNamestring''Дополнительный className
onClickfuncnull
renderIconfuncnullФункция рендера иконки пункта меню@param {Object} renderProps@param {boolean} renderProps.disabled - выключен ли пункт меню
label+nodeТекст пункта меню

CreateLayout

Лэйаут страницы создания.

import { CreateLayout } from '@n3/kit/CreateLayout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
childrennodenullСодержимое страницы

createRemoveTableAction

Действие удаления строки таблицы.

import { createRemoveTableAction } from '@n3/kit/createRemoveTableAction';
import { TableActions } from '@n3/kit/TableActions';

// ...

<TableActions
  actions={[
    createRemoveTableAction({}, {
      remove: () => new Promise((resolve) => {
        setTimeout(() => {
          resolve();
        }, 1500);
      }),
      approveTitle: 'Удаление ЕИСТ',
      approveContent: 'Восстановить проект будет невозможно.',
      approveButtonText: 'Удалить проект',
      cancelButtonText: 'Отменить',
      notification: {
        title: 'Успешно',
        content: 'Проект успешно удалён',
      },
    }),
  ]}
/>

Аргументы:

  1. Дополнительные параметры createDropdownMenu;
  2. Параметры useRemoveButton.

Datepicker

Поле ввода даты.

import { Datepicker } from '@n3/kit/Datepicker';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
selectedDateВыбранная дата
disabledbooleanfalseВыключено ли поле
smallbooleanfalseМаленькое ли поле
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
withTimebooleanfalseЕсть ли возможность выбора времени
timeCaptionstring"Время"Текст над вариантами выбора времени
blockbooleanfalseОтображать ли поле во всю ширину
isClearablebooleanfalseВозможность сброса выбранной даты
autoComplete"on""off""off"Включен ли нативный автокомплит в поле ввода дейтпикера
onChange(nextDate: Date) => void"(): void => {}"Обработчик изменения или сброса значения@param nextDate - новое значение

DebounceInput

Инпут с задержкой.

import { DebounceInput } from '@n3/kit/DebounceInput';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
componentInputComponentКомпонент корневого элемента инпута
disabledbooleanВыключено ли поле
hasErrorbooleanЕсть ли у поля ошибка
hasWarningbooleanЕсть ли у поля предупреждение
smallbooleanМаленькое ли поле
classNamestringДополнительный класс корневого компонента инпута
isOnlyBorderBottombooleanОтображение без рамки только с подчёркиванием снизу
buttonsRenderInputButton[]Массив функций реднеда кнопок@param props - все props инпута@param index - индекс кнопки
debounceTimeoutnumber300Время задержки в мс

Dropdown

Компонент выпадающего меню.

import { Dropdown } from '@n3/kit/Dropdown';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
hasHorizontalOffsetsbooltrueесть ли горизонтальный отступ между элементом и меню
hasVerticalOffsetsbooltrueесть ли вертикальный отступ между элементом и меню
renderContent+(renderProps: DropdownContentRenderProps) => ReactNodeфункция рендера содержимого выпадающего меню
placementstring'bottom-start'позиция меню в формате popper.js
popperStyleobject{}дополнительные стили popper-компонента
popperPropsobjectOf {  any}{}дополнительные опции popper-компонента
modifiersarrayOf   object[]modifiers popper-компонента
children+funcФункция рендера элемента, открывающего выпадающего меню@param {Object} renderProps@param {boolean} renderProps.isDropdownOpen - открыто ли меню@param {Function} renderProps.onClick - обработчик нажатия на элемент, открывающий/закрывающий меню@param {React ref} renderProps.ref - ref элемента, относительно которого позиционируется выпадающее меню

EditLayout

Лэйаут страницы редактирования.

import { EditLayout } from '@n3/kit/EditLayout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
childrennodenullСодержимое страницы

EllipsisDropdown

Выпадающий список в виде точек.

import { EllipsisDropdown } from '@n3/kit/EllipsisDropdown';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
dropdown+shape {- hasHorizontalOffsets  bool- hasVerticalOffsets  bool- renderContent  func- placement  string- popperStyle  object- popperProps  objectOf {    any  }- modifiers  arrayOf     object  }props компонента Dropdown
classNamestring''
disabledboolfalse

ErrorPage

Страница ошибки.

import { ErrorPage } from '@n3/kit/ErrorPage';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
status+numberhttp-статус
titleReactNodenullЗаголовок страницы
descriptionReactNodenullОписание/руководство к действиям

FakeLink

Компонент, стилизованный, как ссылка.

import { FakeLink } from '@n3/kit/FakeLink';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
componentReact Component'span'
disabledbooleanfalseВыключена ли обработка событий
onClickFunctionnullОбработчик нажатия, вызывается, если disabled не true

FieldGroup

Обёртка над полем для вывода заголовка, подсказки, ошибок и предупреждений.

import { FieldGroup } from '@n3/kit/FieldGroup';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
colonbooleantrueЕсли `true, после заголовка выводится двоеточие
direction'horizontal' | 'vertical''horizontal'Направление лейаута поля
onlyFieldbooleanfalseЕсли true, поле выводится без заголовка
labelstringundefinedЗаголовок поля
requiredbooleanfalseОбязательность поля
isCellsPercentagebooleanfalseПропорциональная ширина поля и контейнера для единиц измерения
isInputbooleanfalseЗадать отступ заголовка, чтобы он был в одну линию с текстом поля ввода
isShowbooleanfalseВывод в режиме просмотра (влияет на расстояние между полями)
hasRepeatOffsetsbooleanfalseВывод внутри Repeat.Block
hintReactNodeundefinedПодсказка, выводящаяся в тултипе рядом с заголовком
unitReactNodeundefinedЕдиницы измерения, выводится справа от поля
helpstring[]undefinedПодсказки поля
errorsstring[]undefinedОшибки поля
warningsstring[]undefinedПредупреждения поля
showBackgroundbooleanundefinedМенять ли фон поля в случае ошибки или предупреждения
labelColsXsCellValue3Количество колонок заголовка
fieldColsXsCellValue5Количество колонок контента
unitColsXsCellValue1Количество колонок единиц измерения
childrenReactNodeundefinedКонтент поля

FieldWrapper

Обёртка над полем для вывода подсказки, ошибок и предупреждений.

import { FieldWrapper } from '@n3/kit/FieldWrapper';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
helpstring[]nullПодсказки поля
errorsstring[]nullОшибки поля
warningsstring[]nullПредупреждения поля
showBackgroundbooleanfalseМенять ли фон в случае ошибки или предупреждения
childrenReactNodenullПоле

FilterSelect

Стилизованный react-select.

import { FilterSelect } from '@n3/kit/FilterSelect';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
modalComponentComponentTypeКомпонент модального окна@prop {Function} onSelect - функция выбора значения@prop {Function} onCancel - функция закрытия модального окна без изменения значения
modalProps{ key: string: any; }Дополнительные props компонента модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabelКлюч для отображения текста поля, работает только в случае, если getOptionLabel не определён
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValueКлюч для нахождения значения поля, работает только в случае, если getOptionValue не определён
onChange((nextValue: any) => void)((nextValue: any) => void)"(): void => {}"Обработчик изменения значения поляОбработчик изменения значения поля@param nextValue - новое значение поля
mainPlaceholderstring"Выберите..."Плейсхолдер компонента, который всегда отображается
options+OptionsTypeGroupedOptionsTypeСписок опций

FilterSelectAjax

Стилизованный react-select-fetch.

import { FilterSelectAjax } from '@n3/kit/FilterSelectAjax';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
modalComponentComponentTypeКомпонент модального окна@prop {Function} onSelect - функция выбора значения@prop {Function} onCancel - функция закрытия модального окна без изменения значения
modalProps{ key: string: any; }Дополнительные props компонента модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabelКлюч для отображения текста поля, работает только в случае, если getOptionLabel не определён
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValueКлюч для нахождения значения поля, работает только в случае, если getOptionValue не определён
onChange((nextValue: any) => void)((nextValue: any) => void)"(): void => { }"Обработчик изменения значения поляОбработчик изменения значения поля@param nextValue - новое значение поля
url+stringапи-url для запроса данных
queryParams{ key: string: any; }Перманентные параметры запроса
searchParamNamestringКлюч, по которому текст строки поиска будет добавлен к параметрам запроса
pageParamNamestringКлюч, по которому номер текущей страницы будет добавлен к параметрам запроса
offsetParamNamestringКлюч, по которому индекс первой опции для запроса будет добавлен к параметрам запроса
mapResponseMapResponseФункция маппинга ответа сервера в формат react-select-async-paginate
getGetАсинхронная функция запроса данных с сервера@param url - апи-url@param queryParams - параметры запроса@returns ответ сервера
debounceTimeoutnumberЗадержка при отправке запросов
cacheUniqs+any[]Список значений при изменении одного из которых опции будут сброшены
mainPlaceholderstring"Выберите..."Плейсхолдер компонента, который всегда отображается

FilterSelectAsync

Стилизованный react-select-async-paginate.

import { FilterSelectAsync } from '@n3/kit/FilterSelectAsync';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
modalComponentComponentTypeКомпонент модального окна@prop {Function} onSelect - функция выбора значения@prop {Function} onCancel - функция закрытия модального окна без изменения значения
modalProps{ key: string: any; }Дополнительные props компонента модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabelКлюч для отображения текста поля, работает только в случае, если getOptionLabel не определён
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValueКлюч для нахождения значения поля, работает только в случае, если getOptionValue не определён
onChange((nextValue: any) => void)((nextValue: any) => void)"(): void => {}"Обработчик изменения значения поляОбработчик изменения значения поля@param nextValue - новое значение поля
loadOptionsLoadOptions<any, any>Асинхронная функция запроса данных с сервера в формате react-select-async-paginate@param search - значение строки поиска@param prevOptions - список загруженных опций@param additional - дополнительные параметры запроса@returns ответ сервера
additionalanyДополнительные параметры первого запроса
debounceTimeoutnumberЗадержка при отправке запросов
cacheUniqs+any[]Список значений при изменении одного из которых опции будут сброшены
mainPlaceholderstring"Выберите..."Плейсхолдер компонента, который всегда отображается

Grid

Контейнер содержимого.

import { Grid } from '@n3/kit/Grid';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
centeredbooleanfalseДобавить ли margin слева и справа
isFixedWidthbooleanfalseНе давать контенту сужаться

Header

Шапка страницы.

import { Header } from '@n3/kit/Header';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
logo+HeaderLogoParamsЛоготип в левой части
isUserBlockHiddenbooleanfalseСкрыть ли блок текущего пользователя (аватар + имя + дропдаун с действиями)
showAvatarbooleanОтображать ли аватар текущего пользователя
avatarstringАватар текщего пользователя (отобразится плейсхолдер в случае, если аватар не задан)
userNameReactNodeИмя текщего пользователя
dropdownOptionsHeaderDropdownOption[]Опции выпадающего меню
leftBlockReactNodeundefinedБлок слева
menuHeaderMenuItem[]Левое меню
rightMenuHeaderMenuItem[]Правое меню
withPusherbooleanfalseДобавить ли dom-элемент для отступа сверху страницы, равного высоте шапки
counters{ key: string: number; }Счётчики
countersMaxNumbernumberМаксимальное число в счётчиках
collapsiblebooleanОтображение иконки раскрытия бокового меню на меленьких разрешениях
openMenu() => voidФункция раскрытия бокового меню
isLogoCollapsiblebooleanfalseСхлопывать ли логотип при схлопывании меню
menuCollapsedbooleanfalseСхлопнуто ли меню в иконки

HeaderLeftBlock

Компонент, задающий контент шапки. Должен быть использован внутри компонента Layout.

import { HeaderLeftBlock } from '@n3/kit/Layout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
children+ReactNodeКонтент, который будет отображён в шапке страницы

Hint

Компонент всплывающей подсказки.

import { Hint } from '@n3/kit/Hint';

// ...

<Hint
  tooltip="Подсказка"
/>

Для кастомизации принимает свойства компонента Tooltip.

Input

Инпут.

import { Input } from '@n3/kit/Input';

Использование

Обычный инпут

import { useState } from 'react';
import { Input } from '@n3/kit/Input';

function Example() {
  const [value, setValue] = useState('');
  
  <Input
    value={value}
    onChange={(event) => {
      setValue(event.target.value);
    }}
  />
}

С кнопкой

import { useState } from 'react';
import {
  Input,
  StyledInputButton,
} from '@n3/kit/Input';

function Example() {
  const [value, setValue] = useState('');
  
  <Input
    value={value}
    onChange={(event) => {
      setValue(event.target.value);
    }}
    buttons={[
      (inputProps, index) => (
        <StyledInputButton
          type="button"
          key={index}
        >
          <FontAwesomeIcon
            icon="cog"
          />
        </StyledInputButton>
      ),

      (inputProps, index) => (
        <StyledInputButton
          type="button"
          key={index}
        >
          <FontAwesomeIcon
            icon="file"
          />
        </StyledInputButton>
      ),
    ]}
  />
}

Props

Input

НазваниеОбязательностьТипЗначение по умолчаниюОписание
componentInputComponentКомпонент корневого элемента инпута
disabledbooleanВыключено ли поле
hasErrorbooleanЕсть ли у поля ошибка
hasWarningbooleanЕсть ли у поля предупреждение
smallbooleanМаленькое ли поле
classNamestringДополнительный класс корневого компонента инпута
isOnlyBorderBottombooleanОтображение без рамки только с подчёркиванием снизу
buttonsRenderInputButton[]Массив функций реднеда кнопок@param props - все props инпута@param index - индекс кнопки

StyledInputButton

НазваниеОбязательностьТипЗначение по умолчаниюОписание
disabledbooleanКнопка выключена
$smallbooleanКнопка маленькая

InputMask

Поле ввода с маской.

import { InputMask } from '@n3/kit/InputMask';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
componentInputComponentКомпонент корневого элемента инпута
disabledbooleanВыключено ли поле
hasErrorbooleanЕсть ли у поля ошибка
hasWarningbooleanЕсть ли у поля предупреждение
smallbooleanМаленькое ли поле
classNamestringДополнительный класс корневого компонента инпута
isOnlyBorderBottombooleanОтображение без рамки только с подчёркиванием снизу
buttonsRenderInputButton[]Массив функций реднеда кнопок@param renderProps - объект свойств для ренера
mask+boolean | (string | RegExp)[] | ((value: string) => maskArray)маска в формате react-text-mask

Layout

Компонент, включающий в себя шапку и сайдбар.

import { Layout } from '@n3/kit/Layout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
header+HeaderParamsОбъект props компонента Header
sidebar+SidebarParamsОбъект props компонента Sidebar
collapsiblebooleantrueВозможность скрытия меню на маленьких экранах
menuCollapsedbooleanfalseСхлопнуто ли меню в иконки
openedGroups{ key: string: boolean; }"{}"Объект, показывающий, какие группы открыты
counters{ key: string: number; }"{}"Счётчики
countersMaxNumbernumbernullМаксимальное число в счётчиках
children+((renderProps: LayoutContextValue) => ReactNode)Функция рендера контента@param renderProps
onCollapseMenu(nextValue: boolean) => void"(): void => {}"Обработчик схлопывания меню в иконки@param nextValue - новое состояние схлопнутости
onToggleGroup(groupId: string, opened: boolean) => void"(): void => {}"Обработчик скрытия/раскрытия пунктов меню@param groupId - id группы@param opened - новое состояние открытости/закрытости

LayoutWithoutSidebar

Компонент, включающий в себя шапку и Grid, центрирующий контент.

import { LayoutWithoutSidebar } from '@n3/kit/LayoutWithoutSidebar';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
header+HeaderParamsОбъект props компонента Header
counters{ key: string: number; }{}Счётчики
countersMaxNumbernumbernullМаксимальное число в счётчиках
hasGridbooleantrueОборачивать ли содержимое в компонент Grid
gridGridProps{}Объект props компонента Grid
childrenReactNodenullКонтент

ListLayout

Лэйаут страницы списка.

import { ListLayout } from '@n3/kit/ListLayout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
actionsBlocknodenullБлок действий (кнопки и т.п.)
childrennodenullСодержимое страницы

ListPlaceholder

Плейсхолдер пустого списка.

import {
  ListPlaceholder,
  ListPlaceholderWithoutFilters,
} from '@n3/kit/ListPlaceholder';
  • ListPlaceholder - используется в случае, когда применены фильтры
  • ListPlaceholderWithoutFilters - используется в случае, когда ни один фильтр не применён

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
childrenReactNode'Не найдено ни одной записи'Заголовок
renderDescriptionRenderDescriptionnullРуководство к действиям@param params - параметры
reload() => voidnullФункиця перезагрузки списка, по умолчанию очищает параметры адресной строки

LoadingArea

Индикация загрузки для определённой области.

import { LoadingArea } from '@n3/kit/LoadingArea';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
loadingbooleantrueСостояние загрузки
childrenReactNodenull

LocalStorageLayout

Компонент, аналогичный Layout, хранящий состояние открытости/закрытости пунктов в localStorage.

Modal

Модальное окно.

import {
  Modal,
  modalSizes,
} from '@n3/kit/Modal';

...

<Modal
  show={show}
  onHide={toggleShow}
>
  <Modal.Body>
    <Modal.Title>
      Заголовок модального окна
    </Modal.Title>

    <div>
      Контент модального окна
    </div>
  </Modal.Body>

  <Modal.Footer>
    Футер модального окна
  </Modal.Footer>
</Modal>

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
sizeenum- modalSizes.DEFAULT- modalSizes.SMALLmodalSizes.DEFAULTРазмер модального окна
show+boolОтображается ли модальное окно
hasCloseButtonbooltrueОтображается ли кнопка закрытия окна
onHide+funcОбработчик закрытия модального окна
isHideOnBackdropClickbooltrueЗакрывать ли окно при нажатии вне окна
childrennodenull

ModalSelect

Поле выбора из модального окна.

import { ModalSelect } from '@n3/kit/ModalSelect';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
renderModal+(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeФункция рендера содержимого модального окна
disabledbooleanfalseВыключено ли поле
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
text+stringТекст, выводящийся в поле
placeholderstring""
onChange(nextValue: any) => void"(): void => {}"Обработчик изменения значения поля

ModalSelectButton

Кнопка, открывающая модальное окно для выбора.

import { ModalSelectButton } from '@n3/kit/ModalSelectButton';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
classNamestring""
renderModal+(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeФункция рендера содержимого модального окна
disabledbooleanfalse
onSelectFromModal(nextValue: any) => void"(): void => {}"

NestedListLayout

Лэйаут страницы списка внутри родительской сущности.

import { NestedListLayout } from '@n3/kit/NestedListLayout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
parentTitle+nodeЗаголовок родительской сущности
parentActionsBlocknodeБлок действий у заголовка родительской сущности (кнопки и т.п.)
parentStatusnodenullСтатус
parentStatusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsTab[]Табы родительской сущности
currentTab+anyid выбранного таба
title+nodeЗаголовок страницы
actionsBlocknodenullБлок действий (кнопки и т.п.)
childrennodenullСодержимое страницы

NestedRoutesLayout

Пример использования:

import { NestedRoutesLayout } from '@n3/kit/NestedRoutesLayout';

// ...

const data = await fetch(/* ... */);

const NestedRoute = ({
  Layout,
  payload,
}) => (
  <Layout
    title="Вложенный заголовок"
    breadcrumbs={[{
      url: null,
      title: 'Дополнительная крошка',
    }]}
  >
    Контент
  </Layout>
);

<NestedRoutesLayout
  breadcrumbs={[{
    url: '/',
    title: 'Хлебная крошка',
  }]}
  title="Основной заголовок"
  tabs={[
    {
      id: 'tabId',
      title: 'Заголовок таба',
      to: '/tab/',
      component: NestedRoute,
    },
  ]}
  payload={data}
/>

Props NestedRoutesLayout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbs+Breadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
actionsBlocknodeБлок действий у заголовка сущности (кнопки и т.п.)
statusnodenullСтатус
statusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsNestedRoutesLayoutTab<Payload>[]Табы
redirectFromstringnullПереадресация из
redirectTostringnullПереадресация в
payloadPayloadnullДанные, которые будут переданы во вложенные страницы

Props Layout

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Дополнительные хлебные крошки
titlenodeЗаголовок вложенной страницы
actionsBlocknodeБлок действий вложенной страницы
childrennodenullСодержимое страницы

Формат таба

НазваниеОбязательностьТипЗначение по умолчаниюОписание
id+TabIdid таба
title+nodeЗаголовок таба
pathstringПуть страницы для react-router-dom, если не определено, используется to
to+stringurl страницы
component+ComponentType<NestedRouteComponentProps<any, any>>nullКомпонент страницы

NestedShowLayout

import { NestedShowLayout } from '@n3/kit/NestedShowLayout';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
breadcrumbsBreadcrumb[]Массив объектов хлебных крошек
title+nodeЗаголовок страницы
actionsBlocknodeБлок действий у заголовка сущности (кнопки и т.п.)
statusnodenullСтатус
statusColorTagColorundefinedЦвет тэга статуса
headerBlocknodenullБлок, выводящийся между заголовком страницы и табами
tabsTab[]Табы
currentTab+anyid выбранного таба
childrennodenullСодержимое страницы

PageSizeSelect

Компонент выбора количества элементов на странице для приложений на базе @n3/kit.

import { PageSizeSelect } from '@n3/kit/PageSizeSelect';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
start+numberПорядковый номер первого элемента
end+numberПорядковый номер последнего элемента
count+numberОбщее количество элементов
value+numberВыбранное значение
optionsnumber[][20, 40, 100]Список возможных значений
onChange+(nextValue: number) => voidОбработчик изменения значения@param nextValue - новое значение
toggleButtonIdstring''id кнопки открытия/закрытия меню
wrapperIdstring''id корневого элемента

PageTitle

Заголовок страницы.

import { PageTitle } from '@n3/kit/PageTitle';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
pageTypeenum- 'list'- 'form'- 'parent''list'Тип страницы
actionsBlockReactNodenullБлок действий (кнопки и т.п.)
statusReactNodenullСтатус
statusColorTagColor'grayЦвет тэга статуса
childrennodenullЗаголовок страницы

Paginator

Пагинатор.

import { Paginator } from '@n3/kit/Paginator';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
page+numberТекущая страница пагинатора, начиная с 1
pageCount+numberКоличество страниц
hrefBuilderfuncundefinedФункция генерации атрибута href компонента \<a>@param {number} page - номер страницы, начиная с 1
onPageChange+funcОбработчик изменения страницы@param {number} page - номер страницы, начиная с 1
wrapperIdstringid корневого dom-элемента

parseLayoutFromLocalStorage

Парсинг состояния Layout из localStorage.

import { parseLayoutFromLocalStorage } from '@n3/kit/LocalStorageLayout';

Provider

Компонент для задания глобальных параметров компонентов.

import { Provider } from '@n3/kit/Provider';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
childrenReactNodeundefined
theme+ThemeTypeТема в формате @n3/css-base

Radio

Радиокнопка.

import { Radio } from '@n3/kit/Radio';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
value+ReactTextvalue html-элемента input, также передаётся в колбэке onChange
checked+booleanвыбрано
disabledbooleanfalseвыключено
namestring""name html-элемента input
labelReactNodenullтекст/контент, выводящийся рядом с радио
onChange(value: ReactText) => void(): void => {}хэндлер изменения значения, вызывается с параметрами: (newChecked)

RadioGroup

Группа радиокнопок.

import { RadioGroup } from '@n3/kit/RadioGroup';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
inlinebooleanfalseинлайновый вывод
namestring""name каждого html-элемента input
valueReactTextnullзначение выбранной опции
disabledbooleanfalseвыключена ли данная группа радио
options+Record<string, any>[]список опций данной группы радио
valueKeystring"value"ключ, по которому хранятся значения в объектах options
labelKeystring"label"ключ, по которому хранятся заголовки в объектах options
onChange(value: ReactText) => void"(): void => {}"хэндлер изменения значения

RemoveButton

Кнопка удаления.

import { RemoveButton } from '@n3/kit/RemoveButton';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
colorenum- buttonColors.DEFAULT- buttonColors.PRIMARY- buttonColors.TERTIARY- buttonColors.DANGERundefinedЦвет кнопки
sizeenum- buttonSizes.DEFAULT- buttonSizes.SMALLundefinedРазмер кнопки
disabledboolfalseВыключена ли кнопка
children+node
remove+funcАсинхронная функция удаления
onRemoveSuccessfuncundefinedОбработчик успешного удаления
approveTitlenodeundefinedЗаголовок подтверждения
approveContentnodeundefinedТекст подтверждения
approveButtonText+stringТекст кнопки подтвеждения
approveButtonColorenum- buttonColors.DEFAULT- buttonColors.PRIMARY- buttonColors.TERTIARY- buttonColors.DANGERbuttonColors.DANGERЦвет кнопки подтверждения
cancelButtonText+stringТекст кнопки отмены
errorsPathstring'response.data.detail'Путь до объекта ошибкок в случае ошибки удаления
redirectToanyundefinedАдрес редиректа в случае успешного удаления
notificationobjectundefinedСообщение @n3/browser-messages в случае успешного удаления

Repeat

Повторяющиеся блоки.

import { Repeat } from '@n3/kit/Repeat';

<Repeat
  title="Группа полей"
>
  <Repeat.Block
    index={0}
  >
    Блок №1
  </Repeat.Block>

  <Repeat.Block
    index={1}
  >
    Блок №2
  </Repeat.Block>

  <Repeat.Block
    index={2}
  >
    Блок №3
  </Repeat.Block>
</Repeat>

Props

Repeat

НазваниеОбязательностьТипЗначение по умолчаниюОписание
disabledbooleanfalseВыключена ли кнопка добавления
titleReactNodenullЗаголовок
addButtonTitleReactNode"Добавить ещё"Текст кнопки добавления
handleAdd() => voidnullОбработчик нажания на кнопку добавления, если не определён, кнопка добавления не отображается

Repeat.Block

НазваниеОбязательностьТипЗначение по умолчаниюОписание
disabledbooleanfalseВыключена ли кнопка удаления
titleReactNodenullЗаголовок
index+numberИндекс в последовательности блоков
hasHorizontalPaddingbooleantrueЕсть ли отступ от левой и правой границ до контента
handleRemove(index: number) => voidnullОбработчик нажания на кнопку удаления, если не определён, кнопка удаления не отображается@param index - индекс блока в массиве

Row

import { Row } from '@n3/kit/Row';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
isWrapbooleanfalseРендер внутренних блоков c переносами
$rowGapstring | numberundefinedОтступ между строкамиЕсли число, берётся соответсвующий отступ из темыЕсли строка, она напрямую используется для свойства rowGap

SearchInput

Поле поиска.

import { SearchInput } from '@n3/kit/SearchInput';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
componentInputComponentКомпонент корневого элемента инпута
disabledbooleanfalseВыключено ли полеВыключено ли поле
hasErrorbooleanЕсть ли у поля ошибка
hasWarningbooleanЕсть ли у поля предупреждение
smallbooleanМаленькое ли поле
classNamestringДополнительный класс корневого компонента инпута
isOnlyBorderBottombooleanОтображение без рамки только с подчёркиванием снизу
buttonsRenderInputButton[]Массив функций реднеда кнопок@param props - все props инпута@param index - индекс кнопки
value+stringЗначение поля
onChange(event: ChangeEvent) => void"(): void => { }"Обработчик изменения инпута@param event - событие
onValueChange(nextValue: string) => void"(): void => { }"Обработчик изменения значения поля (в т.ч. при нажатии на кнопку сброса)@param newValue - новое значение поля
handleClear() => void"(): void => { }"Обработчик нажатия на кнопку сброса
handleSearch(searchValue: string) => void"(): void => { }"Обработчик нажатия на кнопку поиска@param searchValue - текущее значение поля поиска

Section

Секция.

import { Section } from '@n3/kit/Section';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
titlestringnullЗаголовок секции
titleColsXsCellValue3Количество колонок заголовка
contentColsXsCellValue8Количество колонок контента
hintReactNodenullПодсказка, выводящаяся у заголовка поля
isEditbooleanfalseИспользуется ли внутри формы редактирования
childrenReactNodenullКонтент

Select

Селект.

import { Select } from '@n3/kit/Select';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
renderModal(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeundefinedФункция рендера содержимого модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabel
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValue
onChange(nextValue: any) => void"(): void => {}"Обработчик изменения значения поля@param nextValue - новое значение поля
options+OptionsTypeGroupedOptionsTypeСписок опций

SelectAjax

Стилизованный react-select-fetch.

import { SelectAjax } from '@n3/kit/SelectAjax';

Props

НазваниеОбязательностьТипЗначение по умолчаниюОписание
smallbooleanfalseМаленькое ли поле
isMultibooleanfalseМножественный выбор
isClearablebooleantrueВозможность сброса значения
hasErrorbooleanfalseЕсть ли у поля ошибка
hasWarningbooleanfalseЕсть ли у поля предупреждение
valueanynullЗначение поля
selectRefRefref для получения экземпляра react-select
renderModal(renderProps: ModalSelectButtonModalRenderProps<ValueType>) => ReactNodeundefinedФункция рендера содержимого модального окна
isDisabledbooleanfalseВыключено ли поле
getOptionLabelGetOptionLabelnullФункция получения заголовка опции для вывода и фильтрации
labelKeystring"label"Ключ, для получения заголовка опции в случае, если не определено getOptionLabel
getOptionValueGetOptionValuenullФункция получения значения опции
valueKeystring"value"Ключ, для получения значения опции в случае, если не определено getOptionValue
onChange(nextValue: any) => void"(): void => {}"Обработчик изменения значения поля@param nextValue - новое значение поля
url+stringапи-url для запроса данных
queryParams{ key: string: any; }Перманентные параметры запроса
searchParamNamestringКлюч, по которому текст строки поиска будет добавлен к параметрам запроса
pageParamNamestringКлюч, по которому номер текущей страницы будет добавлен к параметрам запроса
offsetParamNamestringКлюч, по которому индекс первой опции для запроса будет добавлен к параметрам запроса
mapResponseMapResponseФункция маппинга ответа сервера в формат react-select-async-paginate
getGetАсинхронная функция запроса данных с сервера@param url - апи-url@param queryParams - параметры запроса@returns ответ сервера
debounceTimeoutnumberЗадержка при отправке запросов
cacheUniqs+any[]Список значений при изменении одного из которых опции будут сброшены

SelectAsync

Стилизованный react-select-async-paginate.

import { Select
0.28.21

28 days ago

0.28.20

28 days ago

0.28.19

1 month ago

0.28.18

1 month ago

0.28.17

1 month ago

0.28.16

1 month ago

0.28.12

1 month ago

0.28.11

1 month ago

0.28.10

1 month ago

0.28.15

1 month ago

0.28.14

1 month ago

0.28.13

1 month ago

0.28.9

1 month ago

0.28.8

1 month ago

0.28.7

1 month ago

0.28.6

1 month ago

0.28.5

1 month ago

0.28.4

1 month ago

0.28.3

1 month ago

0.28.1

2 months ago

0.28.0

2 months ago

0.28.2

2 months ago

0.27.1

2 months ago

0.27.0

2 months ago

0.26.1

2 months ago

0.26.0

2 months ago

0.25.2

3 months ago

0.25.0

3 months ago

0.24.4

3 months ago

0.24.3

4 months ago

0.24.2

4 months ago

0.23.2

4 months ago

0.24.1

4 months ago

0.24.0

4 months ago

0.22.12

6 months ago

0.22.11

7 months ago

0.22.10

9 months ago

0.21.3

10 months ago

0.22.7

9 months ago

0.22.6

9 months ago

0.22.5

9 months ago

0.22.4

10 months ago

0.22.3

10 months ago

0.22.2

10 months ago

0.22.1

10 months ago

0.22.0

10 months ago

0.22.9

9 months ago

0.22.8

9 months ago

0.23.1

5 months ago

0.23.0

5 months ago

0.21.2

12 months ago

0.21.1

12 months ago

0.20.1

1 year ago

0.20.0

1 year ago

0.21.0

1 year ago

0.14.5

2 years ago

0.14.6

2 years ago

0.14.4

2 years ago

0.14.3

3 years ago

0.19.1

3 years ago

0.19.0

3 years ago

0.18.2

4 years ago

0.18.1

4 years ago

0.18.0

4 years ago

0.17.3

4 years ago

0.17.2

4 years ago

0.17.1

4 years ago

0.17.0

4 years ago

0.16.4

4 years ago

0.16.3

4 years ago

0.16.2

4 years ago

0.16.1

4 years ago

0.16.0

4 years ago

0.15.0

4 years ago

0.14.2

4 years ago

0.14.1

5 years ago

0.14.0

5 years ago

0.13.1

5 years ago

0.13.0

5 years ago

0.12.2

5 years ago

0.12.1

5 years ago

0.12.0

5 years ago

0.11.2

5 years ago

0.11.1

5 years ago

0.11.0

5 years ago

0.10.2

5 years ago

0.10.1

5 years ago

0.10.0

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.14

5 years ago

0.8.13

6 years ago

0.8.12

6 years ago

0.8.11

6 years ago

0.8.10

6 years ago

0.8.9

6 years ago

0.8.8

6 years ago

0.8.7

6 years ago

0.8.6

6 years ago

0.8.5

6 years ago

0.8.4

6 years ago

0.8.3

6 years ago

0.8.2

6 years ago

0.8.1

6 years ago

0.8.0

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.12

6 years ago

0.2.11

6 years ago

0.2.10

6 years ago

0.2.9

6 years ago

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago