@imfusion/web-ui 0.5.1-dev.56.gcf89961f → 0.5.1-dev.6.ge1cebe1f

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 (98) hide show
  1. package/README.md +31 -68
  2. package/bin/install-skill.js +180 -0
  3. package/dist/code-qBbqAHK-.js +190 -0
  4. package/dist/components/callout/callout.d.ts +1 -1
  5. package/dist/components/chip-link/chip-link.d.ts +1 -1
  6. package/dist/components/code/code.d.ts +18 -10
  7. package/dist/components/input/input.d.ts +1 -3
  8. package/dist/components/typo/typo.d.ts +2 -2
  9. package/dist/hooks/index.d.ts +0 -1
  10. package/dist/index.d.ts +1 -4
  11. package/dist/index.js +12206 -1789
  12. package/dist/integrations/code-highlight/code-highlight.d.ts +6 -8
  13. package/dist/integrations/code-highlight/highlighter.d.ts +3 -32
  14. package/dist/integrations/code-highlight.js +59 -198
  15. package/dist/integrations/image-display-options.js +69 -70
  16. package/dist/meta-B8C51eyL.js +74 -0
  17. package/dist/provider/web-ui-provider.d.ts +1 -4
  18. package/dist/style.css +1 -1
  19. package/dist/tabs-DqBFSqq6.js +3789 -0
  20. package/package.json +26 -48
  21. package/src/docgen/doc.gen.json +38 -381
  22. package/src/llms/llms.gen.txt +0 -17
  23. package/src/llms/skills/imf-web-ui/SKILL.md +12 -13
  24. package/src/llms/skills/imf-web-ui-components/SKILL.md +3 -56
  25. package/src/llms/skills/imf-web-ui-frontend-patterns/SKILL.md +93 -0
  26. package/src/llms/skills/imf-web-ui-frontend-patterns/references/code-conventions.md +133 -0
  27. package/src/llms/skills/imf-web-ui-frontend-patterns/references/react-patterns.md +94 -0
  28. package/src/llms/skills/imf-web-ui-imfusion-frontend-setup/SKILL.md +201 -0
  29. package/src/llms/skills/imf-web-ui-setup/SKILL.md +37 -67
  30. package/src/llms/skills/imf-web-ui-ux/SKILL.md +4 -4
  31. package/src/llms/skills/imf-web-ui-ux/references/forms.md +2 -2
  32. package/bin/install.js +0 -428
  33. package/bin/install.test.ts +0 -329
  34. package/dist/build/vite-css-module-names/index.d.ts +0 -20
  35. package/dist/build/vite-css-module-names.js +0 -17
  36. package/dist/chunk-DmhlhrBa.js +0 -11
  37. package/dist/code-Blo48PGr.js +0 -136
  38. package/dist/codegen/gen-icons.d.ts +0 -24
  39. package/dist/components/field/field.d.ts +0 -104
  40. package/dist/components/field/field.meta.d.ts +0 -2
  41. package/dist/components/field/index.d.ts +0 -2
  42. package/dist/components/fieldset/fieldset.d.ts +0 -29
  43. package/dist/components/fieldset/fieldset.meta.d.ts +0 -2
  44. package/dist/components/fieldset/index.d.ts +0 -2
  45. package/dist/components/icon/icon.d.ts +0 -16
  46. package/dist/components/icon/icon.meta.d.ts +0 -2
  47. package/dist/components/icon/index.d.ts +0 -4
  48. package/dist/components/icon/types.d.ts +0 -2
  49. package/dist/docgen/component-sources.d.ts +0 -7
  50. package/dist/hooks/use-resize-observer.d.ts +0 -2
  51. package/dist/icons/catalog.gen.d.ts +0 -8357
  52. package/dist/icons/icon-config-provider.d.ts +0 -8
  53. package/dist/icons/icon-context.d.ts +0 -4
  54. package/dist/icons/icons.gen.d.ts +0 -1672
  55. package/dist/icons/index.d.ts +0 -3
  56. package/dist/icons-wBmF0U2x.js +0 -78
  57. package/dist/icons.js +0 -2
  58. package/dist/integrations/code-highlight/language-patterns.d.ts +0 -7
  59. package/dist/integrations/code-highlight/languages/cmake.d.ts +0 -1
  60. package/dist/integrations/code-highlight/languages/cpp.d.ts +0 -1
  61. package/dist/integrations/code-highlight/languages/python.d.ts +0 -1
  62. package/dist/llms/gen-tokens.d.ts +0 -7
  63. package/dist/meta-CySnRuVp.js +0 -21
  64. package/dist/tabs-CMKvMF4E.js +0 -369
  65. package/src/llms/icon-catalog.gen.json +0 -11203
  66. package/src/llms/install-templates/AGENTS.md +0 -34
  67. package/src/llms/install-templates/codex-hooks.json +0 -44
  68. package/src/llms/install-templates/hooks/baseline-staleness.sh +0 -17
  69. package/src/llms/install-templates/hooks/session-start.sh +0 -5
  70. package/src/llms/install-templates/hooks/stop.sh +0 -18
  71. package/src/llms/install-templates/hooks/subagent-start.sh +0 -5
  72. package/src/llms/install-templates/hooks/user-prompt-submit.sh +0 -5
  73. package/src/llms/install-templates/settings.json +0 -45
  74. package/src/llms/skills/imf-web-ui-audit/SKILL.md +0 -119
  75. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +0 -57
  76. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +0 -141
  77. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +0 -45
  78. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +0 -82
  79. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +0 -27
  80. package/src/llms/skills/imf-web-ui-conventions/topics/authentication.md +0 -65
  81. package/src/llms/skills/imf-web-ui-conventions/topics/class-names.md +0 -50
  82. package/src/llms/skills/imf-web-ui-conventions/topics/components.md +0 -101
  83. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +0 -221
  84. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +0 -40
  85. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +0 -34
  86. package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +0 -35
  87. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +0 -26
  88. package/src/llms/skills/imf-web-ui-conventions/topics/npm-project.md +0 -53
  89. package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +0 -44
  90. package/src/llms/skills/imf-web-ui-conventions/topics/react.md +0 -109
  91. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +0 -88
  92. package/src/llms/skills/imf-web-ui-conventions/topics/testing.md +0 -25
  93. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +0 -7
  94. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +0 -116
  95. package/src/llms/skills/imf-web-ui-conventions/topics/typescript.md +0 -73
  96. package/src/llms/skills/imf-web-ui-conventions/topics/validation.md +0 -62
  97. package/src/llms/skills/imf-web-ui-update/SKILL.md +0 -157
  98. package/src/llms/tokens.gen.json +0 -887
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imfusion/web-ui",
3
- "version": "0.5.1-dev.56.gcf89961f",
3
+ "version": "0.5.1-dev.6.ge1cebe1f",
4
4
  "description": "The official Web UI component library for ImFusion web apps",
