@ibis-design/css 1.0.0-alpha.3 → 1.0.0-alpha.4

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.
@@ -77,8 +77,8 @@
77
77
  }
78
78
 
79
79
  .ibis-banner--success {
80
- border-color: var(--color-status-success) var(--opacity-1);
81
- background-color: var(--color-status-success) var(--opacity-1);
80
+ border-color: color-mix(in srgb, var(--color-status-success) var(--opacity-1));
81
+ background-color: color-mix(in srgb, var(--color-status-success) var(--opacity-1));
82
82
  }
83
83
 
84
84
  .ibis-banner--success .ibis-banner__title {
@@ -95,8 +95,8 @@
95
95
  }
96
96
 
97
97
  .ibis-banner--error {
98
- border-color: var(--color-status-error) var(--opacity-1);
99
- background-color: var(--color-status-error) var(--opacity-1);
98
+ border-color: color-mix(in srgb, var(--color-status-error) var(--opacity-1));
99
+ background-color: color-mix(in srgb, var(--color-status-error) var(--opacity-1));
100
100
  }
101
101
 
102
102
  .ibis-banner--error .ibis-banner__title {
@@ -113,8 +113,11 @@
113
113
  }
114
114
 
115
115
  .ibis-banner--default {
116
- border-color: var(--color-interactive-primary-bg-emphasized) var(--opacity-1);
117
- background-color: var(--color-interactive-primary-bg-emphasized) var(--opacity-1);
116
+ border-color: color-mix(in srgb, var(--color-interactive-primary-bg-emphasized) var(--opacity-1));
117
+ background-color: color-mix(
118
+ in srgb,
119
+ var(--color-interactive-primary-bg-emphasized) var(--opacity-1)
120
+ );
118
121
  }
119
122
 
120
123
  .ibis-banner--default .ibis-banner__title {
@@ -6,7 +6,7 @@
6
6
  background-color: var(--color-surface-default);
7
7
  border: var(--border-width-thin) solid var(--border-color-subtle);
8
8
  border-radius: var(--border-radius-lg);
9
- box-shadow: var(--shadow-elevation-sm);
9
+ box-shadow: var(--shadow-elevation-md);
10
10
  overflow: visible;
11
11
  box-sizing: border-box;
12
12
  min-height: 200px;
@@ -9,6 +9,8 @@
9
9
  display: block;
10
10
  width: 100%;
11
11
  cursor: pointer;
12
+ font-size: 0;
13
+ line-height: 0;
12
14
  }
13
15
 
14
16
  /* Hide TextInput's label, help, and error inside the trigger */
@@ -45,6 +47,7 @@
45
47
  /* Default field wrapper radius */
46
48
  .ibis-dropdown__trigger .ibis-input__field-wrapper {
47
49
  border-radius: var(--border-radius-lg);
50
+ padding: var(--spacing-1) var(--spacing-2);
48
51
  transition:
49
52
  border-radius var(--transition-duration-fast) var(--transition-timing-default),
50
53
  border-color var(--transition-duration-fast) var(--transition-timing-default);
@@ -125,3 +125,8 @@
125
125
  grid-column: 1 / -1;
126
126
  }
127
127
  }
128
+
129
+ /* Allow inputs to stretch full width inside FormLayout */
130
+ .ibis-form-layout .ibis-input {
131
+ max-width: 100%;
132
+ }
@@ -10,10 +10,10 @@
10
10
  height: 100%;
11
11
  min-height: 0;
12
12
  padding: var(--spacing-4) var(--spacing-3);
13
- background-color: var(--color-surface-default);
14
- border-right: var(--border-width-thin) solid var(--border-color-subtle);
13
+ background-color: transparent;
14
+ border-right: none;
15
15
  border-bottom-right-radius: var(--border-radius-xl);
16
- box-shadow: var(--shadow-nav);
16
+ box-shadow: none;
17
17
  box-sizing: border-box;
18
18
  }
19
19
 
@@ -130,10 +130,10 @@
130
130
  height: 100%;
131
131
  min-height: 0;
132
132
  padding: var(--spacing-4) 0;
133
- background-color: var(--color-surface-default);
134
- border-right: var(--border-width-thin) solid var(--border-color-subtle);
133
+ background-color: transparent;
134
+ border-right: none;
135
135
  border-bottom-right-radius: var(--border-radius-xl);
136
- box-shadow: var(--shadow-nav);
136
+ box-shadow: none;
137
137
  box-sizing: border-box;
138
138
  overflow: visible;
139
139
  }
@@ -63,3 +63,9 @@
63
63
  .ibis-switch--disabled .ibis-switch__control {
64
64
  cursor: not-allowed;
65
65
  }
66
+
67
+ .ibis-switch__label {
68
+ font-family: var(--font-family-sans);
69
+ font-size: var(--font-size-md);
70
+ color: var(--color-text-default);
71
+ }
@@ -26,27 +26,13 @@
26
26
  color: var(--color-text-muted);
27
27
  }
28
28
 
29
- /* ===== WRAPPER — owns the visible border ===== */
29
+ /* ===== WRAPPER — layout only, no border ===== */
30
30
 
