@castlabs/ui 7.5.0 → 7.5.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castlabs/ui",
3
- "version": "7.5.0",
3
+ "version": "7.5.2",
4
4
  "repository": "https://github.com/castlabs/ui-styleguide",
5
5
  "private": false,
6
6
  "description": "A vanilla HTML/CS/JS & Vue.js component library for Castlabs.",
@@ -67,15 +67,15 @@
67
67
  "gulp": "5.0.1",
68
68
  "jsdom": "27.2.0",
69
69
  "npm-run-all": "4.1.5",
70
- "sass": "1.94.1",
70
+ "sass": "1.94.2",
71
71
  "stylelint-config-sass-guidelines": "12.1.0",
72
72
  "stylelint-config-standard-vue": "1.0.0",
73
73
  "stylelint-config-standard": "39.0.1",
74
74
  "stylelint-order": "7.0.0",
75
75
  "stylelint-scss": "6.12.1",
76
76
  "typescript": "5.9.3",
77
- "vite": "7.2.2",
78
- "vitest": "4.0.10",
77
+ "vite": "7.2.4",
78
+ "vitest": "4.0.12",
79
79
  "vue-tsc": "3.1.4",
80
80
  "vue": "3.5.24"
81
81
  }
@@ -23,9 +23,9 @@
23
23
 
24
24
  &:disabled,
25
25
  &.disabled {
26
- background-color: var(--cl-color-disabled-background);
27
- border-color: var(--cl-color-disabled-border);
28
- color: var(--cl-color-disabled-text);
26
+ background-color: var(--cl-color-disabled-background) !important;
27
+ border-color: var(--cl-color-disabled-border) !important;
28
+ color: var(--cl-color-disabled-text) !important;
29
29
  cursor: not-allowed;
30
30
  opacity: 1 !important; // sass-lint:disable-line no-important
31
31
  pointer-events: initial;
@@ -60,14 +60,20 @@ a.btn {
60
60
 
61
61
  background-color: transparent;
62
62
  border: 0;
63
+ color: var(--cl-color-text);
63
64
  font-weight: 500;
64
65
  line-height: 1;
65
66
  margin-left: $spacing-tiny;
66
67
  min-width: 0;
67
68
  padding: 0;
68
69
 
69
- &:not(:hover) {
70
- color: $color-ci-steel;
70
+ &:not(:hover, [class*='cl-color-']) {
71
+ #{'--cl-color-text'}: $color-ci-steel;
72
+ }
73
+
74
+ &.disabled,
75
+ &:disabled {
76
+ visibility: hidden;
71
77
  }
72
78
  }
73
79
 
@@ -21,7 +21,7 @@ $cl-url-postfix: '' !default;
21
21
  @extend %form-field-box;
22
22
  @extend %form-field-typography-monospace;
23
23
 
24
- @include cl-form-focus;
24
+ @include cl-form-focus(true);
25
25
 
26
26
  background-image: url('#{$cl-url-prefix}select.svg#{$cl-url-postfix}'), none, none;
27
27
  display: block;
@@ -10,10 +10,6 @@
10
10
  .cl-section-main-side {
11
11
  padding-top: 0;
12
12
 
13
- // .cl-section-primary + & { // first one right below header
14
- // padding-top: $spacing-small;
15
- // }
16
-
17
13
  .row > [class^='col-'] {
18
14
  margin-top: $spacing-small * 2;
19
15
  }
@@ -46,12 +46,4 @@
46
46
  }
47
47
  }
48
48
  }
49
-
50
- // tr:nth-child(even) .cl-td-links {
51
- // background-color: transparent;
52
- // }
53
- //
54
- // tr:nth-child(odd) .cl-td-links {
55
- // background-color: var(--cl-color-highlight);
56
- // }
57
49
  }
@@ -14,46 +14,6 @@ main a {
14
14
  @extend %cl-a;
15
15
  }
