@manakind/manuia-ui 0.22.0 → 0.24.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.
Files changed (57) hide show
  1. package/README.md +21 -3
  2. package/dist/action-item/action-item.css +7 -0
  3. package/dist/action-item/action-item.d.ts +14 -2
  4. package/dist/action-item/action-item.d.ts.map +1 -1
  5. package/dist/action-item/action-item.js +5 -2
  6. package/dist/action-item/action-item.js.map +1 -1
  7. package/dist/category-card/category-card.css +12 -0
  8. package/dist/category-card/category-card.d.ts +7 -1
  9. package/dist/category-card/category-card.d.ts.map +1 -1
  10. package/dist/category-card/category-card.js +3 -3
  11. package/dist/category-card/category-card.js.map +1 -1
  12. package/dist/category-label/category-label.css +75 -0
  13. package/dist/category-label/category-label.css.d.ts +2 -0
  14. package/dist/category-label/category-label.d.ts +40 -0
  15. package/dist/category-label/category-label.d.ts.map +1 -0
  16. package/dist/category-label/category-label.js +25 -0
  17. package/dist/category-label/category-label.js.map +1 -0
  18. package/dist/category-label/index.d.ts +3 -0
  19. package/dist/category-label/index.d.ts.map +1 -0
  20. package/dist/category-label/index.js +2 -0
  21. package/dist/category-label/index.js.map +1 -0
  22. package/dist/focus-item/focus-item.d.ts +1 -1
  23. package/dist/focus-item/focus-item.d.ts.map +1 -1
  24. package/dist/goal-card/goal-card.d.ts +4 -7
  25. package/dist/goal-card/goal-card.d.ts.map +1 -1
  26. package/dist/goal-card/goal-card.js.map +1 -1
  27. package/dist/goal-categories/goal-categories.css +0 -25
  28. package/dist/goal-categories/goal-categories.d.ts +5 -1
  29. package/dist/goal-categories/goal-categories.d.ts.map +1 -1
  30. package/dist/goal-categories/goal-categories.js +4 -6
  31. package/dist/goal-categories/goal-categories.js.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/item-accent.css +33 -0
  37. package/dist/item-accent.css.d.ts +2 -0
  38. package/dist/item-accent.d.ts +13 -0
  39. package/dist/item-accent.d.ts.map +1 -0
  40. package/dist/item-accent.js +18 -0
  41. package/dist/item-accent.js.map +1 -0
  42. package/dist/milestone-timeline/index.d.ts +3 -0
  43. package/dist/milestone-timeline/index.d.ts.map +1 -0
  44. package/dist/milestone-timeline/index.js +2 -0
  45. package/dist/milestone-timeline/index.js.map +1 -0
  46. package/dist/milestone-timeline/milestone-timeline.css +187 -0
  47. package/dist/milestone-timeline/milestone-timeline.css.d.ts +2 -0
  48. package/dist/milestone-timeline/milestone-timeline.d.ts +100 -0
  49. package/dist/milestone-timeline/milestone-timeline.d.ts.map +1 -0
  50. package/dist/milestone-timeline/milestone-timeline.js +45 -0
  51. package/dist/milestone-timeline/milestone-timeline.js.map +1 -0
  52. package/dist/outcome-item/outcome-item.css +7 -0
  53. package/dist/outcome-item/outcome-item.d.ts +14 -2
  54. package/dist/outcome-item/outcome-item.d.ts.map +1 -1
  55. package/dist/outcome-item/outcome-item.js +5 -2
  56. package/dist/outcome-item/outcome-item.js.map +1 -1
  57. package/package.json +3 -3
package/README.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # `@manakind/manuia-ui`
2
2
 
