@dragunio/fe-libs 0.1.6 → 0.1.8

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/dist/styles.css CHANGED
@@ -214,6 +214,191 @@
214
214
  outline-offset: 2px;
215
215
  }
216
216
 
217
+ /* packages/button-bar/src/styles.css */
218
+ .fe-button-bar {
219
+ display: flex;
220
+ align-items: center;
221
+ flex-wrap: wrap;
222
+ gap: 8px;
223
+ }
224
+ .fe-button-bar__more {
225
+ position: relative;
226
+ }
227
+ .fe-button-bar__menu {
228
+ position: absolute;
229
+ z-index: 10;
230
+ top: calc(100% + 8px);
231
+ right: 0;
232
+ width: 256px;
233
+ min-width: 256px;
234
+ padding: 4px 0;
235
+ border: 0;
236
+ border-radius: 12px;
237
+ background: #fff;
238
+ box-shadow: 0 10px 24px rgb(16 24 40 / 15%);
239
+ }
240
+ .fe-button-bar__menu .fe-button {
241
+ justify-content: flex-start;
242
+ width: 100%;
243
+ border-color: transparent;
244
+ border-radius: 0;
245
+ text-align: left;
246
+ }
247
+ .fe-button-bar__menu-divider {
248
+ height: 1px;
249
+ margin: 4px 12px;
250
+ background: #d4d8e0;
251
+ }
252
+ .fe-button-bar__menu .fe-button__icon:first-child {
253
+ display: inline-flex;
254
+ width: 20px;
255
+ height: 20px;
256
+ flex: 0 0 20px;
257
+ align-items: center;
258
+ justify-content: center;
259
+ }
260
+ .fe-button-bar__menu-icon {
261
+ display: inline-flex;
262
+ width: 100%;
263
+ height: 100%;
264
+ align-items: center;
265
+ justify-content: center;
266
+ font-size: 20px;
267
+ line-height: 1;
268
+ }
269
+ .fe-button-bar__menu-icon > :is(svg, img) {
270
+ display: block;
271
+ width: 20px;
272
+ height: 20px;
273
+ flex: 0 0 20px;
274
+ object-fit: contain;
275
+ }
276
+
277
+ /* packages/tabs/src/styles.css */
278
+ .fe-tabs {
279
+ --fe-tabs-accent: #2878f0;
280
+ --fe-tabs-border: #d4d8e0;
281
+ --fe-tabs-muted: #667085;
282
+ --fe-tabs-surface: #f5f6f8;
283
+ --fe-tabs-text: #20242c;
284
+ min-width: 0;
285
+ color: var(--fe-tabs-text);
286
+ }
287
+ .fe-tabs__navigation {
288
+ display: flex;
289
+ min-width: 0;
290
+ align-items: center;
291
+ gap: 4px;
292
+ }
293
+ .fe-tabs__scroll-button.fe-button {
294
+ flex: 0 0 auto;
295
+ }
296
+ .fe-tabs__scroller {
297
+ min-width: 0;
298
+ flex: 1 1 auto;
299
+ overflow-x: auto;
300
+ overscroll-behavior-x: contain;
301
+ scrollbar-color: var(--fe-tabs-border) transparent;
302
+ scrollbar-width: thin;
303
+ scroll-behavior: smooth;
304
+ }
305
+ .fe-tabs__scroller::-webkit-scrollbar {
306
+ height: 6px;
307
+ }
308
+ .fe-tabs__scroller::-webkit-scrollbar-thumb {
309
+ border-radius: 999px;
310
+ background: var(--fe-tabs-border);
311
+ }
312
+ .fe-tabs__list {
313
+ display: flex;
314
+ width: max-content;
315
+ min-width: 100%;
316
+ align-items: center;
317
+ }
318
+ .fe-tabs__tab {
319
+ position: relative;
320
+ display: inline-flex;
321
+ min-height: 42px;
322
+ flex: 0 0 auto;
323
+ align-items: center;
324
+ justify-content: center;
325
+ padding: 10px 14px;
326
+ border: 0;
327
+ border-radius: 0;
328
+ color: var(--fe-tabs-muted);
329
+ background: transparent;
330
+ font: inherit;
331
+ font-weight: 600;
332
+ line-height: 1.25;
333
+ white-space: nowrap;
334
+ cursor: pointer;
335
+ }
336
+ .fe-tabs__tab:hover {
337
+ color: var(--fe-tabs-text);
338
+ }
339
+ .fe-tabs__tab:focus-visible {
340
+ z-index: 1;
341
+ outline: 3px solid color-mix(in srgb, var(--fe-tabs-accent), transparent 62%);
342
+ outline-offset: -3px;
343
+ }
344
+ .fe-tabs__tab:disabled {
345
+ color: #98a2b3;
346
+ cursor: not-allowed;
347
+ }
348
+ .fe-tabs--tab .fe-tabs__list {
349
+ gap: 4px;
350
+ border-bottom: 1px solid var(--fe-tabs-border);
351
+ }
352
+ .fe-tabs--tab .fe-tabs__tab::after {
353
+ position: absolute;
354
+ right: 10px;
355
+ bottom: -1px;
356
+ left: 10px;
357
+ height: 2px;
358
+ border-radius: 999px 999px 0 0;
359
+ background: transparent;
360
+ content: "";
361
+ }
362
+ .fe-tabs--tab .fe-tabs__tab[aria-selected=true] {
363
+ color: var(--fe-tabs-accent);
364
+ }
365
+ .fe-tabs--tab .fe-tabs__tab[aria-selected=true]::after {
366
+ background: var(--fe-tabs-accent);
367
+ }
368
+ .fe-tabs--segment .fe-tabs__list {
369
+ gap: 4px;
370
+ min-width: fit-content;
371
+ padding: 4px;
372
+ border: 1px solid var(--fe-tabs-border);
373
+ border-radius: 12px;
374
+ background: var(--fe-tabs-surface);
375
+ }
376
+ .fe-tabs--segment .fe-tabs__tab {
377
+ min-height: 34px;
378
+ padding: 7px 12px;
379
+ border-radius: 8px;
380
+ }
381
+ .fe-tabs--segment .fe-tabs__tab[aria-selected=true] {
382
+ color: var(--fe-tabs-accent);
383
+ background: #fff;
384
+ box-shadow: 0 1px 2px rgb(16 24 40 / 14%);
385
+ }
386
+ .fe-tabs__panel {
387
+ padding-top: 20px;
388
+ }
389
+ .fe-tabs__panel:focus-visible {
390
+ outline: 3px solid color-mix(in srgb, var(--fe-tabs-accent), transparent 70%);
391
+ outline-offset: 3px;
392
+ }
393
+ .fe-tabs__panel[hidden] {
394
+ display: none;
395
+ }
396
+ @media (prefers-reduced-motion: reduce) {
397
+ .fe-tabs__scroller {
398
+ scroll-behavior: auto;
399
+ }
400
+ }
401
+
217
402
  /* packages/table/src/styles.css */
