Базовые
Icon.astro
import Icon from '@shared/ui/icon/Icon.astro'Title.astro
import Title from '@shared/ui/title/Title.astro'; import Text from '@shared/ui/text/Text.astro'Title
variant="80"
Title
variant="64"
Title
variant="40"
Title
variant="24"
Title
variant="20"
Text
variant="16"
Text
variant="14"
<Title variant="240">Title</Title>
<Text variant="17">Text</Text>
Инпуты
Input.astro
import Input from '@shared/ui/input/Input.astro'
<Input placeholder={'Input'} />
<Input
placeholder={'Input'}
class="mt-4"
custom-placeholder={false}
/>InputMask.astro
<input
type="tel"
data-mask-phone
placeholder="+7 (___) ___-__-__"
class="mt-2 w-full border px-3 py-2"
/>
<input
id="reinit-input"
type="tel"
data-mask-phone
value="89123456789"
class="mt-2 w-full border px-3 py-2"
/>Textarea.astro
import Textarea from '@shared/ui/textarea/Textarea.astro'<Textarea
class="focus:outline-none"
custom-placeholder={false}
placeholder={'Textarea'}
/>
<Textarea
class="mt-6 focus:outline-none"
placeholder={'Textarea'}
/>Checkbox.astro
import Checkbox from '@shared/ui/checkbox/Checkbox.astro'
<Checkbox label="Checkbox" />
<Checkbox
name={'checkbox'}
checked={true}
>
Checkbox с вложенной <a href="#" class="text-blue hover:text-red">ссылкой</a>
</Checkbox>
<Checkbox label="Checkbox disabled" disabled />
Radio.astro
import Radio from '@shared/ui/radio/Radio.astro'
<Radio label="label" name="name" value="value1" />
<Radio label="label" name="name" value="value2" />
<Radio label="label" name="name" value="value2" />
Select.astro
import Select from '@shared/ui/select/select.astro'
<Select name="tomSelect1" id="tomSelect1" className="js-tomselect w-full">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</Select>
<Select name="tomSelect2" id="tomSelect2" className="js-tomselect w-full" multiple>
<option value="a">Multi A</option>
<option value="b">Multi B</option>
<option value="c">Multi C</option>
</Select>
Dropdown.astro
import Dropdown from '@shared/ui/dropdown/Dropdown.astro'
<Dropdown label="Общие вопросы">
<ul>
<li>
Технические проблемы
</li>
<li>
Особенности работы
</li>
<li>
Поддержка
</li>
</ul>
</Dropdown>
<Dropdown variant='light' label="Dropdown">
<ul>
<li>
<label>
<input
type="checkbox"
name="test"
id="test-checkbox"
/>
<span>Ru</span>
</label>
</li>
<li>
<label>
<input
type="checkbox"
name="test"
id="test-checkbox"
/>
<span>En</span>
</label>
</li>
</ul>
</Dropdown>
Range.astro
import Range from '@shared/ui/range/Range.astro'
<Range
id="range1"
maxLength={10}
oneSided={false}
data-step={100}
min={100}
max={10000}
startMin={2500}
startMax={7500}
/>
<Range
id="range2"
maxLength={10}
oneSided={true}
data-step={100}
min={100}
max={10000}
startMin={2500}
/>
InputNumber.astro
import InputNumber from './_components/input-number/InputNumber.astro'
<InputNumber isPositive={true} valueMax={10} />
<InputNumber
isPositive={true}
valueMax={10}
border={false}
/>
<InputNumber id="idtest">
<button
slot="input-number-start"
type="button"
data-input-number-button-decrement
class:list={['flex h-full w-full items-center justify-center']}
>
минус
</button>
</InputNumber>
<InputNumber id="idtest" isEnd={false}>
<div slot="input-number-start">
<button
type="button"
data-input-number-button-decrement
class:list={['flex h-full w-full items-center justify-center']}
>
минус
</button>
<button
type="button"
data-input-number-button-increment
class:list={['flex h-full w-full items-center justify-center']}
>
плюс
</button>
</div>
</InputNumber>
<button
type="button"
class:list={['bg-slate-200 p-2']}
data-input-number-button-increment-id="idtest"
>
Эта кнопка увеличивает число во втором инпуте
</button>
Switch.astro
import Switch from '@shared/ui/switch/Switch.astro'
<Switch label="Switch | default" />
<Switch label="Switch | checked" checked />
<Switch label="Switch | disabled" disabled />
<Switch label="Switch | checked disabled" checked disabled />
<Switch>Switch | без label</Switch>
InputSearch.astro
import InputSearch from '@widgets/input-search/InputSearch.astro'
<InputSearch placeholder="Поиск" />
InputUpload.astro
import InputUpload from '@shared/ui/input-upload/InputUpload.astro'
<InputUpload />
Datepicker.astro
import Datepicker from '@widgets/datepicker/Datepicker.astro'Выбранная дата:
<Text> Выбранная дата: <span data-datepicker-date></span> </Text>
<Datepicker />
DateInput.astro
<DateInput placeholder="ДД.ММ.ГГГГ" />
<DateInput placeholder="Выберите дату" id="custom-date" />
Отображение
List.astro
import List from '@shared/ui/list/List.astro'-
Bullet list
-
Bullet list
-
Bullet list
-
Lorem ipsum dolor sit amet consectetur adipisicing elit. Beatae cum minima maxime!
OL нет на макете
<List
items={['Bullet list', 'Bullet list', 'Bullet list', 'Long item...']}
/>
<List as="ol" variant="numeric" items={['One', 'Two', 'Three']} />
<List
as="ol"
variant="duo-numeric"
items={[
{ title: 'Title', subitems: ['Subitem 1', 'Subitem 2'] }
]}
/>
Table.astro
import UiTable from './_components/ui-table/UiTable.astro'| Накопительный счет | «Первый» | ||
|---|---|---|---|
| Валюта счета | RUB | ||
| Условия начисления процентов | на Минимальный* остаток по Счету | ||
| Сумма | от 0,01 руб. до 1 млн Р, вкл. | на сумму превышения 1 млн Р | |
| Процентная ставка: | для Новых клиентов** | базовая % ставка | 10% |
| с 1-го по 2-й Период**, включительно | 17% | 10% | |
| с 3-го Периода** | 10% | ||
table: {
thead: [
[
{
content: {
text: 'Накопительный счет'
},
classList: ['table-example__th']
},
{
content: {
text: '«Первый»'
},
colspan: 3,
classList: ['table-example__th']
}
]
],
tbody: [
[
{
content: {
text: 'Валюта счета'
},
classList: ['table-example__td']
},
{
content: {
text: 'RUB'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Условия начисления процентов'
},
classList: ['table-example__td']
},
{
content: {
text: 'на Минимальный* остаток по Счету'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Сумма'
},
classList: ['table-example__td']
},
{
content: {
text: 'от 0,01 руб. до 1 млн Р, вкл.'
},
colspan: 2,
classList: ['table-example__td']
},
{
content: {
text: 'на сумму превышения 1 млн Р'
},
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Процентная ставка:'
},
classList: ['table-example__td']
},
{
content: {
text: 'для Новых клиентов**'
},
classList: ['table-example__td']
},
{
content: {
text: 'базовая % ставка'
},
colspan: 1,
classList: ['table-example__td']
},
{
content: {
text: '10%'
},
classList: ['table-example__td'],
rowspan: 2
}
],
[
{
content: {
text: 'с 1-го по 2-й Период**, включительно'
},
classList: ['table-example__td']
},
{
content: {
text: '17%'
},
classList: ['table-example__td']
},
{
content: {
text: '10%'
},
classList: ['table-example__td']
}
],
[
{
content: {
text: 'с 3-го Периода**'
},
classList: ['table-example__td']
},
{
content: {
text: '10%'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Возможность открытия'
},
classList: ['table-example__td']
},
{
content: {
text: 'в любом удобном отделении банка'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Минимальная сумма счета'
},
classList: ['table-example__td']
},
{
content: {
text: 'не ограничена'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Максимальная сумма счета'
},
classList: ['table-example__td']
},
{
content: {
text: 'не ограничена'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Срок открытия счета'
},
classList: ['table-example__td']
},
{
content: {
text: 'бессрочный'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Пополнение'
},
classList: ['table-example__td']
},
{
content: {
text: 'да'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Неснижаемый остаток'
},
classList: ['table-example__td']
},
{
content: {
text: 'нет'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Капитализация'
},
classList: ['table-example__td']
},
{
content: {
text: 'да'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Способ выплаты процентов'
},
classList: ['table-example__td']
},
{
content: {
text: 'ежемесячно, исходя из процентной ставки по счету и суммы Минимального* остатка по счету в течение Периода**'
},
colspan: 3,
classList: ['table-example__td']
}
],
[
{
content: {
text: 'Расходные операции по счету'
},
classList: ['table-example__td']
},
{
content: {
text: 'без ограничений'
},
colspan: 3,
classList: ['table-example__td']
}
]
]
}DescriptionList.astro
import Specifications from '@shared/ui/specifications/Specifications.astro'- Мощность
- 2 кВт
- Ширина
- 200 мм
- Мощность
- 2 кВт
- Мощность
- 2 кВт
- Мощность
- 2 кВт
- Мощность
- 2 кВт
<Specifications list={[{ title: 'Мощность', value: '2 кВт' }]} />Badge.astro
import Badge from '@shared/ui/badge/Badge.astro'
<Badge text="Новая" />
<Badge text="В работе" selectable />
Rating.astro
import Rating from '@shared/ui/rating/Rating.astro'<Rating /><Rating variant="static" />GalleryItem.astro
import GalleryItem from '@shared/ui/gallery-item/GalleryItem.astro'; import Picture from '@shared/ui/picture/Picture.astro'
<GalleryItem src="./images/image.jpg" id="gl-01">
<Picture src={Image} />
</GalleryItem>
Author.astro
import Author from '@shared/ui/author/Author.astro'<Author />EditableContent.astro
import EditableContent from '@shared/ui/editable-content/EditableContent.astro'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl.
-
- item
- item
- item
- item
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl.
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
-
- item
- item
- item
- item
- item
- item
- item
- item
- Uno
- Duo
- Tres
- Uno
- Duo
- Tres
Заголовок h1
Заголовок h2
Заголовок h3
Ссылка
Vestibulum ante ссылка в тексте ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Nullam auctor, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl. Sed euismod, nisl eget ultricies tincidunt, nisl nisl aliquam nisl, eget ultricies nisl nisl eget nisl.
<EditableContent>...content...</EditableContent>Divider.astro
Text
Text
<div class="rounded bg-white p-4 shadow">
<Text
variant="17"
weight="700"
>Text</Text
>
<Divider variant="24" />
<Text
variant="17"
weight="700"
>Text</Text
>
</div>ShowMore.astro
import ShowMore from '@widgets/show-more/ShowMore.astro'Состав
Финик, молочный шоколад, фисташковый марципан, фисташка, какао продукты, подсластитель изомальт, растительные масла (в натуральном и модифицированном виде), вишня вяленая, ром, инулин, молочные продукты, сладкий белок (браззеин), эмульгатор лецитин соевый, эмульгатор Е476, антиокислитель концентрат смеси токоферолов, ароматизатор натуральный ваниль
Название ТУ
Здесь будет полное название изделия
<ShowMore/>CardForWho.astro
<CardForWho
title="<span>Эксперт</span> <br class='desktop'> <br class='tablet'> ручной торговли"
list={[
'Торгуйте мгновенно — ставьте ордера кликом прямо на графике',
'Перемещайте ордера, TP и SL в торговом окне',
'Используйте скринер и детекты для поиска необычной активности',
'Используйте специальные стратегии для ручной торговли'
]}
btnText="Документация"
/>CardEvent.astro
Успешная
Успешная длинный длинный текст карточки
rexr
rexr
<CardEvent
title="<span>Эксперт</span> <br class='desktop'> <br class='tablet'> ручной торговли"
list={[
'Торгуйте мгновенно — ставьте ордера кликом прямо на графике',
'Перемещайте ордера, TP и SL в торговом окне',
'Используйте скринер и детекты для поиска необычной активности',
'Используйте специальные стратегии для ручной торговли'
]}
btnText="Документация"
/>Обратная связь
FormNews.astro
import FormNews from '@widgets/form-news/FormNews.astro<FormNews />Toast.astro
import Toast from '@shared/ui/toast/toast.astro'
<Toast id="toast-success" data-toast-close>...</Toast>
<button id="btn-show-success">Показать</button>
Modals.astro
import UiModals from './_components/ui-modals/UiModals.astro'<Modal />
<ModalVideo />
<UiModals />ModalSuccess.astro
import ModalSuccess from '@shared/ui/(modals)/modal-success/ModalSuccess.astro'<button data-modal-trigger="modal-success-1">Запустить</button>
<ModalSuccess id="1" />Tooltip.astro
import Tooltip from '@shared/ui/tooltip/Tooltip.astro'
<Tooltip content="Подсказка" placement="top">Наведи</Tooltip>
ProgressBar.astro
import UiProgressBar from './_components/ui-progress-bar/UiProgressBar.astro'<UiProgressBar />Skeleton.astro
import Skeleton from '@shared/ui/skeleton/Skeleton.astro'<Skeleton />EmptyState.astro
import EmptyState from '@shared/ui/empty-state/EmptyState.astro'props title и subtitle
Заголовок
Подзаголовок
slot
Содержимое slot
<EmptyState title="Заголовок" subtitle="Подзаголовок" />
<EmptyState><Text variant="14">Содержимое slot</Text></EmptyState>
Медиа
Marquee.astro
import Marquee from '@shared/ui/gsap/marquee/Marquee.astro'
<Marquee>
{
list.map(item => (
<div class="main-forwhom__item">
<Picture
src={item.src}
alt={item.alt}
quality={100}
/>
</div>
))
}
</Marquee>
CardVideo.astro
import CardVideo from '@shared/ui/card-video/CardVideo.astro'
<CardVideo />
CardReview.astro
import CardReview from '@shared/ui/card-review/CardReview.astro'
Так совпало что сегодня день рождение у меня и благодаря мунботу и мунтрейдеру я могу сделать себе такой подарок
<CardReview />
Компоненты
Для заполнения.astro
import UiProgressBar from './_components/ui-progress-bar/UiProgressBar.astro'<UiProgressBar />