plugin-ui-for-kzt 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/BaseBadge/BaseBadge.vue.d.ts +49 -0
- package/dist/components/BaseBadge/BaseBadgeGroup.vue.d.ts +30 -0
- package/dist/components/BaseButton/BaseButton.vue.d.ts +1 -1
- package/dist/components/BaseCalendar/BaseCalendar.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +1 -1
- package/dist/components/BaseChips/BaseChips.vue.d.ts +1 -1
- package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +1 -1
- package/dist/components/BaseInput/BaseInput.vue.d.ts +2 -2
- package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +3 -3
- package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +2 -2
- package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +2 -2
- package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +2 -2
- package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
- package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +1 -1
- package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +1 -1
- package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +2 -2
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +2 -2
- package/dist/components/BaseTag/BaseTag.vue.d.ts +61 -0
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +1 -1
- package/dist/components/BaseToggle/BaseToggle.vue.d.ts +1 -1
- package/dist/components/BaseTooltip/BaseTooltip.vue.d.ts +1 -1
- package/dist/components/BaseUpload/BaseUpload.vue.d.ts +31 -0
- package/dist/components/{Modal/Modal.vue.d.ts → BaseUpload/ImageModal.vue.d.ts} +2 -10
- package/dist/components/Toaster/Toaster.vue.d.ts +1 -1
- package/dist/composables/useModal.d.ts +7 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.js +1 -1
- package/dist/plugins/modalPlugin.d.ts +0 -13
- package/dist/sprite.svg +1 -1
- package/dist/store/modal.d.ts +154 -9
- package/example/App.vue +123 -311
- package/example/MyCustomModal.vue +37 -0
- package/package.json +1 -1
- package/src/assets/icons/add.svg +4 -0
- package/src/assets/icons/arrow-up.svg +4 -0
- package/src/assets/icons/close-circle.svg +5 -0
- package/src/assets/icons/close.svg +4 -0
- package/src/assets/icons/document-text.svg +4 -0
- package/src/assets/icons/export.svg +5 -0
- package/src/assets/icons/gallery.svg +5 -0
- package/src/assets/icons/notification-icon.svg +7 -0
- package/src/assets/icons/search-zoom-in.svg +6 -0
- package/src/assets/icons/trash.svg +7 -0
- package/src/assets/icons/upload.svg +5 -0
- package/src/components/BaseBadge/BaseBadge.vue +188 -0
- package/src/components/BaseBadge/BaseBadgeGroup.vue +120 -0
- package/src/components/BaseBadge/README.md +127 -0
- package/src/components/BaseBreadCrumbs/BaseBreadCrumbs.vue +2 -1
- package/src/components/BaseButton/BaseButton.vue +0 -112
- package/src/components/BaseInput/BaseInput.vue +4 -3
- package/src/components/BaseModal/BaseModal.vue +189 -0
- package/src/components/BaseTag/BaseTag.vue +245 -0
- package/src/components/BaseTag/README.md +125 -0
- package/src/components/BaseTextarea/BaseTextarea.vue +7 -14
- package/src/components/BaseUpload/BaseUpload.vue +392 -0
- package/src/components/BaseUpload/ImageModal.vue +25 -0
- package/src/composables/useModal.ts +14 -0
- package/src/index.ts +32 -19
- package/src/plugins/modalPlugin.ts +92 -76
- package/src/store/modal.ts +39 -16
- package/src/styles/root.scss +1 -0
- package/src/types/badge.d.ts +19 -0
- package/src/types/modal.d.ts +8 -0
- package/src/types/tag.d.ts +14 -0
- package/src/types/uploadedFile.d.ts +13 -0
- package/src/types/utils.d.ts +1 -1
- package/dist/types/index.d.ts +0 -5
- package/src/components/Modal/Modal.vue +0 -149
- package/src/components/Modal/README.md +0 -47
- package/src/types/index.ts +0 -7
package/example/App.vue
CHANGED
|
@@ -2,40 +2,111 @@
|
|
|
2
2
|
<div class="demo-page">
|
|
3
3
|
<h1>Plugin UI KZT - Компоненты</h1>
|
|
4
4
|
<p>Ниже представлены все компоненты библиотеки с примерами их использования.</p>
|
|
5
|
-
|
|
6
5
|
<section>
|
|
7
|
-
<h2>
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
6
|
+
<h2>BaseTag.vue</h2>
|
|
7
|
+
<div style="display: flex;
|
|
8
|
+
gap: 8px;
|
|
9
|
+
align-items: center;">
|
|
10
|
+
<base-tag size="extra-small" text="base tag" />
|
|
11
|
+
<base-tag size="small" color="secondary" text="base tag secondary" />
|
|
12
|
+
<base-tag
|
|
13
|
+
text="base tag"
|
|
14
|
+
size="medium"
|
|
15
|
+
closable
|
|
16
|
+
@close="console.log('Tag closed')"
|
|
17
|
+
/>
|
|
18
|
+
<base-tag
|
|
19
|
+
text="base tag"
|
|
20
|
+
size="large"
|
|
21
|
+
addingTag
|
|
22
|
+
@addTag="console.log('New tag added:')"
|
|
23
|
+
/>
|
|
24
|
+
<base-tag
|
|
25
|
+
isHasAddTag
|
|
26
|
+
@updateInput="console.log(' tag added:', $event)"
|
|
27
|
+
/>
|
|
28
|
+
</div>
|
|
29
|
+
</section>
|
|
30
|
+
<section>
|
|
31
|
+
<h2>BaseBadgeGroup.vue</h2>
|
|
32
|
+
|
|
33
|
+
<base-badge-group
|
|
34
|
+
size="medium"
|
|
35
|
+
color="primary"
|
|
36
|
+
badge-position="right"
|
|
37
|
+
>
|
|
38
|
+
<template #badge-text-container>
|
|
39
|
+
New feature
|
|
40
|
+
</template>
|
|
41
|
+
<template #badge-text>
|
|
42
|
+
We’ve just released a new feature
|
|
43
|
+
</template>
|
|
44
|
+
</base-badge-group>
|
|
45
|
+
<base-badge-group
|
|
46
|
+
size="large"
|
|
47
|
+
color="gray"
|
|
48
|
+
arrowRightIcon
|
|
49
|
+
>
|
|
50
|
+
<template #badge-text-container>
|
|
51
|
+
New feature
|
|
52
|
+
</template>
|
|
53
|
+
<template #badge-text>
|
|
54
|
+
We’ve just released a new feature
|
|
55
|
+
</template>
|
|
56
|
+
</base-badge-group>
|
|
57
|
+
</section>
|
|
58
|
+
<section>
|
|
59
|
+
<h2>BaseBadge.vue</h2>
|
|
60
|
+
<base-badge
|
|
61
|
+
size="extra-small"
|
|
62
|
+
color="primary"
|
|
63
|
+
class="badge-example"
|
|
64
|
+
closable
|
|
65
|
+
>
|
|
66
|
+
<template #text>Пример бейджа</template>
|
|
67
|
+
</base-badge>
|
|
68
|
+
<base-badge
|
|
69
|
+
size="small"
|
|
70
|
+
color="gray"
|
|
71
|
+
class="badge-example"
|
|
72
|
+
has-dot
|
|
73
|
+
>
|
|
74
|
+
<template #text>Пример бейджа</template>
|
|
75
|
+
</base-badge>
|
|
76
|
+
<base-badge
|
|
77
|
+
size="medium"
|
|
78
|
+
color="error"
|
|
79
|
+
class="badge-example"
|
|
80
|
+
arrow-up-icon
|
|
81
|
+
>
|
|
82
|
+
<template #text>Пример бейджа</template>
|
|
83
|
+
</base-badge>
|
|
84
|
+
<base-badge
|
|
85
|
+
size="large"
|
|
86
|
+
color="warning"
|
|
87
|
+
class="badge-example"
|
|
88
|
+
arrow-right-icon
|
|
89
|
+
>
|
|
90
|
+
<template #text>Пример бейджа</template>
|
|
91
|
+
</base-badge>
|
|
92
|
+
<base-badge
|
|
93
|
+
size="large"
|
|
94
|
+
color="success"
|
|
95
|
+
class="badge-example"
|
|
96
|
+
>
|
|
97
|
+
<template #text>
|
|
98
|
+
<base-icon size="custom" name="help"></base-icon>
|
|
99
|
+
</template>
|
|
100
|
+
</base-badge>
|
|
101
|
+
</section>
|
|
31
102
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
103
|
+
<section>
|
|
104
|
+
<h2>BaseUpload.vue</h2>
|
|
105
|
+
<base-upload
|
|
106
|
+
:accepted-formats="accept"
|
|
107
|
+
>
|
|
108
|
+
<template #title>my title</template>
|
|
109
|
+
</base-upload>
|
|
39
110
|
</section>
|
|
40
111
|
|
|
41
112
|
<section>
|
|
@@ -51,297 +122,38 @@
|
|
|
51
122
|
/>
|
|
52
123
|
<!-- :autoplay="true"
|
|
53
124
|
:autoplay-interval="2000" -->
|
|
54
|
-
<p>Текущий слайд: {{ currentSlide }}</p>
|
|
55
125
|
</div>
|
|
126
|
+
<section>
|
|
127
|
+
medium size
|
|
128
|
+
<base-textarea class="text-area" size="medium" placeholder="test"></base-textarea>
|
|
129
|
+
</section>
|
|
56
130
|
</section>
|
|
57
|
-
|
|
58
|
-
<
|
|
59
|
-
|
|
60
|
-
<p>Компонент для отображения полей ввода валюты.</p>
|
|
61
|
-
<p>Пример использования:</p>
|
|
62
|
-
<base-input-currency
|
|
63
|
-
id="currency"
|
|
64
|
-
v-model="currencyModel"
|
|
65
|
-
size="large"
|
|
66
|
-
label="Currency Amount"
|
|
67
|
-
placeholder="0.00"
|
|
68
|
-
error="Invalid currency amount"
|
|
69
|
-
hint="Please enter a valid currency amount"
|
|
70
|
-
:tooltip-options="tooltipOptions"
|
|
71
|
-
/>
|
|
72
|
-
</section>
|
|
73
|
-
|
|
74
|
-
<section>
|
|
75
|
-
<h2>BaseIcon.vue</h2>
|
|
76
|
-
<p>Компонент для отображения иконок.</p>
|
|
77
|
-
<p>Пример использования:</p>
|
|
78
|
-
<base-icon name="loader" size="small"/>
|
|
79
|
-
<base-icon name="email-sms" size="medium"/>
|
|
80
|
-
<base-icon name="calendar" size="small"/>
|
|
81
|
-
</section>
|
|
82
|
-
|
|
83
|
-
<section>
|
|
84
|
-
<h2>BaseSiteInput.vue</h2>
|
|
85
|
-
<base-site-input
|
|
86
|
-
v-model="siteModel"
|
|
87
|
-
size="small"
|
|
88
|
-
label="Site"
|
|
89
|
-
hint="Please enter site"
|
|
90
|
-
validation-text="validationText"
|
|
91
|
-
/>
|
|
92
|
-
</section>
|
|
93
|
-
|
|
94
|
-
<section>
|
|
95
|
-
<h2>BaseBreadCrumbs.vue</h2>
|
|
96
|
-
<p>Компонент для отображения хлебных крошек.</p>
|
|
97
|
-
<p>Пример использования:</p>
|
|
98
|
-
<base-bread-crumbs :crumbs="[
|
|
99
|
-
{ label: 'Home', to: '/' },
|
|
100
|
-
{ label: 'Products', to: '/products' },
|
|
101
|
-
{ label: 'Electronics', to: '/electronics' },
|
|
102
|
-
{ label: 'Laptops', to: '/laptops' },
|
|
103
|
-
{ label: 'Gaming Laptops', to: '/laptops/gaming' },
|
|
104
|
-
]"/>
|
|
105
|
-
</section>
|
|
106
|
-
|
|
107
|
-
<section>
|
|
108
|
-
<h2>BaseLoader.vue</h2>
|
|
109
|
-
<p>Компонент для отображения индикатора загрузки.</p>
|
|
110
|
-
<p>Пример использования:</p>
|
|
111
|
-
<base-loader/>
|
|
112
|
-
</section>
|
|
113
|
-
|
|
114
|
-
<section>
|
|
115
|
-
<h2>BaseButton.vue</h2>
|
|
116
|
-
<p>Компонент для отображения кнопок.</p>
|
|
117
|
-
<p>Пример использования:</p>
|
|
118
|
-
<base-button>Click Me</base-button>
|
|
119
|
-
</section>
|
|
120
|
-
|
|
121
|
-
<section>
|
|
122
|
-
<h2>BaseCheckbox.vue</h2>
|
|
123
|
-
<p>Компонент для отображения чекбоксов.</p>
|
|
124
|
-
<p>Пример использования:</p>
|
|
125
|
-
<base-checkbox id="check" v-model="checkboxModel" label="Accept Terms"/>
|
|
126
|
-
</section>
|
|
127
|
-
|
|
128
|
-
<section>
|
|
129
|
-
<h2>BaseRadio.vue</h2>
|
|
130
|
-
<p>Компонент для отображения радиокнопок.</p>
|
|
131
|
-
<p>Пример использования:</p>
|
|
132
|
-
<base-radio id="radio1" v-model="radioModel" label="Option 1"/>
|
|
133
|
-
</section>
|
|
134
|
-
|
|
135
|
-
<section>
|
|
136
|
-
<h2>BaseTextarea.vue</h2>
|
|
137
|
-
<p>Компонент для отображения текстовых областей.</p>
|
|
138
|
-
<p>Пример использования:</p>
|
|
139
|
-
<base-textarea
|
|
140
|
-
id="textarea"
|
|
141
|
-
v-model="textAreaModel"
|
|
142
|
-
label="Enter text here"
|
|
143
|
-
size="large"
|
|
144
|
-
/>
|
|
145
|
-
</section>
|
|
146
|
-
|
|
147
|
-
<section>
|
|
148
|
-
<h2>BaseToggle.vue</h2>
|
|
149
|
-
<p>Компонент для отображения переключателей.</p>
|
|
150
|
-
<p>Пример использования:</p>
|
|
151
|
-
<base-toggle id="toggle" v-model="toggleModel" label="Enable feature"/>
|
|
152
|
-
</section>
|
|
153
|
-
|
|
154
|
-
<section>
|
|
155
|
-
<h2>BaseTooltip.vue</h2>
|
|
156
|
-
<p>Компонент для отображения подсказок.</p>
|
|
157
|
-
<p>Пример использования:</p>
|
|
158
|
-
<base-tooltip
|
|
159
|
-
title="This is a tooltip"
|
|
160
|
-
:content="contentTooltip"
|
|
161
|
-
position="right"
|
|
162
|
-
trigger="click"
|
|
163
|
-
theme="light"
|
|
164
|
-
>
|
|
165
|
-
<template #trigger>
|
|
166
|
-
<base-button>Hover me</base-button>
|
|
167
|
-
</template>
|
|
168
|
-
</base-tooltip>
|
|
169
|
-
</section>
|
|
170
|
-
|
|
171
|
-
<section>
|
|
172
|
-
<h2>BaseInput.vue</h2>
|
|
173
|
-
<p>Компонент для отображения текстовых полей.</p>
|
|
174
|
-
<p>Пример использования:</p>
|
|
175
|
-
<base-input id="input" v-model="inputModel" label="Enter text here"/>
|
|
176
|
-
</section>
|
|
177
|
-
|
|
178
|
-
<section>
|
|
179
|
-
<h2>BaseInputEmail.vue</h2>
|
|
180
|
-
<p>Компонент для отображения полей ввода электронной почты.</p>
|
|
181
|
-
<p>Пример использования:</p>
|
|
182
|
-
<base-input-email
|
|
183
|
-
id="email"
|
|
184
|
-
v-model="emailModel"
|
|
185
|
-
label="Enter email here"
|
|
186
|
-
size="medium"
|
|
187
|
-
:tooltip-options="tooltipOptions"
|
|
188
|
-
validation-text="validationText Email"
|
|
189
|
-
>
|
|
190
|
-
<template>
|
|
191
|
-
<!-- // #[right-icon]-->
|
|
192
|
-
<base-icon name="calendar" size="medium"/>
|
|
193
|
-
</template>
|
|
194
|
-
</base-input-email>
|
|
195
|
-
</section>
|
|
196
|
-
|
|
197
|
-
<section>
|
|
198
|
-
<h2>BaseInputCalendar.vue</h2>
|
|
199
|
-
<p>Компонент для отображения полей ввода даты.</p>
|
|
200
|
-
<p>Пример использования:</p>
|
|
201
|
-
<base-input-calendar
|
|
202
|
-
id="calendar"
|
|
203
|
-
v-model="calendarModel"
|
|
204
|
-
label="Select date here"
|
|
205
|
-
size="medium"
|
|
206
|
-
placeholder="Select date"
|
|
207
|
-
:min-date="new Date()"
|
|
208
|
-
/>
|
|
131
|
+
<section style="height: 300px;">
|
|
132
|
+
<p></p>
|
|
133
|
+
<base-textarea class="text-area" size="custom" placeholder="test"></base-textarea>
|
|
209
134
|
</section>
|
|
210
135
|
|
|
211
136
|
<section>
|
|
212
|
-
<
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
<base-opened-list-item
|
|
216
|
-
id="list-item"
|
|
217
|
-
label="List Item"
|
|
218
|
-
active
|
|
219
|
-
>
|
|
220
|
-
<template #icon>
|
|
221
|
-
<base-icon name="email-sms"/>
|
|
222
|
-
</template>
|
|
223
|
-
<p>This is the content of the opened list item.</p>
|
|
224
|
-
</base-opened-list-item>
|
|
225
|
-
</section>
|
|
226
|
-
|
|
227
|
-
<section>
|
|
228
|
-
<h2>BaseDropdown.vue</h2>
|
|
229
|
-
<p>Компонент для отображения выпадающих списков.</p>
|
|
230
|
-
<p>Пример использования:</p>
|
|
231
|
-
<base-dropdown
|
|
232
|
-
id="dropdown"
|
|
233
|
-
v-model="dropdownModel"
|
|
234
|
-
label="Select an option"
|
|
235
|
-
auto-close
|
|
236
|
-
:options="[
|
|
237
|
-
{ label: 'Option 1', value: 'option1' },
|
|
238
|
-
{ label: 'Option 2', value: 'option2' },
|
|
239
|
-
{ label: 'Option 3', value: 'option3' },
|
|
240
|
-
]"
|
|
241
|
-
>
|
|
242
|
-
<template #top>
|
|
243
|
-
<base-button>Open Dropdown</base-button>
|
|
244
|
-
</template>
|
|
245
|
-
<template #dropdown>
|
|
246
|
-
<base-opened-list-item v-for="item in itemsDropdown" :key="item.text">
|
|
247
|
-
<template #icon>
|
|
248
|
-
<base-icon :name="item.name" size="medium"/>
|
|
249
|
-
</template>
|
|
250
|
-
{{ item.text }}
|
|
251
|
-
</base-opened-list-item>
|
|
252
|
-
</template>
|
|
253
|
-
</base-dropdown>
|
|
254
|
-
</section>
|
|
255
|
-
|
|
256
|
-
<section>
|
|
257
|
-
<h2>BaseSelect.vue</h2>
|
|
258
|
-
<p>Компонент для отображения выпадающих списков с выбором.</p>
|
|
259
|
-
<p>Пример использования:</p>
|
|
260
|
-
<base-select
|
|
261
|
-
id="select"
|
|
262
|
-
v-model="selectedOption"
|
|
263
|
-
:options="[
|
|
264
|
-
{ id: 1, name: 'Option 1', value: 'option1', label: 'Option 1' },
|
|
265
|
-
{ id: 2, name: 'Option 2', value: 'option2', label: 'Option 2' },
|
|
266
|
-
{ id: 3, name: 'Option 3', value: 'option3', label: 'Option 3', disabled: true },
|
|
267
|
-
{ id: 4, name: 'Option 4', value: 'option4', label: 'Option 4' },
|
|
268
|
-
{ id: 5, name: 'Option 5', value: 'option5', label: 'Option 5' },
|
|
269
|
-
{ id: 6, name: 'Option 6', value: 'option6', label: 'Option 6' },
|
|
270
|
-
{ id: 7, name: 'Option 7', value: 'option7', label: 'Option 7' },
|
|
271
|
-
{ id: 8, name: 'Option 8', value: 'option8', label: 'Option 8' },
|
|
272
|
-
{ id: 9, name: 'Option 9', value: 'option9', label: 'Option 9' },
|
|
273
|
-
{ id: 10, name: 'Option 10', value: 'option10', label: 'Option 10' },
|
|
274
|
-
{ id: 11, name: 'Option 11', value: 'option11', label: 'Option 11' },
|
|
275
|
-
{ id: 12, name: 'Option 12', value: 'option12', label: 'Option 12' },
|
|
276
|
-
{ id: 13, name: 'Option 13', value: 'option13', label: 'Option 13' },
|
|
277
|
-
{ id: 14, name: 'Option 14', value: 'option14', label: 'Option 14' },
|
|
278
|
-
{ id: 15, name: 'Option 15', value: 'option15', label: 'Option 15' },
|
|
279
|
-
]"
|
|
280
|
-
label="Выберите опцию"
|
|
281
|
-
hint="Подсказка"
|
|
282
|
-
error=""
|
|
283
|
-
placeholder="Выберите текст"
|
|
284
|
-
size="small"
|
|
285
|
-
>
|
|
286
|
-
<template #headerIcon>
|
|
287
|
-
<base-icon
|
|
288
|
-
name="email"
|
|
289
|
-
size="small"
|
|
290
|
-
/>
|
|
291
|
-
</template>
|
|
292
|
-
<template #iconItem>
|
|
293
|
-
<base-icon
|
|
294
|
-
name="email"
|
|
295
|
-
size="small"
|
|
296
|
-
/>
|
|
297
|
-
</template>
|
|
298
|
-
</base-select>
|
|
137
|
+
<div>
|
|
138
|
+
<base-button @click="openModal">Открыть модал</base-button>
|
|
139
|
+
</div>
|
|
299
140
|
</section>
|
|
300
|
-
|
|
301
141
|
</div>
|
|
302
142
|
</template>
|
|
303
143
|
<script setup lang="ts">
|
|
304
|
-
import {ref} from 'vue';
|
|
144
|
+
import { ref } from 'vue';
|
|
145
|
+
import { useModal } from '../src/composables/useModal';
|
|
146
|
+
import MyCustomModal from './MyCustomModal.vue';
|
|
147
|
+
|
|
148
|
+
const accept = ['image/*']
|
|
149
|
+
|
|
150
|
+
const modal = useModal();
|
|
305
151
|
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
const toggleModel = ref(false);
|
|
310
|
-
const inputModel = ref('');
|
|
311
|
-
const emailModel = ref('');
|
|
312
|
-
const selectedOption = ref('option1');
|
|
313
|
-
const siteModel = ref('');
|
|
314
|
-
const phoneModel = ref('');
|
|
315
|
-
const currencyModel = ref('');
|
|
316
|
-
const selectedOptionButton = ref('1');
|
|
317
|
-
const tooltipOptions = ref({
|
|
318
|
-
title: 'Tooltip Title',
|
|
319
|
-
content: 'This is a tooltip content.',
|
|
320
|
-
position: 'top',
|
|
321
|
-
trigger: 'hover',
|
|
322
|
-
theme: 'light',
|
|
323
|
-
});
|
|
152
|
+
const openModal = () => {
|
|
153
|
+
modal.open('myModal', { closable: true }, MyCustomModal);
|
|
154
|
+
};
|
|
324
155
|
|
|
325
|
-
const itemsDropdown = ref([
|
|
326
|
-
{name: 'email-sms', text: 'Clipboard Item'},
|
|
327
|
-
{name: 'help', text: 'Clipboard Item 2'},
|
|
328
|
-
{name: 'loader', text: 'Clipboard Item 32'},
|
|
329
|
-
{name: 'loader', text: 'Clipboard Item 33'},
|
|
330
|
-
{name: 'loader', text: 'Clipboard Item 34'},
|
|
331
|
-
{name: 'loader', text: 'Clipboard Item 35'},
|
|
332
|
-
{name: 'loader', text: 'Clipboard Item 31'},
|
|
333
|
-
{name: 'loader', text: 'Clipboard Item 323'},
|
|
334
|
-
{name: 'loader', text: 'Clipboard Item 351'},
|
|
335
|
-
{name: 'loader', text: 'Clipboard Item 3124'},
|
|
336
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
337
|
-
{name: 'loader', text: 'Clipboard Item 3521'},
|
|
338
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
339
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
340
|
-
]);
|
|
341
|
-
const calendarModel = ref('');
|
|
342
156
|
const currentSlide = ref(0);
|
|
343
|
-
const dropdownModel = ref(false);
|
|
344
|
-
const contentTooltip = ref('<p>Test lorem ipsum asd asdd dasda text lorem ipsum dolor sit amet.</p>');
|
|
345
157
|
</script>
|
|
346
158
|
|
|
347
159
|
<style lang="scss" scoped>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<h2>Моя модалка с картинкой</h2>
|
|
4
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
5
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
6
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
7
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
8
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
9
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
10
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
11
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
12
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
13
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
14
|
+
<p>Это содержимое моей модалки с изображением!</p>
|
|
15
|
+
<img src="https://i.pinimg.com/736x/90/71/bc/9071bcfb179dafd923d0f90653338ea1.jpg" alt="Пример изображения" style="max-width: 100%; height: auto;" />
|
|
16
|
+
<base-button @click="closeModal">Закрыть</base-button>
|
|
17
|
+
</div>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script setup lang="ts">
|
|
21
|
+
import { defineProps, defineEmits } from 'vue';
|
|
22
|
+
import BaseButton from '../src/components/BaseButton/BaseButton.vue';
|
|
23
|
+
import type { ICoreModalProps } from '../src/types/modal';
|
|
24
|
+
|
|
25
|
+
const props = defineProps<{
|
|
26
|
+
modalProps: ICoreModalProps;
|
|
27
|
+
}>();
|
|
28
|
+
|
|
29
|
+
const emit = defineEmits(['close']);
|
|
30
|
+
|
|
31
|
+
const closeModal = () => {
|
|
32
|
+
emit('close');
|
|
33
|
+
if (props.modalProps.closable) {
|
|
34
|
+
// Можно добавить логику закрытия через useModal, если нужно
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
</script>
|
package/package.json
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M3.33337 8H12.6667" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M8 12.6667V3.33337" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M15.0581 7.97499L9.99974 2.91666L4.94141 7.97499" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M10 17.0833V3.05832" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="48" height="48" rx="24" fill="#F2F4F7"/>
|
|
3
|
+
<path d="M15.9988 32.0005L32 15.9993" stroke="#475467" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M32 32.0007L15.9988 15.9995" stroke="#475467" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M4.99927 15.0003L15 4.99958" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M15 15.0004L4.99927 4.99966" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M15.7999 2.20999C15.3899 1.79999 14.6799 2.07999 14.6799 2.64999V6.13999C14.6799 7.59999 15.9199 8.80999 17.4299 8.80999C18.3799 8.81999 19.6999 8.81999 20.8299 8.81999C21.3999 8.81999 21.6999 8.14999 21.2999 7.74999C19.8599 6.29999 17.2799 3.68999 15.7999 2.20999Z" fill="#1AA0DB"/>
|
|
3
|
+
<path d="M20.5 10.19H17.61C15.24 10.19 13.31 8.26 13.31 5.89V3C13.31 2.45 12.86 2 12.31 2H8.07C4.99 2 2.5 4 2.5 7.57V16.43C2.5 20 4.99 22 8.07 22H15.93C19.01 22 21.5 20 21.5 16.43V11.19C21.5 10.64 21.05 10.19 20.5 10.19ZM11.5 17.75H7.5C7.09 17.75 6.75 17.41 6.75 17C6.75 16.59 7.09 16.25 7.5 16.25H11.5C11.91 16.25 12.25 16.59 12.25 17C12.25 17.41 11.91 17.75 11.5 17.75ZM13.5 13.75H7.5C7.09 13.75 6.75 13.41 6.75 13C6.75 12.59 7.09 12.25 7.5 12.25H13.5C13.91 12.25 14.25 12.59 14.25 13C14.25 13.41 13.91 13.75 13.5 13.75Z" fill="#1AA0DB"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M9.32031 6.49994L11.8803 3.93994L14.4403 6.49994" stroke="#0096D7" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M11.8809 14.1798V4.00977" stroke="#0096D7" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M4 12C4 16.42 7 20 12 20C17 20 20 16.42 20 12" stroke="#0096D7" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M9 22H15C20 22 22 20 22 15V9C22 4 20 2 15 2H9C4 2 2 4 2 9V15C2 20 4 22 9 22Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M9 10C10.1046 10 11 9.10457 11 8C11 6.89543 10.1046 6 9 6C7.89543 6 7 6.89543 7 8C7 9.10457 7.89543 10 9 10Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M2.66992 18.95L7.59992 15.64C8.38992 15.11 9.52992 15.17 10.2399 15.78L10.5699 16.07C11.3499 16.74 12.6099 16.74 13.3899 16.07L17.5499 12.5C18.3299 11.83 19.5899 11.83 20.3699 12.5L21.9999 13.9" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
|
|
2
|
+
<svg viewBox="0 0 84 84" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<rect x="4" y="4" width="76" height="76" rx="38" fill="#D1FADF"/>
|
|
4
|
+
<rect x="4" y="4" width="76" height="76" rx="38" stroke="#ECFDF3" stroke-width="8"/>
|
|
5
|
+
<path d="M42 59.5C51.625 59.5 59.5 51.625 59.5 42C59.5 32.375 51.625 24.5 42 24.5C32.375 24.5 24.5 32.375 24.5 42C24.5 51.625 32.375 59.5 42 59.5Z" stroke="#12B76A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M34.5625 42L39.515 46.9525L49.4375 37.0475" stroke="#12B76A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M7.66675 9.75H11.8334" stroke="#0096D7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M9.75 11.8334V7.66669" stroke="#0096D7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M9.58341 17.5C13.9557 17.5 17.5001 13.9556 17.5001 9.58335C17.5001 5.2111 13.9557 1.66669 9.58341 1.66669C5.21116 1.66669 1.66675 5.2111 1.66675 9.58335C1.66675 13.9556 5.21116 17.5 9.58341 17.5Z" stroke="#0096D7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M18.3334 18.3334L16.6667 16.6667" stroke="#0096D7" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M17.5 4.98332C14.725 4.70832 11.9333 4.56665 9.15 4.56665C7.5 4.56665 5.85 4.64998 4.2 4.81665L2.5 4.98332" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M7.08325 4.14169L7.26659 3.05002C7.39992 2.25835 7.49992 1.66669 8.90825 1.66669H11.0916C12.4999 1.66669 12.6083 2.29169 12.7333 3.05835L12.9166 4.14169" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M15.7087 7.61676L15.167 16.0084C15.0753 17.3168 15.0003 18.3334 12.6753 18.3334H7.32533C5.00033 18.3334 4.92533 17.3168 4.83366 16.0084L4.29199 7.61676" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<path d="M8.6084 13.75H11.3834" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
6
|
+
<path d="M7.91675 10.4167H12.0834" stroke="#F04438" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M12.4271 15.5735L15.8404 18.9869L19.2538 15.5735" stroke="#667085" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M15.8412 5.33331V18.8933" stroke="#667085" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M26.6667 16.24C26.6667 22.1333 22.6667 26.9067 16 26.9067C9.33334 26.9067 5.33334 22.1333 5.33334 16.24" stroke="#667085" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|