@manakind/manuia-ui 0.16.0 → 0.18.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.
@@ -79,6 +79,28 @@
79
79
  gap: var(--semantic-space-gap-tight);
80
80
  }
81
81
 
82
+ /* The label names the level; the tint on its glyph lets a list be scanned by it. */
83
+ & .mui-action-item__priority {
84
+ --mui-action-item-priority-color: var(--component-action-item-priority-low);
85
+ }
86
+
87
+ & .mui-action-item__priority-icon {
88
+ color: var(--mui-action-item-priority-color);
89
+ }
90
+
91
+ & .mui-action-item__priority--medium {
92
+ --mui-action-item-priority-color: var(--component-action-item-priority-medium);
93
+ }
94
+
95
+ & .mui-action-item__priority--high {
96
+ --mui-action-item-priority-color: var(--component-action-item-priority-high);
97
+ }
98
+
99
+ /* Done work is no longer pressing, so its flag goes quiet whatever its level. */
100
+ &.mui-action-item--completed .mui-action-item__priority {
101
+ --mui-action-item-priority-color: var(--component-action-item-priority-low);
102
+ }
103
+
82
104
  & .mui-action-item__secondary {
83
105
  display: flex;
84
106
  flex-wrap: wrap;
@@ -174,5 +196,31 @@
174
196
  align-self: center;
175
197
  }
176
198
  }
199
+
200
+ /*
201
+ * The product's placing controls stand before the card, centred against
202
+ * it, with a message passed as children kept under the card. The card
203
+ * becomes the container the narrow layout measures, so the row collapses
204
+ * by the width inside the card (its padding excluded) rather than by the
205
+ * whole row, controls included.
206
+ */
207
+ &:has(> .mui-action-item__leading) {
208
+ container-type: normal;
209
+ grid-template-columns: auto minmax(0, 1fr);
210
+ column-gap: var(--semantic-space-gap);
211
+
212
+ & > :not(.mui-action-item__leading) {
213
+ grid-column: 2;
214
+ }
215
+
216
+ & > .mui-action-item__card {
217
+ container: mui-action-item / inline-size;
218
+ }
219
+ }
220
+
221
+ & > .mui-action-item__leading {
222
+ grid-row: 1;
223
+ align-self: center;
224
+ }
177
225
  }
178
226
  }
@@ -9,6 +9,21 @@ export interface ActionItemDetail {
9
9
  /** Glyph before the text, supplied by the product. */
10
10
  icon?: IconSource;
11
11
  }
12
+ /** How pressing the action is. The level tints the icon on its priority detail. */
13
+ export type ActionItemPriorityLevel = 'low' | 'medium' | 'high';
14
+ /** The action's priority, shown first among the details so it sits in the same place on every row. */
15
+ export interface ActionItemPriority {
16
+ /**
17
+ * How pressing the action is. Sets the tint on `icon`; `label` carries the
18
+ * meaning. A completed row takes the low tint whatever its level: done work
19
+ * is not pressing.
20
+ */
21
+ level: ActionItemPriorityLevel;
22
+ /** Pre-formatted text naming the level, such as "High priority". It carries the meaning; the tint adds emphasis. */
23
+ label: string;
24
+ /** Glyph before the text, supplied by the product and tinted by the level. */
25
+ icon?: IconSource;
26
+ }
12
27
  /** How the note reads: an aside, or a warning the user should act on. The two Badge variants it maps to. */
13
28
  export type ActionItemNoteTone = Extract<BadgeVariant, 'muted' | 'warning'>;
