@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.
- package/CHANGELOG.md +49 -0
- package/README.md +5 -17
- package/lib/.DS_Store +0 -0
- package/lib/assets/styles/variables.css +345 -5
- package/lib/components/.DS_Store +0 -0
- package/lib/components/SButton.vue +22 -27
- package/lib/components/SButtonGroup.vue +40 -22
- package/lib/components/SDialog.vue +4 -3
- package/lib/components/SInputBase.vue +27 -5
- package/lib/components/SInputNumber.vue +18 -1
- package/lib/components/SInputRadio.vue +5 -4
- package/lib/components/SInputText.vue +176 -19
- package/lib/components/SInputTextarea.vue +13 -2
- package/lib/components/SInputYMD.vue +244 -0
- package/lib/components/SModal.vue +7 -2
- package/lib/components/SSheet.vue +47 -0
- package/lib/components/SSheetFooter.vue +14 -0
- package/lib/components/SSheetFooterAction.vue +32 -0
- package/lib/components/SSheetFooterActions.vue +19 -0
- package/lib/components/SSheetHeader.vue +75 -0
- package/lib/components/SSheetHeaderTitle.vue +17 -0
- package/lib/components/SSheetMedium.vue +92 -0
- package/lib/components/SSnackbar.vue +7 -2
- package/lib/components/icons/.DS_Store +0 -0
- package/lib/components/icons/SIconGrab.vue +10 -0
- package/lib/components/icons/SIconInbox.vue +5 -0
- package/lib/components/icons/SIconLock.vue +5 -0
- package/lib/components/icons/SIconMoreVertical.vue +7 -0
- package/lib/components/icons/SIconPreloader.vue +239 -0
- package/lib/composables/Modal.ts +16 -5
- package/lib/composables/Tooltip.ts +1 -1
- package/lib/mixins/Sheet.ts +22 -0
- package/lib/validation/rules/every.ts +38 -0
- package/lib/validation/rules/index.ts +13 -1
- package/lib/validation/rules/requiredMonthDate.ts +11 -0
- package/lib/validation/rules/requiredYearMonth.ts +11 -0
- package/lib/validation/rules/requiredYearMonthDate.ts +11 -0
- package/lib/validation/rules/yearMonth.ts +11 -0
- package/lib/validation/rules/yearMonthDate.ts +11 -0
- package/lib/validation/validators/index.ts +13 -1
- package/lib/validation/validators/monthDate.ts +20 -0
- package/lib/validation/validators/requiredMonthDate.ts +8 -0
- package/lib/validation/validators/requiredYearMonth.ts +8 -0
- package/lib/validation/validators/requiredYearMonthDate.ts +9 -0
- package/lib/validation/validators/yearMonth.ts +20 -0
- package/lib/validation/validators/yearMonthDate.ts +21 -0
- package/package.json +30 -29
- package/lib/assets/styles/variables/colors.css +0 -189
- package/lib/assets/styles/variables/easings.css +0 -12
- package/lib/assets/styles/variables/shadows.css +0 -7
- package/lib/assets/styles/variables/typography.css +0 -6
- 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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
+
[](https://github.com/globalbrain/sefirot/actions)
|
|
4
|
+
[](https://codecov.io/gh/globalbrain/sefirot)
|
|
5
|
+
[](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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
<
|
|
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
|
|
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(
|
|
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(--
|
|
552
|
-
&:active { background-color: var(--
|
|
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
|
|
74
|
-
padding: 0 8px;
|
|
72
|
+
.SButtonGroup.mini {
|
|
75
73
|
height: 28px;
|
|
76
|
-
|
|
77
|
-
|
|
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
|
|
81
|
-
padding: 0 10px;
|
|
83
|
+
.SButtonGroup.small {
|
|
82
84
|
height: 32px;
|
|
83
|
-
|
|
84
|
-
|
|
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
|
|
88
|
-
padding: 0 12px;
|
|
94
|
+
.SButtonGroup.medium {
|
|
89
95
|
height: 40px;
|
|
90
|
-
|
|
91
|
-
|
|
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
|
|
95
|
-
padding: 0 14px;
|
|
105
|
+
.SButtonGroup.large {
|
|
96
106
|
height: 48px;
|
|
97
|
-
|
|
98
|
-
|
|
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
|
|
102
|
-
padding: 0 24px;
|
|
116
|
+
.SButtonGroup.jumbo {
|
|
103
117
|
height: 64px;
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
<
|
|
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
|
|
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
|
-
|
|
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;
|