@revikornmann/muka-ui 0.5.0 → 0.7.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/cli/commands/brand.js +7 -0
- package/cli/commands/init.js +7 -1
- package/cli/templates/CLAUDE.md +18 -4
- package/cli/templates/muka-ui-guidelines.md +20 -0
- package/dist/cjs/components/DataTable/DataTable.js +15 -2
- package/dist/cjs/components/DataTable/DataTable.js.map +1 -1
- package/dist/cjs/components/ListItem/ListItem.css +10 -4
- package/dist/cjs/components/NavigationTransition/NavigationTransition.js +25 -8
- package/dist/cjs/components/NavigationTransition/NavigationTransition.js.map +1 -1
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +207 -0
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +66 -0
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -0
- package/dist/cjs/components/ProgressAccordeon/index.js +11 -0
- package/dist/cjs/components/ProgressAccordeon/index.js.map +1 -0
- package/dist/cjs/components/SpecList/SpecList.css +34 -21
- package/dist/cjs/components/SpecList/SpecList.js +9 -3
- package/dist/cjs/components/SpecList/SpecList.js.map +1 -1
- package/dist/cjs/components/index.js +5 -3
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/DataTable/DataTable.js +15 -2
- package/dist/esm/components/DataTable/DataTable.js.map +1 -1
- package/dist/esm/components/ListItem/ListItem.css +10 -4
- package/dist/esm/components/NavigationTransition/NavigationTransition.js +25 -8
- package/dist/esm/components/NavigationTransition/NavigationTransition.js.map +1 -1
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +207 -0
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +62 -0
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -0
- package/dist/esm/components/ProgressAccordeon/index.js +3 -0
- package/dist/esm/components/ProgressAccordeon/index.js.map +1 -0
- package/dist/esm/components/SpecList/SpecList.css +34 -21
- package/dist/esm/components/SpecList/SpecList.js +9 -3
- package/dist/esm/components/SpecList/SpecList.js.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/styles/components/ListItem.css +10 -4
- package/dist/styles/components/ProgressAccordeon.css +207 -0
- package/dist/styles/components/SpecList.css +34 -21
- package/dist/styles/fonts/funnel-display-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/funnel-display.LICENSE.txt +93 -0
- package/dist/styles/fonts/funnel-sans-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/funnel-sans.LICENSE.txt +93 -0
- package/dist/styles/fonts/ibm-plex-sans-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/ibm-plex-sans.LICENSE.txt +93 -0
- package/dist/styles/fonts/lora-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/lora.LICENSE.txt +93 -0
- package/dist/styles/fonts/quicksand-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/quicksand.LICENSE.txt +93 -0
- package/dist/styles/fonts/red-hat-display-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/red-hat-display.LICENSE.txt +93 -0
- package/dist/styles/fonts/red-hat-text-latin-wght-normal.woff2 +0 -0
- package/dist/styles/fonts/red-hat-text.LICENSE.txt +93 -0
- package/dist/styles/fonts/yesteryear-latin-400-normal.woff2 +0 -0
- package/dist/styles/fonts/yesteryear.LICENSE.txt +93 -0
- package/dist/styles/fonts-all.css +75 -0
- package/dist/styles/fonts-bouwplan.css +30 -0
- package/dist/styles/fonts-fscl.css +21 -0
- package/dist/styles/fonts-grip.css +21 -0
- package/dist/styles/fonts-muka.css +30 -0
- package/dist/styles/fonts-wireframe.css +5 -0
- package/dist/styles/index.css +2880 -2474
- package/dist/styles/muka-dark.css +2880 -2474
- package/dist/styles/muka-light.css +2880 -2474
- package/dist/styles/tokens-bouwplan-dark.css +150 -5
- package/dist/styles/tokens-bouwplan-light.css +150 -5
- package/dist/styles/tokens-fscl-dark.css +150 -5
- package/dist/styles/tokens-fscl-light.css +150 -5
- package/dist/styles/tokens-grip-dark.css +150 -5
- package/dist/styles/tokens-grip-light.css +150 -5
- package/dist/styles/tokens-muka-dark.css +150 -5
- package/dist/styles/tokens-muka-light.css +150 -5
- package/dist/styles/tokens-wireframe-dark.css +150 -5
- package/dist/styles/tokens-wireframe-light.css +150 -5
- package/dist/styles/wireframe-dark.css +3304 -2930
- package/dist/styles/wireframe-light.css +3304 -2930
- package/dist/types/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/types/components/NavigationTransition/NavigationTransition.d.ts +3 -1
- package/dist/types/components/NavigationTransition/NavigationTransition.d.ts.map +1 -1
- package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +91 -0
- package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -0
- package/dist/types/components/ProgressAccordeon/index.d.ts +3 -0
- package/dist/types/components/ProgressAccordeon/index.d.ts.map +1 -0
- package/dist/types/components/SpecList/SpecList.d.ts +13 -5
- package/dist/types/components/SpecList/SpecList.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/docs/consumers/setup-instructions.md +22 -3
- package/package.json +12 -2
- package/scripts/build-fonts.js +248 -0
- package/scripts/build-tokens.js +12 -1
- package/tokens/t1-primitives/color.json +400 -0
- package/tokens/t1-primitives/motion.json +21 -0
- package/tokens/t2-alias/base.json +17 -0
- package/tokens/t2-alias/brand/bouwplan/dark.json +15 -1
- package/tokens/t2-alias/brand/bouwplan/light.json +15 -1
- package/tokens/t2-alias/brand/fscl/dark.json +15 -1
- package/tokens/t2-alias/brand/fscl/light.json +15 -1
- package/tokens/t2-alias/brand/grip/dark.json +51 -1
- package/tokens/t2-alias/brand/grip/light.json +51 -1
- package/tokens/t2-alias/brand/muka/dark.json +51 -1
- package/tokens/t2-alias/brand/muka/light.json +51 -1
- package/tokens/t2-alias/brand/wireframe/dark.json +51 -1
- package/tokens/t2-alias/brand/wireframe/light.json +51 -1
- package/tokens/t3-semantics/ui.json +25 -13
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { Divider } from '../Divider';
|
|
6
|
+
import './ProgressAccordeon.css';
|
|
7
|
+
/**
|
|
8
|
+
* ProgressAccordeon Component
|
|
9
|
+
*
|
|
10
|
+
* A single step in a vertical, progress-driven accordion flow. Each step
|
|
11
|
+
* combines a numbered/checked step indicator with a heading and an optional
|
|
12
|
+
* content slot — visualising both progress and the work for a step.
|
|
13
|
+
*
|
|
14
|
+
* States:
|
|
15
|
+
* - **past** — dark check indicator, heading, edit + chevron controls; the
|
|
16
|
+
* content slot collapses/expands via `collapsed` + `onToggle`
|
|
17
|
+
* - **current** — accent numbered indicator, heading, content slot, actions
|
|
18
|
+
* - **upcoming** — muted numbered indicator, heading only
|
|
19
|
+
*
|
|
20
|
+
* Content is passed as `children` (an optional slot) and rendered as-is — supply
|
|
21
|
+
* your own `Card` when you want a card surface. Composes the Button, Icon and
|
|
22
|
+
* Divider primitives and is fully themed through the Muka design token system.
|
|
23
|
+
*
|
|
24
|
+
* Tokens used:
|
|
25
|
+
* - alias.color.accent.{default|contrast} — step indicator fills
|
|
26
|
+
* - color.surface.sunken — upcoming indicator fill
|
|
27
|
+
* - color.text.default.{default|inverse} — indicator glyphs
|
|
28
|
+
* - text.heading.{md|sm} — step heading (responsive)
|
|
29
|
+
* - text.body.base.regular — supporting description
|
|
30
|
+
* - text.label.md.{bold|semibold} — indicator number
|
|
31
|
+
* - spacing.{1|4|6|8} — vertical rhythm and gaps
|
|
32
|
+
*
|
|
33
|
+
* @accessibility
|
|
34
|
+
* - Renders each step as a labelled group with `aria-current="step"` on the
|
|
35
|
+
* active (current) step.
|
|
36
|
+
* - The chevron toggle exposes `aria-expanded`.
|
|
37
|
+
*/
|
|
38
|
+
export const ProgressAccordeon = ({ state, stepNumber, heading, description, children, divider = true, collapsed = false, onToggle, editLabel = 'Edit', onEdit, primaryAction, secondaryAction, className = '', }) => {
|
|
39
|
+
const isPast = state === 'past';
|
|
40
|
+
const isCurrent = state === 'current';
|
|
41
|
+
const isExpanded = isPast && !collapsed;
|
|
42
|
+
const showToggle = isPast && Boolean(onToggle);
|
|
43
|
+
const showEdit = isExpanded && Boolean(onEdit);
|
|
44
|
+
const showDescription = Boolean(description) && !collapsed;
|
|
45
|
+
const hasSlot = (isExpanded || isCurrent) && Boolean(children);
|
|
46
|
+
const hasActions = isCurrent && Boolean(primaryAction || secondaryAction);
|
|
47
|
+
const rootClasses = [
|
|
48
|
+
'muka-progress-accordeon',
|
|
49
|
+
`muka-progress-accordeon--${state}`,
|
|
50
|
+
isPast && `muka-progress-accordeon--${collapsed ? 'collapsed' : 'expanded'}`,
|
|
51
|
+
className,
|
|
52
|
+
].filter(Boolean).join(' ');
|
|
53
|
+
const indicatorClasses = [
|
|
54
|
+
'muka-progress-accordeon__indicator',
|
|
55
|
+
`muka-progress-accordeon__indicator--${state}`,
|
|
56
|
+
].join(' ');
|
|
57
|
+
const header = (_jsxs("div", { className: "muka-progress-accordeon__header", children: [_jsxs("div", { className: "muka-progress-accordeon__header-row", children: [_jsxs("div", { className: "muka-progress-accordeon__heading-group", children: [_jsx("div", { className: indicatorClasses, "aria-hidden": "true", children: isPast ? (_jsx(Icon, { name: "check", variant: "fill", size: "sm", className: "muka-progress-accordeon__check-icon" })) : (_jsx("span", { className: "muka-progress-accordeon__number", children: stepNumber })) }), _jsx("h3", { className: "muka-progress-accordeon__heading", children: heading })] }), (showEdit || showToggle) && (_jsxs("div", { className: "muka-progress-accordeon__controls", children: [showEdit && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "tertiary", size: "md", onClick: onEdit, iconLeft: _jsx(Icon, { name: "pencil", variant: "line", size: "md" }), className: "muka-progress-accordeon__edit muka-progress-accordeon__edit--wide", children: editLabel }), _jsx(Button, { variant: "tertiary", size: "md", iconOnly: true, onClick: onEdit, className: "muka-progress-accordeon__edit muka-progress-accordeon__edit--narrow", "aria-label": editLabel, children: _jsx(Icon, { name: "pencil", variant: "line", size: "md" }) })] })), showToggle && (_jsx(Button, { variant: "tertiary", size: "md", iconOnly: true, onClick: onToggle, className: "muka-progress-accordeon__toggle", "aria-label": collapsed ? 'Expand' : 'Collapse', "aria-expanded": !collapsed, children: _jsx(Icon, { name: collapsed ? 'arrow-down-s' : 'arrow-up-s', variant: "line", size: "md" }) }))] }))] }), showDescription && (_jsx("div", { className: "muka-progress-accordeon__description", children: description }))] }));
|
|
58
|
+
const slot = hasSlot ? (_jsx("div", { className: "muka-progress-accordeon__slot", children: children })) : null;
|
|
59
|
+
return (_jsxs("div", { className: rootClasses, role: "group", "aria-label": `Step ${stepNumber}: ${heading}`, "aria-current": isCurrent ? 'step' : undefined, children: [isExpanded ? (_jsxs("div", { className: "muka-progress-accordeon__body", children: [header, slot] })) : (_jsxs(_Fragment, { children: [header, slot] })), hasActions && (_jsxs("div", { className: "muka-progress-accordeon__actions", children: [secondaryAction && (_jsx(Button, { variant: "secondary", size: "md", onClick: secondaryAction.onClick, disabled: secondaryAction.disabled, className: "muka-progress-accordeon__action", children: secondaryAction.label })), primaryAction && (_jsx(Button, { variant: "primary", size: "md", onClick: primaryAction.onClick, disabled: primaryAction.disabled, className: "muka-progress-accordeon__action", children: primaryAction.label }))] })), divider && _jsx(Divider, { className: "muka-progress-accordeon__divider" })] }));
|
|
60
|
+
};
|
|
61
|
+
export default ProgressAccordeon;
|
|
62
|
+
//# sourceMappingURL=ProgressAccordeon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressAccordeon.js","sourceRoot":"","sources":["../../../../components/ProgressAccordeon/ProgressAccordeon.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/ProgressAccordeon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -3,55 +3,48 @@
|
|
|
3
3
|
.muka-spec-list {
|
|
4
4
|
margin: 0;
|
|
5
5
|
padding: 0;
|
|
6
|
-
background-color: var(--color-surface-level1);
|
|
7
|
-
border-radius: var(--radius-md);
|
|
8
|
-
overflow: hidden;
|
|
9
6
|
}
|
|
10
7
|
|
|
11
8
|
/* ─── Row ─────────────────────────────────────────────── */
|
|
12
9
|
|
|
13
10
|
.muka-spec-row {
|
|
14
11
|
display: flex;
|
|
15
|
-
align-items:
|
|
12
|
+
align-items: flex-start;
|
|
16
13
|
gap: var(--spacing-3);
|
|
17
|
-
padding: var(--spacing-3)
|
|
18
|
-
border-top: var(--border-width-regular) solid var(--color-border-default);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.muka-spec-row:first-child {
|
|
22
|
-
border-top: none;
|
|
14
|
+
padding-bottom: var(--spacing-3);
|
|
23
15
|
}
|
|
24
16
|
|
|
25
17
|
/* ─── Label ───────────────────────────────────────────── */
|
|
26
18
|
|
|
27
19
|
.muka-spec-row__label {
|
|
28
20
|
flex: 0 0 auto;
|
|
29
|
-
min-width: 40%;
|
|
30
21
|
margin: 0;
|
|
31
22
|
color: var(--color-text-subtle-default);
|
|
32
23
|
font-family: var(--text-body-md-regular-fontFamily);
|
|
33
24
|
font-weight: var(--text-body-md-regular-fontWeight);
|
|
34
25
|
font-size: var(--text-body-md-regular-fontSize);
|
|
35
26
|
line-height: var(--text-body-md-regular-lineHeight);
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
white-space: nowrap;
|
|
36
30
|
}
|
|
37
31
|
|
|
38
32
|
/* ─── Value ───────────────────────────────────────────── */
|
|
39
33
|
|
|
40
34
|
.muka-spec-row__value {
|
|
41
|
-
flex: 1 1
|
|
35
|
+
flex: 1 1 0;
|
|
36
|
+
min-width: 0;
|
|
42
37
|
margin: 0;
|
|
43
38
|
display: flex;
|
|
44
39
|
flex-direction: column;
|
|
45
|
-
align-items: flex-end;
|
|
46
|
-
text-align: right;
|
|
47
40
|
color: var(--color-text-default-default);
|
|
48
41
|
}
|
|
49
42
|
|
|
50
43
|
.muka-spec-row__value-text {
|
|
51
|
-
font-family: var(--text-body-md-
|
|
52
|
-
font-weight: var(--text-body-md-
|
|
53
|
-
font-size: var(--text-body-md-
|
|
54
|
-
line-height: var(--text-body-md-
|
|
44
|
+
font-family: var(--text-body-md-regular-fontFamily);
|
|
45
|
+
font-weight: var(--text-body-md-regular-fontWeight);
|
|
46
|
+
font-size: var(--text-body-md-regular-fontSize);
|
|
47
|
+
line-height: var(--text-body-md-regular-lineHeight);
|
|
55
48
|
}
|
|
56
49
|
|
|
57
50
|
.muka-spec-row__hint {
|
|
@@ -62,8 +55,28 @@
|
|
|
62
55
|
line-height: var(--text-body-sm-regular-lineHeight);
|
|
63
56
|
}
|
|
64
57
|
|
|
65
|
-
/* ───
|
|
58
|
+
/* ─── Label width (horizontal stacking) ───────────────── */
|
|
59
|
+
|
|
60
|
+
.muka-spec-list--label-small .muka-spec-row__label {
|
|
61
|
+
width: 80px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.muka-spec-list--label-medium .muka-spec-row__label {
|
|
65
|
+
width: 120px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.muka-spec-list--label-large .muka-spec-row__label {
|
|
69
|
+
width: 160px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ─── Vertical stacking ───────────────────────────────── */
|
|
73
|
+
|
|
74
|
+
.muka-spec-list--vertical .muka-spec-row {
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
gap: var(--spacing-1);
|
|
77
|
+
}
|
|
66
78
|
|
|
67
|
-
.muka-spec-list--
|
|
68
|
-
|
|
79
|
+
.muka-spec-list--vertical .muka-spec-row__label {
|
|
80
|
+
width: 100%;
|
|
81
|
+
white-space: normal;
|
|
69
82
|
}
|
|
@@ -14,10 +14,16 @@ export const SpecRow = ({ label, value, hint, className = '' }) => {
|
|
|
14
14
|
*
|
|
15
15
|
* Mobile-friendly alternative to `Table` when displaying flat key/value data
|
|
16
16
|
* (e.g. motorcycle specs, vehicle details). Each row is a `<dt>/<dd>` pair
|
|
17
|
-
* inside a `<dl>` for semantic accessibility.
|
|
17
|
+
* inside a `<dl>` for semantic accessibility. Renders flat — no background,
|
|
18
|
+
* radius, or dividers — so it sits directly on the page surface.
|
|
18
19
|
*/
|
|
19
|
-
export const SpecList = ({ children,
|
|
20
|
-
const classes = [
|
|
20
|
+
export const SpecList = ({ children, stacking = 'horizontal', labelWidth = 'small', className = '', }) => {
|
|
21
|
+
const classes = [
|
|
22
|
+
'muka-spec-list',
|
|
23
|
+
`muka-spec-list--${stacking}`,
|
|
24
|
+
`muka-spec-list--label-${labelWidth}`,
|
|
25
|
+
className,
|
|
26
|
+
]
|
|
21
27
|
.filter(Boolean)
|
|
22
28
|
.join(' ');
|
|
23
29
|
return _jsx("dl", { className: classes, children: children });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecList.js","sourceRoot":"","sources":["../../../../components/SpecList/SpecList.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,CAAC;AAkBxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,OAAO,CACL,eAAK,SAAS,EAAE,OAAO,aACrB,aAAI,SAAS,EAAC,sBAAsB,YAAE,KAAK,GAAM,EACjD,cAAI,SAAS,EAAC,sBAAsB,aAClC,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAQ,EACzD,IAAI,IAAI,eAAM,SAAS,EAAC,qBAAqB,YAAE,IAAI,GAAQ,IACzD,IACD,CACP,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SpecList.js","sourceRoot":"","sources":["../../../../components/SpecList/SpecList.tsx"],"names":[],"mappings":";AACA,OAAO,gBAAgB,CAAC;AAkBxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,OAAO,CACL,eAAK,SAAS,EAAE,OAAO,aACrB,aAAI,SAAS,EAAC,sBAAsB,YAAE,KAAK,GAAM,EACjD,cAAI,SAAS,EAAC,sBAAsB,aAClC,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAQ,EACzD,IAAI,IAAI,eAAM,SAAS,EAAC,qBAAqB,YAAE,IAAI,GAAQ,IACzD,IACD,CACP,CAAC;AACJ,CAAC,CAAC;AA2BF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAChD,QAAQ,EACR,QAAQ,GAAG,YAAY,EACvB,UAAU,GAAG,OAAO,EACpB,SAAS,GAAG,EAAE,GACf,EAAE,EAAE;IACH,MAAM,OAAO,GAAG;QACd,gBAAgB;QAChB,mBAAmB,QAAQ,EAAE;QAC7B,yBAAyB,UAAU,EAAE;QACrC,SAAS;KACV;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,aAAI,SAAS,EAAE,OAAO,YAAG,QAAQ,GAAM,CAAC;AACjD,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -19,6 +19,7 @@ export { Alert } from './Alert';
|
|
|
19
19
|
export { Toast } from './Toast';
|
|
20
20
|
export { EmptyState } from './EmptyState';
|
|
21
21
|
export { ProgressTracker } from './ProgressTracker';
|
|
22
|
+
export { ProgressAccordeon, } from './ProgressAccordeon';
|
|
22
23
|
export { TopBar, ControlBar } from './TopBar';
|
|
23
24
|
export { BottomBar, BottomBarTab } from './BottomBar';
|
|
24
25
|
export { Dialog } from './Dialog';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
position: relative;
|
|
20
20
|
|
|
21
21
|
/* Interaction - only apply if interactive */
|
|
22
|
-
transition: background-color 0.2s ease;
|
|
22
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/* Interactive state */
|
|
@@ -27,13 +27,19 @@
|
|
|
27
27
|
cursor: pointer;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
/*
|
|
31
|
+
* surface.hover / surface.pressed are theme-adaptive translucent tints, so they
|
|
32
|
+
* are layered on top of the item's base surface via an inset box-shadow overlay
|
|
33
|
+
* rather than replacing background-color. This preserves the base level (level3,
|
|
34
|
+
* or level2 when selected) and lets the tint read correctly on any surface.
|
|
35
|
+
*/
|
|
30
36
|
.muka-listitem--interactive:hover:not(:disabled):not(.muka-listitem--disabled) {
|
|
31
|
-
|
|
37
|
+
box-shadow: inset 0 0 0 9999px var(--color-surface-hover);
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
.muka-listitem--interactive:active:not(:disabled):not(.muka-listitem--disabled),
|
|
35
41
|
.muka-listitem--interactive.muka-listitem--pressed:not(:disabled):not(.muka-listitem--disabled) {
|
|
36
|
-
|
|
42
|
+
box-shadow: inset 0 0 0 9999px var(--color-surface-pressed);
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
/* Focus styles for accessibility */
|
|
@@ -59,7 +65,7 @@
|
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
.muka-listitem--selected:hover {
|
|
62
|
-
|
|
68
|
+
box-shadow: inset 0 0 0 9999px var(--color-surface-hover);
|
|
63
69
|
}
|
|
64
70
|
|
|
65
71
|
/* No divider modifier */
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/* ProgressAccordeon Component Styles — Using Muka Design Tokens */
|
|
2
|
+
|
|
3
|
+
/* ─── Root ──────────────────────────────────────────────── */
|
|
4
|
+
.muka-progress-accordeon {
|
|
5
|
+
container-type: inline-size;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: stretch;
|
|
9
|
+
width: 100%;
|
|
10
|
+
/* Top padding provides the vertical rhythm between stacked steps */
|
|
11
|
+
padding-top: var(--spacing-8);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Per-state gap: content-bearing steps are tighter, header-only steps looser */
|
|
15
|
+
.muka-progress-accordeon--current,
|
|
16
|
+
.muka-progress-accordeon--past.muka-progress-accordeon--expanded {
|
|
17
|
+
gap: var(--spacing-6);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.muka-progress-accordeon--upcoming,
|
|
21
|
+
.muka-progress-accordeon--past.muka-progress-accordeon--collapsed {
|
|
22
|
+
gap: var(--spacing-8);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Past-expanded groups header + slot with a tighter internal gap */
|
|
26
|
+
.muka-progress-accordeon__body {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
gap: var(--spacing-4);
|
|
30
|
+
width: 100%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* ─── Header ─────────────────────────────────────────────── */
|
|
34
|
+
.muka-progress-accordeon__header {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
gap: var(--spacing-3);
|
|
38
|
+
width: 100%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.muka-progress-accordeon__header-row {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: flex-start;
|
|
44
|
+
gap: var(--spacing-3);
|
|
45
|
+
width: 100%;
|
|
46
|
+
min-height: 40px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.muka-progress-accordeon__heading-group {
|
|
50
|
+
display: flex;
|
|
51
|
+
flex: 1 0 0;
|
|
52
|
+
min-width: 0;
|
|
53
|
+
align-items: flex-start;
|
|
54
|
+
gap: var(--spacing-4);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Past steps carry 40px controls; nudge the heading to vertically centre it */
|
|
58
|
+
.muka-progress-accordeon--past .muka-progress-accordeon__heading-group {
|
|
59
|
+
padding-top: var(--spacing-1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.muka-progress-accordeon__controls {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-shrink: 0;
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: var(--spacing-3);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* ─── Step indicator (circle) ───────────────────────────── */
|
|
70
|
+
.muka-progress-accordeon__indicator {
|
|
71
|
+
width: 32px;
|
|
72
|
+
height: 32px;
|
|
73
|
+
flex-shrink: 0;
|
|
74
|
+
border-radius: var(--border-radius-full);
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* Past: dark accent-contrast circle with inverse checkmark */
|
|
81
|
+
.muka-progress-accordeon__indicator--past {
|
|
82
|
+
background-color: var(--alias-color-accent-contrast);
|
|
83
|
+
color: var(--color-text-default-inverse);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Current: accent circle with inverse bold number */
|
|
87
|
+
.muka-progress-accordeon__indicator--current {
|
|
88
|
+
background-color: var(--alias-color-accent-default);
|
|
89
|
+
color: var(--color-text-default-inverse);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Upcoming: sunken/muted circle with default-color number */
|
|
93
|
+
.muka-progress-accordeon__indicator--upcoming {
|
|
94
|
+
background-color: var(--color-surface-sunken);
|
|
95
|
+
color: var(--color-text-default-default);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.muka-progress-accordeon__check-icon {
|
|
99
|
+
width: 20px;
|
|
100
|
+
height: 20px;
|
|
101
|
+
color: var(--color-text-default-inverse);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.muka-progress-accordeon__number {
|
|
105
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
106
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
107
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
108
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
109
|
+
text-align: center;
|
|
110
|
+
user-select: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* Upcoming number is semibold (not bold) per Figma */
|
|
114
|
+
.muka-progress-accordeon__indicator--upcoming .muka-progress-accordeon__number {
|
|
115
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
116
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* ─── Heading (responsive: heading/md on wide, heading/sm on narrow) ─────── */
|
|
120
|
+
.muka-progress-accordeon__heading {
|
|
121
|
+
flex: 1 0 0;
|
|
122
|
+
min-width: 0;
|
|
123
|
+
margin: 0;
|
|
124
|
+
font-family: var(--text-heading-md-fontFamily);
|
|
125
|
+
font-weight: var(--text-heading-md-fontWeight);
|
|
126
|
+
font-size: var(--text-heading-md-fontSize);
|
|
127
|
+
line-height: var(--text-heading-md-lineHeight);
|
|
128
|
+
letter-spacing: var(--text-heading-md-letterSpacing);
|
|
129
|
+
color: var(--color-text-default-default);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* ─── Description ────────────────────────────────────────── */
|
|
133
|
+
/* Indented 48px (32px indicator + 16px gap) to align under the heading text */
|
|
134
|
+
.muka-progress-accordeon__description {
|
|
135
|
+
width: 100%;
|
|
136
|
+
padding-left: 48px;
|
|
137
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
138
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
139
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
140
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
141
|
+
color: var(--color-text-default-default);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* ─── Edit button ────────────────────────────────────────── */
|
|
145
|
+
.muka-progress-accordeon__edit {
|
|
146
|
+
flex-shrink: 0;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Wide container shows the labelled button; the icon-only one is hidden */
|
|
150
|
+
.muka-progress-accordeon__edit--narrow {
|
|
151
|
+
display: none;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* ─── Content slot ───────────────────────────────────────── */
|
|
155
|
+
.muka-progress-accordeon__slot {
|
|
156
|
+
display: flex;
|
|
157
|
+
flex-direction: column;
|
|
158
|
+
align-items: stretch;
|
|
159
|
+
width: 100%;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* ─── Action buttons (current state) ─────────────────────── */
|
|
163
|
+
.muka-progress-accordeon__actions {
|
|
164
|
+
display: flex;
|
|
165
|
+
justify-content: flex-end;
|
|
166
|
+
gap: var(--spacing-4);
|
|
167
|
+
width: 100%;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.muka-progress-accordeon__action {
|
|
171
|
+
min-width: 160px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ─── Divider ────────────────────────────────────────────── */
|
|
175
|
+
.muka-progress-accordeon__divider {
|
|
176
|
+
width: 100%;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* ─── Responsive (narrow container) ──────────────────────── */
|
|
180
|
+
@container (max-width: 480px) {
|
|
181
|
+
/* Heading steps down to heading/sm. The 24px line-height is shorter than the
|
|
182
|
+
32px step indicator, so nudge the text down to keep a single line centred. */
|
|
183
|
+
.muka-progress-accordeon__heading {
|
|
184
|
+
font-size: var(--text-heading-sm-fontSize);
|
|
185
|
+
line-height: var(--text-heading-sm-lineHeight);
|
|
186
|
+
padding-top: var(--spacing-1);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* Edit button swaps to the icon-only variant */
|
|
190
|
+
.muka-progress-accordeon__edit--wide {
|
|
191
|
+
display: none;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.muka-progress-accordeon__edit--narrow {
|
|
195
|
+
display: inline-flex;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* Action buttons stretch to fill the row */
|
|
199
|
+
.muka-progress-accordeon__actions {
|
|
200
|
+
justify-content: stretch;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.muka-progress-accordeon__action {
|
|
204
|
+
flex: 1 0 0;
|
|
205
|
+
min-width: 0;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
@@ -3,55 +3,48 @@
|
|
|
3
3
|
.muka-spec-list {
|
|
4
4
|
margin: 0;
|
|
5
5
|
padding: 0;
|
|
6
|
-
background-color: var(--color-surface-level1);
|
|
7
|
-
border-radius: var(--radius-md);
|
|
8
|
-
overflow: hidden;
|
|
9
6
|
}
|
|
10
7
|
|
|
11
8
|
/* ─── Row ─────────────────────────────────────────────── */
|
|
12
9
|
|
|
13
10
|
.muka-spec-row {
|
|
14
11
|
display: flex;
|
|
15
|
-
align-items:
|
|
12
|
+
align-items: flex-start;
|
|
16
13
|
gap: var(--spacing-3);
|
|
17
|
-
padding: var(--spacing-3)
|
|
18
|
-
border-top: var(--border-width-regular) solid var(--color-border-default);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.muka-spec-row:first-child {
|
|
22
|
-
border-top: none;
|
|
14
|
+
padding-bottom: var(--spacing-3);
|
|
23
15
|
}
|
|
24
16
|
|
|
25
17
|
/* ─── Label ───────────────────────────────────────────── */
|
|
26
18
|
|
|
27
19
|
.muka-spec-row__label {
|
|
28
20
|
flex: 0 0 auto;
|
|
29
|
-
min-width: 40%;
|
|
30
21
|
margin: 0;
|
|
31
22
|
color: var(--color-text-subtle-default);
|
|
32
23
|
font-family: var(--text-body-md-regular-fontFamily);
|
|
33
24
|
font-weight: var(--text-body-md-regular-fontWeight);
|
|
34
25
|
font-size: var(--text-body-md-regular-fontSize);
|
|
35
26
|
line-height: var(--text-body-md-regular-lineHeight);
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
white-space: nowrap;
|
|
36
30
|
}
|
|
37
31
|
|
|
38
32
|
/* ─── Value ───────────────────────────────────────────── */
|
|
39
33
|
|
|
40
34
|
.muka-spec-row__value {
|
|
41
|
-
flex: 1 1
|
|
35
|
+
flex: 1 1 0;
|
|
36
|
+
min-width: 0;
|
|
42
37
|
margin: 0;
|
|
43
38
|
display: flex;
|
|
44
39
|
flex-direction: column;
|
|
45
|
-
align-items: flex-end;
|
|
46
|
-
text-align: right;
|
|
47
40
|
color: var(--color-text-default-default);
|
|
48
41
|
}
|
|
49
42
|
|
|
50
43
|
.muka-spec-row__value-text {
|
|
51
|
-
font-family: var(--text-body-md-
|
|
52
|
-
font-weight: var(--text-body-md-
|
|
53
|
-
font-size: var(--text-body-md-
|
|
54
|
-
line-height: var(--text-body-md-
|
|
44
|
+
font-family: var(--text-body-md-regular-fontFamily);
|
|
45
|
+
font-weight: var(--text-body-md-regular-fontWeight);
|
|
46
|
+
font-size: var(--text-body-md-regular-fontSize);
|
|
47
|
+
line-height: var(--text-body-md-regular-lineHeight);
|
|
55
48
|
}
|
|
56
49
|
|
|
57
50
|
.muka-spec-row__hint {
|
|
@@ -62,8 +55,28 @@
|
|
|
62
55
|
line-height: var(--text-body-sm-regular-lineHeight);
|
|
63
56
|
}
|
|
64
57
|
|
|
65
|
-
/* ───
|
|
58
|
+
/* ─── Label width (horizontal stacking) ───────────────── */
|
|
59
|
+
|
|
60
|
+
.muka-spec-list--label-small .muka-spec-row__label {
|
|
61
|
+
width: 80px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.muka-spec-list--label-medium .muka-spec-row__label {
|
|
65
|
+
width: 120px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.muka-spec-list--label-large .muka-spec-row__label {
|
|
69
|
+
width: 160px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ─── Vertical stacking ───────────────────────────────── */
|
|
73
|
+
|
|
74
|
+
.muka-spec-list--vertical .muka-spec-row {
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
gap: var(--spacing-1);
|
|
77
|
+
}
|
|
66
78
|
|
|
67
|
-
.muka-spec-list--
|
|
68
|
-
|
|
79
|
+
.muka-spec-list--vertical .muka-spec-row__label {
|
|
80
|
+
width: 100%;
|
|
81
|
+
white-space: normal;
|
|
69
82
|
}
|
|
Binary file
|