5
5
  "author": "ImFusion GmbH",
6
6
  "license": "UNLICENSED",
@@ -9,17 +9,10 @@
9
9
  "access": "restricted"
10
10
  },
11
11
  "type": "module",
12
- "engines": {
13
- "node": ">=24"
14
- },
15
- "imports": {
16
- "#/*": "./src/*",
17
- "#/storybook/*": "./.storybook/*"
18
- },
19
12
  "module": "./dist/index.js",
20
13
  "types": "./dist/index.d.ts",
21
14
  "bin": {
22
- "web-ui-install": "bin/install.js"
15
+ "web-ui-install-skills": "bin/install-skill.js"
23
16
  },
24
17
  "exports": {
25
18
  ".": {
@@ -30,14 +23,6 @@
30
23
  "types": "./dist/integrations/*/index.d.ts",
31
24
  "import": "./dist/integrations/*.js"
32
25
  },
33
- "./build/*": {
34
- "types": "./dist/build/*/index.d.ts",
35
- "import": "./dist/build/*.js"
36
- },
37
- "./icons": {
38
- "types": "./dist/icons/index.d.ts",
39
- "import": "./dist/icons.js"
40
- },
41
26
  "./styles.css": "./dist/style.css",
42
27
  "./docgen.json": "./src/docgen/doc.gen.json",
43
28
  "./llms.txt": "./src/llms/llms.gen.txt",
@@ -45,50 +30,44 @@
45
30
  },
46
31
  "files": [
47
32
  "dist",
48
- "src/llms/install-templates",
49
33
  "src/docgen/doc.gen.json",
50
34
  "src/llms/llms.gen.txt",
51
- "src/llms/icon-catalog.gen.json",
52
- "src/llms/tokens.gen.json",
53
35
  "src/llms/skills",
54
36
  "bin"
55
37
  ],
