npm-vrit-custom-uikit
v1.0.7
Published
Данный пакет представляет из себя библиотеку из 12 кастомизируемых(10 шт.) и некастомизируемых(2шт.) React компонентов.
Readme
Краткое описание данного npm пакета:
Данный пакет представляет из себя библиотеку из 12 кастомизируемых(10 шт.) и некастомизируемых(2шт.) React компонентов.
Список компонентов:
- BottomButton - кастомизируемый;
- Checkbox - кастомизируемый;
- Counter - кастомизируемый;
- Dropdown - кастомизируемый;
- Searchbar - кастомизируемый;
- NavigateHeader - кастомизируемый;
- CustomSwiper - кастомизируемый;
- ModalWindow - кастомизируемый;
- Input - некастомизируемый;
- CustomIMG - некастомизируемый, сложная модель;
- Favorite - кастомизируемый, сложная модель;
- Table - кастомизируемый, сложная модель.
Также компоненты делятся еще на 2 типа: 1) со сложными моделями(требуют большие массивы данных(Table), либо связь с сервером (CustomIMG, Favorite)), 2) с простыми моделями(можно использовать в приложениях, не использующих сеть/большие массивы данных).
Для установки требуется прописать в терминале команду: "npm i npm-vrit-custom-uikit".
Для подключения в ваш реакт проект элементы необходимо заимпортировать. Для импорта библиотечных компонентов в ваш компонент необходимо сделать импорт: import "name" from "npm-vrit-custom-uikit"; , где "name" - название необходимого компонента из библиотеки.
Описание компонентов и особенности их использования:
1)Кастомизируемые компоненты:
BottomButton, Checkbox, Counter, Dropdown, Searchbar, NavigateHeader, CustomSwiper, Favorite, ModalWindow, Table.
Все кастомизируемые компоненты можно стилизовать, закидывая в пропсы атрибуты, которые начинаются на "style_". Подраздел "Подключение" гласит о том, что базово требуют компоненты при использовании в вашем компоненте.
BottomButton:
- style_wrapper - обертка
- style_main - содержимое
Checkbox:
Подключение:
const [checked,setChecked] = useState(false);- style_image_container - контейнер
- style_checkbox_label - стилизация надписи рядом с чекбоксом
- style_checkbox_input - стилизация инпута (?)
- style_image - стилизация картинки
Counter:
Подключение:
const [counterValue,setCounterValue] = useState(0);- style_wrapper - обертка
- style_images - стилизация картинок плюса и минуса
- style_p - стилизация числа-счетчика
- picPlusSrc - путь к кастомной картинке плюса
- picMinusSrc - путь к кастомной картинке минуса
Dropdown:
Подключение:
interface IDDoptions{
key:string;
name:string;
visible?: boolean;
}
const [shop,setShop] = useState("1");
const DDoptions:IDDoptions[] =[{key:"2",name:"two"},{key: "3",name: "three"}];
<Dropdown
options={DDoptions}
value={shop}
valueSetter={setShop}
...
/>- style_container - контейнер;
- style_dropDownDisplay - стилизация главного поля;
- style_arrow_image - стилизация картинки стрелки;
- style_list - стилизация выпадающего списка;
- style_list_elem - стилизация элемента выпадающего списка;
- dropDownIconSrc - путь к кастомной картинке со стрелкой;
- errorIconSrc - путь к кастомной картинке с иконкой ошибки;
NavigateHeader:
- style_wrapper - обертка;
- style_title - стилизация названия хедера;
- style_trash - стилизация картинки мусорки;
- style_arrow - стилизация картинки стрелки "обратно";
CustomSwiper:
Подключение:
items - массив из JSX элементов
- withDynamicDots - с динамическими точками;
- withClickableDots - на точки можно нажимать;
- withPagination - с точкамии;
- withLoop - с петлей (бесконечный свайпер);
- slidesPerView - сколько слайдов уместится в поле зрения;
- spaceIncrement - то, на сколько будет увеличиваться расстояние между слайдами при увеличении разрешения экрана;
- spaceBetween - расстояние между блоками;
- withTitle - с заголовком;
- RouteIntoTitle - если в заголовке должен быть путь-маршрутизатор, то его вставить в этот атрибут;
- style_title_div - стилизует контейнер заголовка;
- style_title - стилизует сам заголовок;
- style_swiper_slide - стилизация слайда;
- style_swiper - главный стилизатор, также работает с глобальными переменными свайпера:
"--swiper-pagination-color": "#e707ba", - цвет точек;
"--swiper-pagination-bullet-inactive-color": "#1328b9", - цвет неактивных точек;
"--swiper-pagination-bullet-inactive-opacity": "1", - прозрачность неактивных точек;
"--swiper-pagination-bullet-size": "16px", - размер точек;
"--swiper-pagination-bullet-horizontal-gap": "6px" - расстояние между точками;Table:
Подключение:
interface IRowElement{
visible:boolean[];
filter:any[];
content: any;
}- style_table_container - обертка самой таблицы;
- style_header_container - обертка хедера таблицы;
- style_header_color - только цветовые значения хедера;
- style_header_lines - вертикальные линии в хедере;
Favorite:
Подключение:
Необходимо иметь функцию по типу Promise: WatchListSwitch: (id: string)=>any;
style_main - размер сердца;
ModalWindow:
Подключение:
const [openModal,setOpenModal] = useState(false);
const OpenModalHandler = () => {
setOpenModal(true);
}
const CloseModalHandler = () => {
setOpenModal(false);
}
<div onClick={OpenModalHandler}>
{openModal && <ModalWindow onClose={CloseModalHandler} ... />}
</div>- onlyConfirm - опция чтобы бло только "OK";
- textToOnlyConfirm - текст для одной опции (что вместо "OK");
- textForYes - текст для согласия;
- textForNo - текст для отрицания;
- style_close_wrapper - стилизация всей области экрана кроме модального окна(то, что затемняется);
- style_modal_wrapper - обертка;
- style_modal_container - контейнер с модальным окном;
- style_modal_title - стилизация контейнера с заголовком;
- style_modal_text - стилизация контейнера с текстом;
- style_modal_horiz_line - стилизация горизонтальной линии, которая отделяет опции от основной части модального окна;
- style_modal_onlyConfirm_button - стилизация контейнера с "OK";
- style_modal_close_container - стилизация контейнера для картинки с крестиком;
- style_modal_close_icon - стилизация картинки с крестиком;
- style_modal_agree - стилизация контейнера с согласием;
- style_modal_disagree - стилизация контейнера с отрицанием;
- style_modal_vert_line - стилизация вертикальной линии между "да" и "нет";
Searchbar:
- style_wrapper - обертка;
- style_SearchbarInner - стилизация контейнера, который хранит поле ввода (как бы border);
- style_SearchbarLogo - картинка поиска;
- style_SearchbarInput - стилизация поля ввода;
2)Некастомизируемые компоненты:
Input, CustomIMG
Input:
Подключение:
const [input,setInput] = useState("");
onChange={(event) => setInput(event.target.value)}типы масок на инпут:
- "text" - обычный текст;
- "number" - только числа;
- "telephone" - номер телефона;
- "inputMask" - кастом маска;
- "password" - пароль, скрывается точками;
CustomIMG
Необходим адрес сервера
