@oruga-ui/theme-oruga 0.7.0 → 0.8.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 (45) hide show
  1. package/README.md +16 -20
  2. package/dist/scss/components/_autocomplete.scss +3 -12
  3. package/dist/scss/components/_breadcrumb.scss +122 -103
  4. package/dist/scss/components/_button.scss +228 -173
  5. package/dist/scss/components/_carousel.scss +164 -142
  6. package/dist/scss/components/_checkbox.scss +118 -118
  7. package/dist/scss/components/_collapse.scss +1 -1
  8. package/dist/scss/components/_datepicker.scss +228 -290
  9. package/dist/scss/components/_datetimepicker.scss +8 -2
  10. package/dist/scss/components/_dropdown.scss +191 -164
  11. package/dist/scss/components/_field.scss +68 -39
  12. package/dist/scss/components/_icon.scss +24 -29
  13. package/dist/scss/components/_input.scss +112 -97
  14. package/dist/scss/components/_loading.scss +35 -15
  15. package/dist/scss/components/_menu.scss +113 -109
  16. package/dist/scss/components/_modal.scss +112 -50
  17. package/dist/scss/components/_notification.scss +113 -97
  18. package/dist/scss/components/_pagination.scss +173 -106
  19. package/dist/scss/components/_radio.scss +91 -84
  20. package/dist/scss/components/_select.scss +108 -115
  21. package/dist/scss/components/_sidebar.scss +102 -101
  22. package/dist/scss/components/_skeleton.scss +50 -39
  23. package/dist/scss/components/_slider.scss +221 -159
  24. package/dist/scss/components/_steps.scss +223 -261
  25. package/dist/scss/components/_switch.scss +126 -90
  26. package/dist/scss/components/_table.scss +307 -243
  27. package/dist/scss/components/_tabs.scss +360 -247
  28. package/dist/scss/components/_tag.scss +95 -39
  29. package/dist/scss/components/_taginput.scss +48 -36
  30. package/dist/scss/components/_timepicker.scss +61 -62
  31. package/dist/scss/components/_tooltip.scss +129 -254
  32. package/dist/scss/components/_upload.scss +83 -35
  33. package/dist/scss/theme-build.scss +9 -0
  34. package/dist/scss/theme.scss +42 -0
  35. package/dist/scss/utils/_animations.scss +30 -9
  36. package/dist/scss/utils/_base.scss +6 -4
  37. package/dist/scss/utils/_helpers.scss +84 -22
  38. package/dist/scss/utils/_root.scss +82 -29
  39. package/dist/scss/utils/_variables.scss +64 -42
  40. package/dist/theme.css +2 -0
  41. package/dist/theme.js +1 -1
  42. package/package.json +38 -27
  43. package/dist/oruga.css +0 -2
  44. package/dist/scss/oruga-build.scss +0 -9
  45. package/dist/scss/oruga.scss +0 -42
package/README.md CHANGED
@@ -24,7 +24,6 @@
24
24
  </a>
25
25
  </p>
26
26
 
27
-
28
27
  ### Install
29
28
 
30
29
  ```sh
@@ -40,32 +39,30 @@ yarn add @oruga-ui/theme-oruga
40
39
  ### Configure
41
40
 
42
41
  ```js
43
- import { createApp } from 'vue'
44
- import App from './App.vue'
42
+ import { createApp } from "vue";
43
+ import App from "./App.vue";
45
44
 
46
45
  // import Oruga
47
- import Oruga from '@oruga-ui/oruga-next'
46
+ import Oruga from "@oruga-ui/oruga-next";
48
47
 
49
48
  // import Oruga theme styling
50
- import '@oruga-ui/theme-oruga/dist/oruga.css'
49
+ import "@oruga-ui/theme-oruga/dist/theme.css";
51
50
 
52
- createApp(App)
53
- .use(Oruga)
54
- .mount('#app')
51
+ createApp(App).use(Oruga).mount("#app");
55
52
  ```
56
- The Oruga Default theme uses the default classes set by Oruga and doesn't come with any JS configuration at all. The `oruga.css` contains the full Oruga style (the default style used for documentation).
53
+
54
+ The Oruga Default theme uses the default classes set by Oruga and doesn't come with any JS configuration at all. The `theme.css` contains the full Oruga style (the default style used for documentation).
57
55
 
58
56
  ### Customization (SASS/SCSS)
59
57
 
60
58
  In order to customize any SASS variables, you have to set them before the SCSS Import.
61
59
 
62
-
63
60
  ```scss
64
61
  // Include any default variable overrides here (though functions and maps won't be available here)
65
62
  // ...
66
63
 
67
64
  // Include the full Oruga theme here
68
- @import "/node_modules/@oruga-ui/theme-oruga/dist/scss/oruga";
65
+ @use "/node_modules/@oruga-ui/theme-oruga/dist/scss/theme";
69
66
 