56
38
  "scripts": {
39
+ "codegen:docgen": "tsx src/docgen/gen-docgen.ts",
40
+ "codegen:llms": "tsx src/llms/gen-llms.ts",
41
+ "codegen:watch": "tsx watch src/codegen/run.ts",
42
+ "codegen:storybook": "tsx src/codegen/run.ts --storybook",
43
+ "codegen": "tsx src/codegen/run.ts",
44
+ "build": "npm run codegen && rm -rf dist && vite build && npm run codegen:docgen && npm run codegen:llms",
57
45
  "dev": "tsx scripts/dev.ts",
58
46
  "dev:host": "tsx scripts/dev.ts --host",
59
47
  "dev:lib": "concurrently -n codegen,lib -c yellow,blue \"npm run codegen:watch\" \"vite build --watch\"",
60
- "build": "npm run codegen && rm -rf dist && vite build && npm run codegen:docgen && npm run codegen:llms && npm run codegen:tokens",
61
- "build:storybook": "npm run codegen:storybook && storybook build",
62
- "storybook": "npm run codegen:storybook && storybook dev -p 6006 --no-open",
63
- "storybook:free-ports": "tsx scripts/free-storybook-ports.ts",
64
- "codegen": "tsx src/codegen/run.ts",
65
- "codegen:watch": "tsx watch src/codegen/run.ts",
66
- "codegen:storybook": "tsx src/codegen/run.ts --storybook",
67
- "codegen:docgen": "tsx src/docgen/gen-docgen.ts",
68
- "codegen:llms": "tsx src/llms/gen-llms.ts",
69
- "codegen:tokens": "tsx src/llms/gen-tokens.ts",
70
- "verify:format": "prettier --check . --ignore-path .gitignore --ignore-path .prettierignore --ignore-path $(git rev-parse --path-format=absolute --git-path info/exclude)",
71
- "verify:lint": "eslint . --cache --max-warnings=0",
72
- "verify:typecheck": "npm run codegen && tsc -p tsconfig.json --noEmit && tsc -p tsconfig.lib.json --noEmit && tsc -p .storybook/tsconfig.json --noEmit",
73
- "verify:tests": "vitest run",
74
- "verify:knip": "knip",
75
- "verify:deps": "tsx scripts/check-pinned-dependencies.ts",
76
- "verify:icons": "tsx scripts/verify/icons-public-api.ts",
77
- "verify:changelog": "tsx scripts/verify/changelog.ts",
78
- "verify:staged": "tsx scripts/verify/staged.ts",
79
- "verify:full": "tsx scripts/verify/full.ts && npm run verify:tests",
80
- "release:prepare": "tsx scripts/release.ts prepare",
81
- "release:tag": "tsx scripts/release.ts tag",
48
+ "typecheck": "npm run codegen && tsc -p tsconfig.lib.json --noEmit && tsc -p .storybook/tsconfig.json --noEmit",
82
49
  "format": "prettier --write .",
83
- "lint": "eslint . --cache --fix",
50
+ "format:check": "prettier --check .",
51
+ "lint": "eslint . --cache --max-warnings=0",
52
+ "lint:fix": "eslint . --cache --fix",
84
53
  "lint:inspect": "npx @eslint/config-inspector@latest",
85
- "test:unit": "vitest run --project unit",
86
- "test:stories": "vitest run --project storybook",
87
- "test:watch": "vitest",
88
54
  "skills:eval": "node src/llms/evals/run.mjs",
89
55
  "skills:eval:dev": "WEB_UI_SKILL_EVAL_ROOT=/private/tmp/web-ui-dev-skill-evals WEB_UI_SKILL_EVAL_RESULTS_DIR=.agents/evals/results WEB_UI_SKILL_EVAL_REPORT_PATH=.agents/evals/REPORT.md WEB_UI_SKILL_EVAL_SKILL_FAMILY=web-ui-dev WEB_UI_SKILL_EVAL_WORKSPACE_LABEL='development repository' node src/llms/evals/run.mjs --scenarios-dir .agents/evals/scenarios --setup .agents/evals/setup-env.sh",
90
56
  "skills:eval:compare": "node src/llms/evals/compare.mjs",
91
57
  "skills:eval:report": "node src/llms/evals/report.mjs",
58
+ "storybook": "npm run codegen:storybook && storybook dev -p 6006 --no-open",
59
+ "storybook:free-ports": "tsx scripts/free-storybook-ports.ts",
60
+ "build:storybook": "npm run codegen:storybook && storybook build",
61
+ "test": "vitest run",
62
+ "test:unit": "vitest run --project unit",
63
+ "test:stories": "vitest run --project storybook",
64
+ "test:watch": "vitest",
65
+ "verify:preflight": "tsx scripts/verify/full.ts",
66
+ "verify:full": "npm run verify:preflight && npm run test",
67
+ "worktree:create": "tsx scripts/worktrees.ts create",
68
+ "worktree:close": "tsx scripts/worktrees.ts close",
69
+ "worktree:discard": "tsx scripts/worktrees.ts discard",
70
+ "knip": "knip",
92
71
  "git:config": "git config core.hooksPath .githooks && git config pull.rebase true && git config merge.ff only"
93
72
  },
