@oruga-ui/theme-oruga 0.2.2 → 0.4.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 (83) hide show
  1. package/README.md +6 -14
  2. package/dist/oruga.css +1894 -207
  3. package/dist/oruga.min.css +1 -1
  4. package/dist/scss/components/_autocomplete.scss +4 -49
  5. package/dist/scss/components/_button.scss +71 -88
  6. package/dist/scss/components/_carousel.scss +70 -97
  7. package/dist/scss/components/_checkbox.scss +66 -83
  8. package/dist/scss/components/_collapse.scss +3 -0
  9. package/dist/scss/components/_datepicker.scss +146 -242
  10. package/dist/scss/components/_datetimepicker.scss +3 -0
  11. package/dist/scss/components/_dropdown.scss +74 -160
  12. package/dist/scss/components/_field.scss +16 -38
  13. package/dist/scss/components/_icon.scss +6 -8
  14. package/dist/scss/components/_input.scss +50 -52
  15. package/dist/scss/components/_loading.scss +5 -13
  16. package/dist/scss/components/_menu.scss +33 -65
  17. package/dist/scss/components/_modal.scss +25 -34
  18. package/dist/scss/components/_notification.scss +35 -72
  19. package/dist/scss/components/_pagination.scss +43 -86
  20. package/dist/scss/components/_radio.scss +53 -60
  21. package/dist/scss/components/_select.scss +62 -74
  22. package/dist/scss/components/_sidebar.scss +31 -107
  23. package/dist/scss/components/_skeleton.scss +10 -23
  24. package/dist/scss/components/_slider.scss +67 -109
  25. package/dist/scss/components/_steps.scss +133 -310
  26. package/dist/scss/components/_switch.scss +64 -87
  27. package/dist/scss/components/_table.scss +79 -140
  28. package/dist/scss/components/_tabs.scss +101 -153
  29. package/dist/scss/components/_taginput.scss +61 -102
  30. package/dist/scss/components/_timepicker.scss +26 -50
  31. package/dist/scss/components/_tooltip.scss +120 -216
  32. package/dist/scss/components/_upload.scss +17 -22
  33. package/dist/scss/oruga-build.scss +9 -0
  34. package/dist/scss/oruga.scss +39 -190
  35. package/dist/scss/utils/_animations.scss +11 -9
  36. package/dist/scss/utils/_base.scss +4 -4
  37. package/dist/scss/utils/_helpers.scss +12 -106
  38. package/dist/scss/utils/_root.scss +46 -24
  39. package/dist/scss/utils/_variables.scss +6 -7
  40. package/dist/theme.js +1 -2
  41. package/package.json +30 -31
  42. package/src/assets/scss/components/_autocomplete.scss +4 -49
  43. package/src/assets/scss/components/_button.scss +71 -88
  44. package/src/assets/scss/components/_carousel.scss +70 -97
  45. package/src/assets/scss/components/_checkbox.scss +66 -83
  46. package/src/assets/scss/components/_collapse.scss +3 -0
  47. package/src/assets/scss/components/_datepicker.scss +146 -242
  48. package/src/assets/scss/components/_datetimepicker.scss +3 -0
  49. package/src/assets/scss/components/_dropdown.scss +74 -160
  50. package/src/assets/scss/components/_field.scss +16 -38
  51. package/src/assets/scss/components/_icon.scss +6 -8
  52. package/src/assets/scss/components/_input.scss +50 -52
  53. package/src/assets/scss/components/_loading.scss +5 -13
  54. package/src/assets/scss/components/_menu.scss +33 -65
  55. package/src/assets/scss/components/_modal.scss +25 -34
  56. package/src/assets/scss/components/_notification.scss +35 -72
  57. package/src/assets/scss/components/_pagination.scss +43 -86
  58. package/src/assets/scss/components/_radio.scss +53 -60
  59. package/src/assets/scss/components/_select.scss +62 -74
  60. package/src/assets/scss/components/_sidebar.scss +31 -107
  61. package/src/assets/scss/components/_skeleton.scss +10 -23
  62. package/src/assets/scss/components/_slider.scss +67 -109
  63. package/src/assets/scss/components/_steps.scss +133 -310
  64. package/src/assets/scss/components/_switch.scss +64 -87
  65. package/src/assets/scss/components/_table.scss +79 -140
  66. package/src/assets/scss/components/_tabs.scss +101 -153
  67. package/src/assets/scss/components/_taginput.scss +61 -102
  68. package/src/assets/scss/components/_timepicker.scss +26 -50
  69. package/src/assets/scss/components/_tooltip.scss +120 -216
  70. package/src/assets/scss/components/_upload.scss +17 -22
  71. package/src/assets/scss/oruga-build.scss +9 -0
  72. package/src/assets/scss/oruga.scss +39 -190
  73. package/src/assets/scss/utils/_animations.scss +11 -9
  74. package/src/assets/scss/utils/_base.scss +4 -4
  75. package/src/assets/scss/utils/_helpers.scss +12 -106
  76. package/src/assets/scss/utils/_root.scss +46 -24
  77. package/src/assets/scss/utils/_variables.scss +6 -7
  78. package/dist/oruga-full.css +0 -3922
  79. package/dist/oruga-full.min.css +0 -1
  80. package/dist/scss/oruga-common.scss +0 -37
  81. package/dist/scss/oruga-full.scss +0 -9
  82. package/src/assets/scss/oruga-common.scss +0 -37
  83. package/src/assets/scss/oruga-full.scss +0 -9
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@oruga-ui/theme-oruga",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "Default theme for Oruga",
5
5
  "license": "MIT",