218
403
  .fe-table {
219
404
  width: 100%;
@@ -2256,4 +2441,97 @@ table[data-fe-table] tbody tr:hover {
2256
2441
  }
2257
2442
  }
2258
2443
 
2444
+ /* packages/avatar/src/styles.css */
2445
+ .fe-avatar {
2446
+ --fe-avatar-size: 40px;
2447
+ display: inline-flex;
2448
+ width: var(--fe-avatar-size);
2449
+ height: var(--fe-avatar-size);
2450
+ box-sizing: border-box;
2451
+ flex: 0 0 auto;
2452
+ align-items: center;
2453
+ justify-content: center;
2454
+ overflow: hidden;
2455
+ vertical-align: middle;
2456
+ background: #eef0f3;
2457
+ color: #344054;
2458
+ font: inherit;
2459
+ font-size: var(--fe-avatar-font-size, 15px);
2460
+ font-weight: 700;
2461
+ line-height: 1;
2462
+ letter-spacing: 0.02em;
2463
+ }
2464
+ .fe-avatar--circle {
2465
+ border-radius: 50%;
2466
+ }
2467
+ .fe-avatar--rounded {
2468
+ border-radius: 26%;
2469
+ }
2470
+ .fe-avatar__image,
2471
+ .fe-avatar__fallback-icon {
2472
+ display: block;
2473
+ width: 100%;
2474
+ height: 100%;
2475
+ }
2476
+ .fe-avatar__image {
2477
+ object-fit: cover;
2478
+ }
2479
+ .fe-avatar__initials {
2480
+ display: grid;
2481
+ width: 100%;
2482
+ height: 100%;
2483
+ place-items: center;
2484
+ -webkit-user-select: none;
2485
+ user-select: none;
2486
+ }
2487
+ .fe-avatar-group {
2488
+ --fe-avatar-group-overlap: 10px;
2489
+ --fe-avatar-group-border: #fff;
2490
+ display: inline-flex;
2491
+ align-items: center;
2492
+ gap: 10px;
2493
+ color: #344054;
2494
+ font: inherit;
2495
+ }
2496
+ .fe-avatar-group__items {
2497
+ display: flex;
2498
+ align-items: center;
2499
+ isolation: isolate;
2500
+ }
2501
+ .fe-avatar-group__item {
2502
+ position: relative;
2503
+ display: inline-flex;
2504
+ }
2505
+ .fe-avatar-group__item + .fe-avatar-group__item,
2506
+ .fe-avatar-group__more {
2507
+ margin-inline-start: calc(var(--fe-avatar-group-overlap) * -1);
2508
+ }
2509
+ .fe-avatar-group__item > .fe-avatar {
2510
+ box-shadow: 0 0 0 2px var(--fe-avatar-group-border);
2511
+ }
2512
+ .fe-avatar-group__more {
2513
+ display: inline-grid;
2514
+ width: var(--fe-avatar-size);
2515
+ height: var(--fe-avatar-size);
2516
+ box-sizing: border-box;
2517
+ flex: 0 0 auto;
2518
+ place-items: center;
2519
+ border: 2px solid var(--fe-avatar-group-border);
2520
+ border-radius: 50%;
2521
+ background: #eef0f3;
2522
+ color: #475467;
2523
+ font-size: var(--fe-avatar-font-size, 15px);
2524
+ font-weight: 700;
2525
+ line-height: 1;
2526
+ }
2527
+ .fe-avatar-group__content {
2528
+ min-width: 0;
2529
+ overflow: hidden;
2530
+ font-size: 14px;
2531
+ font-weight: 500;
2532
+ line-height: 1.4;
2533
+ text-overflow: ellipsis;
2534
+ white-space: nowrap;
2535
+ }
2536
+
2259
2537
  /* src/styles.css */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dragunio/fe-libs",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Reusable React components, icons, and table primitives.",
5
5
  "license": "MIT",
6
6
  "repository": {