70
67
  // Then add additional custom code here
71
68
  // ...
@@ -76,25 +73,24 @@ In order to customize any SASS variables, you have to set them before the SCSS I
76
73
  In case you want to replace the default style of a component you can override or add new classes; more details about components customization on https://oruga-ui.com/documentation/#customization
77
74
 
78
75
  ```js
79
- import { createApp } from 'vue'
76
+ import { createApp } from "vue";
80
77
 
81
- import Oruga from '@oruga-ui/oruga-next'
78
+ import Oruga from "@oruga-ui/oruga-next";
82
79
 
83
- import '@oruga-ui/theme-oruga/dist/oruga.css'
80
+ import "@oruga-ui/theme-oruga/dist/theme.css";
84
81
 
85
82
  const customConfig = {
86
83
  checkbox: {
87
84
  override: true,
88
- rootClass: 'checkbox'
89
- }
90
- }
85
+ rootClass: "checkbox",
86
+ },
87
+ };
91
88
 
92
- createApp(App)
93
- .use(Oruga, customConfig)
94
- .mount('#app')
89
+ createApp(App).use(Oruga, customConfig).mount("#app");
95
90
  ```
96
91
 
97
92
  ## Contributors
93
+
98
94
  Thank you to everyone involved for improving this project, day by day 💚
99
95
 
100
96
  <a href="https://github.com/oruga-ui/theme-oruga">
@@ -1,6 +1,4 @@
1
- /* @docs */
2
- $autocomplete-item-hover-background-color: $control-brackground-color !default;
3
- /* @docs */
1
+ @use "../utils/helpers" as h;
4
2
 
5
3
  .o-autocomplete {
6
4
  &__item {
@@ -8,16 +6,9 @@ $autocomplete-item-hover-background-color: $control-brackground-color !default;
8
6
  overflow: hidden;
9
7
  text-overflow: ellipsis;
10
8
 
11
- &-group-title,
9
+ &-group,
12
10
  &--empty {
13
- @extend .o-dropdown--disabled;
14
- }
15
-
16
- &--focused {
17
- background-color: var(
18
- --#{$prefix}autocomplete-item-hover-background-color,
19
- $autocomplete-item-hover-background-color
20
- );
11
+ @include h.disabled(h.useVar("control-disabled-opacity"));
21
12
  }
22
13
  }
23
14
  }
@@ -1,59 +1,109 @@
1
1
  @use "sass:list";
2
2
 
3
+ @use "../utils/helpers" as h;
4
+ @use "../utils/variables" as vars;
5
+
3
6
  /* @docs */
4
- $breadcrumb-list-line-height: 1.25em !default;
5
- $breadcrumb-item-spacer: 0.25em !default;
6
- $breadcrumb-item-font-size: $base-font-size !default;
7
+ $breadcrumb-line-height: 1.25em !default;
8
+ $breadcrumb-seperator-color: inherit;
9
+ $breadcrumb-disabled-opacity: h.useVar("control-disabled-opacity") !default;
10
+
11
+ $breadcrumb-item-spacer: calc(0.5 * h.useVar("control-spacer")) !default;
7
12
  $breadcrumb-item-padding: 0.3em !default;
