plugin-ui-for-kzt 0.0.16 → 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 +3 -3
- package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +4 -4
- package/dist/components/BaseChips/BaseChips.vue.d.ts +27 -0
- package/dist/components/BaseDropdown/BaseDropdown.vue.d.ts +3 -3
- package/dist/components/BaseInput/BaseInput.vue.d.ts +5 -5
- package/dist/components/BaseInputCalendar/BaseInputCalendar.vue.d.ts +5 -5
- package/dist/components/BaseInputCurrency/BaseInputCurrency.vue.d.ts +5 -5
- package/dist/components/BaseInputEmail/BaseInputEmail.vue.d.ts +5 -5
- package/dist/components/BaseInputPhone/BaseInputPhone.vue.d.ts +5 -5
- package/dist/components/BaseModal/BaseModal.vue.d.ts +4 -0
- package/dist/components/BaseOpenedListItem/BaseOpenedListItem.vue.d.ts +3 -3
- package/dist/components/BasePagination/BasePagination.vue.d.ts +1 -1
- package/dist/components/BaseRadio/BaseRadio.vue.d.ts +4 -4
- package/dist/components/BaseSegmentedButtons/BaseSegmentedButtons.vue.d.ts +3 -3
- package/dist/components/BaseSelect/BaseSelect.vue.d.ts +4 -4
- package/dist/components/BaseSiteInput/BaseSiteInput.vue.d.ts +1 -1
- package/dist/components/BaseSwiper/BaseSwiper.vue.d.ts +57 -0
- package/dist/components/BaseTag/BaseTag.vue.d.ts +61 -0
- package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +5 -5
- package/dist/components/BaseToggle/BaseToggle.vue.d.ts +4 -4
- 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 +4 -4
- package/dist/composables/useModal.d.ts +7 -0
- package/dist/index.d.ts +9 -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 +129 -295
- package/example/MyCustomModal.vue +37 -0
- package/package.json +1 -1
- package/src/assets/icons/add.svg +4 -0
- package/src/assets/icons/arrow-left-circle.svg +3 -0
- package/src/assets/icons/arrow-right-circle.svg +3 -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/star.svg +3 -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 +3 -3
- package/src/components/BaseButton/BaseButton.vue +29 -122
- package/src/components/BaseChips/BaseChips.vue +182 -0
- package/src/components/BaseChips/README.md +64 -0
- package/src/components/BaseInput/BaseInput.vue +5 -3
- package/src/components/BaseModal/BaseModal.vue +189 -0
- package/src/components/BaseOpenedListItem/BaseOpenedListItem.vue +4 -4
- package/src/components/BasePagination/BasePagination.vue +146 -123
- package/src/components/BaseSiteInput/BaseSiteInput.vue +26 -9
- package/src/components/BaseSwiper/BaseSwiper.vue +229 -0
- package/src/components/BaseTag/BaseTag.vue +245 -0
- package/src/components/BaseTag/README.md +125 -0
- package/src/components/BaseTextarea/BaseTextarea.vue +8 -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 +38 -19
- package/src/plugins/modalPlugin.ts +92 -76
- package/src/store/modal.ts +39 -16
- package/src/styles/root.scss +3 -0
- package/src/types/badge.d.ts +19 -0
- package/src/types/chips.d.ts +10 -0
- package/src/types/modal.d.ts +8 -0
- package/src/types/pagination.d.ts +2 -2
- package/src/types/swiper.d.ts +17 -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,325 +2,158 @@
|
|
|
2
2
|
<div class="demo-page">
|
|
3
3
|
<h1>Plugin UI KZT - Компоненты</h1>
|
|
4
4
|
<p>Ниже представлены все компоненты библиотеки с примерами их использования.</p>
|
|
5
|
-
|
|
6
|
-
<section>
|
|
7
|
-
<h2>BaseInputPhone.vue</h2>
|
|
8
|
-
<p>Компонент для отображения полей ввода телефонных номеров.</p>
|
|
9
|
-
<p>Пример использования:</p>
|
|
10
|
-
<base-input-phone
|
|
11
|
-
id="phone"
|
|
12
|
-
v-model="phoneModel"
|
|
13
|
-
size="large"
|
|
14
|
-
label="Phone Number"
|
|
15
|
-
placeholder="Enter phone number"
|
|
16
|
-
error="Invalid phone number"
|
|
17
|
-
hint="Please enter a valid phone number"
|
|
18
|
-
:tooltip-options="tooltipOptions"
|
|
19
|
-
/>
|
|
20
|
-
</section>
|
|
21
|
-
|
|
22
|
-
<section>
|
|
23
|
-
<h2>BaseSegmentedButtons.vue</h2>
|
|
24
|
-
<p>Компонент для отображения сегментированных кнопок.</p>
|
|
25
|
-
<p>Пример использования:</p>
|
|
26
|
-
<base-segmented-buttons
|
|
27
|
-
id="segmented-buttons"
|
|
28
|
-
v-model="selectedOptionButton"
|
|
29
|
-
:options="[
|
|
30
|
-
{ value: '1', label: 'Option 1' },
|
|
31
|
-
{ value: '2', label: 'Option 2' },
|
|
32
|
-
{ value: '3', label: 'Option 3' }
|
|
33
|
-
]"
|
|
34
|
-
size="large"
|
|
35
|
-
/>
|
|
36
|
-
</section>
|
|
37
|
-
|
|
38
|
-
<section>
|
|
39
|
-
<h2>BaseInputCurrency.vue</h2>
|
|
40
|
-
<p>Компонент для отображения полей ввода валюты.</p>
|
|
41
|
-
<p>Пример использования:</p>
|
|
42
|
-
<base-input-currency
|
|
43
|
-
id="currency"
|
|
44
|
-
v-model="currencyModel"
|
|
45
|
-
size="large"
|
|
46
|
-
label="Currency Amount"
|
|
47
|
-
placeholder="0.00"
|
|
48
|
-
error="Invalid currency amount"
|
|
49
|
-
hint="Please enter a valid currency amount"
|
|
50
|
-
:tooltip-options="tooltipOptions"
|
|
51
|
-
/>
|
|
52
|
-
</section>
|
|
53
|
-
|
|
54
|
-
<section>
|
|
55
|
-
<h2>BaseIcon.vue</h2>
|
|
56
|
-
<p>Компонент для отображения иконок.</p>
|
|
57
|
-
<p>Пример использования:</p>
|
|
58
|
-
<base-icon name="loader" size="small"/>
|
|
59
|
-
<base-icon name="email-sms" size="medium"/>
|
|
60
|
-
<base-icon name="calendar" size="small"/>
|
|
61
|
-
</section>
|
|
62
|
-
|
|
63
|
-
<section>
|
|
64
|
-
<h2>BaseSiteInput.vue</h2>
|
|
65
|
-
<base-site-input
|
|
66
|
-
v-model="siteModel"
|
|
67
|
-
size="small"
|
|
68
|
-
label="Site"
|
|
69
|
-
hint="Please enter site"
|
|
70
|
-
validation-text="validationText"
|
|
71
|
-
/>
|
|
72
|
-
</section>
|
|
73
|
-
|
|
74
|
-
<section>
|
|
75
|
-
<h2>BaseBreadCrumbs.vue</h2>
|
|
76
|
-
<p>Компонент для отображения хлебных крошек.</p>
|
|
77
|
-
<p>Пример использования:</p>
|
|
78
|
-
<base-bread-crumbs :crumbs="[
|
|
79
|
-
{ label: 'Home', to: '/' },
|
|
80
|
-
{ label: 'Products', to: '/products' },
|
|
81
|
-
{ label: 'Electronics', to: '/electronics' },
|
|
82
|
-
{ label: 'Laptops', to: '/laptops' },
|
|
83
|
-
{ label: 'Gaming Laptops', to: '/laptops/gaming' },
|
|
84
|
-
]"/>
|
|
85
|
-
</section>
|
|
86
|
-
|
|
87
|
-
<section>
|
|
88
|
-
<h2>BaseLoader.vue</h2>
|
|
89
|
-
<p>Компонент для отображения индикатора загрузки.</p>
|
|
90
|
-
<p>Пример использования:</p>
|
|
91
|
-
<base-loader/>
|
|
92
|
-
</section>
|
|
93
|
-
|
|
94
|
-
<section>
|
|
95
|
-
<h2>BaseButton.vue</h2>
|
|
96
|
-
<p>Компонент для отображения кнопок.</p>
|
|
97
|
-
<p>Пример использования:</p>
|
|
98
|
-
<base-button>Click Me</base-button>
|
|
99
|
-
</section>
|
|
100
|
-
|
|
101
|
-
<section>
|
|
102
|
-
<h2>BaseCheckbox.vue</h2>
|
|
103
|
-
<p>Компонент для отображения чекбоксов.</p>
|
|
104
|
-
<p>Пример использования:</p>
|
|
105
|
-
<base-checkbox id="check" v-model="checkboxModel" label="Accept Terms"/>
|
|
106
|
-
</section>
|
|
107
|
-
|
|
108
|
-
<section>
|
|
109
|
-
<h2>BaseRadio.vue</h2>
|
|
110
|
-
<p>Компонент для отображения радиокнопок.</p>
|
|
111
|
-
<p>Пример использования:</p>
|
|
112
|
-
<base-radio id="radio1" v-model="radioModel" label="Option 1"/>
|
|
113
|
-
</section>
|
|
114
|
-
|
|
115
|
-
<section>
|
|
116
|
-
<h2>BaseTextarea.vue</h2>
|
|
117
|
-
<p>Компонент для отображения текстовых областей.</p>
|
|
118
|
-
<p>Пример использования:</p>
|
|
119
|
-
<base-textarea
|
|
120
|
-
id="textarea"
|
|
121
|
-
v-model="textAreaModel"
|
|
122
|
-
label="Enter text here"
|
|
123
|
-
size="large"
|
|
124
|
-
/>
|
|
125
|
-
</section>
|
|
126
|
-
|
|
127
|
-
<section>
|
|
128
|
-
<h2>BaseToggle.vue</h2>
|
|
129
|
-
<p>Компонент для отображения переключателей.</p>
|
|
130
|
-
<p>Пример использования:</p>
|
|
131
|
-
<base-toggle id="toggle" v-model="toggleModel" label="Enable feature"/>
|
|
132
|
-
</section>
|
|
133
|
-
|
|
134
5
|
<section>
|
|
135
|
-
<h2>
|
|
136
|
-
<
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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"
|
|
144
37
|
>
|
|
145
|
-
<template #
|
|
146
|
-
|
|
38
|
+
<template #badge-text-container>
|
|
39
|
+
New feature
|
|
147
40
|
</template>
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
<
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
</section>
|
|
157
|
-
|
|
158
|
-
<section>
|
|
159
|
-
<h2>BaseInputEmail.vue</h2>
|
|
160
|
-
<p>Компонент для отображения полей ввода электронной почты.</p>
|
|
161
|
-
<p>Пример использования:</p>
|
|
162
|
-
<base-input-email
|
|
163
|
-
id="email"
|
|
164
|
-
v-model="emailModel"
|
|
165
|
-
label="Enter email here"
|
|
166
|
-
size="medium"
|
|
167
|
-
:tooltip-options="tooltipOptions"
|
|
168
|
-
validation-text="validationText Email"
|
|
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
|
|
169
49
|
>
|
|
170
|
-
<template>
|
|
171
|
-
|
|
172
|
-
<base-icon name="calendar" size="medium"/>
|
|
50
|
+
<template #badge-text-container>
|
|
51
|
+
New feature
|
|
173
52
|
</template>
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
<h2>BaseInputCalendar.vue</h2>
|
|
179
|
-
<p>Компонент для отображения полей ввода даты.</p>
|
|
180
|
-
<p>Пример использования:</p>
|
|
181
|
-
<base-input-calendar
|
|
182
|
-
id="calendar"
|
|
183
|
-
v-model="calendarModel"
|
|
184
|
-
label="Select date here"
|
|
185
|
-
size="medium"
|
|
186
|
-
placeholder="Select date"
|
|
187
|
-
:min-date="new Date()"
|
|
188
|
-
/>
|
|
53
|
+
<template #badge-text>
|
|
54
|
+
We’ve just released a new feature
|
|
55
|
+
</template>
|
|
56
|
+
</base-badge-group>
|
|
189
57
|
</section>
|
|
190
|
-
|
|
191
58
|
<section>
|
|
192
|
-
<h2>
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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
|
|
199
89
|
>
|
|
200
|
-
<template #
|
|
201
|
-
|
|
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>
|
|
202
99
|
</template>
|
|
203
|
-
|
|
204
|
-
</base-opened-list-item>
|
|
100
|
+
</base-badge>
|
|
205
101
|
</section>
|
|
206
102
|
|
|
207
103
|
<section>
|
|
208
|
-
<h2>
|
|
209
|
-
<
|
|
210
|
-
|
|
211
|
-
<base-dropdown
|
|
212
|
-
id="dropdown"
|
|
213
|
-
v-model="dropdownModel"
|
|
214
|
-
label="Select an option"
|
|
215
|
-
auto-close
|
|
216
|
-
:options="[
|
|
217
|
-
{ label: 'Option 1', value: 'option1' },
|
|
218
|
-
{ label: 'Option 2', value: 'option2' },
|
|
219
|
-
{ label: 'Option 3', value: 'option3' },
|
|
220
|
-
]"
|
|
104
|
+
<h2>BaseUpload.vue</h2>
|
|
105
|
+
<base-upload
|
|
106
|
+
:accepted-formats="accept"
|
|
221
107
|
>
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
</template>
|
|
225
|
-
<template #dropdown>
|
|
226
|
-
<base-opened-list-item v-for="item in itemsDropdown" :key="item.text">
|
|
227
|
-
<template #icon>
|
|
228
|
-
<base-icon :name="item.name" size="medium"/>
|
|
229
|
-
</template>
|
|
230
|
-
{{ item.text }}
|
|
231
|
-
</base-opened-list-item>
|
|
232
|
-
</template>
|
|
233
|
-
</base-dropdown>
|
|
108
|
+
<template #title>my title</template>
|
|
109
|
+
</base-upload>
|
|
234
110
|
</section>
|
|
235
111
|
|
|
236
112
|
<section>
|
|
237
|
-
<
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
:options="[
|
|
244
|
-
{ id: 1, name: 'Option 1', value: 'option1', label: 'Option 1' },
|
|
245
|
-
{ id: 2, name: 'Option 2', value: 'option2', label: 'Option 2' },
|
|
246
|
-
{ id: 3, name: 'Option 3', value: 'option3', label: 'Option 3', disabled: true },
|
|
247
|
-
{ id: 4, name: 'Option 4', value: 'option4', label: 'Option 4' },
|
|
248
|
-
{ id: 5, name: 'Option 5', value: 'option5', label: 'Option 5' },
|
|
249
|
-
{ id: 6, name: 'Option 6', value: 'option6', label: 'Option 6' },
|
|
250
|
-
{ id: 7, name: 'Option 7', value: 'option7', label: 'Option 7' },
|
|
251
|
-
{ id: 8, name: 'Option 8', value: 'option8', label: 'Option 8' },
|
|
252
|
-
{ id: 9, name: 'Option 9', value: 'option9', label: 'Option 9' },
|
|
253
|
-
{ id: 10, name: 'Option 10', value: 'option10', label: 'Option 10' },
|
|
254
|
-
{ id: 11, name: 'Option 11', value: 'option11', label: 'Option 11' },
|
|
255
|
-
{ id: 12, name: 'Option 12', value: 'option12', label: 'Option 12' },
|
|
256
|
-
{ id: 13, name: 'Option 13', value: 'option13', label: 'Option 13' },
|
|
257
|
-
{ id: 14, name: 'Option 14', value: 'option14', label: 'Option 14' },
|
|
258
|
-
{ id: 15, name: 'Option 15', value: 'option15', label: 'Option 15' },
|
|
113
|
+
<div>
|
|
114
|
+
<base-swiper
|
|
115
|
+
:images="[
|
|
116
|
+
'https://i0.wp.com/vasilemovileanu.com/wp-content/uploads/2018/09/Autumn.-2001.-Oil-on-canvas-65-x-60-cm.jpg?fit=1231%2C1400&ssl=1',
|
|
117
|
+
'https://i.pinimg.com/originals/00/1b/7b/001b7bc4a4cd9132918accae2c7d5c23.png',
|
|
118
|
+
'https://i.pinimg.com/736x/90/71/bc/9071bcfb179dafd923d0f90653338ea1.jpg'
|
|
259
119
|
]"
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
name="email"
|
|
275
|
-
size="small"
|
|
276
|
-
/>
|
|
277
|
-
</template>
|
|
278
|
-
</base-select>
|
|
120
|
+
:paginationSettings="{ type: 'dotsWithBackground', color: 'primary' }"
|
|
121
|
+
v-model:current-slide="currentSlide"
|
|
122
|
+
/>
|
|
123
|
+
<!-- :autoplay="true"
|
|
124
|
+
:autoplay-interval="2000" -->
|
|
125
|
+
</div>
|
|
126
|
+
<section>
|
|
127
|
+
medium size
|
|
128
|
+
<base-textarea class="text-area" size="medium" placeholder="test"></base-textarea>
|
|
129
|
+
</section>
|
|
130
|
+
</section>
|
|
131
|
+
<section style="height: 300px;">
|
|
132
|
+
<p></p>
|
|
133
|
+
<base-textarea class="text-area" size="custom" placeholder="test"></base-textarea>
|
|
279
134
|
</section>
|
|
280
135
|
|
|
136
|
+
<section>
|
|
137
|
+
<div>
|
|
138
|
+
<base-button @click="openModal">Открыть модал</base-button>
|
|
139
|
+
</div>
|
|
140
|
+
</section>
|
|
281
141
|
</div>
|
|
282
142
|
</template>
|
|
283
143
|
<script setup lang="ts">
|
|
284
|
-
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();
|
|
285
151
|
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
const toggleModel = ref(false);
|
|
290
|
-
const inputModel = ref('');
|
|
291
|
-
const emailModel = ref('');
|
|
292
|
-
const selectedOption = ref('option1');
|
|
293
|
-
const siteModel = ref('');
|
|
294
|
-
const phoneModel = ref('');
|
|
295
|
-
const currencyModel = ref('');
|
|
296
|
-
const selectedOptionButton = ref('1');
|
|
297
|
-
const tooltipOptions = ref({
|
|
298
|
-
title: 'Tooltip Title',
|
|
299
|
-
content: 'This is a tooltip content.',
|
|
300
|
-
position: 'top',
|
|
301
|
-
trigger: 'hover',
|
|
302
|
-
theme: 'light',
|
|
303
|
-
});
|
|
152
|
+
const openModal = () => {
|
|
153
|
+
modal.open('myModal', { closable: true }, MyCustomModal);
|
|
154
|
+
};
|
|
304
155
|
|
|
305
|
-
const
|
|
306
|
-
{name: 'email-sms', text: 'Clipboard Item'},
|
|
307
|
-
{name: 'help', text: 'Clipboard Item 2'},
|
|
308
|
-
{name: 'loader', text: 'Clipboard Item 32'},
|
|
309
|
-
{name: 'loader', text: 'Clipboard Item 33'},
|
|
310
|
-
{name: 'loader', text: 'Clipboard Item 34'},
|
|
311
|
-
{name: 'loader', text: 'Clipboard Item 35'},
|
|
312
|
-
{name: 'loader', text: 'Clipboard Item 31'},
|
|
313
|
-
{name: 'loader', text: 'Clipboard Item 323'},
|
|
314
|
-
{name: 'loader', text: 'Clipboard Item 351'},
|
|
315
|
-
{name: 'loader', text: 'Clipboard Item 3124'},
|
|
316
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
317
|
-
{name: 'loader', text: 'Clipboard Item 3521'},
|
|
318
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
319
|
-
{name: 'loader', text: 'Clipboard Item 3512'},
|
|
320
|
-
]);
|
|
321
|
-
const calendarModel = ref('');
|
|
322
|
-
const dropdownModel = ref(false);
|
|
323
|
-
const contentTooltip = ref('<p>Test lorem ipsum asd asdd dasda text lorem ipsum dolor sit amet.</p>');
|
|
156
|
+
const currentSlide = ref(0);
|
|
324
157
|
</script>
|
|
325
158
|
|
|
326
159
|
<style lang="scss" scoped>
|
|
@@ -329,6 +162,7 @@ const contentTooltip = ref('<p>Test lorem ipsum asd asdd dasda text lorem ipsum
|
|
|
329
162
|
margin: 0 auto;
|
|
330
163
|
padding: 20px;
|
|
331
164
|
font-family: Arial, sans-serif;
|
|
165
|
+
background-color: cadetblue;
|
|
332
166
|
|
|
333
167
|
h1 {
|
|
334
168
|
color: #2c3e50;
|
|
@@ -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,3 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M12.5 16.6L7.0667 11.1667C6.42503 10.525 6.42503 9.47499 7.0667 8.83333L12.5 3.39999" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M7.42505 16.6L12.8584 11.1667C13.5 10.525 13.5 9.47499 12.8584 8.83333L7.42505 3.39999" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
</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,3 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M18.3067 4.68002L20.6533 9.37335C20.9733 10.0267 21.8267 10.6534 22.5467 10.7734L26.8 11.48C29.52 11.9334 30.16 13.9067 28.2 15.8534L24.8933 19.16C24.3333 19.72 24.0267 20.8 24.2 21.5734L25.1467 25.6667C25.8933 28.9067 24.1733 30.16 21.3067 28.4667L17.32 26.1067C16.6 25.68 15.4133 25.68 14.68 26.1067L10.6933 28.4667C7.84 30.16 6.10667 28.8934 6.85333 25.6667L7.8 21.5734C7.97333 20.8 7.66667 19.72 7.10667 19.16L3.8 15.8534C1.85333 13.9067 2.48 11.9334 5.2 11.48L9.45333 10.7734C10.16 10.6534 11.0133 10.0267 11.3333 9.37335L13.68 4.68002C14.96 2.13335 17.04 2.13335 18.3067 4.68002Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
</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>
|