vgapp 1.4.3 → 1.4.5

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.
Files changed (71) hide show
  1. package/README.md +251 -162
  2. package/app/modules/vgalert/scss/_variables.scss +6 -4
  3. package/app/modules/vgalert/scss/vgalert.scss +7 -8
  4. package/app/modules/vgcollapse/scss/_variables.scss +7 -5
  5. package/app/modules/vgcollapse/scss/vgcollapse.scss +5 -6
  6. package/app/modules/vgdropdown/scss/_variables.scss +14 -12
  7. package/app/modules/vgdropdown/scss/vgdropdown.scss +5 -6
  8. package/app/modules/vgdynamictable/scss/_actions.scss +19 -16
  9. package/app/modules/vgdynamictable/scss/_pagination.scss +5 -2
  10. package/app/modules/vgdynamictable/scss/_skeleton.scss +5 -2
  11. package/app/modules/vgdynamictable/scss/_sortable.scss +4 -1
  12. package/app/modules/vgdynamictable/scss/_table.scss +4 -1
  13. package/app/modules/vgdynamictable/scss/_variables.scss +46 -38
  14. package/app/modules/vgdynamictable/scss/vgdynamictable.scss +14 -10
  15. package/app/modules/vgfilepreview/scss/_variables.scss +20 -18
  16. package/app/modules/vgfilepreview/scss/vgfilepreview.scss +4 -5
  17. package/app/modules/vgfiles/scss/_mixins.scss +9 -9
  18. package/app/modules/vgfiles/scss/_variables.scss +28 -26
  19. package/app/modules/vgfiles/scss/vgfiles.scss +13 -14
  20. package/app/modules/vgformsender/js/hideshowpass.js +6 -1
  21. package/app/modules/vgformsender/js/vgformsender.js +7 -9
  22. package/app/modules/vgformsender/readme.md +1 -1
  23. package/app/modules/vgformsender/scss/_variables.scss +5 -3
  24. package/app/modules/vgformsender/scss/vgformsender.scss +10 -11
  25. package/app/modules/vglawcookie/js/vglawcookie.js +19 -16
  26. package/app/modules/vglawcookie/scss/_variables.scss +13 -11
  27. package/app/modules/vglawcookie/scss/vglawcookie.scss +5 -6
  28. package/app/modules/vgmodal/scss/_variables.scss +17 -15
  29. package/app/modules/vgmodal/scss/vgmodal.scss +10 -11
  30. package/app/modules/vgnav/scss/_breakpoints.scss +36 -20
  31. package/app/modules/vgnav/scss/_hamburger.scss +5 -2
  32. package/app/modules/vgnav/scss/_placement.scss +5 -2
  33. package/app/modules/vgnav/scss/_toggle.scss +5 -2
  34. package/app/modules/vgnav/scss/_variables.scss +26 -23
  35. package/app/modules/vgnav/scss/vgnav.scss +20 -16
  36. package/app/modules/vgnestable/scss/_variables.scss +29 -27
  37. package/app/modules/vgnestable/scss/vgnestable.scss +4 -5
  38. package/app/modules/vgrangeslider/scss/_variables.scss +23 -21
  39. package/app/modules/vgrangeslider/scss/vgrangeslider.scss +4 -5
  40. package/app/modules/vgrollup/scss/_variables.scss +15 -8
  41. package/app/modules/vgrollup/scss/vgrollup.scss +6 -7
  42. package/app/modules/vgselect/scss/_variables.scss +50 -48
  43. package/app/modules/vgselect/scss/vgselect.scss +26 -27
  44. package/app/modules/vgsidebar/scss/_variables.scss +10 -8
  45. package/app/modules/vgsidebar/scss/vgsidebar.scss +5 -6
  46. package/app/modules/vgtabs/scss/_variables.scss +23 -20
  47. package/app/modules/vgtabs/scss/vgtabs.scss +5 -6
  48. package/app/modules/vgtoast/scss/_variables.scss +13 -11
  49. package/app/modules/vgtoast/scss/vgtoast.scss +5 -6
  50. package/app/modules/vgtooltip/scss/_variables.scss +10 -8
  51. package/app/modules/vgtooltip/scss/vgtooltip.scss +5 -6
  52. package/app/utils/scss/_backdrop.scss +19 -0
  53. package/app/utils/scss/_closable.scss +22 -0
  54. package/app/utils/scss/_collapsable.scss +13 -0
  55. package/app/utils/scss/_loaders.scss +22 -0
  56. package/app/utils/scss/_theme-default.scss +12 -0
  57. package/app/utils/scss/_theme.scss +7 -0
  58. package/app/utils/scss/_tokens.scss +170 -0
  59. package/app/utils/scss/default.scss +11 -78
  60. package/app/utils/scss/functions.scss +21 -39
  61. package/app/utils/scss/index.scss +4 -0
  62. package/app/utils/scss/mixin.scss +16 -13
  63. package/app/utils/scss/variables.scss +105 -77
  64. package/build/vgapp.css +2 -4492
  65. package/build/vgapp.css.map +1 -1
  66. package/build/vgapp.js +3 -32145
  67. package/build/vgapp.js.map +1 -1
  68. package/index.scss +20 -23
  69. package/package.json +4 -1
  70. /package/app/utils/scss/{animation.scss → _animation.scss} +0 -0
  71. /package/app/utils/scss/{placement.scss → _placement.scss} +0 -0
