@castlabs/ui 7.21.1 → 7.21.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.21.1",
3
+ "version": "7.21.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.",
@@ -42,42 +42,42 @@
42
42
  "simplebar": "6.3.3"
43
43
  },
44
44
  "optionalDependencies": {
45
- "@rollup/rollup-linux-x64-gnu": "4.60.2"
45
+ "@rollup/rollup-linux-x64-gnu": "4.61.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@castlabs/ui-editor": "file:../castlabs-ui-editor",
49
49
  "@tsconfig/node22": "22.0.5",
50
- "@types/jsdom": "28.0.1",
51
- "@types/node": "25.6.0",
52
- "@vitejs/plugin-vue": "6.0.6",
53
- "@vitest/eslint-plugin": "1.6.16",
50
+ "@types/jsdom": "28.0.3",
51
+ "@types/node": "25.9.1",
52
+ "@vitejs/plugin-vue": "6.0.7",
53
+ "@vitest/eslint-plugin": "1.6.19",
54
54
  "@vue/eslint-config-prettier": "10.2.0",
55
55
  "@vue/eslint-config-typescript": "14.7.0",
56
- "@vue/test-utils": "2.4.9",
56
+ "@vue/test-utils": "2.4.10",
57
57
  "@vue/tsconfig": "0.9.1",
58
58
  "core-js": "3.49.0",
59
59
  "dree": "5.1.5",
60
60
  "eslint-plugin-import": "2.32.0",
61
- "eslint-plugin-n": "17.24.0",
61
+ "eslint-plugin-n": "18.0.1",
62
62
  "eslint-plugin-promise": "7.3.0",
63
- "eslint-plugin-vue": "10.9.0",
63
+ "eslint-plugin-vue": "10.9.1",
64
64
  "eslint": "9.39.4",
65
65
  "gulp-concat": "2.6.1",
66
66
  "gulp-replace": "1.1.4",
67
67
  "gulp": "5.0.1",
68
68
  "jsdom": "29.1.1",
69
69
  "npm-run-all": "4.1.5",
70
- "sass": "1.99.0",
70
+ "sass": "1.100.0",
71
71
  "stylelint-config-sass-guidelines": "13.0.0",
72
72
  "stylelint-config-standard-vue": "1.0.0",
73
73
  "stylelint-config-standard": "40.0.0",
74
74
  "stylelint-order": "8.1.1",
75
- "stylelint-scss": "7.0.0",
75
+ "stylelint-scss": "7.1.1",
76
76
  "typescript": "6.0.3",
77
- "vite": "8.0.10",
78
- "vitest": "4.1.5",
79
- "vue-tsc": "3.2.7",
80
- "vue": "3.5.33"
77
+ "vite": "8.0.16",
78
+ "vitest": "4.1.8",
79
+ "vue-tsc": "3.3.3",
80
+ "vue": "3.5.35"
81
81
  },
82
82
  "overrides": {
83
83
  "glob": "^13"
@@ -52,18 +52,21 @@
52
52
  background-color: $color-ci-sea;
53
53
  border-color: $color-ci-sea;
54
54
  color: $color-ci-eggshell;
55
+ outline-color: var(--cl-color-eggshell) !important;
55
56
  }
56
57
 
57
58
  &.cl-color-secondary {
58
59
  background-color: var(--cl-color-text);
59
60
  border-color: var(--cl-color-text);
60
61
  color: var(--cl-color-text-inverted);
62
+ outline-color: var(--cl-color-text-inverted) !important;
61
63
  }
62
64
 
63
65
  &.cl-color-tertiary {
64
66
  background-color: transparent;
65
67
  border-color: var(--cl-color-text);
66
68
  color: var(--cl-color-text);
69
+ outline-color: var(--cl-color-text) !important;
67
70
  }
68
71
  }
69
72
 
@@ -5,14 +5,11 @@
5
5
  align-items: center;
6
6
  display: flex;
7
7
 
