@grandbazar/ui-baza 1.7.0 → 1.7.1

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/index.cjs CHANGED
@@ -51,21 +51,21 @@ function omit(object, ...keys) {
51
51
  return Object.fromEntries(filteredEntries);
52
52
  }
53
53
 
54
- const badge = "_badge_x6ia4_2";
55
- const primary$4 = "_primary_x6ia4_9";
56
- const secondary$5 = "_secondary_x6ia4_13";
57
- const glass$1 = "_glass_x6ia4_18";
58
- const accent$5 = "_accent_x6ia4_23";
59
- const violet = "_violet_x6ia4_28";
60
- const pink = "_pink_x6ia4_33";
61
- const red$1 = "_red_x6ia4_38";
62
- const orange = "_orange_x6ia4_43";
63
- const green$1 = "_green_x6ia4_48";
64
- const neutral$3 = "_neutral_x6ia4_54";
65
- const lg$7 = "_lg_x6ia4_59";
66
- const md$a = "_md_x6ia4_66";
67
- const sm$5 = "_sm_x6ia4_73";
68
- const pill$2 = "_pill_x6ia4_80";
54
+ const badge = "_badge_7i4v4_2";
55
+ const primary$4 = "_primary_7i4v4_9";
56
+ const secondary$5 = "_secondary_7i4v4_13";
57
+ const glass$1 = "_glass_7i4v4_18";
58
+ const accent$5 = "_accent_7i4v4_23";
59
+ const violet = "_violet_7i4v4_28";
60
+ const pink = "_pink_7i4v4_33";
61
+ const red$1 = "_red_7i4v4_38";
62
+ const orange = "_orange_7i4v4_43";
63
+ const green = "_green_7i4v4_48";
64
+ const neutral$3 = "_neutral_7i4v4_53";
65
+ const lg$8 = "_lg_7i4v4_58";
66
+ const md$a = "_md_7i4v4_65";
67
+ const sm$5 = "_sm_7i4v4_72";
68
+ const pill$2 = "_pill_7i4v4_79";
69
69
  const styles$E = {
70
70
  badge: badge,
71
71
  primary: primary$4,
@@ -76,9 +76,9 @@ const styles$E = {
76
76
  pink: pink,
77
77
  red: red$1,
78
78
  orange: orange,
79
- green: green$1,
79
+ green: green,
80
80
  neutral: neutral$3,
81
- lg: lg$7,
81
+ lg: lg$8,
82
82
  md: md$a,
83
83
  sm: sm$5,
84
84
  pill: pill$2
@@ -1318,8 +1318,8 @@ const secondary$3 = "_secondary_11nu9_31";
1318
1318
  const tertiary = "_tertiary_11nu9_49";
1319
1319
  const line = "_line_11nu9_50";
1320
1320
  const neutral$2 = "_neutral_11nu9_79";
1321
- const white$2 = "_white_11nu9_146";
1322
- const lg$6 = "_lg_11nu9_213";
1321
+ const white$3 = "_white_11nu9_146";
1322
+ const lg$7 = "_lg_11nu9_213";
1323
1323
  const md$9 = "_md_11nu9_222";
1324
1324
  const sm$4 = "_sm_11nu9_240";
1325
1325
  const pill$1 = "_pill_11nu9_249";
@@ -1334,8 +1334,8 @@ const styles$z = {
1334
1334
  tertiary: tertiary,
1335
1335
  line: line,
1336
1336
  neutral: neutral$2,
1337
- white: white$2,
1338
- lg: lg$6,
1337
+ white: white$3,
1338
+ lg: lg$7,
1339
1339
  md: md$9,
1340
1340
  "md-sm": "_md-sm_11nu9_231",
1341
1341
  sm: sm$4,
@@ -1348,13 +1348,13 @@ const styles$z = {
1348
1348
  const buttonFunction = "_buttonFunction_o8iku_2";
1349
1349
  const accent$3 = "_accent_o8iku_10";
1350
1350
  const neutral$1 = "_neutral_o8iku_22";
1351
- const lg$5 = "_lg_o8iku_41";
1351
+ const lg$6 = "_lg_o8iku_41";
1352
1352
  const md$8 = "_md_o8iku_46";
1353
1353
  const styles$y = {
1354
1354
  buttonFunction: buttonFunction,
1355
1355
  accent: accent$3,
1356
1356
  neutral: neutral$1,
1357
- lg: lg$5,
1357
+ lg: lg$6,
1358
1358
  md: md$8
1359
1359
  };
1360
1360
 
@@ -1440,13 +1440,13 @@ function Checkbox({ className, label, indeterminate, ...props }) {
1440
1440
 
1441
1441
  const chip = "_chip_1i1br_2";
1442
1442
  const glass = "_glass_1i1br_36";
1443
- const white$1 = "_white_1i1br_59";
1443
+ const white$2 = "_white_1i1br_59";
1444
1444
  const pill = "_pill_1i1br_67";
1445
1445
  const icon$2 = "_icon_1i1br_71";
1446
1446
  const styles$w = {
1447
1447
  chip: chip,
1448
1448
  glass: glass,
1449
- white: white$1,
1449
+ white: white$2,
1450
1450
  pill: pill,
1451
1451
  icon: icon$2
1452
1452
  };
@@ -1487,22 +1487,22 @@ function Chip({
1487
1487
  }
1488
1488
 
1489
1489
  const root$1 = "_root_ww0fb_2";
1490
- const lg$4 = "_lg_ww0fb_16";
1490
+ const lg$5 = "_lg_ww0fb_16";
1491
1491
  const md$7 = "_md_ww0fb_24";
1492
1492
  const red = "_red_ww0fb_32";
1493
1493
  const accent$2 = "_accent_ww0fb_37";
1494
1494
  const neutral = "_neutral_ww0fb_42";
1495
1495
  const secondary$2 = "_secondary_ww0fb_47";
1496
- const white = "_white_ww0fb_52";
1496
+ const white$1 = "_white_ww0fb_52";
1497
1497
  const styles$v = {
1498
1498
  root: root$1,
1499
- lg: lg$4,
1499
+ lg: lg$5,
1500
1500
  md: md$7,
1501
1501
  red: red,
1502
1502
  accent: accent$2,
1503
1503
  neutral: neutral,
1504
1504
  secondary: secondary$2,
1505
- white: white
1505
+ white: white$1
1506
1506
  };
1507
1507
 
1508
1508
  function Counter({ className, size = "lg", color = "red", ...props }) {
@@ -2616,16 +2616,22 @@ function Pagination(props) {
2616
2616
  }
2617
2617
  Pagination.Item = PaginationItem;
2618
2618
 
2619
- const root = "_root_1lyc4_2";
2620
- const segment = "_segment_1lyc4_10";
2621
- const flexGrow = "_flexGrow_1lyc4_19";
2622
- const fill$1 = "_fill_1lyc4_23";
2623
- const trail = "_trail_1lyc4_28";
2624
- const xs = "_xs_1lyc4_32";
2625
- const sm$2 = "_sm_1lyc4_36";
2626
- const md$5 = "_md_1lyc4_40";
2627
- const accent = "_accent_1lyc4_44";
2628
- const green = "_green_1lyc4_48";
2619
+ const root = "_root_1dvnf_2";
2620
+ const segment = "_segment_1dvnf_10";
2621
+ const flexGrow = "_flexGrow_1dvnf_19";
2622
+ const fill$1 = "_fill_1dvnf_23";
2623
+ const trail = "_trail_1dvnf_28";
2624
+ const xs = "_xs_1dvnf_32";
2625
+ const sm$2 = "_sm_1dvnf_36";
2626
+ const md$5 = "_md_1dvnf_40";
2627
+ const accent = "_accent_1dvnf_44";
2628
+ const white = "_white_1dvnf_48";
2629
+ const ring = "_ring_1dvnf_55";
2630
+ const ringSvg = "_ringSvg_1dvnf_68";
2631
+ const ringTrack = "_ringTrack_1dvnf_76";
2632
+ const ringFill = "_ringFill_1dvnf_81";
2633
+ const ringLabel = "_ringLabel_1dvnf_88";
2634
+ const lg$4 = "_lg_1dvnf_102";
2629
2635
  const styles$l = {
2630
2636
  root: root,
2631
2637
  segment: segment,
@@ -2636,7 +2642,13 @@ const styles$l = {
2636
2642
  sm: sm$2,
2637
2643
  md: md$5,
2638
2644
  accent: accent,
2639
- green: green
2645
+ white: white,
2646
+ ring: ring,
2647
+ ringSvg: ringSvg,
2648
+ ringTrack: ringTrack,
2649
+ ringFill: ringFill,
2650
+ ringLabel: ringLabel,
2651
+ lg: lg$4
2640
2652
  };
2641
2653
 
2642
2654
  function ProgressBarLinear({
@@ -2676,6 +2688,56 @@ function ProgressBarLinear({
2676
2688
  );
2677
2689
  }
2678
2690
 
2691
+ const PROGRESS_RING_STROKE_WIDTHS = {
2692
+ sm: 12,
2693
+ md: 11,
2694
+ lg: 9.5
2695
+ };
2696
+
2697
+ function ProgressBarRing({
2698
+ className,
2699
+ size = "md",
2700
+ color = "accent",
2701
+ percent,
2702
+ children,
2703
+ ...props
2704
+ }) {
2705
+ const clampedPercent = Math.min(100, Math.max(0, percent));
2706
+ const strokeWidth = PROGRESS_RING_STROKE_WIDTHS[size];
2707
+ const radius = 50 - strokeWidth / 2;
2708
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2709
+ "div",
2710
+ {
2711
+ className: classNames(styles$l.ring, styles$l[size], styles$l[color], className),
2712
+ role: "progressbar",
2713
+ "aria-valuenow": clampedPercent,
2714
+ "aria-valuemin": 0,
2715
+ "aria-valuemax": 100,
2716
+ "aria-valuetext": `${clampedPercent} percent complete`,
2717
+ "aria-label": "Progress",
2718
+ ...props,
2719
+ children: [
2720
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: styles$l.ringSvg, viewBox: "0 0 100 100", "aria-hidden": "true", children: [
2721
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { className: styles$l.ringTrack, cx: "50", cy: "50", r: radius, strokeWidth }),
2722
+ Boolean(clampedPercent) && /* @__PURE__ */ jsxRuntime.jsx(
2723
+ "circle",
2724
+ {
2725
+ className: styles$l.ringFill,
2726
+ cx: "50",
2727
+ cy: "50",
2728
+ r: radius,
2729
+ strokeWidth,
2730
+ pathLength: 100,
2731
+ strokeDasharray: `${clampedPercent} 100`
2732
+ }
2733
+ )
2734
+ ] }),
2735
+ children && /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles$l.ringLabel, children })
2736
+ ]
2737
+ }
2738
+ );
2739
+ }
2740
+
2679
2741
  function ProgressBarSteps({
2680
2742
  className,
2681
2743
  size = "md",
@@ -2717,6 +2779,7 @@ function ProgressBar(props) {
2717
2779
  return /* @__PURE__ */ jsxRuntime.jsx(ProgressBarLinear, { ...props });
2718
2780
  }
2719
2781
  ProgressBar.Steps = ProgressBarSteps;
2782
+ ProgressBar.Ring = ProgressBarRing;
2720
2783
 
2721
2784
  const radioWrapper = "_radioWrapper_13xie_2";
2722
2785
  const radio = "_radio_13xie_2";
package/dist/index.d.ts CHANGED
@@ -495,16 +495,18 @@ declare function PaginationItem({ className, children, size, isCurrent, ...props
495
495
 
496
496
  declare function PaginationRoot({ totalPages, currentPage, size, maxVisiblePages, showArrows, className, onPageChange, renderItem: PaginationItem, renderIconChevron: IconChevron, renderEllipsis: Ellipsis, ...props }: TPaginationRootProps): JSX.Element;
497
497
 
498
- declare const PROGRESS_BAR_COLORS: readonly ["accent", "green"];
498
+ declare const PROGRESS_BAR_COLORS: readonly ["accent", "white"];
499
499
 
500
500
  declare const PROGRESS_BAR_SIZES: readonly ["sm", "md", "xs"];
501
501
 
502
+ declare const PROGRESS_RING_SIZES: readonly ["sm", "md", "lg"];
503
+
502
504
  /**
503
505
  * ProgressBar is a compound component for displaying progress indicators.
504
506
  * Provides flexible building blocks for linear and step-based progress visualization.
505
507
  *
506
508
  * @param size - Size variant of the progress bar (sm, md, xs)
507
- * @param color - Fill color (accent, green); the track stays the same
509
+ * @param color - Fill color (accent, white); white sits on a white-alpha track for dark and accent surfaces
508
510
  * @param percent - Progress percentage (0-100)
509
511
  * @param showFillOnZero - Whether to render the fill segment at 0%
510
512
  * @param className - Additional CSS classes
@@ -513,15 +515,20 @@ declare const PROGRESS_BAR_SIZES: readonly ["sm", "md", "xs"];
513
515
  * <ProgressBar percent={50} size="md" />
514
516
  *
515
517
  * <ProgressBar.Steps currentStep={2} totalSteps={5} />
518
+ *
519
+ * <ProgressBar.Ring percent={60}>3/5</ProgressBar.Ring>
516
520
  */
517
521
  export declare function ProgressBar(props: React.ComponentProps<typeof ProgressBarLinear>): JSX.Element;
518
522
 
519
523
  export declare namespace ProgressBar {
520
524
  var Steps: typeof ProgressBarSteps;
525
+ var Ring: typeof ProgressBarRing;
521
526
  }
522
527
 
523
528
  declare function ProgressBarLinear({ className, size, color, percent, showFillOnZero, ...props }: TProgressBarLinearProps): JSX.Element;
524
529
 
530
+ declare function ProgressBarRing({ className, size, color, percent, children, ...props }: TProgressBarRingProps): JSX.Element;
531
+
525
532
  declare function ProgressBarSteps({ className, size, color, currentStep, totalSteps, ...props }: TProgressBarStepsProps): JSX.Element;
526
533
 
527
534
  /**
@@ -991,6 +998,12 @@ declare type TProgressBarLinearProps = Omit<React.HTMLAttributes<HTMLDivElement>
991
998
  showFillOnZero?: boolean;
992
999
  };
993
1000
 
1001
+ declare type TProgressBarRingProps = React.HTMLAttributes<HTMLDivElement> & {
1002
+ size?: TArrayElement<typeof PROGRESS_RING_SIZES>;
1003
+ color?: TArrayElement<typeof PROGRESS_BAR_COLORS>;
1004
+ percent: number;
1005
+ };
1006
+
994
1007
  declare type TProgressBarStepsProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {
995
1008
  size?: TArrayElement<typeof PROGRESS_BAR_SIZES>;
996
1009
  color?: TArrayElement<typeof PROGRESS_BAR_COLORS>;
package/dist/index.js CHANGED
@@ -47,21 +47,21 @@ function omit(object, ...keys) {
47
47
  return Object.fromEntries(filteredEntries);
48
48
  }
49
49
 
50
- const badge = "_badge_x6ia4_2";
51
- const primary$4 = "_primary_x6ia4_9";
52
- const secondary$5 = "_secondary_x6ia4_13";
53
- const glass$1 = "_glass_x6ia4_18";
54
- const accent$5 = "_accent_x6ia4_23";
55
- const violet = "_violet_x6ia4_28";
56
- const pink = "_pink_x6ia4_33";
57
- const red$1 = "_red_x6ia4_38";
58
- const orange = "_orange_x6ia4_43";
59
- const green$1 = "_green_x6ia4_48";
60
- const neutral$3 = "_neutral_x6ia4_54";
61
- const lg$7 = "_lg_x6ia4_59";
62
- const md$a = "_md_x6ia4_66";
63
- const sm$5 = "_sm_x6ia4_73";
64
- const pill$2 = "_pill_x6ia4_80";
50
+ const badge = "_badge_7i4v4_2";
51
+ const primary$4 = "_primary_7i4v4_9";
52
+ const secondary$5 = "_secondary_7i4v4_13";
53
+ const glass$1 = "_glass_7i4v4_18";
54
+ const accent$5 = "_accent_7i4v4_23";
55
+ const violet = "_violet_7i4v4_28";
56
+ const pink = "_pink_7i4v4_33";
57
+ const red$1 = "_red_7i4v4_38";
58
+ const orange = "_orange_7i4v4_43";
59
+ const green = "_green_7i4v4_48";
60
+ const neutral$3 = "_neutral_7i4v4_53";
61
+ const lg$8 = "_lg_7i4v4_58";
62
+ const md$a = "_md_7i4v4_65";
63
+ const sm$5 = "_sm_7i4v4_72";
64
+ const pill$2 = "_pill_7i4v4_79";
65
65
  const styles$E = {
66
66
  badge: badge,
67
67
  primary: primary$4,
@@ -72,9 +72,9 @@ const styles$E = {
72
72
  pink: pink,
73
73
  red: red$1,
74
74
  orange: orange,
75
- green: green$1,
75
+ green: green,
76
76
  neutral: neutral$3,
77
- lg: lg$7,
77
+ lg: lg$8,
78
78
  md: md$a,
79
79
  sm: sm$5,
80
80
  pill: pill$2
@@ -1314,8 +1314,8 @@ const secondary$3 = "_secondary_11nu9_31";
1314
1314
  const tertiary = "_tertiary_11nu9_49";
1315
1315
  const line = "_line_11nu9_50";
1316
1316
  const neutral$2 = "_neutral_11nu9_79";
1317
- const white$2 = "_white_11nu9_146";
1318
- const lg$6 = "_lg_11nu9_213";
1317
+ const white$3 = "_white_11nu9_146";
1318
+ const lg$7 = "_lg_11nu9_213";
1319
1319
  const md$9 = "_md_11nu9_222";
1320
1320
  const sm$4 = "_sm_11nu9_240";
1321
1321
  const pill$1 = "_pill_11nu9_249";
@@ -1330,8 +1330,8 @@ const styles$z = {
1330
1330
  tertiary: tertiary,
1331
1331
  line: line,
1332
1332
  neutral: neutral$2,
1333
- white: white$2,
1334
- lg: lg$6,
1333
+ white: white$3,
1334
+ lg: lg$7,
1335
1335
  md: md$9,
1336
1336
  "md-sm": "_md-sm_11nu9_231",
1337
1337
  sm: sm$4,
@@ -1344,13 +1344,13 @@ const styles$z = {
1344
1344
  const buttonFunction = "_buttonFunction_o8iku_2";
1345
1345
  const accent$3 = "_accent_o8iku_10";
1346
1346
  const neutral$1 = "_neutral_o8iku_22";
1347
- const lg$5 = "_lg_o8iku_41";
1347
+ const lg$6 = "_lg_o8iku_41";
1348
1348
  const md$8 = "_md_o8iku_46";
1349
1349
  const styles$y = {
1350
1350
  buttonFunction: buttonFunction,
1351
1351
  accent: accent$3,
1352
1352
  neutral: neutral$1,
1353
- lg: lg$5,
1353
+ lg: lg$6,
1354
1354
  md: md$8
1355
1355
  };
1356
1356
 
@@ -1436,13 +1436,13 @@ function Checkbox({ className, label, indeterminate, ...props }) {
1436
1436
 
1437
1437
  const chip = "_chip_1i1br_2";
1438
1438
  const glass = "_glass_1i1br_36";
1439
- const white$1 = "_white_1i1br_59";
1439
+ const white$2 = "_white_1i1br_59";
1440
1440
  const pill = "_pill_1i1br_67";
1441
1441
  const icon$2 = "_icon_1i1br_71";
1442
1442
  const styles$w = {
1443
1443
  chip: chip,
1444
1444
  glass: glass,
1445
- white: white$1,
1445
+ white: white$2,
1446
1446
  pill: pill,
1447
1447
  icon: icon$2
1448
1448
  };
@@ -1483,22 +1483,22 @@ function Chip({
1483
1483
  }
1484
1484
 
1485
1485
  const root$1 = "_root_ww0fb_2";
1486
- const lg$4 = "_lg_ww0fb_16";
1486
+ const lg$5 = "_lg_ww0fb_16";
1487
1487
  const md$7 = "_md_ww0fb_24";
1488
1488
  const red = "_red_ww0fb_32";
1489
1489
  const accent$2 = "_accent_ww0fb_37";
1490
1490
  const neutral = "_neutral_ww0fb_42";
1491
1491
  const secondary$2 = "_secondary_ww0fb_47";
1492
- const white = "_white_ww0fb_52";
1492
+ const white$1 = "_white_ww0fb_52";
1493
1493
  const styles$v = {
1494
1494
  root: root$1,
1495
- lg: lg$4,
1495
+ lg: lg$5,
1496
1496
  md: md$7,
1497
1497
  red: red,
1498
1498
  accent: accent$2,
1499
1499
  neutral: neutral,
1500
1500
  secondary: secondary$2,
1501
- white: white
1501
+ white: white$1
1502
1502
  };
1503
1503
 
1504
1504
  function Counter({ className, size = "lg", color = "red", ...props }) {
@@ -2612,16 +2612,22 @@ function Pagination(props) {
2612
2612
  }
2613
2613
  Pagination.Item = PaginationItem;
2614
2614
 
2615
- const root = "_root_1lyc4_2";
2616
- const segment = "_segment_1lyc4_10";
2617
- const flexGrow = "_flexGrow_1lyc4_19";
2618
- const fill$1 = "_fill_1lyc4_23";
2619
- const trail = "_trail_1lyc4_28";
2620
- const xs = "_xs_1lyc4_32";
2621
- const sm$2 = "_sm_1lyc4_36";
2622
- const md$5 = "_md_1lyc4_40";
2623
- const accent = "_accent_1lyc4_44";
2624
- const green = "_green_1lyc4_48";
2615
+ const root = "_root_1dvnf_2";
2616
+ const segment = "_segment_1dvnf_10";
2617
+ const flexGrow = "_flexGrow_1dvnf_19";
2618
+ const fill$1 = "_fill_1dvnf_23";
2619
+ const trail = "_trail_1dvnf_28";
2620
+ const xs = "_xs_1dvnf_32";
2621
+ const sm$2 = "_sm_1dvnf_36";
2622
+ const md$5 = "_md_1dvnf_40";
2623
+ const accent = "_accent_1dvnf_44";
2624
+ const white = "_white_1dvnf_48";
2625
+ const ring = "_ring_1dvnf_55";
2626
+ const ringSvg = "_ringSvg_1dvnf_68";
2627
+ const ringTrack = "_ringTrack_1dvnf_76";
2628
+ const ringFill = "_ringFill_1dvnf_81";
2629
+ const ringLabel = "_ringLabel_1dvnf_88";
2630
+ const lg$4 = "_lg_1dvnf_102";
2625
2631
  const styles$l = {
2626
2632
  root: root,
2627
2633
  segment: segment,
@@ -2632,7 +2638,13 @@ const styles$l = {
2632
2638
  sm: sm$2,
2633
2639
  md: md$5,
2634
2640
  accent: accent,
2635
- green: green
2641
+ white: white,
2642
+ ring: ring,
2643
+ ringSvg: ringSvg,
2644
+ ringTrack: ringTrack,
2645
+ ringFill: ringFill,
2646
+ ringLabel: ringLabel,
2647
+ lg: lg$4
2636
2648
  };
2637
2649
 
2638
2650
  function ProgressBarLinear({
@@ -2672,6 +2684,56 @@ function ProgressBarLinear({
2672
2684
  );
2673
2685
  }
2674
2686
 
2687
+ const PROGRESS_RING_STROKE_WIDTHS = {
2688
+ sm: 12,
2689
+ md: 11,
2690
+ lg: 9.5
2691
+ };
2692
+
2693
+ function ProgressBarRing({
2694
+ className,
2695
+ size = "md",
2696
+ color = "accent",
2697
+ percent,
2698
+ children,
2699
+ ...props
2700
+ }) {
2701
+ const clampedPercent = Math.min(100, Math.max(0, percent));
2702
+ const strokeWidth = PROGRESS_RING_STROKE_WIDTHS[size];
2703
+ const radius = 50 - strokeWidth / 2;
2704
+ return /* @__PURE__ */ jsxs(
2705
+ "div",
2706
+ {
2707
+ className: classNames(styles$l.ring, styles$l[size], styles$l[color], className),
2708
+ role: "progressbar",
2709
+ "aria-valuenow": clampedPercent,
2710
+ "aria-valuemin": 0,
2711
+ "aria-valuemax": 100,
2712
+ "aria-valuetext": `${clampedPercent} percent complete`,
2713
+ "aria-label": "Progress",
2714
+ ...props,
2715
+ children: [
2716
+ /* @__PURE__ */ jsxs("svg", { className: styles$l.ringSvg, viewBox: "0 0 100 100", "aria-hidden": "true", children: [
2717
+ /* @__PURE__ */ jsx("circle", { className: styles$l.ringTrack, cx: "50", cy: "50", r: radius, strokeWidth }),
2718
+ Boolean(clampedPercent) && /* @__PURE__ */ jsx(
2719
+ "circle",
2720
+ {
2721
+ className: styles$l.ringFill,
2722
+ cx: "50",
2723
+ cy: "50",
2724
+ r: radius,
2725
+ strokeWidth,
2726
+ pathLength: 100,
2727
+ strokeDasharray: `${clampedPercent} 100`
2728
+ }
2729
+ )
2730
+ ] }),
2731
+ children && /* @__PURE__ */ jsx("span", { className: styles$l.ringLabel, children })
2732
+ ]
2733
+ }
2734
+ );
2735
+ }
2736
+
2675
2737
  function ProgressBarSteps({
2676
2738
  className,
2677
2739
  size = "md",
@@ -2713,6 +2775,7 @@ function ProgressBar(props) {
2713
2775
  return /* @__PURE__ */ jsx(ProgressBarLinear, { ...props });
2714
2776
  }
2715
2777
  ProgressBar.Steps = ProgressBarSteps;
2778
+ ProgressBar.Ring = ProgressBarRing;
2716
2779
 
2717
2780
  const radioWrapper = "_radioWrapper_13xie_2";
2718
2781
  const radio = "_radio_13xie_2";
package/dist/style.css CHANGED
@@ -298,7 +298,6 @@ textarea {
298
298
  --color-orange-alpha-100: color-mix(in srgb, var(--color-orange) 10%, var(--color-transparent));
299
299
 
300
300
  --color-green: #00d06f;
301
- --color-green-900: color-mix(in srgb, var(--color-green) 55%, var(--color-neutral));
302
301
  --color-green-alpha-500: color-mix(in srgb, var(--color-green) 50%, var(--color-transparent));
303
302
  --color-green-alpha-100: color-mix(in srgb, var(--color-green) 10%, var(--color-transparent));
304
303
 
@@ -371,85 +370,84 @@ textarea {
371
370
  }
372
371
  }
373
372
  @layer ui_baza_components {
374
- ._badge_x6ia4_2 {
373
+ ._badge_7i4v4_2 {
375
374
  display: flex;
376
375
  align-items: center;
377
376
  justify-content: center;
378
377
  color: var(--color-white);
379
378
  font-weight: var(--font-weight-bold);
380
379
 
381
- &._primary_x6ia4_9 {
380
+ &._primary_7i4v4_9 {
382
381
  background-color: var(--badge-color);
383
382
  }
384
383
 
385
- &._secondary_x6ia4_13 {
384
+ &._secondary_7i4v4_13 {
386
385
  background-color: var(--badge-color-alpha);
387
- color: var(--badge-color-on-alpha, var(--badge-color));
386
+ color: var(--badge-color);
388
387
  }
389
388
 
390
- &._glass_x6ia4_18 {
389
+ &._glass_7i4v4_18 {
391
390
  background-color: var(--color-white-alpha-200);
392
391
  color: var(--color-white);
393
392
  }
394
393
 
395
- &._accent_x6ia4_23 {
394
+ &._accent_7i4v4_23 {
396
395
  --badge-color: var(--color-accent);
397
396
  --badge-color-alpha: var(--color-accent-alpha-100);
398
397
  }
399
398
 
400
- &._violet_x6ia4_28 {
399
+ &._violet_7i4v4_28 {
401
400
  --badge-color: var(--color-violet);
402
401
  --badge-color-alpha: var(--color-violet-alpha-100);
403
402
  }
404
403
 
405
- &._pink_x6ia4_33 {
404
+ &._pink_7i4v4_33 {
406
405
  --badge-color: var(--color-pink);
407
406
  --badge-color-alpha: var(--color-pink-alpha-100);
408
407
  }
409
408
 
410
- &._red_x6ia4_38 {
409
+ &._red_7i4v4_38 {
411
410
  --badge-color: var(--color-red);
412
411
  --badge-color-alpha: var(--color-red-alpha-100);
413
412
  }
414
413
 
415
- &._orange_x6ia4_43 {
414
+ &._orange_7i4v4_43 {
416
415
  --badge-color: var(--color-orange);
417
416
  --badge-color-alpha: var(--color-orange-alpha-100);
418
417
  }
419
418
 
420
- &._green_x6ia4_48 {
419
+ &._green_7i4v4_48 {
421
420
  --badge-color: var(--color-green);
422
421
  --badge-color-alpha: var(--color-green-alpha-100);
423
- --badge-color-on-alpha: var(--color-green-900);
424
422
  }
425
423
 
426
- &._neutral_x6ia4_54 {
424
+ &._neutral_7i4v4_53 {
427
425
  --badge-color: var(--color-neutral);
428
426
  --badge-color-alpha: var(--color-neutral-alpha-60);
429
427
  }
430
428
 
431
- &._lg_x6ia4_59 {
429
+ &._lg_7i4v4_58 {
432
430
  padding: var(--space-sm);
433
431
  border-radius: var(--radius-md);
434
432
  font-size: var(--size-sm);
435
433
  line-height: var(--line-height-md);
436
434
  }
437
435
 
438
- &._md_x6ia4_66 {
436
+ &._md_7i4v4_65 {
439
437
  padding: var(--space-xs);
440
438
  border-radius: var(--radius-sm);
441
439
  font-size: var(--size-xs);
442
440
  line-height: var(--line-height-sm);
443
441
  }
444
442
 
445
- &._sm_x6ia4_73 {
443
+ &._sm_7i4v4_72 {
446
444
  padding: 0 var(--space-lg);
447
445
  border-radius: var(--radius-sm);
448
446
  font-size: var(--size-xs);
449
447
  line-height: var(--line-height-lg);
450
448
  }
451
449
 
452
- &._pill_x6ia4_80 {
450
+ &._pill_7i4v4_79 {
453
451
  border-radius: var(--radius-full);
454
452
  }
455
453
  }
@@ -1512,7 +1510,7 @@ textarea {
1512
1510
  }
1513
1511
  }
1514
1512
  @layer ui_baza_components {
1515
- ._root_1lyc4_2 {
1513
+ ._root_1dvnf_2 {
1516
1514
  display: flex;
1517
1515
  align-items: center;
1518
1516
  width: 100%;
@@ -1520,7 +1518,7 @@ textarea {
1520
1518
  gap: var(--space-xs);
1521
1519
  }
1522
1520
 
1523
- ._segment_1lyc4_10 {
1521
+ ._segment_1dvnf_10 {
1524
1522
  min-width: var(--progress-bar-height);
1525
1523
  height: 100%;
1526
1524
  border-radius: var(--radius-5xl);
@@ -1529,37 +1527,92 @@ textarea {
1529
1527
  width var(--transition-duration-default) ease-in-out;
1530
1528
  }
1531
1529
 
1532
- ._flexGrow_1lyc4_19 {
1530
+ ._flexGrow_1dvnf_19 {
1533
1531
  flex: 1 1 0;
1534
1532
  }
1535
1533
 
1536
- ._fill_1lyc4_23 {
1534
+ ._fill_1dvnf_23 {
1537
1535
  width: var(--clamped-percent);
1538
1536
  background-color: var(--progress-bar-fill-color);
1539
1537
  }
1540
1538
 
1541
- ._trail_1lyc4_28 {
1542
- background-color: var(--color-neutral-alpha-60);
1539
+ ._trail_1dvnf_28 {
1540
+ background-color: var(--progress-bar-trail-color, var(--color-neutral-alpha-60));
1543
1541
  }
1544
1542
 
1545
- ._xs_1lyc4_32 {
1543
+ ._xs_1dvnf_32 {
1546
1544
  --progress-bar-height: 5px;
1547
1545
  }
1548
1546
 
1549
- ._sm_1lyc4_36 {
1547
+ ._sm_1dvnf_36 {
1550
1548
  --progress-bar-height: 8px;
1551
1549
  }
1552
1550
 
1553
- ._md_1lyc4_40 {
1551
+ ._md_1dvnf_40 {
1554
1552
  --progress-bar-height: 12px;
1555
1553
  }
1556
1554
 
1557
- ._accent_1lyc4_44 {
1555
+ ._accent_1dvnf_44 {
1558
1556
  --progress-bar-fill-color: var(--color-accent);
1559
1557
  }
1560
1558
 
1561
- ._green_1lyc4_48 {
1562
- --progress-bar-fill-color: var(--color-green-900);
1559
+ ._white_1dvnf_48 {
1560
+ --progress-bar-fill-color: var(--color-white);
1561
+ --progress-bar-trail-color: var(--color-white-alpha-300);
1562
+ }
1563
+ }
1564
+
1565
+ @layer ui_baza_components {
1566
+ ._ring_1dvnf_55 {
1567
+ display: inline-flex;
1568
+ position: relative;
1569
+ flex-shrink: 0;
1570
+ align-items: center;
1571
+ justify-content: center;
1572
+ width: var(--progress-ring-size);
1573
+ height: var(--progress-ring-size);
1574
+ font-weight: 600;
1575
+ font-size: var(--progress-ring-font-size);
1576
+ line-height: 1;
1577
+ }
1578
+
1579
+ ._ringSvg_1dvnf_68 {
1580
+ position: absolute;
1581
+ width: 100%;
1582
+ height: 100%;
1583
+ inset: 0;
1584
+ transform: rotate(-90deg);
1585
+ }
1586
+
1587
+ ._ringTrack_1dvnf_76 {
1588
+ fill: none;
1589
+ stroke: var(--progress-bar-trail-color, var(--color-neutral-alpha-80));
1590
+ }
1591
+
1592
+ ._ringFill_1dvnf_81 {
1593
+ fill: none;
1594
+ stroke: var(--progress-bar-fill-color);
1595
+ stroke-linecap: round;
1596
+ transition: stroke-dasharray var(--transition-duration-default) ease-in-out;
1597
+ }
1598
+
1599
+ ._ringLabel_1dvnf_88 {
1600
+ position: relative;
1601
+ }
1602
+
1603
+ ._ring_1dvnf_55._sm_1dvnf_36 {
1604
+ --progress-ring-size: 34px;
1605
+ --progress-ring-font-size: 10px;
1606
+ }
1607
+
1608
+ ._ring_1dvnf_55._md_1dvnf_40 {
1609
+ --progress-ring-size: 44px;
1610
+ --progress-ring-font-size: 12px;
1611
+ }
1612
+
1613
+ ._ring_1dvnf_55._lg_1dvnf_102 {
1614
+ --progress-ring-size: 84px;
1615
+ --progress-ring-font-size: 20px;
1563
1616
  }
1564
1617
  }
1565
1618
  @layer ui_baza_components {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grandbazar/ui-baza",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
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",