@@ -1,3 +1,4 @@
1
+ @mixin skeleton() {
1
2
  .skeleton-row td {
2
3
  padding: var(--vg-dynamic-table-skeleton-padding);
3
4
  background: var(--vg-dynamic-table-skeleton-row-bg);
@@ -53,8 +54,10 @@
53
54
  }
54
55
  }
55
56
 
56
- @keyframes skeleton-glow {
57
+ @keyframes skeleton-glow {
57
58
  100% {
58
59
  transform: translateX(120%);
59
60
  }
60
- }
61
+ }
62
+
63
+ }
@@ -1,3 +1,4 @@
1
+ @mixin sortable() {
1
2
  &.table-sortable {
2
3
  &[data-sort-hide-unsorted-arrows="1"] {
3
4
  th[data-sortable="1"]:not([data-sort-direction]) {
@@ -59,5 +60,7 @@
59
60
  box-shadow: 0 1px 0 var(--vg-dynamic-table-cell-border-color);
60
61
  }
61
62
  }
62
- }
63
+ }
64
+
65
+ }
63
66
 
@@ -1,4 +1,5 @@
1
- & table {
1
+ @mixin table() {
2
+ & table {
2
3
  width: 100%;
3
4
  border-collapse: separate;
4
5
  border-spacing: 0;
@@ -154,4 +155,6 @@
154
155
  border-bottom-right-radius: var(--vg-dynamic-table-wrap-border-radius);
155
156
  }
156
157
  }
158
+
159
+ }
157
160
 
@@ -1,4 +1,7 @@
1
- $spacer: 1rem !default;
1
+ @use "sass:map";
2
+ @use "../../../utils/scss" as vg;
3
+
4
+ $spacer: 1rem !default;
2
5
  $spacers: (
3
6
  0: 0,
4
7
  1: $spacer * .25,
@@ -8,12 +11,12 @@ $spacers: (
8
11
  5: $spacer * 3,
9
12
  ) !default;
10
13
 
11
- $sizes-0: map-get($spacers, 0);
12
- $sizes-1: map-get($spacers, 1);
13
- $sizes-2: map-get($spacers, 2);
14
- $sizes-3: map-get($spacers, 3);
15
- $sizes-4: map-get($spacers, 4);
16
- $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);
17
20
 
