@vgip/meta-ui 1.9.9 → 2.1.0

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 (206) hide show
  1. package/fesm2022/vgip-meta-ui.mjs +5614 -78
  2. package/fesm2022/vgip-meta-ui.mjs.map +1 -1
  3. package/index.d.ts +709 -5
  4. package/package.json +5 -8
  5. package/vendor/volta3/README.md +1 -0
  6. package/vendor/volta3/fonts/Spezia-Regular.eot +0 -0
  7. package/vendor/volta3/fonts/Spezia-Regular.ttf +0 -0
  8. package/vendor/volta3/fonts/Spezia-Regular.woff +0 -0
  9. package/vendor/volta3/fonts/Spezia-Regular.woff2 +0 -0
  10. package/vendor/volta3/fonts/Spezia-SemiBold.eot +0 -0
  11. package/vendor/volta3/fonts/Spezia-SemiBold.ttf +0 -0
  12. package/vendor/volta3/fonts/Spezia-SemiBold.woff +0 -0
  13. package/vendor/volta3/fonts/Spezia-SemiBold.woff2 +0 -0
  14. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.eot +0 -0
  15. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.ttf +0 -0
  16. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.woff +0 -0
  17. package/vendor/volta3/fonts/Spezia-SemiMonoSemiBold.woff2 +0 -0
  18. package/vendor/volta3/fonts/Spezia-WideMedium.eot +0 -0
  19. package/vendor/volta3/fonts/Spezia-WideMedium.ttf +0 -0
  20. package/vendor/volta3/fonts/Spezia-WideMedium.woff +0 -0
  21. package/vendor/volta3/fonts/Spezia-WideMedium.woff2 +0 -0
  22. package/vendor/volta3/scss/components/_accordions.scss +165 -0
  23. package/vendor/volta3/scss/components/_badge.scss +325 -0
  24. package/vendor/volta3/scss/components/_blockquote.scss +35 -0
  25. package/vendor/volta3/scss/components/_boxes.scss +113 -0
  26. package/vendor/volta3/scss/components/_buttons.scss +794 -0
  27. package/vendor/volta3/scss/components/_callouts.scss +427 -0
  28. package/vendor/volta3/scss/components/_card.scss +421 -0
  29. package/vendor/volta3/scss/components/_color-classes.scss +186 -0
  30. package/vendor/volta3/scss/components/_dialpad.scss +224 -0
  31. package/vendor/volta3/scss/components/_dropdowns.scss +495 -0
  32. package/vendor/volta3/scss/components/_empties.scss +77 -0
  33. package/vendor/volta3/scss/components/_flash-messages.scss +39 -0
  34. package/vendor/volta3/scss/components/_form-elements.scss +879 -0
  35. package/vendor/volta3/scss/components/_lists.scss +427 -0
  36. package/vendor/volta3/scss/components/_modals.scss +227 -0
  37. package/vendor/volta3/scss/components/_popups.scss +173 -0
  38. package/vendor/volta3/scss/components/_progress.scss +28 -0
  39. package/vendor/volta3/scss/components/_spinner.scss +105 -0
  40. package/vendor/volta3/scss/components/_steps.scss +242 -0
  41. package/vendor/volta3/scss/components/_switch.scss +353 -0
  42. package/vendor/volta3/scss/components/_tables.scss +739 -0
  43. package/vendor/volta3/scss/components/_tabs.scss +296 -0
  44. package/vendor/volta3/scss/components/_text-separator.scss +61 -0
  45. package/vendor/volta3/scss/components/_tooltips.scss +152 -0
  46. package/vendor/volta3/scss/components/side-navigation/_side-nav--aqua.scss +179 -0
  47. package/vendor/volta3/scss/components/side-navigation/_side-nav--collapsible.scss +381 -0
  48. package/vendor/volta3/scss/components/side-navigation/_side-nav--dark.scss +196 -0
  49. package/vendor/volta3/scss/components/side-navigation/_side-nav--light.scss +174 -0
  50. package/vendor/volta3/scss/components/side-navigation/_side-nav--structure.scss +631 -0
  51. package/vendor/volta3/scss/components/side-navigation/_side-nav--tabs.scss +88 -0
  52. package/vendor/volta3/scss/flatpickr/_flatpickr-volta.scss +407 -0
  53. package/vendor/volta3/scss/flatpickr/_flatpickr.css +785 -0
  54. package/vendor/volta3/scss/layout/_article.scss +119 -0
  55. package/vendor/volta3/scss/layout/_utils.scss +174 -0
  56. package/vendor/volta3/scss/lib/_grid.scss +374 -0
  57. package/vendor/volta3/scss/lib/_mediaqueries.scss +52 -0
  58. package/vendor/volta3/scss/lib/_reset.scss +110 -0
  59. package/vendor/volta3/scss/lib/_type.scss +345 -0
  60. package/vendor/volta3/scss/lib/_utils.scss +26 -0
  61. package/vendor/volta3/scss/lib/_variables.scss +115 -0
  62. package/vendor/volta3/scss/prism/_prism-volta.scss +390 -0
  63. package/vendor/volta3/scss/prism/_prism.css +326 -0
  64. package/vendor/volta3/scss/templates/volta-error-page.scss +57 -0
  65. package/vendor/volta3/scss/templates/volta-templates.scss +114 -0
  66. package/vendor/volta3/scss/volta-flatpickr.scss +10 -0
  67. package/vendor/volta3/scss/volta-prism.scss +7 -0
  68. package/vendor/volta3/scss/volta.scss +39 -0
  69. package/vendor/volta3/symbol/volta-brand-icons.svg +1 -0
  70. package/vendor/volta3/symbol/volta-flag-icons.svg +1 -0
  71. package/vendor/volta3/symbol/volta-icons.svg +1 -0
  72. package/esm2022/lib/common/fieldNormalizer/boolean.mjs +0 -12
  73. package/esm2022/lib/common/fieldNormalizer/datetime.mjs +0 -9
  74. package/esm2022/lib/common/fieldNormalizer/index.mjs +0 -183
  75. package/esm2022/lib/common/fieldNormalizer/number.mjs +0 -14
  76. package/esm2022/lib/common/fieldNormalizer/options.mjs +0 -50
  77. package/esm2022/lib/common/fieldNormalizer/radio.mjs +0 -30
  78. package/esm2022/lib/common/fieldNormalizer/reference.mjs +0 -36
  79. package/esm2022/lib/common/fieldNormalizer/richtext.mjs +0 -15
  80. package/esm2022/lib/common/fieldNormalizer/string.mjs +0 -24
  81. package/esm2022/lib/common/fieldNormalizer/text.mjs +0 -18
  82. package/esm2022/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -23
  83. package/esm2022/lib/common/metaAutofocus.directive.mjs +0 -35
  84. package/esm2022/lib/common/metaIcons.pipe.mjs +0 -29
  85. package/esm2022/lib/common/metaModel.pipe.mjs +0 -23
  86. package/esm2022/lib/common/metaNormalizer.mjs +0 -375
  87. package/esm2022/lib/common/metaStripHtml.pipe.mjs +0 -22
  88. package/esm2022/lib/common/utils/colorThemes.mjs +0 -77
  89. package/esm2022/lib/common/utils/indexedDbStore/index.mjs +0 -228
  90. package/esm2022/lib/common/utils/relativeTimeBuilder.mjs +0 -49
  91. package/esm2022/lib/common/utils/resourceCardLabel.mjs +0 -24
  92. package/esm2022/lib/common/utils/smartProp.mjs +0 -31
  93. package/esm2022/lib/common/utils/templateBuilder.mjs +0 -103
  94. package/esm2022/lib/fieldAbstract.mjs +0 -291
  95. package/esm2022/lib/fieldBoolean/index.mjs +0 -53
  96. package/esm2022/lib/fieldComposite/index.mjs +0 -82
  97. package/esm2022/lib/fieldDatetime/index.mjs +0 -365
  98. package/esm2022/lib/fieldHidden/index.mjs +0 -18
  99. package/esm2022/lib/fieldInput/index.mjs +0 -475
  100. package/esm2022/lib/fieldList/index.mjs +0 -74
  101. package/esm2022/lib/fieldRadio/index.mjs +0 -88
  102. package/esm2022/lib/fieldReference/index.mjs +0 -834
  103. package/esm2022/lib/fieldRichtext/index.mjs +0 -93
  104. package/esm2022/lib/fieldSelect/index.mjs +0 -568
  105. package/esm2022/lib/fieldText/index.mjs +0 -83
  106. package/esm2022/lib/fieldUnknown/index.mjs +0 -19
  107. package/esm2022/lib/index.mjs +0 -163
  108. package/esm2022/lib/layout/index.mjs +0 -212
  109. package/esm2022/lib/metaField/index.mjs +0 -148
  110. package/esm2022/lib/refDialog/index.mjs +0 -135
  111. package/esm2022/lib/resource/index.mjs +0 -525
  112. package/esm2022/lib/resourceCard/index.mjs +0 -40
  113. package/esm2022/lib/services/metaContext/index.mjs +0 -52
  114. package/esm2022/lib/services/metaMsg/index.mjs +0 -84
  115. package/esm2022/lib/services/metaReference/index.mjs +0 -94
  116. package/esm2022/lib/services/metaResource/index.mjs +0 -139
  117. package/esm2022/lib/services/metaResource/metaHttpClient.mjs +0 -64
  118. package/esm2022/lib/services/metaTracker/index.mjs +0 -31
  119. package/esm2022/lib/services/resourceDrafts/index.mjs +0 -69
  120. package/esm2022/public-api.mjs +0 -5
  121. package/esm2022/vgip-meta-ui.mjs +0 -5
  122. package/fesm2022/vgip-meta-ui-fieldAbstract-baeaf24d.mjs +0 -399
  123. package/fesm2022/vgip-meta-ui-fieldAbstract-baeaf24d.mjs.map +0 -1
  124. package/fesm2022/vgip-meta-ui-index-0184d5ec.mjs +0 -478
  125. package/fesm2022/vgip-meta-ui-index-0184d5ec.mjs.map +0 -1
  126. package/fesm2022/vgip-meta-ui-index-050d4a8c.mjs +0 -87
  127. package/fesm2022/vgip-meta-ui-index-050d4a8c.mjs.map +0 -1
  128. package/fesm2022/vgip-meta-ui-index-1ddfcce0.mjs +0 -86
  129. package/fesm2022/vgip-meta-ui-index-1ddfcce0.mjs.map +0 -1
  130. package/fesm2022/vgip-meta-ui-index-37358620.mjs +0 -158
  131. package/fesm2022/vgip-meta-ui-index-37358620.mjs.map +0 -1
  132. package/fesm2022/vgip-meta-ui-index-4e9c383f.mjs +0 -95
  133. package/fesm2022/vgip-meta-ui-index-4e9c383f.mjs.map +0 -1
  134. package/fesm2022/vgip-meta-ui-index-70d40f26.mjs +0 -79
  135. package/fesm2022/vgip-meta-ui-index-70d40f26.mjs.map +0 -1
  136. package/fesm2022/vgip-meta-ui-index-7741951a.mjs +0 -23
  137. package/fesm2022/vgip-meta-ui-index-7741951a.mjs.map +0 -1
  138. package/fesm2022/vgip-meta-ui-index-80ab405f.mjs +0 -93
  139. package/fesm2022/vgip-meta-ui-index-80ab405f.mjs.map +0 -1
  140. package/fesm2022/vgip-meta-ui-index-86d5c4b7.mjs +0 -575
  141. package/fesm2022/vgip-meta-ui-index-86d5c4b7.mjs.map +0 -1
  142. package/fesm2022/vgip-meta-ui-index-926ae006.mjs +0 -58
  143. package/fesm2022/vgip-meta-ui-index-926ae006.mjs.map +0 -1
  144. package/fesm2022/vgip-meta-ui-index-ac6d744b.mjs +0 -867
  145. package/fesm2022/vgip-meta-ui-index-ac6d744b.mjs.map +0 -1
  146. package/fesm2022/vgip-meta-ui-index-c943b7c0.mjs +0 -24
  147. package/fesm2022/vgip-meta-ui-index-c943b7c0.mjs.map +0 -1
  148. package/fesm2022/vgip-meta-ui-index-f2a08550.mjs +0 -2058
  149. package/fesm2022/vgip-meta-ui-index-f2a08550.mjs.map +0 -1
  150. package/fesm2022/vgip-meta-ui-index-f8b00f06.mjs +0 -370
  151. package/fesm2022/vgip-meta-ui-index-f8b00f06.mjs.map +0 -1
  152. package/fesm2022/vgip-meta-ui-index-fa271433.mjs +0 -151
  153. package/fesm2022/vgip-meta-ui-index-fa271433.mjs.map +0 -1
  154. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs +0 -26
  155. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs.map +0 -1
  156. package/fesm2022/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
  157. package/fesm2022/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
  158. package/lib/common/fieldNormalizer/boolean.d.ts +0 -1
  159. package/lib/common/fieldNormalizer/datetime.d.ts +0 -1
  160. package/lib/common/fieldNormalizer/index.d.ts +0 -1
  161. package/lib/common/fieldNormalizer/number.d.ts +0 -1
  162. package/lib/common/fieldNormalizer/options.d.ts +0 -1
  163. package/lib/common/fieldNormalizer/radio.d.ts +0 -1
  164. package/lib/common/fieldNormalizer/reference.d.ts +0 -1
  165. package/lib/common/fieldNormalizer/richtext.d.ts +0 -1
  166. package/lib/common/fieldNormalizer/string.d.ts +0 -1
  167. package/lib/common/fieldNormalizer/text.d.ts +0 -1
  168. package/lib/common/fieldNormalizer/uniqueNameFilter.d.ts +0 -1
  169. package/lib/common/metaAutofocus.directive.d.ts +0 -10
  170. package/lib/common/metaIcons.pipe.d.ts +0 -10
  171. package/lib/common/metaModel.pipe.d.ts +0 -7
  172. package/lib/common/metaNormalizer.d.ts +0 -1
  173. package/lib/common/metaStripHtml.pipe.d.ts +0 -7
  174. package/lib/common/utils/colorThemes.d.ts +0 -8
  175. package/lib/common/utils/indexedDbStore/index.d.ts +0 -25
  176. package/lib/common/utils/relativeTimeBuilder.d.ts +0 -1
  177. package/lib/common/utils/resourceCardLabel.d.ts +0 -1
  178. package/lib/common/utils/smartProp.d.ts +0 -2
  179. package/lib/common/utils/templateBuilder.d.ts +0 -1
  180. package/lib/fieldAbstract.d.ts +0 -60
  181. package/lib/fieldBoolean/index.d.ts +0 -10
  182. package/lib/fieldComposite/index.d.ts +0 -14
  183. package/lib/fieldDatetime/index.d.ts +0 -26
  184. package/lib/fieldHidden/index.d.ts +0 -6
  185. package/lib/fieldInput/index.d.ts +0 -35
  186. package/lib/fieldList/index.d.ts +0 -15
  187. package/lib/fieldRadio/index.d.ts +0 -14
  188. package/lib/fieldReference/index.d.ts +0 -73
  189. package/lib/fieldRichtext/index.d.ts +0 -27
  190. package/lib/fieldSelect/index.d.ts +0 -49
  191. package/lib/fieldText/index.d.ts +0 -15
  192. package/lib/fieldUnknown/index.d.ts +0 -6
  193. package/lib/index.d.ts +0 -65
  194. package/lib/layout/index.d.ts +0 -46
  195. package/lib/metaField/index.d.ts +0 -28
  196. package/lib/refDialog/index.d.ts +0 -33
  197. package/lib/resource/index.d.ts +0 -68
  198. package/lib/resourceCard/index.d.ts +0 -17
  199. package/lib/services/metaContext/index.d.ts +0 -32
  200. package/lib/services/metaMsg/index.d.ts +0 -14
  201. package/lib/services/metaReference/index.d.ts +0 -11
  202. package/lib/services/metaResource/index.d.ts +0 -31
  203. package/lib/services/metaResource/metaHttpClient.d.ts +0 -15
  204. package/lib/services/metaTracker/index.d.ts +0 -19
  205. package/lib/services/resourceDrafts/index.d.ts +0 -26
  206. package/public-api.d.ts +0 -1
