@imfusion/web-ui 0.11.1-dev.2.g8a30ca7e → 0.11.1-dev.22.gb4cb1d84

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/CHANGELOG.md +54 -0
  2. package/dist/{code-NTcddiYk.js → code-BXlEW54h.js} +7 -7
  3. package/dist/components/autocomplete/autocomplete.d.ts +144 -0
  4. package/dist/components/autocomplete/autocomplete.meta.d.ts +2 -0
  5. package/dist/components/autocomplete/index.d.ts +2 -0
  6. package/dist/components/checkbox/checkbox.cva.d.ts +3 -0
  7. package/dist/components/combobox/combobox.cva.d.ts +37 -0
  8. package/dist/components/combobox/combobox.d.ts +171 -0
  9. package/dist/components/combobox/combobox.meta.d.ts +2 -0
  10. package/dist/components/combobox/index.d.ts +2 -0
  11. package/dist/components/popover/popover.d.ts +1 -1
  12. package/dist/components/select/select.cva.d.ts +7 -0
  13. package/dist/components/select/select.d.ts +1 -1
  14. package/dist/components/toast/toast.d.ts +1 -1
  15. package/dist/components/typo/typo.d.ts +5 -1
  16. package/dist/docgen/component-sources.d.ts +4 -0
  17. package/dist/icons/catalog.gen.d.ts +28 -0
  18. package/dist/icons/icons.gen.d.ts +4 -0
  19. package/dist/{icons-BsK_o-Cb.js → icons-vc1WZCxX.js} +1027 -879
  20. package/dist/icons.js +1 -1
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.js +2543 -1867
  23. package/dist/integrations/code-highlight.js +2 -2
  24. package/dist/integrations/frame-selection.js +1 -1
  25. package/dist/integrations/image-display-options.js +3 -3
  26. package/dist/{scroll-area-z9Lf9uIk.js → scroll-area-CUo1NBaW.js} +20 -20
  27. package/dist/{slider-Bf274cMe.js → slider-BKDxeTmk.js} +23 -23
  28. package/dist/style.css +1 -1
  29. package/dist/{tabs-CU46aGud.js → tabs-U3Cg6YAw.js} +42 -42
  30. package/dist/utils/index.d.ts +2 -0
  31. package/dist/utils/item-parts.d.ts +23 -0
  32. package/dist/utils/stable-popup-height.d.ts +10 -0
  33. package/dist/utils-RZJAXfcf.js +56 -0
  34. package/package.json +1 -1
  35. package/src/docgen/doc.gen.json +3122 -669
  36. package/src/llms/icon-catalog.gen.json +32 -0
  37. package/src/llms/llms.gen.txt +12 -0
  38. package/src/llms/skills/imf-web-ui-audit/SKILL.md +2 -3
  39. package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +3 -3
  40. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +13 -0
  41. package/dist/resolve-state-props-DQf9WiGv.js +0 -22
@@ -7571,6 +7571,30 @@
7571
7571
  "origin": "iconoir",
7572
7572
  "file": "regular/laptop-warning.svg"
7573
7573
  },
7574
+ {
7575
+ "name": "LayoutAuto",
7576
+ "category": "Layout",
7577
+ "tags": ["layout", "auto", "masonry", "viewports", "tiles", "grid"],
7578
+ "style": "regular",
7579
+ "origin": "imfusion",
7580
+ "file": "regular/layout-auto.svg"
7581
+ },
7582
+ {
7583
+ "name": "LayoutFocusPlusRows",
7584
+ "category": "Layout",
7585
+ "tags": ["layout", "focus", "rows", "main viewport", "viewports", "split"],
7586
+ "style": "regular",
7587
+ "origin": "imfusion",
7588
+ "file": "regular/layout-focus-plus-rows.svg"
7589
+ },
7590
+ {
7591
+ "name": "LayoutFocusPlusStack",
7592
+ "category": "Layout",
7593
+ "tags": ["layout", "focus", "stack", "main viewport", "sidebar", "viewports"],
7594
+ "style": "regular",
7595
+ "origin": "imfusion",
7596
+ "file": "regular/layout-focus-plus-stack.svg"
7597
+ },
7574
7598
  {
7575
7599
  "name": "LayoutLeft",
7576
7600
  "category": "Layout",
@@ -7587,6 +7611,14 @@
7587
7611
  "origin": "iconoir",
7588
7612
  "file": "regular/layout-right.svg"
7589
7613
  },