6
+ "type": "module",
6
7
  "main": "dist/theme.js",
7
8
  "module": "dist/theme.js",
8
9
  "unpkg": "dist/theme.min.js",
@@ -16,7 +17,7 @@
16
17
  ],
17
18
  "repository": {
18
19
  "type": "git",
19
- "url": "https://github.com/oruga-ui/theme-oruga.git"
20
+ "url": "git+https://github.com/oruga-ui/theme-oruga.git"
20
21
  },
21
22
  "bugs": {
22
23
  "url": "https://github.com/oruga-ui/theme-oruga/issues"
@@ -25,46 +26,44 @@
25
26
  "dev": "vite --force",
26
27
  "serve": "vite preview",
27
28
  "build": "vue-tsc --noEmit && vite build",
28
- "build:lib": "rimraf dist && npm run build:config && npm run build:scss && npm run build:scss-full",
29
+ "build:lib": "rimraf dist && npm run build:config && npm run build:scss",
29
30
  "build:config": "rollup -c",
30
- "build:scss": "sass --no-charset ./src/assets/scss/oruga.scss | node ./build/banner.js > dist/oruga.css && cleancss -o dist/oruga.min.css dist/oruga.css",
31
- "build:scss-full": "sass --no-charset ./src/assets/scss/oruga-full.scss | node ./build/banner.js > dist/oruga-full.css && cleancss -o dist/oruga-full.min.css dist/oruga-full.css",
31
+ "build:scss": "sass --no-charset ./src/assets/scss/oruga-build.scss | node ./build/banner.js > dist/oruga.css && cleancss -o dist/oruga.min.css dist/oruga.css",
32
32
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
33
33
  "lint:style": "stylelint **/*.{css,scss} --fix --ignore-path .gitignore",
34
34
  "update": "ncu -u"
35
35
  },