3
3
  The Manuia-flavored surface of the [Manakind](https://github.com/Humanity-Plus/Manakind)
4
- design system. Today it re-exports the shared base components from
5
- `@manakind/ui-core`; Manuia-specific compositions (cards, flows, layouts unique
6
- to Manuia) will live alongside this barrel as they are built.
4
+ design system. It re-exports the shared base components from
5
+ `@manakind/ui-core` alongside Manuia-specific compositions.
7
6
 
8
7
  Pair it with `@manakind/manuia-tokens`, whose `theme.css` resolves the `--ds-*`
9
8
  contract into Manuia's visual style.
@@ -42,6 +41,25 @@ export function Continue() {
42
41
  }
43
42
  ```
44
43
 
44
+ ## Components
45
+
46
+ The root `@manakind/manuia-ui` export includes:
47
+
48
+ - All shared components, including `Breadcrumb` for ancestor navigation.
49
+ - `CategoryLabel` for one category's name and colour dot or glyph, optionally linked.
50
+ - `GoalCategories` for a list of category labels, with an optional overflow count.
51
+ - `MilestoneTimeline` for a project's start, milestones and end, with progress,
52
+ product-supplied controls and a collapsible ordered list.
53
+ - `ActionItem` and `OutcomeItem` for rows with an optional `eyebrow` above the title
54
+ and a validated `accentColor`. Row styles, including sortable transforms, are preserved.
55
+ - `ActionList`, `CategoryCard`, `FocusItem`, `FocusList`, `GoalCard`, `GoalList`,
56
+ `GoalListItem`, `GoalStatusMenu` and `GoalTabTrigger`.
57
+
58
+ See the [Breadcrumb](https://github.com/Humanity-Plus/Manakind/blob/main/docs/components/breadcrumb.mdx),
59
+ [CategoryLabel](https://github.com/Humanity-Plus/Manakind/blob/main/docs/components/category-label.mdx) and
60
+ [MilestoneTimeline](https://github.com/Humanity-Plus/Manakind/blob/main/docs/components/milestone-timeline.mdx) docs for usage and
61
+ accessibility.
62
+
45
63
  ## License
46
64
 
47
65
  MIT — see [LICENSE](./LICENSE).
@@ -218,6 +218,13 @@
218
218
  display: contents;
219
219
  }
220
220
 
221
+ /* The breadcrumb keeps its own line above the toggle and title, under the title's column. */
222
+ & .mui-action-item__eyebrow {
223
+ order: -1;
224
+ flex: 0 0 calc(100% - var(--mui-action-item-indent));
225
+ margin-inline-start: var(--mui-action-item-indent);
226
+ }
227
+
221
228
  & .mui-action-item__title {
222
229
  flex: 1 1 0;
223
230
  align-self: center;
@@ -1,6 +1,7 @@
1
1
  import { type BadgeVariant, type IconSource } from '@manakind/ui-core';
2
2
  import type { ComponentProps, ReactNode } from 'react';
3
3
  import { type GoalCategory } from '../goal-categories';
4
+ import '../item-accent.css';
4
5
  import '../leading-slot.css';
5
6
  import './action-item.css';
6
7
  /** One fact about the action, shown after the title: its project, outcome, effort, duration. */
@@ -50,7 +51,7 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
50
51
  priority?: ActionItemPriority;
51
52
  /** Facts shown after the title, each with an optional glyph. */
52
53
  details?: ActionItemDetail[];
53
- /** Categories the action belongs to, as dotted text. */
54
+ /** Categories the action belongs to, each a `CategoryLabel`. */
54
55
  categories?: GoalCategory[];
55
56
  /** How many categories to show before collapsing into `+N more`. Defaults to 2, as on `GoalListItem`. */
56
57
  maxVisibleCategories?: number;
@@ -94,6 +95,17 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
94
95
  * it is given. Defaults to `default`.
95
96
  */
96
97
  density?: ActionItemDensity;
98
+ /**
99
+ * Where the item lives, above its title: a `Breadcrumb` of its category,
100
+ * project or outcome, say. Rendered as given.
101
+ */
102
+ eyebrow?: ReactNode;
103
+ /**
104
+ * The item's category colour as a straight bar along the card's leading
105
+ * edge, for scanning a long mixed list. Data, not a token: validated by
106
+ * `safeColor` and ignored when not a colour. Leave it off a lone item.
107
+ */
108
+ accentColor?: string;
97
109
  /** Extra class names on the `<li>`. */
98
110
  className?: string;
99
111
  /**
@@ -128,5 +140,5 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
128
140
  * count a screen reader hears is the whole list's, and a sortable list
129
141
  * passes its drag library's ref and transform style.
130
142
  */
131
- export declare function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details, categories, maxVisibleCategories, note, noteTone, selected, onSelectedChange, controls, secondary, leading, titleAs, density, className, children, ...listItemProps }: ActionItemProps): import("react/jsx-runtime").JSX.Element;
143
+ export declare function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details, categories, maxVisibleCategories, note, noteTone, selected, onSelectedChange, controls, secondary, leading, titleAs, density, eyebrow, accentColor, className, children, ...listItemProps }: ActionItemProps): import("react/jsx-runtime").JSX.Element;
132
144
  //# sourceMappingURL=action-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-item.d.ts","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-item.d.ts","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Badge, Card, CardTitle, Checkbox, cx, Icon, IconButton, } from '@manakind/ui-core';
3
3
  import { GoalCategories } from '../goal-categories';
4
+ import '../item-accent.css';
5
+ import { accentProps } from '../item-accent';
4
6
  import '../leading-slot.css';
5
7
  import './action-item.css';
6
8
  /**
@@ -28,7 +30,7 @@ import './action-item.css';
28
30
  * count a screen reader hears is the whole list's, and a sortable list
29
31
  * passes its drag library's ref and transform style.
30
32
  */
31
- export function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details = [], categories = [], maxVisibleCategories = 2, note, noteTone = 'muted', selected = false, onSelectedChange, controls, secondary, leading, titleAs = 'h3', density = 'default', className, children, ...listItemProps }) {
33
+ export function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details = [], categories = [], maxVisibleCategories = 2, note, noteTone = 'muted', selected = false, onSelectedChange, controls, secondary, leading, titleAs = 'h3', density = 'default', eyebrow, accentColor, className, children, ...listItemProps }) {
32
34
  const selectable = onSelectedChange !== undefined;
33
35
  const compact = density === 'compact';
34
36
  const toggle = completeIcon && onCompletedChange ? (_jsx(IconButton, { className: "mui-action-item__complete", variant: completed ? 'primary' : 'secondary', size: compact ? 'sm' : 'md', icon: completeIcon, "aria-pressed": completed, "aria-label": `Complete ${title}`, onClick: () => onCompletedChange(!completed) })) : null;
@@ -45,6 +47,7 @@ export function ActionItem({ title, completed, onCompletedChange, completeIcon,
45
47
  });
46
48
  const priorityDetail = priority ? (_jsxs("span", { className: cx('mui-action-item__detail', 'mui-action-item__priority', `mui-action-item__priority--${priority.level}`), children: [priority.icon && (_jsx(Icon, { source: priority.icon, size: "sm", decorative: true, className: "mui-action-item__detail-icon mui-action-item__priority-icon" })), _jsx("span", { className: "mui-action-item__detail-label", children: priority.label })] })) : null;
47
49
  const detailList = priority || details.length > 0 || note ? (_jsxs("p", { className: "mui-action-item__details", children: [priorityDetail, detailRows, note && (_jsx(Badge, { variant: noteTone, className: "mui-action-item__note", children: note }))] })) : null;
48
- return (_jsxs("li", { ...listItemProps, className: cx('mui-leading-slot', 'mui-action-item', compact && 'mui-action-item--compact', completed && 'mui-action-item--completed', selectable && selected && 'mui-action-item--selected', className), children: [leading && (_jsx("div", { className: "mui-leading-slot__leading mui-action-item__leading", children: leading })), _jsx(Card, { className: "mui-leading-slot__card mui-action-item__card", children: _jsxs("div", { className: "mui-action-item__row", children: [toggle, _jsxs("div", { className: "mui-action-item__main", children: [_jsx(CardTitle, { as: titleAs, className: "mui-action-item__title", children: title }), detailList, _jsx(GoalCategories, { className: "mui-action-item__categories", categories: categories, maxVisible: maxVisibleCategories }), secondary && _jsx("div", { className: "mui-action-item__secondary", children: secondary })] }), controls && _jsx("div", { className: "mui-action-item__controls", children: controls }), selectable && (_jsx(Checkbox, { className: "mui-action-item__select", "aria-label": `Select ${title}`, checked: selected, onCheckedChange: onSelectedChange }))] }) }), children] }));
50
+ const accent = accentProps(accentColor, listItemProps.style);
51
+ return (_jsxs("li", { ...listItemProps, style: accent.style, className: cx('mui-leading-slot', 'mui-action-item', accent.className, compact && 'mui-action-item--compact', completed && 'mui-action-item--completed', selectable && selected && 'mui-action-item--selected', className), children: [leading && (_jsx("div", { className: "mui-leading-slot__leading mui-action-item__leading", children: leading })), _jsx(Card, { className: "mui-leading-slot__card mui-action-item__card", children: _jsxs("div", { className: "mui-action-item__row", children: [toggle, _jsxs("div", { className: "mui-action-item__main", children: [eyebrow && _jsx("div", { className: "mui-action-item__eyebrow", children: eyebrow }), _jsx(CardTitle, { as: titleAs, className: "mui-action-item__title", children: title }), detailList, _jsx(GoalCategories, { className: "mui-action-item__categories", categories: categories, maxVisible: maxVisibleCategories }), secondary && _jsx("div", { className: "mui-action-item__secondary", children: secondary })] }), controls && _jsx("div", { className: "mui-action-item__controls", children: controls }), selectable && (_jsx(Checkbox, { className: "mui-action-item__select", "aria-label": `Select ${title}`, checked: selected, onCheckedChange: onSelectedChange }))] }) }), children] }));
49
52
  }
50
53
  //# sourceMappingURL=action-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"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"}
@@ -29,6 +29,18 @@
29
29
  gap: var(--semantic-space-gap);
30
30
  }
31
31
 
32
+ & .mui-category-card__name {
33
+ display: flex;
34
+ align-items: center;
35
+ gap: var(--semantic-space-gap);
36
+ }
37
+
38
+ /* The category's own colour, as its label paints its icon. */
39
+ & .mui-category-card__icon {
40
+ flex-shrink: 0;
41
+ color: var(--mui-category-color, var(--semantic-color-action-primary));
42
+ }
43
+
32
44
  & .mui-category-card__gap {
33
45
  display: flex;
34
46
  flex-direction: column;
@@ -1,3 +1,4 @@
1
+ import { type IconSource } from '@manakind/ui-core';
1
2
  import './category-card.css';
2
3
  /** Manuia's two kinds of life category. */
3
4
  export type CategoryType = 'Personal' | 'Professional';
@@ -14,6 +15,11 @@ export interface CategoryRole {
14
15
  export interface CategoryCardProps {
15
16
  /** Category name. Rendered as the card's heading. */
16
17
  name: string;
18
+ /**
19
+ * A glyph for the category, shown before its name in the category's colour.
20
+ * Decorative: the name carries the meaning.
21
+ */
22
+ icon?: IconSource;
17
23
  /** Personal or professional. Shown as a badge; the two get different tints. */
18
24
  type: CategoryType;
19
25
  /**
@@ -79,5 +85,5 @@ export interface CategoryCardProps {
79
85
  * />
80
86
  * ```
81
87
  */
82
- export declare function CategoryCard({ name, type, color, vision, currentRating, idealRating, currentBand, idealBand, gapBand, roles, maxVisibleRoles, visionLength, titleAs, className, }: CategoryCardProps): import("react/jsx-runtime").JSX.Element;
88
+ export declare function CategoryCard({ name, icon, type, color, vision, currentRating, idealRating, currentBand, idealBand, gapBand, roles, maxVisibleRoles, visionLength, titleAs, className, }: CategoryCardProps): import("react/jsx-runtime").JSX.Element;
83
89
  //# sourceMappingURL=category-card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-card.d.ts","sourceRoot":"","sources":["../../src/category-card/category-card.tsx"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,CAAC;AAE7B,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,cAAc,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,EAAE,YAAY,CAAC;IACnB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,aAAa,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,KAAU,EACV,eAAmB,EACnB,YAAkB,EAClB,OAAc,EACd,SAAS,GACV,EAAE,iBAAiB,2CA4FnB"}
1
+ {"version":3,"file":"category-card.d.ts","sourceRoot":"","sources":["../../src/category-card/category-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,qBAAqB,CAAC;AAE7B,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,cAAc,CAAC;AAEvD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,+EAA+E;IAC/E,IAAI,EAAE,YAAY,CAAC;IACnB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,aAAa,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,qEAAqE;IACrE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,KAAU,EACV,eAAmB,EACnB,YAAkB,EAClB,OAAc,EACd,SAAS,GACV,EAAE,iBAAiB,2CAiGnB"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Badge, Card, CardContent, CardHeader, CardTitle, cx, Progress } from '@manakind/ui-core';
2
+ import { Badge, Card, CardContent, CardHeader, CardTitle, cx, Icon, Progress, } from '@manakind/ui-core';
3
3
  import { safeColor } from '../css-color';
4
4
  import './category-card.css';
5
5
  const TYPE_VARIANT = {
@@ -65,7 +65,7 @@ const BAND_CLASS = (part, band) => band && `mui-category-card__${part}--${band}`
65
65
  * />
66
66
  * ```
67
67
  */
68
- export function CategoryCard({ name, type, color, vision, currentRating, idealRating, currentBand, idealBand, gapBand, roles = [], maxVisibleRoles = 3, visionLength = 100, titleAs = 'h3', className, }) {
68
+ export function CategoryCard({ name, icon, type, color, vision, currentRating, idealRating, currentBand, idealBand, gapBand, roles = [], maxVisibleRoles = 3, visionLength = 100, titleAs = 'h3', className, }) {
69
69
  const wash = safeColor(color);
70
70
  const current = clampRating(currentRating);
71
71
  const ideal = clampRating(idealRating);
@@ -74,6 +74,6 @@ export function CategoryCard({ name, type, color, vision, currentRating, idealRa
74
74
  const visibleRoles = limit === undefined ? roles : roles.slice(0, limit);
75
75
  const remainingRoles = roles.length - visibleRoles.length;
76
76
  const visionText = vision?.trim();
77
- return (_jsxs(Card, { interactive: true, className: cx('mui-category-card', className), style: wash ? { '--mui-category-color': wash } : undefined, children: [_jsxs(CardHeader, { className: "mui-category-card__header", children: [_jsxs("div", { className: "mui-category-card__meta", children: [_jsx(Badge, { variant: TYPE_VARIANT[type], appearance: "plain", children: type }), _jsxs("p", { className: cx('mui-category-card__gap', BAND_CLASS('gap', gapBand)), children: [_jsx("span", { className: "mui-category-card__gap-value", children: gap }), _jsx("span", { className: "mui-category-card__gap-label", children: "gap" })] })] }), _jsx(CardTitle, { as: titleAs, className: "mui-category-card__title", title: name, children: name })] }), _jsxs(CardContent, { className: "mui-category-card__content", children: [visionText && (_jsx("p", { className: "mui-category-card__vision", children: excerpt(visionText, visionLength) })), roles.length > 0 && (_jsxs("ul", { className: "mui-category-card__roles", "aria-label": "Roles", children: [visibleRoles.map((role) => (_jsx("li", { children: _jsx(Badge, { variant: "outline", children: role.name }) }, role.id))), remainingRoles > 0 && (_jsx("li", { children: _jsxs(Badge, { variant: "muted", children: ["+", remainingRoles, " more"] }) }))] })), _jsxs("div", { className: "mui-category-card__ratings", children: [_jsx(Progress, { size: "sm", className: "mui-category-card__bar mui-category-card__bar--current", value: current, max: RATING_MAX, label: _jsx("span", { className: "mui-category-card__rating-label", children: "Current" }), valueText: _jsxs("span", { className: cx('mui-category-card__rating-value', BAND_CLASS('rating-value', currentBand)), children: [current, _jsxs("span", { className: "mui-category-card__rating-max", children: ["/", RATING_MAX] })] }) }), _jsx(Progress, { size: "sm", className: "mui-category-card__bar mui-category-card__bar--ideal", value: ideal, max: RATING_MAX, label: _jsx("span", { className: "mui-category-card__rating-label", children: "Ideal" }), valueText: _jsxs("span", { className: cx('mui-category-card__rating-value', BAND_CLASS('rating-value', idealBand)), children: [ideal, _jsxs("span", { className: "mui-category-card__rating-max", children: ["/", RATING_MAX] })] }) })] })] })] }));
77
+ return (_jsxs(Card, { interactive: true, className: cx('mui-category-card', className), style: wash ? { '--mui-category-color': wash } : undefined, children: [_jsxs(CardHeader, { className: "mui-category-card__header", children: [_jsxs("div", { className: "mui-category-card__meta", children: [_jsx(Badge, { variant: TYPE_VARIANT[type], appearance: "plain", children: type }), _jsxs("p", { className: cx('mui-category-card__gap', BAND_CLASS('gap', gapBand)), children: [_jsx("span", { className: "mui-category-card__gap-value", children: gap }), _jsx("span", { className: "mui-category-card__gap-label", children: "gap" })] })] }), _jsxs("div", { className: "mui-category-card__name", children: [icon ? (_jsx(Icon, { source: icon, size: "lg", decorative: true, className: "mui-category-card__icon" })) : null, _jsx(CardTitle, { as: titleAs, className: "mui-category-card__title", title: name, children: name })] })] }), _jsxs(CardContent, { className: "mui-category-card__content", children: [visionText && (_jsx("p", { className: "mui-category-card__vision", children: excerpt(visionText, visionLength) })), roles.length > 0 && (_jsxs("ul", { className: "mui-category-card__roles", "aria-label": "Roles", children: [visibleRoles.map((role) => (_jsx("li", { children: _jsx(Badge, { variant: "outline", children: role.name }) }, role.id))), remainingRoles > 0 && (_jsx("li", { children: _jsxs(Badge, { variant: "muted", children: ["+", remainingRoles, " more"] }) }))] })), _jsxs("div", { className: "mui-category-card__ratings", children: [_jsx(Progress, { size: "sm", className: "mui-category-card__bar mui-category-card__bar--current", value: current, max: RATING_MAX, label: _jsx("span", { className: "mui-category-card__rating-label", children: "Current" }), valueText: _jsxs("span", { className: cx('mui-category-card__rating-value', BAND_CLASS('rating-value', currentBand)), children: [current, _jsxs("span", { className: "mui-category-card__rating-max", children: ["/", RATING_MAX] })] }) }), _jsx(Progress, { size: "sm", className: "mui-category-card__bar mui-category-card__bar--ideal", value: ideal, max: RATING_MAX, label: _jsx("span", { className: "mui-category-card__rating-label", children: "Ideal" }), valueText: _jsxs("span", { className: cx('mui-category-card__rating-value', BAND_CLASS('rating-value', idealBand)), children: [ideal, _jsxs("span", { className: "mui-category-card__rating-max", children: ["/", RATING_MAX] })] }) })] })] })] }));
78
78
  }
79
79
  //# sourceMappingURL=category-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-card.js","sourceRoot":"","sources":["../../src/category-card/category-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category-card.js","sourceRoot":"","sources":["../../src/category-card/category-card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ @layer components {
2
+ .mui-category-label {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: var(--semantic-space-gap-tight);
6
+ min-width: 0;
7
+ /*
8
+ * The surrounding text's colour and, through the inline-flex boxes that
9
+ * would otherwise stop it, its underline: a list makes it muted, a
10
+ * breadcrumb link underlines it on hover like the trail's other links.
11
+ */
12
+ color: inherit;
13
+ text-decoration: inherit;
14
+ font-size: var(--primitives-font-size-sm);
15
+ overflow-wrap: anywhere;
16
+
17
+ & .mui-category-label__inner,
18
+ & .mui-category-label__name {
19
+ text-decoration: inherit;
20
+ }
21
+
22
+ & .mui-category-label__inner {
23
+ display: inline-flex;
24
+ align-items: center;
25
+ gap: inherit;
26
+ min-width: 0;
27
+ }
28
+
29
+ /*
30
+ * `--mui-category` is the category's stored colour, set per label and
31
+ * falling back to the primary action colour. The mark is reinforcement,
32
+ * never the signal: the name beside it carries the category at the
33
+ * surface's own contrast, so no floor is promised for a user's colour.
34
+ * The ring keeps the dot from vanishing against a near-surface colour.
35
+ */
36
+ & .mui-category-label__dot {
37
+ flex-shrink: 0;
38
+ width: var(--component-category-label-dot-size-sm);
39
+ height: var(--component-category-label-dot-size-sm);
40
+ border-radius: var(--semantic-radius-pill);
41
+ background-color: var(--mui-category, var(--semantic-color-action-primary));
42
+ box-shadow: 0 0 0 1px var(--semantic-color-border-subtle);
43
+ }
44
+
45
+ & .mui-category-label__icon {
46
+ flex-shrink: 0;
47
+ color: var(--mui-category, var(--semantic-color-action-primary));
48
+ }
49
+ }
50
+
51
+ .mui-category-label--md {
52
+ font-size: var(--primitives-font-size-md);
53
+
54
+ & .mui-category-label__dot {
55
+ width: var(--component-category-label-dot-size-md);
56
+ height: var(--component-category-label-dot-size-md);
57
+ }
58
+ }
59
+
60
+ .mui-category-label--link {
61
+ text-decoration: none;
62
+ border-radius: var(--semantic-radius-interactive);
63
+
64
+ &:hover .mui-category-label__name {
65
+ color: var(--semantic-color-text-default);
66
+ text-decoration: underline;
67
+ text-underline-offset: 0.2em;
68
+ }
69
+
70
+ &:focus-visible {
71
+ outline: 2px solid var(--semantic-color-focus-ring);
72
+ outline-offset: 3px;
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,2 @@
1
+ /* AUTOGENERATED: types for the stylesheet beside it. */
2
+ export {};
@@ -0,0 +1,40 @@
1
+ import { type IconSource, type LinkComponentProps } from '@manakind/ui-core';
2
+ import type { ElementType } from 'react';
3
+ import './category-label.css';
4
+ /** What the link component receives; the props every `linkComponent` takes. */
5
+ export type CategoryLabelLinkProps = LinkComponentProps;
6
+ export interface CategoryLabelProps {
7
+ /** The category's name. Carries the meaning — the colour and glyph only reinforce it. */
8
+ name: string;
9
+ /**
10
+ * The category's user-chosen colour, as data rather than a token; validated
11
+ * by `safeColor` before it reaches a style attribute. Falls back to the
12
+ * primary action colour.
13
+ */
14
+ color?: string;
15
+ /**
16
+ * The category's own glyph, supplied by the product. Drawn in the category
17
+ * colour in place of the dot; without one the label shows the dot.
18
+ */
19
+ icon?: IconSource;
20
+ /** `sm` beside a card's details; `md` in a page header. Defaults to `sm`. */
21
+ size?: 'sm' | 'md';
22
+ /** Makes the label a link to the category. */
23
+ href?: string;
24
+ /** Renders the link, so a product passes its router's link. Defaults to `<a>`. */
25
+ linkComponent?: ElementType<CategoryLabelLinkProps>;
26
+ /** Extra class names on the outermost element. */
27
+ className?: string;
28
+ }
29
+ /**
30
+ * One Manuia category: its glyph or dot in the category colour, then its name.
31
+ * The one way a category is named on a card, a list row or a page header;
32
+ * `GoalCategories` lists several of them.
33
+ *
34
+ * @remarks
35
+ * The name is text on the surface it sits on, so it keeps that surface's
36
+ * checked contrast; the colour can be any colour a user picked, so no
37
+ * contrast floor is promised for the mark and none is needed.
38
+ */
39
+ export declare function CategoryLabel({ name, color, icon, size, href, linkComponent: Link, className, }: CategoryLabelProps): import("react/jsx-runtime").JSX.Element;
40
+ //# sourceMappingURL=category-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-label.d.ts","sourceRoot":"","sources":["../../src/category-label/category-label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,aAAa,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACpD,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAW,EACX,IAAI,EACJ,aAAa,EAAE,IAAU,EACzB,SAAS,GACV,EAAE,kBAAkB,2CAkCpB"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cx, Icon } from '@manakind/ui-core';
3
+ import { safeColor } from '../css-color';
4
+ import './category-label.css';
5
+ /**
6
+ * One Manuia category: its glyph or dot in the category colour, then its name.
7
+ * The one way a category is named on a card, a list row or a page header;
8
+ * `GoalCategories` lists several of them.
9
+ *
10
+ * @remarks
11
+ * The name is text on the surface it sits on, so it keeps that surface's
12
+ * checked contrast; the colour can be any colour a user picked, so no
13
+ * contrast floor is promised for the mark and none is needed.
14
+ */
15
+ export function CategoryLabel({ name, color, icon, size = 'sm', href, linkComponent: Link = 'a', className, }) {
16
+ const tint = safeColor(color);
17
+ const style = tint ? { '--mui-category': tint } : undefined;
18
+ const classes = cx('mui-category-label', `mui-category-label--${size}`, href && 'mui-category-label--link', className);
19
+ const content = (_jsxs(_Fragment, { children: [icon ? (_jsx(Icon, { source: icon, size: size, decorative: true, className: "mui-category-label__icon" })) : (_jsx("span", { className: "mui-category-label__dot", "aria-hidden": "true" })), _jsx("span", { className: "mui-category-label__name", children: name })] }));
20
+ if (href) {
21
+ return (_jsx(Link, { href: href, className: classes, children: _jsx("span", { className: "mui-category-label__inner", style: style, children: content }) }));
22
+ }
23
+ return (_jsx("span", { className: classes, style: style, children: content }));
24
+ }
25
+ //# sourceMappingURL=category-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-label.js","sourceRoot":"","sources":["../../src/category-label/category-label.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,IAAI,EAA4C,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,sBAAsB,CAAC;AA6B9B;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,IAAI,EACJ,aAAa,EAAE,IAAI,GAAG,GAAG,EACzB,SAAS,GACU;IACnB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,EAAE,gBAAgB,EAAE,IAAI,EAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,OAAO,GAAG,EAAE,CAChB,oBAAoB,EACpB,uBAAuB,IAAI,EAAE,EAC7B,IAAI,IAAI,0BAA0B,EAClC,SAAS,CACV,CAAC;IACF,MAAM,OAAO,GAAG,CACd,8BACG,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,QAAC,SAAS,EAAC,0BAA0B,GAAG,CACnF,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,yBAAyB,iBAAa,MAAM,GAAG,CAChE,EACD,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,GAAQ,IACvD,CACJ,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,YAClC,eAAM,SAAS,EAAC,2BAA2B,EAAC,KAAK,EAAE,KAAK,YACrD,OAAO,GACH,GACF,CACR,CAAC;IACJ,CAAC;IACD,OAAO,CACL,eAAM,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACnC,OAAO,GACH,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { CategoryLabelLinkProps, CategoryLabelProps } from './category-label';
2
+ export { CategoryLabel } from './category-label';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/category-label/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CategoryLabel } from './category-label';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/category-label/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -21,7 +21,7 @@ export interface FocusItemProps extends Omit<ComponentProps<'li'>, 'title' | 'ch
21
21
  kindIcon?: IconSource;
22
22
  /** Pre-formatted facts shown after the kind, such as "High priority" or "30 min". */
23
23
  details?: string[];
24
- /** Categories the item belongs to, as dotted text. */
24
+ /** Categories the item belongs to, each a `CategoryLabel`. */
25
25
  categories?: GoalCategory[];
26
26
  /**
27
27
  * An outcome's open actions, listed under its title. Ignored for an action.
@@ -1 +1 @@
1
- {"version":3,"file":"focus-item.d.ts","sourceRoot":"","sources":["../../src/focus-item/focus-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAE1B,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IACtE,mFAAmF;IACnF,IAAI,EAAE,aAAa,CAAC;IACpB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sDAAsD;IACtD,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,wFAAwF;IACxF,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAY,EACZ,UAAe,EACf,OAAY,EACZ,OAAO,EACP,eAAe,EACf,SAAS,EACT,WAAuB,EACvB,QAAQ,EACR,OAAO,EACP,OAAc,EACd,SAAS,EACT,QAAQ,EACR,GAAG,aAAa,EACjB,EAAE,cAAc,2CAoEhB"}
1
+ {"version":3,"file":"focus-item.d.ts","sourceRoot":"","sources":["../../src/focus-item/focus-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAE1B,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IACtE,mFAAmF;IACnF,IAAI,EAAE,aAAa,CAAC;IACpB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,wFAAwF;IACxF,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAY,EACZ,UAAe,EACf,OAAY,EACZ,OAAO,EACP,eAAe,EACf,SAAS,EACT,WAAuB,EACvB,QAAQ,EACR,OAAO,EACP,OAAc,EACd,SAAS,EACT,QAAQ,EACR,GAAG,aAAa,EACjB,EAAE,cAAc,2CAoEhB"}
@@ -1,5 +1,5 @@
1
- import { type IconSource } from '@manakind/ui-core';
2
- import type { ElementType, ReactNode } from 'react';
1
+ import { type IconSource, type LinkComponentProps } from '@manakind/ui-core';
2
+ import type { ElementType } from 'react';
3
3
  import { type GoalCategory } from '../goal-categories';
4
4
  import { type GoalStatus } from '../goal-status-menu';
5
5
  import './goal-card.css';
@@ -20,11 +20,8 @@ export interface GoalMilestone {
20
20
  * The props a `linkComponent` receives. A plain `'a'` and a router's link
21
21
  * (Next's `Link`) both satisfy it.
22
22
  */
23
- export interface GoalLinkProps {
24
- href: string;
25
- className?: string;
26
- children?: ReactNode;
27
- }
23
+ /** What the link component receives; the props every `linkComponent` takes. */
24
+ export type GoalLinkProps = LinkComponentProps;
28
25
  export interface GoalCardProps {
29
26
  /** Goal title. Rendered as the card's heading. */
30
27
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"goal-card.d.ts","sourceRoot":"","sources":["../../src/goal-card/goal-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AACtE,OAAO,iBAAiB,CAAC;AAEzB,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,UAAU,CAAC;IACrC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,UAAU,CAAC;IACpC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,IAAI,EACJ,aAAa,EAAE,aAAmB,EAClC,WAAW,EACX,UAAe,EACf,oBAAwB,EACxB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,sBAAuC,EACvC,UAAU,EACV,OAAc,EACd,SAAS,GACV,EAAE,aAAa,2CAyHf"}
1
+ {"version":3,"file":"goal-card.d.ts","sourceRoot":"","sources":["../../src/goal-card/goal-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AACtE,OAAO,iBAAiB,CAAC;AAEzB,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,IAAI,EAAE,QAAQ,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,UAAU,CAAC;IACrC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,uFAAuF;IACvF,sBAAsB,CAAC,EAAE,UAAU,CAAC;IACpC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,IAAI,EACJ,aAAa,EAAE,aAAmB,EAClC,WAAW,EACX,UAAe,EACf,oBAAwB,EACxB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,sBAAuC,EACvC,UAAU,EACV,OAAc,EACd,SAAS,GACV,EAAE,aAAa,2CAyHf"}
@@ -1 +1 @@
1
- {"version":3,"file":"goal-card.js","sourceRoot":"","sources":["../../src/goal-card/goal-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,EAAE,EACF,IAAI,EAEJ,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAmB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,iBAAiB,CAAC;AAiHzB,iDAAiD;AACjD,MAAM,UAAU,GAA6B;IAC3C,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,IAAI,EACJ,aAAa,EAAE,aAAa,GAAG,GAAG,EAClC,WAAW,EACX,UAAU,GAAG,EAAE,EACf,oBAAoB,GAAG,CAAC,EACxB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,sBAAsB,GAAG,cAAc,EACvC,UAAU,EACV,OAAO,GAAG,IAAI,EACd,SAAS,GACK;IACd,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;IAEtC;;;;;;;;;OASG;IACH,OAAO,CACL,MAAC,IAAI,IACH,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,kBAAkB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,aAE/E,eAAM,SAAS,EAAC,yBAAyB,iBAAa,MAAM,GAAG,EAC/D,gBAAM,SAAS,EAAC,wBAAwB,iBAAa,MAAM,aACzD,gBAAQ,EACR,gBAAQ,EACR,gBAAQ,EACR,gBAAQ,IACH,EAEP,MAAC,UAAU,IAAC,SAAS,EAAC,uBAAuB,aAC3C,eAAK,SAAS,EAAC,qBAAqB,aAClC,gBAAM,SAAS,EAAC,2BAA2B,aACxC,UAAU,IAAI,CACb,eAAM,SAAS,EAAC,uBAAuB,iBAAa,MAAM,YACxD,KAAC,IAAI,IAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,SAAG,GAC5C,CACR,EACD,gBAAM,SAAS,EAAC,qBAAqB,aAClC,QAAQ,IAAI,KAAC,IAAI,IAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,SAAG,EAC3D,IAAI,EACJ,WAAW,IAAI,CACd,gBAAM,SAAS,EAAC,uBAAuB,aACpC,GAAG,EACJ,8BAAkB,MAAM,uBAAS,OAAE,WAAW,IACzC,CACR,IACI,IACF,EACP,KAAC,cAAc,IACb,cAAc,EAAC,6BAA6B,EAC5C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,uBAAuB,GACtC,IACE,EAEN,KAAC,cAAc,IACb,SAAS,EAAC,2BAA2B,EACrC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,oBAAoB,GAChC,EAEF,KAAC,SAAS,IAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,sBAAsB,YACrD,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,QAAQ,IAAC,OAAO,kBACf,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,YAAG,KAAK,GAAiB,GACzC,CACZ,CAAC,CAAC,CAAC,CACF,KAAK,CACN,GACS,EAEZ,eAAM,SAAS,EAAC,wBAAwB,iBAAa,MAAM,GAAG,IACnD,EAEb,MAAC,WAAW,IAAC,SAAS,EAAC,wBAAwB,aAC7C,YAAG,SAAS,EAAC,4BAA4B,YAAE,WAAW,IAAI,0BAA0B,GAAK,EAExF,KAAK,GAAG,CAAC,IAAI,CACZ,eAAK,SAAS,EAAC,2BAA2B,aACxC,KAAC,QAAQ,IACP,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,eAAM,SAAS,EAAC,iCAAiC,2BAAkB,EAC1E,SAAS,EAAE,GAAG,SAAS,OAAO,KAAK,EAAE,GACrC,EACF,aAAI,SAAS,EAAC,+BAA+B,YAC1C,UAAU,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC9B,cAEE,SAAS,EAAE,EAAE,CACX,0BAA0B,EAC1B,SAAS,CAAC,SAAS,IAAI,gCAAgC,CACxD,aAED,eAAM,SAAS,EAAC,iCAAiC,iBAAa,MAAM,YACjE,SAAS,CAAC,SAAS,IAAI,aAAa,IAAI,CACvC,KAAC,IAAI,IAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,SAAG,CACrD,GACI,EACP,eAAM,SAAS,EAAC,gCAAgC,YAAE,SAAS,CAAC,KAAK,GAAQ,EACxE,SAAS,CAAC,eAAe,IAAI,CAC5B,eAAM,SAAS,EAAC,oCAAoC,YAClD,KAAC,IAAI,IAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,qBAAqB,GAAG,GACzE,CACR,KAhBI,SAAS,CAAC,EAAE,CAiBd,CACN,CAAC,GACC,IACD,CACP,EAEA,UAAU,IAAI,CACb,aAAG,SAAS,EAAC,uBAAuB,aAClC,eAAM,SAAS,EAAC,6BAA6B,wBAAe,OAAE,UAAU,IACtE,CACL,IACW,IACT,CACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5C,6BAAiB,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,KAAK,KAAK,YAC/D,eACE,CAAC,EAAC,oBAAoB,EACtB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,CAAC;AACF,cAAc,CAAC,WAAW,GAAG,wBAAwB,CAAC"}
1
+ {"version":3,"file":"goal-card.js","sourceRoot":"","sources":["../../src/goal-card/goal-card.tsx"],"names":[],"mappings":"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"}
@@ -17,31 +17,6 @@
17
17
  font-size: var(--primitives-font-size-sm);
18
18
  }
19
19
 
20
- /*
21
- * `--mui-goal-category` is set per item from the category's stored
22
- * colour, falling back to the primary action colour for a category that
23
- * has none yet.
24
- *
25
- * The dot is deliberately NOT load-bearing. A category colour is user
26
- * data — any colour at all, including one that matches the card surface —
27
- * so no contrast floor can be promised for it, and promising one would be
28
- * a claim this component cannot keep. The name sits beside it as text on
29
- * the card surface at that surface's own checked contrast, which is what
30
- * actually carries the category.
31
- *
32
- * The ring exists so the dot does not vanish entirely against a
33
- * near-surface colour. It is a visibility floor for a decoration, not a
34
- * contrast guarantee.
35
- */
36
- & .mui-goal-categories__dot {
37
- flex-shrink: 0;
38
- width: var(--component-goal-categories-dot-size);
39
- height: var(--component-goal-categories-dot-size);
40
- border-radius: var(--semantic-radius-pill);
41
- background-color: var(--mui-goal-category, var(--semantic-color-action-primary));
42
- box-shadow: 0 0 0 1px var(--semantic-color-border-subtle);
43
- }
44
-
45
20
  /*
46
21
  * No colour override: the overflow item is the same muted text as the
47
22
  * rest, and its lack of a dot already sets it apart. It keeps a class so
@@ -1,3 +1,4 @@
1
+ import { type IconSource } from '@manakind/ui-core';
1
2
  import './goal-categories.css';
2
3
  export interface GoalCategory {
3
4
  /** Stable identifier. */
@@ -20,6 +21,8 @@ export interface GoalCategory {
20
21
  * action colour.
21
22
  */
22
23
  color?: string;
24
+ /** The category's own glyph, drawn in its colour in place of the dot. */
25
+ icon?: IconSource;
23
26
  }
24
27
  export interface GoalCategoriesProps {
25
28
  /** Categories to show. Renders nothing when empty. */
@@ -35,7 +38,8 @@ export interface GoalCategoriesProps {
35
38
  className?: string;
36
39
  }
37
40
  /**
38
- * The categories a Manuia goal belongs to, as dotted text.
41
+ * The categories a Manuia goal, action or outcome belongs to, each a
42
+ * `CategoryLabel`.
39
43
  *
40
44
  * A Manuia-specific composition: "a goal belongs to N categories, each with a
41
45
  * user-chosen colour, collapsing after N visible" is a product concept and
@@ -1 +1 @@
1
- {"version":3,"file":"goal-categories.d.ts","sourceRoot":"","sources":["../../src/goal-categories/goal-categories.tsx"],"names":[],"mappings":"AAGA,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB,kDA0CxF"}
1
+ {"version":3,"file":"goal-categories.d.ts","sourceRoot":"","sources":["../../src/goal-categories/goal-categories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,uBAAuB,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB,kDAkCxF"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cx } from '@manakind/ui-core';
3
- import { safeColor } from '../css-color';
3
+ import { CategoryLabel } from '../category-label';
4
4
  import './goal-categories.css';
5
5
  /**
6
- * The categories a Manuia goal belongs to, as dotted text.
6
+ * The categories a Manuia goal, action or outcome belongs to, each a
7
+ * `CategoryLabel`.
7
8
  *
8
9
  * A Manuia-specific composition: "a goal belongs to N categories, each with a
9
10
  * user-chosen colour, collapsing after N visible" is a product concept and
@@ -38,9 +39,6 @@ export function GoalCategories({ categories, maxVisible, className }) {
38
39
  : undefined;
39
40
  const visible = limit === undefined ? categories : categories.slice(0, limit);
40
41
  const remaining = limit === undefined ? 0 : Math.max(categories.length - limit, 0);
41
- return (_jsxs("ul", { className: cx('mui-goal-categories', className), children: [visible.map((category) => {
42
- const dot = safeColor(category.color);
43
- return (_jsxs("li", { className: "mui-goal-categories__item", style: dot ? { '--mui-goal-category': dot } : undefined, children: [_jsx("span", { className: "mui-goal-categories__dot", "aria-hidden": "true" }), category.name] }, category.id));
44
- }), remaining > 0 && (_jsxs("li", { className: "mui-goal-categories__item mui-goal-categories__item--overflow", children: ["+", remaining, " more"] }))] }));
42
+ return (_jsxs("ul", { className: cx('mui-goal-categories', className), children: [visible.map((category) => (_jsx("li", { className: "mui-goal-categories__item", children: _jsx(CategoryLabel, { name: category.name, color: category.color, icon: category.icon }) }, category.id))), remaining > 0 && (_jsxs("li", { className: "mui-goal-categories__item mui-goal-categories__item--overflow", children: ["+", remaining, " more"] }))] }));
45
43
  }
46
44
  //# sourceMappingURL=goal-categories.js.map