@imfusion/web-ui 0.6.1-dev.12.ge86ac0a1 → 0.6.1-dev.15.g5d565e65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +104 -170
  2. package/dist/{code-Blo48PGr.js → code-C_56u-Vk.js} +2 -2
  3. package/dist/{icons-wBmF0U2x.js → icons-Cy1HAosO.js} +1 -1
  4. package/dist/icons.js +1 -1
  5. package/dist/index.js +31 -31
  6. package/dist/integrations/code-highlight.js +2 -2
  7. package/dist/integrations/image-display-options.js +1 -1
  8. package/package.json +3 -3
  9. package/src/llms/install-templates/AGENTS.md +15 -18
  10. package/src/llms/llms.gen.txt +33 -33
  11. package/src/llms/skills/imf-web-ui/SKILL.md +29 -39
  12. package/src/llms/skills/imf-web-ui-audit/SKILL.md +50 -102
  13. package/src/llms/skills/imf-web-ui-components/SKILL.md +47 -104
  14. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +39 -52
  15. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +1 -0
  16. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +40 -62
  17. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +11 -12
  18. package/src/llms/skills/imf-web-ui-conventions/topics/authentication.md +31 -46
  19. package/src/llms/skills/imf-web-ui-conventions/topics/class-names.md +18 -23
  20. package/src/llms/skills/imf-web-ui-conventions/topics/components.md +20 -69
  21. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +50 -146
  22. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +17 -23
  23. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +15 -20
  24. package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +28 -19
  25. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +20 -16
  26. package/src/llms/skills/imf-web-ui-conventions/topics/npm-project.md +28 -42
  27. package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +28 -30
  28. package/src/llms/skills/imf-web-ui-conventions/topics/react.md +28 -74
  29. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +65 -62
  30. package/src/llms/skills/imf-web-ui-conventions/topics/testing.md +12 -14
  31. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +9 -4
  32. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +40 -68
  33. package/src/llms/skills/imf-web-ui-conventions/topics/typescript.md +26 -50
  34. package/src/llms/skills/imf-web-ui-conventions/topics/validation.md +19 -25
  35. package/src/llms/skills/imf-web-ui-setup/SKILL.md +43 -64
  36. package/src/llms/skills/imf-web-ui-update/SKILL.md +48 -114
  37. package/src/llms/skills/imf-web-ui-ux/SKILL.md +64 -92
  38. package/src/llms/skills/imf-web-ui-ux/references/forms.md +16 -36
  39. package/src/llms/skills/imf-web-ui-ux/references/usability-heuristics.md +14 -27
  40. package/src/llms/skills/imf-web-ui-ux/references/visual-design.md +22 -38
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./chunk-DmhlhrBa.js";
2
2
  import { t } from "./meta-CySnRuVp.js";
3
- import { At as n, GT as r, Kv as i, Ma as a, Na as o, Pm as s, Qt as c, Qv as l, RA as u, Wk as d, Xo as ee, aE as f, hn as p, iv as te, r as m, sn as ne, t as re, zk as ie } from "./icons-wBmF0U2x.js";
4
- import { a as ae, o as oe, r as se, t as ce } from "./code-Blo48PGr.js";
3
+ import { At as n, GT as r, Kv as i, Ma as a, Na as o, Pm as s, Qt as c, Qv as l, RA as u, Wk as d, Xo as ee, aE as f, hn as p, iv as te, r as m, sn as ne, t as re, zk as ie } from "./icons-Cy1HAosO.js";
4
+ import { a as ae, o as oe, r as se, t as ce } from "./code-C_56u-Vk.js";
5
5
  import { S as le, c as ue, d as de, l as fe, m as pe, s as me, u as he } from "./tabs-CMKvMF4E.js";
6
6
  import { Button as ge } from "@base-ui/react/button";
7
7
  import { cva as _e, cva as h, cx as ve, cx as g } from "class-variance-authority";
