@oruga-ui/theme-oruga 0.7.1 → 0.8.1

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 (48) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -5
  3. package/dist/scss/components/_autocomplete.scss +3 -12
  4. package/dist/scss/components/_breadcrumb.scss +122 -103
  5. package/dist/scss/components/_button.scss +228 -173
  6. package/dist/scss/components/_carousel.scss +164 -142
  7. package/dist/scss/components/_checkbox.scss +118 -118
  8. package/dist/scss/components/_collapse.scss +1 -1
  9. package/dist/scss/components/_datepicker.scss +228 -290
  10. package/dist/scss/components/_datetimepicker.scss +8 -2
  11. package/dist/scss/components/_dialog.scss +243 -0
  12. package/dist/scss/components/_dropdown.scss +190 -164
  13. package/dist/scss/components/_field.scss +68 -39
  14. package/dist/scss/components/_icon.scss +24 -29
  15. package/dist/scss/components/_input.scss +112 -97
  16. package/dist/scss/components/_listbox.scss +176 -0
  17. package/dist/scss/components/_loading.scss +35 -15
  18. package/dist/scss/components/_menu.scss +113 -109
  19. package/dist/scss/components/_modal.scss +112 -50
  20. package/dist/scss/components/_notification.scss +113 -97
  21. package/dist/scss/components/_pagination.scss +173 -106
  22. package/dist/scss/components/_radio.scss +91 -84
  23. package/dist/scss/components/_select.scss +108 -115
  24. package/dist/scss/components/_sidebar.scss +102 -101
  25. package/dist/scss/components/_skeleton.scss +50 -39
  26. package/dist/scss/components/_slider.scss +221 -159
  27. package/dist/scss/components/_steps.scss +223 -261
  28. package/dist/scss/components/_switch.scss +126 -90
  29. package/dist/scss/components/_table.scss +307 -251
  30. package/dist/scss/components/_tabs.scss +360 -247
  31. package/dist/scss/components/_tag.scss +95 -39
  32. package/dist/scss/components/_taginput.scss +48 -36
  33. package/dist/scss/components/_timepicker.scss +61 -62
  34. package/dist/scss/components/_tooltip.scss +129 -254
  35. package/dist/scss/components/_upload.scss +83 -35
  36. package/dist/scss/theme-build.scss +9 -0
  37. package/dist/scss/theme.scss +44 -0
  38. package/dist/scss/utils/_animations.scss +30 -9
  39. package/dist/scss/utils/_base.scss +6 -4
  40. package/dist/scss/utils/_helpers.scss +84 -22
  41. package/dist/scss/utils/_root.scss +82 -29
  42. package/dist/scss/utils/_variables.scss +64 -42
  43. package/dist/theme.css +2 -0
  44. package/dist/theme.js +1 -1
  45. package/package.json +27 -20
  46. package/dist/oruga.css +0 -2
  47. package/dist/scss/oruga-build.scss +0 -9
  48. package/dist/scss/oruga.scss +0 -42
@@ -1,66 +1,193 @@
1
1
  @use "sass:list";
2
+ @use "../utils/helpers" as h;
3
+ @use "../utils/variables" as vars;
2
4
 
3
5
  /* @docs */