94
73
  "peerDependencies": {
@@ -113,7 +92,7 @@
113
92
  "@base-ui/react": "1.6.0",
114
93
  "@clack/prompts": "1.7.0",
115
94
  "class-variance-authority": "0.7.1",
116
- "iconoir-react": "7.12.1"
95
+ "lucide-react": "1.16.0"
117
96
  },
118
97
  "devDependencies": {
119
98
  "@eslint/compat": "1.4.1",
@@ -145,7 +124,6 @@
145
124
  "globals": "15.15.0",
146
125
  "jiti": "2.7.0",
147
126
  "knip": "6.14.2",
148
- "lightningcss": "1.32.0",
149
127
  "nano-staged": "1.0.2",
150
128
  "playwright": "1.60.0",
151
129
  "prettier": "3.8.3",
@@ -177,7 +177,7 @@
177
177
  },
178
178
  {
179
179
  "name": "Callout.Icon",
180
- "description": "Callout.Icon — the leading status glyph. With no children it renders the\nvariant's default local icon; pass a custom icon as children to override.\n`aria-hidden` (the variant is conveyed by copy, not the glyph) and inherits\nthe status colour via `currentColor`.",
180
+ "description": "Callout.Icon — the leading status glyph. With no children it renders the\nvariant's default lucide icon; pass a custom icon as children to override.\n`aria-hidden` (the variant is conveyed by copy, not the glyph) and inherits\nthe status colour via `currentColor`.",
181
181
  "props": []
182
182
  },
