@imfusion/web-ui 0.5.1-dev.50.ga7a4f1c3 → 0.5.1-dev.52.gcaa229a7

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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-DA_OvQe2.js +11 -0
  3. package/dist/code-BRy_lg-h.js +135 -0
  4. package/dist/codegen/gen-icons.d.ts +24 -0
  5. package/dist/components/callout/callout.d.ts +1 -1
  6. package/dist/components/chip-link/chip-link.d.ts +1 -1
  7. package/dist/components/code/code.d.ts +10 -18
  8. package/dist/components/icon/icon.d.ts +16 -0
  9. package/dist/components/icon/icon.meta.d.ts +2 -0
  10. package/dist/components/icon/index.d.ts +4 -0
  11. package/dist/components/icon/types.d.ts +2 -0
  12. package/dist/components/input/input.d.ts +3 -1
  13. package/dist/components/typo/typo.d.ts +2 -2
  14. package/dist/docgen/component-sources.d.ts +7 -0
  15. package/dist/hooks/index.d.ts +1 -0
  16. package/dist/hooks/use-resize-observer.d.ts +2 -0
  17. package/dist/icons/catalog.gen.d.ts +8357 -0
  18. package/dist/icons/icon-config-provider.d.ts +8 -0
  19. package/dist/icons/icon-context.d.ts +4 -0
  20. package/dist/icons/icons.gen.d.ts +1672 -0
  21. package/dist/icons/index.d.ts +3 -0
  22. package/dist/icons-BhogvWBV.js +77 -0
  23. package/dist/icons.js +2 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +5026 -5059
  26. package/dist/integrations/code-highlight/code-highlight.d.ts +8 -6
  27. package/dist/integrations/code-highlight.js +59 -60
  28. package/dist/integrations/image-display-options.js +56 -56
  29. package/dist/meta-BwCupYyq.js +64 -0
  30. package/dist/provider/web-ui-provider.d.ts +4 -1
  31. package/dist/style.css +1 -1
  32. package/dist/{tabs-CVp_SgBl.js → tabs-CYqtw1q9.js} +2 -1
  33. package/package.json +8 -2
  34. package/src/docgen/doc.gen.json +54 -38
  35. package/src/llms/icon-catalog.gen.json +11203 -0
  36. package/src/llms/llms.gen.txt +5 -0
  37. package/src/llms/skills/imf-web-ui-components/SKILL.md +55 -3
  38. package/src/llms/skills/imf-web-ui-conventions/topics/library-boundary.md +2 -0
  39. package/src/llms/tokens.gen.json +2 -2
  40. package/dist/code-qBbqAHK-.js +0 -190
  41. package/dist/meta-B8C51eyL.js +0 -74
@@ -1,4 +1,5 @@
1
- import { a as e, i as t, n } from "./meta-B8C51eyL.js";
1
+ import { n as e, t } from "./chunk-DA_OvQe2.js";
2
+ import { n } from "./meta-BwCupYyq.js";
2
3
  import * as r from "react";
3
4
  import { Children as i, createElement as a } from "react";
4
5
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imfusion/web-ui",
3
- "version": "0.5.1-dev.50.ga7a4f1c3",
3
+ "version": "0.5.1-dev.52.gcaa229a7",
4
4
  "description": "The official Web UI component library for ImFusion web apps",
5
5
  "author": "ImFusion GmbH",
6
6
  "license": "UNLICENSED",
@@ -34,6 +34,10 @@
34
34
  "types": "./dist/build/*/index.d.ts",
35
35
  "import": "./dist/build/*.js"
36
36
  },
37
+ "./icons": {
38
+ "types": "./dist/icons/index.d.ts",
39
+ "import": "./dist/icons.js"
40
+ },
37
41
  "./styles.css": "./dist/style.css",
38
42
  "./docgen.json": "./src/docgen/doc.gen.json",
39
43
  "./llms.txt": "./src/llms/llms.gen.txt",
@@ -44,6 +48,7 @@
44
48
  "src/llms/install-templates",
45
49
  "src/docgen/doc.gen.json",
46
50
  "src/llms/llms.gen.txt",
51
+ "src/llms/icon-catalog.gen.json",
47
52
  "src/llms/tokens.gen.json",
48
53
  "src/llms/skills",
49
54
  "bin"
@@ -68,6 +73,7 @@
68
73
  "verify:tests": "vitest run",
69
74
  "verify:knip": "knip",
70
75
  "verify:deps": "tsx scripts/check-pinned-dependencies.ts",
76
+ "verify:icons": "tsx scripts/verify/icons-public-api.ts",
71
77
  "verify:changelog": "tsx scripts/verify/changelog.ts",
72
78
  "verify:staged": "tsx scripts/verify/staged.ts",
73
79
  "verify:full": "tsx scripts/verify/full.ts && npm run verify:tests",
@@ -105,7 +111,7 @@
105
111
  "@base-ui/react": "1.6.0",
106
112
  "@clack/prompts": "1.7.0",
107
113
  "class-variance-authority": "0.7.1",
108
- "lucide-react": "1.16.0"
114
+ "iconoir-react": "7.12.1"
109
115
  },
