@imfusion/web-ui 0.11.1-dev.1.g5777bd0b → 0.11.1-dev.16.g726f3414
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/{code-NTcddiYk.js → code-Cl9AzRyF.js} +5 -5
- package/dist/components/typo/typo.d.ts +5 -1
- package/dist/docgen/component-sources.d.ts +4 -0
- package/dist/icons/catalog.gen.d.ts +28 -0
- package/dist/icons/icons.gen.d.ts +4 -0
- package/dist/{icons-BsK_o-Cb.js → icons-vc1WZCxX.js} +1027 -879
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1245 -1218
- package/dist/integrations/code-highlight.js +1 -1
- package/dist/integrations/image-display-options.js +1 -1
- package/dist/style.css +1 -1
- package/dist/{tabs-CU46aGud.js → tabs-DsDSCA--.js} +3 -3
- package/package.json +1 -1
- package/src/docgen/doc.gen.json +8 -1
- package/src/llms/icon-catalog.gen.json +32 -0
- package/src/llms/skills/imf-web-ui-audit/SKILL.md +2 -3
- package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +3 -3
- package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +13 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `minWidth` and the `BreakpointName` type are exported, so `useMediaQuery(minWidth("md"))` works as the `styling` topic
|
|
8
|
+
shows. — Nikolaus Brunner <brunner@imfusion.com>
|
|
9
|
+
- `@imfusion/web-ui/icons` adds four viewport layout icons in the Layout category: `LayoutAuto`, `LayoutRows`,
|
|
10
|
+
`LayoutFocusPlusStack`, and `LayoutFocusPlusRows`. [Iconography](src/icons/iconography.stories.tsx#Iconography)
|
|
11
|
+
— Stephan Wenninger <wenninger@imfusion.com>
|
|
12
|
+
- `Typo.UnorderedList` takes `markerVariant` to colour its dash apart from the text, such as the brand dash on main text.
|
|
13
|
+
[Typo](src/components/typo/typo.stories.tsx#MarkerVariant) — Nikolaus Brunner <brunner@imfusion.com>
|
|
14
|
+
|
|
5
15
|
### Changed
|
|
6
16
|
|
|
17
|
+
- `Typo.UnorderedList` draws its dash in the text colour by default; `markerVariant="primary"` gives the brand dash.
|
|
18
|
+
— Nikolaus Brunner <brunner@imfusion.com>
|
|
19
|
+
- `Callout.Root` defaults to `maxWidth="lg"`, keeps a minimum width of 15rem, and spaces its title, description, and list
|
|
20
|
+
items more evenly. [Callout](src/components/callout/callout.stories.tsx#WithList) — Nikolaus Brunner <brunner@imfusion.com>
|
|
7
21
|
- Agent skills — Nikolaus Brunner <brunner@imfusion.com>
|
|
8
22
|
- `imf-web-ui-conventions` exempts React components from the explicit return type on exported functions.
|
|
23
|
+
- The `project-structure` topic keeps a route's only view, such as a form, in the route file and moves views to the `-`
|
|
24
|
+
folder only when the page composes several. `imf-web-ui-audit` reports by views, not line counts.
|
|
9
25
|
- The `imf-web-ui-conventions` audit checklist names the assets box "Photographs: WebP", like its topic heading.
|
|
26
|
+
- `web-ui-dev-new-component`, `web-ui-dev-update-component`, and `web-ui-dev-design-component` draft on the shared
|
|
27
|
+
Web UI Component Drafts canvas: a block per component on its Storybook group's page, one row per fidelity rung.
|
|
28
|
+
- `web-ui-dev-new-component` and `web-ui-dev-update-component` wait for the user to approve the design on the canvas
|
|
29
|
+
before writing the plan.
|
|
30
|
+
- Agents verify visual work on their own Storybook, started with `npm run dev`, against the approved canvas design.
|
|
31
|
+
- The `imf-web-ui-conventions` `styling` topic shows a container setting a custom property that its child reads with
|
|
32
|
+
its own default as the fallback.
|
|
33
|
+
- `web-ui-dev-release` syncs the Claude Design system once npm serves the stable version.
|
|
34
|
+
- Documentation — Nikolaus Brunner <brunner@imfusion.com>
|
|
35
|
+
- `docs/design-system.md` describes the Web UI Component Drafts canvas, and `AGENTS.md` links it. A shipped component
|
|
36
|
+
keeps its block under an "Implemented" note that names its story.
|
|
37
|
+
- `docs/conventions.md` shows how a component declares its default as a custom-property fallback that a container
|
|
38
|
+
overrides.
|
|
39
|
+
- Storybook — Nikolaus Brunner <brunner@imfusion.com>
|
|
40
|
+
- The Controls table lists a component's own props first, then the props it inherits from Base UI or React.
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
|
|
44
|
+
- Typo inside `Callout.Description`, such as `Typo.UnorderedList` or `Typo.P`, matches the description's size and takes
|
|
45
|
+
the variant's colour. [Callout](src/components/callout/callout.stories.tsx#WithList) — Nikolaus Brunner <brunner@imfusion.com>
|
|
46
|
+
- `Table.RowLink` covers its whole row: a click anywhere in the row follows the link, while buttons, checkboxes, switches,
|
|
47
|
+
links, and form fields in the row keep their own click. — Nikolaus Brunner <brunner@imfusion.com>
|
|
48
|
+
- `npm run dev` starts Storybook on the next free port again while another checkout's Storybook runs. — Nikolaus Brunner
|
|
49
|
+
<brunner@imfusion.com>
|
|
50
|
+
- Components — Nikolaus Brunner <brunner@imfusion.com>
|
|
51
|
+
- A `Drawer.Close` or `Popover.Close` rendered as another component, such as a `Button`, keeps that component's styles.
|
|
10
52
|
|
|
11
53
|
---
|
|
12
54
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as e } from "./resolve-state-props-DQf9WiGv.js";
|
|
2
|
-
import { Xo as t,
|
|
2
|
+
import { Xo as t, _M as n, ja as r } from "./icons-vc1WZCxX.js";
|
|
3
3
|
import { t as i } from "./meta-V_KyLeGn.js";
|
|
4
4
|
import { a, i as o, n as s, o as c, s as l } from "./scroll-area-z9Lf9uIk.js";
|
|
5
5
|
import { cx as u } from "class-variance-authority";
|
|
@@ -34,7 +34,7 @@ var x = {
|
|
|
34
34
|
InlineLink: () => w
|
|
35
35
|
});
|
|
36
36
|
function C({ copyable: e = !1, children: i, render: a, ...o }) {
|
|
37
|
-
let { copied: s, copy: c } = b(), l = g(null), u = s ?
|
|
37
|
+
let { copied: s, copy: c } = b(), l = g(null), u = s ? r : t;
|
|
38
38
|
return y({
|
|
39
39
|
defaultTagName: "code",
|
|
40
40
|
render: a,
|
|
@@ -53,7 +53,7 @@ function C({ copyable: e = !1, children: i, render: a, ...o }) {
|
|
|
53
53
|
"data-copied": s || void 0,
|
|
54
54
|
"aria-label": s ? "Copied" : "Copy",
|
|
55
55
|
onClick: () => c(l.current?.textContent ?? ""),
|
|
56
|
-
children: /* @__PURE__ */ f(
|
|
56
|
+
children: /* @__PURE__ */ f(n, {
|
|
57
57
|
glyph: u,
|
|
58
58
|
size: 12,
|
|
59
59
|
strokeWidth: 2,
|
|
@@ -87,7 +87,7 @@ function w({ kind: e = "external", ...t }) {
|
|
|
87
87
|
}
|
|
88
88
|
w.displayName = "Code.InlineLink";
|
|
89
89
|
function T({ className: e, language: i, hideCopy: d = !1, children: m, ...h }) {
|
|
90
|
-
let { copied: _, copy: v } = b(), y = g(null), S = _ ?
|
|
90
|
+
let { copied: _, copy: v } = b(), y = g(null), S = _ ? r : t;
|
|
91
91
|
return /* @__PURE__ */ p("div", {
|
|
92
92
|
"data-imf-ui-component": "Code.Block",
|
|
93
93
|
className: u(x.block, e),
|
|
@@ -102,7 +102,7 @@ function T({ className: e, language: i, hideCopy: d = !1, children: m, ...h }) {
|
|
|
102
102
|
"data-copied": _ || void 0,
|
|
103
103
|
"aria-label": _ ? "Copied" : "Copy",
|
|
104
104
|
onClick: () => v(y.current?.textContent ?? ""),
|
|
105
|
-
children: /* @__PURE__ */ f(
|
|
105
|
+
children: /* @__PURE__ */ f(n, {
|
|
106
106
|
glyph: S,
|
|
107
107
|
size: 12,
|
|
108
108
|
strokeWidth: 2,
|
|
@@ -9,6 +9,10 @@ type WeightProps = {
|
|
|
9
9
|
/** Font weight. Omit to keep the member's default; `medium` firms up short body text on cards. */
|
|
10
10
|
weight?: "regular" | "medium" | "strong";
|
|
11
11
|
};
|
|
12
|
+
type MarkerProps = {
|
|
13
|
+
/** Colour of the dash. Omit to follow the text colour. */
|
|
14
|
+
markerVariant?: TypoProps["variant"];
|
|
15
|
+
};
|
|
12
16
|
type HeadingProps = useRender.ComponentProps<"h1"> & TypoProps;
|
|
13
17
|
type LongHeadingProps = HeadingProps & {
|
|
14
18
|
/** Whether lines after the first use a translucent text color. */
|
|
@@ -99,7 +103,7 @@ export declare namespace OrderedList {
|
|
|
99
103
|
var displayName: string;
|
|
100
104
|
}
|
|
101
105
|
/** Typo.UnorderedList — bulleted list. */
|
|
102
|
-
export declare function UnorderedList({ variant, weight, render, ...props }: useRender.ComponentProps<"ul"> & TypoProps & WeightProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
|
|
106
|
+
export declare function UnorderedList({ variant, markerVariant, weight, render, ...props }: useRender.ComponentProps<"ul"> & TypoProps & WeightProps & MarkerProps): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
|
|
103
107
|
export declare namespace UnorderedList {
|
|
104
108
|
var displayName: string;
|
|
105
109
|
}
|
|
@@ -4,4 +4,8 @@ export type ComponentSource = {
|
|
|
4
4
|
componentFile: string;
|
|
5
5
|
metaFile: string;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* A component folder is public when the package index exports it; an unexported folder is internal.
|
|
9
|
+
* Integrations ship through their own entry points and are always public.
|
|
10
|
+
*/
|
|
7
11
|
export declare function publicComponentSources(srcDir: string): ComponentSource[];
|
|
@@ -6011,6 +6011,27 @@ export declare const ICON_CATALOG: readonly [{
|
|
|
6011
6011
|
readonly style: "regular";
|
|
6012
6012
|
readonly origin: "iconoir";
|
|
6013
6013
|
readonly file: "regular/laptop-warning.svg";
|
|
6014
|
+
}, {
|
|
6015
|
+
readonly name: "LayoutAuto";
|
|
6016
|
+
readonly category: "Layout";
|
|
6017
|
+
readonly tags: readonly ["layout", "auto", "masonry", "viewports", "tiles", "grid"];
|
|
6018
|
+
readonly style: "regular";
|
|
6019
|
+
readonly origin: "imfusion";
|
|
6020
|
+
readonly file: "regular/layout-auto.svg";
|
|
6021
|
+
}, {
|
|
6022
|
+
readonly name: "LayoutFocusPlusRows";
|
|
6023
|
+
readonly category: "Layout";
|
|
6024
|
+
readonly tags: readonly ["layout", "focus", "rows", "main viewport", "viewports", "split"];
|
|
6025
|
+
readonly style: "regular";
|
|
6026
|
+
readonly origin: "imfusion";
|
|
6027
|
+
readonly file: "regular/layout-focus-plus-rows.svg";
|
|
6028
|
+
}, {
|
|
6029
|
+
readonly name: "LayoutFocusPlusStack";
|
|
6030
|
+
readonly category: "Layout";
|
|
6031
|
+
readonly tags: readonly ["layout", "focus", "stack", "main viewport", "sidebar", "viewports"];
|
|
6032
|
+
readonly style: "regular";
|
|
6033
|
+
readonly origin: "imfusion";
|
|
6034
|
+
readonly file: "regular/layout-focus-plus-stack.svg";
|
|
6014
6035
|
}, {
|
|
6015
6036
|
readonly name: "LayoutLeft";
|
|
6016
6037
|
readonly category: "Layout";
|
|
@@ -6025,6 +6046,13 @@ export declare const ICON_CATALOG: readonly [{
|
|
|
6025
6046
|
readonly style: "regular";
|
|
6026
6047
|
readonly origin: "iconoir";
|
|
6027
6048
|
readonly file: "regular/layout-right.svg";
|
|
6049
|
+
}, {
|
|
6050
|
+
readonly name: "LayoutRows";
|
|
6051
|
+
readonly category: "Layout";
|
|
6052
|
+
readonly tags: readonly ["layout", "rows", "viewports", "grid", "2x2", "tiles"];
|
|
6053
|
+
readonly style: "regular";
|
|
6054
|
+
readonly origin: "imfusion";
|
|
6055
|
+
readonly file: "regular/layout-rows.svg";
|
|
6028
6056
|
}, {
|
|
6029
6057
|
readonly name: "Leaderboard";
|
|
6030
6058
|
readonly category: "Activities";
|
|
@@ -857,8 +857,12 @@ export declare const LaptopCharging: import('.').IconComponent;
|
|
|
857
857
|
export declare const LaptopDevMode: import('.').IconComponent;
|
|
858
858
|
export declare const LaptopFix: import('.').IconComponent;
|
|
859
859
|
export declare const LaptopWarning: import('.').IconComponent;
|
|
860
|
+
export declare const LayoutAuto: import('.').IconComponent;
|
|
861
|
+
export declare const LayoutFocusPlusRows: import('.').IconComponent;
|
|
862
|
+
export declare const LayoutFocusPlusStack: import('.').IconComponent;
|
|
860
863
|
export declare const LayoutLeft: import('.').IconComponent;
|
|
861
864
|
export declare const LayoutRight: import('.').IconComponent;
|
|
865
|
+
export declare const LayoutRows: import('.').IconComponent;
|
|
862
866
|
export declare const Leaderboard: import('.').IconComponent;
|
|
863
867
|
export declare const LeaderboardStar: import('.').IconComponent;
|
|
864
868
|
export declare const Leaf: import('.').IconComponent;
|