@studio-west/component-sw 0.9.0 → 0.9.2

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/README.md CHANGED
@@ -88,16 +88,15 @@ const darkMode = () => {
88
88
 
89
89
  ### Свойства / Properties
90
90
 
91
-
92
- | Имя | Тип | Значения/Описание |
93
- |------------|----------|-----------------------------------------------------------------------------|
94
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
95
- | `size` | `String` | Размер сообщения: `'large'`, `'small'`. |
96
- | `type` | `String` | Тип сообщения: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
97
- | `message` | `String` | Само сообщение. |
98
- | `duration` | `Number` | Время отображения в миллисекундах. |
99
- | `before` | `String` | Название svg в спрайте загружаемое в начале. |
100
- | `after` | `String` | Название svg в спрайте загружаемое в конце (кнопка закрыть). |
91
+ | Имя | Тип | по умолчанию | Значения/Описание |
92
+ |------------|----------|-------------------|-----------------------------------------------------------------------------|
93
+ | `class` | `String` | `sw-alert` | Добавляет пользовательский CSS-класс к компоненту. |
94
+ | `size` | `String` | `` | Размер сообщения: `'large'`, `'small'`. |
95
+ | `type` | `String` | `info` | Тип сообщения: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
96
+ | `message` | `String` | `Default message` | Само сообщение. |
97
+ | `duration` | `Number` | `6000` | Время отображения в миллисекундах. |
98
+ | `before` | `String` | `` | Название svg в спрайте загружаемое в начале. |
99
+ | `after` | `String` | `` | Название svg в спрайте загружаемое в конце (кнопка закрыть). |
101
100
 
102
101
  ### Слоты / Slots
103
102
 
@@ -130,15 +129,15 @@ this.$Alert({message: 'Welcome!', type: 'success', prefix: 'Дополнител
130
129
 
131
130
  ### Свойства / Properties
132
131
 
133
- | Имя | Тип | Значения/Описание |
134
- |---------|-----------|--------------------------------------------------------------------------------|
135
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
136
- | `size` | `String` | Размер кнопки: `'large'`, `'small'`. |
137
- | `type` | `String` | Тип кнопки: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
138
- | `round` | `Boolean` | Делает кнопку визуально закругленной. |
139
- | `text` | `Boolean` | Делает кнопку визуально похожей на текст (без фона только граница). |
140
- | `link` | `Boolean` | Преобразует кнопку в ссылку(без фона и границ). |
141
- | `href` | `String` | URL, на который будет перенаправлен пользователь при клике (если `link=true`). |
132
+ | Имя | Тип | по умолчанию | Значения/Описание |
133
+ |---------|-----------|--------------|--------------------------------------------------------------------------------|
134
+ | `class` | `String` | `sw-button` | Добавляет пользовательский CSS-класс к компоненту. |
135
+ | `size` | `String` | `` | Размер кнопки: `'large'`, `'small'`. |
136
+ | `type` | `String` | `info` | Тип кнопки: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
137
+ | `round` | `Boolean` | `false` | Делает кнопку визуально закругленной. |
138
+ | `text` | `Boolean` | `false` | Делает кнопку визуально похожей на текст (без фона только граница). |
139
+ | `link` | `Boolean` | `false` | Преобразует кнопку в ссылку(без фона и границ). |
140
+ | `href` | `String` | `` | URL, на который будет перенаправлен пользователь при клике (если `link=true`). |
142
141
 
143
142
  ### Пример использования / Example Usage
144
143
 
@@ -163,9 +162,9 @@ this.$Alert({message: 'Welcome!', type: 'success', prefix: 'Дополнител
163
162
 
164
163
  ### Свойства / Properties
165
164
 
166
- | Имя | Тип | Значения/Описание |
167
- |----------|-----------|-------------------------------------|
168
- | `visual` | `Boolean` | Видимость `'true'` - по умолчанию. |
165
+ | Имя | Тип | По умолчанию | Значения/Описание |
166
+ |----------|-----------|--------------|-----------------------|
167
+ | `visual` | `Boolean` | `true` | Видимость |
169
168
 
170
169
  ### Слоты / Slots
171
170
 
@@ -186,11 +185,11 @@ Default - Контент для скрытия
186
185
 
187
186
  ### Свойства / Properties
188
187
 
189
- | Имя | Тип | Значения/Описание |
190
- |--------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
191
- | `data` | `Object` | Начальные данные - диапазон ( при `'solid'` - используется только `'startDate'`) изначальных выбранных дат {endDate: '14-04-2025', startDate:'30-03-2025', holiday: { preholidays: ["2020-03-30"], holidays: ["2020-03-30"], holiday: ["2020-03-30"], nowork: ["2020-03-30"] }}, ограничение не более 2х месяцев. |
192
- | `limitation` | `Boolean, Array` | Массив ограничений дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}], false - по умолчанию. |
193
- | `range` | `String` | Тип календаря: `'decades'`,`'year'`,`'range'`, `'solid'` - по умолчанию. |
188
+ | Имя | Тип | По умолчанию | Значения/Описание |
189
+ |--------------|------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
190
+ | `data` | `Object` | `new Date()` | Начальные данные - диапазон ( при `'solid'` - используется только `'startDate'`) изначальных выбранных дат {endDate: '14-04-2025', startDate:'30-03-2025', holiday: { preholidays: ["2020-03-30"], holidays: ["2020-03-30"], holiday: ["2020-03-30"], nowork: ["2020-03-30"] }}, ограничение не более 2х месяцев. |
191
+ | `limitation` | `Boolean, Array` | `false` | Массив ограничений дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}]. |
192
+ | `range` | `String` | `solid` | Тип календаря: `'decades'`,`'year'`,`'range'`, `'solid'`. |
194
193
 
195
194
  ### События / Events
196
195
 
@@ -224,14 +223,14 @@ input - событие выбора с данными {dateStart: "11.11.2011",
224
223
  ### Свойства / Properties
225
224
 
226
225
 
227
- | Имя | Тип | Значения/Описание |
228
- |-------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
229
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
230
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
231
- | `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
232
- | `trigger` | `String` | `'click'` - по умолчанию, `'hover'`, `'context'`,`'none'`. |
233
- | `placement` | `String` | Относительное место всплытия `'bottom-left'` - по умолчанию, `'bottom'`, `'bottom-right'`, `'top-left'`, `'top'`, `'top-right'`, `'left'`, `'right'`. |
234
- | `maxWidth` | `Number` | Максимальная ширина меню в пикселях. |
226
+ | Имя | Тип | По умолчанию | Значения/Описание |
227
+ |-------------|-----------|---------------|----------------------------------------------------------------------------------------------------------------------------------------|
228
+ | `class` | `String` | `sw-dropdown` | Добавляет пользовательский CSS-класс к компоненту. |
229
+ | `size` | `String` | `` | Размер поля: `'large'`, `'small'`. |
230
+ | `type` | `String` | `info` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
231
+ | `trigger` | `String` | `click` | `'click'`, `'hover'`, `'context'`,`'none'`. |
232
+ | `placement` | `String` | `bottom-left` | Относительное место всплытия `'bottom-left'`, `'bottom'`, `'bottom-right'`, `'top-left'`, `'top'`, `'top-right'`, `'left'`, `'right'`. |
233
+ | `maxWidth` | `Number` | `0` | Максимальная ширина меню в пикселях. |
235
234
 
236
235
  ### Слоты / Slots
237
236
 
@@ -259,12 +258,12 @@ Default - текст описания или модуль / модули
259
258
  ### Свойства / Properties
260
259
 
261
260
 
262
- | Имя | Тип | Значения/Описание |
263
- |---------------|----------|--------------------------------------------------------------|
264
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
265
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
266
- | `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
267
- | `iconBefore` | `String` | Название иконки в коллекции. При наличии вставляет иконку. |
261
+ | Имя | Тип | По умолчанию | Значения/Описание |
262
+ |---------------|----------|--------------------|--------------------------------------------------------------|
263
+ | `class` | `String` | `sw-dropdown-item` | Добавляет пользовательский CSS-класс к компоненту. |
264
+ | `size` | `String` | `` | Размер поля: `'large'`, `'small'`. |
265
+ | `type` | `String` | `info` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
266
+ | `iconBefore` | `String` | `` | Название иконки в коллекции. При наличии вставляет иконку. |
268
267
 
269
268
  ### Слоты / Slots
270
269
 
@@ -292,11 +291,11 @@ Default - текст названия или модуль
292
291
  ### Свойства / Properties
293
292
 
294
293
 
295
- | Имя | Тип | Значения/Описание |
296
- |--------------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
297
- | `steps` | `Array` | Массив шагов обучения. [{header: 'заголовок',text: 'текст сообщения',tag: 'тег,якорь или класс', placement: 'место всплытия', img: 'src картинки' }], |
298
- | `iconClose` | `String` | Иконка закрытия обучения. |
299
- | `maxWidth` | `Number` | Ширина всплывающего окна в px (без картинки). по умолчанию 250 |
294
+ | Имя | Тип | По умолчанию | Значения/Описание |
295
+ |--------------|-----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
296
+ | `steps` | `Array` | `() => []` | Массив шагов обучения. [{header: 'заголовок',text: 'текст сообщения',tag: 'тег,якорь или класс', placement: 'место всплытия', img: 'src картинки' }], |
297
+ | `iconClose` | `String` | `` | Иконка закрытия обучения. |
298
+ | `maxWidth` | `Number` | `250` | Ширина всплывающего окна в px (без картинки). по умолчанию 250 |
300
299
 
301
300
  ### Слоты / Slots
302
301
 
@@ -334,23 +333,24 @@ Default - текст сообщения с картинкой
334
333
 
335
334
  ### Свойства / Properties
336
335
 
337
- | Имя | Тип | Значения/Описание |
338
- |---------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
339
- | `name` | `String` | Обязателен! нужен для связывания через id input и label. |
340
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
341
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
342
- | `type` | `String` | Тип поля: `'text'`- по умолчанию, `'phone'`- телефон, `'password'` - пароль |
343
- | `inputMode` | `String` | Мобильная клавиатура: `'text'`- по умолчанию, `'search'`- поиск, `'numeric'`- цифры, `'decimal'` - числа, `'tel'` - телефон, `'url'` - адреса, `'email'` - почта |
344
- | `before` | `String` | Название svg в спрайте загружаемое в начале. |
345
- | `after` | `String` | Название svg в спрайте загружаемое в конце. |
346
- | `placeholder` | `String` | Текст Placeholder. |
347
- | `required` | `Boolean` | Признак обязательно ли для заполнения false - по умолчанию. |
348
- | `label` | `String` | Текст в Label. |
349
- | `maxlength` | `Number` | По умолчанию - 128, параметр атрибута max-length. Минимальное количество символов разрешённых в тексте. |
350
- | `minlength` | `Number` | По умолчанию - 1, параметр атрибута min-length. Минимальное количество символов разрешённых в тексте. |
351
- | `inputSize` | `Number` | По умолчанию - 60, параметр атрибута size - ширина текстового поля. |
352
- | `autofocus` | `Boolean` | По умолчанию - false, Устанавливает фокус в поле формы. |
353
- | `readonly` | `Boolean` | По умолчанию - false, Устанавливает, что поле не может изменяться пользователем. |
336
+ | Имя | Тип | По умолчанию | Значения/Описание |
337
+ |---------------|-----------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
338
+ | `name` | `String` | `required` | Обязателен! нужен для связывания через id input и label. |
339
+ | `class` | `String` | `sw-input` | Добавляет пользовательский CSS-класс к компоненту. |
340
+ | `size` | `String` | `` | Размер поля: `'large'`, `'small'`. |
341
+ | `type` | `String` | `text` | Тип поля: `'text'`- текст, `'phone'`- телефон, `'password'` - пароль |
342
+ | `inputMode` | `String` | `text` | Мобильная клавиатура: `'text'`- стандартная, `'search'`- поиск, `'numeric'`- цифры, `'decimal'` - числа, `'tel'` - телефон, `'url'` - адреса, `'email'` - почта |
343
+ | `before` | `String` | `` | Название svg в спрайте загружаемое в начале. |
344
+ | `after` | `String` | `` | Название svg в спрайте загружаемое в конце. |
345
+ | `placeholder` | `String` | `` | Текст Placeholder. |
346
+ | `required` | `Boolean` | `false` | Признак обязательно ли для заполнения. |
347
+ | `label` | `String` | `` | Текст в Label. |
348
+ | `maxlength` | `Number` | `128` | Параметр атрибута max-length. Минимальное количество символов разрешённых в тексте. |
349
+ | `minlength` | `Number` | `1` | Параметр атрибута min-length. Минимальное количество символов разрешённых в тексте. |
350
+ | `inputSize` | `Number` | `60` | Параметр атрибута size - ширина текстового поля. |
351
+ | `autofocus` | `Boolean` | `false` | Устанавливает фокус в поле формы. |
352
+ | `readonly` | `Boolean` | `false` | Устанавливает, что поле не может изменяться пользователем. |
353
+ | `spellcheck` | `Boolean` | `false` | Подсказа для браузера, если браузер поддерживает проверку орфографии. |
354
354
 
355
355
  ### Слоты / Slots
356
356
 
@@ -392,11 +392,11 @@ focusInput - focus на поле ввода
392
392
  ### Свойства / Properties
393
393
 
394
394
 
395
- | Имя | Тип | Значения/Описание |
396
- |-------------|-----------|-----------------------------------------------------------------------------|
397
- | `name` | `String` | Добавляет текстовый заголовок, при отсутствии реализован слот `"header"`. |
398
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
399
- | `iconAfter` | `String` | Добавляет иконку из коллекции для кнопки закрытия (при наличии заголовка). |
395
+ | Имя | Тип | По умолчанию | Значения/Описание |
396
+ |-------------|-----------|--------------|----------------------------------------------------------------------------|
397
+ | `name` | `String` | `` | Добавляет текстовый заголовок, при отсутствии реализован слот `"header"`. |
398
+ | `class` | `String` | `sw-section` | Добавляет пользовательский CSS-класс к компоненту. |
399
+ | `iconAfter` | `String` | `` | Добавляет иконку из коллекции для кнопки закрытия (при наличии заголовка). |
400
400
 
401
401
  ### Слоты / Slots
402
402
 
@@ -424,11 +424,11 @@ focusInput - focus на поле ввода
424
424
  ### Свойства / Properties
425
425
 
426
426
 
427
- | Имя | Тип | Значения/Описание |
428
- |-------------|-----------|----------------------------------------------------|
429
- | `name` | `String` | Добавляет заголовок в секцию. |
430
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
431
- | `iconAfter` | `String` | Добавляет иконку из коллекции. |
427
+ | Имя | Тип | По умолчанию | Значения/Описание |
428
+ |-------------|-----------|--------------|----------------------------------------------------|
429
+ | `name` | `String` | `` | Добавляет заголовок в секцию. |
430
+ | `class` | `String` | `sw-section` | Добавляет пользовательский CSS-класс к компоненту. |
431
+ | `iconAfter` | `String` | `` | Добавляет иконку из коллекции. |
432
432
 
433
433
  ### Слоты / Slots
434
434
 
@@ -465,12 +465,12 @@ header - клик по всему Header
465
465
  ### Свойства / Properties
466
466
 
467
467
 
468
- | Имя | Тип | Значения/Описание |
469
- |----------------|-----------|-----------------------------------------------|
470
- | `class` | `String` | Добавляет пользовательский CSS-класс к popup. |
471
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
472
- | `placeholder` | `String` | Добавляет в placeholder описание. |
473
- | `token` | `String` | API-ключ для DADATA. |
468
+ | Имя | Тип | По умолчанию | Значения/Описание |
469
+ |----------------|-----------|--------------|-----------------------------------------------|
470
+ | `class` | `String` | `` | Добавляет пользовательский CSS-класс к popup. |
471
+ | `size` | `String` | `large` | Размер поля: `'large'`, `'small'`. |
472
+ | `placeholder` | `String` | `` | Добавляет в placeholder описание. |
473
+ | `token` | `String` | `` | API-ключ для DADATA. |
474
474
 
475
475
 
476
476
  ### Пример использования / Example Usage
@@ -493,10 +493,10 @@ header - клик по всему Header
493
493
  ### Свойства / Properties
494
494
 
495
495
 
496
- | Имя | Тип | Значения/Описание |
497
- |----------|-----------|----------------------------------------------------|
498
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
499
- | `visual` | `Boolean` | Тригер на переключение. |
496
+ | Имя | Тип | По умолчанию | Значения/Описание |
497
+ |----------|-----------|----------------|----------------------------------------------------|
498
+ | `class` | `String` | `sw-skeleton` | Добавляет пользовательский CSS-класс к компоненту. |
499
+ | `visual` | `Boolean` | `false` | Тригер на переключение. |
500
500
 
501
501
  ### Слоты / Slots
502
502
 
@@ -522,12 +522,12 @@ Default - Содержимое
522
522
  ### Свойства / Properties
523
523
 
524
524
 
525
- | Имя | Тип | Значения/Описание |
526
- |------------|-----------|----------------------------------------------------|
527
- | `width` | `String` | Ширина элемента в процентах. |
528
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
529
- | `animate` | `String` | Добавляет анимацию в элемент. |
530
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
525
+ | Имя | Тип | По умолчанию | Значения/Описание |
526
+ |------------|-----------|--------------------|----------------------------------------------------|
527
+ | `width` | `String` | `100` | Ширина элемента в процентах. |
528
+ | `class` | `String` | `sw-skeleton-item` | Добавляет пользовательский CSS-класс к компоненту. |
529
+ | `animate` | `String` | `false` | Добавляет анимацию в элемент. |
530
+ | `size` | `String` | `` | Размер поля: `'large'`, `'small'`. |
531
531
 
532
532
 
533
533
  ### Пример использования / Example Usage
@@ -553,15 +553,15 @@ Default - Содержимое
553
553
  ### Свойства / Properties
554
554
 
555
555
 
556
- | Имя | Тип | Значения/Описание |
557
- |------------|-----------|---------------------------------------------------------|
558
- | `name` | `String` | Добавляет в атрибут `'name'`. |
559
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
560
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
561
- | `id` | `String` | Добавляет в атрибут `'id'`, `'checkbox'`- по умолчанию. |
562
- | `on` | `String` | Текст при true. |
563
- | `off` | `String` | Текст при false. |
564
- | `checkbox` | `Boolean` | Визуализирует как обычный чекбокс. |
556
+ | Имя | Тип | По умолчанию | Значения/Описание |
557
+ |------------|-----------|--------------|----------------------------------------------------|
558
+ | `name` | `String` | `` | Добавляет в атрибут `'name'`. |
559
+ | `class` | `String` | `sw-switch` | Добавляет пользовательский CSS-класс к компоненту. |
560
+ | `size` | `String` | `` | Размер поля: `'large'`, `'small'`. |
561
+ | `id` | `String` | `checkbox` | Добавляет в атрибут `'id'`. |
562
+ | `on` | `String` | `` | Текст при true. |
563
+ | `off` | `String` | `` | Текст при false. |
564
+ | `checkbox` | `Boolean` | `false` | Визуализирует как обычный чекбокс. |
565
565
 
566
566
  ### Слоты / Slots
567
567
 
@@ -590,9 +590,9 @@ Default - текст описания
590
590
  ### Свойства / Properties
591
591
 
592
592
 
593
- | Имя | Тип | Значения/Описание |
594
- |--------|----------|---------------------------------------|
595
- | `data` | `Array` | Содержание таблицы - массив объектов. |
593
+ | Имя | Тип | По умолчанию | Значения/Описание |
594
+ |--------|----------|--------------|----------------------------------------------------|
595
+ | `data` | `Array` | `required` | Содержание таблицы - обязательный массив объектов. |
596
596
 
597
597
  ### Слоты / Slots
598
598
 
@@ -623,9 +623,9 @@ Default - текст описания
623
623
  ### Свойства / Properties
624
624
 
625
625
 
626
- | Имя | Тип | Значения/Описание |
627
- |---------|-----------|---------------------------------------------------------|
628
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
626
+ | Имя | Тип | По умолчанию | Значения/Описание |
627
+ |---------|-----------|--------------|----------------------------------------------------|
628
+ | `class` | `String` | `sw-tabs` | Добавляет пользовательский CSS-класс к компоненту. |
629
629
 
630
630
  ### Слоты / Slots
631
631
 
@@ -650,10 +650,10 @@ Default - для компонентов SwTabsPane
650
650
  ### Свойства / Properties
651
651
 
652
652
 
653
- | Имя | Тип | Значения/Описание |
654
- |---------|-----------|-----------------------------------------------------------------------------------------|
655
- | `title` | `String` | название унификатор - обязателен при отсутствии `label` будет взят за название вкладки. |
656
- | `label` | `String` | название вкладки при отсутствии возьмется из `title`. |
653
+ | Имя | Тип | По умолчанию | Значения/Описание |
654
+ |---------|-----------|--------------|-----------------------------------------------------------------------------------------|
655
+ | `title` | `String` | `` | Название унификатор - обязателен при отсутствии `label` будет взят за название вкладки. |
656
+ | `label` | `String` | `` | Название вкладки при отсутствии возьмется из `title`. |
657
657
 
658
658
  ### Слоты / Slots
659
659
 
@@ -1,5 +1,5 @@
1
1
  import { ref as f, computed as K, createElementBlock as r, openBlock as v, createElementVNode as o, createCommentVNode as V, withModifiers as c, renderSlot as w, createTextVNode as k, toDisplayString as D, unref as T, Fragment as $, renderList as Y, normalizeClass as N } from "vue";
2
- import { p as A } from "./index-BaQi9mUk.js";
2
+ import { p as A } from "./index-BqSnlKYz.js";
3
3
  const oe = { class: "sw-data-picker" }, ue = {
4
4
  key: 0,
5
5
  class: "month_year"
@@ -0,0 +1,31 @@
1
+ import { computed as o, createElementBlock as r, openBlock as l, normalizeClass as c, createBlock as a, createCommentVNode as i, renderSlot as p } from "vue";
2
+ import { _ as u } from "./index-BqSnlKYz.js";
3
+ const y = {
4
+ __name: "SwDropdownItem",
5
+ props: {
6
+ class: { type: String, default: "" },
7
+ size: { type: String, default: "" },
8
+ type: { type: String, default: "" },
9
+ iconBefore: { type: String, default: "" }
10
+ },
11
+ setup(s) {
12
+ const e = s, n = o(
13
+ () => {
14
+ let t = ["sw-dropdown-item"];
15
+ return e.size.length > 0 && t.push("sw-" + e.size), e.type.length > 0 && t.push("sw-" + e.type), e.class.length > 0 && t.push(e.class), t;
16
+ }
17
+ );
18
+ return (t, f) => (l(), r("li", {
19
+ class: c(n.value)
20
+ }, [
21
+ s.iconBefore.length > 0 ? (l(), a(u, {
22
+ key: 0,
23
+ "icon-class": s.iconBefore
24
+ }, null, 8, ["icon-class"])) : i("", !0),
25
+ p(t.$slots, "default")
26
+ ], 2));
27
+ }
28
+ };
29
+ export {
30
+ y as default
31
+ };
@@ -0,0 +1,145 @@
1
+ import { mergeModels as k, ref as c, useModel as b, watchEffect as L, onMounted as N, createElementBlock as R, openBlock as z, createElementVNode as r, createVNode as u, withCtx as a, renderSlot as d, createTextVNode as v, toDisplayString as C, normalizeClass as M } from "vue";
2
+ import h from "./SwDropdown-DQGTnnKw.js";
3
+ import f from "./SwButton-85-tKHA7.js";
4
+ import { _ as B } from "./index-BqSnlKYz.js";
5
+ const G = ["src"], A = {
6
+ __name: "SwGide",
7
+ props: /* @__PURE__ */ k({
8
+ steps: { type: Array, default: () => [] },
9
+ iconClose: { type: String, default: "" },
10
+ maxWidth: { type: Number, default: 250 }
11
+ }, {
12
+ modelValue: { type: Number, default: 0 },
13
+ modelModifiers: {}
14
+ }),
15
+ emits: /* @__PURE__ */ k(["close"], ["update:modelValue"]),
16
+ setup(w, { emit: S }) {
17
+ const n = c(null), g = c(!0), i = c(null), o = b(w, "modelValue"), T = S, s = w, y = () => T("close"), x = (t) => {
18
+ const e = o.value + t;
19
+ e < 0 ? o.value = 0 : e >= s.steps.length ? y() : o.value = e;
20
+ };
21
+ let m = !1;
22
+ const V = (t) => {
23
+ const e = t.getBoundingClientRect(), l = window.innerHeight;
24
+ e.top < 5 ? (m = !0, document.documentElement.scrollTop += e.top - 5) : e.bottom > l - 5 && (m = !0, document.documentElement.scrollTop += e.bottom - l + 5);
25
+ }, p = () => {
26
+ if (!i.value || !n.value) return;
27
+ const t = i.value.getBoundingClientRect(), e = window.pageYOffset || document.documentElement.scrollTop, l = window.pageXOffset || document.documentElement.scrollLeft;
28
+ n.value.style.gridTemplateRows = `${t.top + e - 5}px ${t.height + 10}px 1fr`, n.value.style.gridTemplateColumns = `${t.left + l - 5}px ${t.width + 10}px 1fr`, n.value.style.height = document.documentElement.scrollHeight + "px";
29
+ };
30
+ return L((t) => {
31
+ var E;
32
+ if (!n.value) return;
33
+ const e = (E = s.steps[o.value]) == null ? void 0 : E.tag;
34
+ if (!e || !e.trim()) {
35
+ n.value.style.gridTemplateRows = "40% 0 1fr", n.value.style.gridTemplateColumns = "1fr 0 1fr", n.value.style.height = document.documentElement.scrollHeight + "px";
36
+ return;
37
+ }
38
+ if (i.value = document.querySelector(e), !i.value) {
39
+ console.warn(`[SwGuide] Элемент не найден: ${e}`);
40
+ return;
41
+ }
42
+ V(i.value);
43
+ const l = () => {
44
+ if (m) {
45
+ m = !1;
46
+ return;
47
+ }
48
+ p();
49
+ };
50
+ p();
51
+ const $ = new ResizeObserver(p);
52
+ $.observe(i.value), window.addEventListener("resize", l), window.addEventListener("scroll", l, { passive: !0 }), t(() => {
53
+ $.disconnect(), window.removeEventListener("resize", l), window.removeEventListener("scroll", l);
54
+ });
55
+ }), N(() => window.onload = () => {
56
+ var t;
57
+ return i.value = document.querySelector((t = s.steps[o.value]) == null ? void 0 : t.tag);
58
+ }), (t, e) => (z(), R("div", {
59
+ class: "sw-gide",
60
+ ref_key: "swGide",
61
+ ref: n
62
+ }, [
63
+ e[6] || (e[6] = r("div", { class: "overlay0" }, null, -1)),
64
+ e[7] || (e[7] = r("div", { class: "overlay1" }, null, -1)),
65
+ u(h, {
66
+ class: "gide",
67
+ trigger: "none",
68
+ placement: s.steps[o.value].placement,
69
+ modelValue: g.value,
70
+ "onUpdate:modelValue": e[2] || (e[2] = (l) => g.value = l),
71
+ maxWidth: s.maxWidth
72
+ }, {
73
+ dropdown: a(() => [
74
+ r("header", null, [
75
+ d(t.$slots, "header", {}, () => [
76
+ v(C(s.steps[o.value].header) + " ", 1),
77
+ u(f, {
78
+ type: "primary",
79
+ link: "",
80
+ onClick: y
81
+ }, {
82
+ default: a(() => [
83
+ u(B, {
84
+ "icon-class": s.iconClose
85
+ }, null, 8, ["icon-class"])
86
+ ]),
87
+ _: 1
88
+ })
89
+ ])
90
+ ]),
91
+ d(t.$slots, "default", {}, () => {
92
+ var l;
93
+ return [
94
+ r("div", null, C(s.steps[o.value].text), 1),
95
+ r("img", {
96
+ class: M(/left/.test((l = s.steps[o.value]) == null ? void 0 : l.placement) ? "reflect" : null),
97
+ src: s.steps[o.value].img
98
+ }, null, 10, G)
99
+ ];
100
+ }),
101
+ r("footer", null, [
102
+ d(t.$slots, "footer", {}, () => [
103
+ u(f, {
104
+ type: o.value === 0 ? "info" : "warning",
105
+ text: "",
106
+ link: "",
107
+ onClick: e[0] || (e[0] = (l) => x(-1))
108
+ }, {
109
+ default: a(() => [
110
+ d(t.$slots, "arrow", {}, () => [
111
+ e[3] || (e[3] = v("‹"))
112
+ ])
113
+ ]),
114
+ _: 3
115
+ }, 8, ["type"]),
116
+ u(f, {
117
+ type: "success",
118
+ onClick: e[1] || (e[1] = (l) => x(1)),
119
+ text: "",
120
+ link: "",
121
+ class: "sw-revers"
122
+ }, {
123
+ default: a(() => [
124
+ d(t.$slots, "arrow", {}, () => [
125
+ e[4] || (e[4] = v("‹"))
126
+ ])
127
+ ]),
128
+ _: 3
129
+ })
130
+ ])
131
+ ])
132
+ ]),
133
+ default: a(() => [
134
+ e[5] || (e[5] = r("div", { class: "hole" }, null, -1))
135
+ ]),
136
+ _: 3
137
+ }, 8, ["placement", "modelValue", "maxWidth"]),
138
+ e[8] || (e[8] = r("div", { class: "overlay2" }, null, -1)),
139
+ e[9] || (e[9] = r("div", { class: "overlay3" }, null, -1))
140
+ ], 512));
141
+ }
142
+ };
143
+ export {
144
+ A as default
145
+ };
@@ -1,5 +1,5 @@
1
- import { mergeModels as y, useModel as w, ref as D, computed as V, watch as C, createElementBlock as d, openBlock as u, normalizeClass as I, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as A, createTextVNode as E, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
2
- import { S } from "./index-BaQi9mUk.js";
1
+ import { mergeModels as y, useModel as w, ref as D, computed as V, watch as C, createElementBlock as d, openBlock as u, normalizeClass as A, createBlock as _, renderSlot as v, createCommentVNode as x, withDirectives as E, createTextVNode as I, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
2
+ import { _ as k } from "./index-BqSnlKYz.js";
3
3
  const O = ["for"], U = {
4
4
  key: 0,
5
5
  title: "Это поле обязательно для заполнения."
@@ -27,18 +27,18 @@ const O = ["for"], U = {
27
27
  modelModifiers: {}
28
28
  }),
29
29
  emits: /* @__PURE__ */ y(["suffix", "prefix", "focusInput"], ["update:modelValue"]),
30
- setup(m, { emit: k }) {
30
+ setup(m, { emit: b }) {
31
31
  var g;
32
- const o = w(m, "modelValue"), e = m, r = D(null), i = k, b = (t) => {
32
+ const o = w(m, "modelValue"), e = m, r = D(null), i = b, S = (t) => {
33
33
  i("focusInput"), t.target.setSelectionRange(o.value.length, o.value.length), r.value !== null && (r.value.style.top = "-.6em");
34
- }, z = (t) => {
34
+ }, $ = (t) => {
35
35
  var l;
36
36
  ((l = o.value) == null ? void 0 : l.length) === 0 && r.value !== null && r.value.removeAttribute("style");
37
37
  };
38
38
  ((g = o.value) == null ? void 0 : g.length) > 0 && r.value !== null && (r.value.style.top = "-.6em");
39
- const B = () => {
39
+ const z = () => {
40
40
  i("suffix");
41
- }, $ = () => {
41
+ }, B = () => {
42
42
  i("prefix");
43
43
  }, q = V(
44
44
  () => {
@@ -65,23 +65,23 @@ const O = ["for"], U = {
65
65
  if (p = new RegExp(`^${p}$`), s = s.replace(/[-—]$|(\) )$/g, ""), !p.test(n) || n.length < 5) return s;
66
66
  };
67
67
  return (t, l) => (u(), d("div", {
68
- class: I(q.value)
68
+ class: A(q.value)
69
69
  }, [
70
- e.before.length > 0 ? (u(), v(S, {
70
+ e.before.length > 0 ? (u(), _(k, {
71
71
  key: 0,
72
72
  "icon-class": e.before,
73
- onClick: $
74
- }, null, 8, ["icon-class"])) : _(t.$slots, "prefix", { key: 1 }),
73
+ onClick: B
74
+ }, null, 8, ["icon-class"])) : v(t.$slots, "prefix", { key: 1 }),
75
75
  e.label.length > 0 ? (u(), d("label", {
76
76
  key: 2,
77
77
  for: e.name,
78
78
  ref_key: "lab",
79
79
  ref: r
80
80
  }, [
81
- E(R(e.label), 1),
81
+ I(R(e.label), 1),
82
82
  e.required ? (u(), d("span", U, "*")) : x("", !0)
83
83
  ], 8, O)) : x("", !0),
84
- A(T("input", {
84
+ E(T("input", {
85
85
  "onUpdate:modelValue": l[0] || (l[0] = (n) => o.value = n),
86
86
  required: e.required,
87
87
  placeholder: e.required && e.label.length === 0 ? e.placeholder + "*" : e.placeholder,
@@ -89,8 +89,8 @@ const O = ["for"], U = {
89
89
  id: e.name,
90
90
  name: e.name,
91
91
  size: e.inputSize,
92
- onFocus: b,
93
- onBlur: z,
92
+ onFocus: S,
93
+ onBlur: $,
94
94
  maxlength: e.maxlength,
95
95
  minlength: e.minlength,
96
96
  autofocus: e.autofocus,
@@ -100,11 +100,11 @@ const O = ["for"], U = {
100
100
  }, null, 40, j), [
101
101
  [F, o.value]
102
102
  ]),
103
- e.after.length > 0 ? (u(), v(S, {
103
+ e.after.length > 0 ? (u(), _(k, {
104
104
  key: 3,
105
105
  "icon-class": e.after,
106
- onClick: B
107
- }, null, 8, ["icon-class"])) : _(t.$slots, "suffix", { key: 4 })
106
+ onClick: z
107
+ }, null, 8, ["icon-class"])) : v(t.$slots, "suffix", { key: 4 })
108
108
  ], 2));
109
109
  }
110
110
  };