@serkonda7/solid-components 0.0.7 → 0.1.0

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
@@ -9,10 +9,17 @@
9
9
 
10
10
  .data-table-toolbar {
11
11
  display: flex;
12
+ align-items: flex-start;
12
13
  justify-content: flex-end;
14
+ gap: 0.5rem;
13
15
  margin-bottom: 0.5rem;
14
16
  }
15
17
 
18
+ .data-table-toolbar-start {
19
+ flex: 1;
20
+ min-width: 0;
21
+ }
22
+
16
23
  .data-table-customizer {
17
24
  position: relative;
18
25
  }
@@ -355,3 +362,288 @@
355
362
  display: flex;
356
363
  align-items: center;
357
364
  }
365
+
366
+ /* FilterTable: Results/Filters tabs around a DataTable. */
367
+ .filter-table-tabs {
368
+ display: flex;
369
+ gap: 0.25rem;
370
+ margin-bottom: 0.75rem;
371
+ border-bottom: 1px solid
372
+ var(--filter-table-border, var(--border, light-dark(#d0d0d0, #3a3e45)));
373
+ }
374
+
375
+ .filter-table-tab {
376
+ display: inline-flex;
377
+ align-items: center;
378
+ gap: 0.4rem;
379
+ margin-bottom: -1px;
380
+ padding: 0.5rem 0.875rem;
381
+ border: 1px solid transparent;
382
+ border-radius: 0.375rem 0.375rem 0 0;
383
+ background: transparent;
384
+ color: var(
385
+ --filter-table-muted,
386
+ var(--text-secondary, light-dark(#616161, #9b9da5))
387
+ );
388
+ font: inherit;
389
+ cursor: pointer;
390
+ }
391
+
392
+ .filter-table-tab:hover {
393
+ background: transparent;
394
+ color: inherit;
395
+ }
396
+
397
+ .filter-table-tab[aria-selected="true"] {
398
+ border-color: var(
399
+ --filter-table-border,
400
+ var(--border, light-dark(#d0d0d0, #3a3e45))
401
+ )
402
+ var(--filter-table-border, var(--border, light-dark(#d0d0d0, #3a3e45)))
403
+ transparent;
404
+ background: var(
405
+ --filter-table-bg,
406
+ var(--surface, light-dark(#ffffff, #1d2024))
407
+ );
408
+ color: inherit;
409
+ font-weight: 600;
410
+ }
411
+
412
+ .filter-table-badge {
413
+ min-width: 1.25rem;
414
+ padding: 0.05rem 0.4rem;
415
+ border-radius: 999px;
416
+ background: var(
417
+ --filter-table-accent,
418
+ var(--primary, light-dark(#1a66d6, #6ea8fe))
419
+ );
420
+ color: light-dark(#ffffff, #10141a);
421
+ font-size: 0.75em;
422
+ font-weight: 600;
423
+ text-align: center;
424
+ }
425
+
426
+ .filter-table-toolbar {
427
+ display: flex;
428
+ flex-wrap: wrap;
429
+ align-items: center;
430
+ gap: 0.5rem;
431
+ }
432
+
433
+ .filter-table-input {
434
+ box-sizing: border-box;
435
+ width: 100%;
436
+ padding: 0.375rem 0.5rem;
437
+ border: 1px solid
438
+ var(--filter-table-border, var(--border, light-dark(#d0d0d0, #3a3e45)));
439
+ border-radius: 0.375rem;
440
+ background: var(
441
+ --filter-table-bg,
442
+ var(--surface, light-dark(#ffffff, #1d2024))
443
+ );
444
+ color: inherit;
445
+ font: inherit;
446
+ }
447
+
448
+ .filter-table-search {
449
+ position: relative;
450
+ flex: 0 1 16rem;
451
+ min-width: 10rem;
452
+ }
453
+
454
+ .filter-table-search .filter-table-input {
455
+ padding-left: 1.9rem;
456
+ }
457
+
458
+ .filter-table-search-icon {
459
+ position: absolute;
460
+ top: 50%;
461
+ left: 0.55rem;
462
+ transform: translateY(-50%);
463
+ color: var(
464
+ --filter-table-muted,
465
+ var(--text-secondary, light-dark(#616161, #9b9da5))
466
+ );
467
+ pointer-events: none;
468
+ }
469
+
470
+ .filter-table-pills,
471
+ .filter-table-chips {
472
+ display: flex;
473
+ flex-wrap: wrap;
474
+ gap: 0.375rem;
475
+ margin: 0;
476
+ padding: 0;
477
+ list-style: none;
478
+ }
479
+
480
+ .filter-table-pill,
481
+ .filter-table-chip {
482
+ display: inline-flex;
483
+ align-items: center;
484
+ gap: 0.3rem;
485
+ padding: 0.2rem 0.55rem;
486
+ border: 1px solid transparent;
487
+ border-radius: 999px;
488
+ background: var(
489
+ --filter-table-pill-bg,
490
+ light-dark(rgb(26 102 214 / 12%), rgb(110 168 254 / 16%))
491
+ );
492
+ color: var(
493
+ --filter-table-accent,
494
+ var(--primary, light-dark(#1a66d6, #6ea8fe))
495
+ );
496
+ font: inherit;
497
+ font-size: 0.8125rem;
498
+ line-height: 1.4;
499
+ }
500
+
501
+ .filter-table-pill {
502
+ cursor: pointer;
503
+ }
504
+
505
+ .filter-table-pill:hover {
506
+ border-color: currentColor;
507
+ background: var(
508
+ --filter-table-pill-bg,
509
+ light-dark(rgb(26 102 214 / 12%), rgb(110 168 254 / 16%))
510
+ );
511
+ }
512
+
513
+ .filter-table-pill-clear {
514
+ background: transparent;
515
+ color: var(
516
+ --filter-table-muted,
517
+ var(--text-secondary, light-dark(#616161, #9b9da5))
518
+ );
519
+ }
520
+
521
+ .filter-table-pill-clear:hover {
522
+ background: transparent;
523
+ }
524
+
525
+ .filter-table-chip-remove {
526
+ display: inline-flex;
527
+ padding: 0;
528
+ border: none;
529
+ background: transparent;
530
+ color: inherit;
531
+ cursor: pointer;
532
+ }
533
+
534
+ .filter-table-chip-remove:hover {
535
+ background: transparent;
536
+ }
537
+
538
+ .filter-table-multi {
539
+ display: grid;
540
+ gap: 0.375rem;
541
+ min-width: 0;
542
+ }
543
+
544
+ .filter-table-form {
545
+ /* Label column width and gap; group headings are indented by both so they
546
+ line up with the inputs. */
547
+ --filter-table-label-width: 9rem;
548
+ --filter-table-label-gap: 1rem;
549
+ display: grid;
550
+ gap: 1.25rem;
551
+ max-width: 40rem;
552
+ }
553
+
554
+ /* Groups are plain sections: a muted heading, separated by a thin rule. */
555
+ .filter-table-fieldset {
556
+ display: grid;
557
+ gap: 0.5rem;
558
+ min-width: 0;
559
+ margin: 0;
560
+ padding: 0;
561
+ border: none;
562
+ }
563
+
564
+ .filter-table-fieldset + .filter-table-fieldset {
565
+ padding-top: 1.25rem;
566
+ border-top: 1px solid
567
+ var(--filter-table-border, var(--border, light-dark(#d0d0d0, #3a3e45)));
568
+ }
569
+
570
+ /* Floated so it lays out as a regular grid item instead of on the border. */
571
+ .filter-table-legend {
572
+ float: left;
573
+ width: 100%;
574
+ margin-bottom: 0.25rem;
575
+ padding: 0 0 0
576
+ calc(var(--filter-table-label-width) + var(--filter-table-label-gap));
577
+ box-sizing: border-box;
578
+ color: var(
579
+ --filter-table-muted,
580
+ var(--text-secondary, light-dark(#616161, #9b9da5))
581
+ );
582
+ font-size: 0.75rem;
583
+ font-weight: 600;
584
+ letter-spacing: 0.04em;
585
+ text-transform: uppercase;
586
+ }
587
+
588
+ /* Labels right-aligned in a column next to their inputs. */
589
+ .filter-table-field {
590
+ display: grid;
591
+ grid-template-columns: var(--filter-table-label-width) minmax(0, 1fr);
592
+ align-items: start;
593
+ gap: var(--filter-table-label-gap);
594
+ }
595
+
596
+ .filter-table-label {
597
+ padding-top: calc(0.375rem + 1px);
598
+ }
599
+
600
+ .filter-table-form-actions {
601
+ display: flex;
602
+ justify-content: flex-end;
603
+ padding-top: 1.25rem;
604
+ border-top: 1px solid
605
+ var(--filter-table-border, var(--border, light-dark(#d0d0d0, #3a3e45)));
606
+ gap: 0.5rem;
607
+ }
608
+
609
+ .filter-table-button {
610
+ display: inline-flex;
611
+ align-items: center;
612
+ gap: 0.375rem;
613
+ }
614
+
615
+ .filter-table-button-primary {
616
+ border-color: var(
617
+ --filter-table-accent,
618
+ var(--primary, light-dark(#1a66d6, #6ea8fe))
619
+ );
620
+ background: var(
621
+ --filter-table-accent,
622
+ var(--primary, light-dark(#1a66d6, #6ea8fe))
623
+ );
624
+ color: light-dark(#ffffff, #10141a);
625
+ font-weight: 600;
626
+ }
627
+
628
+ .filter-table-button-primary:hover {
629
+ filter: brightness(1.1);
630
+ background: var(
631
+ --filter-table-accent,
632
+ var(--primary, light-dark(#1a66d6, #6ea8fe))
633
+ );
634
+ }
635
+
636
+ @media (max-width: 640px) {
637
+ .filter-table-field {
638
+ grid-template-columns: 1fr;
639
+ gap: 0.25rem;
640
+ }
641
+
642
+ .filter-table-label {
643
+ padding-top: 0;
644
+ }
645
+
646
+ .filter-table-legend {
647
+ padding-left: 0;
648
+ }
649
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serkonda7/solid-components",
3
- "version": "0.0.7",
3
+ "version": "0.1.0",
4
4
  "description": "Reusable components for SolidJS",
5
5
  "license": "MIT",
6
6
  "author": "serkonda7",
@@ -39,19 +39,18 @@
39
39
  },
40
40
  "packageManager": "bun@1.4.2",
41
41
  "peerDependencies": {
42
- "@tabler/icons-solidjs": ">=3.0.0",
43
42
  "solid-js": ">=1.9.0"
44
43
  },
45
44
  "devDependencies": {
46
- "@biomejs/biome": "2.5.14",
47
- "@tabler/icons-solidjs": "~3.48.0",
45
+ "@biomejs/biome": "2.5.15",
46
+ "@tabler/icons-solidjs": "~3.49.0",
48
47
  "@types/bun": "1.4.2",
49
- "@vitest/browser-playwright": "^5.0.2",
50
- "playwright": "~1.63.0",
51
- "solid-js": "~1.9.15",
48
+ "@vitest/browser-playwright": "~5.0.4",
49
+ "playwright": "~1.64.0",
50
+ "solid-js": "~1.9.17",
52
51
  "typescript": "~7.0.2",
53
- "vite": "~8.3.0",
52
+ "vite": "~8.3.4",
54
53
  "vite-plugin-solid": "~2.11.14",
55
- "vitest": "~5.0.2"
54
+ "vitest": "~5.0.4"
56
55
  }
57
56
  }