31
31
  .ibis-input__wrapper {
32
32
  display: flex;
33
33
  align-items: stretch;
34
34
  border-radius: var(--border-radius-lg);
35
35
  overflow: hidden;
36
- background-color: var(--color-surface-default);
37
- border: var(--border-width-default) solid var(--border-color-default);
38
- transition: border-color var(--transition-duration-fast) var(--transition-timing-default);
39
- }
40
-
41
- /* Hover */
42
- .ibis-input:not(.ibis-input--disabled):not(.ibis-input--invalid)
43
- .ibis-input__wrapper:not(:focus-within):hover {
44
- border-color: var(--border-color-strong);
45
- }
46
-
47
- /* Focus */
48
- .ibis-input__wrapper:focus-within {
49
- border-color: var(--border-color-focus);
50
36
  }
51
37
 
52
38
  /* ===== PREPEND ===== */
@@ -55,7 +41,9 @@
55
41
  display: flex;
56
42
  align-items: center;
57
43
  padding: 0 var(--spacing-3);
58
- border-right: var(--border-width-default) solid var(--border-color-default);
44
+ border: var(--border-width-default) solid var(--border-color-default);
45
+ border-right: none;
46
+ border-radius: var(--border-radius-lg) 0 0 var(--border-radius-lg);
59
47
  position: relative;
60
48
  white-space: nowrap;
61
49
  color: var(--color-text-secondary);
@@ -71,13 +59,33 @@
71
59
  border-color: var(--border-color-focus);
72
60
  }
73
61
 
74
- /* ===== FIELD WRAPPER — no border, just layout ===== */
62
+ /* ===== FIELD WRAPPER — owns the visible border ===== */
75
63
 
76
64
  .ibis-input__field-wrapper {
77
65
  display: flex;
78
66
  align-items: center;
79
67
  flex: 1;
80
- border: none;
68
+ background-color: var(--color-surface-default);
69
+ border: var(--border-width-default) solid var(--border-color-default);
70
+ border-radius: var(--border-radius-lg);
71
+ transition: border-color var(--transition-duration-fast) var(--transition-timing-default);
72
+ }
73
+
74
+ /* When prepend is present, remove left radius and border */
75
+ .ibis-input__wrapper--with-prepend .ibis-input__field-wrapper {
76
+ border-left: none;
77
+ border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
78
+ }
79
+
80
+ /* Hover */
81
+ .ibis-input:not(.ibis-input--disabled):not(.ibis-input--invalid)
82
+ .ibis-input__field-wrapper:not(:focus-within):hover {
83
+ border-color: var(--border-color-strong);
84
+ }
85
+
86
+ /* Focus */
87
+ .ibis-input__field-wrapper:focus-within {
88
+ border-color: var(--border-color-focus);
81
89
  }
82
90
 
83
91
  .ibis-input--sm .ibis-input__field-wrapper {
@@ -136,21 +144,22 @@
136
144
 
137
145
  /* ===== INVALID STATE ===== */
138
146
 
139
- .ibis-input--invalid .ibis-input__wrapper {
147
+ .ibis-input--invalid .ibis-input__field-wrapper {
140
148
  border-color: var(--color-status-error);
141
149
  }
142
150
 
143
- .ibis-input--invalid:not(.ibis-input--disabled) .ibis-input__wrapper:not(:focus-within):hover {
151
+ .ibis-input--invalid:not(.ibis-input--disabled)
152
+ .ibis-input__field-wrapper:not(:focus-within):hover {
144
153
  border-color: var(--color-status-error);
145
154
  }
146
155
 
147
- .ibis-input--invalid:not(.ibis-input--disabled) .ibis-input__wrapper:focus-within {
156
+ .ibis-input--invalid:not(.ibis-input--disabled) .ibis-input__field-wrapper:focus-within {
148
157
  border-color: var(--color-status-error);
149
158
  }
150
159
 
151
160
  /* ===== DISABLED STATE ===== */
152
161
 
153
- .ibis-input--disabled .ibis-input__wrapper {
162
+ .ibis-input--disabled .ibis-input__field-wrapper {
154
163
  opacity: var(--opacity-5);
155
164
  cursor: not-allowed;
156
165
  border-color: var(--border-color-disabled);
@@ -163,7 +172,7 @@
163
172
 
164
173
  /* ===== LOADING STATE ===== */
165
174
 
166
- .ibis-input--loading .ibis-input__wrapper {
175
+ .ibis-input--loading .ibis-input__field-wrapper {
167
176
  opacity: var(--opacity-7);
168
177
  pointer-events: none;
169
178
  }
@@ -8,8 +8,8 @@
8
8
  flex-direction: row;
9
9
  align-items: center;
10
10
  justify-content: space-between;
11
- background-color: var(--color-surface-default);
12
- border-bottom: var(--border-width-thin) solid var(--border-color-subtle);
11
+ background-color: transparent;
12
+ border-bottom: none;
13
13
  box-sizing: border-box;
14
14
  padding: 0 var(--spacing-6);
15
15
  gap: var(--spacing-4);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibis-design/css",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.4",
4
4
  "description": "Design tokens, CSS variables, and Tailwind preset for the IBIS design system.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -30,8 +30,5 @@
30
30
  "sd-tailwindcss-transformer": "^2.2.1",
31
31
  "style-dictionary": "^5.4.4",
32
32
  "tsx": "^4.22.4"
33
- },
34
- "dependencies": {
35
- "@ibis-design/css": "^1.0.0-alpha.3"
36
33
  }
37
34
  }