@globalbrain/sefirot 0.65.0 → 0.68.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 (52) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +5 -17
  3. package/lib/.DS_Store +0 -0
  4. package/lib/assets/styles/variables.css +345 -5
  5. package/lib/components/.DS_Store +0 -0
  6. package/lib/components/SButton.vue +22 -27
  7. package/lib/components/SButtonGroup.vue +40 -22
  8. package/lib/components/SDialog.vue +4 -3
  9. package/lib/components/SInputBase.vue +27 -5
  10. package/lib/components/SInputNumber.vue +18 -1
  11. package/lib/components/SInputRadio.vue +5 -4
  12. package/lib/components/SInputText.vue +176 -19
  13. package/lib/components/SInputTextarea.vue +13 -2
  14. package/lib/components/SInputYMD.vue +244 -0
  15. package/lib/components/SModal.vue +7 -2
  16. package/lib/components/SSheet.vue +47 -0
  17. package/lib/components/SSheetFooter.vue +14 -0
  18. package/lib/components/SSheetFooterAction.vue +32 -0
  19. package/lib/components/SSheetFooterActions.vue +19 -0
  20. package/lib/components/SSheetHeader.vue +75 -0
  21. package/lib/components/SSheetHeaderTitle.vue +17 -0
  22. package/lib/components/SSheetMedium.vue +92 -0
  23. package/lib/components/SSnackbar.vue +7 -2
  24. package/lib/components/icons/.DS_Store +0 -0
  25. package/lib/components/icons/SIconGrab.vue +10 -0
  26. package/lib/components/icons/SIconInbox.vue +5 -0
  27. package/lib/components/icons/SIconLock.vue +5 -0
  28. package/lib/components/icons/SIconMoreVertical.vue +7 -0
  29. package/lib/components/icons/SIconPreloader.vue +239 -0
  30. package/lib/composables/Modal.ts +16 -5
  31. package/lib/composables/Tooltip.ts +1 -1
  32. package/lib/mixins/Sheet.ts +22 -0
  33. package/lib/validation/rules/every.ts +38 -0
  34. package/lib/validation/rules/index.ts +13 -1
  35. package/lib/validation/rules/requiredMonthDate.ts +11 -0
  36. package/lib/validation/rules/requiredYearMonth.ts +11 -0
  37. package/lib/validation/rules/requiredYearMonthDate.ts +11 -0
  38. package/lib/validation/rules/yearMonth.ts +11 -0
  39. package/lib/validation/rules/yearMonthDate.ts +11 -0
  40. package/lib/validation/validators/index.ts +13 -1
  41. package/lib/validation/validators/monthDate.ts +20 -0
  42. package/lib/validation/validators/requiredMonthDate.ts +8 -0
  43. package/lib/validation/validators/requiredYearMonth.ts +8 -0
  44. package/lib/validation/validators/requiredYearMonthDate.ts +9 -0
  45. package/lib/validation/validators/yearMonth.ts +20 -0
  46. package/lib/validation/validators/yearMonthDate.ts +21 -0
  47. package/package.json +30 -29
  48. package/lib/assets/styles/variables/colors.css +0 -189
  49. package/lib/assets/styles/variables/easings.css +0 -12
  50. package/lib/assets/styles/variables/shadows.css +0 -7
  51. package/lib/assets/styles/variables/typography.css +0 -6
  52. package/lib/assets/styles/variables/z-indexes.css +0 -8