18
21
  $dynamic-table-map: (
19
22
  wrap: (
@@ -28,22 +31,22 @@ $dynamic-table-map: (
28
31
  font-size: $sizes-3,
29
32
  row-content-height: 20px,
30
33
  border-color: transparent,
31
- text-color: #1f1f1f,
34
+ text-color: var(--vg-text-color, #1f1f1f),
32
35
  ),
33
36
  header: (
34
37
  font-weight: 600,
35
- background: #f7f4ef,
36
- text-color: #1f1f1f,
38
+ background: var(--vg-surface-muted-bg, #f7f4ef),
39
+ text-color: var(--vg-text-color, #1f1f1f),
37
40
  ),
38
41
  bordered: (
39
42
  border-width: 1px,
40
- border-color: rgba(0, 0, 0, 0.1),
43
+ border-color: var(--vg-border-disabled-color, rgba(0, 0, 0, .1)),
41
44
  ),
42
45
  striped: (
43
- background: rgba(0, 0, 0, 0.03),
46
+ background: var(--vg-surface-subtle-bg, rgba(0, 0, 0, .03)),
44
47
  ),
45
48
  hover: (
46
- background: rgba(0, 0, 0, 0.05),
49
+ background: var(--vg-surface-subtle-hover-bg, rgba(0, 0, 0, .05)),
47
50
  ),
48
51
  table: (
49
52
  min-width: 640px,
@@ -82,21 +85,21 @@ $dynamic-table-map: (
82
85
  jump-width: 64px,
83
86
  jump-gap: 6px,
84
87
  jump-button-min-width: 54px,
85
- border-color: rgba(0, 0, 0, 0.08),
86
- toolbar-bg: #faf8f4,
87
- label-color: #5f5a52,
88
- button-border: 1px solid rgba(0, 0, 0, 0.12),
89
- button-border-color: rgba(0, 0, 0, 0.12),
90
- button-bg: #ffffff,
91
- button-text: #2e2a24,
92
- button-hover-bg: #f1ece4,
93
- button-hover-border: rgba(0, 0, 0, 0.2),
94
- button-active-bg: #24201b,
95
- button-active-text: #ffffff,
96
- button-active-border: #24201b,
97
- per-page-bg: #ffffff,
98
- per-page-border-color: rgba(0, 0, 0, 0.12),
99
- per-page-text: #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),
100
103
  ),
101
104
  sortable: (
102
105
  header-padding-right: 1.8rem,
@@ -109,22 +112,27 @@ $dynamic-table-map: (
109
112
  arrow-opacity: 0.35,
110
113
  arrow-active-opacity: 1,
111
114
  arrow-color: currentColor,
112
- column-highlight-background: rgba(191, 153, 92, 0.14),
115
+ column-highlight-background: var(--vg-primary-subtle-bg, rgba(191, 153, 92, .14)),
113
116
  ),
114
117
  fixed: (
115
118
  shadow-width: 14px,
116
- shadow-color: rgba(0, 0, 0, 0.16),
117
- cell-background: rgba(247, 244, 239, 0.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)),
118
121
  ),
119
122
  skeleton: (
120
123
  padding: 12px 14px,
121
124
  line-height: 10px,
122
125
  radius: 999px,
123
126
  duration: 1.2s,
124
- row-bg: rgba(255, 255, 255, 0.5),
125
- border-color: rgba(0, 0, 0, 0.04),
126
- glow: rgba(255, 255, 255, 0.55),
127
- gradient-1: #ebe6df,
128
- gradient-2: #f5f1ea,
129
- ),
130
- );
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,13 +6,17 @@
6
6
  *--------------------------------------------------------------------------
7
7
  **/
8
8
 
9
- @import "../../../utils/scss/functions";
10
- @import "../../../utils/scss/mixin";
11
- @import "../../../utils/scss/variables";
12
- @import "variables";
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;
13
17
 
14
18
  .vg-dynamic-table {
15
- @include mix-vars('dynamic-table', $dynamic-table-map);
19
+ @include vg.mix-vars('dynamic-table', vars.$dynamic-table-map);
16
20
  background: var(--vg-dynamic-table-wrap-background);
17
21
  border-radius: var(--vg-dynamic-table-wrap-border-radius);
18
22
  box-shadow: var(--vg-dynamic-table-wrap-box-shadow);
@@ -56,11 +60,11 @@
56
60
  }
57
61
  }
58
62
 
59
- @import "pagination";
60
- @import "sortable";
61
- @import "table";
62
- @import "skeleton";
63
- @import "actions";
63
+ @include pagination.pagination();
64
+ @include sortable.sortable();
65
+ @include table-styles.table();
66
+ @include skeleton.skeleton();
67
+ @include actions.actions();
64
68
 
65
69
  &.table-striped {
66
70
  tbody {
@@ -1,12 +1,14 @@
1
+ @use "../../../utils/scss" as vg;
2
+
1
3
  $filepreview-map: (
2
4
  panel: (
3
- bg: #111,
4
- color: #fff,
5
- border: 1px solid rgba(255, 255, 255, .12),
5
+ bg: var(--vg-media-bg, #111111),
6
+ color: var(--vg-media-text-color, #ffffff),
7
+ border: vg.$border-width vg.$border-style var(--vg-media-border-color, rgba(255, 255, 255, .12)),
6
8
  ),
7
9
  modal: (
8
- content-bg: #111,
9
- content-color: #fff,
10
+ content-bg: var(--vg-media-bg, #111111),
11
+ content-color: var(--vg-media-text-color, #ffffff),
10
12
  close-top: 10px,
11
13
  close-right: 10px,
12
14
  body-padding: 1rem 0 0,
@@ -20,11 +22,11 @@ $filepreview-map: (
20
22
  toggle-size: 24px,
21
23
  icon-size: 18px,
22
24
  toggle-radius: 999px,
23
- toggle-bg: rgba(255, 255, 255, .12),
24
- toggle-color: #fff,
25
+ toggle-bg: var(--vg-media-border-color, rgba(255, 255, 255, .12)),
26
+ toggle-color: var(--vg-media-text-color, #ffffff),
25
27
  name-line-height: 1.2,
26
- progress-track: rgba(255, 255, 255, .06),
27
- progress-fill: rgba(255, 255, 255, .16),
28
+ progress-track: var(--vg-media-subtle-bg, rgba(255, 255, 255, .06)),
29
+ progress-fill: var(--vg-media-active-bg, rgba(255, 255, 255, .16)),
28
30
  progress-radius: 6px,
29
31
  progress-padding-x: 4px,
30
32
  ),
@@ -33,7 +35,7 @@ $filepreview-map: (
33
35
  padding: 8px 12px,
34
36
  font-size: 13px,
35
37
  font-weight: 600,
36
- color: #fff,
38
+ color: var(--vg-media-text-color, #ffffff),
37
39
  image-bg: #0f766e,
38
40
  text-bg: #334155,
39
41
  video-bg: #7c3aed,
@@ -52,7 +54,7 @@ $filepreview-map: (
52
54
  text: (
53
55
  content-padding: 12px,
54
56
  content-max-height: calc(84vh - 90px),
55
- content-bg: rgba(255, 255, 255, .06),
57
+ content-bg: var(--vg-media-subtle-bg, rgba(255, 255, 255, .06)),
56
58
  content-radius: 8px,
57
59
  content-font-size: 13px,
58
60
  content-line-height: 1.45,
@@ -61,8 +63,8 @@ $filepreview-map: (
61
63
  markdown-list-margin: 0 0 10px 20px,
62
64
  markdown-code-padding: 10px,
63
65
  markdown-code-radius: 6px,
64
- markdown-code-bg: rgba(255, 255, 255, .08),
65
- markdown-link-color: #93c5fd,
66
+ markdown-code-bg: var(--vg-media-muted-bg, rgba(255, 255, 255, .08)),
67
+ markdown-link-color: var(--vg-media-link-color, #93c5fd),
66
68
  ),
67
69
  video: (
68
70
  player-width: min(92vw, 1240px),
@@ -77,7 +79,7 @@ $filepreview-map: (
77
79
  btn-padding: 6px 10px,
78
80
  btn-font-size: 12px,
79
81
  btn-font-weight: 600,
80
- btn-bg: rgba(255, 255, 255, .12),
82
+ btn-bg: var(--vg-media-border-color, rgba(255, 255, 255, .12)),
81
83
  meta-font-size: 12px,
82
84
  meta-opacity: .75,
83
85
  frame-width: min(96vw, 1280px),
@@ -98,16 +100,16 @@ $filepreview-map: (
98
100
  btn-padding: 6px 10px,
99
101
  btn-font-size: 12px,
100
102
  btn-font-weight: 600,
101
- btn-bg: rgba(255, 255, 255, .12),
103
+ btn-bg: var(--vg-media-border-color, rgba(255, 255, 255, .12)),
102
104
  ),
103
105
  zip: (
104
106
  content-max-height: calc(84vh - 90px),
105
- content-bg: rgba(255, 255, 255, .06),
107
+ content-bg: var(--vg-media-subtle-bg, rgba(255, 255, 255, .06)),
106
108
  content-radius: 8px,
107
109
  content-padding: 10px,
108
110
  table-font-size: 12px,
109
111
  table-cell-padding: 6px 8px,
110
- table-border: 1px solid rgba(255, 255, 255, .12),
112
+ table-border: vg.$border-width vg.$border-style var(--vg-media-border-color, rgba(255, 255, 255, .12)),
111
113
  status-font-size: 13px,
112
114
  ),
113
- );
115
+ ) !default;
@@ -6,13 +6,12 @@
6
6
  *--------------------------------------------------------------------------
7
7
  **/
8
8
 
9
- @import "../../../utils/scss/functions";
10
- @import "../../../utils/scss/mixin";
11
- @import "../../../utils/scss/variables";
12
- @import "variables";
9
+ @forward "variables";
10
+ @use "../../../utils/scss" as vg;
11
+ @use "variables" as vars;
13
12
 
14
13
  %vg-filepreview-vars {
15
- @include mix-vars('filepreview', $filepreview-map);
14
+ @include vg.mix-vars('filepreview', vars.$filepreview-map);
16
15
  }
17
16
 
18
17
  @mixin filepreview-trigger($bg) {
@@ -35,8 +35,8 @@
35
35
  }
36
36
  }
37
37
 
38
- &.loading {
39
- --vg-button-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);
60
- }
61
-
62
- &.failing {
63
- --vg-button-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,8 +1,10 @@
1
- $files-map: (
2
- // label (уже используется в vgfiles.scss)
3
- label-bg: #242424,
4
- label-color: #ffffff,
5
- label-border-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),
6
8
  label-border-radius: 4px,
7
9
  label-padding: 8px 24px,
8
10
  label-padding-icon: 8px 16px,
@@ -12,21 +14,21 @@ $files-map: (
12
14
  errors-font-size: 16px,
13
15
 
14
16
  // drop zone
15
- drop-bg: var(--vg-secondary-bg),
17
+ drop-bg: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
16
18
  drop-border-width: 2px,
17
19
  drop-border-style: dashed,
18
- drop-border-color: var(--vg-secondary),
20
+ drop-border-color: var(--vg-secondary-color, var(--vg-secondary, #{vg.$color-muted})),
19
21
  drop-radius: 8px,
20
22
  drop-height: 250px,
21
23
  drop-transition: all 0.2s ease,
22
24
 
23
25
  drop-after-font-size: 14px,
24
- drop-after-color: #007bff,
26
+ drop-after-color: var(--vg-primary-color, #007bff),
25
27
  drop-after-bottom: 10px,
26
28
 
27
- drop-hover-border-color: #007bff,
28
- drop-hover-bg: #e3f2fd,
29
- drop-hover-shadow: 0 0 10px rgba(0, 123, 255, 0.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)),
30
32
 
31
33
  drop-stripes-alpha: 0.03,
32
34
  drop-stripes-size: 30px 30px,
@@ -36,9 +38,9 @@ $files-map: (
36
38
  drop-message-gap: 8px,
37
39
  drop-message-font-size: 14px,
38
40
  drop-message-line-height: 22px,
39
- drop-message-color: #999999,
41
+ drop-message-color: var(--vg-text-muted-color, #999999),
40
42
  drop-message-icon-size: 48px,
41
- drop-message-icon-color: #999999,
43
+ drop-message-icon-color: var(--vg-text-muted-color, #999999),
42
44
  drop-message-padding: 1rem,
43
45
  drop-message-margin: 0 0 1rem,
44
46
 
@@ -52,13 +54,13 @@ $files-map: (
52
54
  drop-remove-offset: 10px,
53
55
  drop-remove-size: 36px,
54
56
  drop-remove-radius: 3px,
55
- drop-remove-hover-bg: rgba(var(--vg-body-bg-rgb), .4),
57
+ drop-remove-hover-bg: rgb(var(--vg-body-bg-rgb, 255 255 255) / .4),
56
58
 
57
59
  // stat
58
60
  stat-padding: 12px 8px,
59
61
  stat-gap: 1rem,
60
62
  stat-mb: 1rem,
61
- stat-border-color: var(--vg-secondary-bg),
63
+ stat-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
62
64
  stat-title-fw: 600,
63
65
  stat-count-font-size: 14px,
64
66
  stat-count-ms: 6px,
@@ -66,16 +68,16 @@ $files-map: (
66
68
 
67
69
  // info
68
70
  info-mt: 1rem,
69
- info-border-color: var(--vg-secondary-bg),
71
+ info-border-color: var(--vg-secondary-bg, #{vg.$surface-muted-bg}),
70
72
  info-radius: 4px,
71
73
  info-list-max-height: 360px,
72
74
 
73
75
  info-gap: 8px,
74
76
  info-padding: 8px,
75
- info-border-bottom-color: var(--vg-secondary-bg),
76
- info-hover-bg: rgba(var(--vg-secondary-bg-rgb), .4),
77
- info-audio-progress-track: rgba(var(--vg-secondary-bg-rgb), .3),
78
- info-audio-progress-fill: #000,
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}),
79
81
  info-audio-progress-opacity: .33,
80
82
  info-audio-row-min-height: 64px,
81
83
  info-audio-image-size: 48px,
@@ -94,22 +96,22 @@ $files-map: (
94
96
 
95
97
  // legacy (оставлено для совместимости со старым API темы)
96
98
  info-mb: 10px,
97
- info-title-color: darkgreen,
99
+ info-title-color: var(--vg-success-text-color, darkgreen),
98
100
  info-count-fw: 400,
99
101
  info-count-fs: 14px,
100
- info-count-color: #999999,
102
+ info-count-color: var(--vg-text-muted-color, #999999),
101
103
  info-dismiss-fs: 14px,
102
104
  info-dismiss-ms: 10px,
103
105
  info-image-width: 100px,
104
106
  info-image-me: 15px,
105
107
  info-image-mb: 15px,
106
108
  info-image-padding: 5px,
107
- info-image-border: 1px solid #e0e0e0,
109
+ info-image-border: vg.$border-width vg.$border-style var(--vg-control-border-color, #e0e0e0),
108
110
  info-list-fs: 15px,
109
111
  info-list-mt: 7px,
110
112
  info-list-span-fs: 12px,
111
- info-list-span-color: #999999,
113
+ info-list-span-color: var(--vg-text-muted-color, #999999),
112
114
  info-list-span-me: 6px,
113
115
  info-list-button-fs: 12px,
114
- info-list-button-color: #999999,
115
- );
116
+ info-list-button-color: var(--vg-text-muted-color, #999999),
117
+ ) !default;
@@ -6,15 +6,14 @@
6
6
  *--------------------------------------------------------------------------
7
7
  **/
8
8
 
9
- @import "../../../utils/scss/functions";
10
- @import "../../../utils/scss/mixin";
11
- @import "../../../utils/scss/variables";
12
- @import "./_animations";
13
- @import "./_mixins";
14
- @import "variables";
9
+ @forward "variables";
10
+ @use "../../../utils/scss" as vg;
11
+ @use "animations";
12
+ @use "mixins" as files;
13
+ @use "variables" as vars;
15
14
 
16
15
  .vg-files {
17
- @include mix-vars('files', $files-map);
16
+ @include vg.mix-vars('files', vars.$files-map);
18
17
  position: relative;
19
18
 
20
19
  a {
@@ -271,8 +270,8 @@
271
270
  transition: all .2s ease-in-out;
272
271
  position: relative;
273
272
 
274
- @include vgfiles-sortable();
275
- @include vgfiles-state();
273
+ @include files.vgfiles-sortable();
274
+ @include files.vgfiles-state();
276
275
 
277
276
  &:last-child {
278
277
  border-bottom: none;
@@ -559,11 +558,11 @@
559
558
  animation: stripes var(--vg-files-drop-stripes-duration) linear infinite;
560
559
  background-image: linear-gradient(
561
560
  -45deg,
562
- rgba(var(--vg-secondary-rgb), var(--vg-files-drop-stripes-alpha)) 25%,
561
+ rgb(var(--vg-secondary-rgb, 107 114 128) / var(--vg-files-drop-stripes-alpha)) 25%,
563
562
  transparent 0,
564
563
  transparent 50%,
565
- rgba(var(--vg-secondary-rgb), var(--vg-files-drop-stripes-alpha)) 0,
566
- rgba(var(--vg-secondary-rgb), var(--vg-files-drop-stripes-alpha)) 75%,
564
+ rgb(var(--vg-secondary-rgb, 107 114 128) / var(--vg-files-drop-stripes-alpha)) 0,
565
+ rgb(var(--vg-secondary-rgb, 107 114 128) / var(--vg-files-drop-stripes-alpha)) 75%,
567
566
  transparent 0,
568
567
  transparent
569
568
  );
@@ -645,8 +644,8 @@
645
644
  flex: 0 0 var(--vg-files-drop-file-flex);
646
645
  height: var(--vg-files-drop-file-height);
647
646
 
648
- @include vgfiles-sortable();
649
- @include vgfiles-state();
647
+ @include files.vgfiles-sortable();
648
+ @include files.vgfiles-state();
650
649
 
651
650
  .file-image {
652
651
  width: 100%;
@@ -12,7 +12,8 @@ const NAME = 'hideshowpass';
12
12
  const NAME_KEY = 'vg.hideshowpass';
13
13
  const SELECTOR_DATA_TOGGLE= '[data-vg-toggle="pass"]';
14
14
 
15
- const CLASS_NAME_SHOW = 'show';
15
+ const CLASS_NAME_SHOW = 'show';
16
+ const CLASS_NAME_FOCUS_OFFSET = 'vg-form-sender--content-pass-focus-offset';
16
17
 
17
18
  const EVENT_KEY_CLICK_DATA_API = `click.${NAME_KEY}.data.api`;
18
19
 
@@ -67,6 +68,10 @@ class VGHideShowPass extends BaseModule{
67
68
  const HTML = Html('string');
68
69
  if (this._element.parentElement && this._params.parentClass) {
69
70
  this._element.parentElement.classList.add(this._params.parentClass);
71
+ this._element.parentElement.classList.toggle(
72
+ CLASS_NAME_FOCUS_OFFSET,
73
+ this._params.focus === true
74
+ );
70
75
  }
71
76
 
72
77
  if (!isShow) {
@@ -127,10 +127,10 @@ class VGFormSender extends BaseModule {
127
127
  validate: false,
128
128
  submit: false,
129
129
  fields: [],
130
- timeout: 50,
131
- pass: {
132
- enabled: true,
133
- template: 'pass-open',
130
+ timeout: 50,
131
+ pass: {
132
+ focus: false,
133
+ template: 'pass-open',
134
134
  classes: ['vg-form-sender--hide-show-pass'],
135
135
  insert: 'afterend'
136
136
  },
@@ -270,11 +270,9 @@ class VGFormSender extends BaseModule {
270
270
  this._element.classList.add(this._params.classes.validation);
271
271
  }
272
272
 
273
- if (this._params.pass.enabled) {
274
- [... Selectors.findAll('input[type="password"]', this._element)].forEach((el) => {
275
- VGHideShowPass.init(el, this._params.pass);
276
- })
277
- }
273
+ [... Selectors.findAll('input[type="password"]', this._element)].forEach((el) => {
274
+ VGHideShowPass.init(el, this._params.pass);
275
+ })
278
276
 
279
277
  execute(this._params.callback.afterInit, [this._element, this]);
280
278
 
@@ -78,7 +78,7 @@ VGFormSender.init(document.getElementById('contactForm'), {
78
78
  | `response.enabled` | `boolean` | `false` | Нативная обработка ответа (без AJAX) |
79
79
  | `submit` | `boolean` | `false` | Отправлять нативно (без AJAX) |
80
80
  | `fields` | `Array` | `[]` | Доп. данные для отправки |
81
- | `pass.enabled` | `boolean` | `true` | Показывать иконку глаза у паролей |
81
+ | `pass.focus` | `boolean` | `false` | Увеличивать правый отступ поля и сдвигать иконку глаза при фокусе |
82
82
  | `alert.enabled` | `boolean` | `true` | Показывать уведомления |
83
83
  | `alert.type` | `'modal' \| 'collapse'` | `'modal'` | Тип уведомления |
84
84
  | `alert.errors` | `boolean` | `true` | Показывать детали ошибок |
@@ -1,3 +1,5 @@
1
- $form-sender-map: (
2
- 'eye-color': $color
3
- );
1
+ @use "../../../utils/scss" as vg;
2
+
3
+ $form-sender-map: (
4
+ 'eye-color': var(--vg-text-color, #{vg.$color})
5
+ ) !default;