4
- $button-background-color: transparent !default;
5
- $button-color: var(--#{$prefix}black) !default;
6
- $button-border-radius: var(--#{$prefix}base-border-radius) !default;
7
- $button-border-color: var(--#{$prefix}grey-lighter) !default;
8
- $button-border: 1px solid $button-border-color !default;
6
+ $button-spacer: h.useVar("control-spacer") !default;
7
+ $button-height: h.useVar("control-height") !default;
8
+ $button-padding: h.useVar("control-padding-vertical")
9
+ h.useVar("control-padding-horizontal") !default;
10
+ $button-loading-animation-duration: h.useVar("animation-speed-slow") !default;
11
+ $button-disabled-opacity: h.useVar("control-disabled-opacity") !default;
12
+
13
+ $button-color: h.useVar("font-color") !default;
14
+ $button-font-size: h.useVar("font-size") !default;
15
+ $button-font-weight: h.useVar("font-weight") !default;
16
+ $button-line-height: h.useVar("line-height") !default;
17
+
9
18
  $button-box-shadow: none !default;
10
- $button-font-weight: 400 !default;
11
- $button-line-height: var(--#{$prefix}base-line-height) !default;
12
- $button-margin-icon-to-text: 0.1875em !default;
13
- $button-margin: 0 !default;
14
- $button-spacer: 0.5rem !default;
15
- $button-height: $control-height !default;
16
- $button-padding: $control-padding-vertical 0.75em !default;
17
- $button-rounded-border-radius: var(
18
- --#{$prefix}#{base-border-radius-rounded}
19
- ) !default;
20
- $button-disabled-opacity: var(--#{$prefix}#{base-disabled-opacity}) !default;
19
+ $button-border-width: h.useVar("control-border-width") !default;
20
+ $button-border-style: solid !default;
21
+ $button-border-color: h.useVar("control-border-color") !default;
22
+ $button-border-radius: h.useVar("border-radius") !default;
23
+ $button-background-color: h.useVar("control-brackground-color") !default;
24
+
25
+ $button-hover-color: $button-color;
26
+ $button-hover-background-color: $button-background-color;
27
+ $button-hover-border-color: h.useVar("grey-light");
28
+
21
29
  $button-outlined-background-color: transparent !default;
22
- $button-outlined-border-color: var(--#{$prefix}grey-light) !default;
30
+ $button-outlined-border-color: h.useVar("grey-light") !default;
23
31
  /* @docs */
24
32
 
25
- @keyframes spinAround {
26
- from {
27
- transform: rotate(0deg);
28
- }
33
+ .o-button {
34
+ @include h.defineVar("button-spacer", $button-spacer);
35
+ @include h.defineVar("button-height", $button-height);
36
+ @include h.defineVar("button-padding", $button-padding);
37
+ @include h.defineVar(
38
+ "button-loading-animation-duration",
39
+ $button-loading-animation-duration
40
+ );
41
+ @include h.defineVar("button-disabled-opacity", $button-disabled-opacity);
42
+
43
+ @include h.defineVar("button-color", $button-color);
44
+ @include h.defineVar("button-font-size", $button-font-size);
45
+ @include h.defineVar("button-font-weight", $button-font-weight);
46
+ @include h.defineVar("button-line-height", $button-line-height);
47
+
48
+ @include h.defineVar("button-box-shadow", $button-box-shadow);
49
+ @include h.defineVar("button-background-color", $button-background-color);
50
+ @include h.defineVar("button-border-width", $button-border-width);
51
+ @include h.defineVar("button-border-style", $button-border-style);
52
+ @include h.defineVar("button-border-color", $button-border-color);
53
+ @include h.defineVar("button-border-radius", $button-border-radius);
54
+ @include h.defineVar("button-hover-color", $button-hover-color);
55
+ @include h.defineVar(
56
+ "button-hover-border-color",
57
+ $button-hover-border-color
58
+ );
59
+ @include h.defineVar(
60
+ "button-hover-background-color",
61
+ $button-hover-background-color
62
+ );
63
+ @include h.defineVar(
64
+ "button-outlined-background-color",
65
+ $button-outlined-background-color
66
+ );
67
+ @include h.defineVar(
68
+ "button-outlined-border-color",
69
+ $button-outlined-border-color
70
+ );
29
71
 
30
- to {
31
- transform: rotate(359deg);
32
- }
33
- }
72
+ // define focus shadow effect
73
+ @include h.focusable;
34
74
 
35
- .o-button {
36
- @include unselectable;
75
+ // add clickable cursor
76
+ @include h.clickable;
77
+
78
+ // remove default appearance
79
+ @include h.removeAppearance;
80
+ text-decoration: none;
37
81
 
38
82
  position: relative;
39
83
  display: inline-flex;
40
- cursor: pointer;
41
84
  text-align: center;
42
85
  white-space: nowrap;
43
86
  align-items: center;
44
87
  justify-content: center;
45
88
  vertical-align: top;
46
- text-decoration: none;
47
- -moz-appearance: none;
48
- -webkit-appearance: none;
49
89
  padding: unset;
50
90
 
51
- background-color: var(
52
- --#{$prefix}button-background-color,
53
- $button-background-color
54
- );
55
- color: var(--#{$prefix}button-color, $button-color);
56
- border: var(--#{$prefix}button-border, $button-border);
57
- border-radius: var(--#{$prefix}button-border-radius, $button-border-radius);
58
- box-shadow: var(--#{$prefix}button-box-shadow, $button-box-shadow);
59
- font-size: var(--#{$prefix}base-font-size, $base-font-size);
60
- font-weight: var(--#{$prefix}button-font-weight, $button-font-weight);
61
- line-height: var(--#{$prefix}button-line-height, $button-line-height);
62
- margin: var(--#{$prefix}button-margin, $button-margin);
63
- height: var(--#{$prefix}button-height, $button-height);
91
+ height: h.useVar("button-height");
92
+
93
+ color: h.useVar("button-color");
94
+ font-size: h.useVar("button-font-size");
95
+ font-weight: h.useVar("button-font-weight");
96
+ line-height: h.useVar("button-line-height");
97
+
98
+ box-shadow: h.useVar("button-box-shadow");
99
+ background-color: h.useVar("button-background-color");
100
+
101
+ border-color: h.useVar("button-border-color");
102
+ border-style: h.useVar("button-border-style");
103
+ border-width: h.useVar("button-border-width");
104
+ border-radius: h.useVar("button-border-radius");
105
+
106
+ // size variants
107
+ @each $name, $value in vars.$sizes {
108
+ &--#{$name} {
109
+ @include h.defineVar("button-font-size", h.useVar("size-#{$name}"));
110
+ }
111
+ }
112
+
113
+ // color variants
114
+ @each $name, $pair in vars.$colors {
115
+ &--#{$name} {
116
+ @include h.defineVar("button-color", h.useVar("#{$name}-invert"));
117
+ @include h.defineVar("button-background-color", h.useVar($name));
118
+ @include h.defineVar(
119
+ "button-border-color",
120
+ h.useVar("#{$name}-darker")
121
+ );
122
+ @include h.defineVar(
123
+ "button-hover-color",
124
+ h.useVar("#{$name}-invert")
125
+ );
126
+ @include h.defineVar(
127
+ "button-hover-background-color",
128
+ h.useVar("#{$name}")
129
+ );
130
+ @include h.defineVar(
131
+ "button-hover-border-color",
132
+ h.useVar("#{$name}")
133
+ );
134
+
135
+ &.o-button--outlined {
136
+ @include h.defineVar("button-color", h.useVar("#{$name}"));
137
+ @include h.defineVar(
138
+ "button-background-color",
139
+ h.useVar("button-outlined-background-color")
140
+ );
141
+ @include h.defineVar(
142
+ "button-border-color",
143
+ h.useVar("#{$name}")
144
+ );
145
+ @include h.defineVar(
146
+ "button-hover-background-color",
147
+ h.useVar("#{$name}")
148
+ );
149
+ @include h.defineVar(
150
+ "button-hover-border-color",
151
+ h.useVar("#{$name}")
152
+ );
153
+ @include h.defineVar(
154
+ "button-hover-color",
155
+ h.useVar("#{$name}-invert")
156
+ );
157
+ }
158
+
159
+ &.o-button--inverted {
160
+ @include h.defineVar(
161
+ "button-background-color",
162
+ h.useVar("#{$name}-invert")
163
+ );
164
+ @include h.defineVar(
165
+ "button-border-color",
166
+ h.useVar("#{$name}-invert")
167
+ );
168
+ @include h.defineVar("button-color", h.useVar($name));
169
+ @include h.defineVar(
170
+ "button-hover-background-color",
171
+ h.useVar("#{$name}-invert")
172
+ );
173
+ @include h.defineVar(
174
+ "button-hover-border-color",
175
+ h.useVar("#{$name}-invert")
176
+ );
177
+ @include h.defineVar("button-hover-color", h.useVar($name));
178
+ }
179
+ }
180
+ }
181
+
182
+ &:focus,
183
+ &:hover {
184
+ color: h.useVar("button-hover-color");
185
+ background-color: h.useVar("button-hover-background-color");
186
+ border-color: h.useVar("button-hover-border-color");
187
+
188
+ // darken color on hover
189
+ filter: brightness(95%);
190
+ }
64
191
 
65
192
  &__wrapper {
66
193
  display: inline-flex;
@@ -68,9 +195,7 @@ $button-outlined-border-color: var(--#{$prefix}grey-light) !default;
68
195
  justify-content: center;
69
196
  position: relative;
70
197
  width: 100%;
71
- padding: var(--#{$prefix}button-padding, $button-padding);
72
-
73
- @include side-flex-gap($button-margin-icon-to-text);
198
+ padding: h.useVar("button-padding");
74
199
  }
75
200
 
76
201
  &__label {
@@ -82,152 +207,82 @@ $button-outlined-border-color: var(--#{$prefix}grey-light) !default;
82
207
  }
83
208
 
84
209
  &--rounded {
85
- border-radius: var(
86
- --#{$prefix}button-rounded-border-radius,
87
- $button-rounded-border-radius
210
+ @include h.defineVar(
211
+ "button-border-radius",
212
+ h.useVar("border-radius-rounded")
88
213
  );
89
214
  }
90
215
 
91
216
  &--disabled {
92
- opacity: var(
93
- --#{$prefix}button-disabled-opacity,
94
- $button-disabled-opacity
95
- );
96
- cursor: not-allowed;
97
- pointer-events: none;
217
+ @include h.disabled(h.useVar("button-disabled-opacity"));
98
218
  }
99
219
 
100
- /* size variants*/
101
- @each $name, $value in $sizes {
102
- &--#{$name} {
103
- font-size: var(--#{$prefix}button-font-size-#{$name}, $value);
104
- }
220
+ &--outlined {
221
+ @include h.defineVar(
222
+ "button-background-color",
223
+ h.useVar("button-outlined-background-color")
224
+ );
225
+ @include h.defineVar(
226
+ "button-border-color",
227
+ h.useVar("button-outlined-border-color")
228
+ );
229
+ @include h.defineVar(
230
+ "button-hover-background-color",
231
+ $button-background-color
232
+ );
105
233
  }
106
234
 
107
- /* color variants*/
108
- @each $name, $pair in $colors {
109
- $color: list.nth($pair, 1);
110
- $color-invert: list.nth($pair, 2);
111
-
112
- &--#{$name} {
113
- --#{$prefix}focus: #{createFocus($color)};
114
-
115
- border-color: transparent;
116
- background-color: var(--#{$prefix}variant-#{$name}, $color);
117
- color: var(--#{$prefix}variant-invert-#{$name}, $color-invert);
118
-
119
- &:hover {
120
- /* background-color: darken($color, 2.5%)*/
121
- /* IE 11 needs polyfill*/
122
- filter: brightness(97.5%);
123
- }
124
- }
235
+ &--inverted {
236
+ @include h.defineVar(
237
+ "button-background-color",
238
+ h.useVar("button-color")
239
+ );
240
+ @include h.defineVar("button-border-color", h.useVar("button-color"));
241
+ @include h.defineVar("button-color", h.useVar("button-border-color"));
242
+ @include h.defineVar(
243
+ "button-hover-background-color",
244
+ h.useVar("button-color")
245
+ );
246
+ @include h.defineVar(
247
+ "button-hover-color",
248
+ h.useVar("button-border-color")
249
+ );
125
250
  }
126
251
 
127
- &--outlined {
128
- &:focus,
129
- &:hover {
130
- background-color: var(
131
- --#{$prefix}button-border-color,
132
- $button-border-color
133
- );
134
- color: var(--#{$prefix}button-color, $button-color);
135
- }
136
-
137
- @each $name, $pair in $colors {
138
- $color: list.nth($pair, 1);
139
- $color-invert: list.nth($pair, 2);
140
-
141
- &-#{$name} {
142
- --#{$prefix}focus: #{createFocus($color)};
252
+ &--loading {
253
+ color: transparent !important;
254
+ pointer-events: none;
143
255
 
144
- background-color: var(
145
- --#{$prefix}button-outlined-background-color,
146
- $button-outlined-background-color
147
- );
148
- border-color: var(--#{$prefix}variant-#{$name}, $color);
149
- color: var(--#{$prefix}variant-#{$name}, $color);
150
-
151
- &:focus,
152
- &:hover {
153
- border-color: transparent;
154
- background-color: var(--#{$prefix}variant-#{$name}, $color);
155
- color: var(
156
- --#{$prefix}variant-invert-#{$name},
157
- $color-invert
158
- );
159
- }
160
- }
161
- }
162
- }
256
+ &::after {
257
+ -webkit-animation: h.useVar("button-loading-animation-speed");
258
+ animation-name: spinAround;
259
+ animation-iteration-count: infinite;
260
+ animation-timing-function: linear;
261
+ animation-duration: h.useVar("button-loading-animation-duration");
163
262
 
164
- &--inverted {
165
- background-color: var(--#{$prefix}button-color, $button-color);
166
- border-color: var(--#{$prefix}button-color, $button-color);
167
- color: var(--#{$prefix}button-border-color, $button-border-color);
168
-
169
- &:hover {
170
- /* background-color: darken($color-invert, 5%)*/
171
- /* IE 11 needs polyfill*/
172
- filter: brightness(95%);
173
- }
263
+ position: absolute !important;
264
+ left: calc(50% - 0.5em);
265
+ top: calc(50% - 0.5em);
174
266
 
175
- @each $name, $pair in $colors {
176
- $color: list.nth($pair, 1);
177
- $color-invert: list.nth($pair, 2);
267
+ display: block;
268
+ height: 1em;
269
+ width: 1em;
178
270
 
179
- &-#{$name} {
180
- --#{$prefix}focus: #{createFocus($color)};
271
+ content: "";
181
272
 
182
- background-color: var(
183
- --#{$prefix}variant-invert-#{$name},
184
- $color-invert
185
- );
186
- border-color: var(
187
- --#{$prefix}variant-invert-#{$name},
188
- $color-invert
189
- );
190
- color: var(--#{$prefix}variant-#{$name}, $color);
191
-
192
- &:focus,
193
- &:hover {
194
- /* background-color: darken($color-invert, 5%)*/
195
- /* IE 11 needs polyfill*/
196
- filter: brightness(95%);
197
- }
198
- }
273
+ border: 2px solid h.useVar("button-color");
274
+ border-radius: 9999px;
275
+ border-right-color: transparent;
276
+ border-top-color: transparent;
199
277
  }
200
278
  }
201
279
 
202
- /* focus effect*/
203
- &:focus,
204
- &:focus-within {
205
- box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
206
- outline: 0;
207
- }
208
-
209
- &--loading {
210
- color: transparent !important;
211
- pointer-events: none;
212
- }
213
-
214
- &--loading::after {
215
- -webkit-animation: spinAround 500ms infinite linear;
216
- left: calc(50% - 0.5em);
217
- top: calc(50% - 0.5em);
218
- position: absolute !important;
219
- border: 2px solid #dbdbdb;
220
- border-radius: 9999px;
221
- border-right-color: transparent;
222
- border-top-color: transparent;
223
- content: "";
224
- display: block;
225
- height: 1em;
226
- width: 1em;
280
+ .o-icon:not(:last-child) {
281
+ margin-right: h.useVar("button-spacer");
227
282
  }
228
283
 
229
- .o-icon:not(:last-child) {
230
- margin-right: var(--#{$prefix}button-spacer, $button-spacer);
284
+ .o-icon:last-child:not(:first-child) {
285
+ margin-left: h.useVar("button-spacer");
231
286
  }
232
287
 
233
288
  &:has(.o-tag--badge) {