16
16
 
17
- // .cl-a-primary a:not(.btn),
18
- // .cl-a-secondary a.cl-a-primary:not(.btn),
19
- // .cl-a-text a.cl-a-primary:not(.btn),
20
- // .cl-a-transparent a.cl-a-primary:not(.btn),
21
- // a.cl-a-primary:not(.btn) {
22
- // @extend %cl-a-primary;
23
- // }
24
- //
25
- // .cl-a-secondary a:not(.btn),
26
- // .cl-a-primary a.cl-a-secondary:not(.btn),
27
- // .cl-a-text a.cl-a-secondary:not(.btn),
28
- // .cl-a-transparent a.cl-a-secondary:not(.btn),
29
- // a.cl-a-secondary:not(.btn) {
30
- // @extend %cl-a-secondary;
31
- // }
32
-
33
- // .cl-a-text a:not(.btn),
34
- // .cl-a-primary a.cl-a-text:not(.btn),
35
- // .cl-a-secondary a.cl-a-text:not(.btn),
36
- // .cl-a-transparent a.cl-a-text:not(.btn),
37
- // a.cl-a-text:not(.btn) {
38
- // @extend %cl-a-text;
39
- // }
40
-
41
- // .cl-a-transparent a:not(.btn),
42
- // .cl-a-primary a.cl-a-transparent:not(.btn),
43
- // .cl-a-secondary a.cl-a-transparent:not(.btn),
44
- // .cl-a-text a.cl-a-transparent:not(.btn),
45
- // a.cl-a-transparent:not(.btn) {
46
- // @extend %cl-a-transparent;
47
- // }
48
-
49
- // .cl-a-none a:not(.btn),
50
- // .cl-a-primary a.cl-a-none:not(.btn),
51
- // .cl-a-secondary a.cl-a-none:not(.btn),
52
- // .cl-a-text a.cl-a-none:not(.btn),
53
- // a.cl-a-none:not(.btn) {
54
- // @extend %cl-a-none;
55
- // }
56
-
57
17
  .cl-a-btn {
58
18
  // a link that is more an embedded button, e.g. in table actions
59
19
  @extend %cl-a-btn;
@@ -70,11 +30,17 @@ main a {
70
30
 
71
31
  background-color: transparent;
72
32
  border-radius: 0;
33
+ color: var(--cl-color-text);
73
34
  margin-left: $spacing-tiny;
74
35
  text-decoration: none;
75
36
 
76
- &:not(:hover) {
77
- color: $color-ci-steel;
37
+ &:not(:hover, [class*='cl-color-']) {
38
+ #{'--cl-color-text'}: $color-ci-steel;
39
+ }
40
+
41
+ &.disabled,
42
+ &:disabled {
43
+ visibility: hidden;
78
44
  }
79
45
  }
80
46
 
@@ -68,9 +68,10 @@
68
68
  &.active,
69
69
  .show > &.dropdown-toggle {
70
70
  // .dropdown-toggle is for topnav
71
- background-color: var(--cl-color-text);
72
- border-color: var(--cl-color-background);
73
- color: var(--cl-color-background);
71
+ background-color: var(--cl-color-background) !important;
72
+ border-color: var(--cl-color-border) !important;
73
+ color: var(--cl-color-text) !important;
74
+ outline: 0 !important;
74
75
 
75
76
  &.cl-color-transparent {
76
77
  background-color: $color-ci-eggshell;
@@ -79,7 +80,7 @@
79
80
  }
80
81
  }
81
82
 
82
- &:active {
83
- outline: 0 !important;
83
+ &:hover:active {
84
+ opacity: var(--cl-opacity-active) !important;
84
85
  }
85
86
  }
@@ -53,6 +53,7 @@ $color-background: $color-ci-white;
53
53
  $color-code-background: rgb(16 0 0 / 5%); // transparent to work on different colors
54
54
 
55
55
  $color-line: $color-ci-clay;
56
+ $color-opacity-active: 0.8;
56
57
 
57
58
  @mixin cl-color-focus-outline-raw($color: var(--cl-color-focus), $offset: -3px) {
58
59
  box-shadow: none; // disable BS outlines
@@ -173,7 +174,6 @@ $color-line: $color-ci-clay;
173
174
  #{'--cl-color-text'}: $color-ci-night;
174
175
  #{'--cl-color-line'}: $color-line;
175
176
  #{'--cl-color-accent'}: $color-accent;
176
- #{'--cl-color-highlight'}: rgba(#fff, 0.85);
177
177
  #{'--cl-color-link'}: $color-link;
178
178
  #{'--cl-color-active'}: $color-ci-berry;
179
179
  #{'--cl-color-hover'}: $color-hover;
@@ -181,6 +181,7 @@ $color-line: $color-ci-clay;
181
181
  #{'--cl-color-disabled-background'}: $color-disabled;
182
182
  #{'--cl-color-disabled-border'}: $color-disabled;
183
183
  #{'--cl-color-disabled-text'}: $color-ci-eggshell;
184
+ #{'--cl-opacity-active'}: $color-opacity-active;
184
185
  }
185
186
 
186
187
  %cl-color-night-outline {
@@ -190,12 +191,12 @@ $color-line: $color-ci-clay;
190
191
  #{'--cl-color-text'}: $color-ci-night;
191
192
  #{'--cl-color-line'}: $color-line;
192
193
  #{'--cl-color-accent'}: $color-accent;
193
- #{'--cl-color-highlight'}: rgba(#fff, 0.85);
194
194
  #{'--cl-color-link'}: inherit;
195
195
  #{'--cl-color-focus'}: $color-ci-night;
196
196
  #{'--cl-color-disabled-background'}: transparent;
197
197
  #{'--cl-color-disabled-border'}: $color-disabled;
198
198
  #{'--cl-color-disabled-text'}: $color-disabled;
199
+ #{'--cl-opacity-active'}: $color-opacity-active * 0.9;
199
200
  }
200
201
 
201
202
  %cl-color-text-light {
@@ -203,7 +204,6 @@ $color-line: $color-ci-clay;
203
204
  #{'--cl-color-text'}: $color-ci-eggshell;
204
205
  #{'--cl-color-line'}: $color-ci-eggshell;
205
206
  #{'--cl-color-accent'}: $color-ci-eggshell;
206
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
207
207
  #{'--cl-color-link'}: $color-ci-eggshell;
208
208
  #{'--cl-color-focus'}: $color-ci-eggshell;
209
209
  }
@@ -213,7 +213,6 @@ $color-line: $color-ci-clay;
213
213
  #{'--cl-color-text'}: $color-ci-night;
214
214
  #{'--cl-color-line'}: $color-ci-night;
215
215
  #{'--cl-color-accent'}: $color-ci-night;
216
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
217
216
  #{'--cl-color-link'}: $color-ci-night;
218
217
  #{'--cl-color-focus'}: $color-ci-night;
219
218
  }
@@ -223,6 +222,7 @@ $color-line: $color-ci-clay;
223
222
 
224
223
  #{'--cl-color-background'}: $color-ci-red;
225
224
  #{'--cl-color-border'}: $color-ci-red;
225
+ #{'--cl-opacity-active'}: $color-opacity-active;
226
226
  }