package/CHANGELOG.md CHANGED
@@ -1,3 +1,52 @@
1
+ # [0.68.0](https://github.com/globalbrain/sefirot/compare/v0.67.0...v0.68.0) (2021-10-25)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **modal:** fix open method not working correctly ([23d8321](https://github.com/globalbrain/sefirot/commit/23d832198dbb23df225bcd89c69f6b30e5d2ea47))
6
+ * **modal:** interface type ([289f6f1](https://github.com/globalbrain/sefirot/commit/289f6f1ea912d0c603e0fecde1ee1a1ae495b4bd))
7
+ * **tooltip:** set timeout when it hides tooltip ([#104](https://github.com/globalbrain/sefirot/issues/104)) ([b07df61](https://github.com/globalbrain/sefirot/commit/b07df61a322388634a8584d6186e62e76249a49f))
8
+
9
+ ### Features
10
+
11
+ * **button:** add dark mode support ([ed5129d](https://github.com/globalbrain/sefirot/commit/ed5129d354099a142b0972ed202eb7944842e716))
12
+ * **icon:** add 'more-vertical' and 'grab' icons ([#102](https://github.com/globalbrain/sefirot/issues/102)) ([facba32](https://github.com/globalbrain/sefirot/commit/facba32ee670620c0da67166901ba2c51b001b93))
13
+ * **input-radio:** add dark mode support ([f2bcea7](https://github.com/globalbrain/sefirot/commit/f2bcea7d9e4f21c96c7701133c70407c866a050c))
14
+ * **input-text:** add alignment option for text input and number input ([#103](https://github.com/globalbrain/sefirot/issues/103)) ([07ccfd1](https://github.com/globalbrain/sefirot/commit/07ccfd11f72c9eeff8db2feee422734ca01864df))
15
+ * **input-text:** add small size and dark mode support ([14a2b10](https://github.com/globalbrain/sefirot/commit/14a2b10e6fdc98f70b80b289a46fcfa1c39d9336))
16
+ * **input-textarea:** add dark mode support ([d124ab4](https://github.com/globalbrain/sefirot/commit/d124ab4f0ba3307cbad3ec407dfaaa0cdbb48ecc))
17
+ * **modal:** accept component in useModal argument ([5be1176](https://github.com/globalbrain/sefirot/commit/5be1176a0618e8bd156f7719ed3dc19b68f022d1))
18
+ * **modal:** close modal when clicking on content area ([afcd5c7](https://github.com/globalbrain/sefirot/commit/afcd5c7d6f34a329147889d205a784c941ad6eff))
19
+ * **sheet:** add SSheet component ([f98c204](https://github.com/globalbrain/sefirot/commit/f98c2046e57a47c05f174a2313ae39300a78823d))
20
+
21
+ # [0.67.0](https://github.com/globalbrain/sefirot/compare/v0.66.0...v0.67.0) (2021-09-23)
22
+
23
+ ### Bug Fixes
24
+
25
+ * **input-number:** fix `0` value not showing correctly ([c90a6ab](https://github.com/globalbrain/sefirot/commit/c90a6abc51060dabedce25b2f4ada6d315668077))
26
+
27
+ ### Features
28
+
29
+ * **icon:** add more icons ([6463401](https://github.com/globalbrain/sefirot/commit/646340107d8d5bedd3b3ffcbb861d2c1de80a919))
30
+ * **input:** add error message option to inputs ([db7d5d6](https://github.com/globalbrain/sefirot/commit/db7d5d6df1c24f4cd4be5a1e184ebda87326d58c))
31
+ * **input-text:** add `color` prop to input text and number ([#99](https://github.com/globalbrain/sefirot/issues/99)) ([f8ff9a2](https://github.com/globalbrain/sefirot/commit/f8ff9a2e00bcfc2ea2f6c704d337a425b83caa11))
32
+ * **input-number:** add option to show separator when focus is out ([#97](https://github.com/globalbrain/sefirot/issues/97)) ([5db99c8](https://github.com/globalbrain/sefirot/commit/5db99c85bea471256f1eb6884052f8a2741ec4eb))
33
+ * **input-textarea:** add `small` size ([645f446](https://github.com/globalbrain/sefirot/commit/645f4460ea461d4cb03be9da01768051fcb0ae5a))
34
+ * **input-ymd:** add YMD input component ([648c496](https://github.com/globalbrain/sefirot/commit/648c496482a5561497488a6442c902fbb4cffce9))
35
+ * **dialog:** add dark mode support ([9fb8276](https://github.com/globalbrain/sefirot/commit/9fb827684e0dda6743df33635ca54392d43df804))
36
+ * **snackbar:** add dark mode support ([03180c7](https://github.com/globalbrain/sefirot/commit/03180c7ffeb8d8f69f75558ea8415e37a3a93262))
37
+
38
+ # [0.66.0](https://github.com/globalbrain/sefirot/compare/v0.65.1...v0.66.0) (2021-09-17)
39
+
40
+ ### Features
41
+
42
+ * **validation:** add `every` rule ([4b3ddec](https://github.com/globalbrain/sefirot/commit/4b3ddec79b8fc570a76ae62f5b0f5eaffe0c499c))
43
+
44
+ ## [0.65.1](https://github.com/globalbrain/sefirot/compare/v0.65.0...v0.65.1) (2021-09-13)
45
+
46
+ ### Bug Fixes
47
+
48
+ * **button-group:** the height of each button groups is incorrect ([#96](https://github.com/globalbrain/sefirot/issues/96)) ([1303925](https://github.com/globalbrain/sefirot/commit/1303925d255df6c34d26a129d9ebc3d7145804ac))
49
+
1
50
  # [0.65.0](https://github.com/globalbrain/sefirot/compare/v0.64.0...v0.65.0) (2021-08-18)
2
51
 
3
52
  ### Features
package/README.md CHANGED
@@ -1,20 +1,8 @@
1
- <p align="center">
2
- <img width="128" src="https://github.com/globalbrain/sefirot/raw/master/logo-sefirot.png" alt="Sefirot">
3
- </p>
4
-
5
- <h1 align="center">Sefirot</h1>
6
-
7
- <p align="center">
8
- <a href="https://github.com/globalbrain/sefirot/actions">
9
- <img src="https://github.com/globalbrain/sefirot/workflows/Test/badge.svg" alt="GitHub Actions">
10
- </a>
11
- <a href="https://codecov.io/gh/globalbrain/sefirot">
12
- <img src="https://codecov.io/gh/globalbrain/sefirot/branch/master/graph/badge.svg" alt="codecov">
13
- </a>
14
- <a href="https://github.com/globalbrain/sefirot/blob/master/LICENSE.md">
15
- <img src="https://img.shields.io/npm/l/@globalbrain/sefirot.svg" alt="License">
16
- </a>
17
- </p>
1
+ # Sefirot
2
+
3
+ [![GitHub Actions](https://github.com/globalbrain/sefirot/workflows/Test/badge.svg)](https://github.com/globalbrain/sefirot/actions)
4
+ [![Codecov](https://codecov.io/gh/globalbrain/sefirot/branch/master/graph/badge.svg)](https://codecov.io/gh/globalbrain/sefirot)
5
+ [![License](https://img.shields.io/npm/l/@globalbrain/sefirot.svg)](https://github.com/globalbrain/sefirot/blob/master/LICENSE.md)
18
6
 
19
7
  Sefirot is a collection of Vue Components for Global Brain Design System. Components are meant to be clean, sophisticated, and scalable.
20
8
 
package/lib/.DS_Store ADDED
Binary file
@@ -1,5 +1,345 @@
1
- @import "./variables/colors";
2
- @import "./variables/easings";
3
- @import "./variables/shadows";
4
- @import "./variables/typography";
5
- @import "./variables/z-indexes";
1
+ /**
2
+ * Colors Base
3
+ *
4
+ * These are the pure base color presets. Most of the time, you should not be
5
+ * using these colors directly in the theme but rather use "Colors Theme"
6
+ * instead because those are "Theme (light or dark)" dependant.
7
+ * -------------------------------------------------------------------------- */
8
+
9
+ :root {
10
+ --c-white: #ffffff;
11
+ --c-white-soft: #fafafa;
12
+ --c-white-mute: #f2f2f2;
13
+
14
+ --c-black: #000000;
15
+ --c-black-deep: #171717;
16
+ --c-black-soft: #1c1c1e;
17
+ --c-black-mute: #2c2c2e;
18
+
19
+ --c-black-elevated: #1c1c1e;
20
+ --c-black-elevated-soft: #2c2c2e;
21
+ --c-black-elevated-mute: #3a3a3c;
22
+
23
+ --c-gray: #8E8E93;
24
+
25
+ --c-gray-dark-1: #636366;
26
+ --c-gray-dark-2: #48484a;
27
+ --c-gray-dark-3: #3a3a3c;
28
+ --c-gray-dark-4: #2c2c2e;
29
+ --c-gray-dark-5: #1c1c1e;
30
+
31
+ --c-gray-light-1: #aeaeb2;
32
+ --c-gray-light-2: #c7c7cc;
33
+ --c-gray-light-3: #d1d1d6;
34
+ --c-gray-light-4: #e5e5ea;
35
+ --c-gray-light-5: #f2f2f7;
36
+
37
+ --c-divider-light-1: rgba(60, 60, 67, .29);
38
+ --c-divider-light-2: rgba(60, 60, 67, .12);
39
+
40
+ --c-divider-dark-1: rgba(84, 84, 88, .65);
41
+ --c-divider-dark-2: rgba(84, 84, 88, .65);
42
+
43
+ --c-text-light-1: var(--c-black);
44
+ --c-text-light-2: rgba(60, 60, 67, .6);
45
+ --c-text-light-3: rgba(60, 60, 67, .3);
46
+ --c-text-light-4: rgba(60, 60, 67, .18);
47
+
48
+ --c-text-dark-1: var(--c-white);
49
+ --c-text-dark-2: rgba(235, 235, 245, .6);
50
+ --c-text-dark-3: rgba(235, 235, 245, .3);
51
+ --c-text-dark-4: rgba(235, 235, 245, .18);
52
+
53
+ --c-info: #3b8eed;
54
+ --c-info-light: #549ced;
55
+ --c-info-lighter: #50a2ff;
56
+ --c-info-dark: #3468a3;
57
+ --c-info-darker: #255489;
58
+
59
+ --c-success: #00b489;
60
+ --c-success-light: #0fcea0;
61
+ --c-success-lighter: #27e8ba;
62
+ --c-success-dark: #068f6e;
63
+ --c-success-darker: #086b53;
64
+
65
+ --c-warning: #ffc517;
66
+ --c-warning-light: #ffe417;
67
+ --c-warning-lighter: #ffff17;
68
+ --c-warning-dark: #e0ad15;
69
+ --c-warning-darker: #bc9112;
70
+ --c-warning-bg: rgba(255, 197, 23, .1);
71
+
72
+ --c-danger: #ed3c50;
73
+ --c-danger-light: #f43771;
74
+ --c-danger-lighter: #fd1d7c;
75
+ --c-danger-dark: #cd2d3f;
76
+ --c-danger-darker: #ab2131;
77
+
78
+ --c-alternative: #de41e0;
79
+ --c-alternative-light: #e936eb;
80
+ --c-alternative-lighter: #f616f8;
81
+ --c-alternative-dark: #823c83;
82
+ --c-alternative-darker: #602960;
83
+ }
84
+
85
+ /**
86
+ * Colors Theme
87
+ * -------------------------------------------------------------------------- */
88
+
89
+ :root {
90
+ --c-bg: var(--c-white);
91
+ --c-bg-soft: var(--c-white-soft);
92
+ --c-bg-mute: var(--c-white-mute);
93
+
94
+ --c-divider: var(--c-divider-light-1);
95
+ --c-divider-light: var(--c-divider-light-2);
96
+
97
+ --c-text-1: var(--c-text-light-1);
98
+ --c-text-2: var(--c-text-light-2);
99
+ --c-text-3: var(--c-text-light-3);
100
+ --c-text-4: var(--c-text-light-4);
101
+
102
+ --c-text-inverse-1: var(--c-text-dark-1);
103
+ --c-text-inverse-2: var(--c-text-dark-2);
104
+ --c-text-inverse-3: var(--c-text-dark-3);
105
+ --c-text-inverse-4: var(--c-text-dark-4);
106
+ }
107
+
108
+ .dark-mode {
109
+ --c-bg: var(--c-black-deep);
110
+ --c-bg-soft: var(--c-black-soft);
111
+ --c-bg-mute: var(--c-black-mute);
112
+
113
+ --c-divider: var(--c-divider-dark-1);
114
+ --c-divider-light: var(--c-divider-dark-2);
115
+
116
+ --c-text-1: var(--c-text-dark-1);
117
+ --c-text-2: var(--c-text-dark-2);
118
+ --c-text-3: var(--c-text-dark-3);
119
+ --c-text-4: var(--c-text-dark-4);
120
+
121
+ --c-text-inverse-1: var(--c-text-light-1);
122
+ --c-text-inverse-2: var(--c-text-light-2);
123
+ --c-text-inverse-3: var(--c-text-light-3);
124
+ --c-text-inverse-4: var(--c-text-light-4);
125
+ }
126
+
127
+ /**
128
+ * Typography
129
+ * -------------------------------------------------------------------------- */
130
+
131
+ :root {
132
+ --font-family-base: "Roboto", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica Neue", "Arial", "sans-serif";
133
+ --font-family-primary: "interstate", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif";
134
+ --font-family-number: "Roboto", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica Neue", "Arial", "sans-serif";
135
+ --font-family-mono: "source-code-pro", "Menlo", "Monaco", "Consolas", "Courier New", monospace;
136
+ }
137
+
138
+ /**
139
+ * Shadows
140
+ * -------------------------------------------------------------------------- */
141
+
142
+ :root {
143
+ --shadow-depth-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);
144
+ --shadow-depth-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);
145
+ --shadow-depth-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);
146
+ --shadow-depth-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);
147
+ --shadow-depth-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16);
148
+ }
149
+
150
+ /**
151
+ * Z Indexes
152
+ * -------------------------------------------------------------------------- */
153
+
154
+ :root {
155
+ --z-index-tooltip: 1000;
156
+ --z-index-dropdown: 2000;
157
+ --z-index-screen: 3000;
158
+ --z-index-backdrop: 4000;
159
+ --z-index-modal: 4100;
160
+ --z-index-snackbar: 5000;
161
+ }
162
+
163
+ /**
164
+ * Easings
165
+ * -------------------------------------------------------------------------- */
166
+
167
+ :root {
168
+ --ease-in-quint: cubic-bezier(.755, .05, .855, .06);
169
+ --ease-in-back: cubic-bezier(1, -.75, 1, 1);
170
+
171
+ --ease-out-quint: cubic-bezier(.23, 1, .32, 1);
172
+ --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
173
+ --ease-out-back: cubic-bezier(.175, .885, .320, 1.275);
174
+ --ease-out-back-quint: cubic-bezier(.175, .885, .280, 1.5);
175
+
176
+ --ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);
177
+ --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
178
+ }
179
+
180
+ /**
181
+ * Component: Preloader
182
+ * -------------------------------------------------------------------------- */
183
+
184
+ :root {
185
+ --preloader-color: var(--c-black);
186
+ }
187
+
188
+ .dark-mode {
189
+ --preloader-color: var(--c-white);
190
+ }
191
+
192
+ /**
193
+ * Component: Button
194
+ * -------------------------------------------------------------------------- */
195
+
196
+ :root {
197
+ --button-primary-text: var(--c-text-inverse-1);
198
+ --button-primary-bg: var(--c-black);
199
+ --button-primary-bg-hover: var(--c-gray-dark-4);
200
+ --button-primary-bg-focus: var(--c-gray-dark-3);
201
+ --button-primary-inverse-text: var(--c-text-1);
202
+ --button-primary-inverse-bg: var(--c-white);
203
+ --button-primary-inverse-bg-hover: var(--c-white-mute);
204
+ --button-primary-inverse-bg-focus: var(--c-gray-light-4);
205
+
206
+ --button-secondary-text: var(--c-text-1);
207
+ --button-secondary-border: var(--c-black);
208
+ --button-secondary-bg-hover: var(--c-white-mute);
209
+ --button-secondary-bg-focus: var(--c-gray-light-4);
210
+ --button-secondary-inverse-text: var(--c-text-inverse-1);
211
+ --button-secondary-inverse-border: var(--c-white);
212
+ --button-secondary-inverse-bg-hover: var(--c-gray-dark-4);
213
+ --button-secondary-inverse-bg-focus: var(--c-gray-dark-3);
214
+
215
+ --button-tertiary-text: var(--c-text-1);
216
+ --button-tertiary-bg: var(--c-white-mute);
217
+ --button-tertiary-bg-hover: var(--c-gray-light-4);
218
+ --button-tertiary-bg-focus: var(--c-gray-light-3);
219
+ --button-tertiary-inverse-text: var(--c-text-inverse-1);
220
+ --button-tertiary-inverse-bg: var(--c-black-mute);
221
+ --button-tertiary-inverse-bg-hover: var(--c-gray-dark-3);
222
+ --button-tertiary-inverse-bg-focus: var(--c-gray-dark-2);
223
+
224
+ --button-text-text: var(--c-text-1);
225
+ --button-text-bg-hover: var(--c-white-mute);
226
+ --button-text-bg-focus: var(--c-gray-light-4);
227
+ --button-text-inverse-text: var(--c-text-inverse-1);
228
+ --button-text-inverse-bg: var(--c-black-mute);
229
+ --button-text-inverse-bg-hover: var(--c-gray-dark-3);
230
+ --button-text-inverse-bg-focus: var(--c-gray-dark-2);
231
+
232
+ --button-mute-text: var(--c-text-2);
233
+ --button-mute-text-hover: var(--c-text-1);
234
+ --button-mute-bg-hover: var(--c-white-mute);
235
+ --button-mute-bg-focus: var(--c-gray-light-4);
236
+ --button-mute-inverse-text: var(--c-text-inverse-2);
237
+ --button-mute-inverse-text-hover: var(--c-text-inverse-1);
238
+ --button-mute-inverse-bg-hover: var(--c-gray-dark-3);
239
+ --button-mute-inverse-bg-focus: var(--c-gray-dark-2);
240
+ }
241
+
242
+ .dark-mode {
243
+ --button-primary-text: var(--c-text-inverse-1);
244
+ --button-primary-bg: var(--c-white);
245
+ --button-primary-bg-hover: var(--c-gray-light-3);
246
+ --button-primary-bg-focus: var(--c-gray-light-1);
247
+ --button-primary-inverse-text: var(--c-text-1);
248
+ --button-primary-inverse-bg: var(--c-black);
249
+ --button-primary-inverse-bg-hover: var(--c-gray-dark-4);
250
+ --button-primary-inverse-bg-focus: var(--c-gray-dark-3);
251
+
252
+ --button-secondary-border: var(--c-white);
253
+ --button-secondary-bg-hover: var(--c-black-mute);
254
+ --button-secondary-bg-focus: var(--c-gray-dark-3);
255
+ --button-secondary-inverse-text: var(--c-text-inverse-1);
256
+ --button-secondary-inverse-border: var(--c-white);
257
+ --button-secondary-inverse-bg-hover: var(--c-gray-dark-4);
258
+ --button-secondary-inverse-bg-focus: var(--c-gray-dark-3);
259
+
260
+ --button-tertiary-text: var(--c-text-1);
261
+ --button-tertiary-bg: var(--c-black-mute);
262
+ --button-tertiary-bg-hover: var(--c-gray-dark-3);
263
+ --button-tertiary-bg-focus: var(--c-gray-dark-1);
264
+ --button-tertiary-inverse-text: var(--c-text-inverse-1);
265
+ --button-tertiary-inverse-bg: var(--c-black-mute);
266
+ --button-tertiary-inverse-bg-hover: var(--c-gray-dark-3);
267
+ --button-tertiary-inverse-bg-focus: var(--c-gray-dark-2);
268
+
269
+ --button-text-text: var(--c-text-1);
270
+ --button-text-bg-hover: var(--c-black-mute);
271
+ --button-text-bg-focus: var(--c-gray-dark-3);
272
+ --button-text-inverse-text: var(--c-text-inverse-1);
273
+ --button-text-inverse-bg: var(--c-black-mute);
274
+ --button-text-inverse-bg-hover: var(--c-gray-dark-3);
275
+ --button-text-inverse-bg-focus: var(--c-gray-dark-2);
276
+
277
+ --button-mute-text: var(--c-text-2);
278
+ --button-mute-text-hover: var(--c-text-1);
279
+ --button-mute-bg-hover: var(--c-black-mute);
280
+ --button-mute-bg-focus: var(--c-gray-dark-3);
281
+ --button-mute-inverse-text: var(--c-text-inverse-2);
282
+ --button-mute-inverse-text-hover: var(--c-text-inverse-1);
283
+ --button-mute-inverse-bg-hover: var(--c-gray-dark-3);
284
+ --button-mute-inverse-bg-focus: var(--c-gray-dark-2);
285
+ }
286
+
287
+ /**
288
+ * Component: Inputs
289
+ * -------------------------------------------------------------------------- */
290
+
291
+ :root {
292
+ --input-label: var(--c-text-1);
293
+ --input-note: var(--c-text-2);
294
+ --input-text: var(--c-text-1);
295
+ --input-placeholder: var(--c-text-3);
296
+
297
+ --input-filled-bg: var(--c-bg-mute);
298
+ --input-filled-bg-focus: var(--c-bg);
299
+ --input-filled-bg-disabled: var(--c-gray-light-4);
300
+
301
+ --input-outlined-bg-disabled: var(--c-white-mute);
302
+ --input-outlined-border: var(--c-divider);
303
+
304
+ --input-clear-bg-disabled: var(--c-white);
305
+
306
+ --input-focus-border: var(--c-black);
307
+ --input-focus-bg: var(--c-white);
308
+
309
+ --input-help: var(--c-text-2);
310
+
311
+ --input-action-filled-bg: var(--c-white-mute);
312
+ --input-action-filled-bg-hover: var(--c-gray-light-4);
313
+ --input-action-filled-bg-focus: var(--c-gray-light-3);
314
+
315
+ --input-action-outlined-bg: var(--c-white-mute);
316
+ --input-action-outlined-border: var(--c-divider);
317
+ --input-action-outlined-bg-hover: var(--c-gray-light-4);
318
+ --input-action-outlined-bg-focus: var(--c-gray-light-3);
319
+ }
320
+
321
+ .dark-mode {
322
+ --input-focus-border: var(--c-gray);
323
+ }
324
+
325
+ /**
326
+ * Component: Card
327
+ * -------------------------------------------------------------------------- */
328
+
329
+ :root {
330
+ --card-bg: var(--c-white);
331
+ --card-bg-mute: var(--c-white-soft);
332
+ --card-shadow-depth-1: var(--shadow-depth-1);
333
+ --card-shadow-depth-2: var(--shadow-depth-2);
334
+ --card-shadow-depth-3: var(--shadow-depth-3);
335
+ --card-shadow-depth-4: var(--shadow-depth-4);
336
+ --card-shadow-depth-5: var(--shadow-depth-5);
337
+ }
338
+
339
+ /**
340
+ * Component: Dropdown
341
+ * -------------------------------------------------------------------------- */
342
+
343
+ :root {
344
+ --dropdown-item-hover-bg: var(--c-white-soft);
345
+ }
Binary file
@@ -14,7 +14,7 @@
14
14
 
15
15
  <transition name="fade">
16
16
  <span v-if="loading" key="loading" class="loader">
17
- <component :is="preloaderComponent" class="loader-icon" />
17
+ <SIconPreloader class="loader-icon" />
18
18
  </span>
19
19
  </transition>
20
20
  </component>
@@ -22,12 +22,15 @@
22
22
 
23
23
  <script lang="ts">
24
24
  import { PropType, defineComponent, computed } from '@vue/composition-api'
25
- import SIconPreloaderDark from './icons/SIconPreloaderDark.vue'
26
- import SIconPreloaderLight from './icons/SIconPreloaderLight.vue'
25
+ import SIconPreloader from './icons/SIconPreloader.vue'
27
26
 
28
27
  type Size = 'mini' | 'small' | 'medium' | 'large' | 'jumbo'
29
28
 
30
29
  export default defineComponent({
30
+ components: {
31
+ SIconPreloader
32
+ },
33
+
31
34
  props: {
32
35
  label: { type: String, default: null },
33
36
  tag: { type: String, default: 'button' },
@@ -57,33 +60,12 @@ export default defineComponent({
57
60
  { disabled: props.disabled }
58
61
  ])
59
62
 
60
- const preloaderComponent = computed(() => {
61
- if (props.mode !== 'neutral') {
62
- return SIconPreloaderLight
63
- }
64
-
65
- if (!props.inverse && props.type === 'primary') {
66
- return SIconPreloaderLight
67
- }
68
-
69
- if (!props.inverse && props.type !== 'primary') {
70
- return SIconPreloaderDark
71
- }
72
-
73
- if (props.inverse && props.type === 'primary') {
74
- return SIconPreloaderDark
75
- }
76
-
77
- return SIconPreloaderLight
78
- })
79
-
80
63
  function handleClick(): void {
81
64
  !props.disabled && emit('click')
82
65
  }
83
66
 
84
67
  return {
85
68
  classes,
86
- preloaderComponent,
87
69
  handleClick
88
70
  }
89
71
  }
@@ -115,6 +97,7 @@ export default defineComponent({
115
97
  &:active { background-color: var(--button-primary-bg-focus); }
116
98
 
117
99
  &.info {
100
+ color: var(--c-text-dark-1);
118
101
  background-color: var(--c-info);
119
102
 
120
103
  &:hover { background-color: var(--c-info-dark); }
@@ -122,6 +105,7 @@ export default defineComponent({
122
105
  }
123
106
 
124
107
  &.success {
108
+ color: var(--c-text-dark-1);
125
109
  background-color: var(--c-success);
126
110
 
127
111
  &:hover { background-color: var(--c-success-dark); }
@@ -129,6 +113,7 @@ export default defineComponent({
129
113
  }
130
114
 
131
115
  &.warning {
116
+ color: var(--c-text-dark-1);
132
117
  background-color: var(--c-warning);
133
118
 
134
119
  &:hover { background-color: var(--c-warning-dark); }
@@ -136,6 +121,7 @@ export default defineComponent({
136
121
  }
137
122
 
138
123
  &.danger {
124
+ color: var(--c-text-dark-1);
139
125
  background-color: var(--c-danger);
140
126
 
141
127
  &:hover { background-color: var(--c-danger-dark); }
@@ -209,6 +195,10 @@ export default defineComponent({
209
195
  &:active { background-color: var(--c-danger-darker); }
210
196
  }
211
197
  }
198
+
199
+ & .loader-icon >>> .bar {
200
+ fill: var(--c-text-inverse-1);
201
+ }
212
202
  }
213
203
 
214
204
  .SButton.secondary {
@@ -449,6 +439,10 @@ export default defineComponent({
449
439
  height: 40px;
450
440
  font-size: 13px;
451
441
 
442
+ .label {
443
+ transform: translateY(1px);
444
+ }
445
+
452
446
  .icon-svg {
453
447
  width: 16px;
454
448
  height: 16px;
@@ -481,7 +475,7 @@ export default defineComponent({
481
475
  font-size: 14px;
482
476
 
483
477
  .label {
484
- transform: translateY(.5px);
478
+ transform: translateY(1px);
485
479
  }
486
480
 
487
481
  .icon-svg {
@@ -548,8 +542,8 @@ export default defineComponent({
548
542
 
549
543
  .SButton.loading {
550
544
  &.primary {
551
- &:hover { background-color: var(--c-black); }
552
- &:active { background-color: var(--c-black); }
545
+ &:hover { background-color: var(--button-primary-bg); }
546
+ &:active { background-color: var(--button-primary-bg); }
553
547
 
554
548
  &.info {
555
549
  &:hover { background-color: var(--c-info-light); }
@@ -609,6 +603,7 @@ export default defineComponent({
609
603
  left: 50%;
610
604
  width: 32px;
611
605
  height: 32px;
606
+ color: var(--c-text-1);
612
607
  transform: translate(-50%, -50%);
613
608
  transition: opacity .25s, transform .25s;
614
609
  }
@@ -66,48 +66,66 @@ export default defineComponent({
66
66
  display: flex;
67
67
  border: 1px solid var(--c-divider);
68
68
  border-radius: 4px;
69
- width: 100%;
70
69
  overflow: hidden;
71
70
  }
72
71
 
73
- .SButtonGroup.mini .button {
74
- padding: 0 8px;
72
+ .SButtonGroup.mini {
75
73
  height: 28px;
76
- font-size: 12px;
77
- font-weight: 500;
74
+
75
+ .button {
76
+ padding: 0 8px;
77
+ height: 28px;
78
+ font-size: 12px;
79
+ font-weight: 500;
80
+ }
78
81
  }
79
82
 
80
- .SButtonGroup.small .button {
81
- padding: 0 10px;
83
+ .SButtonGroup.small {
82
84
  height: 32px;
83
- font-size: 12px;
84
- font-weight: 500;
85
+
86
+ .button {
87
+ padding: 0 10px;
88
+ height: 32px;
89
+ font-size: 12px;
90
+ font-weight: 500;
91
+ }
85
92
  }
86
93
 
87
- .SButtonGroup.medium .button {
88
- padding: 0 12px;
94
+ .SButtonGroup.medium {
89
95
  height: 40px;
90
- font-size: 13px;
91
- font-weight: 500;
96
+
97
+ .button {
98
+ padding: 0 12px;
99
+ height: 40px;
100
+ font-size: 13px;
101
+ font-weight: 500;
102
+ }
92
103
  }
93
104
 
94
- .SButtonGroup.large .button {
95
- padding: 0 14px;
105
+ .SButtonGroup.large {
96
106
  height: 48px;
97
- font-size: 14px;
98
- font-weight: 500;
107
+
108
+ .button {
109
+ padding: 0 14px;
110
+ height: 48px;
111
+ font-size: 14px;
112
+ font-weight: 500;
113
+ }
99
114
  }
100
115
 
101
- .SButtonGroup.jumbo .button {
102
- padding: 0 24px;
116
+ .SButtonGroup.jumbo {
103
117
  height: 64px;
104
- font-size: 14px;
105
- font-weight: 500;
118
+
119
+ .button {
120
+ padding: 0 24px;
121
+ height: 64px;
122
+ font-size: 14px;
123
+ font-weight: 500;
124
+ }
106
125
  }
107
126
 
108
127
  .button {
109
128
  border-left: 1px solid transparent;
110
- width: 100%;
111
129
  letter-spacing: .4px;
112
130
  color: var(--c-text-2);
113
131
  white-space: nowrap;
@@ -5,7 +5,7 @@
5
5
 
6
6
  <div v-if="isTypeLoading" class="load">
7
7
  <div class="load-icon">
8
- <SIconPreloaderDark class="load-svg" />
8
+ <SIconPreloader class="load-svg" />
9
9
  </div>
10
10
  </div>
11
11
 
@@ -25,12 +25,12 @@
25
25
  <script lang="ts">
26
26
  import { PropType, defineComponent, computed } from '@vue/composition-api'
27
27
  import { DialogType } from '../composables/Dialog'
28
- import SIconPreloaderDark from './icons/SIconPreloaderDark.vue'
28
+ import SIconPreloader from './icons/SIconPreloader.vue'
29
29
  import SButton from './SButton.vue'
30
30
 
31
31
  export default defineComponent({
32
32
  components: {
33
- SIconPreloaderDark,
33
+ SIconPreloader,
34
34
  SButton
35
35
  },
36
36
 
@@ -64,6 +64,7 @@ export default defineComponent({
64
64
 
65
65
  .SDialog {
66
66
  margin: 96px 16px;
67
+ border: 1px solid var(--c-divider-light);
67
68
  border-radius: 8px;
68
69
  padding: 16px 16px 8px;
69
70
  max-width: 392px;