36
36
  "devDependencies": {
37
- "@fortawesome/fontawesome-free": "6.5.1",
38
- "@oruga-ui/oruga-next": "0.8.3",
37
+ "@oruga-ui/examples": "^0.9.0-pre.1",
38
+ "@oruga-ui/oruga-next": "^0.9.0-pre.1",
39
39
  "@rollup/plugin-typescript": "11.1.6",
40
- "@vitejs/plugin-vue": "5.0.3",
40
+ "@vitejs/plugin-vue": "5.0.5",
41
41
  "@vue/eslint-config-prettier": "^9.0.0",
42
- "@vue/eslint-config-typescript": "^12.0.0",
42
+ "@vue/eslint-config-typescript": "^13.0.0",
43
43
  "@vue/tsconfig": "^0.5.1",
44
- "autoprefixer": "10.4.17",
44
+ "autoprefixer": "10.4.19",
45
45
  "clean-css-cli": "^5.6.3",
46
- "core-js": "3.35.1",
47
- "eslint": "^8.56.0",
46
+ "core-js": "3.37.1",
47
+ "eslint": "^8.57.0",
48
48
  "eslint-plugin-prettier": "^5.1.3",
49
- "eslint-plugin-vue": "^9.21.1",
50
- "npm-check-updates": "^16.14.14",
51
- "postcss": "8.4.34",
52
- "prettier": "^3.2.5",
53
- "rimraf": "5.0.5",
54
- "rollup": "^4.9.6",
49
+ "eslint-plugin-vue": "^9.27.0",
50
+ "npm-check-updates": "^16.14.20",
51
+ "postcss": "8.4.39",
52
+ "prettier": "^3.3.3",
53
+ "rimraf": "6.0.1",
54
+ "rollup": "^4.18.1",
55
55
  "rollup-plugin-copy": "3.5.0",
56
- "rollup-plugin-sass": "1.12.21",
57
- "sass": "1.70.0",
58
- "stylelint": "^16.2.1",
59
- "stylelint-config-recommended": "^14.0.0",
60
- "stylelint-config-recommended-scss": "^14.0.0",
61
- "stylelint-prettier": "^5.0.0",
62
- "stylelint-scss": "^6.1.0",
63
- "tslib": "2.6.2",
64
- "typescript": "5.3.3",
65
- "vite": "^5.0.12",
66
- "vue": "3.4.15",
67
- "vue-router": "4.2.5",
68
- "vue-tsc": "1.8.27"
56
+ "rollup-plugin-sass": "1.13.1",
57
+ "sass": "1.77.8",
58
+ "stylelint": "^16.7.0",
59
+ "stylelint-config-recommended": "^14.0.1",
60
+ "stylelint-config-recommended-scss": "^14.1.0",
61
+ "stylelint-prettier": "^5.0.1",
62
+ "stylelint-scss": "^6.4.1",
63
+ "typescript": "5.5.3",
64
+ "vite": "^5.3.3",
65
+ "vue": "^3.4.31",
66
+ "vue-router": "4.4.0",
67
+ "vue-tsc": "^2.0.26"
69
68
  }
70
69
  }
@@ -1,68 +1,23 @@
1
1
  /* @docs */
2
- $autocomplete-item-color: #000000 !default;
3
- $autocomplete-item-disabled-opacity: $base-disabled-opacity !default;
4
- $autocomplete-item-font-size: $base-font-size !default;
5
2
  $autocomplete-item-hover-background-color: #f5f5f5 !default;
6
- $autocomplete-item-hover-color: #000000 !default;
7
- $autocomplete-item-line-height: $base-line-height !default;
8
- $autocomplete-item-padding: 0.375rem 1rem !default;
9
3
  /* @docs */
10
4
 