@@ -102,7 +102,7 @@ var Me = {
102
102
  name: "Button",
103
103
  category: t.buttons,
104
104
  status: "stable",
105
- description: "Triggers an action — submit, confirm, cancel, navigate, or destructive operations. Six semantic variants (primary, secondary, positive, negative, outline, ghost) communicate intent across four sizes (sm, md, lg, hero). The brand's chamfered shape; hover inverts fill and label. An optional endIcon slot aligns the label left and pins the icon right. Also called a CTA or action.",
105
+ description: "Triggers an action such as submit, confirm, cancel, navigate, or delete. Also called a CTA or action button; variants and sizes communicate its importance.",
106
106
  origin: "adapted",
107
107
  upstream: {
108
108
  name: "Base UI",
@@ -190,7 +190,7 @@ var Ie = {
190
190
  name: "ChipLink",
191
191
  category: t.buttons,
192
192
  status: "stable",
193
- description: "Inline link styled as a chip — a small labeled anchor that auto-appends a directional icon. Use for external doc references and source attribution (opens in a new tab) or in-app navigation badges (stays in the current tab). Also called a link chip or link badge.",
193
+ description: "Link styled as a compact chip, with a directional icon for external references or in-app navigation. Also called a link chip or link badge.",
194
194
  origin: "native"
195
195
  }, Le = { root: "imf-ui-copy-button-module-root" }, Re = 1500;
196
196
  function ze({ value: e, label: t = "Copy", copiedLabel: n = "Copied", variant: r = "secondary", size: i = "sm", className: o, ...s }) {
@@ -218,7 +218,7 @@ var Be = {
218
218
  name: "CopyButton",
219
219
  category: t.buttons,
220
220
  status: "stable",
221
- description: "Button that copies a value to the clipboard and shows a transient confirmation. Also called a copy-to-clipboard button. Composes Button; commonly paired with Code.Block.",
221
+ description: "Copies a value to the clipboard and briefly shows confirmation. Also called a copy-to-clipboard button; commonly used with Code.Block.",
222
222
  origin: "native",
223
223
  internalDependencies: ["Button"]
224
224
  }, k = {
@@ -270,7 +270,7 @@ var Ke = {
270
270
  name: "Checkbox",
271
271
  category: t.inputs,
272
272
  status: "stable",
273
- description: "Binary form control for opt-in choices — accept terms, select table rows, pick list items. Supports an indeterminate state for parent/child selection. Also called a check box or tick box; for immediate on/off preferences, prefer Switch.",
273
+ description: "Binary form control for submitted choices such as terms, table rows, or list items. Also called a check box; it supports an indeterminate parent state.",
274
274
  origin: "adapted",
275
275
  upstream: {
276
276
  name: "Base UI",
@@ -352,7 +352,7 @@ var st = {
352
352
  name: "Field",
353
353
  category: t.inputs,
354
354
  status: "stable",
355
- description: "Accessible field composition for a label, form control, supporting description, and inline validation message. Use it to associate a control such as Input, Checkbox, or Select with field state including valid, invalid, dirty, touched, filled, and focused.",
355
+ description: "Accessible field composition for a label, control, supporting text, and validation message. Use it with Input, Checkbox, Select, and other form controls.",
356
356
  origin: "adapted",
357
357
  upstream: {
358
358
  name: "Base UI",
@@ -389,7 +389,7 @@ var mt = {
389
389
  name: "Fieldset",
390
390
  category: t.inputs,
391
391
  status: "stable",
392
- description: "Semantic grouping for related form controls with a shared legend. Also called a form group; use it to communicate a common topic and propagate disabled state without introducing a decorative container.",
392
+ description: "Semantic group for related form controls with a shared legend. Also called a form group; it can propagate a disabled state to the group.",
393
393
  origin: "adapted",
394
394
  upstream: {
395
395
  name: "Base UI",
@@ -459,7 +459,7 @@ var _t = {
459
459
  name: "Input",
460
460
  category: t.inputs,
461
461
  status: "stable",
462
- description: "Single-line text input for form data entry. Also called a text field or input field. Supports controlled and uncontrolled modes, and integrates with Base UI's Field context for validation state (valid, invalid, dirty, touched, filled, focused).",
462
+ description: "Single-line text input for form data entry. Also called a text field; it supports controlled values and Field validation state.",
463
463
  origin: "adapted",
464
464
  upstream: {
465
465
  name: "Base UI",
@@ -677,7 +677,7 @@ var nn = {
677
677
  name: "Select",
678
678
  category: t.inputs,
679
679
  status: "stable",
680
- description: "Single-choice dropdown — pick one value from a known list. Keyboard-accessible listbox with a labelled trigger and a portalled popup. Best for short, fixed option sets (status, role, country). Also called a dropdown or picker.",
680
+ description: "Dropdown for choosing a value from a known list. Also called a picker; use it for a labeled, keyboard-accessible option list.",
681
681
  origin: "adapted",
682
682
  upstream: {
683
683
  name: "Base UI",
@@ -689,7 +689,7 @@ var nn = {
689
689
  name: "Slider",
690
690
  category: t.inputs,
691
691
  status: "stable",
692
- description: "Drag a thumb along a track to pick a numeric value or range. Use for continuous or stepped numeric input where magnitude matters — volume, brightness, opacity, price ranges. Also called a range input.",
692
+ description: "Numeric input for choosing one value or a range by dragging a thumb. Also called a range input; use it when relative magnitude matters.",
693
693
  origin: "adapted",
694
694
  upstream: {
695
695
  name: "Base UI",
@@ -701,7 +701,7 @@ var nn = {
701
701
  name: "Switch",
702
702
  category: t.inputs,
703
703
  status: "stable",
704
- description: "Two-state toggle for immediate on/off preferences — enable a feature, mute audio, toggle dark mode. Takes effect right away (no submit step); for form-submission booleans, a checkbox is more conventional. Also called a toggle.",
704
+ description: "Two-state control for an on/off setting that takes effect immediately. Also called a toggle; use Checkbox for a submitted choice.",
705
705
  origin: "adapted",
706
706
  upstream: {
707
707
  name: "Base UI",
@@ -713,7 +713,7 @@ var nn = {
713
713
  name: "Toggle",
714
714
  category: t.inputs,
715
715
  status: "experimental",
716
- description: "A two-state button that can be on or off. Compose several inside a ToggleGroup for a segmented control.",
716
+ description: "Two-state button for a pressed or unpressed option. Compose several in ToggleGroup for a segmented control.",
717
717
  origin: "adapted",
718
718
  upstream: {
719
719
  name: "Base UI",
@@ -725,7 +725,7 @@ var nn = {
725
725
  name: "ToggleGroup",
726
726
  category: t.inputs,
727
727
  status: "experimental",
728
- description: "A set of connected Toggle buttons sharing one value: single-select by default (a segmented control), or multi-select with `multiple`. Compose one Toggle per segment, each with a value. Also called a segmented control or segmented button.",
728
+ description: "Group of connected Toggle buttons that share a selection. Also called a segmented control; set `multiple` for more than one active option.",
729
729
  origin: "adapted",
730
730
  upstream: {
731
731
  name: "Base UI",
@@ -815,7 +815,7 @@ var Cn = {
815
815
  name: "AppShell",
816
816
  category: t.layout,
817
817
  status: "stable",
818
- description: "Application layout shell — a fixed header, collapsible navbar/aside sidebars, an optional footer, and a scrolling main area. The classic dashboard frame; also called an app layout, application frame, dashboard shell, or sidebar layout. Sizing is CSS-driven and sidebars collapse to sliding overlays on small screens.",
818
+ description: "Application layout shell for a header, sidebars, footer, and scrolling main area. Also called an app layout or dashboard shell; sizing is CSS-driven and sidebars can become sliding panels on small screens.",
819
819
  origin: "native"
820
820
  }, P = {
821
821
  content: "imf-ui-card-module-content",
@@ -934,7 +934,7 @@ var jn = {
934
934
  category: t.layout,
935
935
  status: "stable",
936
936
  namespace: !0,
937
- description: "Surface container — groups related content on a tonal background. Composed from slots: Card.Root wraps an optional edge-to-edge Card.Image plus padded Card.Header, Card.Content, and Card.Footer. Tonal or coloured `variant`, opt-in shadow and radius, and a `density` scale. Also called a panel, tile, or paper.",
937
+ description: "Surface container for related content on a tonal background. Also called a panel or tile; compose it from optional image, header, content, and footer parts.",
938
938
  origin: "native"
939
939
  }, F = {
940
940
  backdrop: "imf-ui-drawer-module-backdrop",
@@ -1119,7 +1119,7 @@ var or = {
1119
1119
  name: "Drawer",
1120
1120
  category: t.layout,
1121
1121
  status: "stable",
1122
- description: "Off-canvas panel that slides in from a screen edge. Use for mobile navigation, secondary nav, settings trays, filter sidebars, or any side sheet. Also called a sidebar, side panel, off-canvas, or sheet.",
1122
+ description: "Off-canvas panel that slides in from a screen edge for navigation, settings, filters, or focused tasks. Also called a sidebar, side panel, or sheet.",
1123
1123
  origin: "adapted",
1124
1124
  upstream: {
1125
1125
  name: "Base UI",
@@ -1298,7 +1298,7 @@ var Mr = {
1298
1298
  name: "Popover",
1299
1299
  category: t.display,
1300
1300
  status: "stable",
1301
- description: "Floating panel anchored to a trigger element. Use for contextual menus, tooltips-with-actions, rich hover cards, quick-edit forms, or any non-modal detail overlay. Also called a popup, flyout, or floating menu.",
1301
+ description: "Floating panel anchored to a trigger for contextual content, quick forms, or actions. Also called a popup or flyout; use Tooltip for hints without interaction.",
1302
1302
  origin: "adapted",
1303
1303
  upstream: {
1304
1304
  name: "Base UI",
@@ -1310,7 +1310,7 @@ var Mr = {
1310
1310
  name: "Row",
1311
1311
  category: t.layout,
1312
1312
  status: "stable",
1313
- description: "Horizontal layout primitive — children are arranged left-to-right with configurable spacing, alignment, and optional wrapping. Also called hstack, horizontal stack, flex row.",
1313
+ description: "Horizontal layout primitive for spacing, aligning, and wrapping children. Also called a horizontal stack or flex row.",
1314
1314
  origin: "native"
1315
1315
  }, L = {
1316
1316
  root: "imf-ui-separator-module-root",
@@ -1339,7 +1339,7 @@ var Ir = {
1339
1339
  name: "Separator",
1340
1340
  category: t.layout,
1341
1341
  status: "stable",
1342
- description: "Thin line that visually divides content into groups — section break, list item rule, sidebar division. Also called a divider, hr, or horizontal / vertical rule.",
1342
+ description: "Line that divides content horizontally or vertically. Also called a divider or rule.",
1343
1343
  origin: "adapted",
1344
1344
  upstream: {
1345
1345
  name: "Base UI",
@@ -1351,7 +1351,7 @@ var Ir = {
1351
1351
  name: "Stack",
1352
1352
  category: t.layout,
1353
1353
  status: "stable",
1354
- description: "Vertical layout primitive — children stack top-to-bottom with configurable spacing and alignment. Use it instead of writing flex column layouts by hand. Also called a vstack or column.",
1354
+ description: "Vertical layout primitive for spacing and aligning children. Also called a vertical stack or column.",
1355
1355
  origin: "native"
1356
1356
  }, R = {
1357
1357
  description: "imf-ui-callout-module-description",
@@ -1455,7 +1455,7 @@ var Kr = {
1455
1455
  category: t.display,
1456
1456
  status: "stable",
1457
1457
  namespace: !0,
1458
- description: "Inline status banner — a persistent, non-interactive message that sits in the content flow to convey info, success, warning, or error state. Composed from slots: Callout.Root wraps a Callout.Icon (status glyph), an optional Callout.Title, and a Callout.Description. Tonal `variant` (info/positive/warning/negative) tints the surface and colours the icon and text. Also called an alert, callout, or inline notice. Not a Toast (transient) or Alert Dialog (modal).",
1458
+ description: "Persistent, in-place status message for information, success, warnings, and errors. Also called an inline alert or notice; it is not a transient toast or modal dialog.",
1459
1459
  origin: "native"
1460
1460
  };
1461
1461
  //#endregion
@@ -1479,7 +1479,7 @@ var Jr = {
1479
1479
  name: "Chip",
1480
1480
  category: t.display,
1481
1481
  status: "stable",
1482
- description: "Compact inline label for tags, status, categories, counts, or metadata. Also known as a badge, tag, or pill. Two dimensions — a color variant for semantic role and a shape variant for visual appearance, including an inline form that sits naturally in flowing body text.",
1482
+ description: "Compact label for tags, status, categories, counts, and metadata. Also called a badge or tag; its color and appearance are independent choices.",
1483
1483
  origin: "native"
1484
1484
  }, z = {
1485
1485
  iconClosed: "imf-ui-collapsible-module-iconClosed",
@@ -1552,7 +1552,7 @@ var ni = {
1552
1552
  name: "Collapsible",
1553
1553
  category: t.display,
1554
1554
  status: "stable",
1555
- description: "Toggleable show/hide region for progressive disclosure — FAQ entries, expandable settings, detail toggles. A trigger button drives an animated open/close panel; multiple stacked form an accordion. Also called a disclosure or expand/collapse.",
1555
+ description: "Show-and-hide region for secondary content such as FAQs, settings, or details. Also called a disclosure or expand/collapse.",
1556
1556
  origin: "adapted",
1557
1557
  upstream: {
1558
1558
  name: "Base UI",
@@ -1622,7 +1622,7 @@ var ai = {
1622
1622
  name: "Logo",
1623
1623
  category: t.display,
1624
1624
  status: "stable",
1625
- description: "Brand mark display primitive — renders a logo from a URL or inline React element with consistent sizing. Also called a wordmark, brand icon, or logotype.",
1625
+ description: "Renders a logo from a URL or inline React element with consistent sizing. Also called a wordmark or brand mark.",
1626
1626
  origin: "native"
1627
1627
  };
1628
1628
  //#endregion
@@ -2046,7 +2046,7 @@ var ea = /* @__PURE__ */ e({
2046
2046
  category: t.display,
2047
2047
  status: "experimental",
2048
2048
  namespace: !0,
2049
- description: "Navigation menu — a horizontal (or vertical) strip of triggers that open flat, anchored flyout panels for site or app wayfinding, with multi-column mega-menu content and a viewport-responsive inline master/detail submenu. Composed from slots: NavigationMenu.Root, List, Item, Trigger, Icon, Content, Link, FlyoutLink, LinkList, LinkCard, InlineSubmenu, Portal, Positioner, Popup, Viewport, Arrow, Backdrop. Also called a nav bar, menu bar, or mega menu.",
2049
+ description: "Navigation menu with horizontal or vertical triggers and anchored flyout panels. Also called a menu bar or mega menu; it supports links, rich cards, and nested navigation.",
2050
2050
  origin: "adapted",
2051
2051
  upstream: {
2052
2052
  name: "Base UI",
@@ -2159,7 +2159,7 @@ var fa = {
2159
2159
  name: "Spinner",
2160
2160
  category: t.display,
2161
2161
  status: "stable",
2162
- description: "Loading indicator built from the animated ImFusion glyph. Also called a loader, progress spinner, or activity indicator; signals indeterminate loading.",
2162
+ description: "Indeterminate loading indicator. Also called a loader or progress spinner.",
2163
2163
  origin: "native"
2164
2164
  }, q = {
2165
2165
  body: "imf-ui-table-module-body",
@@ -2273,14 +2273,14 @@ var ja = {
2273
2273
  name: "Table",
2274
2274
  category: t.display,
2275
2275
  status: "stable",
2276
- description: "Styled, static building blocks for tabular data — Root, Header, Body, Row, HeaderCell, Cell, HeaderButton, SortableHeaderCell. Also called a data grid anatomy. Purely presentational with no data logic; for a full data grid, drive these parts with a headless table library (TanStack Table recommended) that you install yourself.",
2276
+ description: "Presentational table parts for static tabular data. Pair them with a headless table library for sorting, pagination, or selection.",
2277
2277
  origin: "native"
2278
2278
  }, Ma = {
2279
2279
  name: "Tabs",
2280
2280
  category: t.display,
2281
2281
  status: "stable",
2282
2282
  namespace: !0,
2283
- description: "Tabbed navigation — switches between panels of content within one view via a horizontal (or vertical) strip of labels with a sliding active-state underline. Composed from slots: Tabs.Root, Tabs.List, Tabs.Tab, Tabs.Indicator, Tabs.Panel. Also called a tab strip or tab bar.",
2283
+ description: "Switches between related panels within one view. Also called a tab strip or tab bar; it supports horizontal and vertical layouts.",
2284
2284
  origin: "adapted",
2285
2285
  upstream: {
2286
2286
  name: "Base UI",
@@ -2570,7 +2570,7 @@ var xo = {
2570
2570
  name: "Tooltip",
2571
2571
  category: t.display,
2572
2572
  status: "stable",
2573
- description: "Hover- or focus-triggered floating label giving terse contextual help for a control or term. Use for icon-button descriptions, truncated-text reveals, and field hints. Also called a hint, hovercard, or info bubble; for click-triggered panels with actions use Popover instead.",
2573
+ description: "Hover- or focus-triggered label for brief help about a control or term. Also called a hint; use Popover for a panel with actions.",
2574
2574
  origin: "adapted",
2575
2575
  upstream: {
2576
2576
  name: "Base UI",
@@ -2817,7 +2817,7 @@ var Lo = {
2817
2817
  category: t.display,
2818
2818
  status: "stable",
2819
2819
  namespace: !0,
2820
- description: "Typographic primitives — a family of heading (H1–H4), paragraph (P, Lead), and inline accent (InlineCode, Highlight, Link) components. Most support a color role — main, support, or minor — plus the standard HTML attributes for its element; InlineCode is a fixed neutral chip (it renders Code.Inline).",
2820
+ description: "Semantic text primitives for headings, paragraphs, lists, quotes, links, and inline code. The namespace uses native HTML elements and token-based text roles.",
2821
2821
  origin: "native"
2822
2822
  }, Ro = xe({
2823
2823
  color: "currentColor",
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "../chunk-DmhlhrBa.js";
2
2
  import { t } from "../meta-CySnRuVp.js";
3
- import { i as n, n as r, r as i } from "../code-Blo48PGr.js";
3
+ import { i as n, n as r, r as i } from "../code-C_56u-Vk.js";
4
4
  import { jsx as a } from "react/jsx-runtime";
5
5
  import { cloneElement as o, useMemo as s } from "react";
6
6
  import { createHighlighter as c, defineLanguage as l, renderNodesToHtml as u, renderTokens as d } from "@tanstack/highlight/core";
@@ -222,7 +222,7 @@ var R = {
222
222
  category: t.display,
223
223
  status: "experimental",
224
224
  namespace: !0,
225
- description: "Syntax-highlighted drop-in for the Code parts — the same Code.Block and Code.Inline, with TanStack Highlight token coloring that follows the color scheme. Imported from @imfusion/web-ui/integrations/code-highlight; requires the @tanstack/highlight peer.",
225
+ description: "Syntax-highlighted Code parts powered by TanStack Highlight. Import from the integration entry and install the optional @tanstack/highlight peer.",
226
226
  origin: "adapted",
227
227
  internalDependencies: ["Code"],
228
228
  upstream: {
@@ -297,7 +297,7 @@ var U = {
297
297
  name: "ImageDisplayOptions",
298
298
  category: e.inputs,
299
299
  status: "experimental",
300
- description: "A panel or toolbar of controls bound to an image dataset's display options.",
300
+ description: "Panel and toolbar controls for an image dataset's display options, including window, level, gamma, and invert settings.",
301
301
  origin: "adapted",
302
302
  internalDependencies: [
303
303
  "Tabs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imfusion/web-ui",
3
- "version": "0.6.1-dev.12.ge86ac0a1",
3
+ "version": "0.6.1-dev.15.g5d565e65",
4
4
  "description": "The official Web UI component library for ImFusion web apps",
5
5
  "author": "ImFusion GmbH",
6
6
  "license": "UNLICENSED",
@@ -92,8 +92,8 @@
92
92
  "git:config": "git config core.hooksPath .githooks && git config pull.rebase true && git config merge.ff only"
93
93
  },
94
94
  "peerDependencies": {
95
- "@imfusion/sdk": "^1.0.0",
96
- "@imfusion/sdk-react": "^1.0.0",
95
+ "@imfusion/sdk": "^1.0.0 || >=1.1.1-dev.0 <1.1.1",
96
+ "@imfusion/sdk-react": "^1.0.0 || >=1.1.1-dev.0 <1.1.1",
97
97
  "@tanstack/highlight": "^0.0.9",
98
98
  "react": "^19.0.0",
99
99
  "react-dom": "^19.0.0"
@@ -1,34 +1,31 @@
1
- # AGENTS.md
1
+ # Agent instructions
2
2
 
3
- <Keep this file lean — target ~50 lines. Decision test for every line: would the agent make a costly mistake without it? If
4
- it would just need to read a file first, cut it. Dev commands, path aliases, and tool config are discoverable from the files
5
- themselves.>
3
+ <Keep this file short. Include only rules that prevent a costly mistake. Point to the repository's own docs for everything
4
+ else.>
6
5
 
7
- <One paragraph: what the app is and the stack in one line.>
6
+ <One paragraph describing the app, its package, and its stack.>
8
7
 
9
- Scripts, deps, and setup: [`README.md`](./README.md) and [`package.json`](./package.json) are the source of truth. Check the
10
- `package.json` scripts before running or suggesting a command — don't infer one exists by pattern-matching a sibling.
8
+ Setup and commands: [`README.md`](./README.md) and [`package.json`](./package.json). Read the package scripts before running
9
+ or suggesting a command.
11
10
 
12
- ## Read before you write
11
+ ## Read before writing
13
12
 
14
- <One bullet per doc in docs/, each with when to read it, e.g.:>
13
+ <Add one pointer for each repository-specific document.>
15
14
 
16
- - [`docs/<topic>.md`](./docs/<topic>.md) — <what it covers>. Read before <the change it governs>.
15
+ - [`docs/<topic>.md`](./docs/<topic>.md) — <what it covers and when to read it>.
17
16
 
18
- [`docs/index.md`](./docs/index.md) registers all of them.
17
+ [`docs/index.md`](./docs/index.md) lists the documents.
19
18
 
20
19
  ## Working here
21
20
 
22
- <The fenced block below is the only part of this file `npx web-ui-install` touches: its content comes from this template and
23
- is refreshed on every skills install. Everything else in the file is scaffolded once by the setup skill and then owned by the
24
- repo.>
21
+ <The installer owns only the fenced block below. It refreshes that block on every install; the rest belongs to the project.>
25
22
 
26
23
  <!-- imf-web-ui:begin — managed by `npx web-ui-install`; edits inside the fence are overwritten -->
27
24
 
28
- `.agents/skills/imf-web-ui-*` is vendored from `@imfusion/web-ui` and resynced with `npx web-ui-install`. Don't edit it and
29
- don't put repo conventions there. Load the matching `imf-web-ui-*` skill before writing code, styles, data fetching, or docs;
30
- repo docs hold only what is unique to this repo.
25
+ `.agents/skills/imf-web-ui-*` is vendored from `@imfusion/web-ui` and resynced with `npx web-ui-install`. Do not edit the
26
+ vendored copy or put project-specific conventions there. Load the matching skill before changing UI, styles, data, tests, or
27
+ docs.
31
28
 
32
29
  <!-- imf-web-ui:end -->
33
30
 
34
- <Repo-specific agent guidance: generated files that are committed, tools to verify APIs against, things never to touch.>
31
+ <Add project-specific rules here: generated files, API lookup tools, and paths the agent must not touch.>