@extrachill/components 0.4.9 → 0.4.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.10] - 2026-03-25
4
+
5
+ ### Changed
6
+ - Port shared tab styling into responsive tabs component
7
+
3
8
  ## [0.4.9] - 2026-03-25
4
9
 
5
10
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@extrachill/components",
3
- "version": "0.4.9",
3
+ "version": "0.4.10",
4
4
  "description": "Shared React components for the Extra Chill Platform.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -151,6 +151,14 @@
151
151
 
152
152
  .ec-responsive-tabs__desktop-panel {
153
153
  display: grid;
154
+ background: var(--background-color, #fff);
155
+ border: 1px solid var(--border-color, #ddd);
156
+ border-radius: 0 var(--border-radius-md, 8px) var(--border-radius-md, 8px) var(--border-radius-md, 8px);
157
+ padding: var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem);
158
+ margin-bottom: var(--spacing-sm, 0.5rem);
159
+ position: relative;
160
+ z-index: 1;
161
+ box-sizing: border-box;
154
162
  }
155
163
 
156
164
  .ec-responsive-tabs__accordion {
@@ -160,9 +168,15 @@
160
168
 
161
169
  .ec-responsive-tabs__item {
162
170
  border: 1px solid var(--border-color, #ddd);
163
- border-radius: var(--border-radius-md, 6px);
171
+ border-radius: var(--border-radius-md, 8px);
172
+ margin-bottom: var(--spacing-md, 1rem);
164
173
  overflow: hidden;
165
174
  background: var(--card-background, #f8f8f8);
175
+ box-sizing: border-box;
176
+ }
177
+
178
+ .ec-responsive-tabs__item:last-of-type {
179
+ margin-bottom: 0;
166
180
  }
167
181
 
168
182
  .ec-responsive-tabs__trigger {
@@ -176,14 +190,17 @@
176
190
  border-bottom: 1px solid var(--border-color, #ddd);
177
191
  background: var(--card-background, #f8f8f8);
178
192
  color: var(--text-color, #111);
179
- font: inherit;
193
+ font-family: var(--font-family-body, inherit);
194
+ font-size: var(--font-size-body, 1.125rem);
180
195
  font-weight: 600;
196
+ line-height: 1.4;
181
197
  cursor: pointer;
182
198
  text-align: left;
199
+ transition: background 0.15s ease, color 0.15s ease;
183
200
  }
184
201
 
185
- .ec-responsive-tabs__trigger:not(.is-active) {
186
- border-bottom-color: transparent;
202
+ .ec-responsive-tabs__item:last-of-type .ec-responsive-tabs__trigger:not(.is-active) {
203
+ border-bottom: 0;
187
204
  }
188
205
 
189
206
  .ec-responsive-tabs__trigger.is-active {
@@ -191,14 +208,73 @@
191
208
  color: var(--link-color, #0b5394);
192
209
  }
193
210
 
211
+ .ec-responsive-tabs__trigger:hover {
212
+ background: var(--background-color, #fff);
213
+ color: var(--link-color, #0b5394);
214
+ }
215
+
216
+ .ec-responsive-tabs__trigger:focus-visible {
217
+ outline: 2px solid var(--focus-border-color, #53940b);
218
+ outline-offset: -2px;
219
+ box-shadow: inset 0 0 0 1px var(--focus-border-color, #53940b);
220
+ }
221
+
194
222
  .ec-responsive-tabs__panel {
195
223
  padding: var(--spacing-sm, 0.5rem);
196
224
  background: var(--background-color, #fff);
225
+ margin-bottom: 0;
226
+ }
227
+
228
+ .ec-responsive-tabs__panel > .ec-panel:first-child {
229
+ margin-top: 0;
197
230
  }
198
231
 
199
232
  .ec-responsive-tabs__arrow {
200
233
  flex-shrink: 0;
201
234
  font-size: var(--font-size-sm, 0.875rem);
235
+ margin-left: var(--spacing-sm, 0.5rem);
236
+ color: currentColor;
237
+ }
238
+
239
+ @media (min-width: 769px) {
240
+ .ec-responsive-tabs__accordion {
241
+ display: none;
242
+ }
243
+
244
+ .ec-responsive-tabs .ec-tabs__tabs {
245
+ display: flex;
246
+ flex-wrap: wrap;
247
+ margin-bottom: -1px;
248
+ position: relative;
249
+ }
250
+
251
+ .ec-responsive-tabs .ec-tabs__tab {
252
+ border: 1px solid var(--border-color, #ddd);
253
+ border-bottom: 1px solid var(--border-color, #ddd);
254
+ border-radius: var(--border-radius-md, 8px) var(--border-radius-md, 8px) 0 0;
255
+ padding: var(--spacing-sm, 0.5rem) var(--spacing-md, 1rem);
256
+ font-size: var(--font-size-base, 1rem);
257
+ position: relative;
258
+ top: 1px;
259
+ margin-right: var(--spacing-xs, 0.25rem);
260
+ background: var(--card-background, #f8f8f8);
261
+ color: var(--text-color, #111);
262
+ z-index: 2;
263
+ }
264
+
265
+ .ec-responsive-tabs .ec-tabs__tab.is-active {
266
+ background: var(--background-color, #fff);
267
+ color: var(--link-color, #0b5394);
268
+ border-bottom: 1px solid var(--background-color, #fff);
269
+ z-index: 3;
270
+ }
271
+ }
272
+
273
+ @media (max-width: 768px) {
274
+ .ec-responsive-tabs .ec-tabs__tabs,
275
+ .ec-responsive-tabs__desktop-panel {
276
+ display: none;
277
+ }
202
278
  }
203
279
 
204
280
  // Panel