227
227
 
228
228
  %cl-color-red-outline {
@@ -230,7 +230,6 @@ $color-line: $color-ci-clay;
230
230
  #{'--cl-color-text'}: $color-ci-red;
231
231
  #{'--cl-color-line'}: $color-line;
232
232
  #{'--cl-color-accent'}: $color-ci-red;
233
- #{'--cl-color-highlight'}: rgba(#fff, 0.85);
234
233
  #{'--cl-color-link'}: inherit;
235
234
  #{'--cl-color-focus'}: $color-ci-red;
236
235
  #{'--cl-color-disabled-background'}: transparent;
@@ -258,7 +257,6 @@ $color-line: $color-ci-clay;
258
257
  #{'--cl-color-text'}: $color-ci-night;
259
258
  #{'--cl-color-line'}: $color-line;
260
259
  #{'--cl-color-accent'}: $color-accent;
261
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
262
260
  #{'--cl-color-link'}: inherit;
263
261
  #{'--cl-color-focus'}: $color-ci-night;
264
262
  }
@@ -340,10 +338,16 @@ $color-line: $color-ci-clay;
340
338
  }
341
339
 
342
340
  %cl-color-transparent {
343
- @extend %cl-color-text-light;
344
-
345
341
  #{'--cl-color-background'}: transparent;
346
- #{'--cl-color-border'}: $color-ci-eggshell;
342
+ #{'--cl-color-border'}: var(--cl-color-text);
343
+ #{'--cl-color-disabled-background'}: transparent;
344
+ #{'--cl-color-disabled-border'}: $color-disabled;
345
+ #{'--cl-color-disabled-text'}: $color-disabled;
346
+ #{'--cl-opacity-active'}: $color-opacity-active * 0.9;
347
+ #{'--cl-color-line'}: var(--cl-color-text);
348
+ #{'--cl-color-accent'}: var(--cl-color-text);
349
+ #{'--cl-color-link'}: var(--cl-color-text);
350
+ #{'--cl-color-focus'}: var(--cl-color-text);
347
351
  }