8
- $breadcrumb-list-border-radius: var(--#{$prefix}base-border-radius) !default;
9
- $breadcrumb-item-color: var(--#{$prefix}grey-dark) !default;
13
+
14
+ $breadcrumb-item-color: h.useVar("font-color") !default;
15
+ $breadcrumb-item-font-size: h.useVar("font-size") !default;
16
+ $breadcrumb-item-font-weight: h.useVar("font-weight") !default;
17
+ $breadcrumb-item-line-height: h.useVar("line-height") !default;
18
+
19
+ $breadcrumb-item-border-radius: h.useVar("border-radius") !default;
10
20
  $breadcrumb-item-background-color: transparent !default;
11
- $breadcrumb-item-active-color: var(--#{$prefix}primary) !default;
21
+
22
+ $breadcrumb-item-active-color: h.useVar("primary") !default;
12
23
  $breadcrumb-item-active-background-color: transparent !default;
13
- $breadcrumb-item-disabled-color: var(--#{$prefix}grey-light) !default;
14
- $breadcrumb-item-hover-color: var(--#{$prefix}white) !default;
15
- $breadcrumb-item-hover-background-color: var(--#{$prefix}secondary) !default;
16
- $breadcrumb-seperator-color: inherit;
24
+
25
+ $breadcrumb-item-hover-color: h.useVar("white") !default;
26
+ $breadcrumb-item-hover-background-color: h.useVar("secondary") !default;
17
27
  /* @docs */
18
28
 
19
29
  .o-breadcrumb {
30
+ @include h.defineVar("breadcrumb-line-height", $breadcrumb-line-height);
31
+ @include h.defineVar(
32
+ "breadcrumb-disabled-opacity",
33
+ $breadcrumb-disabled-opacity
34
+ );
35
+ @include h.defineVar(
36
+ "breadcrumb-seperator-color",
37
+ $breadcrumb-seperator-color
38
+ );
39
+ @include h.defineVar("breadcrumb-item-spacer", $breadcrumb-item-spacer);
40
+ @include h.defineVar("breadcrumb-item-padding", $breadcrumb-item-padding);
41
+ @include h.defineVar(
42
+ "breadcrumb-item-font-size",
43
+ $breadcrumb-item-font-size
44
+ );
45
+ @include h.defineVar(
46
+ "breadcrumb-item-font-weight",
47
+ $breadcrumb-item-font-weight
48
+ );
49
+ @include h.defineVar(
50
+ "breadcrumb-item-line-height",
51
+ $breadcrumb-item-line-height
52
+ );
53
+ @include h.defineVar("breadcrumb-item-color", $breadcrumb-item-color);
54
+ @include h.defineVar(
55
+ "breadcrumb-item-border-radius",
56
+ $breadcrumb-item-border-radius
57
+ );
58
+ @include h.defineVar(
59
+ "breadcrumb-item-background-color",
60
+ $breadcrumb-item-background-color
61
+ );
62
+ @include h.defineVar(
63
+ "breadcrumb-item-active-color",
64
+ $breadcrumb-item-active-color
65
+ );
66
+ @include h.defineVar(
67
+ "breadcrumb-item-active-background-color",
68
+ $breadcrumb-item-active-background-color
69
+ );
70
+ @include h.defineVar(
71
+ "breadcrumb-item-hover-color",
72
+ $breadcrumb-item-hover-color
73
+ );
74
+ @include h.defineVar(
75
+ "breadcrumb-item-hover-background-color",
76
+ $breadcrumb-item-hover-background-color
77
+ );
78
+
20
79
  &__list {
21
80
  list-style: none;
22
81
  display: flex;
23
82
  padding: unset;
24
- line-height: var(
25
- --#{$prefix}breadcrumb-list-line-height,
26
- $breadcrumb-list-line-height
27
- );
83
+ line-height: h.useVar("breadcrumb-line-height");
28
84
  }
29
85
 
30
86
  &__item {
31
- -moz-appearance: none;
32
- -webkit-appearance: none;
87
+ // define focus shadow effect
88
+ @include h.focusable(".o-breadcrumb__item__link");
89
+
90
+ // remove default appearance
91
+ @include h.removeAppearance;
92
+
33
93
  display: block;
34
94
  list-style: none;
35
95
  border: transparent;
36
- background-color: var(
37
- --#{$prefix}breadcrumb-item-background-color,
38
- $breadcrumb-item-background-color
39
- );
40
- color: var(--#{$prefix}breadcrumb-item-color, $breadcrumb-item-color);
41
- font-size: var(
42
- --#{$prefix}breadcrumb-item-size,
43
- $breadcrumb-item-font-size
44
- );
45
- border-radius: var(
46
- --#{$prefix}breadcrumb-list-border-radius,
47
- $breadcrumb-list-border-radius
48
- );
96
+ color: h.useVar("breadcrumb-item-color");
97
+ font-size: h.useVar("breadcrumb-item-font-size");
98
+ font-weight: h.useVar("breadcrumb-item-font-weight");
99
+ line-height: h.useVar("breadcrumb-item-line-height");
100
+ border-radius: h.useVar("breadcrumb-item-border-radius");
101
+ background-color: h.useVar("breadcrumb-item-background-color");
49
102
 
50
103
  // define seprator
51
104
  &:not(:first-child)::before {
52
105
  float: left;
53
- color: var(
54
- --#{$prefix}breadcrumb-seperator-color,
55
- $breadcrumb-seperator-color
56
- );
106
+ color: h.useVar("breadcrumb-seperator-color");
57
107
  content: var(--seperator, "/");
58
108
  }
59
109
 
@@ -62,100 +112,79 @@ $breadcrumb-seperator-color: inherit;
62
112
  content: unset;
63
113
  }
64
114
 
115
+ .o-breadcrumb__item__link {
116
+ color: h.useVar("breadcrumb-item-color");
117
+ border-radius: h.useVar("breadcrumb-item-border-radius");
118
+ }
119
+
65
120
  &:focus-within:not(&--disabled),
66
121
  &:focus:not(&--disabled),
67
122
  &:hover:not(&--disabled) {
68
123
  .o-breadcrumb__item__link {
69
- color: var(
70
- --#{$prefix}breadcrumb-item-hover-color,
71
- $breadcrumb-item-hover-color
72
- );
73
- background-color: var(
74
- --#{$prefix}breadcrumb-item-hover-background-color,
75
- $breadcrumb-item-hover-background-color
76
- );
77
- border-radius: var(
78
- --#{$prefix}breadcrumb-list-border-radius,
79
- $breadcrumb-list-border-radius
124
+ color: h.useVar("breadcrumb-item-hover-color");
125
+ background-color: h.useVar(
126
+ "breadcrumb-item-hover-background-color"
80
127
  );
81
128
  }
82
129
  }
83
130
 
84
131
  &--active .o-breadcrumb__item__link {
85
- color: var(
86
- --#{$prefix}breadcrumb-item-active-color,
87
- $breadcrumb-item-active-color
88
- );
89
- background-color: var(
90
- --#{$prefix}breadcrumb-item-active-background-color,
91
- $breadcrumb-item-active-background-color
132
+ color: h.useVar("breadcrumb-item-active-color");
133
+ background-color: h.useVar(
134
+ "breadcrumb-item-active-background-color"
92
135
  );
93
136
  }
94
137
 
95
138
  &--disabled .o-breadcrumb__item__link {
96
- cursor: unset;
97
- pointer-events: none;
98
- color: var(
99
- --#{$prefix}breadcrumb-item-disabled-color,
100
- $breadcrumb-item-disabled-color
101
- );
139
+ @include h.disabled(h.useVar("breadcrumb-disabled-opacity"));
102
140
  }
103
141
 
104
142
  &__icon {
105
143
  &--left {
106
- padding-right: var(
107
- --#{$prefix}breadcrumb-item-spacer,
108
- $breadcrumb-item-spacer
109
- );
144
+ padding-right: h.useVar("breadcrumb-item-spacer");
110
145
  }
111
146
 
112
147
  &--right {
113
- padding-left: var(
114
- --#{$prefix}breadcrumb-item-spacer,
115
- $breadcrumb-item-spacer
116
- );
148
+ padding-left: h.useVar("breadcrumb-item-spacer");
117
149
  }
118
150
  }
119
151
 
120
152
  &__link {
121
- margin: var(
122
- --#{$prefix}breadcrumb-item-spacer,
123
- $breadcrumb-item-spacer
124
- );
125
- padding: var(
126
- --#{$prefix}breadcrumb-item-padding,
127
- $breadcrumb-item-padding
128
- );
153
+ margin: h.useVar("breadcrumb-item-spacer");
154
+ padding: h.useVar("breadcrumb-item-padding");
129
155
  }
130
156
  }
131
157
 
132
- /* size variants*/
133
- @each $name, $value in $sizes {
134
- &--#{$name} .o-breadcrumb__item {
135
- font-size: var(--#{$prefix}button-font-size-#{$name}, $value);
158
+ // size variants
159
+ @each $name, $value in vars.$sizes {
160
+ &--#{$name} {
161
+ @include h.defineVar(
162
+ "breadcrumb-item-font-size",
163
+ h.useVar("size-#{$name}")
164
+ );
136
165
  }
137
166
  }
138
167
 
139
- /* color variants*/
140
- @each $name, $pair in $colors {
141
- $color: list.nth($pair, 1);
142
-
168
+ // color variants
169
+ @each $name, $pair in vars.$colors {
143
170
  &--#{$name} {
144
- --#{$prefix}focus: #{createFocus($color)};
145
-
146
- .o-breadcrumb__item .o-breadcrumb__item__link {
147
- color: var(--#{$prefix}variant-#{$name}, $color);
148
-
149
- &:hover {
150
- /* background-color: darken($color, 2.5%)*/
151
- /* IE 11 needs polyfill*/
152
- filter: brightness(97.5%);
153
- }
154
- }
171
+ @include h.defineVar(
172
+ "breadcrumb-item-background-color",
173
+ transparent
174
+ );
175
+ @include h.defineVar("breadcrumb-item-color", h.useVar($name));
176
+ @include h.defineVar(
177
+ "breadcrumb-item-hover-color",
178
+ h.useVar("#{$name}-invert")
179
+ );
180
+ @include h.defineVar(
181
+ "breadcrumb-item-hover-background-color",
182
+ h.useVar($name)
183
+ );
155
184
  }
156
185
  }
157
186
 
158
- /** alignment **/
187
+ // alignments
159
188
  &--left {
160
189
  ol,
161
190
  ul {
@@ -176,14 +205,4 @@ $breadcrumb-seperator-color: inherit;
176
205
  justify-content: flex-end;
177
206
  }
178
207
  }
179
-
180
- // focus effect
181
- &:focus,
182
- &:focus-visible,
183
- &:focus-within {
184
- .o-breadcrumb__item {
185
- box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
186
- outline: none;
187
- }
188
- }
189
208
  }