14
29
  export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'children' | 'className'> {
@@ -24,6 +39,8 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
24
39
  onCompletedChange?: (completed: boolean) => void;
25
40
  /** Glyph on the completion toggle, supplied by the product. */
26
41
  completeIcon?: IconSource;
42
+ /** The action's priority, shown before the other details with its glyph tinted by level. */
43
+ priority?: ActionItemPriority;
27
44
  /** Facts shown after the title, each with an optional glyph. */
28
45
  details?: ActionItemDetail[];
29
46
  /** Categories the action belongs to, as dotted text. */
@@ -55,6 +72,12 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
55
72
  * schedules the action, a delete button for a stale one. Rendered as given.
56
73
  */
57
74
  secondary?: ReactNode;
75
+ /**
76
+ * The product's controls that place this row in its list, set before the
77
+ * card and outside it: a vertical `ReorderControl`, say. Kept out of the card, so a
78
+ * list that shows the same action unordered doesn't carry them.
79
+ */
80
+ leading?: ReactNode;
58
81
  /** Heading level for the title. Defaults to `h3`; match the surrounding outline. */
59
82
  titleAs?: 'h2' | 'h3' | 'h4';
60
83
  /** Extra class names on the `<li>`. */
@@ -81,9 +104,12 @@ export interface ActionItemProps extends Omit<ComponentProps<'li'>, 'title' | 'c
81
104
  * Wide, the row reads left to right. Narrow, the toggle, the title and the
82
105
  * checkbox share the first line; the details and categories follow, lined up
83
106
  * under the title, and the second line and the controls share a footer
84
- * across the full width. Attributes other than the props land
85
- * on the `<li>`: a virtualised list gives each row `aria-setsize` and
86
- * `aria-posinset`, so the count a screen reader hears is the whole list's.
107
+ * across the full width. With `leading`, the product's placing controls stand before the
108
+ * card, centred against it, and a message passed as children stays under
109
+ * the card. Attributes other than the props land on the `<li>`: a
110
+ * virtualised list gives each row `aria-setsize` and `aria-posinset`, so the
111
+ * count a screen reader hears is the whole list's, and a sortable list
112
+ * passes its drag library's ref and transform style.
87
113
  */
88
- export declare function ActionItem({ title, completed, onCompletedChange, completeIcon, details, categories, maxVisibleCategories, note, noteTone, selected, onSelectedChange, controls, secondary, titleAs, className, children, ...listItemProps }: ActionItemProps): import("react/jsx-runtime").JSX.Element;
114
+ export declare function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details, categories, maxVisibleCategories, note, noteTone, selected, onSelectedChange, controls, secondary, leading, titleAs, className, children, ...listItemProps }: ActionItemProps): import("react/jsx-runtime").JSX.Element;
89
115
  //# 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":"AAAA,OAAO,EAEL,KAAK,YAAY,EAOjB,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,mBAAmB,CAAC;AAE3B,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,4GAA4G;AAC5G,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAE5E,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IACtE,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,+DAA+D;IAC/D,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,gEAAgE;IAChE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,wDAAwD;IACxD,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oFAAoF;IACpF,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,OAAY,EACZ,UAAe,EACf,oBAAwB,EACxB,IAAI,EACJ,QAAkB,EAClB,QAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,OAAc,EACd,SAAS,EACT,QAAQ,EACR,GAAG,aAAa,EACjB,EAAE,eAAe,2CAmFjB"}
1
+ {"version":3,"file":"action-item.d.ts","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAOjB,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,mBAAmB,CAAC;AAE3B,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,mFAAmF;AACnF,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,sGAAsG;AACtG,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,EAAE,uBAAuB,CAAC;IAC/B,oHAAoH;IACpH,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,4GAA4G;AAC5G,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAE5E,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IACtE,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,+DAA+D;IAC/D,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,gEAAgE;IAChE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,wDAAwD;IACxD,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yGAAyG;IACzG,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;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;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,OAAY,EACZ,UAAe,EACf,oBAAwB,EACxB,IAAI,EACJ,QAAkB,EAClB,QAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAc,EACd,SAAS,EACT,QAAQ,EACR,GAAG,aAAa,EACjB,EAAE,eAAe,2CAyGjB"}
@@ -17,11 +17,14 @@ import './action-item.css';
17
17
  * Wide, the row reads left to right. Narrow, the toggle, the title and the
18
18
  * checkbox share the first line; the details and categories follow, lined up
19
19
  * under the title, and the second line and the controls share a footer
20
- * across the full width. Attributes other than the props land
21
- * on the `<li>`: a virtualised list gives each row `aria-setsize` and
22
- * `aria-posinset`, so the count a screen reader hears is the whole list's.
20
+ * across the full width. With `leading`, the product's placing controls stand before the
21
+ * card, centred against it, and a message passed as children stays under
22
+ * the card. Attributes other than the props land on the `<li>`: a
23
+ * virtualised list gives each row `aria-setsize` and `aria-posinset`, so the
24
+ * count a screen reader hears is the whole list's, and a sortable list
25
+ * passes its drag library's ref and transform style.
23
26
  */
