@studio-west/component-sw 0.8.8 → 0.9.1

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,21 +88,22 @@ 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
 
104
103
  #prefix - Вставка перед текстом (если не передан `before`)
104
+
105
105
  #suffix - Вставка после текста (если не передан `after`)
106
+
106
107
  #footer - Нижний блок
107
108
 
108
109
  ### Пример использования / Example Usage
@@ -128,15 +129,15 @@ this.$Alert({message: 'Welcome!', type: 'success', prefix: 'Дополнител
128
129
 
129
130
  ### Свойства / Properties
130
131
 
131
- | Имя | Тип | Значения/Описание |
132
- |---------|-----------|--------------------------------------------------------------------------------|
133
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
134
- | `size` | `String` | Размер кнопки: `'large'`, `'small'`. |
135
- | `type` | `String` | Тип кнопки: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
136
- | `round` | `Boolean` | Делает кнопку визуально закругленной. |
137
- | `text` | `Boolean` | Делает кнопку визуально похожей на текст (без фона только граница). |
138
- | `link` | `Boolean` | Преобразует кнопку в ссылку(без фона и границ). |
139
- | `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`). |
140
141
 
141
142
  ### Пример использования / Example Usage
142
143
 
@@ -161,9 +162,9 @@ this.$Alert({message: 'Welcome!', type: 'success', prefix: 'Дополнител
161
162
 
162
163
  ### Свойства / Properties
163
164
 
164
- | Имя | Тип | Значения/Описание |
165
- |----------|-----------|-------------------------------------|
166
- | `visual` | `Boolean` | Видимость `'true'` - по умолчанию. |
165
+ | Имя | Тип | По умолчанию | Значения/Описание |
166
+ |----------|-----------|--------------|-----------------------|
167
+ | `visual` | `Boolean` | `true` | Видимость |
167
168
 
168
169
  ### Слоты / Slots
169
170
 
@@ -184,11 +185,11 @@ Default - Контент для скрытия
184
185
 
185
186
  ### Свойства / Properties
186
187
 
187
- | Имя | Тип | Значения/Описание |
188
- |--------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
189
- | `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х месяцев. |
190
- | `limitation` | `Boolean, Array` | Массив ограничений дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}], false - по умолчанию. |
191
- | `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'`. |
192
193
 
193
194
  ### События / Events
194
195
 
@@ -222,14 +223,14 @@ input - событие выбора с данными {dateStart: "11.11.2011",
222
223
  ### Свойства / Properties
223
224
 
224
225
 
225
- | Имя | Тип | Значения/Описание |
226
- |-------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
227
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
228
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
229
- | `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
230
- | `trigger` | `String` | `'click'` - по умолчанию, `'hover'`, `'context'`,`'none'`. |
231
- | `placement` | `String` | Относительное место всплытия `'bottom-left'` - по умолчанию, `'bottom'`, `'bottom-right'`, `'top-left'`, `'top'`, `'top-right'`, `'left'`, `'right'`. |
232
- | `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` | Максимальная ширина меню в пикселях. |
233
234
 
234
235
  ### Слоты / Slots
235
236
 
@@ -257,12 +258,12 @@ Default - текст описания или модуль / модули
257
258
  ### Свойства / Properties
258
259
 
259
260
 
260
- | Имя | Тип | Значения/Описание |
261
- |---------------|----------|--------------------------------------------------------------|
262
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
263
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
264
- | `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
265
- | `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` | `` | Название иконки в коллекции. При наличии вставляет иконку. |
266
267
 
267
268
  ### Слоты / Slots
268
269
 
@@ -290,11 +291,11 @@ Default - текст названия или модуль
290
291
  ### Свойства / Properties
291
292
 
292
293
 
293
- | Имя | Тип | Значения/Описание |
294
- |--------------|-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
295
- | `steps` | `Array` | Массив шагов обучения. [{header: 'заголовок',text: 'текст сообщения',tag: 'тег,якорь или класс', placement: 'место всплытия', img: 'src картинки' }], |
296
- | `iconClose` | `String` | Иконка закрытия обучения. |
297
- | `maxWidth` | `Number` | Ширина всплывающего окна в px (без картинки). по умолчанию 250 |
294
+ | Имя | Тип | По умолчанию | Значения/Описание |
295
+ |--------------|-----------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|
296
+ | `steps` | `Array` | `() => []` | Массив шагов обучения. [{header: 'заголовок',text: 'текст сообщения',tag: 'тег,якорь или класс', placement: 'место всплытия', img: 'src картинки' }], |
297
+ | `iconClose` | `String` | `` | Иконка закрытия обучения. |
298
+ | `maxWidth` | `Number` | `250` | Ширина всплывающего окна в px (без картинки). по умолчанию 250 |
298
299
 
299
300
  ### Слоты / Slots
300
301
 
@@ -332,23 +333,24 @@ Default - текст сообщения с картинкой
332
333
 
333
334
  ### Свойства / Properties
334
335
 
335
- | Имя | Тип | Значения/Описание |
336
- |---------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
337
- | `name` | `String` | Обязателен! нужен для связывания через id input и label. |
338
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
339
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
340
- | `type` | `String` | Тип поля: `'text'`- по умолчанию, `'phone'`- телефон, `'password'` - пароль |
341
- | `inputMode` | `String` | Мобильная клавиатура: `'text'`- по умолчанию, `'search'`- поиск, `'numeric'`- цифры, `'decimal'` - числа, `'tel'` - телефон, `'url'` - адреса, `'email'` - почта |
342
- | `before` | `String` | Название svg в спрайте загружаемое в начале. |
343
- | `after` | `String` | Название svg в спрайте загружаемое в конце. |
344
- | `placeholder` | `String` | Текст Placeholder. |
345
- | `required` | `Boolean` | Признак обязательно ли для заполнения false - по умолчанию. |
346
- | `label` | `String` | Текст в Label. |
347
- | `maxlength` | `Number` | По умолчанию - 128, параметр атрибута max-length. Минимальное количество символов разрешённых в тексте. |
348
- | `minlength` | `Number` | По умолчанию - 1, параметр атрибута min-length. Минимальное количество символов разрешённых в тексте. |
349
- | `inputSize` | `Number` | По умолчанию - 60, параметр атрибута size - ширина текстового поля. |
350
- | `autofocus` | `Boolean` | По умолчанию - false, Устанавливает фокус в поле формы. |
351
- | `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` | Подсказа для браузера, если браузер поддерживает проверку орфографии. |
352
354
 
353
355
  ### Слоты / Slots
354
356
 
@@ -390,11 +392,11 @@ focusInput - focus на поле ввода
390
392
  ### Свойства / Properties
391
393
 
392
394
 
393
- | Имя | Тип | Значения/Описание |
394
- |-------------|-----------|-----------------------------------------------------------------------------|
395
- | `name` | `String` | Добавляет текстовый заголовок, при отсутствии реализован слот `"header"`. |
396
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
397
- | `iconAfter` | `String` | Добавляет иконку из коллекции для кнопки закрытия (при наличии заголовка). |
395
+ | Имя | Тип | По умолчанию | Значения/Описание |
396
+ |-------------|-----------|--------------|----------------------------------------------------------------------------|
397
+ | `name` | `String` | `` | Добавляет текстовый заголовок, при отсутствии реализован слот `"header"`. |
398
+ | `class` | `String` | `sw-section` | Добавляет пользовательский CSS-класс к компоненту. |
399
+ | `iconAfter` | `String` | `` | Добавляет иконку из коллекции для кнопки закрытия (при наличии заголовка). |
398
400
 
399
401
  ### Слоты / Slots
400
402
 
@@ -422,11 +424,11 @@ focusInput - focus на поле ввода
422
424
  ### Свойства / Properties
423
425
 
424
426
 
425
- | Имя | Тип | Значения/Описание |
426
- |-------------|-----------|----------------------------------------------------|
427
- | `name` | `String` | Добавляет заголовок в секцию. |
428
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
429
- | `iconAfter` | `String` | Добавляет иконку из коллекции. |
427
+ | Имя | Тип | По умолчанию | Значения/Описание |
428
+ |-------------|-----------|--------------|----------------------------------------------------|
429
+ | `name` | `String` | `` | Добавляет заголовок в секцию. |
430
+ | `class` | `String` | `sw-section` | Добавляет пользовательский CSS-класс к компоненту. |
431
+ | `iconAfter` | `String` | `` | Добавляет иконку из коллекции. |
430
432
 
431
433
  ### Слоты / Slots
432
434
 
@@ -463,12 +465,12 @@ header - клик по всему Header
463
465
  ### Свойства / Properties
464
466
 
465
467
 
466
- | Имя | Тип | Значения/Описание |
467
- |----------------|-----------|-----------------------------------------------|
468
- | `class` | `String` | Добавляет пользовательский CSS-класс к popup. |
469
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
470
- | `placeholder` | `String` | Добавляет в placeholder описание. |
471
- | `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. |
472
474
 
473
475
 
474
476
  ### Пример использования / Example Usage
@@ -491,10 +493,10 @@ header - клик по всему Header
491
493
  ### Свойства / Properties
492
494
 
493
495
 
494
- | Имя | Тип | Значения/Описание |
495
- |----------|-----------|----------------------------------------------------|
496
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
497
- | `visual` | `Boolean` | Тригер на переключение. |
496
+ | Имя | Тип | По умолчанию | Значения/Описание |
497
+ |----------|-----------|----------------|----------------------------------------------------|
498
+ | `class` | `String` | `sw-skeleton` | Добавляет пользовательский CSS-класс к компоненту. |
499
+ | `visual` | `Boolean` | `false` | Тригер на переключение. |
498
500
 
499
501
  ### Слоты / Slots
500
502
 
@@ -520,12 +522,12 @@ Default - Содержимое
520
522
  ### Свойства / Properties
521
523
 
522
524
 
523
- | Имя | Тип | Значения/Описание |
524
- |------------|-----------|----------------------------------------------------|
525
- | `width` | `String` | Ширина элемента в процентах. |
526
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
527
- | `animate` | `String` | Добавляет анимацию в элемент. |
528
- | `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'`. |
529
531
 
530
532
 
531
533
  ### Пример использования / Example Usage
@@ -551,15 +553,15 @@ Default - Содержимое
551
553
  ### Свойства / Properties
552
554
 
553
555
 
554
- | Имя | Тип | Значения/Описание |
555
- |------------|-----------|---------------------------------------------------------|
556
- | `name` | `String` | Добавляет в атрибут `'name'`. |
557
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
558
- | `size` | `String` | Размер поля: `'large'`, `'small'`. |
559
- | `id` | `String` | Добавляет в атрибут `'id'`, `'checkbox'`- по умолчанию. |
560
- | `on` | `String` | Текст при true. |
561
- | `off` | `String` | Текст при false. |
562
- | `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` | Визуализирует как обычный чекбокс. |
563
565
 
564
566
  ### Слоты / Slots
565
567
 
@@ -588,9 +590,9 @@ Default - текст описания
588
590
  ### Свойства / Properties
589
591
 
590
592
 
591
- | Имя | Тип | Значения/Описание |
592
- |--------|----------|---------------------------------------|
593
- | `data` | `Array` | Содержание таблицы - массив объектов. |
593
+ | Имя | Тип | По умолчанию | Значения/Описание |
594
+ |--------|----------|--------------|----------------------------------------------------|
595
+ | `data` | `Array` | `required` | Содержание таблицы - обязательный массив объектов. |
594
596
 
595
597
  ### Слоты / Slots
596
598
 
@@ -621,9 +623,9 @@ Default - текст описания
621
623
  ### Свойства / Properties
622
624
 
623
625
 
624
- | Имя | Тип | Значения/Описание |
625
- |---------|-----------|---------------------------------------------------------|
626
- | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
626
+ | Имя | Тип | По умолчанию | Значения/Описание |
627
+ |---------|-----------|--------------|----------------------------------------------------|
628
+ | `class` | `String` | `sw-tabs` | Добавляет пользовательский CSS-класс к компоненту. |
627
629
 
628
630
  ### Слоты / Slots
629
631
 
@@ -648,10 +650,10 @@ Default - для компонентов SwTabsPane
648
650
  ### Свойства / Properties
649
651
 
650
652
 
651
- | Имя | Тип | Значения/Описание |
652
- |---------|-----------|-----------------------------------------------------------------------------------------|
653
- | `title` | `String` | название унификатор - обязателен при отсутствии `label` будет взят за название вкладки. |
654
- | `label` | `String` | название вкладки при отсутствии возьмется из `title`. |
653
+ | Имя | Тип | По умолчанию | Значения/Описание |
654
+ |---------|-----------|--------------|-----------------------------------------------------------------------------------------|
655
+ | `title` | `String` | `` | Название унификатор - обязателен при отсутствии `label` будет взят за название вкладки. |
656
+ | `label` | `String` | `` | Название вкладки при отсутствии возьмется из `title`. |
655
657
 
656
658
  ### Слоты / Slots
657
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-BU4MvzL6.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
+ };