7614
+ {
7615
+ "name": "LayoutRows",
7616
+ "category": "Layout",
7617
+ "tags": ["layout", "rows", "viewports", "grid", "2x2", "tiles"],
7618
+ "style": "regular",
7619
+ "origin": "imfusion",
7620
+ "file": "regular/layout-rows.svg"
7621
+ },
7590
7622
  {
7591
7623
  "name": "Leaderboard",
7592
7624
  "category": "Activities",
@@ -19,6 +19,12 @@ The signed-in person's account row: the avatar in a lead column, the name or ema
19
19
  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.
20
20
  - props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .app-shell (jq: jq '.app-shell' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
21
21
 
22
+ ## Autocomplete
23
+ - category: Inputs, status: experimental
24
+ Text input that suggests options as you type, keeping free text. Also called a typeahead or search suggestions. Use Combobox when the value must come from the list.
25
+ - props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .autocomplete (jq: jq '.autocomplete' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
26
+ - further reading (usage/anatomy, not props): https://base-ui.com/react/components/autocomplete.md
27
+
22
28
  ## Avatar
23
29
  - category: Display, status: experimental
24
30
  Round badge that stands for a person, showing their photo, their initials, or a person glyph. Also called a profile picture or user badge; for a signed-in account row with a name, use AccountCard.
@@ -78,6 +84,12 @@ Show-and-hide region for secondary content such as FAQs, settings, or details. A
78
84
  Light, System, and Dark segments that set and remember the page's color scheme. Also called an appearance or theme switch; built on ToggleGroup, which is the choice for any other segmented selection.
79
85
  - props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .color-scheme-toggle (jq: jq '.color-scheme-toggle' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
80
86
 
87
+ ## Combobox
88
+ - category: Inputs, status: experimental
89
+ Text input with a filterable list of options, for choosing one or several from a long list. Also called a searchable select, typeahead, or multi-select. Use Select for short lists and Autocomplete when free text is allowed.
90
+ - props: node_modules/@imfusion/web-ui/src/docgen/doc.gen.json -> .combobox (jq: jq '.combobox' node_modules/@imfusion/web-ui/src/docgen/doc.gen.json)
91
+ - further reading (usage/anatomy, not props): https://base-ui.com/react/components/combobox.md
92
+
81
93
  ## CopyButton
82
94
  - category: Buttons, status: stable
83
95
  Copies a value to the clipboard and briefly shows confirmation. Also called a copy-to-clipboard button; commonly used with Code.Block.
@@ -66,9 +66,8 @@ next action is the add from that topic. A Vite config that reads tsconfig `paths
66
66
  `vite-tsconfig-paths`) is Broken: it loads the React types package as React once Web UI comes from the registry. The fix is
67
67
  to drop it and give the `#/` alias through `imports` in `package.json`. A major or minor mismatch between the project and Web
68
68
  UI on a package listed under Aligned runtime packages in the `tooling` topic is a Deviation. Report both versions, with
69
- `npm install <package>@<Web UI's version>` as the fix. A route-local file that the inline rule in the `project-structure`
70
- topic says belongs in its route file is a Deviation, and so is a route file over 250 lines that inlines parts the rule would
71
- keep in its `-` folder. Report the line counts, with the move as the fix.
69
+ `npm install <package>@<Web UI's version>` as the fix. A route file that holds several views inline is a Deviation, and so is
70
+ a route whose only view sits alone in its `-` folder. Name the views, with the move as the fix.
72
71
 
73
72
  ## Topics
74
73
 
@@ -37,9 +37,9 @@ the route file's name: `route.tsx` gets `-route/`, `products.tsx` gets `-product
37
37
  folders with a leading `-` when it builds the route tree, so the folder never becomes a route. The folder holds the route's
38
38
  views with their props types, hooks, `.module.css` files, and tests.
39
39
 
40
- A part used by one route file is inlined into it when it is a component under 50 lines, calls no `use*` hook, has no
41
- stylesheet or test of its own, and leaves that route file under 250 lines. Every other single-route part goes in the `-`
42
- folder. The thresholds keep tiny wrappers out of their own files without letting a route file grow into a page of views.
40
+ The route component is the page. When the page is a single view, such as a form, that view is the route component and stays
41
+ in the route file, hooks included. When the page composes several views, each view goes in the `-` folder and the route
42
+ component wires them together. Small presentational helpers stay inline.
43
43
 
44
44
  `partials/` holds only parts that more than one route uses.
45
45
 
@@ -54,6 +54,19 @@ hook, not a state flag.
54
54
  }
55
55
  ```
56
56
 
57
+ Your own components follow the same seam. A container that changes a child sets a custom property; the child reads it with
58
+ its own default as the fallback, so it works with or without the container:
59
+
60
+ ```css
61
+ .panel {
62
+ --panel-row-gap: var(--imf-ui-size-2);
63
+ }
64
+
65
+ .row {
66
+ padding-block: var(--panel-row-gap, var(--imf-ui-size-3));
67
+ }
68
+ ```
69
+
57
70
  ## Spacing
58
71
 
59
72
  Web UI components have no outer margin. The parent sets the distance between its children: `Stack` and `Row` gaps in UI,
@@ -1,22 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var e = Object.defineProperty, t = (t, n) => {
3
- let r = {};
4
- for (var i in t) e(r, i, {
5
- get: t[i],
6
- enumerable: !0
7
- });
8
- return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
- };
10
- //#endregion
11
- //#region src/utils/resolve-state-props.ts
12
- function n(e, t) {
13
- return e instanceof Function ? e(t) : e;
14
- }
15
- function r(e, t) {
16
- return n(e, t);
17
- }
18
- function i(e, t) {
19
- return n(e, t);
20
- }
21
- //#endregion
22
- export { i as n, t as r, r as t };