@@ -0,0 +1,794 @@
1
+ @use "sass:color";
2
+ @use "../lib/variables";
3
+
4
+ //
5
+ // Copyright (c) 2018-present, Vonage. All rights reserved.
6
+ //
7
+
8
+ $shadow-standard: 0 1px 0px rgba(variables.$black, 0.15);
9
+ $shadow-active: inset 0 2px 3px rgba(variables.$black, 0.2);
10
+ $shadow-tertiary: inset 0 0 0px 1px variables.$black;
11
+
12
+ @mixin btn-app-radius {
13
+ border-radius: 6px;
14
+
15
+ &.Vlt-btn--small {
16
+ border-radius: 5px;
17
+ }
18
+ }
19
+
20
+ %Vlt-btn {
21
+ align-items: center;
22
+ appearance: none;
23
+ border: 0;
24
+ border-radius: 48px;
25
+ cursor: pointer;
26
+ display: inline-block; // can't be inline-flex because of Safari
27
+ font-size: 1.4rem;
28
+ font-weight: 600;
29
+ justify-content: center;
30
+ line-height: 2.4rem; // needed for Safari
31
+ margin: variables.$unit1 0;
32
+ min-height: 40px;
33
+ min-width: 40px;
34
+ outline: none;
35
+ padding: variables.$unit1 14px; // both paddings added for IE alignment
36
+ text-align: center;
37
+ transition: all 0.3s;
38
+ vertical-align: middle;
39
+ white-space: nowrap;
40
+
41
+ &:focus {
42
+ outline: none;
43
+ }
44
+
45
+ &:active {
46
+ outline: none;
47
+ }
48
+
49
+ svg {
50
+ display: inline-block;
51
+ fill: variables.$white;
52
+ height: 18px;
53
+ margin-right: 8px;
54
+ margin-top: -2px;
55
+ vertical-align: middle;
56
+ width: 18px;
57
+
58
+ .vlt-btn--large & {
59
+ margin-right: 10px;
60
+ }
61
+ }
62
+
63
+ &:disabled,
64
+ &.Vlt-btn--disabled,
65
+ &.Vlt-btn_disabled {
66
+ @extend %disabled-btn-style;
67
+ }
68
+ }
69
+
70
+ .Vlt-btn {
71
+ @extend %Vlt-btn;
72
+
73
+ &--app {
74
+ @extend %Vlt-btn--app;
75
+ }
76
+
77
+ &--block {
78
+ width: 100%;
79
+ }
80
+
81
+ &--outline {
82
+ @extend %Vlt-btn--outline;
83
+ }
84
+
85
+ &--small {
86
+ @extend %Vlt-btn--small;
87
+ }
88
+
89
+ &--large {
90
+ @extend %Vlt-btn--large;
91
+ }
92
+
93
+ &--primary {
94
+ @extend %Vlt-btn--primary;
95
+ }
96
+
97
+ &--secondary {
98
+ @extend %Vlt-btn--secondary;
99
+ }
100
+
101
+ &--tertiary {
102
+ @extend %Vlt-btn--tertiary;
103
+ }
104
+
105
+ &--quaternary {
106
+ @extend %Vlt-btn--quaternary;
107
+ }
108
+
109
+ &--indigo {
110
+ @extend %Vlt-btn--indigo;
111
+ }
112
+
113
+ &--orange {
114
+ @extend %Vlt-btn--orange;
115
+ }
116
+
117
+ &--destructive {
118
+ @extend %Vlt-btn--destructive;
119
+ }
120
+
121
+ &--white {
122
+ @extend %Vlt-btn--white;
123
+ }
124
+
125
+ &--icon {
126
+ @extend %Vlt-btn--icon;
127
+ }
128
+
129
+ &--icon-right {
130
+ @extend %Vlt-btn--icon-right;
131
+ }
132
+
133
+ & + & {
134
+ margin-left: variables.$unit1;
135
+ }
136
+
137
+ &--nomargin {
138
+ margin: 0;
139
+ }
140
+ }
141
+
142
+ %Vlt-btn--app {
143
+ @include btn-app-radius;
144
+ }
145
+
146
+ %Vlt-btn--small {
147
+ font-size: 1.2rem;
148
+ line-height: 1.6rem; //needed for Safari
149
+ min-height: 32px;
150
+ min-width: 32px;
151
+ padding: variables.$unit1 12px;
152
+
153
+ svg {
154
+ height: 16px;
155
+ width: 16px;
156
+ }
157
+ }
158
+
159
+ %Vlt-btn--large {
160
+ font-size: 1.6rem;
161
+ line-height: 2.4rem; //needed for Safari
162
+ margin: variables.$unit1 0 variables.$unit2;
163
+ min-height: 48px;
164
+ min-width: 48px;
165
+ padding: 12px 24px;
166
+
167
+ svg {
168
+ height: 20px;
169
+ margin-right: 14px;
170
+ margin-top: -3px;
171
+ width: 20px;
172
+
173
+ & span {
174
+ margin-left: variables.$unit1;
175
+ }
176
+ }
177
+ }
178
+
179
+ %Vlt-btn--icon {
180
+ svg {
181
+ margin-left: -10px;
182
+ margin-right: -10px;
183
+ }
184
+ }
185
+
186
+ %Vlt-btn--icon-right {
187
+ svg {
188
+ margin-left: 8px;
189
+ margin-right: 0;
190
+ }
191
+
192
+ &.Vlt-btn--large {
193
+ svg {
194
+ margin-left: 14px;
195
+ }
196
+ }
197
+ }
198
+
199
+ %Vlt-btn--primary {
200
+ background: variables.$purple-dark;
201
+ color: variables.$white;
202
+
203
+ svg {
204
+ fill: variables.$white;
205
+ }
206
+
207
+ &:hover,
208
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
209
+ background: color.adjust(variables.$purple-dark, $lightness: -10%);
210
+ }
211
+
212
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
213
+ &.Vlt-btn_active {
214
+ background: color.adjust(variables.$purple-dark, $lightness: -15%);
215
+ }
216
+
217
+ &.Vlt-btn--outline {
218
+ color: variables.$purple-dark;
219
+
220
+ svg {
221
+ fill: variables.$purple-dark;
222
+ }
223
+
224
+ &:hover,
225
+ &:not(.Vlt-btn--no-focus):focus {
226
+ background: rgba(variables.$purple-dark, 0.1);
227
+ }
228
+
229
+ &:not(.Vlt-btn--no-focus):active,
230
+ &.Vlt-btn_active {
231
+ background: rgba(variables.$purple-dark, 0.2);
232
+ }
233
+ }
234
+ }
235
+
236
+ %Vlt-btn--secondary {
237
+ background: variables.$black;
238
+ color: variables.$white;
239
+
240
+ svg {
241
+ fill: variables.$white;
242
+ }
243
+
244
+ &:hover,
245
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
246
+ background: color.adjust(variables.$black, $lightness: 20%);
247
+ }
248
+
249
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
250
+ &.Vlt-btn_active {
251
+ background: color.adjust(variables.$black, $lightness: 30%);
252
+ }
253
+
254
+ &.Vlt-btn--outline {
255
+ color: variables.$black;
256
+
257
+ svg {
258
+ fill: variables.$black;
259
+ }
260
+
261
+ &:hover,
262
+ &:not(.Vlt-btn--no-focus):focus {
263
+ background: rgba(variables.$black, 0.1);
264
+ }
265
+
266
+ &:not(.Vlt-btn--no-focus):active,
267
+ &.Vlt-btn_active {
268
+ background: rgba(variables.$black, 0.2);
269
+ }
270
+ }
271
+ }
272
+
273
+ %Vlt-btn--tertiary {
274
+ background: variables.$grey-light;
275
+ color: variables.$black;
276
+
277
+ svg {
278
+ fill: variables.$black;
279
+ }
280
+
281
+ &:hover,
282
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
283
+ background: color.adjust(variables.$grey-light, $lightness: -6%);
284
+ }
285
+
286
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
287
+ &.Vlt-btn_active {
288
+ background: variables.$grey;
289
+ }
290
+
291
+ &.Vlt-btn--outline {
292
+ color: variables.$grey-light;
293
+
294
+ svg {
295
+ fill: variables.$grey-light;
296
+ }
297
+
298
+ &:hover,
299
+ &:not(.Vlt-btn--no-focus):focus {
300
+ background: rgba(variables.$grey, 0.1);
301
+ }
302
+
303
+ &:not(.Vlt-btn--no-focus):active,
304
+ &.Vlt-btn_active {
305
+ background: rgba(variables.$grey, 0.2);
306
+ }
307
+ }
308
+ }
309
+
310
+ %Vlt-btn--destructive {
311
+ background: variables.$red;
312
+ color: variables.$white;
313
+
314
+ svg {
315
+ fill: variables.$white;
316
+ }
317
+
318
+ &:hover,
319
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
320
+ background: color.adjust(variables.$red, $lightness: -10%);
321
+ }
322
+
323
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
324
+ &.Vlt-btn_active {
325
+ background: color.adjust(variables.$red, $lightness: -15%);
326
+ }
327
+
328
+ &.Vlt-btn--outline {
329
+ color: variables.$red;
330
+
331
+ svg {
332
+ fill: variables.$red;
333
+ }
334
+
335
+ &:hover,
336
+ &:not(.Vlt-btn--no-focus):focus {
337
+ background: rgba(variables.$red, 0.1);
338
+ }
339
+
340
+ &:not(.Vlt-btn--no-focus):active,
341
+ &.Vlt-btn_active {
342
+ background: rgba(variables.$red, 0.2);
343
+ }
344
+ }
345
+ }
346
+
347
+ %Vlt-btn--quaternary {
348
+ background: variables.$green;
349
+ color: variables.$white;
350
+
351
+ svg {
352
+ fill: variables.$white;
353
+ }
354
+
355
+ &:hover,
356
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
357
+ background: color.adjust(variables.$green, $lightness: -6%);
358
+ }
359
+
360
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
361
+ &.Vlt-btn_active {
362
+ background: color.adjust(variables.$green, $lightness: -10%);
363
+ }
364
+
365
+ &.Vlt-btn--outline {
366
+ color: variables.$green;
367
+
368
+ svg {
369
+ fill: variables.$green;
370
+ }
371
+
372
+ &:hover,
373
+ &:not(.Vlt-btn--no-focus):focus {
374
+ background: rgba(variables.$green, 0.1);
375
+ }
376
+
377
+ &:not(.Vlt-btn--no-focus):active,
378
+ &.Vlt-btn_active {
379
+ background: rgba(variables.$green, 0.2);
380
+ }
381
+ }
382
+ }
383
+
384
+ %Vlt-btn--indigo {
385
+ background: variables.$indigo;
386
+ color: variables.$white;
387
+
388
+ svg {
389
+ fill: variables.$white;
390
+ }
391
+
392
+ &:hover,
393
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
394
+ background: color.adjust(variables.$indigo, $lightness: -6%);
395
+ }
396
+
397
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
398
+ &.Vlt-btn_active {
399
+ background: color.adjust(variables.$indigo, $lightness: -10%);
400
+ }
401
+
402
+ &.Vlt-btn--outline {
403
+ color: variables.$indigo;
404
+
405
+ svg {
406
+ fill: variables.$indigo;
407
+ }
408
+
409
+ &:hover,
410
+ &:not(.Vlt-btn--no-focus):focus {
411
+ background: rgba(variables.$indigo, 0.1);
412
+ }
413
+
414
+ &:not(.Vlt-btn--no-focus):active,
415
+ &.Vlt-btn_active {
416
+ background: rgba(variables.$indigo, 0.2);
417
+ }
418
+ }
419
+ }
420
+
421
+ %Vlt-btn--orange {
422
+ background: variables.$orange;
423
+ color: variables.$white;
424
+
425
+ svg {
426
+ fill: variables.$white;
427
+ }
428
+
429
+ &:hover,
430
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
431
+ background: color.adjust(variables.$orange, $lightness: -6%);
432
+ }
433
+
434
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
435
+ &.Vlt-btn_active {
436
+ background: color.adjust(variables.$orange, $lightness: -1%);
437
+ }
438
+
439
+ &.Vlt-btn--outline {
440
+ color: variables.$orange;
441
+
442
+ svg {
443
+ fill: variables.$orange;
444
+ }
445
+
446
+ &:hover,
447
+ &:not(.Vlt-btn--no-focus):focus {
448
+ background: rgba(variables.$orange, 0.1);
449
+ }
450
+
451
+ &:not(.Vlt-btn--no-focus):active,
452
+ &.Vlt-btn_active {
453
+ background: rgba(variables.$orange, 0.2);
454
+ }
455
+ }
456
+ }
457
+
458
+ %Vlt-btn--white {
459
+ background: variables.$white;
460
+ color: variables.$black;
461
+
462
+ svg {
463
+ fill: variables.$black;
464
+ }
465
+
466
+ &:hover,
467
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):focus {
468
+ background: variables.$grey-light;
469
+ }
470
+
471
+ &:not(.Vlt-btn--no-focus):not(.Vlt-btn--outline):active,
472
+ &.Vlt-btn_active {
473
+ background: variables.$grey;
474
+ }
475
+
476
+ &.Vlt-btn--outline {
477
+ color: variables.$white;
478
+
479
+ svg {
480
+ fill: variables.$white;
481
+ }
482
+
483
+ &:hover,
484
+ &:not(.Vlt-btn--no-focus):focus {
485
+ background: rgba(variables.$white, 0.1);
486
+ }
487
+
488
+ &:not(.Vlt-btn--no-focus):active,
489
+ &.Vlt-btn_active {
490
+ background: rgba(variables.$white, 0.2);
491
+ }
492
+ }
493
+ }
494
+
495
+ %Vlt-btn--outline {
496
+ background-color: transparent;
497
+ box-shadow: inset 0 0 0 1px;
498
+
499
+ .Vlt-spinner {
500
+ &:before,
501
+ &:after {
502
+ border-color: currentColor transparent transparent;
503
+ }
504
+ }
505
+ }
506
+
507
+ .Vlt-text-btn,
508
+ .Vlt-btn--link,
509
+ %Vlt-text-btn {
510
+ @extend %Vlt-text-link;
511
+ @extend .reset-button;
512
+ border-radius: 0;
513
+ box-shadow: none;
514
+ cursor: pointer;
515
+ font-size: 1.5rem;
516
+ padding: 0;
517
+ white-space: nowrap;
518
+
519
+ svg {
520
+ fill: variables.$purple-dark;
521
+ }
522
+
523
+ &:hover {
524
+ text-decoration: underline;
525
+ transform: none;
526
+ }
527
+
528
+ &:active {
529
+ box-shadow: none;
530
+ }
531
+
532
+ &:disabled,
533
+ &.Vlt-btn--disabled,
534
+ &.Vlt-btn_disabled {
535
+ @extend %disabled-btn-style;
536
+ background: none !important;
537
+ }
538
+ }
539
+
540
+ .Vlt-btn-group {
541
+ display: flex;
542
+
543
+ &:not(.Vlt-btn-group--app) {
544
+ .Vlt-btn {
545
+ &:first-child {
546
+ min-width: 44px;
547
+ padding-left: 20px;
548
+ }
549
+
550
+ &:last-child {
551
+ min-width: 44px;
552
+ padding-right: 20px;
553
+ }
554
+ }
555
+ }
556
+
557
+ .Vlt-btn {
558
+ @extend %Vlt-btn;
559
+ @extend %Vlt-btn--tertiary;
560
+ margin-left: 0;
561
+ margin-right: 0;
562
+
563
+ &:not(:first-child) {
564
+ border-bottom-left-radius: 0;
565
+ border-left: 0;
566
+ border-top-left-radius: 0;
567
+ }
568
+
569
+ &:not(:last-child) {
570
+ border-bottom-right-radius: 0;
571
+ border-top-right-radius: 0;
572
+ }
573
+
574
+ &:not(.Vlt-btn--no-focus):focus {
575
+ z-index: 2;
576
+ }
577
+ }
578
+
579
+ &--app {
580
+ .Vlt-btn {
581
+ background: variables.$grey-light !important;
582
+ position: relative;
583
+ z-index: 1;
584
+
585
+ &:before {
586
+ border-radius: 5px;
587
+ bottom: 2px;
588
+ content: '';
589
+ left: 1px;
590
+ position: absolute;
591
+ right: 1px;
592
+ top: 2px;
593
+ transition: background 0.3s;
594
+ z-index: -1;
595
+ }
596
+
597
+ &:hover {
598
+ &:before {
599
+ background: variables.$grey;
600
+ }
601
+ }
602
+
603
+ &.Vlt-btn_active {
604
+ color: variables.$white !important;
605
+
606
+ svg {
607
+ fill: variables.$white !important;
608
+ }
609
+
610
+ &:before {
611
+ background: variables.$black;
612
+ }
613
+ }
614
+
615
+ &:first-child {
616
+ border-bottom-left-radius: 6px;
617
+ border-top-left-radius: 6px;
618
+
619
+ &:before {
620
+ left: 2px;
621
+ }
622
+ }
623
+
624
+ &:last-child {
625
+ border-bottom-right-radius: 6px;
626
+ border-top-right-radius: 6px;
627
+
628
+ &:before {
629
+ right: 2px;
630
+ }
631
+ }
632
+ }
633
+ }
634
+
635
+ &--small {
636
+ .Vlt-btn {
637
+ @extend %Vlt-btn--small;
638
+ }
639
+
640
+ &:not(.Vlt-btn-group--app) {
641
+ .Vlt-btn {
642
+ &:first-child {
643
+ min-width: 36px;
644
+ padding-left: 16px;
645
+ }
646
+
647
+ &:last-child {
648
+ min-width: 36px;
649
+ padding-right: 16px;
650
+ }
651
+ }
652
+ }
653
+ }
654
+
655
+ &--large {
656
+ .Vlt-btn {
657
+ @extend %Vlt-btn--large;
658
+ }
659
+
660
+ &:not(.Vlt-btn-group--app) {
661
+ .Vlt-btn {
662
+ &:first-child {
663
+ min-width: 52px;
664
+ padding-left: 28px;
665
+ }
666
+
667
+ &:last-child {
668
+ min-width: 52px;
669
+ padding-right: 28px;
670
+ }
671
+ }
672
+ }
673
+ }
674
+
675
+ &--icon {
676
+ .Vlt-btn {
677
+ @extend %Vlt-btn--icon;
678
+ }
679
+ }
680
+
681
+ &--hover {
682
+ // This is for hover buttons, not for button groups on hover
683
+ border: 0 !important;
684
+ margin-top: -1px;
685
+ opacity: 0;
686
+ padding: 0 !important;
687
+ position: absolute;
688
+ right: variables.$unit2;
689
+ transition: all 0.3s;
690
+ z-index: -1;
691
+ }
692
+
693
+ &--inline {
694
+ display: inline-flex;
695
+ }
696
+ }
697
+
698
+ .Vlt-btn-on-hover {
699
+ position: relative;
700
+
701
+ &:hover {
702
+ .Vlt-btn-group--hover {
703
+ background-color: transparent;
704
+ opacity: 1;
705
+ z-index: 2;
706
+ }
707
+ }
708
+
709
+ &:not(tr):not(td):not(table) {
710
+ .Vlt-btn-group--hover {
711
+ margin-top: 0px;
712
+ top: -(variables.$unit2); // this is both here and above in the form of margin-top because that one works in tables and this works everywhere else
713
+ }
714
+ }
715
+ }
716
+
717
+ .Vlt-text-link,
718
+ %Vlt-text-link {
719
+ color: variables.$purple-dark;
720
+ cursor: pointer;
721
+ font-size: inherit;
722
+ font-weight: inherit;
723
+ line-height: inherit;
724
+
725
+ &:hover {
726
+ color: variables.$purple-darker;
727
+ text-decoration: underline;
728
+ }
729
+
730
+ &:active {
731
+ color: variables.$purple-darker;
732
+ }
733
+
734
+ &:visited {
735
+ color: variables.$purple-dark;
736
+
737
+ &:hover {
738
+ color: variables.$purple-darker;
739
+ }
740
+ }
741
+
742
+ &.Vlt-black {
743
+ color: variables.$black;
744
+ font-weight: 600;
745
+ position: relative;
746
+
747
+ &:after {
748
+ background-color: variables.$black;
749
+ bottom: -2px;
750
+ content: '';
751
+ height: 1px;
752
+ left: 0;
753
+ position: absolute;
754
+ width: 100%;
755
+ }
756
+
757
+ &:hover {
758
+ color: variables.$grey-darker;
759
+ text-decoration: none;
760
+
761
+ &:after {
762
+ background-color: variables.$grey-darker;
763
+ }
764
+ }
765
+
766
+ &:active {
767
+ color: variables.$grey-darker;
768
+ }
769
+
770
+ &:visited {
771
+ color: variables.$black;
772
+ }
773
+ }
774
+ }
775
+
776
+ .reset-button {
777
+ appearance: none;
778
+ background: none;
779
+ border: 0;
780
+ outline: none;
781
+ padding: 0;
782
+ }
783
+
784
+ %disabled-btn-style {
785
+ background: rgba(variables.$grey, 0.5);
786
+ border: 0;
787
+ box-shadow: none;
788
+ color: variables.$grey-dark;
789
+ pointer-events: none;
790
+
791
+ svg {
792
+ fill: variables.$grey-dark;
793
+ }
794
+ }