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,5 +1,5 @@
|
|
|
1
|
-
@mixin actions() {
|
|
2
|
-
[data-table-state] {
|
|
1
|
+
@mixin actions() {
|
|
2
|
+
[data-table-state] {
|
|
3
3
|
text-align: center;
|
|
4
4
|
padding: 18px 14px;
|
|
5
5
|
vertical-align: middle;
|
|
@@ -67,12 +67,12 @@ tbody tr[data-row-dragging="1"] {
|
|
|
67
67
|
opacity: 0.55;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
tbody tr[data-row-drag-over="before"] {
|
|
71
|
-
box-shadow: inset 0 2px 0 var(--vg-dynamic-table-actions-drag-indicator);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
tbody tr[data-row-drag-over="after"] {
|
|
75
|
-
box-shadow: inset 0 -2px 0 var(--vg-dynamic-table-actions-drag-indicator);
|
|
70
|
+
tbody tr[data-row-drag-over="before"] {
|
|
71
|
+
box-shadow: inset 0 2px 0 var(--vg-dynamic-table-actions-drag-indicator);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
tbody tr[data-row-drag-over="after"] {
|
|
75
|
+
box-shadow: inset 0 -2px 0 var(--vg-dynamic-table-actions-drag-indicator);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.vgdt-row-reorder-cell {
|
|
@@ -104,19 +104,19 @@ tbody tr[data-row-drag-over="after"] {
|
|
|
104
104
|
gap: 6px;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
.vgdt-row-action {
|
|
108
|
-
border: 1px solid var(--vg-dynamic-table-actions-danger-color);
|
|
109
|
-
background: transparent;
|
|
110
|
-
color: var(--vg-dynamic-table-actions-danger-color);
|
|
107
|
+
.vgdt-row-action {
|
|
108
|
+
border: 1px solid var(--vg-dynamic-table-actions-danger-color);
|
|
109
|
+
background: transparent;
|
|
110
|
+
color: var(--vg-dynamic-table-actions-danger-color);
|
|
111
111
|
border-radius: 8px;
|
|
112
112
|
padding: 5px 10px;
|
|
113
113
|
font-size: 12px;
|
|
114
114
|
cursor: pointer;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
.vgdt-row-action:hover {
|
|
118
|
-
background: var(--vg-dynamic-table-actions-danger-color);
|
|
119
|
-
color: var(--vg-dynamic-table-actions-danger-contrast);
|
|
117
|
+
.vgdt-row-action:hover {
|
|
118
|
+
background: var(--vg-dynamic-table-actions-danger-color);
|
|
119
|
+
color: var(--vg-dynamic-table-actions-danger-contrast);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
.vgdt-pan-hint {
|
|
@@ -185,12 +185,12 @@ tbody tr[data-row-drag-over="after"] {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
@media (hover: none), (pointer: coarse), (any-pointer: coarse), (any-hover: none) {
|
|
188
|
+
@media (hover: none), (pointer: coarse), (any-pointer: coarse), (any-hover: none) {
|
|
189
189
|
.vgdt-pan-hint {
|
|
190
190
|
display: none !important;
|
|
191
191
|
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
}
|
|
195
195
|
|
|
196
196
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@mixin pagination() {
|
|
2
|
-
&.table-pagination {
|
|
1
|
+
@mixin pagination() {
|
|
2
|
+
&.table-pagination {
|
|
3
3
|
.vgdt-pagination {
|
|
4
4
|
padding: var(--vg-dynamic-table-pagination-padding-y) var(--vg-dynamic-table-pagination-padding-x);
|
|
5
5
|
border-top: 1px solid var(--vg-dynamic-table-pagination-border-color);
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
.vgdt-page--ellipsis:hover .vgdt-ellipsis-chevron {
|
|
181
181
|
display: inline;
|
|
182
182
|
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
}
|
|
186
186
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
@mixin skeleton() {
|
|
2
|
-
.skeleton-row td {
|
|
3
|
-
padding: var(--vg-dynamic-table-skeleton-padding);
|
|
4
|
-
background: var(--vg-dynamic-table-skeleton-row-bg);
|
|
5
|
-
border-bottom-color: var(--vg-dynamic-table-skeleton-border-color);
|
|
6
|
-
height: var(--vgdt-skeleton-row-height, auto);
|
|
7
|
-
}
|
|
1
|
+
@mixin skeleton() {
|
|
2
|
+
.skeleton-row td {
|
|
3
|
+
padding: var(--vg-dynamic-table-skeleton-padding);
|
|
4
|
+
background: var(--vg-dynamic-table-skeleton-row-bg);
|
|
5
|
+
border-bottom-color: var(--vg-dynamic-table-skeleton-border-color);
|
|
6
|
+
height: var(--vgdt-skeleton-row-height, auto);
|
|
7
|
+
}
|
|
8
8
|
|
|
9
9
|
.skeleton-cell {
|
|
10
10
|
display: flex;
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
@keyframes skeleton-glow {
|
|
57
|
+
@keyframes skeleton-glow {
|
|
58
58
|
100% {
|
|
59
59
|
transform: translateX(120%);
|
|
60
60
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
@mixin sortable() {
|
|
2
|
-
&.table-sortable {
|
|
3
|
-
&[data-sort-hide-unsorted-arrows="1"] {
|
|
4
|
-
th[data-sortable="1"]:not([data-sort-direction]) {
|
|
5
|
-
.vgdt-sort-controls {
|
|
6
|
-
display: none;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
th[data-sortable="1"] {
|
|
12
|
-
position: relative;
|
|
13
|
-
cursor: pointer;
|
|
1
|
+
@mixin sortable() {
|
|
2
|
+
&.table-sortable {
|
|
3
|
+
&[data-sort-hide-unsorted-arrows="1"] {
|
|
4
|
+
th[data-sortable="1"]:not([data-sort-direction]) {
|
|
5
|
+
.vgdt-sort-controls {
|
|
6
|
+
display: none;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
th[data-sortable="1"] {
|
|
12
|
+
position: relative;
|
|
13
|
+
cursor: pointer;
|
|
14
14
|
|
|
15
15
|
.vgdt-sort-label {
|
|
16
16
|
display: inline-flex;
|
|
17
17
|
align-items: center;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
.vgdt-sort-controls {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
margin-left: var(--vg-dynamic-table-sortable-controls-right);
|
|
24
|
-
gap: var(--vg-dynamic-table-sortable-controls-gap);
|
|
25
|
-
|
|
26
|
-
&[hidden] {
|
|
27
|
-
display: none !important;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.vgdt-sort-arrow {
|
|
20
|
+
.vgdt-sort-controls {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
margin-left: var(--vg-dynamic-table-sortable-controls-right);
|
|
24
|
+
gap: var(--vg-dynamic-table-sortable-controls-gap);
|
|
25
|
+
|
|
26
|
+
&[hidden] {
|
|
27
|
+
display: none !important;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.vgdt-sort-arrow {
|
|
32
32
|
border: 0;
|
|
33
33
|
padding: 0;
|
|
34
34
|
width: var(--vg-dynamic-table-sortable-arrow-width);
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
box-shadow: 0 1px 0 var(--vg-dynamic-table-cell-border-color);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
}
|
|
66
66
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@mixin table() {
|
|
2
|
-
& table {
|
|
1
|
+
@mixin table() {
|
|
2
|
+
& table {
|
|
3
3
|
width: 100%;
|
|
4
4
|
border-collapse: separate;
|
|
5
5
|
border-spacing: 0;
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
background: var(--vg-dynamic-table-fixed-cell-background);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
tbody tr[data-expand-depth] td:first-child::before {
|
|
80
|
-
content: '';
|
|
81
|
-
display: inline-block;
|
|
79
|
+
tbody tr[data-expand-depth] td:first-child::before {
|
|
80
|
+
content: '';
|
|
81
|
+
display: inline-block;
|
|
82
82
|
width: calc(var(--vgdt-expand-depth, 0) * 16px);
|
|
83
83
|
height: 1px;
|
|
84
84
|
vertical-align: middle;
|
|
@@ -131,30 +131,7 @@
|
|
|
131
131
|
background: linear-gradient(to left, var(--vg-dynamic-table-fixed-shadow-color), transparent);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
thead tr:first-child th:first-child {
|
|
135
|
-
border-top-left-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
thead tr:first-child th:last-child {
|
|
139
|
-
border-top-right-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
tbody tr:last-child td:first-child {
|
|
143
|
-
border-bottom-left-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
tbody tr:last-child td:last-child {
|
|
147
|
-
border-bottom-right-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
tfoot tr:last-child td:first-child {
|
|
151
|
-
border-bottom-left-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
tfoot tr:last-child td:last-child {
|
|
155
|
-
border-bottom-right-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
134
|
}
|
|
160
135
|
|
|
136
|
+
}
|
|
137
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "../../../utils/scss" as vg;
|
|
3
|
-
|
|
4
|
-
$spacer: 1rem !default;
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use "../../../utils/scss" as vg;
|
|
3
|
+
|
|
4
|
+
$spacer: 1rem !default;
|
|
5
5
|
$spacers: (
|
|
6
6
|
0: 0,
|
|
7
7
|
1: $spacer * .25,
|
|
@@ -11,12 +11,12 @@ $spacers: (
|
|
|
11
11
|
5: $spacer * 3,
|
|
12
12
|
) !default;
|
|
13
13
|
|
|
14
|
-
$sizes-0: map.get($spacers, 0);
|
|
15
|
-
$sizes-1: map.get($spacers, 1);
|
|
16
|
-
$sizes-2: map.get($spacers, 2);
|
|
17
|
-
$sizes-3: map.get($spacers, 3);
|
|
18
|
-
$sizes-4: map.get($spacers, 4);
|
|
19
|
-
$sizes-5: map.get($spacers, 5);
|
|
14
|
+
$sizes-0: map.get($spacers, 0);
|
|
15
|
+
$sizes-1: map.get($spacers, 1);
|
|
16
|
+
$sizes-2: map.get($spacers, 2);
|
|
17
|
+
$sizes-3: map.get($spacers, 3);
|
|
18
|
+
$sizes-4: map.get($spacers, 4);
|
|
19
|
+
$sizes-5: map.get($spacers, 5);
|
|
20
20
|
|
|
21
21
|
$dynamic-table-map: (
|
|
22
22
|
wrap: (
|
|
@@ -31,22 +31,22 @@ $dynamic-table-map: (
|
|
|
31
31
|
font-size: $sizes-3,
|
|
32
32
|
row-content-height: 20px,
|
|
33
33
|
border-color: transparent,
|
|
34
|
-
text-color: var(--vg-text-color, #1f1f1f),
|
|
34
|
+
text-color: var(--vg-text-color, #1f1f1f),
|
|
35
35
|
),
|
|
36
36
|
header: (
|
|
37
37
|
font-weight: 600,
|
|
38
|
-
background: var(--vg-surface-muted-bg, #f7f4ef),
|
|
39
|
-
text-color: var(--vg-text-color, #1f1f1f),
|
|
38
|
+
background: var(--vg-surface-muted-bg, #f7f4ef),
|
|
39
|
+
text-color: var(--vg-text-color, #1f1f1f),
|
|
40
40
|
),
|
|
41
41
|
bordered: (
|
|
42
42
|
border-width: 1px,
|
|
43
|
-
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .1)),
|
|
43
|
+
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .1)),
|
|
44
44
|
),
|
|
45
45
|
striped: (
|
|
46
|
-
background: var(--vg-surface-subtle-bg, rgba(0, 0, 0, .03)),
|
|
46
|
+
background: var(--vg-surface-subtle-bg, rgba(0, 0, 0, .03)),
|
|
47
47
|
),
|
|
48
48
|
hover: (
|
|
49
|
-
background: var(--vg-surface-subtle-hover-bg, rgba(0, 0, 0, .05)),
|
|
49
|
+
background: var(--vg-surface-subtle-hover-bg, rgba(0, 0, 0, .05)),
|
|
50
50
|
),
|
|
51
51
|
table: (
|
|
52
52
|
min-width: 640px,
|
|
@@ -85,21 +85,21 @@ $dynamic-table-map: (
|
|
|
85
85
|
jump-width: 64px,
|
|
86
86
|
jump-gap: 6px,
|
|
87
87
|
jump-button-min-width: 54px,
|
|
88
|
-
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .08)),
|
|
89
|
-
toolbar-bg: var(--vg-surface-muted-bg, #faf8f4),
|
|
90
|
-
label-color: var(--vg-text-muted-color, #5f5a52),
|
|
91
|
-
button-border: vg.$border-width vg.$border-style var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
92
|
-
button-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
93
|
-
button-bg: var(--vg-control-bg, #ffffff),
|
|
94
|
-
button-text: var(--vg-text-color, #2e2a24),
|
|
95
|
-
button-hover-bg: var(--vg-surface-hover-bg, #f1ece4),
|
|
96
|
-
button-hover-border: var(--vg-border-color, rgba(0, 0, 0, .2)),
|
|
97
|
-
button-active-bg: var(--vg-primary-color, #24201b),
|
|
98
|
-
button-active-text: var(--vg-primary-contrast-color, #ffffff),
|
|
99
|
-
button-active-border: var(--vg-primary-color, #24201b),
|
|
100
|
-
per-page-bg: var(--vg-control-bg, #ffffff),
|
|
101
|
-
per-page-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
102
|
-
per-page-text: var(--vg-text-color, #2e2a24),
|
|
88
|
+
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .08)),
|
|
89
|
+
toolbar-bg: var(--vg-surface-muted-bg, #faf8f4),
|
|
90
|
+
label-color: var(--vg-text-muted-color, #5f5a52),
|
|
91
|
+
button-border: vg.$border-width vg.$border-style var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
92
|
+
button-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
93
|
+
button-bg: var(--vg-control-bg, #ffffff),
|
|
94
|
+
button-text: var(--vg-text-color, #2e2a24),
|
|
95
|
+
button-hover-bg: var(--vg-surface-hover-bg, #f1ece4),
|
|
96
|
+
button-hover-border: var(--vg-border-color, rgba(0, 0, 0, .2)),
|
|
97
|
+
button-active-bg: var(--vg-primary-color, #24201b),
|
|
98
|
+
button-active-text: var(--vg-primary-contrast-color, #ffffff),
|
|
99
|
+
button-active-border: var(--vg-primary-color, #24201b),
|
|
100
|
+
per-page-bg: var(--vg-control-bg, #ffffff),
|
|
101
|
+
per-page-border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .12)),
|
|
102
|
+
per-page-text: var(--vg-text-color, #2e2a24),
|
|
103
103
|
),
|
|
104
104
|
sortable: (
|
|
105
105
|
header-padding-right: 1.8rem,
|
|
@@ -112,27 +112,27 @@ $dynamic-table-map: (
|
|
|
112
112
|
arrow-opacity: 0.35,
|
|
113
113
|
arrow-active-opacity: 1,
|
|
114
114
|
arrow-color: currentColor,
|
|
115
|
-
column-highlight-background: var(--vg-primary-subtle-bg, rgba(191, 153, 92, .14)),
|
|
115
|
+
column-highlight-background: var(--vg-primary-subtle-bg, rgba(191, 153, 92, .14)),
|
|
116
116
|
),
|
|
117
117
|
fixed: (
|
|
118
118
|
shadow-width: 14px,
|
|
119
|
-
shadow-color: var(--vg-shadow-soft-color, rgba(0, 0, 0, .16)),
|
|
120
|
-
cell-background: var(--vg-surface-bg, rgba(247, 244, 239, .92)),
|
|
119
|
+
shadow-color: var(--vg-shadow-soft-color, rgba(0, 0, 0, .16)),
|
|
120
|
+
cell-background: var(--vg-surface-bg, rgba(247, 244, 239, .92)),
|
|
121
121
|
),
|
|
122
122
|
skeleton: (
|
|
123
123
|
padding: 12px 14px,
|
|
124
124
|
line-height: 10px,
|
|
125
125
|
radius: 999px,
|
|
126
126
|
duration: 1.2s,
|
|
127
|
-
row-bg: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .5),
|
|
128
|
-
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .04)),
|
|
129
|
-
glow: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .55),
|
|
130
|
-
gradient-1: var(--vg-control-border-color, #ebe6df),
|
|
131
|
-
gradient-2: var(--vg-surface-muted-bg, #f5f1ea),
|
|
132
|
-
),
|
|
133
|
-
actions: (
|
|
134
|
-
drag-indicator: var(--vg-primary-color, #3f8cff),
|
|
135
|
-
danger-color: var(--vg-danger-color, #a22929),
|
|
136
|
-
danger-contrast: var(--vg-danger-contrast-color, #ffffff),
|
|
137
|
-
),
|
|
138
|
-
) !default;
|
|
127
|
+
row-bg: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .5),
|
|
128
|
+
border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .04)),
|
|
129
|
+
glow: rgb(var(--vg-surface-bg-rgb, 255 255 255) / .55),
|
|
130
|
+
gradient-1: var(--vg-control-border-color, #ebe6df),
|
|
131
|
+
gradient-2: var(--vg-surface-muted-bg, #f5f1ea),
|
|
132
|
+
),
|
|
133
|
+
actions: (
|
|
134
|
+
drag-indicator: var(--vg-primary-color, #3f8cff),
|
|
135
|
+
danger-color: var(--vg-danger-color, #a22929),
|
|
136
|
+
danger-contrast: var(--vg-danger-contrast-color, #ffffff),
|
|
137
|
+
),
|
|
138
|
+
) !default;
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
*--------------------------------------------------------------------------
|
|
7
7
|
**/
|
|
8
8
|
|
|
9
|
-
@forward "variables";
|
|
10
|
-
@use "../../../utils/scss" as vg;
|
|
11
|
-
@use "actions";
|
|
12
|
-
@use "pagination";
|
|
13
|
-
@use "skeleton";
|
|
14
|
-
@use "sortable";
|
|
15
|
-
@use "table" as table-styles;
|
|
16
|
-
@use "variables" as vars;
|
|
9
|
+
@forward "variables";
|
|
10
|
+
@use "../../../utils/scss" as vg;
|
|
11
|
+
@use "actions";
|
|
12
|
+
@use "pagination";
|
|
13
|
+
@use "skeleton";
|
|
14
|
+
@use "sortable";
|
|
15
|
+
@use "table" as table-styles;
|
|
16
|
+
@use "variables" as vars;
|
|
17
17
|
|
|
18
18
|
.vg-dynamic-table {
|
|
19
|
-
@include vg.mix-vars('dynamic-table', vars.$dynamic-table-map);
|
|
19
|
+
@include vg.mix-vars('dynamic-table', vars.$dynamic-table-map);
|
|
20
20
|
background: var(--vg-dynamic-table-wrap-background);
|
|
21
21
|
border-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
22
22
|
box-shadow: var(--vg-dynamic-table-wrap-box-shadow);
|
|
@@ -60,11 +60,11 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
@include pagination.pagination();
|
|
64
|
-
@include sortable.sortable();
|
|
65
|
-
@include table-styles.table();
|
|
66
|
-
@include skeleton.skeleton();
|
|
67
|
-
@include actions.actions();
|
|
63
|
+
@include pagination.pagination();
|
|
64
|
+
@include sortable.sortable();
|
|
65
|
+
@include table-styles.table();
|
|
66
|
+
@include skeleton.skeleton();
|
|
67
|
+
@include actions.actions();
|
|
68
68
|
|
|
69
69
|
&.table-striped {
|
|
70
70
|
tbody {
|
|
@@ -159,14 +159,14 @@
|
|
|
159
159
|
&.table-sticky-head {
|
|
160
160
|
overflow: visible;
|
|
161
161
|
|
|
162
|
-
.vgdt-table-viewport > table {
|
|
163
|
-
overflow: visible;
|
|
164
|
-
|
|
165
|
-
thead th {
|
|
166
|
-
position: sticky;
|
|
167
|
-
top: var(--vgdt-sticky-top, 0px);
|
|
168
|
-
z-index: 3;
|
|
169
|
-
background: var(--vg-dynamic-table-header-background);
|
|
162
|
+
.vgdt-table-viewport > table {
|
|
163
|
+
overflow: visible;
|
|
164
|
+
|
|
165
|
+
thead th {
|
|
166
|
+
position: sticky;
|
|
167
|
+
top: var(--vgdt-sticky-top, 0px);
|
|
168
|
+
z-index: 3;
|
|
169
|
+
background: var(--vg-dynamic-table-header-background);
|
|
170
170
|
box-shadow: 0 1px 0 var(--vg-dynamic-table-cell-border-color);
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -251,24 +251,16 @@
|
|
|
251
251
|
background: linear-gradient(to left, var(--vg-dynamic-table-fixed-shadow-color), transparent);
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
.vgdt-
|
|
255
|
-
border-top-left-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
.vgdt-sticky-clone thead tr:first-child th:last-child {
|
|
259
|
-
border-top-right-radius: var(--vg-dynamic-table-wrap-border-radius);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
.vgdt-table-viewport.table-sticky-scroll {
|
|
254
|
+
.vgdt-table-viewport.table-sticky-scroll {
|
|
263
255
|
max-height: var(--vgdt-sticky-max-height, 0px);
|
|
264
256
|
overflow: auto;
|
|
265
257
|
}
|
|
266
258
|
|
|
267
|
-
.vgdt-table-viewport > table {
|
|
268
|
-
overflow: visible;
|
|
269
|
-
margin-top: calc(-1 * var(--vgdt-sticky-clone-height, 0px));
|
|
270
|
-
}
|
|
271
|
-
}
|
|
259
|
+
.vgdt-table-viewport > table {
|
|
260
|
+
overflow: visible;
|
|
261
|
+
margin-top: calc(-1 * var(--vgdt-sticky-clone-height, 0px));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
272
264
|
|
|
273
265
|
}
|
|
274
266
|
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { lang_buttons, lang_messages } from "../../../utils/js/components/lang";
|
|
2
|
-
|
|
3
|
-
const SUPPORTED_LANGS = new Set(["ru", "en"]);
|
|
4
|
-
|
|
5
|
-
const normalizeLang = (value, fallback = "ru") => {
|
|
6
|
-
const candidate = String(value || "").trim().toLowerCase();
|
|
7
|
-
if (!candidate) {
|
|
8
|
-
return fallback;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const short = candidate.split("-")[0];
|
|
12
|
-
return SUPPORTED_LANGS.has(short) ? short : fallback;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const resolveFilePreviewLang = (paramsLang, element) => {
|
|
16
|
-
const fromParams = normalizeLang(paramsLang, "");
|
|
17
|
-
if (fromParams) {
|
|
18
|
-
return fromParams;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const fromElement = normalizeLang(element?.getAttribute("lang"), "");
|
|
22
|
-
if (fromElement) {
|
|
23
|
-
return fromElement;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const fromClosest = normalizeLang(element?.closest("[lang]")?.getAttribute("lang"), "");
|
|
27
|
-
if (fromClosest) {
|
|
28
|
-
return fromClosest;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const fromHtml = normalizeLang(document?.documentElement?.getAttribute("lang"), "");
|
|
32
|
-
if (fromHtml) {
|
|
33
|
-
return fromHtml;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const fromNavigator = normalizeLang(window?.navigator?.language, "");
|
|
37
|
-
if (fromNavigator) {
|
|
38
|
-
return fromNavigator;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return "ru";
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const createFilePreviewI18n = (lang = "ru") => {
|
|
45
|
-
const normalizedLang = normalizeLang(lang, "ru");
|
|
46
|
-
const messages = lang_messages(normalizedLang, "filepreview") || {};
|
|
47
|
-
const buttons = lang_buttons(normalizedLang, "filepreview") || {};
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
lang: normalizedLang,
|
|
51
|
-
message: (key, fallback = "") => messages[key] || fallback,
|
|
52
|
-
button: (key, fallback = "") => buttons[key] || fallback
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export { createFilePreviewI18n, resolveFilePreviewLang };
|
|
1
|
+
import { lang_buttons, lang_messages } from "../../../utils/js/components/lang";
|
|
2
|
+
|
|
3
|
+
const SUPPORTED_LANGS = new Set(["ru", "en"]);
|
|
4
|
+
|
|
5
|
+
const normalizeLang = (value, fallback = "ru") => {
|
|
6
|
+
const candidate = String(value || "").trim().toLowerCase();
|
|
7
|
+
if (!candidate) {
|
|
8
|
+
return fallback;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const short = candidate.split("-")[0];
|
|
12
|
+
return SUPPORTED_LANGS.has(short) ? short : fallback;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const resolveFilePreviewLang = (paramsLang, element) => {
|
|
16
|
+
const fromParams = normalizeLang(paramsLang, "");
|
|
17
|
+
if (fromParams) {
|
|
18
|
+
return fromParams;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const fromElement = normalizeLang(element?.getAttribute("lang"), "");
|
|
22
|
+
if (fromElement) {
|
|
23
|
+
return fromElement;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const fromClosest = normalizeLang(element?.closest("[lang]")?.getAttribute("lang"), "");
|
|
27
|
+
if (fromClosest) {
|
|
28
|
+
return fromClosest;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const fromHtml = normalizeLang(document?.documentElement?.getAttribute("lang"), "");
|
|
32
|
+
if (fromHtml) {
|
|
33
|
+
return fromHtml;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const fromNavigator = normalizeLang(window?.navigator?.language, "");
|
|
37
|
+
if (fromNavigator) {
|
|
38
|
+
return fromNavigator;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return "ru";
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const createFilePreviewI18n = (lang = "ru") => {
|
|
45
|
+
const normalizedLang = normalizeLang(lang, "ru");
|
|
46
|
+
const messages = lang_messages(normalizedLang, "filepreview") || {};
|
|
47
|
+
const buttons = lang_buttons(normalizedLang, "filepreview") || {};
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
lang: normalizedLang,
|
|
51
|
+
message: (key, fallback = "") => messages[key] || fallback,
|
|
52
|
+
button: (key, fallback = "") => buttons[key] || fallback
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { createFilePreviewI18n, resolveFilePreviewLang };
|