24
- export function ActionItem({ title, completed, onCompletedChange, completeIcon, details = [], categories = [], maxVisibleCategories = 2, note, noteTone = 'muted', selected = false, onSelectedChange, controls, secondary, titleAs = 'h3', className, children, ...listItemProps }) {
27
+ export function ActionItem({ title, completed, onCompletedChange, completeIcon, priority, details = [], categories = [], maxVisibleCategories = 2, note, noteTone = 'muted', selected = false, onSelectedChange, controls, secondary, leading, titleAs = 'h3', className, children, ...listItemProps }) {
25
28
  const selectable = onSelectedChange !== undefined;
26
29
  const toggle = completeIcon && onCompletedChange ? (_jsx(IconButton, { className: "mui-action-item__complete", variant: completed ? 'primary' : 'secondary', size: "md", icon: completeIcon, "aria-pressed": completed, "aria-label": `Complete ${title}`, onClick: () => onCompletedChange(!completed) })) : null;
27
30
  /*
@@ -35,7 +38,8 @@ export function ActionItem({ title, completed, onCompletedChange, completeIcon,
35
38
  seen.set(detail.label, rank + 1);
36
39
  return (_jsxs("span", { className: "mui-action-item__detail", children: [detail.icon && _jsx(Icon, { source: detail.icon, size: "sm", decorative: true }), detail.label] }, `${detail.label}-${rank}`));
37
40
  });
38
- const detailList = details.length > 0 || note ? (_jsxs("p", { className: "mui-action-item__details", children: [detailRows, note && (_jsx(Badge, { variant: noteTone, className: "mui-action-item__note", children: note }))] })) : null;
39
- return (_jsxs("li", { ...listItemProps, className: cx('mui-action-item', completed && 'mui-action-item--completed', selectable && selected && 'mui-action-item--selected', className), children: [_jsx(Card, { className: "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] }));
41
+ 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__priority-icon" })), priority.label] })) : null;
42
+ 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;
43
+ return (_jsxs("li", { ...listItemProps, className: cx('mui-action-item', completed && 'mui-action-item--completed', selectable && selected && 'mui-action-item--selected', className), children: [leading && _jsx("div", { className: "mui-action-item__leading", children: leading }), _jsx(Card, { className: "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] }));
40
44
  }
41
45
  //# sourceMappingURL=action-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,EAEL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,UAAU,GAEX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACvE,OAAO,mBAAmB,CAAC;AAsE3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,EAAE,EACf,oBAAoB,GAAG,CAAC,EACxB,IAAI,EACJ,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,KAAK,EAChB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,OAAO,GAAG,IAAI,EACd,SAAS,EACT,QAAQ,EACR,GAAG,aAAa,EACA;IAChB,MAAM,UAAU,GAAG,gBAAgB,KAAK,SAAS,CAAC;IAClD,MAAM,MAAM,GACV,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAClC,KAAC,UAAU,IACT,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAC5C,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,YAAY,kBACJ,SAAS,gBACX,YAAY,KAAK,EAAE,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAC5C,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX;;;;OAIG;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,CACL,gBAAsC,SAAS,EAAC,yBAAyB,aACtE,MAAM,CAAC,IAAI,IAAI,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,SAAG,EACjE,MAAM,CAAC,KAAK,KAFJ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAG7B,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAC3B,aAAG,SAAS,EAAC,0BAA0B,aACpC,UAAU,EACV,IAAI,IAAI,CACP,KAAC,KAAK,IAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAC,uBAAuB,YACxD,IAAI,GACC,CACT,IACC,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,CACL,iBACM,aAAa,EACjB,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB,SAAS,IAAI,4BAA4B,EACzC,UAAU,IAAI,QAAQ,IAAI,2BAA2B,EACrD,SAAS,CACV,aAED,KAAC,IAAI,IAAC,SAAS,EAAC,uBAAuB,YACrC,eAAK,SAAS,EAAC,sBAAsB,aAClC,MAAM,EACP,eAAK,SAAS,EAAC,uBAAuB,aACpC,KAAC,SAAS,IAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,wBAAwB,YACvD,KAAK,GACI,EACX,UAAU,EACX,KAAC,cAAc,IACb,SAAS,EAAC,6BAA6B,EACvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,oBAAoB,GAChC,EACD,SAAS,IAAI,cAAK,SAAS,EAAC,4BAA4B,YAAE,SAAS,GAAO,IACvE,EACL,QAAQ,IAAI,cAAK,SAAS,EAAC,2BAA2B,YAAE,QAAQ,GAAO,EACvE,UAAU,IAAI,CACb,KAAC,QAAQ,IACP,SAAS,EAAC,yBAAyB,gBACvB,UAAU,KAAK,EAAE,EAC7B,OAAO,EAAE,QAAQ,EACjB,eAAe,EAAE,gBAAgB,GACjC,CACH,IACG,GACD,EACN,QAAQ,IACN,CACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item/action-item.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export type { ActionItemDetail, ActionItemNoteTone, ActionItemProps } from './action-item';
1
+ export type { ActionItemDetail, ActionItemNoteTone, ActionItemPriority, ActionItemPriorityLevel, ActionItemProps, } from './action-item';
2
2
  export { ActionItem } from './action-item';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action-item/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action-item/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action-item/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action-item/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -91,9 +91,36 @@
91
91
  justify-self: end;
92
92
  }
93
93
 
94
+ /*
95
+ * A track only for what the row holds, since an empty track still keeps
96
+ * its gutter: the controls get a column when there are some, and take
97
+ * the toggle's when there is none. Capped like the toggle, so a long
98
+ * label wraps in its share.
99
+ */
100
+ & .mui-focus-item__row:has(> .mui-focus-item__controls) {
101
+ grid-template-columns: minmax(0, 1fr) fit-content(40%) fit-content(30%) fit-content(30%);
102
+ grid-template-areas: "main categories toggle controls";
103
+ }
104
+
105
+ & .mui-focus-item__row:has(> .mui-focus-item__controls):not(:has(> .mui-focus-item__toggle)) {
106
+ grid-template-columns: minmax(0, 1fr) fit-content(40%) fit-content(30%);
107
+ grid-template-areas: "main categories controls";
108
+ }
109
+
110
+ & .mui-focus-item__controls {
111
+ grid-area: controls;
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ align-items: center;
115
+ justify-content: flex-end;
116
+ gap: var(--semantic-space-gap);
117
+ }
118
+
94
119
  /* Narrow: laid out as GoalListItem's, with the toggle beside the title. */
95
120
  @container mui-focus-item (max-width: 36rem) {
96
- & .mui-focus-item__row {
121
+ & .mui-focus-item__row,
122
+ & .mui-focus-item__row:has(> .mui-focus-item__controls),
123
+ & .mui-focus-item__row:has(> .mui-focus-item__controls):not(:has(> .mui-focus-item__toggle)) {
97
124
  grid-template-columns: minmax(0, 1fr) fit-content(clamp(50%, 8rem, 60%));
98
125
  grid-template-areas: none;
99
126
  align-items: start;
@@ -120,6 +147,38 @@
120
147
  & .mui-focus-item__categories {
121
148
  justify-content: flex-start;
122
149
  }
150
+
151
+ & .mui-focus-item__controls {
152
+ grid-area: auto;
153
+ grid-column: 1 / -1;
154
+ justify-self: end;
155
+ }
156
+ }
157
+
158
+ /*
159
+ * The product's placing controls stand before the card, centred against
160
+ * it, with a message passed as children kept under the card. The card
161
+ * becomes the container the narrow layout measures, so the row collapses
162
+ * by the width inside the card (its padding excluded) rather than by the
163
+ * whole row, controls included.
164
+ */
165
+ &:has(> .mui-focus-item__leading) {
166
+ container-type: normal;
167
+ grid-template-columns: auto minmax(0, 1fr);
168
+ column-gap: var(--semantic-space-gap);
169
+
170
+ & > :not(.mui-focus-item__leading) {
171
+ grid-column: 2;
172
+ }
173
+
174
+ & > .mui-focus-item__card {
175
+ container: mui-focus-item / inline-size;
176
+ }
177
+ }
178
+
179
+ & > .mui-focus-item__leading {
180
+ grid-row: 1;
181
+ align-self: center;
123
182
  }
124
183
  }
125
184
  }
@@ -1,5 +1,5 @@
1
1
  import { type IconSource } from '@manakind/ui-core';
2
- import type { ReactNode } from 'react';
2
+ import type { ComponentProps, ReactNode } from 'react';
3
3
  import { type GoalCategory } from '../goal-categories';
4
4
  import './focus-item.css';
5
5
  /** What a focus row holds: a single action, or an outcome that groups actions. */
@@ -11,7 +11,7 @@ export interface FocusItemAction {
11
11
  /** The action's description. */
12
12
  title: string;
13
13
  }
14
- export interface FocusItemProps {
14
+ export interface FocusItemProps extends Omit<ComponentProps<'li'>, 'title' | 'children' | 'className'> {
15
15
  /** Whether the row is an action or an outcome. Shown as text beside `kindIcon`. */
16
16
  kind: FocusItemKind;
17
17
  /** The action's description or the outcome. Rendered as the row's heading. */
@@ -42,6 +42,17 @@ export interface FocusItemProps {
42
42
  * colour. Falls back to `focusIcon`.
43
43
  */
44
44
  focusedIcon?: IconSource;
45
+ /**
46
+ * The product's controls that act on this item, placed after the focus
47
+ * toggle: an edit button. They render as given; the row only places them.
48
+ */
49
+ controls?: ReactNode;
50
+ /**
51
+ * The product's controls that place this item in its list, set before the
52
+ * card and outside it: a vertical `ReorderControl`, say. Kept out of the card, so a
53
+ * list that shows the same item unordered doesn't carry them.
54
+ */
55
+ leading?: ReactNode;
45
56
  /** Heading level for the title. Defaults to `h3`; match the surrounding outline. */
46
57
  titleAs?: 'h2' | 'h3' | 'h4';
47
58
  /** Extra class names on the `<li>`. */
@@ -65,9 +76,13 @@ export interface FocusItemProps {
65
76
  * instead.
66
77
  *
67
78
  * Wide, the row reads left to right: title over its details and actions,
68
- * then categories, then the toggle. Narrow, only the title shares a line
69
- * with the toggle; the details, actions and categories take the full width
70
- * below.
79
+ * then categories, then the toggle and the product's controls. Narrow, only
80
+ * the title shares a line with the toggle; the details, actions and
81
+ * categories take the full width below, and the controls close the row at
82
+ * its end. With `leading`, the product's placing controls stand before the card, centred
83
+ * against it, and a message passed as children stays under the card.
84
+ * Attributes other than the props land on the `<li>`: a sortable list
85
+ * passes its drag library's ref and transform style there.
71
86
  */
72
- export declare function FocusItem({ kind, title, kindIcon, details, categories, actions, focused, onFocusedChange, focusIcon, focusedIcon, titleAs, className, children, }: FocusItemProps): import("react/jsx-runtime").JSX.Element;
87
+ export declare function FocusItem({ kind, title, kindIcon, details, categories, actions, focused, onFocusedChange, focusIcon, focusedIcon, controls, leading, titleAs, className, children, ...listItemProps }: FocusItemProps): import("react/jsx-runtime").JSX.Element;
73
88
  //# sourceMappingURL=focus-item.d.ts.map
@@ -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,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,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,cAAc;IAC7B,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,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;;;;;;;;;;;;;;;;GAgBG;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,OAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,cAAc,2CA+DhB"}
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,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,2CAkEhB"}
@@ -19,17 +19,21 @@ const KIND_LABELS = {
19
19
  * instead.
20
20
  *
21
21
  * Wide, the row reads left to right: title over its details and actions,
22
- * then categories, then the toggle. Narrow, only the title shares a line
23
- * with the toggle; the details, actions and categories take the full width
24
- * below.
22
+ * then categories, then the toggle and the product's controls. Narrow, only
23
+ * the title shares a line with the toggle; the details, actions and
24
+ * categories take the full width below, and the controls close the row at
25
+ * its end. With `leading`, the product's placing controls stand before the card, centred
26
+ * against it, and a message passed as children stays under the card.
27
+ * Attributes other than the props land on the `<li>`: a sortable list
28
+ * passes its drag library's ref and transform style there.
25
29
  */
26
- export function FocusItem({ kind, title, kindIcon, details = [], categories = [], actions = [], focused, onFocusedChange, focusIcon, focusedIcon = focusIcon, titleAs = 'h3', className, children, }) {
30
+ export function FocusItem({ kind, title, kindIcon, details = [], categories = [], actions = [], focused, onFocusedChange, focusIcon, focusedIcon = focusIcon, controls, leading, titleAs = 'h3', className, children, ...listItemProps }) {
27
31
  const isOutcome = kind === 'outcome';
28
32
  const actionCount = `${actions.length} open ${actions.length === 1 ? 'action' : 'actions'}`;
29
33
  const facts = [...new Set(isOutcome ? [actionCount, ...details] : details)];
30
34
  const handleToggle = () => onFocusedChange?.(!focused);
31
35
  const actionList = isOutcome && actions.length > 0 ? (_jsx("ul", { className: "mui-focus-item__actions", "aria-label": `Open actions for ${title}`, children: actions.map((action) => (_jsx("li", { className: "mui-focus-item__action", children: action.title }, action.id))) })) : null;
32
36
  const toggle = onFocusedChange ? (_jsx(Button, { className: "mui-focus-item__toggle", variant: focused ? 'primary' : 'secondary', size: "sm", leadingIcon: focused ? focusedIcon : focusIcon, "aria-pressed": focused, "aria-label": `Focus ${title}`, onClick: handleToggle, children: "Focus" })) : null;
33
- return (_jsxs("li", { className: cx('mui-focus-item', className), children: [_jsx(Card, { className: "mui-focus-item__card", children: _jsxs("div", { className: "mui-focus-item__row", children: [_jsxs("div", { className: "mui-focus-item__main", children: [_jsx(CardTitle, { as: titleAs, className: "mui-focus-item__title", children: title }), _jsxs("p", { className: "mui-focus-item__details", children: [_jsxs("span", { className: "mui-focus-item__kind", children: [kindIcon && _jsx(Icon, { source: kindIcon, size: "sm", decorative: true }), KIND_LABELS[kind]] }), facts.map((fact) => (_jsx("span", { className: "mui-focus-item__detail", children: fact }, fact)))] }), actionList] }), _jsx(GoalCategories, { className: "mui-focus-item__categories", categories: categories }), toggle] }) }), children] }));
37
+ return (_jsxs("li", { ...listItemProps, className: cx('mui-focus-item', className), children: [leading && _jsx("div", { className: "mui-focus-item__leading", children: leading }), _jsx(Card, { className: "mui-focus-item__card", children: _jsxs("div", { className: "mui-focus-item__row", children: [_jsxs("div", { className: "mui-focus-item__main", children: [_jsx(CardTitle, { as: titleAs, className: "mui-focus-item__title", children: title }), _jsxs("p", { className: "mui-focus-item__details", children: [_jsxs("span", { className: "mui-focus-item__kind", children: [kindIcon && _jsx(Icon, { source: kindIcon, size: "sm", decorative: true }), KIND_LABELS[kind]] }), facts.map((fact) => (_jsx("span", { className: "mui-focus-item__detail", children: fact }, fact)))] }), actionList] }), _jsx(GoalCategories, { className: "mui-focus-item__categories", categories: categories }), toggle, controls && _jsx("div", { className: "mui-focus-item__controls", children: controls })] }) }), children] }));
34
38
  }
35
39
  //# sourceMappingURL=focus-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-item.js","sourceRoot":"","sources":["../../src/focus-item/focus-item.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-item.js","sourceRoot":"","sources":["../../src/focus-item/focus-item.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manakind/manuia-ui",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,8 +37,8 @@
37
37
  "vr": "playwright test"
38
38
  },
39
39
  "dependencies": {
40
- "@manakind/manuia-tokens": "0.15.0",
41
- "@manakind/ui-core": "0.16.0"
40
+ "@manakind/manuia-tokens": "0.17.0",
41
+ "@manakind/ui-core": "0.17.0"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": "^19.0.0",