vgapp 1.5.7 → 1.5.8
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/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 +1 -1
- package/app/modules/vgalert/js/vgalert.js +7 -7
- package/app/modules/vgalert/scss/_variables.scss +16 -16
- 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/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/zip-modal.js +522 -522
- package/app/modules/vgfilepreview/js/renderers/zip.js +89 -89
- package/app/modules/vgfilepreview/readme.md +68 -68
- package/app/modules/vgfiles/js/base.js +198 -198
- package/app/modules/vgfiles/js/droppable.js +17 -17
- package/app/modules/vgfiles/js/render.js +153 -153
- package/app/modules/vgfiles/js/sortable.js +52 -52
- package/app/modules/vgfiles/js/vgfiles.js +43 -43
- package/app/modules/vgfiles/readme.md +123 -123
- package/app/modules/vgfiles/scss/_mixins.scss +13 -13
- package/app/modules/vgfiles/scss/_variables.scss +10 -10
- package/app/modules/vgfiles/scss/vgfiles.scss +28 -28
- package/app/modules/vgformsender/js/hideshowpass.js +22 -22
- 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 +19 -19
- 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 +9 -9
- 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 +62 -62
- 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/vgrangeslider/js/skins.js +8 -8
- package/app/modules/vgrangeslider/js/vgrangeslider.js +29 -29
- package/app/modules/vgrangeslider/scss/_variables.scss +55 -55
- package/app/modules/vgrangeslider/scss/vgrangeslider.scss +239 -239
- package/app/modules/vgrollup/js/vgrollup.js +15 -15
- package/app/modules/vgrollup/scss/_variables.scss +15 -15
- package/app/modules/vgrollup/scss/vgrollup.scss +6 -6
- package/app/modules/vgselect/js/handlers.js +6 -6
- package/app/modules/vgselect/js/vgselect.js +167 -123
- package/app/modules/vgselect/readme.md +11 -11
- package/app/modules/vgselect/scss/_variables.scss +51 -51
- package/app/modules/vgselect/scss/vgselect.scss +1 -1
- package/app/modules/vgsidebar/js/vgsidebar.js +21 -21
- package/app/modules/vgsidebar/scss/_variables.scss +10 -10
- package/app/modules/vgsidebar/scss/vgsidebar.scss +5 -5
- package/app/modules/vgspy/js/vgspy.js +43 -43
- package/app/modules/vgtable/js/_filters.js +10 -6
- package/app/modules/vgtable/js/_options.js +16 -16
- package/app/modules/vgtable/js/_pagination.js +118 -118
- package/app/modules/vgtable/js/_responsive.js +79 -79
- package/app/modules/vgtable/js/_sticky-header.js +349 -280
- package/app/modules/vgtable/js/vgtable.js +98 -98
- package/app/modules/vgtable/scss/_sorting.scss +6 -6
- package/app/modules/vgtable/scss/_sticky-header.scss +31 -31
- package/app/modules/vgtable/scss/_variables.scss +6 -4
- package/app/modules/vgtable/scss/vgtable.scss +8 -4
- package/app/modules/vgtabs/js/vgtabs.js +91 -91
- package/app/modules/vgtabs/scss/_variables.scss +23 -23
- package/app/modules/vgtabs/scss/vgtabs.scss +5 -5
- package/app/modules/vgtoast/js/vgtoast.js +4 -4
- 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 +127 -127
- 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 +7 -7
- package/app/utils/js/components/file-preview.js +304 -304
- package/app/utils/js/components/responsive.js +165 -165
- 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/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 +147 -147
- 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.js +7 -7
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Описание: визуальные режимы VGRangeSlider — default, ruler и status.
|
|
3
|
-
* Возможности: шкала с адаптивными координатами, активные отметки и пороговые цвета с текстовыми статусами.
|
|
4
|
-
*/
|
|
5
|
-
const SKIN_CLASS_DEFAULT = 'is-skin-default';
|
|
1
|
+
/**
|
|
2
|
+
* Описание: визуальные режимы VGRangeSlider — default, ruler и status.
|
|
3
|
+
* Возможности: шкала с адаптивными координатами, активные отметки и пороговые цвета с текстовыми статусами.
|
|
4
|
+
*/
|
|
5
|
+
const SKIN_CLASS_DEFAULT = 'is-skin-default';
|
|
6
6
|
const SKIN_CLASS_RULER = 'is-skin-ruler';
|
|
7
7
|
const SKIN_CLASS_STATUS = 'is-skin-status';
|
|
8
8
|
const SKIN_CLASS_RULER_DIM = 'is-ruler-dim-inactive';
|
|
@@ -210,9 +210,9 @@ const syncRangeSliderSkin = (skin, state, helpers) => {
|
|
|
210
210
|
|
|
211
211
|
const isRange = state.from !== state.to || helpers.isRange;
|
|
212
212
|
|
|
213
|
-
skin.ticks.forEach((tick, index) => {
|
|
214
|
-
const value = skin.values[index];
|
|
215
|
-
tick.style.left = `${helpers.toPositionPx(value)}px`;
|
|
213
|
+
skin.ticks.forEach((tick, index) => {
|
|
214
|
+
const value = skin.values[index];
|
|
215
|
+
tick.style.left = `${helpers.toPositionPx(value)}px`;
|
|
216
216
|
const isActive = isRange
|
|
217
217
|
? value >= state.from && value <= state.to
|
|
218
218
|
: value <= state.from;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Описание: одиночные и диапазонные слайдеры VGRangeSlider на нативных range-input.
|
|
3
|
-
* Возможности: Data API, шкала и статусы, форматирование, синхронизация формы, события и управление значениями.
|
|
4
|
-
*/
|
|
5
|
-
import BaseModule from "../../base-module";
|
|
1
|
+
/**
|
|
2
|
+
* Описание: одиночные и диапазонные слайдеры VGRangeSlider на нативных range-input.
|
|
3
|
+
* Возможности: Data API, шкала и статусы, форматирование, синхронизация формы, события и управление значениями.
|
|
4
|
+
*/
|
|
5
|
+
import BaseModule from "../../base-module";
|
|
6
6
|
import EventHandler from "../../../utils/js/dom/event";
|
|
7
7
|
import Selectors from "../../../utils/js/dom/selectors";
|
|
8
8
|
import { mergeDeepObject, normalizeData } from "../../../utils/js/functions";
|
|
@@ -263,10 +263,10 @@ class VGRangeSlider extends BaseModule {
|
|
|
263
263
|
this._dom.labelFrom = Selectors.find('.vg-range-slider__label--from', root);
|
|
264
264
|
this._dom.labelTo = Selectors.find('.vg-range-slider__label--to', root);
|
|
265
265
|
this._dom.labelSeparator = Selectors.find('.vg-range-slider__separator', root);
|
|
266
|
-
this._dom.hiddenMin ||= root.querySelector('input[data-vgrangeslider-hidden="min"]');
|
|
267
|
-
this._dom.hiddenMax ||= root.querySelector('input[data-vgrangeslider-hidden="max"]');
|
|
268
|
-
this._dom.skin = applyRangeSliderSkin(root, this._params, this._state, {
|
|
269
|
-
isRange: this._isRange,
|
|
266
|
+
this._dom.hiddenMin ||= root.querySelector('input[data-vgrangeslider-hidden="min"]');
|
|
267
|
+
this._dom.hiddenMax ||= root.querySelector('input[data-vgrangeslider-hidden="max"]');
|
|
268
|
+
this._dom.skin = applyRangeSliderSkin(root, this._params, this._state, {
|
|
269
|
+
isRange: this._isRange,
|
|
270
270
|
formatValue: (value) => this._formatValue(value),
|
|
271
271
|
toPositionPx: (value) => this._toPositionPx(value),
|
|
272
272
|
});
|
|
@@ -343,11 +343,11 @@ class VGRangeSlider extends BaseModule {
|
|
|
343
343
|
root.appendChild(this._createLabels(this._isRange));
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
-
if (this._isRange) {
|
|
347
|
-
this._dom.hiddenMin = this._ensureHiddenInput(root, 'min', this._params.input?.min, this._params.name?.min);
|
|
348
|
-
this._dom.hiddenMax = this._ensureHiddenInput(root, 'max', this._params.input?.max, this._params.name?.max);
|
|
349
|
-
} else if (this._params.name?.min) {
|
|
350
|
-
this._dom.hiddenMin = this._ensureHiddenInput(root, 'min', this._params.input?.min, this._params.name.min);
|
|
346
|
+
if (this._isRange) {
|
|
347
|
+
this._dom.hiddenMin = this._ensureHiddenInput(root, 'min', this._params.input?.min, this._params.name?.min);
|
|
348
|
+
this._dom.hiddenMax = this._ensureHiddenInput(root, 'max', this._params.input?.max, this._params.name?.max);
|
|
349
|
+
} else if (this._params.name?.min) {
|
|
350
|
+
this._dom.hiddenMin = this._ensureHiddenInput(root, 'min', this._params.input?.min, this._params.name.min);
|
|
351
351
|
}
|
|
352
352
|
|
|
353
353
|
return root;
|
|
@@ -404,8 +404,8 @@ class VGRangeSlider extends BaseModule {
|
|
|
404
404
|
if (name) input.name = name;
|
|
405
405
|
root.appendChild(input);
|
|
406
406
|
}
|
|
407
|
-
input.setAttribute('data-vgrangeslider-hidden', role);
|
|
408
|
-
return input;
|
|
407
|
+
input.setAttribute('data-vgrangeslider-hidden', role);
|
|
408
|
+
return input;
|
|
409
409
|
}
|
|
410
410
|
|
|
411
411
|
_bindEvents() {
|
|
@@ -448,8 +448,8 @@ class VGRangeSlider extends BaseModule {
|
|
|
448
448
|
window.addEventListener('resize', this._handleResize);
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
-
_syncUI() {
|
|
452
|
-
if (!this._isRange) this._state.to = this._state.from;
|
|
451
|
+
_syncUI() {
|
|
452
|
+
if (!this._isRange) this._state.to = this._state.from;
|
|
453
453
|
const fromPercent = this._toPercent(this._state.from);
|
|
454
454
|
const toPercent = this._toPercent(this._isRange ? this._state.to : this._state.from);
|
|
455
455
|
const fromPosition = this._toPositionPx(this._state.from);
|
|
@@ -474,11 +474,11 @@ class VGRangeSlider extends BaseModule {
|
|
|
474
474
|
if (this._dom.labelSeparator) this._dom.labelSeparator.hidden = !this._isRange;
|
|
475
475
|
|
|
476
476
|
this._syncTargets();
|
|
477
|
-
syncRangeSliderSkin(this._dom.skin, this._state, {
|
|
478
|
-
isRange: this._isRange,
|
|
479
|
-
params: this._params,
|
|
480
|
-
dom: this._dom,
|
|
481
|
-
toPositionPx: (value) => this._toPositionPx(value),
|
|
477
|
+
syncRangeSliderSkin(this._dom.skin, this._state, {
|
|
478
|
+
isRange: this._isRange,
|
|
479
|
+
params: this._params,
|
|
480
|
+
dom: this._dom,
|
|
481
|
+
toPositionPx: (value) => this._toPositionPx(value),
|
|
482
482
|
});
|
|
483
483
|
}
|
|
484
484
|
|
|
@@ -573,12 +573,12 @@ class VGRangeSlider extends BaseModule {
|
|
|
573
573
|
const numeric = Number(normalizeData(value));
|
|
574
574
|
const safeValue = Number.isFinite(numeric) ? numeric : fallback;
|
|
575
575
|
const clamped = Math.min(Math.max(safeValue, min), max);
|
|
576
|
-
const configuredStep = Number(this._state?.step ?? this._params.step);
|
|
577
|
-
const step = Number.isFinite(configuredStep) && configuredStep > 0 ? configuredStep : 1;
|
|
578
|
-
// Округление не должно выводить значение за max или с нативной сетки шага.
|
|
579
|
-
const maxSteps = Math.floor((max - min) / step + 1e-9);
|
|
580
|
-
const steps = Math.min(Math.round((clamped - min) / step), maxSteps);
|
|
581
|
-
const stepped = steps * step + min;
|
|
576
|
+
const configuredStep = Number(this._state?.step ?? this._params.step);
|
|
577
|
+
const step = Number.isFinite(configuredStep) && configuredStep > 0 ? configuredStep : 1;
|
|
578
|
+
// Округление не должно выводить значение за max или с нативной сетки шага.
|
|
579
|
+
const maxSteps = Math.floor((max - min) / step + 1e-9);
|
|
580
|
+
const steps = Math.min(Math.round((clamped - min) / step), maxSteps);
|
|
581
|
+
const stepped = steps * step + min;
|
|
582
582
|
return Number(stepped.toFixed(5));
|
|
583
583
|
}
|
|
584
584
|
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
@use "../../../utils/scss" as vg;
|
|
2
|
-
|
|
3
|
-
$range-slider-map: (
|
|
4
|
-
bg: var(--vg-control-muted-bg, #f1f4f8),
|
|
5
|
-
fill: var(--vg-control-strong-color, #111827),
|
|
6
|
-
thumb: var(--vg-control-bg, #ffffff),
|
|
7
|
-
thumb-border: var(--vg-control-strong-color, #111827),
|
|
8
|
-
text: var(--vg-control-strong-color, #111827),
|
|
9
|
-
muted: var(--vg-text-muted-color, #6b7280),
|
|
10
|
-
gap: 10px,
|
|
11
|
-
height: 6px,
|
|
12
|
-
radius: 999px,
|
|
13
|
-
z-ruler: 1,
|
|
14
|
-
z-track: 2,
|
|
15
|
-
z-fill: 3,
|
|
16
|
-
z-input: 4,
|
|
17
|
-
z-tooltip: 5,
|
|
18
|
-
wrapper-min-height: 36px,
|
|
19
|
-
wrapper-padding-top: 12px,
|
|
20
|
-
wrapper-padding-bottom: 6px,
|
|
21
|
-
input-height: 24px,
|
|
22
|
-
thumb-size: 18px,
|
|
23
|
-
thumb-border-width: 2px,
|
|
24
|
-
thumb-shadow: 0 2px 10px var(--vg-shadow-soft-color, rgba(17, 24, 39, .16)),
|
|
25
|
-
tooltip-bg: var(--vg-surface-inverse-bg, #111827),
|
|
26
|
-
tooltip-color: var(--vg-text-inverse-color, #ffffff),
|
|
27
|
-
tooltip-padding-y: 4px,
|
|
28
|
-
tooltip-padding-x: 8px,
|
|
29
|
-
tooltip-radius: 6px,
|
|
30
|
-
tooltip-shadow: 0 6px 18px var(--vg-shadow-soft-color, rgba(17, 24, 39, .18)),
|
|
31
|
-
tooltip-font-size: 12px,
|
|
32
|
-
tooltip-line-height: 1.2,
|
|
33
|
-
labels-gap: 6px,
|
|
34
|
-
labels-font-size: 13px,
|
|
35
|
-
labels-line-height: 1.4,
|
|
36
|
-
label-font-weight: 500,
|
|
37
|
-
ruler-mark-width: 1px,
|
|
38
|
-
ruler-mark-height: 8px,
|
|
39
|
-
ruler-mark-bg: var(--vg-control-mark-color, #cbd5e1),
|
|
40
|
-
ruler-gap-y: 13px,
|
|
41
|
-
ruler-label-offset: 8px,
|
|
42
|
-
ruler-label-font-size: 11px,
|
|
43
|
-
ruler-label-line-height: 1.2,
|
|
44
|
-
ruler-label-color: var(--vg-text-muted-color, #6b7280),
|
|
45
|
-
ruler-active-mark-bg: var(--vg-control-strong-color, #111827),
|
|
46
|
-
ruler-active-label-color: var(--vg-control-strong-color, #111827),
|
|
47
|
-
ruler-inactive-opacity: .5,
|
|
48
|
-
ruler-active-opacity: 1,
|
|
49
|
-
status-success: var(--vg-success-color, #{vg.$success}),
|
|
50
|
-
status-warning: var(--vg-warning-color, #{vg.$warning}),
|
|
51
|
-
status-danger: var(--vg-danger-color, #{vg.$danger}),
|
|
52
|
-
status-success-contrast: var(--vg-success-contrast-color, #ffffff),
|
|
53
|
-
status-warning-contrast: var(--vg-warning-contrast-color, #111827),
|
|
54
|
-
status-danger-contrast: var(--vg-danger-contrast-color, #ffffff),
|
|
55
|
-
) !default;
|
|
1
|
+
@use "../../../utils/scss" as vg;
|
|
2
|
+
|
|
3
|
+
$range-slider-map: (
|
|
4
|
+
bg: var(--vg-control-muted-bg, #f1f4f8),
|
|
5
|
+
fill: var(--vg-control-strong-color, #111827),
|
|
6
|
+
thumb: var(--vg-control-bg, #ffffff),
|
|
7
|
+
thumb-border: var(--vg-control-strong-color, #111827),
|
|
8
|
+
text: var(--vg-control-strong-color, #111827),
|
|
9
|
+
muted: var(--vg-text-muted-color, #6b7280),
|
|
10
|
+
gap: 10px,
|
|
11
|
+
height: 6px,
|
|
12
|
+
radius: 999px,
|
|
13
|
+
z-ruler: 1,
|
|
14
|
+
z-track: 2,
|
|
15
|
+
z-fill: 3,
|
|
16
|
+
z-input: 4,
|
|
17
|
+
z-tooltip: 5,
|
|
18
|
+
wrapper-min-height: 36px,
|
|
19
|
+
wrapper-padding-top: 12px,
|
|
20
|
+
wrapper-padding-bottom: 6px,
|
|
21
|
+
input-height: 24px,
|
|
22
|
+
thumb-size: 18px,
|
|
23
|
+
thumb-border-width: 2px,
|
|
24
|
+
thumb-shadow: 0 2px 10px var(--vg-shadow-soft-color, rgba(17, 24, 39, .16)),
|
|
25
|
+
tooltip-bg: var(--vg-surface-inverse-bg, #111827),
|
|
26
|
+
tooltip-color: var(--vg-text-inverse-color, #ffffff),
|
|
27
|
+
tooltip-padding-y: 4px,
|
|
28
|
+
tooltip-padding-x: 8px,
|
|
29
|
+
tooltip-radius: 6px,
|
|
30
|
+
tooltip-shadow: 0 6px 18px var(--vg-shadow-soft-color, rgba(17, 24, 39, .18)),
|
|
31
|
+
tooltip-font-size: 12px,
|
|
32
|
+
tooltip-line-height: 1.2,
|
|
33
|
+
labels-gap: 6px,
|
|
34
|
+
labels-font-size: 13px,
|
|
35
|
+
labels-line-height: 1.4,
|
|
36
|
+
label-font-weight: 500,
|
|
37
|
+
ruler-mark-width: 1px,
|
|
38
|
+
ruler-mark-height: 8px,
|
|
39
|
+
ruler-mark-bg: var(--vg-control-mark-color, #cbd5e1),
|
|
40
|
+
ruler-gap-y: 13px,
|
|
41
|
+
ruler-label-offset: 8px,
|
|
42
|
+
ruler-label-font-size: 11px,
|
|
43
|
+
ruler-label-line-height: 1.2,
|
|
44
|
+
ruler-label-color: var(--vg-text-muted-color, #6b7280),
|
|
45
|
+
ruler-active-mark-bg: var(--vg-control-strong-color, #111827),
|
|
46
|
+
ruler-active-label-color: var(--vg-control-strong-color, #111827),
|
|
47
|
+
ruler-inactive-opacity: .5,
|
|
48
|
+
ruler-active-opacity: 1,
|
|
49
|
+
status-success: var(--vg-success-color, #{vg.$success}),
|
|
50
|
+
status-warning: var(--vg-warning-color, #{vg.$warning}),
|
|
51
|
+
status-danger: var(--vg-danger-color, #{vg.$danger}),
|
|
52
|
+
status-success-contrast: var(--vg-success-contrast-color, #ffffff),
|
|
53
|
+
status-warning-contrast: var(--vg-warning-contrast-color, #111827),
|
|
54
|
+
status-danger-contrast: var(--vg-danger-contrast-color, #ffffff),
|
|
55
|
+
) !default;
|