@n3/pn-core
v0.2.2
Published
Core of PN-based projects
Maintainers
Keywords
Readme
@n3/pn-core
Базовые компоненты PN-проектов.
Использование
PNProvider
Компонент, принимающий конфигурацию PN-комопнентов.
Props
theme- обязательное, базовые стили;components- необязательное, переопределённые компоненты. Список компонентов ниже;settings- настройки текстов и т.п.
Настройка styled-components
Необходимо создать файл в проекте с содержимым
import 'styled-components';
import type {
ContextThemeType,
} from '@n3/pn-declaration';
declare module 'styled-components' {
export interface DefaultTheme extends ContextThemeType {
}
}useComponents
Получение полного списка компонентов:
BackLinkBodyBgColorButtonButtonToolbarCardCardBottomInfoCardButtonsWithCountersCardInfoCardInfoBlockCardWrapperCheckCheckboxConfirmCreatableDetailHeaderDetailSectionDetailSectionTitleFavoriteButtonFieldLabelFiltersWrapperHeaderHeaderControlsHeaderInfoBlockHeaderInnerWrapperHeaderLogoHeaderMenuButtonHeaderWrapperHintInputLayoutContentListCounterListGridListHeaderListPlaceholderLoadMoreButtonLoadMoreWrapperLoginBaseLogoLinkLogoutBaseMainMenuMainMenuGroupMainMenuLinkMainMenuLinksGridMainMenuTopBlockMainMenuWrapperModalModalBackdropModalBodyModalButtonModalCloseButtonModalDialogModalTitleModalTogglePaginatorPhoneLinkPublishedIndicatorRCTableRequestCardSectionRequestCardTitleRequestCarWrapperRequestsLayoutRequestsListViewSearchInputSelectSelectAsyncPaginateSelectFetchShowFieldSidebarItemSidebarItemContentSidebarItemDateSidebarItemWrapperSidebarItemsWrapperSortingHeaderSortingSwitcherStarSwitchTableTabsTabPaneTdThTooltip
useSettings
Получение настроек (дефолтовых с переопределениями).
useConfirm
Вызов окна подтверждения
import {
PNProvider,
useConfirm,
ConfirmError,
} from '@n3/pn-core';
...
const confirm = useConfirm();
...
const result: boolean = await confirm({
title: 'Подтвердите действие',
content: 'Вы дествительно хотите подтвердить?'
});Параметры:
{
/**
* Заголовок
*/
title?: string;
/**
* Текст
*/
content?: ReactNode;
/**
* Асинхронная функция подтверждения, может закончиться с исключением ConfirmError({ message })
*/
approve?: () => void | Promise<void>;
/**
* Текст кнопки отмены
*/
cancelButtonText?: ReactNode;
/**
* Текст кнопки подтвеждения
*/
approveButtonText?: ReactNode;
/**
* Цвет кнопки подтверждения
*/
approveButtonColor?: ButtonColor;
/**
* Скрыть кнопку отмены (для использования как alert)
*/
hideCancelButton?: boolean;
}Утилиты
cleanPhone
Очистка номера телефона от лишних знаков
import { cleanPhone } from '@n3/pn-core';
cleanPhone('+7 (912) 345-67-80') // '+79123456780'formatPhone
Форматирование номера телефона
import { formatPhone } from '@n3/pn-core';
cleanPhone('+7 912 345 67 80') // '+7 (912) 345-67-80'
cleanPhone('9123456780') // '+7 (912) 345-67-80'
cleanPhone('8-912-345-67-80') // '+7 (912) 345-67-80'