11
5
  .o-acp {
12
- position: relative;
13
-
14
6
  &__item {
15
- display: block;
16
- position: relative;
17
7
  white-space: nowrap;
18
8
  overflow: hidden;
19
9
  text-overflow: ellipsis;
20
- cursor: pointer;
21
-
22
- @include avariable(
23
- "color",
24
- "autocomplete-item-color",
25
- $autocomplete-item-color
26
- );
27
- @include avariable(
28
- "font-size",
29
- "autocomplete-item-font-size",
30
- $autocomplete-item-font-size
31
- );
32
- @include avariable(
33
- "line-height",
34
- "autocomplete-item-line-height",
35
- $autocomplete-item-line-height
36
- );
37
- @include avariable(
38
- "padding",
39
- "autocomplete-item-padding",
40
- $autocomplete-item-padding
41
- );
42
10
 
43
11
  &-group-title,
44
12
  &--empty {
45
- pointer-events: none;
46
-
47
- @include avariable(
48
- "opacity",
49
- "autocomplete-item-disabled-opacity",
50
- $autocomplete-item-disabled-opacity
51
- );
13
+ @extend .o-drop--disabled;
52
14
  }
53
15
 
54
- &--hover,
55
- &:hover {
56
- @include avariable(
57
- "background",
58
- "autocomplete-item-hover-background-color",
16
+ &--hover {
17
+ background-color: var(
18
+ --#{$prefix}autocomplete-item-hover-background-color,
59
19
  $autocomplete-item-hover-background-color
60
20
  );
61
- @include avariable(
62
- "color",
63
- "autocomplete-item-hover-color",
64
- $autocomplete-item-hover-color
65
- );
66
21
  }
67
22
  }
68
23
  }
@@ -1,19 +1,21 @@
1
1
  @use "sass:list";
2
2
 
3
3
  /* @docs */
4
- $button-background-color: $primary !default;
5
- $button-color: $primary-invert !default;
6
- $button-border-radius: $base-border-radius !default;
4
+ $button-background-color: var(--#{$prefix}primary) !default;
5
+ $button-color: var(--#{$prefix}primary-invert) !default;
6
+ $button-border-radius: var(--#{$prefix}base-border-radius) !default;
7
7
  $button-border: 1px solid $button-background-color !default;
8
8
  $button-box-shadow: none !default;
9
9
  $button-font-weight: 400 !default;
10
- $button-line-height: $base-line-height !default;
10
+ $button-line-height: var(--#{$prefix}base-line-height) !default;
11
11
  $button-margin-icon-to-text: 0.1875em !default;
12
12
  $button-margin: 0 !default;
13
13
  $button-height: $control-height !default;
14
14
  $button-padding: $control-padding-vertical 0.75em !default;
15
- $button-rounded-border-radius: $base-rounded-border-radius !default;
16
- $button-disabled-opacity: $base-disabled-opacity !default;
15
+ $button-rounded-border-radius: var(
16
+ --#{$prefix}#{base-border-radius-rounded}
17
+ ) !default;
18
+ $button-disabled-opacity: var(--#{$prefix}#{base-disabled-opacity}) !default;
17
19
  $button-outlined-background-color: transparent !default;
18
20
  /* @docs */
19
21
 
@@ -28,8 +30,6 @@ $button-outlined-background-color: transparent !default;
28
30
  }
29
31
 
30
32
  .o-btn {
31
- -moz-appearance: none;
32
- -webkit-appearance: none;
33
33
  position: relative;
34
34
  display: inline-flex;
35
35
  cursor: pointer;
@@ -41,25 +41,23 @@ $button-outlined-background-color: transparent !default;
41
41
  text-decoration: none;
42
42
 
43
43
  @include unselectable;
44
- @include avariable(
45
- "background-color",
46
- "button-background-color",
44
+ -moz-appearance: none;
45
+ -webkit-appearance: none;
46
+
47
+ background-color: var(
48
+ --#{$prefix}button-background-color,
47
49
  $button-background-color
48
50
  );
49
- @include avariable("color", "button-color", $button-color);
50
- @include avariable("padding", "button-padding", $button-padding);
51
- @include avariable("border", "button-border", $button-border);
52
- @include avariable(
53
- "border-radius",
54
- "button-border-radius",
55
- $button-border-radius
56
- );
57
- @include avariable("box-shadow", "button-box-shadow", $button-box-shadow);
58
- @include avariable("font-size", "base-font-size", $base-font-size);
59
- @include avariable("font-weight", "button-font-weight", $button-font-weight);
60
- @include avariable("line-height", "button-line-height", $button-line-height);
61
- @include avariable("margin", "button-margin", $button-margin);
62
- @include avariable("height", "button-height", $button-height);
51
+ color: var(--#{$prefix}button-color, $button-color);
52
+ padding: var(--#{$prefix}button-padding, $button-padding);
53
+ border: var(--#{$prefix}button-border, $button-border);
54
+ border-radius: var(--#{$prefix}button-border-radius, $button-border-radius);
55
+ box-shadow: var(--#{$prefix}button-box-shadow, $button-box-shadow);
56
+ font-size: var(--#{$prefix}base-font-size, $base-font-size);
57
+ font-weight: var(--#{$prefix}button-font-weight, $button-font-weight);
58
+ line-height: var(--#{$prefix}button-line-height, $button-line-height);
59
+ margin: var(--#{$prefix}button-margin, $button-margin);
60
+ height: var(--#{$prefix}button-height, $button-height);
63
61
 
64
62
  &__wrapper {
65
63
  @include side-flex-gap($button-margin-icon-to-text);
@@ -79,40 +77,36 @@ $button-outlined-background-color: transparent !default;
79
77
  }
80
78
 
81
79
  &--rounded {
82
- @include avariable(
83
- "border-radius",
84
- "button-rounded-border-radius",
80
+ border-radius: var(
81
+ --#{$prefix}button-rounded-border-radius,
85
82
  $button-rounded-border-radius
86
83
  );
87
84
  }
88
85
 
89
86
  &--disabled {
90
- @include avariable(
91
- "opacity",
92
- "button-disabled-opacity",
93
- $button-disabled-opacity
94
- );
87
+ opacity: var(--#{$prefix}button-disabled-opacity, $button-disabled-opacity);
95
88
  cursor: not-allowed;
96
89
  pointer-events: none;
97
90
  }
98
91
 
92
+ // size variants
99
93
  @each $name, $value in $sizes {
100
94
  &--#{$name} {
101
- @include avariable("font-size", ("button-font-size-" + #{$name}), $value);
95
+ font-size: var(--#{$prefix}button-font-size-#{$name}, $value);
102
96
  }
103
97
  }
98
+
99
+ // color variants
104
100
  @each $name, $pair in $colors {
105
101
  $color: list.nth($pair, 1);
106
102
  $color-invert: list.nth($pair, 2);
103
+
107
104
  &--#{$name} {
108
- border-color: transparent;
105
+ --#{$prefix}focus: #{createFocus($color)};
109
106
 
110
- @include avariable("background-color", ("variant-" + #{$name}), $color);
111
- @include avariable(
112
- "color",
113
- ("variant-invert-" + #{$name}),
114
- $color-invert
115
- );
107
+ border-color: transparent;
108
+ background-color: var(--#{$prefix}variant-#{$name}, $color);
109
+ color: var(--#{$prefix}variant-invert-#{$name}, $color-invert);
116
110
 
117
111
  &:hover {
118
112
  // background-color: darken($color, 2.5%)
@@ -123,58 +117,45 @@ $button-outlined-background-color: transparent !default;
123
117
  }
124
118
 
125
119
  &--outlined {
126
- @include avariable(
127
- "background-color",
128
- "button-outlined-background-color",
120
+ background-color: var(
121
+ --#{$prefix}button-outlined-background-color,
129
122
  $button-outlined-background-color
130
123
  );
131
- @include avariable(
132
- "border-color",
133
- "button-background-color",
134
- $button-background-color
135
- );
136
- @include avariable(
137
- "color",
138
- "button-background-color",
124
+ border-color: var(
125
+ --#{$prefix}button-background-color,
139
126
  $button-background-color
140
127
  );
128
+ color: var(--#{$prefix}button-background-color, $button-background-color);
141
129
 
142
130
  &:hover {
143
131
  border-color: transparent;
144
132
 
145
- @include avariable(
146
- "background-color",
147
- "button-background-color",
133
+ background-color: var(
134
+ --#{$prefix}button-background-color,
148
135
  $button-background-color
149
136
  );
150
- @include avariable("color", "button-color", $button-color);
137
+ color: var(--#{$prefix}button-color, $button-color);
151
138
  }
152
139
 
153
140
  @each $name, $pair in $colors {
154
141
  $color: list.nth($pair, 1);
155
142
  $color-invert: list.nth($pair, 2);
143
+
156
144
  &-#{$name} {
157
- @include avariable(
158
- "background-color",
159
- "button-outlined-background-color",
145
+ --#{$prefix}focus: #{createFocus($color)};
146
+
147
+ background-color: var(
148
+ --#{$prefix}button-outlined-background-color,
160
149
  $button-outlined-background-color
161
150
  );
162
- @include avariable("border-color", ("variant-" + #{$name}), $color);
163
- @include avariable("color", ("variant-" + #{$name}), $color);
151
+ border-color: var(--#{$prefix}variant-#{$name}, $color);
152
+ color: var(--#{$prefix}variant-#{$name}, $color);
164
153
 
154
+ &:focus,
165
155
  &:hover {
166
156
  border-color: transparent;
167
-
168
- @include avariable(
169
- "background-color",
170
- ("variant-" + #{$name}),
171
- $color
172
- );
173
- @include avariable(
174
- "color",
175
- ("variant-invert-" + #{$name}),
176
- $color-invert
177
- );
157
+ background-color: var(--#{$prefix}variant-#{$name}, $color);
158
+ color: var(--#{$prefix}variant-invert-#{$name}, $color-invert);
178
159
  }
179
160
  }
180
161
  }
@@ -201,13 +182,9 @@ $button-outlined-background-color: transparent !default;
201
182
  }
202
183
 
203
184
  &--inverted {
204
- @include avariable("background-color", "button-color", $button-color);
205
- @include avariable("border-color", "button-color", $button-color);
206
- @include avariable(
207
- "color",
208
- "button-background-color",
209
- $button-background-color
210
- );
185
+ background-color: var(--#{$prefix}button-color, $button-color);
186
+ border-color: var(--#{$prefix}button-color, $button-color);
187
+ color: var(--#{$prefix}button-background-color, $button-background-color);
211
188
 
212
189
  &:hover {
213
190
  // background-color: darken($color-invert, 5%)
@@ -218,19 +195,18 @@ $button-outlined-background-color: transparent !default;
218
195
  @each $name, $pair in $colors {
219
196
  $color: list.nth($pair, 1);
220
197
  $color-invert: list.nth($pair, 2);
198
+
221
199
  &-#{$name} {
222
- @include avariable(
223
- "background-color",
224
- ("variant-invert-" + #{$name}),
225
- $color-invert
226
- );
227
- @include avariable(
228
- "border-color",
229
- ("variant-invert-" + #{$name}),
200
+ --#{$prefix}focus: #{createFocus($color)};
201
+
202
+ background-color: var(
203
+ --#{$prefix}variant-invert-#{$name},
230
204
  $color-invert
231
205
  );
232
- @include avariable("color", ("variant-" + #{$name}), $color);
206
+ border-color: var(--#{$prefix}variant-invert-#{$name}, $color-invert);
207
+ color: var(--#{$prefix}variant-#{$name}, $color);
233
208
 
209
+ &:focus,
234
210
  &:hover {
235
211
  // background-color: darken($color-invert, 5%)
236
212
  // IE 11 needs polyfill
@@ -239,4 +215,11 @@ $button-outlined-background-color: transparent !default;
239
215
  }
240
216
  }
241
217
  }
218
+
219
+ // focus effect
220
+ &:focus,
221
+ &:focus-within {
222
+ box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
223
+ outline: 0;
224
+ }
242
225
  }