183
183
  {
@@ -448,7 +448,7 @@
448
448
  "chip-link": {
449
449
  "root": {
450
450
  "name": "ChipLink",
451
- "description": "ChipLink — anchor styled as a Chip. Reuses Chip's shared variants so the\nvariant and appearance axes stay aligned, and auto-appends a directional icon\n(local Web UI `ArrowUpRight` for external, `ArrowRight` for internal).",
451
+ "description": "ChipLink — anchor styled as a Chip. Reuses Chip's shared variants so the\nvariant and appearance axes stay aligned, and auto-appends a directional icon\n(Lucide `ArrowUpRight` for external, `ArrowRight` for internal).",
452
452
  "props": [
453
453
  {
454
454
  "name": "appearance",
@@ -491,14 +491,14 @@
491
491
  "subComponents": [
492
492
  {
493
493
  "name": "Code.Block",
494
- "description": "Code.Block — a fenced code block on a flat brand surface, with an optional\nchamfered language notch (top-left) and a copy button (top-right). The\nsurface follows the global corner-radius token when a preset opts in. The\ncopy button copies the rendered text.",
494
+ "description": "Code.Block — a fenced code block on a flat brand surface, with an optional\nchamfered language notch (top-left) and a copy button (top-right). The\nsurface follows the global corner-radius token when a preset opts in.\nDumb: styling only — syntax coloring arrives pre-rendered through the\n`highlighted` slot (the code-highlight integration supplies it). Children\nmust be a string so the copy button has clean text to copy.",
495
495
  "props": [
496
496
  {
497
497
  "name": "children",
498
498
  "required": true,
499
- "type": "ReactNode",
499
+ "type": "string",
500
500
  "defaultValue": null,
501
- "description": "Code content shown in the block. The copy button copies its rendered text."
501
+ "description": "The code to display, as a raw string — also the value copied by the copy button."
502
502
  },
503
503
  {
504
504
  "name": "hideCopy",
@@ -507,6 +507,13 @@
507
507
  "defaultValue": "false",
508
508
  "description": "Hide the copy button."
509
509
  },
510
+ {
511
+ "name": "highlighted",
512
+ "required": false,
513
+ "type": "ReactNode",
514
+ "defaultValue": null,
515
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
516
+ },
510
517
  {
511
518
  "name": "language",
512
519
  "required": false,
@@ -518,14 +525,14 @@
518
525
  },
519
526
  {
520
527
  "name": "Code.Inline",
521
- "description": "Code.Inline — an inline code fragment (a `<code>` chip) for use inside running\ntext. `Typo.InlineCode` renders this under the hood so inline-code chrome is\ndefined in one place. The copy button copies the rendered text.",
528
+ "description": "Code.Inline — an inline code fragment (a `<code>` chip) for use inside running\ntext. Dumb: styling only — syntax coloring arrives pre-rendered through the\n`highlighted` slot (the code-highlight integration supplies it). `Typo.InlineCode`\nrenders this under the hood so inline-code chrome is defined in one place.\nChildren must be a string so an opted-in copy button has clean text to copy.",
522
529
  "props": [
523
530
  {
524
531
  "name": "children",
525
532
  "required": true,
526
- "type": "ReactNode",
533
+ "type": "string",
527
534
  "defaultValue": null,
528
- "description": "Code content shown in the chip. The copy button copies its rendered text."
535
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
529
536
  },
530
537
  {
531
538
  "name": "copyable",
@@ -533,6 +540,13 @@
533
540
  "type": "boolean",
534
541
  "defaultValue": "false",
535
542
  "description": "Show a small copy button on the right, behind a hairline separator."
543
+ },
544
+ {
545
+ "name": "highlighted",
546
+ "required": false,
547
+ "type": "ReactNode",
548
+ "defaultValue": null,
549
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
536
550
  }
537
551
  ]
538
552
  },
@@ -1180,363 +1194,6 @@
1180
1194
  }
1181
1195
  ]
1182
1196
  },
1183
- "field": {
1184
- "root": {
1185
- "name": "Field.Root",
1186
- "description": "Field.Root — groups a label, control, validation state, and supporting copy.",
1187
- "props": [
1188
- {
1189
- "name": "actionsRef",
1190
- "required": false,
1191
- "type": "RefObject<FieldRootActions | null>",
1192
- "defaultValue": null,
1193
- "description": ""
1194
- },
1195
- {
1196
- "name": "className",
1197
- "required": false,
1198
- "type": "string | ((state: FieldRootState) => string)",
1199
- "defaultValue": null,
1200
- "description": ""
1201
- },
1202
- {
1203
- "name": "dirty",
1204
- "required": false,
1205
- "type": "boolean",
1206
- "defaultValue": null,
1207
- "description": ""
1208
- },
1209
- {
1210
- "name": "disabled",
1211
- "required": false,
1212
- "type": "boolean",
1213
- "defaultValue": "false",
1214
- "description": ""
1215
- },
1216
- {
1217
- "name": "invalid",
1218
- "required": false,
1219
- "type": "boolean",
1220
- "defaultValue": null,
1221
- "description": ""
1222
- },
1223
- {
1224
- "name": "name",
1225
- "required": false,
1226
- "type": "string",
1227
- "defaultValue": null,
1228
- "description": ""
1229
- },
1230
- {
1231
- "name": "render",
1232
- "required": false,
1233
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldRootState>",
1234
- "defaultValue": null,
1235
- "description": ""
1236
- },
1237
- {
1238
- "name": "style",
1239
- "required": false,
1240
- "type": "| CSSProperties\n| ((state: FieldRootState) => CSSProperties)",
1241
- "defaultValue": null,
1242
- "description": ""
1243
- },
1244
- {
1245
- "name": "touched",
1246
- "required": false,
1247
- "type": "boolean",
1248
- "defaultValue": null,
1249
- "description": ""
1250
- },
1251
- {
1252
- "name": "validate",
1253
- "required": false,
1254
- "type": "(\n value: unknown,\n formValues: Record<string, any>\n) =>\n | string\n | string[]\n | Promise<string | string[] | null>\n | null",
1255
- "defaultValue": null,
1256
- "description": ""
1257
- },
1258
- {
1259
- "name": "validationDebounceTime",
1260
- "required": false,
1261
- "type": "number",
1262
- "defaultValue": "0",
1263
- "description": ""
1264
- },
1265
- {
1266
- "name": "validationMode",
1267
- "required": false,
1268
- "type": "FormValidationMode",
1269
- "defaultValue": "onSubmit",
1270
- "description": ""
1271
- }
1272
- ]
1273
- },
1274
- "subComponents": [
1275
- {
1276
- "name": "Field.Control",
1277
- "description": "Field.Control — a native input control with Field labeling and validation.",
1278
- "props": [
1279
- {
1280
- "name": "className",
1281
- "required": false,
1282
- "type": "string | ((state: FieldControlState) => string)",
1283
- "defaultValue": null,
1284
- "description": ""
1285
- },
1286
- {
1287
- "name": "defaultValue",
1288
- "required": false,
1289
- "type": "string | number | readonly string[]",
1290
- "defaultValue": null,
1291
- "description": ""
1292
- },
1293
- {
1294
- "name": "onValueChange",
1295
- "required": false,
1296
- "type": "(\n value: string,\n eventDetails: {\n reason: \"none\";\n event: Event;\n cancel: () => void;\n allowPropagation: () => void;\n isCanceled: boolean;\n isPropagationAllowed: boolean;\n trigger: Element;\n }\n) => void",
1297
- "defaultValue": null,
1298
- "description": ""
1299
- },
1300
- {
1301
- "name": "render",
1302
- "required": false,
1303
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldControlState>",
1304
- "defaultValue": null,
1305
- "description": ""
1306
- },
1307
- {
1308
- "name": "style",
1309
- "required": false,
1310
- "type": "| CSSProperties\n| ((state: FieldControlState) => CSSProperties)",
1311
- "defaultValue": null,
1312
- "description": ""
1313
- }
1314
- ]
1315
- },
1316
- {
1317
- "name": "Field.Description",
1318
- "description": "Field.Description — supporting information for a field.",
1319
- "props": [
1320
- {
1321
- "name": "className",
1322
- "required": false,
1323
- "type": "| string\n| ((state: FieldDescriptionState) => string)",
1324
- "defaultValue": null,
1325
- "description": ""
1326
- },
1327
- {
1328
- "name": "render",
1329
- "required": false,
1330
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldDescriptionState>",
1331
- "defaultValue": null,
1332
- "description": ""
1333
- },
1334
- {
1335
- "name": "style",
1336
- "required": false,
1337
- "type": "| CSSProperties\n| ((state: FieldDescriptionState) => CSSProperties)",
1338
- "defaultValue": null,
1339
- "description": ""
1340
- }
1341
- ]
1342
- },
1343
- {
1344
- "name": "Field.Error",
1345
- "description": "Field.Error — an inline validation message shown when its match condition fails.",
1346
- "props": [
1347
- {
1348
- "name": "className",
1349
- "required": false,
1350
- "type": "string | ((state: FieldErrorState) => string)",
1351
- "defaultValue": null,
1352
- "description": ""
1353
- },
1354
- {
1355
- "name": "match",
1356
- "required": false,
1357
- "type": "boolean | keyof ValidityState",
1358
- "defaultValue": null,
1359
- "description": ""
1360
- },
1361
- {
1362
- "name": "render",
1363
- "required": false,
1364
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldErrorState>",
1365
- "defaultValue": null,
1366
- "description": ""
1367
- },
1368
- {
1369
- "name": "style",
1370
- "required": false,
1371
- "type": "| CSSProperties\n| ((state: FieldErrorState) => CSSProperties)",
1372
- "defaultValue": null,
1373
- "description": ""
1374
- }
1375
- ]
1376
- },
1377
- {
1378
- "name": "Field.Item",
1379
- "description": "Field.Item — groups one checkable option with its label and description.",
1380
- "props": [
1381
- {
1382
- "name": "className",
1383
- "required": false,
1384
- "type": "string | ((state: FieldItemState) => string)",
1385
- "defaultValue": null,
1386
- "description": ""
1387
- },
1388
- {
1389
- "name": "disabled",
1390
- "required": false,
1391
- "type": "boolean",
1392
- "defaultValue": "false",
1393
- "description": ""
1394
- },
1395
- {
1396
- "name": "render",
1397
- "required": false,
1398
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldItemState>",
1399
- "defaultValue": null,
1400
- "description": ""
1401
- },
1402
- {
1403
- "name": "style",
1404
- "required": false,
1405
- "type": "| CSSProperties\n| ((state: FieldItemState) => CSSProperties)",
1406
- "defaultValue": null,
1407
- "description": ""
1408
- }
1409
- ]
1410
- },
1411
- {
1412
- "name": "Field.Label",
1413
- "description": "Field.Label — an accessible label automatically associated with the control.",
1414
- "props": [
1415
- {
1416
- "name": "className",
1417
- "required": false,
1418
- "type": "string | ((state: FieldLabelState) => string)",
1419
- "defaultValue": null,
1420
- "description": ""
1421
- },
1422
- {
1423
- "name": "nativeLabel",
1424
- "required": false,
1425
- "type": "boolean",
1426
- "defaultValue": "true",
1427
- "description": ""
1428
- },
1429
- {
1430
- "name": "render",
1431
- "required": false,
1432
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldLabelState>",
1433
- "defaultValue": null,
1434
- "description": ""
1435
- },
1436
- {
1437
- "name": "style",
1438
- "required": false,
1439
- "type": "| CSSProperties\n| ((state: FieldLabelState) => CSSProperties)",
1440
- "defaultValue": null,
1441
- "description": ""
1442
- }
1443
- ]
1444
- },
1445
- {
1446
- "name": "Field.Validity",
1447
- "description": "Field.Validity — renderless access to the field validity data for custom messages.\nIts function child owns the rendered element and therefore its identity and styling.",
1448
- "props": []
1449
- }
1450
- ]
1451
- },
1452
- "fieldset": {
1453
- "root": {
1454
- "name": "Fieldset.Root",
1455
- "description": "Fieldset.Root — semantic grouping for related form controls and a shared legend.",
1456
- "props": [
1457
- {
1458
- "name": "className",
1459
- "required": false,
1460
- "type": "string | ((state: FieldsetRootState) => string)",
1461
- "defaultValue": null,
1462
- "description": ""
1463
- },
1464
- {
1465
- "name": "render",
1466
- "required": false,
1467
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldsetRootState>",
1468
- "defaultValue": null,
1469
- "description": ""
1470
- },
1471
- {
1472
- "name": "style",
1473
- "required": false,
1474
- "type": "| CSSProperties\n| ((state: FieldsetRootState) => CSSProperties)",
1475
- "defaultValue": null,
1476
- "description": ""
1477
- }
1478
- ]
1479
- },
1480
- "subComponents": [
1481
- {
1482
- "name": "Fieldset.Legend",
1483
- "description": "Fieldset.Legend — the accessible label for its related controls.",
1484
- "props": [
1485
- {
1486
- "name": "className",
1487
- "required": false,
1488
- "type": "string | ((state: FieldsetLegendState) => string)",
1489
- "defaultValue": null,
1490
- "description": ""
1491
- },
1492
- {
1493
- "name": "render",
1494
- "required": false,
1495
- "type": "| ReactElement<\n unknown,\n string | JSXElementConstructor<any>\n >\n| ComponentRenderFn<HTMLProps, FieldsetLegendState>",
1496
- "defaultValue": null,
1497
- "description": ""
1498
- },
1499
- {
1500
- "name": "style",
1501
- "required": false,
1502
- "type": "| CSSProperties\n| ((state: FieldsetLegendState) => CSSProperties)",
1503
- "defaultValue": null,
1504
- "description": ""
1505
- }
1506
- ]
1507
- }
1508
- ]
1509
- },
1510
- "icon": {
1511
- "root": {
1512
- "name": "Icon",
1513
- "description": "Icon — renders an icon component with a semantic Web UI foreground color.",
1514
- "props": [
1515
- {
1516
- "name": "glyph",
1517
- "required": true,
1518
- "type": "IconComponent",
1519
- "defaultValue": null,
1520
- "description": "Icon component imported from `@imfusion/web-ui/icons`."
1521
- },
1522
- {
1523
- "name": "size",
1524
- "required": false,
1525
- "type": "string | number",
1526
- "defaultValue": null,
1527
- "description": "Sets both SVG dimensions unless `width` or `height` is provided."
1528
- },
1529
- {
1530
- "name": "variant",
1531
- "required": false,
1532
- "type": "| \"inherit\"\n| \"main\"\n| \"support\"\n| \"minor\"\n| \"brand\"\n| \"primary\"\n| \"positive\"\n| \"negative\"\n| \"warning\"\n| \"info\"\n| \"oncolor\"\n| \"accent-1\"\n| \"accent-2\"\n| \"accent-3\"\n| null",
1533
- "defaultValue": "inherit",
1534
- "description": ""
1535
- }
1536
- ]
1537
- },
1538
- "subComponents": []
1539
- },
1540
1197
  "input": {
1541
1198
  "root": {
1542
1199
  "name": "Input",
@@ -1549,13 +1206,6 @@
1549
1206
  "defaultValue": null,
1550
1207
  "description": ""
1551
1208
  },
1552
- {
1553
- "name": "onClear",
1554
- "required": false,
1555
- "type": "() => void",
1556
- "defaultValue": null,
1557
- "description": "Called when the search input's clear button is pressed."
1558
- },
1559
1209
  {
1560
1210
  "name": "onValueChange",
1561
1211
  "required": false,
@@ -4794,9 +4444,9 @@
4794
4444
  {
4795
4445
  "name": "children",
4796
4446
  "required": true,
4797
- "type": "ReactNode",
4447
+ "type": "string",
4798
4448
  "defaultValue": null,
4799
- "description": "Code content shown in the chip. The copy button copies its rendered text."
4449
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
4800
4450
  },
4801
4451
  {
4802
4452
  "name": "copyable",
@@ -4804,6 +4454,13 @@
4804
4454
  "type": "boolean",
4805
4455
  "defaultValue": "false",
4806
4456
  "description": "Show a small copy button on the right, behind a hairline separator."
4457
+ },
4458
+ {
4459
+ "name": "highlighted",
4460
+ "required": false,
4461
+ "type": "ReactNode",
4462
+ "defaultValue": null,
4463
+ "description": "Pre-rendered display content (e.g. syntax-highlighted tokens) shown in place of `children`, which stays the copied value. The code-highlight integration fills this slot."
4807
4464
  }
4808
4465
  ]
4809
4466
  },
@@ -4829,7 +4486,7 @@
4829
4486
  },
4830
4487
  {
4831
4488
  "name": "Typo.Link",
4832
- "description": "Typo.Link — inline anchor. Auto-appends a local Web UI directional icon (`ArrowUpRight` for external, `ArrowRight` for internal), mirroring ChipLink's affordance for prose links.",
4489
+ "description": "Typo.Link — inline anchor. Auto-appends a directional icon (Lucide `ArrowUpRight` for external, `ArrowRight` for internal), mirroring ChipLink's affordance for prose links.",
4833
4490
  "props": [
4834
4491
  {
4835
4492
  "name": "kind",
@@ -4931,14 +4588,14 @@
4931
4588
  "subComponents": [
4932
4589
  {
4933
4590
  "name": "CodeHighlight.Block",
4934
- "description": "Code.Block — the core `Code.Block` with TanStack Highlight tokens rendered inside.",
4591
+ "description": "Code.Block — the core `Code.Block` with TanStack Highlight tokens filling its `highlighted` slot.",
4935
4592
  "props": [
4936
4593
  {
4937
4594
  "name": "children",
4938
4595
  "required": true,
4939
4596
  "type": "string",
4940
4597
  "defaultValue": null,
4941
- "description": "Language of `children`: grammar for tokenization and label for the corner notch. Omit to hide the notch and skip highlighting."
4598
+ "description": "The code to display, as a raw string — also the value copied by the copy button."
4942
4599
  },
4943
4600
  {
4944
4601
  "name": "hideCopy",
@@ -4952,20 +4609,20 @@
4952
4609
  "required": false,
4953
4610
  "type": "SupportedLanguage",
4954
4611
  "defaultValue": null,
4955
- "description": ""
4612
+ "description": "Language of `children`: grammar for tokenization and label for the corner notch. Omit to hide the notch and skip highlighting."
4956
4613
  }
4957
4614
  ]
4958
4615
  },
4959
4616
  {
4960
4617
  "name": "CodeHighlight.Inline",
4961
- "description": "Code.Inline — the core `Code.Inline` with TanStack Highlight tokens rendered inside.",
4618
+ "description": "Code.Inline — the core `Code.Inline` with TanStack Highlight tokens filling its `highlighted` slot.",
4962
4619
  "props": [
4963
4620
  {
4964
4621
  "name": "children",
4965
4622
  "required": true,
4966
4623
  "type": "string",
4967
4624
  "defaultValue": null,
4968
- "description": "Grammar used to tokenize the fragment. Purely visual — the chip shows no language label. Omit for plain text."
4625
+ "description": "The inline code, as a raw string — also the value copied when `copyable`."
4969
4626
  },
4970
4627
  {
4971
4628
  "name": "copyable",
@@ -4979,7 +4636,7 @@
4979
4636
  "required": false,
4980
4637
  "type": "SupportedLanguage",
4981
4638
  "defaultValue": null,
4982
- "description": ""
4639
+ "description": "Grammar used to tokenize the fragment. Purely visual — the chip shows no language label. Omit for plain text."
4983
4640
  }
4984
4641
  ]
4985
4642
  },