@grandbazar/ui-baza 1.0.3 → 1.0.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.
package/dist/style.css CHANGED
@@ -178,10 +178,14 @@ select {
178
178
  --color-neutral: #111217;
179
179
  --color-neutral-920: color-mix(in srgb, var(--color-neutral) 92.1%, var(--color-white) 7.9%);
180
180
  --color-neutral-880: color-mix(in srgb, var(--color-neutral) 87.8%, var(--color-white) 12.2%);
181
+ --color-neutral-300: color-mix(in srgb, var(--color-neutral) 29%, var(--color-white) 71%);
181
182
  --color-neutral-340: color-mix(in srgb, var(--color-neutral) 34%, var(--color-white) 66%);
183
+ --color-neutral-540: color-mix(in srgb, var(--color-neutral) 54.2%, var(--color-white) 45.8%);
182
184
 
183
185
  --color-neutral-alpha-40: color-mix(in srgb, var(--color-neutral) 4%, var(--color-transparent));
184
186
  --color-neutral-alpha-60: color-mix(in srgb, var(--color-neutral) 6%, var(--color-transparent));
187
+ --color-neutral-alpha-80: color-mix(in srgb, var(--color-neutral) 8%, var(--color-transparent));
188
+ --color-neutral-alpha-100: color-mix(in srgb, var(--color-neutral) 10%, var(--color-transparent));
185
189
  --color-neutral-alpha-120: color-mix(in srgb, var(--color-neutral) 12%, var(--color-transparent));
186
190
  --color-neutral-alpha-140: color-mix(in srgb, var(--color-neutral) 14%, var(--color-transparent));
187
191
 
@@ -215,6 +219,7 @@ select {
215
219
  --radius-image-xs: 10px;
216
220
  --radius-image-2xs: 8px;
217
221
  --radius-image-3xs: 6px;
222
+ --radius-full: 9999px;
218
223
 
219
224
  --size-xs: 12px;
220
225
  --size-sm: 14px;
@@ -243,21 +248,96 @@ select {
243
248
  --space-6xl: 32px;
244
249
  --space-7xl: 40px;
245
250
 
246
- --transition-timing-function-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
251
+ --font-weight-regular: 400;
252
+ --font-weight-medium: 500;
253
+ --font-weight-bold: 600;
254
+
247
255
  --transition-duration-default: 0.15s;
256
+
257
+ --aspect-ratio-square: 1 / 1;
258
+ }
259
+ }
260
+ @layer ui_baza_components {
261
+ ._badgeTabsItem_1lept_2 {
262
+ --badge-tabs-item-border-width: 2px;
263
+
264
+ display: flex;
265
+ align-items: center;
266
+ justify-content: center;
267
+ border-radius: var(--radius-md);
268
+ font-weight: var(--font-weight-medium);
269
+ font-size: var(--size-sm);
270
+ line-height: var(--line-height-md);
271
+ cursor: pointer;
272
+ transition: all var(--transition-duration-default) ease-in-out;
273
+
274
+ &:hover {
275
+ background-color: var(--color-neutral-alpha-40);
276
+ }
277
+
278
+ &._primary_1lept_19 {
279
+ padding: var(--space-sm);
280
+ color: var(--color-neutral-540);
281
+
282
+ &[aria-selected='true'] {
283
+ background-color: var(--color-accent);
284
+ color: var(--color-white);
285
+
286
+ &:hover {
287
+ background-color: var(--color-accent-900);
288
+ }
289
+
290
+ &:disabled {
291
+ background-color: var(--color-neutral-alpha-60);
292
+ color: var(--color-neutral-340);
293
+ }
294
+ }
295
+ }
296
+
297
+ &._secondary_1lept_38 {
298
+ padding: calc(var(--space-sm) - var(--badge-tabs-item-border-width));
299
+ border: var(--badge-tabs-item-border-width) solid var(--color-transparent);
300
+ color: var(--color-neutral);
301
+
302
+ &[aria-selected='true'] {
303
+ border-color: var(--color-accent);
304
+
305
+ &:hover {
306
+ border-color: var(--color-accent-900);
307
+ background-color: var(--color-transparent);
308
+ }
309
+
310
+ &:disabled {
311
+ border-color: var(--color-neutral-alpha-120);
312
+ color: var(--color-neutral-340);
313
+ }
314
+ }
315
+ }
316
+
317
+ &:disabled {
318
+ color: var(--color-neutral-340);
319
+ }
248
320
  }
249
321
  }
250
322
  @layer ui_baza_components {
251
- ._button_i0j1o_2 {
323
+ ._badgeTabsRoot_1qkat_2 {
324
+ display: flex;
325
+ position: relative;
326
+ align-items: center;
327
+ gap: var(--space-md);
328
+ }
329
+ }
330
+ @layer ui_baza_components {
331
+ ._button_a42bo_2 {
252
332
  display: inline-flex;
253
333
  align-items: center;
254
334
  justify-content: center;
255
335
  gap: var(--space-2xl);
256
336
  cursor: pointer;
257
- transition: all var(--transition-duration-default) var(--transition-timing-function-ease-in-out);
337
+ transition: all var(--transition-duration-default) ease-in-out;
258
338
 
259
- &._accent_i0j1o_10 {
260
- &._primary_i0j1o_11 {
339
+ &._accent_a42bo_10 {
340
+ &._primary_a42bo_11 {
261
341
  background-color: var(--color-accent);
262
342
  color: var(--color-white);
263
343
 
@@ -275,7 +355,7 @@ select {
275
355
  }
276
356
  }
277
357
 
278
- &._secondary_i0j1o_29 {
358
+ &._secondary_a42bo_29 {
279
359
  background-color: var(--color-accent-alpha-100);
280
360
  color: var(--color-accent);
281
361
 
@@ -293,7 +373,7 @@ select {
293
373
  }
294
374
  }
295
375
 
296
- &._tertiary_i0j1o_47 {
376
+ &._tertiary_a42bo_47 {
297
377
  background-color: var(--color-transparent);
298
378
  color: var(--color-accent);
299
379
 
@@ -312,8 +392,8 @@ select {
312
392
  }
313
393
  }
314
394
 
315
- &._neutral_i0j1o_66 {
316
- &._primary_i0j1o_11 {
395
+ &._neutral_a42bo_66 {
396
+ &._primary_a42bo_11 {
317
397
  background-color: var(--color-neutral);
318
398
  color: var(--color-white);
319
399
 
@@ -331,7 +411,7 @@ select {
331
411
  }
332
412
  }
333
413
 
334
- &._secondary_i0j1o_29 {
414
+ &._secondary_a42bo_29 {
335
415
  background-color: var(--color-neutral-alpha-60);
336
416
  color: var(--color-neutral);
337
417
 
@@ -349,7 +429,7 @@ select {
349
429
  }
350
430
  }
351
431
 
352
- &._tertiary_i0j1o_47 {
432
+ &._tertiary_a42bo_47 {
353
433
  background-color: var(--color-transparent);
354
434
  color: var(--color-neutral);
355
435
 
@@ -368,28 +448,428 @@ select {
368
448
  }
369
449
  }
370
450
 
371
- &._lg_i0j1o_122 {
451
+ &._lg_a42bo_122 {
372
452
  min-height: calc(var(--line-height-lg) + var(--space-2xl) * 2);
373
453
  padding: var(--space-2xl);
374
- border-radius: var(--radius-xl);
454
+ border-radius: var(--radius-2xl);
375
455
  font-size: var(--size-md);
376
456
  line-height: var(--line-height-lg);
377
457
  }
378
458
 
379
- &._md_i0j1o_130 {
459
+ &._md_a42bo_130 {
380
460
  min-height: calc(var(--line-height-lg) + var(--space-lg) * 2);
381
461
  padding: var(--space-lg);
382
- border-radius: var(--radius-lg);
462
+ border-radius: var(--radius-xl);
383
463
  font-size: var(--size-md);
384
464
  line-height: var(--line-height-lg);
385
465
  }
386
466
 
387
- &._sm_i0j1o_138 {
467
+ &._sm_a42bo_138 {
388
468
  min-height: calc(var(--line-height-md) + var(--space-sm) * 2);
389
469
  padding: var(--space-sm);
470
+ border-radius: var(--radius-lg);
471
+ font-size: var(--size-sm);
472
+ line-height: var(--line-height-md);
473
+ }
474
+ }
475
+ }
476
+ @layer ui_baza_components {
477
+ ._checkboxWrapper_k1shg_2 {
478
+ --checkbox-size: 24px;
479
+ --checkbox-icon-size: 20px;
480
+
481
+ display: inline-flex;
482
+ position: relative;
483
+ align-items: center;
484
+ gap: var(--space-md);
485
+ color: var(--color-neutral);
486
+ font-weight: var(--font-weight-medium);
487
+ font-size: var(--size-md);
488
+ line-height: var(--line-height-lg);
489
+ cursor: pointer;
490
+ transition: color var(--transition-duration-default) ease-in-out;
491
+
492
+ &[data-disabled='true'] {
493
+ color: var(--color-neutral-340);
494
+ pointer-events: none;
495
+ }
496
+ }
497
+
498
+ ._icon_k1shg_23 {
499
+ position: absolute;
500
+ top: calc((var(--checkbox-size) - var(--checkbox-icon-size)) / 2);
501
+ left: calc((var(--checkbox-size) - var(--checkbox-icon-size)) / 2);
502
+
503
+ width: var(--checkbox-icon-size);
504
+ height: var(--checkbox-icon-size);
505
+ color: var(--color-white);
506
+
507
+ &[data-disabled='true'] {
508
+ color: var(--color-neutral-300);
509
+ }
510
+ }
511
+
512
+ ._checkbox_k1shg_2 {
513
+ width: var(--checkbox-size);
514
+ height: var(--checkbox-size);
515
+ padding: var(--space-2xs);
516
+ border-radius: var(--radius-sm);
517
+ background-color: var(--color-neutral-alpha-100);
518
+ cursor: pointer;
519
+ transition: all var(--transition-duration-default) ease-in-out;
520
+
521
+ &[data-state='checked'],
522
+ &[data-state='indeterminate'] {
523
+ background-color: var(--color-accent);
524
+ }
525
+
526
+ &:hover {
527
+ background-color: var(--color-neutral-alpha-120);
528
+
529
+ &[data-state='checked'],
530
+ &[data-state='indeterminate'] {
531
+ background-color: var(--color-accent-900);
532
+ }
533
+ }
534
+
535
+ &:disabled {
536
+ background-color: var(--color-neutral-alpha-100);
537
+ }
538
+ }
539
+ }
540
+ @layer ui_baza_components {
541
+ ._paginationItem_1ll6p_2 {
542
+ display: flex;
543
+ align-items: center;
544
+ justify-content: center;
545
+ aspect-ratio: var(--aspect-ratio-square);
546
+ color: var(--color-neutral);
547
+ font-weight: var(--font-weight-medium);
548
+ text-align: center;
549
+ cursor: pointer;
550
+
551
+ &:hover,
552
+ &:active,
553
+ &:disabled {
554
+ transition: all var(--transition-duration-default) ease-in-out;
555
+ }
556
+
557
+ &[aria-current='page'] {
558
+ background-color: var(--color-neutral-alpha-60);
559
+ }
560
+
561
+ &:hover {
562
+ background-color: var(--color-neutral-alpha-40);
563
+
564
+ &[aria-current='page'] {
565
+ background-color: var(--color-neutral-alpha-80);
566
+ }
567
+ }
568
+
569
+ &:active {
570
+ background-color: var(--color-neutral-alpha-60);
571
+
572
+ &[aria-current='page'] {
573
+ background-color: var(--color-neutral-alpha-100);
574
+ }
575
+ }
576
+
577
+ &:disabled {
578
+ color: var(--color-neutral-340);
579
+
580
+ &[aria-current='page'] {
581
+ background-color: var(--color-neutral-alpha-60);
582
+ }
583
+ }
584
+
585
+ &._md_1ll6p_46 {
586
+ min-height: calc(var(--line-height-lg) + var(--space-lg) * 2);
587
+ padding-top: var(--space-lg);
588
+ padding-bottom: var(--space-lg);
589
+ border-radius: var(--radius-lg);
590
+ font-size: var(--size-md);
591
+ line-height: var(--line-height-lg);
592
+
593
+ & svg {
594
+ width: var(--line-height-lg);
595
+ height: var(--line-height-lg);
596
+ }
597
+ }
598
+
599
+ &._sm_1ll6p_60 {
600
+ min-height: calc(var(--line-height-md) + var(--space-sm) * 2);
601
+ padding-top: var(--space-sm);
602
+ padding-bottom: var(--space-sm);
390
603
  border-radius: var(--radius-md);
391
604
  font-size: var(--size-sm);
392
605
  line-height: var(--line-height-md);
606
+
607
+ & svg {
608
+ width: var(--line-height-md);
609
+ height: var(--line-height-md);
610
+ }
611
+ }
612
+ }
613
+ }
614
+ @layer ui_baza_components {
615
+ ._paginationRoot_c5fwx_2 {
616
+ display: flex;
617
+ align-items: center;
618
+ }
619
+
620
+ ._paginationList_c5fwx_7 {
621
+ display: flex;
622
+ align-items: center;
623
+ gap: var(--space-2xs);
624
+ }
625
+
626
+ ._arrowLeft_c5fwx_13 {
627
+ transform: rotate(180deg);
628
+ }
629
+ }
630
+ @layer ui_baza_components {
631
+ ._radioWrapper_13xie_2 {
632
+ --radio-size: 24px;
633
+
634
+ display: inline-flex;
635
+ position: relative;
636
+ align-items: center;
637
+ gap: var(--space-md);
638
+ color: var(--color-neutral);
639
+ font-weight: var(--font-weight-medium);
640
+ font-size: var(--size-md);
641
+ line-height: var(--line-height-lg);
642
+ cursor: pointer;
643
+ transition: color var(--transition-duration-default) ease-in-out;
644
+
645
+ &[data-disabled='true'] {
646
+ color: var(--color-neutral-340);
647
+ pointer-events: none;
648
+ }
649
+ }
650
+
651
+ ._radio_13xie_2 {
652
+ display: flex;
653
+ align-items: center;
654
+ justify-content: center;
655
+ width: var(--radio-size);
656
+ height: var(--radio-size);
657
+ padding: var(--space-2xs);
658
+ border-radius: var(--radius-full);
659
+ background-color: var(--color-neutral-alpha-100);
660
+ cursor: pointer;
661
+ transition: all var(--transition-duration-default) ease-in-out;
662
+
663
+ &::after {
664
+ display: block;
665
+ width: 50%;
666
+ height: 50%;
667
+ scale: 0;
668
+ border-radius: var(--radius-full);
669
+ background-color: var(--color-white);
670
+ content: '';
671
+ opacity: 0;
672
+ transition: all var(--transition-duration-default) ease-in-out;
673
+ }
674
+
675
+ &:checked {
676
+ background-color: var(--color-accent);
677
+
678
+ &::after {
679
+ scale: 1;
680
+ opacity: 1;
681
+ }
682
+ }
683
+
684
+ &:hover {
685
+ background-color: var(--color-neutral-alpha-120);
686
+
687
+ &:checked {
688
+ background-color: var(--color-accent-900);
689
+ }
690
+ }
691
+
692
+ &:disabled {
693
+ background-color: var(--color-neutral-alpha-100);
694
+ }
695
+ }
696
+ }
697
+ @layer ui_baza_components {
698
+ ._switchWrapper_1yukb_2 {
699
+ --switch-height: 24px;
700
+ --switch-width: 44px;
701
+ --switch-icon-size: 20px;
702
+ --switch-thumb-size: calc(var(--switch-height) - var(--space-xs) * 2);
703
+
704
+ display: inline-flex;
705
+ position: relative;
706
+ align-items: center;
707
+ gap: var(--space-md);
708
+ color: var(--color-neutral);
709
+ font-weight: var(--font-weight-medium);
710
+ font-size: var(--size-md);
711
+ line-height: var(--line-height-lg);
712
+ cursor: pointer;
713
+ transition: color var(--transition-duration-default) ease-in-out;
714
+
715
+ &[data-disabled='true'] {
716
+ color: var(--color-neutral-340);
717
+ pointer-events: none;
393
718
  }
394
719
  }
720
+
721
+ ._icon_1yukb_25 {
722
+ position: absolute;
723
+ top: calc((var(--switch-height) - var(--switch-icon-size)) / 2);
724
+ left: calc((var(--switch-width) - var(--switch-icon-size)) / 2);
725
+ width: var(--switch-icon-size);
726
+ height: var(--switch-icon-size);
727
+ color: var(--color-white);
728
+
729
+ &[data-disabled='true'] {
730
+ color: var(--color-neutral-300);
731
+ }
732
+ }
733
+
734
+ ._switch_1yukb_2 {
735
+ width: var(--switch-width);
736
+ height: var(--switch-height);
737
+ border-radius: var(--radius-full);
738
+ background-color: var(--color-neutral-alpha-100);
739
+ cursor: pointer;
740
+ transition: all var(--transition-duration-default) ease-in-out;
741
+
742
+ &::after {
743
+ display: block;
744
+ position: absolute;
745
+ top: var(--space-xs);
746
+ left: var(--space-xs);
747
+ width: var(--switch-thumb-size);
748
+ height: var(--switch-thumb-size);
749
+ border-radius: var(--radius-full);
750
+ background-color: var(--color-white);
751
+ content: '';
752
+ transition: all var(--transition-duration-default) ease-in-out;
753
+ }
754
+
755
+ &[data-state='checked'] {
756
+ &::after {
757
+ left: calc(var(--switch-width) - var(--switch-thumb-size) - var(--space-xs));
758
+ }
759
+ }
760
+
761
+ &[data-state='indeterminate'] {
762
+ &::after {
763
+ scale: 0.1;
764
+ opacity: 0;
765
+ }
766
+ }
767
+
768
+ &[data-state='checked'],
769
+ &[data-state='indeterminate'] {
770
+ background-color: var(--color-accent);
771
+ }
772
+
773
+ &:hover {
774
+ background-color: var(--color-neutral-alpha-120);
775
+
776
+ &[data-state='checked'],
777
+ &[data-state='indeterminate'] {
778
+ background-color: var(--color-accent-900);
779
+ }
780
+ }
781
+
782
+ &:disabled {
783
+ background-color: var(--color-neutral-alpha-100);
784
+
785
+ &::after {
786
+ background-color: var(--color-neutral-300);
787
+ }
788
+ }
789
+ }
790
+ }
791
+ @layer ui_baza_components {
792
+ ._tabsItem_beca6_2 {
793
+ --tabs-item-active-indicator-height: 2px;
794
+
795
+ display: flex;
796
+ position: relative;
797
+ align-items: center;
798
+ justify-content: center;
799
+ padding-top: var(--space-lg);
800
+ padding-bottom: var(--space-lg);
801
+ color: var(--color-neutral-540);
802
+ font-weight: var(--font-weight-medium);
803
+ font-size: var(--size-md);
804
+ line-height: var(--line-height-lg);
805
+ cursor: pointer;
806
+ transition: all var(--transition-duration-default) ease-in-out;
807
+
808
+ &::after {
809
+ display: block;
810
+ position: absolute;
811
+ bottom: 0;
812
+ width: 100%;
813
+ height: var(--tabs-item-active-indicator-height);
814
+ background-color: var(--color-transparent);
815
+ content: '';
816
+ transition: all var(--transition-duration-default) ease-in-out;
817
+ }
818
+
819
+ &[aria-selected='true'] {
820
+ color: var(--color-neutral);
821
+ }
822
+
823
+ &[aria-selected='true']::after,
824
+ &:hover::after {
825
+ background-color: var(--color-accent);
826
+ }
827
+
828
+ &:disabled::after {
829
+ background-color: var(--color-transparent);
830
+ color: var(--color-neutral-340);
831
+ }
832
+
833
+ &:disabled {
834
+ color: var(--color-neutral-340);
835
+ }
836
+ }
837
+ }
838
+ @layer ui_baza_components {
839
+ @keyframes _showAfterDelay_1os90_1 {
840
+ to {
841
+ opacity: 1;
842
+ }
843
+ }
844
+
845
+ ._tabsRoot_1os90_8 {
846
+ --tabs-active-indicator-height: 2px;
847
+ --tabs-border-height: 1px;
848
+ --show-after-delay-animation: _showAfterDelay_1os90_1 calc(var(--transition-duration-default) * 10) forwards;
849
+
850
+ display: flex;
851
+ position: relative;
852
+ align-items: center;
853
+ gap: var(--space-md);
854
+
855
+ &::after {
856
+ display: block;
857
+ position: absolute;
858
+ bottom: 0;
859
+ width: 100%;
860
+ height: var(--tabs-border-height);
861
+ background-color: var(--color-neutral-alpha-120);
862
+ content: '';
863
+ }
864
+ }
865
+
866
+ ._indicator_1os90_29 {
867
+ position: absolute;
868
+ bottom: 0;
869
+ height: var(--tabs-active-indicator-height);
870
+ background-color: var(--color-accent);
871
+ animation: var(--show-after-delay-animation);
872
+ opacity: 0;
873
+ transition: all var(--transition-duration-default) ease-in-out;
874
+ }
395
875
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grandbazar/ui-baza",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "A lightweight and modular UI kit for building modern, accessible web interfaces. Designed for flexibility, scalability, and developer happiness.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -66,6 +66,7 @@
66
66
  "devDependencies": {
67
67
  "@eslint/compat": "^1.3.2",
68
68
  "@eslint/js": "^9.35.0",
69
+ "@storybook/addon-a11y": "^9.1.5",
69
70
  "@storybook/addon-docs": "^9.1.5",
70
71
  "@storybook/react-vite": "^9.1.5",
71
72
  "@testing-library/jest-dom": "^6.8.0",
@@ -80,6 +81,7 @@
80
81
  "eslint-config-prettier": "^10.1.8",
81
82
  "eslint-import-resolver-typescript": "^4.4.4",
82
83
  "eslint-plugin-import": "^2.32.0",
84
+ "eslint-plugin-jsx-a11y": "^6.10.2",
83
85
  "eslint-plugin-react": "^7.37.5",
84
86
  "eslint-plugin-react-hooks": "^5.2.0",
85
87
  "eslint-plugin-react-refresh": "^0.4.20",