@manakind/manuia-ui 0.9.1 → 0.11.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.
- package/dist/focus-item/focus-item.css +111 -0
- package/dist/focus-item/focus-item.css.d.ts +2 -0
- package/dist/focus-item/focus-item.d.ts +72 -0
- package/dist/focus-item/focus-item.d.ts.map +1 -0
- package/dist/focus-item/focus-item.js +34 -0
- package/dist/focus-item/focus-item.js.map +1 -0
- package/dist/focus-item/index.d.ts +3 -0
- package/dist/focus-item/index.d.ts.map +1 -0
- package/dist/focus-item/index.js +2 -0
- package/dist/focus-item/index.js.map +1 -0
- package/dist/focus-list/focus-list.css +10 -0
- package/dist/focus-list/focus-list.css.d.ts +2 -0
- package/dist/focus-list/focus-list.d.ts +16 -0
- package/dist/focus-list/focus-list.d.ts.map +1 -0
- package/dist/focus-list/focus-list.js +15 -0
- package/dist/focus-list/focus-list.js.map +1 -0
- package/dist/focus-list/index.d.ts +3 -0
- package/dist/focus-list/index.d.ts.map +1 -0
- package/dist/focus-list/index.js +2 -0
- package/dist/focus-list/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.mui-focus-item {
|
|
3
|
+
/*
|
|
4
|
+
* The row lays out by its own width, as GoalListItem does, so a list in a
|
|
5
|
+
* narrow column collapses the same way a list on a phone does.
|
|
6
|
+
*/
|
|
7
|
+
container: mui-focus-item / inline-size;
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* A message passed as children sits under the row. The track is pinned
|
|
11
|
+
* to the item's width: left `auto`, a word too long to break would widen
|
|
12
|
+
* the row past the list.
|
|
13
|
+
*/
|
|
14
|
+
display: grid;
|
|
15
|
+
grid-template-columns: minmax(0, 1fr);
|
|
16
|
+
gap: var(--semantic-space-gap-tight);
|
|
17
|
+
|
|
18
|
+
& .mui-focus-item__card {
|
|
19
|
+
--ds-card-padding: var(--semantic-space-padding);
|
|
20
|
+
--ds-card-title-font-size: var(--primitives-font-size-md);
|
|
21
|
+
--ds-card-title-font-weight: var(--primitives-font-weight-regular);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* Categories are capped at 40% of the row so long names wrap in their
|
|
26
|
+
* share instead of squeezing the title, as on GoalListItem.
|
|
27
|
+
*/
|
|
28
|
+
& .mui-focus-item__row {
|
|
29
|
+
display: grid;
|
|
30
|
+
grid-template-columns: minmax(0, 1fr) fit-content(40%) auto;
|
|
31
|
+
grid-template-areas: "main categories toggle";
|
|
32
|
+
align-items: center;
|
|
33
|
+
gap: var(--semantic-space-gap) var(--semantic-space-gap-relaxed);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
& .mui-focus-item__main {
|
|
37
|
+
grid-area: main;
|
|
38
|
+
display: flex;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
gap: var(--semantic-space-gap-tight);
|
|
41
|
+
min-width: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
& .mui-focus-item__title {
|
|
45
|
+
--ds-card-text: var(--ds-card-text-muted);
|
|
46
|
+
|
|
47
|
+
overflow-wrap: anywhere;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
& .mui-focus-item__details {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-wrap: wrap;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: var(--semantic-space-gap-tight) var(--semantic-space-gap-relaxed);
|
|
55
|
+
margin: 0;
|
|
56
|
+
color: var(--semantic-color-text-muted);
|
|
57
|
+
font-size: var(--primitives-font-size-xs);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
& .mui-focus-item__kind {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: var(--semantic-space-gap-tight);
|
|
64
|
+
font-weight: var(--primitives-font-weight-semibold);
|
|
65
|
+
white-space: nowrap;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Details are product data (a project name), so they may break anywhere. */
|
|
69
|
+
& .mui-focus-item__detail {
|
|
70
|
+
overflow-wrap: anywhere;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
& .mui-focus-item__actions {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
gap: var(--semantic-space-gap-tight);
|
|
77
|
+
margin: 0;
|
|
78
|
+
padding-inline-start: var(--semantic-space-padding);
|
|
79
|
+
color: var(--semantic-color-text-muted);
|
|
80
|
+
font-size: var(--primitives-font-size-sm);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
& .mui-focus-item__action {
|
|
84
|
+
overflow-wrap: anywhere;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
& .mui-focus-item__categories {
|
|
88
|
+
grid-area: categories;
|
|
89
|
+
justify-content: flex-end;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
& .mui-focus-item__toggle {
|
|
93
|
+
grid-area: toggle;
|
|
94
|
+
justify-self: end;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@container mui-focus-item (max-width: 36rem) {
|
|
98
|
+
& .mui-focus-item__row {
|
|
99
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
100
|
+
grid-template-areas:
|
|
101
|
+
"main toggle"
|
|
102
|
+
"categories categories";
|
|
103
|
+
align-items: start;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
& .mui-focus-item__categories {
|
|
107
|
+
justify-content: flex-start;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type IconSource } from '@manakind/ui-core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import { type GoalCategory } from '../goal-categories';
|
|
4
|
+
import './focus-item.css';
|
|
5
|
+
/** What a focus row holds: a single action, or an outcome that groups actions. */
|
|
6
|
+
export type FocusItemKind = 'action' | 'outcome';
|
|
7
|
+
/** One open action listed under an outcome. */
|
|
8
|
+
export interface FocusItemAction {
|
|
9
|
+
/** Stable identifier. */
|
|
10
|
+
id: string;
|
|
11
|
+
/** The action's description. */
|
|
12
|
+
title: string;
|
|
13
|
+
}
|
|
14
|
+
export interface FocusItemProps {
|
|
15
|
+
/** Whether the row is an action or an outcome. Shown as text beside `kindIcon`. */
|
|
16
|
+
kind: FocusItemKind;
|
|
17
|
+
/** The action's description or the outcome. Rendered as the row's heading. */
|
|
18
|
+
title: string;
|
|
19
|
+
/** Glyph beside the kind, supplied by the product. */
|
|
20
|
+
kindIcon?: IconSource;
|
|
21
|
+
/** Pre-formatted facts shown after the kind, such as "High priority" or "30 min". */
|
|
22
|
+
details?: string[];
|
|
23
|
+
/** Categories the item belongs to, as dotted text. */
|
|
24
|
+
categories?: GoalCategory[];
|
|
25
|
+
/**
|
|
26
|
+
* An outcome's open actions, listed under its title. Ignored for an action.
|
|
27
|
+
* An outcome with none says so.
|
|
28
|
+
*/
|
|
29
|
+
actions?: FocusItemAction[];
|
|
30
|
+
/** Whether the item is focused. Drives the toggle's pressed state. */
|
|
31
|
+
focused: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Called with the new state when the focus toggle is pressed. Without it
|
|
34
|
+
* the row has no toggle.
|
|
35
|
+
*/
|
|
36
|
+
onFocusedChange?: (focused: boolean) => void;
|
|
37
|
+
/** Glyph on the focus toggle while the item is not focused, supplied by the product. */
|
|
38
|
+
focusIcon?: IconSource;
|
|
39
|
+
/**
|
|
40
|
+
* Glyph on the toggle while the item is focused. Give it an outline that
|
|
41
|
+
* differs from `focusIcon`'s, so the pressed state reads without its fill
|
|
42
|
+
* colour. Falls back to `focusIcon`.
|
|
43
|
+
*/
|
|
44
|
+
focusedIcon?: IconSource;
|
|
45
|
+
/** Heading level for the title. Defaults to `h3`; match the surrounding outline. */
|
|
46
|
+
titleAs?: 'h2' | 'h3' | 'h4';
|
|
47
|
+
/** Extra class names on the `<li>`. */
|
|
48
|
+
className?: string;
|
|
49
|
+
/**
|
|
50
|
+
* A message about this item, shown under the row inside the same `<li>`:
|
|
51
|
+
* an `Alert` after a failed change, say.
|
|
52
|
+
*/
|
|
53
|
+
children?: ReactNode;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* One focused Manuia action or outcome as a row. Render it inside a
|
|
57
|
+
* `FocusList`: it is the `<li>`.
|
|
58
|
+
*
|
|
59
|
+
* The focus toggle is a pressed/unpressed button whose name stays "Focus …"
|
|
60
|
+
* in both states, so a screen reader hears the state change rather than a
|
|
61
|
+
* different control. Pressed, it takes the primary look and `focusedIcon`;
|
|
62
|
+
* unpressed, the secondary look and `focusIcon`. It has no pending state:
|
|
63
|
+
* ui-core's `loading` disables the button, which would drop keyboard focus
|
|
64
|
+
* from the control just pressed, so the product keeps its change idempotent
|
|
65
|
+
* instead.
|
|
66
|
+
*
|
|
67
|
+
* Wide, the row reads left to right: title over its details and actions,
|
|
68
|
+
* then categories, then the toggle. Narrow, the categories drop below and
|
|
69
|
+
* the toggle stays beside the title.
|
|
70
|
+
*/
|
|
71
|
+
export declare function FocusItem({ kind, title, kindIcon, details, categories, actions, focused, onFocusedChange, focusIcon, focusedIcon, titleAs, className, children, }: FocusItemProps): import("react/jsx-runtime").JSX.Element;
|
|
72
|
+
//# sourceMappingURL=focus-item.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;GAeG;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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Card, CardTitle, cx, Icon } from '@manakind/ui-core';
|
|
3
|
+
import { GoalCategories } from '../goal-categories';
|
|
4
|
+
import './focus-item.css';
|
|
5
|
+
const KIND_LABELS = {
|
|
6
|
+
action: 'Action',
|
|
7
|
+
outcome: 'Outcome',
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* One focused Manuia action or outcome as a row. Render it inside a
|
|
11
|
+
* `FocusList`: it is the `<li>`.
|
|
12
|
+
*
|
|
13
|
+
* The focus toggle is a pressed/unpressed button whose name stays "Focus …"
|
|
14
|
+
* in both states, so a screen reader hears the state change rather than a
|
|
15
|
+
* different control. Pressed, it takes the primary look and `focusedIcon`;
|
|
16
|
+
* unpressed, the secondary look and `focusIcon`. It has no pending state:
|
|
17
|
+
* ui-core's `loading` disables the button, which would drop keyboard focus
|
|
18
|
+
* from the control just pressed, so the product keeps its change idempotent
|
|
19
|
+
* instead.
|
|
20
|
+
*
|
|
21
|
+
* Wide, the row reads left to right: title over its details and actions,
|
|
22
|
+
* then categories, then the toggle. Narrow, the categories drop below and
|
|
23
|
+
* the toggle stays beside the title.
|
|
24
|
+
*/
|
|
25
|
+
export function FocusItem({ kind, title, kindIcon, details = [], categories = [], actions = [], focused, onFocusedChange, focusIcon, focusedIcon = focusIcon, titleAs = 'h3', className, children, }) {
|
|
26
|
+
const isOutcome = kind === 'outcome';
|
|
27
|
+
const actionCount = `${actions.length} open ${actions.length === 1 ? 'action' : 'actions'}`;
|
|
28
|
+
const facts = [...new Set(isOutcome ? [actionCount, ...details] : details)];
|
|
29
|
+
const handleToggle = () => onFocusedChange?.(!focused);
|
|
30
|
+
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;
|
|
31
|
+
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;
|
|
32
|
+
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] }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=focus-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-item.js","sourceRoot":"","sources":["../../src/focus-item/focus-item.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAmB,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACvE,OAAO,kBAAkB,CAAC;AAa1B,MAAM,WAAW,GAAkC;IACjD,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AA4CF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,EAAE,EACf,OAAO,GAAG,EAAE,EACZ,OAAO,EACP,eAAe,EACf,SAAS,EACT,WAAW,GAAG,SAAS,EACvB,OAAO,GAAG,IAAI,EACd,SAAS,EACT,QAAQ,GACO;IACf,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC;IACrC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAEvD,MAAM,UAAU,GACd,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAChC,aAAI,SAAS,EAAC,yBAAyB,gBAAa,oBAAoB,KAAK,EAAE,YAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,aAAoB,SAAS,EAAC,wBAAwB,YACnD,MAAM,CAAC,KAAK,IADN,MAAM,CAAC,EAAE,CAEb,CACN,CAAC,GACC,CACN,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAC/B,KAAC,MAAM,IACL,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAC1C,IAAI,EAAC,IAAI,EACT,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,kBAChC,OAAO,gBACT,SAAS,KAAK,EAAE,EAC5B,OAAO,EAAE,YAAY,sBAGd,CACV,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,OAAO,CACL,cAAI,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,aAC5C,KAAC,IAAI,IAAC,SAAS,EAAC,sBAAsB,YACpC,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,SAAS,IAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,uBAAuB,YACtD,KAAK,GACI,EAEZ,aAAG,SAAS,EAAC,yBAAyB,aACpC,gBAAM,SAAS,EAAC,sBAAsB,aACnC,QAAQ,IAAI,KAAC,IAAI,IAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,SAAG,EAC3D,WAAW,CAAC,IAAI,CAAC,IACb,EACN,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAAiB,SAAS,EAAC,wBAAwB,YAChD,IAAI,IADI,IAAI,CAER,CACR,CAAC,IACA,EAEH,UAAU,IACP,EAEN,KAAC,cAAc,IAAC,SAAS,EAAC,4BAA4B,EAAC,UAAU,EAAE,UAAU,GAAI,EAEhF,MAAM,IACH,GACD,EACN,QAAQ,IACN,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-item/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-item/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
import './focus-list.css';
|
|
3
|
+
export interface FocusListProps extends ComponentProps<'ul'> {
|
|
4
|
+
/** `FocusItem`s. Each renders its own `<li>`. */
|
|
5
|
+
children?: ComponentProps<'ul'>['children'];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A `<ul>` of `FocusItem` rows: the actions and outcomes a Manuia user has
|
|
9
|
+
* chosen to focus on.
|
|
10
|
+
*
|
|
11
|
+
* A real list, so a screen reader announces how many items there are. Name it
|
|
12
|
+
* with `aria-label` or `aria-labelledby` when the heading above it doesn't
|
|
13
|
+
* already say what it lists.
|
|
14
|
+
*/
|
|
15
|
+
export declare function FocusList({ className, children, ...props }: FocusListProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=focus-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-list.d.ts","sourceRoot":"","sources":["../../src/focus-list/focus-list.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,IAAI,CAAC;IAC1D,iDAAiD;IACjD,QAAQ,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAM1E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from '@manakind/ui-core';
|
|
3
|
+
import './focus-list.css';
|
|
4
|
+
/**
|
|
5
|
+
* A `<ul>` of `FocusItem` rows: the actions and outcomes a Manuia user has
|
|
6
|
+
* chosen to focus on.
|
|
7
|
+
*
|
|
8
|
+
* A real list, so a screen reader announces how many items there are. Name it
|
|
9
|
+
* with `aria-label` or `aria-labelledby` when the heading above it doesn't
|
|
10
|
+
* already say what it lists.
|
|
11
|
+
*/
|
|
12
|
+
export function FocusList({ className, children, ...props }) {
|
|
13
|
+
return (_jsx("ul", { className: cx('mui-focus-list', className), ...props, children: children }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=focus-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-list.js","sourceRoot":"","sources":["../../src/focus-list/focus-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC,OAAO,kBAAkB,CAAC;AAO1B;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAkB;IACzE,OAAO,CACL,aAAI,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAM,KAAK,YACtD,QAAQ,GACN,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-list/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-list/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manakind/manuia-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.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.
|
|
41
|
-
"@manakind/ui-core": "0.
|
|
40
|
+
"@manakind/manuia-tokens": "0.10.0",
|
|
41
|
+
"@manakind/ui-core": "0.11.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^19.0.0",
|