vgapp 1.4.4 → 1.4.6
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 +270 -270
- package/app/langs/en/buttons.json +17 -17
- package/app/langs/en/messages.json +36 -36
- package/app/langs/ru/buttons.json +17 -17
- package/app/langs/ru/messages.json +36 -36
- package/app/modules/vgalert/js/vgalert.js +266 -266
- package/app/modules/vgalert/scss/_variables.scss +16 -16
- package/app/modules/vgalert/scss/vgalert.scss +107 -107
- package/app/modules/vgcollapse/scss/_variables.scss +7 -7
- package/app/modules/vgcollapse/scss/vgcollapse.scss +5 -5
- package/app/modules/vgdropdown/scss/_variables.scss +14 -14
- package/app/modules/vgdropdown/scss/vgdropdown.scss +5 -5
- package/app/modules/vgdynamictable/index.js +4 -4
- package/app/modules/vgdynamictable/js/filters.js +21 -21
- package/app/modules/vgdynamictable/js/fixed.js +179 -179
- package/app/modules/vgdynamictable/js/options.js +3 -3
- package/app/modules/vgdynamictable/js/pagination.js +1 -1
- package/app/modules/vgdynamictable/js/search.js +12 -12
- package/app/modules/vgdynamictable/js/skeleton.js +27 -19
- package/app/modules/vgdynamictable/js/sortable.js +71 -71
- package/app/modules/vgdynamictable/js/summary-footer.js +28 -28
- package/app/modules/vgdynamictable/js/table-url-state.js +31 -31
- package/app/modules/vgdynamictable/js/utils/common.js +48 -48
- package/app/modules/vgdynamictable/js/vgdynamictable.js +79 -79
- package/app/modules/vgdynamictable/scss/_actions.scss +19 -19
- package/app/modules/vgdynamictable/scss/_pagination.scss +5 -5
- package/app/modules/vgdynamictable/scss/_skeleton.scss +11 -11
- package/app/modules/vgdynamictable/scss/_sortable.scss +28 -28
- package/app/modules/vgdynamictable/scss/_table.scss +7 -30
- package/app/modules/vgdynamictable/scss/_variables.scss +46 -46
- package/app/modules/vgdynamictable/scss/vgdynamictable.scss +28 -36
- package/app/modules/vgfilepreview/js/i18n.js +56 -56
- package/app/modules/vgfilepreview/js/renderers/image-modal.js +145 -145
- package/app/modules/vgfilepreview/js/renderers/image.js +92 -92
- package/app/modules/vgfilepreview/js/renderers/index.js +19 -19
- package/app/modules/vgfilepreview/js/renderers/office-modal.js +168 -168
- package/app/modules/vgfilepreview/js/renderers/office.js +79 -79
- package/app/modules/vgfilepreview/js/renderers/pdf-modal.js +260 -260
- package/app/modules/vgfilepreview/js/renderers/pdf.js +76 -76
- package/app/modules/vgfilepreview/js/renderers/playlist.js +71 -71
- package/app/modules/vgfilepreview/js/renderers/text-modal.js +343 -343
- package/app/modules/vgfilepreview/js/renderers/text.js +83 -83
- package/app/modules/vgfilepreview/js/renderers/video-modal.js +272 -272
- package/app/modules/vgfilepreview/js/renderers/video.js +80 -80
- package/app/modules/vgfilepreview/js/renderers/zip-modal.js +522 -522
- package/app/modules/vgfilepreview/js/renderers/zip.js +89 -89
- package/app/modules/vgfilepreview/js/vgfilepreview.js +7 -7
- package/app/modules/vgfilepreview/readme.md +68 -68
- package/app/modules/vgfilepreview/scss/_variables.scss +115 -115
- package/app/modules/vgfilepreview/scss/vgfilepreview.scss +463 -463
- package/app/modules/vgfiles/js/droppable.js +20 -9
- package/app/modules/vgfiles/js/render.js +153 -153
- package/app/modules/vgfiles/js/vgfiles.js +104 -104
- package/app/modules/vgfiles/readme.md +123 -123
- package/app/modules/vgfiles/scss/_mixins.scss +9 -9
- package/app/modules/vgfiles/scss/_variables.scss +41 -41
- package/app/modules/vgfiles/scss/vgfiles.scss +161 -161
- package/app/modules/vgformsender/js/hideshowpass.js +21 -16
- package/app/modules/vgformsender/js/vgformsender.js +4 -6
- package/app/modules/vgformsender/readme.md +1 -1
- package/app/modules/vgformsender/scss/_variables.scss +5 -5
- package/app/modules/vgformsender/scss/vgformsender.scss +42 -42
- package/app/modules/vglawcookie/js/vglawcookie.js +11 -8
- package/app/modules/vglawcookie/scss/_variables.scss +13 -13
- package/app/modules/vglawcookie/scss/vglawcookie.scss +5 -5
- package/app/modules/vgmodal/js/vgmodal.interaction.js +216 -216
- package/app/modules/vgmodal/js/vgmodal.js +355 -355
- package/app/modules/vgmodal/js/vgmodal.minimized.js +227 -227
- package/app/modules/vgmodal/scss/_variables.scss +17 -17
- package/app/modules/vgmodal/scss/vgmodal.scss +77 -77
- package/app/modules/vgnav/js/vgnav.js +180 -180
- package/app/modules/vgnav/scss/_breakpoints.scss +36 -36
- package/app/modules/vgnav/scss/_hamburger.scss +5 -5
- package/app/modules/vgnav/scss/_placement.scss +5 -5
- package/app/modules/vgnav/scss/_toggle.scss +5 -5
- package/app/modules/vgnav/scss/_variables.scss +26 -26
- package/app/modules/vgnav/scss/vgnav.scss +41 -41
- package/app/modules/vgnestable/README.md +39 -39
- package/app/modules/vgnestable/js/vgnestable.js +358 -358
- package/app/modules/vgnestable/scss/_variables.scss +35 -35
- package/app/modules/vgnestable/scss/vgnestable.scss +55 -55
- package/app/modules/vgrangeslider/js/skins.js +222 -222
- package/app/modules/vgrangeslider/js/vgrangeslider.js +704 -704
- package/app/modules/vgrangeslider/scss/_variables.scss +55 -55
- package/app/modules/vgrangeslider/scss/vgrangeslider.scss +239 -239
- package/app/modules/vgrollup/scss/_variables.scss +15 -15
- package/app/modules/vgrollup/scss/vgrollup.scss +6 -6
- package/app/modules/vgselect/js/vgselect.js +129 -129
- package/app/modules/vgselect/readme.md +11 -11
- package/app/modules/vgselect/scss/_variables.scss +50 -50
- package/app/modules/vgselect/scss/vgselect.scss +48 -48
- package/app/modules/vgsidebar/js/vgsidebar.js +79 -79
- package/app/modules/vgsidebar/scss/_variables.scss +10 -10
- package/app/modules/vgsidebar/scss/vgsidebar.scss +5 -5
- package/app/modules/vgtabs/scss/_variables.scss +23 -23
- package/app/modules/vgtabs/scss/vgtabs.scss +5 -5
- package/app/modules/vgtoast/scss/_variables.scss +13 -13
- package/app/modules/vgtoast/scss/vgtoast.scss +5 -5
- package/app/modules/vgtooltip/js/vgtooltip.js +107 -51
- package/app/modules/vgtooltip/scss/_variables.scss +10 -10
- package/app/modules/vgtooltip/scss/vgtooltip.scss +5 -5
- package/app/utils/js/components/audio-metadata.js +240 -240
- package/app/utils/js/components/backdrop.js +116 -116
- package/app/utils/js/components/file-icon.js +109 -109
- package/app/utils/js/components/file-preview.js +304 -304
- package/app/utils/js/components/sanitize.js +150 -150
- package/app/utils/js/components/video-metadata.js +140 -140
- package/app/utils/scss/_backdrop.scss +5 -5
- package/app/utils/scss/_theme-default.scss +12 -12
- package/app/utils/scss/_theme.scss +7 -7
- package/app/utils/scss/_tokens.scss +170 -170
- package/app/utils/scss/default.scss +9 -9
- package/app/utils/scss/functions.scss +21 -21
- package/app/utils/scss/index.scss +4 -4
- package/app/utils/scss/mixin.scss +16 -16
- package/app/utils/scss/variables.scss +105 -105
- package/app/vgapp.js +295 -295
- package/build/vgapp.css +1 -1
- package/build/vgapp.css.map +1 -1
- package/build/vgapp.js +1 -1
- package/build/vgapp.js.map +1 -1
- package/index.scss +20 -20
- package/package.json +4 -2
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# VGFiles
|
|
2
|
-
|
|
3
|
-
`VGFiles` — модуль загрузки и управления файлами с поддержкой локального режима и AJAX.
|
|
4
|
-
|
|
5
|
-
## Новые фичи
|
|
6
|
-
|
|
7
|
-
- Поддержка `replace` для single-mode (`limits.count = 1`): новый файл заменяет предыдущий без накопления.
|
|
8
|
-
- Переименование входящих файлов через `rename: true | (file, index) => string`.
|
|
9
|
-
- `smartdrop`: глобальная подсветка dropzone, если на экране только одна видимая зона дропа.
|
|
10
|
-
- Расширенный lifecycle для внешних файлов из `data-file`: парсинг `customData`, `src/image`, бинарных метаданных.
|
|
11
|
-
- Интеграция с `VGFilePreview` в info-списке (`ui.nameOnly: true`) для inline-аудио, скачивания и предпросмотра по клику.
|
|
12
|
-
- Авто-обогащение аудиофайлов метаданными (title/cover) через `extractAudioMetadata`.
|
|
13
|
-
- Гибкие confirm-хуки для удаления (`removes.single.confirm`, `removes.all.confirm`) с контрактом `accepted/data`.
|
|
14
|
-
- Повторная загрузка упавших файлов через `data-vg-reload="file"` и кнопки retry.
|
|
15
|
-
- Проброс `customData` файла в `data-*` атрибуты элементов списка.
|
|
16
|
-
|
|
17
|
-
## Базовые возможности
|
|
18
|
-
|
|
19
|
-
- Выбор файлов через `<input type="file">` и drag&drop.
|
|
20
|
-
- Лимиты: количество, размер файла, общий размер, MIME-типы.
|
|
21
|
-
- Режимы загрузки: `sequential` и `parallel`.
|
|
22
|
-
- Автоматическая/ручная инициализация.
|
|
23
|
-
- Сортировка загруженных файлов с сохранением порядка на сервере.
|
|
24
|
-
- Удаление одного файла и очистка всего списка.
|
|
25
|
-
|
|
26
|
-
## Инициализация
|
|
27
|
-
|
|
28
|
-
```js
|
|
29
|
-
const files = new VGFiles(document.querySelector('.vg-files'), {
|
|
30
|
-
ajax: true,
|
|
31
|
-
smartdrop: true,
|
|
32
|
-
rename: true,
|
|
33
|
-
replace: true,
|
|
34
|
-
uploads: {
|
|
35
|
-
route: '/api/upload',
|
|
36
|
-
mode: 'sequential'
|
|
37
|
-
},
|
|
38
|
-
limits: {
|
|
39
|
-
count: 10,
|
|
40
|
-
sizes: 5,
|
|
41
|
-
total: 50
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Ключевые параметры
|
|
47
|
-
|
|
48
|
-
- `allowed` — разрешить drag-drop режим и особенности drop-зоны.
|
|
49
|
-
- `ajax` — включить серверную загрузку.
|
|
50
|
-
- `replace` (`default: true`) — замена файла в single-mode.
|
|
51
|
-
- `rename` (`default: false`) — переименование файлов до добавления в список.
|
|
52
|
-
- `smartdrop` (`default: false`) — глобальная логика подсказки drop-зоны.
|
|
53
|
-
- `prepend` (`default: true`) — добавление новых файлов в начало.
|
|
54
|
-
- `uploads.mode` — `'sequential' | 'parallel'`.
|
|
55
|
-
- `uploads.maxParallel`, `uploads.maxConcurrent`, `uploads.retryAttempts`, `uploads.retryDelay`.
|
|
56
|
-
- `removes.single.confirm`, `removes.all.confirm` — кастомные confirm-обработчики.
|
|
57
|
-
- `sortable.enabled`, `sortable.route`, `sortable.handle`, `sortable.lists`.
|
|
58
|
-
|
|
59
|
-
## Внешние (уже загруженные) файлы
|
|
60
|
-
|
|
61
|
-
Модуль может стартовать с предзаполненным списком через `data-file` в `<li>`.
|
|
62
|
-
|
|
63
|
-
Поддерживаемые поля объекта:
|
|
64
|
-
|
|
65
|
-
- `id`, `name`, `size`, `type`, `src` (обязательный набор для валидного внешнего файла)
|
|
66
|
-
- `image` (опционально)
|
|
67
|
-
- `lastModified` / `last-modified` (опционально)
|
|
68
|
-
- любые дополнительные поля -> попадают в `customData`
|
|
69
|
-
|
|
70
|
-
`customData` дальше пробрасывается в `data-*` атрибуты элементов файла и может использоваться в шаблонах/интеграциях.
|
|
71
|
-
|
|
72
|
-
## AJAX-события и callbacks
|
|
73
|
-
|
|
74
|
-
DOM-события:
|
|
75
|
-
|
|
76
|
-
- `vg.files.change`
|
|
77
|
-
- `vg.files.upload.start`
|
|
78
|
-
- `vg.files.upload.progress`
|
|
79
|
-
- `vg.files.upload.complete`
|
|
80
|
-
- `vg.files.upload.error`
|
|
81
|
-
- `vg.files.upload.allComplete`
|
|
82
|
-
- `vg.files.remove`
|
|
83
|
-
- `vg.files.reload`
|
|
84
|
-
|
|
85
|
-
Callbacks (`params.callbacks`):
|
|
86
|
-
|
|
87
|
-
- `onInit`
|
|
88
|
-
- `onChange` (`{ files, input, inputFiles }`)
|
|
89
|
-
- `onUploadStart`
|
|
90
|
-
- `onUploadProgress`
|
|
91
|
-
- `onUploadComplete`
|
|
92
|
-
- `onUploadError`
|
|
93
|
-
- `onUploadAllComplete`
|
|
94
|
-
- `onRemoveFile`
|
|
95
|
-
- `onClear`
|
|
96
|
-
- `onReload`
|
|
97
|
-
|
|
98
|
-
## Удаление с кастомным confirm
|
|
99
|
-
|
|
100
|
-
Если передан `removes.single.confirm` или `removes.all.confirm`, модуль вызывает вашу функцию вместо стандартного `VGAlert`.
|
|
101
|
-
|
|
102
|
-
Контракт результата:
|
|
103
|
-
|
|
104
|
-
- `true` или `{ accepted: true }` — подтвердить.
|
|
105
|
-
- `false` или `{ accepted: false }` — отменить.
|
|
106
|
-
- `{ accepted: true, data }` — подтвердить и использовать готовый ответ удаления (без дополнительного AJAX-запроса).
|
|
107
|
-
|
|
108
|
-
## Статусы файлов
|
|
109
|
-
|
|
110
|
-
- `pending` — ожидает загрузки.
|
|
111
|
-
- `loading` — идет загрузка.
|
|
112
|
-
- `completed` — успешно загружен.
|
|
113
|
-
- `failing` — ошибка загрузки (доступен reload).
|
|
114
|
-
|
|
115
|
-
## Методы API
|
|
116
|
-
|
|
117
|
-
- `upload(file)`
|
|
118
|
-
- `uploadAll(files)`
|
|
119
|
-
- `reload(button)`
|
|
120
|
-
- `removeFile(button)`
|
|
121
|
-
- `clear(resetInput, uiOnly)`
|
|
122
|
-
- `dispose()`
|
|
123
|
-
|
|
1
|
+
# VGFiles
|
|
2
|
+
|
|
3
|
+
`VGFiles` — модуль загрузки и управления файлами с поддержкой локального режима и AJAX.
|
|
4
|
+
|
|
5
|
+
## Новые фичи
|
|
6
|
+
|
|
7
|
+
- Поддержка `replace` для single-mode (`limits.count = 1`): новый файл заменяет предыдущий без накопления.
|
|
8
|
+
- Переименование входящих файлов через `rename: true | (file, index) => string`.
|
|
9
|
+
- `smartdrop`: глобальная подсветка dropzone, если на экране только одна видимая зона дропа.
|
|
10
|
+
- Расширенный lifecycle для внешних файлов из `data-file`: парсинг `customData`, `src/image`, бинарных метаданных.
|
|
11
|
+
- Интеграция с `VGFilePreview` в info-списке (`ui.nameOnly: true`) для inline-аудио, скачивания и предпросмотра по клику.
|
|
12
|
+
- Авто-обогащение аудиофайлов метаданными (title/cover) через `extractAudioMetadata`.
|
|
13
|
+
- Гибкие confirm-хуки для удаления (`removes.single.confirm`, `removes.all.confirm`) с контрактом `accepted/data`.
|
|
14
|
+
- Повторная загрузка упавших файлов через `data-vg-reload="file"` и кнопки retry.
|
|
15
|
+
- Проброс `customData` файла в `data-*` атрибуты элементов списка.
|
|
16
|
+
|
|
17
|
+
## Базовые возможности
|
|
18
|
+
|
|
19
|
+
- Выбор файлов через `<input type="file">` и drag&drop.
|
|
20
|
+
- Лимиты: количество, размер файла, общий размер, MIME-типы.
|
|
21
|
+
- Режимы загрузки: `sequential` и `parallel`.
|
|
22
|
+
- Автоматическая/ручная инициализация.
|
|
23
|
+
- Сортировка загруженных файлов с сохранением порядка на сервере.
|
|
24
|
+
- Удаление одного файла и очистка всего списка.
|
|
25
|
+
|
|
26
|
+
## Инициализация
|
|
27
|
+
|
|
28
|
+
```js
|
|
29
|
+
const files = new VGFiles(document.querySelector('.vg-files'), {
|
|
30
|
+
ajax: true,
|
|
31
|
+
smartdrop: true,
|
|
32
|
+
rename: true,
|
|
33
|
+
replace: true,
|
|
34
|
+
uploads: {
|
|
35
|
+
route: '/api/upload',
|
|
36
|
+
mode: 'sequential'
|
|
37
|
+
},
|
|
38
|
+
limits: {
|
|
39
|
+
count: 10,
|
|
40
|
+
sizes: 5,
|
|
41
|
+
total: 50
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Ключевые параметры
|
|
47
|
+
|
|
48
|
+
- `allowed` — разрешить drag-drop режим и особенности drop-зоны.
|
|
49
|
+
- `ajax` — включить серверную загрузку.
|
|
50
|
+
- `replace` (`default: true`) — замена файла в single-mode.
|
|
51
|
+
- `rename` (`default: false`) — переименование файлов до добавления в список.
|
|
52
|
+
- `smartdrop` (`default: false`) — глобальная логика подсказки drop-зоны.
|
|
53
|
+
- `prepend` (`default: true`) — добавление новых файлов в начало.
|
|
54
|
+
- `uploads.mode` — `'sequential' | 'parallel'`.
|
|
55
|
+
- `uploads.maxParallel`, `uploads.maxConcurrent`, `uploads.retryAttempts`, `uploads.retryDelay`.
|
|
56
|
+
- `removes.single.confirm`, `removes.all.confirm` — кастомные confirm-обработчики.
|
|
57
|
+
- `sortable.enabled`, `sortable.route`, `sortable.handle`, `sortable.lists`.
|
|
58
|
+
|
|
59
|
+
## Внешние (уже загруженные) файлы
|
|
60
|
+
|
|
61
|
+
Модуль может стартовать с предзаполненным списком через `data-file` в `<li>`.
|
|
62
|
+
|
|
63
|
+
Поддерживаемые поля объекта:
|
|
64
|
+
|
|
65
|
+
- `id`, `name`, `size`, `type`, `src` (обязательный набор для валидного внешнего файла)
|
|
66
|
+
- `image` (опционально)
|
|
67
|
+
- `lastModified` / `last-modified` (опционально)
|
|
68
|
+
- любые дополнительные поля -> попадают в `customData`
|
|
69
|
+
|
|
70
|
+
`customData` дальше пробрасывается в `data-*` атрибуты элементов файла и может использоваться в шаблонах/интеграциях.
|
|
71
|
+
|
|
72
|
+
## AJAX-события и callbacks
|
|
73
|
+
|
|
74
|
+
DOM-события:
|
|
75
|
+
|
|
76
|
+
- `vg.files.change`
|
|
77
|
+
- `vg.files.upload.start`
|
|
78
|
+
- `vg.files.upload.progress`
|
|
79
|
+
- `vg.files.upload.complete`
|
|
80
|
+
- `vg.files.upload.error`
|
|
81
|
+
- `vg.files.upload.allComplete`
|
|
82
|
+
- `vg.files.remove`
|
|
83
|
+
- `vg.files.reload`
|
|
84
|
+
|
|
85
|
+
Callbacks (`params.callbacks`):
|
|
86
|
+
|
|
87
|
+
- `onInit`
|
|
88
|
+
- `onChange` (`{ files, input, inputFiles }`)
|
|
89
|
+
- `onUploadStart`
|
|
90
|
+
- `onUploadProgress`
|
|
91
|
+
- `onUploadComplete`
|
|
92
|
+
- `onUploadError`
|
|
93
|
+
- `onUploadAllComplete`
|
|
94
|
+
- `onRemoveFile`
|
|
95
|
+
- `onClear`
|
|
96
|
+
- `onReload`
|
|
97
|
+
|
|
98
|
+
## Удаление с кастомным confirm
|
|
99
|
+
|
|
100
|
+
Если передан `removes.single.confirm` или `removes.all.confirm`, модуль вызывает вашу функцию вместо стандартного `VGAlert`.
|
|
101
|
+
|
|
102
|
+
Контракт результата:
|
|
103
|
+
|
|
104
|
+
- `true` или `{ accepted: true }` — подтвердить.
|
|
105
|
+
- `false` или `{ accepted: false }` — отменить.
|
|
106
|
+
- `{ accepted: true, data }` — подтвердить и использовать готовый ответ удаления (без дополнительного AJAX-запроса).
|
|
107
|
+
|
|
108
|
+
## Статусы файлов
|
|
109
|
+
|
|
110
|
+
- `pending` — ожидает загрузки.
|
|
111
|
+
- `loading` — идет загрузка.
|
|
112
|
+
- `completed` — успешно загружен.
|
|
113
|
+
- `failing` — ошибка загрузки (доступен reload).
|
|
114
|
+
|
|
115
|
+
## Методы API
|
|
116
|
+
|
|
117
|
+
- `upload(file)`
|
|
118
|
+
- `uploadAll(files)`
|
|
119
|
+
- `reload(button)`
|
|
120
|
+
- `removeFile(button)`
|
|
121
|
+
- `clear(resetInput, uiOnly)`
|
|
122
|
+
- `dispose()`
|
|
123
|
+
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
&.loading {
|
|
39
|
-
--vg-button-color: var(--vg-text-color, var(--vg-body-color));
|
|
38
|
+
&.loading {
|
|
39
|
+
--vg-button-color: var(--vg-text-color, var(--vg-body-color));
|
|
40
40
|
|
|
41
41
|
> *:not(.file-remove) {
|
|
42
42
|
opacity: .52;
|
|
@@ -55,12 +55,12 @@
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
&.completed {
|
|
59
|
-
--vg-button-color: var(--vg-success-color, var(--vg-success));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
&.failing {
|
|
63
|
-
--vg-button-color: var(--vg-danger-color, var(--vg-danger));
|
|
58
|
+
&.completed {
|
|
59
|
+
--vg-button-color: var(--vg-success-color, var(--vg-success));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&.failing {
|
|
63
|
+
--vg-button-color: var(--vg-danger-color, var(--vg-danger));
|
|
64
64
|
|
|
65
65
|
> * {
|
|
66
66
|
opacity: .62;
|
|
@@ -70,4 +70,4 @@
|
|
|
70
70
|
opacity: 1;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
}
|
|
73
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
@use "../../../utils/scss" as vg;
|
|
2
|
-
|
|
3
|
-
$files-map: (
|
|
4
|
-
// label (уже используется в vgfiles.scss)
|
|
5
|
-
label-bg: var(--vg-surface-inverse-bg, #242424),
|
|
6
|
-
label-color: var(--vg-text-inverse-color, #ffffff),
|
|
7
|
-
label-border-color: var(--vg-border-strong-color, #343434),
|
|
1
|
+
@use "../../../utils/scss" as vg;
|
|
2
|
+
|
|
3
|
+
$files-map: (
|
|
4
|
+
// label (уже используется в vgfiles.scss)
|
|
5
|
+
label-bg: var(--vg-surface-inverse-bg, #242424),
|
|
6
|
+
label-color: var(--vg-text-inverse-color, #ffffff),
|
|
7
|
+
label-border-color: var(--vg-border-strong-color, #343434),
|
|
8
8
|
label-border-radius: 4px,
|
|
9
9
|
label-padding: 8px 24px,
|
|
10
10
|
label-padding-icon: 8px 16px,
|
|
@@ -14,21 +14,21 @@ $files-map: (
|
|
|
14
14
|
errors-font-size: 16px,
|
|
15
15
|
|
|
16
16
|
// drop zone
|
|
17
|
-
drop-bg: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
17
|
+
drop-bg: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
18
18
|
drop-border-width: 2px,
|
|
19
19
|
drop-border-style: dashed,
|
|
20
|
-
drop-border-color: var(--vg-secondary-color, var(--vg-secondary, #{vg.$color-muted})),
|
|
20
|
+
drop-border-color: var(--vg-secondary-color, var(--vg-secondary, #{vg.$color-muted})),
|
|
21
21
|
drop-radius: 8px,
|
|
22
22
|
drop-height: 250px,
|
|
23
23
|
drop-transition: all 0.2s ease,
|
|
24
24
|
|
|
25
25
|
drop-after-font-size: 14px,
|
|
26
|
-
drop-after-color: var(--vg-primary-color, #007bff),
|
|
26
|
+
drop-after-color: var(--vg-primary-color, #007bff),
|
|
27
27
|
drop-after-bottom: 10px,
|
|
28
28
|
|
|
29
|
-
drop-hover-border-color: var(--vg-primary-color, #007bff),
|
|
30
|
-
drop-hover-bg: var(--vg-primary-subtle-bg, #e3f2fd),
|
|
31
|
-
drop-hover-shadow: 0 0 10px var(--vg-primary-outline-color, rgba(0, 123, 255, .2)),
|
|
29
|
+
drop-hover-border-color: var(--vg-primary-color, #007bff),
|
|
30
|
+
drop-hover-bg: var(--vg-primary-subtle-bg, #e3f2fd),
|
|
31
|
+
drop-hover-shadow: 0 0 10px var(--vg-primary-outline-color, rgba(0, 123, 255, .2)),
|
|
32
32
|
|
|
33
33
|
drop-stripes-alpha: 0.03,
|
|
34
34
|
drop-stripes-size: 30px 30px,
|
|
@@ -38,9 +38,9 @@ $files-map: (
|
|
|
38
38
|
drop-message-gap: 8px,
|
|
39
39
|
drop-message-font-size: 14px,
|
|
40
40
|
drop-message-line-height: 22px,
|
|
41
|
-
drop-message-color: var(--vg-text-muted-color, #999999),
|
|
41
|
+
drop-message-color: var(--vg-text-muted-color, #999999),
|
|
42
42
|
drop-message-icon-size: 48px,
|
|
43
|
-
drop-message-icon-color: var(--vg-text-muted-color, #999999),
|
|
43
|
+
drop-message-icon-color: var(--vg-text-muted-color, #999999),
|
|
44
44
|
drop-message-padding: 1rem,
|
|
45
45
|
drop-message-margin: 0 0 1rem,
|
|
46
46
|
|
|
@@ -54,13 +54,13 @@ $files-map: (
|
|
|
54
54
|
drop-remove-offset: 10px,
|
|
55
55
|
drop-remove-size: 36px,
|
|
56
56
|
drop-remove-radius: 3px,
|
|
57
|
-
drop-remove-hover-bg: rgb(var(--vg-body-bg-rgb, 255 255 255) / .4),
|
|
57
|
+
drop-remove-hover-bg: rgb(var(--vg-body-bg-rgb, 255 255 255) / .4),
|
|
58
58
|
|
|
59
59
|
// stat
|
|
60
60
|
stat-padding: 12px 8px,
|
|
61
61
|
stat-gap: 1rem,
|
|
62
62
|
stat-mb: 1rem,
|
|
63
|
-
stat-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
63
|
+
stat-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
64
64
|
stat-title-fw: 600,
|
|
65
65
|
stat-count-font-size: 14px,
|
|
66
66
|
stat-count-ms: 6px,
|
|
@@ -68,50 +68,50 @@ $files-map: (
|
|
|
68
68
|
|
|
69
69
|
// info
|
|
70
70
|
info-mt: 1rem,
|
|
71
|
-
info-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
71
|
+
info-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
72
72
|
info-radius: 4px,
|
|
73
73
|
info-list-max-height: 360px,
|
|
74
74
|
|
|
75
|
-
info-gap: 8px,
|
|
76
|
-
info-padding: 8px,
|
|
77
|
-
info-border-bottom-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
78
|
-
info-hover-bg: rgb(var(--vg-secondary-bg-rgb, 245 245 245) / .4),
|
|
79
|
-
info-audio-progress-track: rgb(var(--vg-secondary-bg-rgb, 245 245 245) / .3),
|
|
80
|
-
info-audio-progress-fill: var(--vg-text-color, #{vg.$color}),
|
|
81
|
-
info-audio-progress-opacity: .33,
|
|
82
|
-
info-audio-row-min-height: 64px,
|
|
83
|
-
info-audio-image-size: 48px,
|
|
84
|
-
|
|
85
|
-
info-image-radius: 4px,
|
|
75
|
+
info-gap: 8px,
|
|
76
|
+
info-padding: 8px,
|
|
77
|
+
info-border-bottom-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
|
|
78
|
+
info-hover-bg: rgb(var(--vg-secondary-bg-rgb, 245 245 245) / .4),
|
|
79
|
+
info-audio-progress-track: rgb(var(--vg-secondary-bg-rgb, 245 245 245) / .3),
|
|
80
|
+
info-audio-progress-fill: var(--vg-text-color, #{vg.$color}),
|
|
81
|
+
info-audio-progress-opacity: .33,
|
|
82
|
+
info-audio-row-min-height: 64px,
|
|
83
|
+
info-audio-image-size: 48px,
|
|
84
|
+
|
|
85
|
+
info-image-radius: 4px,
|
|
86
86
|
info-iteration-font-size: 16px,
|
|
87
87
|
info-name-font-size: 16px,
|
|
88
88
|
info-size-font-size: 14px,
|
|
89
89
|
|
|
90
|
-
info-remove-icon-size: 16px,
|
|
91
|
-
info-row-remove-size: 22px,
|
|
92
|
-
info-row-remove-icon-size: 10px,
|
|
93
|
-
info-failing-actions-gap: 6px,
|
|
94
|
-
info-failing-actions-margin-start: 8px,
|
|
95
|
-
drop-failing-actions-gap: 6px,
|
|
90
|
+
info-remove-icon-size: 16px,
|
|
91
|
+
info-row-remove-size: 22px,
|
|
92
|
+
info-row-remove-icon-size: 10px,
|
|
93
|
+
info-failing-actions-gap: 6px,
|
|
94
|
+
info-failing-actions-margin-start: 8px,
|
|
95
|
+
drop-failing-actions-gap: 6px,
|
|
96
96
|
|
|
97
97
|
// legacy (оставлено для совместимости со старым API темы)
|
|
98
98
|
info-mb: 10px,
|
|
99
|
-
info-title-color: var(--vg-success-text-color, darkgreen),
|
|
99
|
+
info-title-color: var(--vg-success-text-color, darkgreen),
|
|
100
100
|
info-count-fw: 400,
|
|
101
101
|
info-count-fs: 14px,
|
|
102
|
-
info-count-color: var(--vg-text-muted-color, #999999),
|
|
102
|
+
info-count-color: var(--vg-text-muted-color, #999999),
|
|
103
103
|
info-dismiss-fs: 14px,
|
|
104
104
|
info-dismiss-ms: 10px,
|
|
105
105
|
info-image-width: 100px,
|
|
106
106
|
info-image-me: 15px,
|
|
107
107
|
info-image-mb: 15px,
|
|
108
108
|
info-image-padding: 5px,
|
|
109
|
-
info-image-border: vg.$border-width vg.$border-style var(--vg-control-border-color, #e0e0e0),
|
|
109
|
+
info-image-border: vg.$border-width vg.$border-style var(--vg-control-border-color, #e0e0e0),
|
|
110
110
|
info-list-fs: 15px,
|
|
111
111
|
info-list-mt: 7px,
|
|
112
112
|
info-list-span-fs: 12px,
|
|
113
|
-
info-list-span-color: var(--vg-text-muted-color, #999999),
|
|
113
|
+
info-list-span-color: var(--vg-text-muted-color, #999999),
|
|
114
114
|
info-list-span-me: 6px,
|
|
115
115
|
info-list-button-fs: 12px,
|
|
116
|
-
info-list-button-color: var(--vg-text-muted-color, #999999),
|
|
117
|
-
) !default;
|
|
116
|
+
info-list-button-color: var(--vg-text-muted-color, #999999),
|
|
117
|
+
) !default;
|