@spaced-out/ui-design-system 0.6.9 → 0.6.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
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.6.10](https://github.com/spaced-out/ui-design-system/compare/v0.6.9...v0.6.10) (2026-04-13)
6
+
7
+
8
+ ### Features
9
+
10
+ * rating prop in Progressdonut, responsiveness in Pagination ([#474](https://github.com/spaced-out/ui-design-system/issues/474)) ([0516ad4](https://github.com/spaced-out/ui-design-system/commit/0516ad4ba28995df31c3427cdfc8da15dae3e6ab))
11
+
5
12
  ### [0.6.9](https://github.com/spaced-out/ui-design-system/compare/v0.6.8...v0.6.9) (2026-04-10)
6
13
 
7
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAerD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,UAAU,GACV,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CACT,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,KAClC,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CACR;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,EAC5B,MAAM,mBAAmB,GAAG,MAAM;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAC,CAC5D,EACD,mBAAmB;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAC7C,eAAe,EACf,cAAc,CA8Gf,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAgBrD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,UAAU,GACV,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CACT,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,KAClC,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CACR;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,EAC5B,MAAM,mBAAmB,GAAG,MAAM;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAC,CAC5D,EACD,mBAAmB;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAC7C,eAAe,EACf,cAAc,CAoIf,CAAC"}
@@ -10,6 +10,7 @@ var _useWindowSize = require("../../hooks/useWindowSize");
10
10
  var _classify = _interopRequireDefault(require("../../utils/classify"));
11
11
  var _helpers = require("../../utils/helpers");
12
12
  var _qa = require("../../utils/qa");
13
+ var _string = require("../../utils/string");
13
14
  var _Dropdown = require("../Dropdown");
14
15
  var _PaginationItem = require("./PaginationItem");
15
16
  var _Text = require("../Text");
@@ -18,12 +19,12 @@ var _jsxRuntime = require("react/jsx-runtime");
18
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
20
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
21
  const LARGE_LIST_DROPDOWN_OPTIONS = 50;
21
- const TABLET_SCREEN_SIZE = 640;
22
+ const COMPACT_BREAKPOINT = 500;
22
23
  const Pagination = exports.Pagination = /*#__PURE__*/React.forwardRef((props, ref) => {
23
24
  const {
24
25
  width
25
26
  } = (0, _useWindowSize.useWindowSize)();
26
- const showExtraSecPaginationButtons = width > TABLET_SCREEN_SIZE;
27
+ const isCompact = width <= COMPACT_BREAKPOINT;
27
28
  const {
28
29
  classNames,
29
30
  style = 'primary',
@@ -31,13 +32,15 @@ const Pagination = exports.Pagination = /*#__PURE__*/React.forwardRef((props, re
31
32
  currentPage = 1,
32
33
  totalPages = 1,
33
34
  onChange,
34
- showFirstButton = style !== 'primary' && showExtraSecPaginationButtons,
35
- showLastButton = style !== 'primary' && showExtraSecPaginationButtons,
35
+ showFirstButton = style !== 'primary' && !isCompact,
36
+ showLastButton = style !== 'primary' && !isCompact,
36
37
  staticPaginationLabel,
37
38
  testId,
38
39
  ...restPaginationProps
39
40
  } = props;
40
- const showPageSelectionDropDown = style !== 'primary' && showExtraSecPaginationButtons;
41
+ const isNotPrimary = style !== 'primary';
42
+ const showPageSelectionDropDown = isNotPrimary && !isCompact;
43
+ const showChildren = !(style === 'primary' && isCompact);
41
44
  const {
42
45
  items
43
46
  } = (0, _usePagination.usePagination)({
@@ -63,8 +66,10 @@ const Pagination = exports.Pagination = /*#__PURE__*/React.forwardRef((props, re
63
66
  base: testId,
64
67
  slot: 'root'
65
68
  }),
66
- className: (0, _classify.default)(_PaginationModule.default.wrapper, classNames?.wrapper),
67
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
+ className: (0, _classify.default)(_PaginationModule.default.wrapper, {
70
+ [_PaginationModule.default.wrapperCompact]: style === 'primary' && isCompact
71
+ }, classNames?.wrapper),
72
+ children: [showChildren && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
73
  className: (0, _classify.default)(_PaginationModule.default.childrenSlot, classNames?.children),
69
74
  "data-testid": (0, _qa.generateTestId)({
70
75
  base: testId,
@@ -77,7 +82,7 @@ const Pagination = exports.Pagination = /*#__PURE__*/React.forwardRef((props, re
77
82
  base: testId,
78
83
  slot: 'paginator-slots'
79
84
  }),
80
- children: [style === 'secondary' && showPageSelectionDropDown && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
85
+ children: [isNotPrimary && showPageSelectionDropDown && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
81
86
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.Dropdown, {
82
87
  size: "small",
83
88
  classNames: {
@@ -105,8 +110,16 @@ const Pagination = exports.Pagination = /*#__PURE__*/React.forwardRef((props, re
105
110
  base: testId,
106
111
  slot: 'label'
107
112
  }),
108
- children: staticPaginationLabel ? staticPaginationLabel : `of ${totalPages} ${totalPages > 1 ? 'Pages' : 'Page'}`
113
+ children: staticPaginationLabel ? staticPaginationLabel : `of ${totalPages} ${(0, _string.formatWord)('Page', totalPages)}`
109
114
  })]
115
+ }), isNotPrimary && isCompact && !!totalPages && !!currentPage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.SubTitleExtraSmall, {
116
+ color: "tertiary",
117
+ className: _PaginationModule.default.secondaryLabel,
118
+ testId: (0, _qa.generateTestId)({
119
+ base: testId,
120
+ slot: 'label'
121
+ }),
122
+ children: staticPaginationLabel ? staticPaginationLabel : `${currentPage} of ${totalPages} ${(0, _string.formatWord)('Page', totalPages)}`
110
123
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
124
  className: (0, _classify.default)(_PaginationModule.default.paginatorSlot, classNames?.paginator),
112
125
  "data-testid": (0, _qa.generateTestId)({
@@ -10,6 +10,10 @@
10
10
  justify-content: space-between;
11
11
  }
12
12
 
13
+ .wrapperCompact {
14
+ justify-content: center;
15
+ }
16
+
13
17
  .childrenSlot {
14
18
  display: flex;
15
19
  }
@@ -21,6 +25,7 @@
21
25
 
22
26
  .paginatorSlots {
23
27
  display: flex;
28
+ align-items: center;
24
29
  gap: spaceSmall;
25
30
  }
26
31
 
@@ -4,12 +4,18 @@ type ClassNames = Readonly<{
4
4
  wrapper?: string;
5
5
  donutChart?: string;
6
6
  }>;
7
- export interface ProgressDonutProps {
7
+ export type ProgressDonutProps = {
8
8
  classNames?: ClassNames;
9
9
  color?: keyof typeof COLORS;
10
- percentage: number;
10
+ size?: 'small' | 'medium';
11
11
  testId?: string;
12
- }
12
+ } & ({
13
+ percentage?: number;
14
+ rating?: never;
15
+ } | {
16
+ rating: number;
17
+ percentage?: never;
18
+ });
13
19
  export declare const ProgressDonut: Flow.AbstractComponent<ProgressDonutProps, HTMLDivElement>;
14
20
  export {};
15
21
  //# sourceMappingURL=ProgressDonut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressDonut.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressDonut/ProgressDonut.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAkBtD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD,eAAO,MAAM,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAChD,kBAAkB,EAClB,cAAc,CAuEf,CAAC"}
1
+ {"version":3,"file":"ProgressDonut.d.ts","sourceRoot":"","sources":["../../../src/components/ProgressDonut/ProgressDonut.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAuBtD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,CACA;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAC,GACrC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAC,CACvC,CAAC;AAcF,eAAO,MAAM,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAChD,kBAAkB,EAClB,cAAc,CAsGf,CAAC"}
@@ -13,14 +13,24 @@ var _ProgressDonutModule = _interopRequireDefault(require("./ProgressDonut.modul
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
- const STROKE_WIDTH = 8;
17
16
  const MIN_PERCENTAGE = 0;
18
17
  const DIVISOR_TWO = 2;
19
18
  const MAX_PERCENTAGE = 100;
19
+ const MAX_RATING = 10;
20
+ const MIN_RATING = 0;
20
21
  const SUCCESS_THRESHOLD = 80;
21
- const LARGE_DONUT_SIZE = 72;
22
22
  const INFO_THRESHOLD = 50;
23
23
  const WARNING_THRESHOLD = 30;
24
+ const DONUT_CONFIG = {
25
+ small: {
26
+ size: 34,
27
+ strokeWidth: 4
28
+ },
29
+ medium: {
30
+ size: 72,
31
+ strokeWidth: 8
32
+ }
33
+ };
24
34
  const getProgressDonutColor = percentage => {
25
35
  if (percentage >= SUCCESS_THRESHOLD) {
26
36
  return COLORS.colorSuccess;
@@ -35,15 +45,29 @@ const getProgressDonutColor = percentage => {
35
45
  const ProgressDonut = exports.ProgressDonut = /*#__PURE__*/React.forwardRef((_ref, ref) => {
36
46
  let {
37
47
  classNames,
38
- percentage = 0,
48
+ percentage,
49
+ rating,
39
50
  color,
51
+ size = 'medium',
40
52
  testId
41
53
  } = _ref;
42
- const donutPercentage = React.useMemo(() => Math.min(Math.max(percentage, MIN_PERCENTAGE), MAX_PERCENTAGE), [percentage]);
54
+ const clampedRating = rating != null ? Math.min(Math.max(Math.round(rating), MIN_RATING), MAX_RATING) : undefined;
55
+ const donutPercentage = React.useMemo(() => {
56
+ if (clampedRating != null) {
57
+ return clampedRating / MAX_RATING * MAX_PERCENTAGE;
58
+ }
59
+ return Math.min(Math.max(percentage ?? 0, MIN_PERCENTAGE), MAX_PERCENTAGE);
60
+ }, [percentage, clampedRating]);
43
61
  const donutColor = React.useMemo(() => getProgressDonutColor(donutPercentage), [donutPercentage]);
44
- const radius = React.useMemo(() => (LARGE_DONUT_SIZE - STROKE_WIDTH) / DIVISOR_TWO, [LARGE_DONUT_SIZE]);
62
+ const {
63
+ size: donutSize,
64
+ strokeWidth
65
+ } = DONUT_CONFIG[size];
66
+ const radius = React.useMemo(() => (donutSize - strokeWidth) / DIVISOR_TWO, [donutSize, strokeWidth]);
45
67
  const circumference = React.useMemo(() => DIVISOR_TWO * Math.PI * radius, [radius]);
46
68
  const offset = React.useMemo(() => circumference - donutPercentage / MAX_PERCENTAGE * circumference, [circumference, donutPercentage]);
69
+ const displayValue = clampedRating != null ? `${clampedRating}` : `${donutPercentage}%`;
70
+ const TextComponent = size === 'small' ? _Text.BodyMediumBold : _Text.BodyLargeBold;
47
71
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
72
  ref: ref,
49
73
  "data-testid": (0, _qa.generateTestId)({
@@ -54,34 +78,36 @@ const ProgressDonut = exports.ProgressDonut = /*#__PURE__*/React.forwardRef((_re
54
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
55
79
  className: (0, _classify.default)(_ProgressDonutModule.default.donutChart, classNames?.donutChart),
56
80
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
57
- width: LARGE_DONUT_SIZE,
58
- height: LARGE_DONUT_SIZE,
59
- viewBox: `0 0 ${LARGE_DONUT_SIZE} ${LARGE_DONUT_SIZE}`,
81
+ width: donutSize,
82
+ height: donutSize,
83
+ viewBox: `0 0 ${donutSize} ${donutSize}`,
60
84
  className: _ProgressDonutModule.default.donutChartSvg,
61
85
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
62
86
  className: _ProgressDonutModule.default.donutChartBackground,
63
- cx: LARGE_DONUT_SIZE / DIVISOR_TWO,
64
- cy: LARGE_DONUT_SIZE / DIVISOR_TWO,
87
+ cx: donutSize / DIVISOR_TWO,
88
+ cy: donutSize / DIVISOR_TWO,
65
89
  r: radius,
66
- strokeWidth: STROKE_WIDTH
90
+ strokeWidth: strokeWidth
67
91
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
68
92
  className: _ProgressDonutModule.default.donutChartForeground,
69
- cx: LARGE_DONUT_SIZE / DIVISOR_TWO,
70
- cy: LARGE_DONUT_SIZE / DIVISOR_TWO,
93
+ cx: donutSize / DIVISOR_TWO,
94
+ cy: donutSize / DIVISOR_TWO,
71
95
  r: radius,
72
- strokeWidth: STROKE_WIDTH,
96
+ strokeWidth: strokeWidth,
73
97
  strokeDasharray: circumference,
74
98
  strokeDashoffset: donutPercentage === MIN_PERCENTAGE ? circumference : offset,
75
99
  stroke: COLORS[color || ''] || donutColor,
76
100
  strokeLinecap: "round"
77
101
  })]
78
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.BodyLargeBold, {
79
- className: _ProgressDonutModule.default.donutChartPercentage,
102
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextComponent, {
103
+ className: (0, _classify.default)(_ProgressDonutModule.default.donutChartPercentage, {
104
+ [_ProgressDonutModule.default.donutChartPercentageSmallPercent]: size === 'small' && rating == null
105
+ }),
80
106
  testId: (0, _qa.generateTestId)({
81
107
  base: testId,
82
108
  slot: 'percentage'
83
109
  }),
84
- children: `${donutPercentage}%`
110
+ children: displayValue
85
111
  })]
86
112
  })
87
113
  });
@@ -2,6 +2,7 @@
2
2
  borderRadiusSmall
3
3
  ) from '../../styles/variables/_border.css';
4
4
  @value (spaceHalfFluid, spaceNegHalfFluid) from '../../styles/variables/_space.css';
5
+ @value (fontSize10) from '../../styles/variables/_font.css';
5
6
  @value (size10, size20, sizeFluid) from
6
7
  '../../styles/variables/_size.css';
7
8
  @value (
@@ -41,3 +42,7 @@
41
42
  .donutChartPercentage {
42
43
  position: absolute;
43
44
  }
45
+
46
+ .donutChartPercentageSmallPercent {
47
+ font-size: fontSize10;
48
+ }
package/mcp/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaced-out/genesis-mcp",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "description": "MCP server for Genesis UI Design System - provides AI assistants with access to components, hooks, and design tokens",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spaced-out/ui-design-system",
3
- "version": "0.6.9",
3
+ "version": "0.6.10",
4
4
  "description": "Sense UI components library",
5
5
  "author": {
6
6
  "name": "Spaced Out"