8
- > .btn:not(:last-child) {
8
+ > :not(.form-control, .input-group-text, :last-child) {
9
9
  margin-right: $spacing-tiny;
10
10
  }
11
11
 
12
- input + .btn,
13
- select + .btn,
14
- .invalid-feedback + .btn,
15
- .valid-feedback + .btn {
12
+ > :not(.form-control, .input-group-text, :first-child) {
16
13
  margin-left: $spacing-tiny;
17
14
  }
18
15
 
@@ -31,19 +28,6 @@
31
28
  &:focus {
32
29
  z-index: 1; // needed so the focused element's border is always on top
33
30
  }
34
-
35
- @include media-breakpoint-up(sm) {
36
- &:not(.btn) + * {
37
- // trick to share one ][ border between 2 inputs
38
- &:not(.btn) {
39
- border-left-width: 0;
40
- }
41
-
42
- &:not(:focus, :focus-visible).invalid {
43
- box-shadow: -$brand-line-width 0 0 $color-error !important; // sass-lint:disable-line no-important
44
- }
45
- }
46
- }
47
31
  }
48
32
 
49
33
  .invalid-feedback,
@@ -104,53 +88,42 @@
104
88
  }
105
89
 
106
90
  @include media-breakpoint-up(sm) {
107
- > .input-group-text,
108
- > .form-control {
109
- border-radius: 0;
110
-
111
- &:first-of-type {
112
- border-bottom-left-radius: $brand-border-radius;
113
- border-top-left-radius: $brand-border-radius;
91
+ > .form-control,
92
+ > .input-group-text {
93
+ &:has(+ .form-control),
94
+ &:has(+ p + .form-control),
95
+ &:has(+ p + p + .form-control),
96
+ &:has(+ .input-group-text) {
97
+ border-bottom-right-radius: 0;
98
+ border-right-color: $color-ci-clay;
99
+ border-top-right-radius: 0;
114
100
  }
115
101
 
116
- &:last-of-type {
117
- border-bottom-right-radius: $brand-border-radius;
118
- border-top-right-radius: $brand-border-radius;
102
+ + .input-group-text,
103
+ + p + .form-control,
104
+ + p + p + .form-control,
105
+ + .form-control {
106
+ border-bottom-left-radius: 0;
107
+ border-left-width: 0; // trick to share one ][ border between 2 inputs
108
+ border-top-left-radius: 0;
119
109
  }
120
- }
121
-
122
- .input-group-text + .form-control,
123
- .form-control + .form-control,
124
- .form-control + p + .form-control,
125
- .form-control + p + p + .form-control {
126
- border-bottom-left-radius: 0;
127
- border-top-left-radius: 0;
128
- }
129
110
 
130
- .input-group-text:has(+ .form-control),
131
- .form-control:has(+ .form-control),
132
- .form-control:has(+ p + .form-control),
133
- .form-control:has(+ p + p + .form-control) {
134
- border-bottom-right-radius: 0;
135
- border-top-right-radius: 0;
136
-
137
- &:not(.btn) {
138
- border-right-color: $color-ci-clay;
111
+ &:has(+ .form-control.invalid),
112
+ &:has(+ .form-control[invalid]),
113
+ &:has(+ p + .form-control.invalid),
114
+ &:has(+ p + .form-control[invalid]),
115
+ &:has(+ p + p + .form-control.invalid),
116
+ &:has(+ p + p + .form-control[invalid]) {
117
+ border-right-color: $color-error;
118
+ }
139
119
 
140
- &:has(+ :focus),
141
- &:has(+ :focus-visible),
142
- &:has(+ p + :focus),
143
- &:has(+ p + :focus-visible),
144
- &:has(+ p + p + :focus),
145
- &:has(+ p + p + :focus-visible),
146
- &:has(+ .invalid:focus),
147
- &:has(+ [invalid]:focus-visible),
148
- &:has(+ p + .invalid:focus),
149
- &:has(+ p + [invalid]:focus-visible),
150
- &:has(+ p + p + .invalid:focus),
151
- &:has(+ p + p + [invalid]:focus-visible) {
152
- border-right-color: $color-focus !important;
153
- }
120
+ &:has(+ .form-control:focus),
121
+ &:has(+ .form-control:focus-visible),
122
+ &:has(+ p + .form-control:focus),
123
+ &:has(+ p + .form-control:focus-visible),
124
+ &:has(+ p + p + .form-control:focus),
125
+ &:has(+ p + p + .form-control:focus-visible) {
126
+ border-right-color: $color-focus !important;
154
127
  }
155
128
  }
156
129
  }
@@ -55,33 +55,8 @@
55
55
  color: var(--cl-color-text);
56
56
  }
57
57
 
58
- // our focus (tab'ed) buttons look the same but are outlined
59
- .btn-check:focus-visible + &,
60
- &:focus-visible {
61
- background-color: var(--cl-color-background);
62
- border-color: var(--cl-color-border);
63
- color: var(--cl-color-text);
64
- }
65
-
66
- // our active (mouse-down) buttons invert background & text color
67
- &:active,
68
- &.active,
69
- .show > &.dropdown-toggle {
70
- // .dropdown-toggle is for topnav
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;
75
-
76
- &.cl-color-transparent {
77
- background-color: $color-ci-eggshell;
78
- border-color: $color-ci-eggshell;
79
- color: $color-ci-night;
80
- }
81
- }
82
-
83
58
  &:hover:active {
84
- opacity: var(--cl-opacity-active) !important;
59
+ opacity: var(--cl-opacity-active);
85
60
  }
86
61
 
87
62
  @if $defaultColors == true {
@@ -58,14 +58,14 @@ $color-code-background: rgb(16 0 0 / 5%); // transparent to work on different co
58
58
  $color-line: $color-ci-clay;
59
59
  $color-opacity-active: 0.8;
60
60
 
61
- @mixin cl-color-focus-outline-raw($color: var(--cl-color-focus), $offset: -3px) {
61
+ @mixin cl-color-focus-outline-raw($color: var(--cl-color-text), $offset: -3px) {
62
62
  box-shadow: none; // disable BS outlines
63
63
  outline: 1px dashed $color;
64
64
  outline-offset: $offset;
65
65
  z-index: 100;
66
66
  }
67
67
 
68
- @mixin cl-color-focus-outline($color: var(--cl-color-focus), $offset: -3px) {
68
+ @mixin cl-color-focus-outline($color: var(--cl-color-text), $offset: -3px) {
69
69
  &:focus-visible {
70
70
  @include cl-color-focus-outline-raw($color, $offset);
71
71
  }
@@ -118,9 +118,10 @@ $typography-monospace-line-height: 1.375;
118
118
  @mixin cl-btn-a($line-height-px) {
119
119
  // button styled as regular link
120
120
  @extend %cl-a;
121
+ @include cl-color-focus-outline(var(--cl-color-text), 2px);
121
122
 
122
123
  #{'--cl-color-text'}: inherit !important;
123
- background-color: transparent;
124
+ background-color: transparent !important;
124
125
  background-position: left bottom 0.25em; // depends on underline
125
126
  background-repeat: no-repeat;
126
127
  background-size: 100% 1px;
@@ -133,29 +134,27 @@ $typography-monospace-line-height: 1.375;
133
134
  margin: 0;
134
135
  min-width: inherit;
135
136
  outline: inherit;
136
- outline-offset: -2px;
137
+ outline-offset: 2px !important;
137
138
  padding: 0;
138
139
  text-align: inherit;
139
140
  vertical-align: inherit;
140
141
 
141
142
  &:focus-visible {
142
- color: var(--cl-color-link);
143
+ color: var(--cl-color-text);
143
144
  }
144
145
 
145
146
  &:hover {
146
- background-color: transparent;
147
147
  color: var(--cl-color-hover);
148
148
  opacity: inherit;
149
149
  }
150
150
 
151
151
  &:active {
152
- background-color: transparent;
153
- color: var(--cl-color-hover);
152
+ background-color: transparent !important;
153
+ color: var(--cl-color-hover) !important;
154
154
  }
155
155
 
156
156
  &.disabled,
157
157
  &:disabled {
158
- background-color: transparent;
159
158
  color: var(--cl-color-text);
160
159
  cursor: text;
161
160
  text-decoration: none;
@@ -1,3 +1,3 @@
1
1
  :root {
2
- #{'--cl-version'}: 'v7.21.1';
2
+ #{'--cl-version'}: 'v7.21.2';
3
3
  }
@@ -15,7 +15,6 @@ p {
15
15
  }
16
16
 
17
17
  @import 'bootstrap/scss/bootstrap-grid';
18
- @import 'bootstrap/scss/buttons';
19
18
  @import 'bootstrap/scss/dropdown';
20
19
  @import 'bootstrap/scss/forms/form-check';
21
20
  @import 'bootstrap/scss/forms/form-select';