110
116
  "devDependencies": {
111
117
  "@eslint/compat": "1.4.1",
@@ -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 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`.",
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`.",
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(Lucide `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(local Web UI `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.\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.",
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.",
495
495
  "props": [
496
496
  {
497
497
  "name": "children",
498
498
  "required": true,
499
- "type": "string",
499
+ "type": "ReactNode",
500
500
  "defaultValue": null,
501
- "description": "The code to display, as a raw string — also the value copied by the copy button."
501
+ "description": "Code content shown in the block. The copy button copies its rendered text."
502
502
  },
503
503
  {
504
504
  "name": "hideCopy",
@@ -507,13 +507,6 @@
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
- },
517
510
  {
518
511
  "name": "language",
519
512
  "required": false,
@@ -525,14 +518,14 @@
525
518
  },
526
519
  {
527
520
  "name": "Code.Inline",
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.",
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.",
529
522
  "props": [
530
523
  {
531
524
  "name": "children",
532
525
  "required": true,
533
- "type": "string",
526
+ "type": "ReactNode",
534
527
  "defaultValue": null,
535
- "description": "The inline code, as a raw string — also the value copied when `copyable`."
528
+ "description": "Code content shown in the chip. The copy button copies its rendered text."
536
529
  },
537
530
  {
538
531
  "name": "copyable",
@@ -540,13 +533,6 @@
540
533
  "type": "boolean",
541
534
  "defaultValue": "false",
542
535
  "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."
550
536
  }
551
537
  ]
552
538
  },
@@ -1521,6 +1507,36 @@
1521
1507
  }
1522
1508
  ]
1523
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
+ },
1524
1540
  "input": {
1525
1541
  "root": {
1526
1542
  "name": "Input",
@@ -1533,6 +1549,13 @@
1533
1549
  "defaultValue": null,
1534
1550
  "description": ""
1535
1551
  },
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
+ },
1536
1559
  {
1537
1560
  "name": "onValueChange",
1538
1561
  "required": false,
@@ -4771,9 +4794,9 @@
4771
4794
  {
4772
4795
  "name": "children",
4773
4796
  "required": true,
4774
- "type": "string",
4797
+ "type": "ReactNode",
4775
4798
  "defaultValue": null,
4776
- "description": "The inline code, as a raw string — also the value copied when `copyable`."
4799
+ "description": "Code content shown in the chip. The copy button copies its rendered text."
4777
4800
  },
4778
4801
  {
4779
4802
  "name": "copyable",
@@ -4781,13 +4804,6 @@
4781
4804
  "type": "boolean",
4782
4805
  "defaultValue": "false",
4783
4806
  "description": "Show a small copy button on the right, behind a hairline separator."
4784
- },
4785
- {
4786
- "name": "highlighted",
4787
- "required": false,
4788
- "type": "ReactNode",
4789
- "defaultValue": null,
4790
- "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."
4791
4807
  }
4792
4808
  ]
4793
4809
  },
@@ -4813,7 +4829,7 @@
4813
4829
  },
4814
4830
  {
4815
4831
  "name": "Typo.Link",
4816
- "description": "Typo.Link — inline anchor. Auto-appends a directional icon (Lucide `ArrowUpRight` for external, `ArrowRight` for internal), mirroring ChipLink's affordance for prose links.",
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.",
4817
4833
  "props": [
4818
4834
  {
4819
4835
  "name": "kind",
@@ -4915,14 +4931,14 @@
4915
4931
  "subComponents": [
4916
4932
  {
4917
4933
  "name": "CodeHighlight.Block",
4918
- "description": "Code.Block — the core `Code.Block` with TanStack Highlight tokens filling its `highlighted` slot.",
4934
+ "description": "Code.Block — the core `Code.Block` with TanStack Highlight tokens rendered inside.",
4919
4935
  "props": [
4920
4936
  {
4921
4937
  "name": "children",
4922
4938
  "required": true,
4923
4939
  "type": "string",
4924
4940
  "defaultValue": null,
4925
- "description": "The code to display, as a raw string — also the value copied by the copy button."
4941
+ "description": "Language of `children`: grammar for tokenization and label for the corner notch. Omit to hide the notch and skip highlighting."
4926
4942
  },
4927
4943
  {
4928
4944
  "name": "hideCopy",
@@ -4936,20 +4952,20 @@
4936
4952
  "required": false,
4937
4953
  "type": "SupportedLanguage",
4938
4954
  "defaultValue": null,
4939
- "description": "Language of `children`: grammar for tokenization and label for the corner notch. Omit to hide the notch and skip highlighting."
4955
+ "description": ""
4940
4956
  }
4941
4957
  ]
4942
4958
  },
4943
4959
  {
4944
4960
  "name": "CodeHighlight.Inline",
4945
- "description": "Code.Inline — the core `Code.Inline` with TanStack Highlight tokens filling its `highlighted` slot.",
4961
+ "description": "Code.Inline — the core `Code.Inline` with TanStack Highlight tokens rendered inside.",
4946
4962
  "props": [
4947
4963
  {
4948
4964
  "name": "children",
4949
4965
  "required": true,
4950
4966
  "type": "string",
4951
4967
  "defaultValue": null,
4952
- "description": "The inline code, as a raw string — also the value copied when `copyable`."
4968
+ "description": "Grammar used to tokenize the fragment. Purely visual — the chip shows no language label. Omit for plain text."
4953
4969
  },
4954
4970
  {
4955
4971
  "name": "copyable",
@@ -4963,7 +4979,7 @@
4963
4979
  "required": false,
4964
4980
  "type": "SupportedLanguage",
4965
4981
  "defaultValue": null,
4966
- "description": "Grammar used to tokenize the fragment. Purely visual — the chip shows no language label. Omit for plain text."
4982
+ "description": ""
4967
4983
  }
4968
4984
  ]
4969
4985
  },