348
352
 
349
353
  %cl-color-disabled {
@@ -352,7 +356,6 @@ $color-line: $color-ci-clay;
352
356
  #{'--cl-color-text'}: $color-disabled;
353
357
  #{'--cl-color-line'}: $color-disabled;
354
358
  #{'--cl-color-accent'}: $color-disabled;
355
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
356
359
  #{'--cl-color-link'}: inherit;
357
360
  #{'--cl-color-focus'}: $color-ci-eggshell;
358
361
  }
@@ -363,7 +366,6 @@ $color-line: $color-ci-clay;
363
366
  #{'--cl-color-text'}: $color-ci-ash;
364
367
  #{'--cl-color-line'}: $color-line;
365
368
  #{'--cl-color-accent'}: $color-ci-ash;
366
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
367
369
  #{'--cl-color-link'}: inherit;
368
370
  #{'--cl-color-focus'}: $color-ci-ash;
369
371
  }
@@ -371,7 +373,9 @@ $color-line: $color-ci-clay;
371
373
  %cl-color-none {
372
374
  #{'--cl-color-background'}: transparent;
373
375
  #{'--cl-color-border'}: transparent;
374
- #{'--cl-color-highlight'}: rgba(#fff, 0.1);
375
376
  #{'--cl-color-link'}: $color-ci-eggshell;
376
377
  #{'--cl-color-focus'}: $color-ci-eggshell;
378
+ #{'--cl-color-disabled-background'}: transparent;
379
+ #{'--cl-color-disabled-border'}: transparent;
380
+ #{'--cl-color-disabled-text'}: $color-disabled;
377
381
  }
@@ -39,7 +39,8 @@ $form-spacing-label-input: px(2);
39
39
  $typography-sans-font-list,
40
40
  400,
41
41
  $form-field-fontsize,
42
- $form-field-line-height
42
+ $form-field-line-height,
43
+ 0
43
44
  );
44
45
  }
45
46
 
@@ -49,7 +50,7 @@ $form-spacing-label-input: px(2);
49
50
  400,
50
51
  $form-field-fontsize,
51
52
  $form-field-line-height,
52
- 0.025em
53
+ 0
53
54
  );
54
55
  }
55
56
 
@@ -65,10 +66,19 @@ $form-spacing-label-input: px(2);
65
66
  }
66
67
  }
67
68
 
68
- @mixin cl-form-focus {
69
+ @mixin cl-form-focus($focus: false) {
69
70
  &:focus-visible,
70
71
  &:focus-visible:first-child,
71
72
  &:focus-visible:last-child {
72
73
  @include cl-form-focus-embed;
73
74
  }
75
+
76
+ @if $focus == true {
77
+ // sometimes we need to undo Bootstrap too
78
+ &:focus,
79
+ &:focus:first-child,
80
+ &:focus:last-child {
81
+ @include cl-form-focus-embed;
82
+ }
83
+ }
74
84
  }
@@ -75,7 +75,7 @@ $typography-monospace-line-height: 1.375;
75
75
  }
76
76
 
77
77
  @mixin typography-link(
78
- $color: inherit,
78
+ $color: var(--cl-color-text),
79
79
  $color-hover: var(--cl-color-hover),
80
80
  $color-underline: var(--cl-color-link),
81
81
  $color-underline-hover: $color-hover
@@ -146,6 +146,14 @@ $typography-monospace-line-height: 1.375;
146
146
  background-color: transparent;
147
147
  color: var(--cl-color-hover);
148
148
  }
149
+
150
+ &.disabled,
151
+ &:disabled {
152
+ background-color: transparent;
153
+ color: var(--cl-color-text);
154
+ cursor: text;
155
+ text-decoration: none;
156
+ }
149
157
  }
150
158
 
151
159
  %cl-a {
@@ -14,7 +14,6 @@
14
14
  @extend %cl-color-root;
15
15
  }
16
16
 
17
- .cl-color-tertiary
18
17
  .cl-color-outline-text, // legacy name
19
18
  .cl-color-night-outline {
20
19
  @extend %cl-color-night-outline;
@@ -32,11 +31,6 @@
32
31
  @extend %cl-color-sky;
33
32
  }
34
33
 
35
- .cl-color-primary {
36
- @extend %cl-color-sea;
37
- }
38
-
39
- .cl-color-secondary,
40
34
  .cl-color-black,
41
35
  .cl-color-text, // legacy name
42
36
  .cl-color-dark, // legacy name
@@ -86,7 +80,45 @@
86
80
  @extend %cl-color-none;
87
81
  }
88
82
 
89
- // ----------------------------------------------
83
+ // -----------------------------------------------------------------------------
84
+
85
+ // primary/secondary/tertiary button colors
86
+
87
+ .btn {
88
+ &.cl-color-primary {
89
+ @extend %cl-color-sea;
90
+ }
91
+
92
+ &.cl-color-secondary {
93
+ @extend %cl-color-night;
94
+ }
95
+
96
+ &.cl-color-tertiary {
97
+ @extend %cl-color-transparent;
98
+ }
99
+ }
100
+
101
+ .cl-color-red,
102
+ .cl-color-sky,
103
+ .cl-color-ash,
104
+ .cl-color-petrol,
105
+ .cl-color-berry,
106
+ .cl-color-black,
107
+ .cl-color-text,
108
+ .cl-color-dark,
109
+ .cl-color-night {
110
+ // on dark backgrounds secondary buttons need to be light
111
+ .btn.cl-color-secondary {
112
+ @extend %cl-color-eggshell;
113
+ }
114
+
115
+ // on dark backgrounds secondary buttons need to be outlined
116
+ .btn.cl-color-tertiary {
117
+ @extend %cl-color-transparent;
118
+ }
119
+ }
120
+
121
+ // -----------------------------------------------------------------------------
90
122
 
91
123
  a,
92
124
  span,
@@ -99,10 +131,12 @@ div {
99
131
 
100
132
  .cl-color-text-red {
101
133
  #{'--cl-color-text'}: $color-ci-red;
134
+ #{'--cl-color-link'}: $color-ci-red;
102
135
  }
103
136
 
104
137
  .cl-color-text-sky {
105
138
  #{'--cl-color-text'}: $color-ci-sky;
139
+ #{'--cl-color-link'}: $color-ci-sky;
106
140
  }
107
141
 
108
142
  .cl-color-text-night {
@@ -121,40 +155,50 @@ div {
121
155
 
122
156
  .cl-color-text-ash {
123
157
  #{'--cl-color-text'}: $color-ci-ash;
158
+ #{'--cl-color-link'}: $color-ci-ash;
124
159
  }
125
160
 
126
161
  .cl-color-text-petrol {
127
162
  #{'--cl-color-text'}: $color-ci-petrol;
163
+ #{'--cl-color-link'}: $color-ci-petrol;
128
164
  }
129
165
 
130
166
  .cl-color-text-berry {
131
167
  #{'--cl-color-text'}: $color-ci-berry;
168
+ #{'--cl-color-link'}: $color-ci-berry;
132
169
  }
133
170
 
134
171
  .cl-color-text-none {
135
172
  #{'--cl-color-text'}: transparent;
173
+ #{'--cl-color-link'}: transparent;
136
174
  }
137
175
 
138
176
  .cl-color-text-brick {
139
177
  #{'--cl-color-text'}: $color-ci-brick;
178
+ #{'--cl-color-link'}: $color-ci-brick;
140
179
  }
141
180
 
142
181
  .cl-color-text-honey {
143
182
  #{'--cl-color-text'}: $color-ci-honey;
183
+ #{'--cl-color-link'}: $color-ci-honey;
144
184
  }
145
185
 
146
186
  .cl-color-text-leaf {
147
187
  #{'--cl-color-text'}: $color-ci-leaf;
188
+ #{'--cl-color-link'}: $color-ci-leaf;
148
189
  }
149
190
 
150
191
  .cl-color-text-sea {
151
192
  #{'--cl-color-text'}: $color-ci-sea;
193
+ #{'--cl-color-link'}: $color-ci-sea;
152
194
  }
153
195
 
154
196
  .cl-color-text-orchid {
155
197
  #{'--cl-color-text'}: $color-ci-orchid;
198
+ #{'--cl-color-link'}: $color-ci-orchid;
156
199
  }
157
200
 
158
201
  .cl-color-text-steel {
159
202
  #{'--cl-color-text'}: $color-ci-steel;
203
+ #{'--cl-color-link'}: $color-ci-steel;
160
204
  }
@@ -74,7 +74,7 @@ h6.cl-faded,
74
74
 
75
75
  @for $i from 0 through 10 {
76
76
  .cl-w-#{$i * 10} {
77
- width: $i * 10;
77
+ width: $i * 10%;
78
78
  }
79
79
  }
80
80
 
@@ -23,17 +23,11 @@
23
23
  &.cl-color-petrol + &.cl-color-petrol,
24
24
  &.cl-color-berry + &.cl-color-berry {
25
25
  @include media-breakpoint-up(sm) {
26
- margin-top: $spacing-small * -3;
26
+ margin-top: $spacing-small * -2.5;
27
27
  }
28
28
  }
29
29
  }
30
30
 
31
- // .cl-section:not(.cl-color-red):not(.cl-color-sky):not(.cl-color-night):not(.cl-color-eggshell):not(.cl-color-clay):not(.cl-color-ash):not(.cl-color-petrol):not(.cl-color-berry) + .cl-section:not(.cl-color-red):not(.cl-color-sky):not(.cl-color-night):not(.cl-color-eggshell):not(.cl-color-clay):not(.cl-color-ash):not(.cl-color-petrol):not(.cl-color-berry) {
32
- // @include media-breakpoint-up(sm) {
33
- // margin-top: $spacing-small * -3;
34
- // }
35
- // }
36
-
37
31
  // pre-2005 legacy mappings
38
32
  .cl-section-regular {
39
33
  @extend %section-padding;