@imfusion/web-ui 0.10.1-dev.34.gb01a818e → 0.10.1-dev.37.g9147f90f

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 CHANGED
@@ -86,6 +86,9 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
86
86
  - `--imf-ui-appshell-heading-*`, `--imf-ui-appshell-navitem-dim`, `--imf-ui-appshell-navitem-underline-thickness`, and `--imf-ui-appshell-navitem-underline-offset` tune the logo row's strut and the NavItem underline. [AppShell](src/components/app-shell/app-shell.mdx) — Nikolaus Brunner <brunner@imfusion.com>
87
87
  - `AppShell.Aside` shows a close button in its drawer below `lg`, labelled by `closeLabel` (`Close panel` by default). [AppShell](src/components/app-shell/app-shell.mdx) — Nikolaus Brunner <brunner@imfusion.com>
88
88
  - `AppShell.Burger` with no props opens and closes the navbar drawer, so the header needs no state wiring. [AppShell](src/components/app-shell/app-shell.mdx) — Nikolaus Brunner <brunner@imfusion.com>
89
+ - `Select.Root` takes a `width` of `auto`, `wide`, or `full`: `auto` keeps the 10rem trigger minimum, `wide` raises it to
90
+ 15rem, and `full` fills the parent. `--imf-ui-select-trigger-min-width` on `Select.Root` sets the minimum from CSS.
91
+ [Select](src/components/select/select.mdx) — Nikolaus Brunner <brunner@imfusion.com>
89
92
 
90
93
  ### Changed
91
94
 
@@ -112,9 +115,13 @@ never changes the character width, so columns stay aligned. CoFo Sans Mono still
112
115
  `git:config`.
113
116
  - `imf-web-ui-conventions` names the Skeleton part for each way data loads, and says a layout that reads suspending data
114
117
  needs its own boundary. `imf-web-ui-ux` points to that rule from its loading state.
118
+ - `imf-web-ui-conventions` lets a mutation name the sub-resource after its verb when a topic has more than one target,
119
+ as in `api.projects.removeMember(projectId)`; a name still never repeats its topic.
115
120
  - CI and verification — Nikolaus Brunner <brunner@imfusion.com>
116
121
  - The Git hooks live in `.vite-hooks/` and run through the Vite+ hook dispatcher, which `npm run git:config` installs.
117
122
  Existing clones and worktrees rerun `npm run git:config`; until then their hooks do not run.
123
+ - `engines.node` is `^22.22.1 || ^24.11 || >=26`, the range Vite+ supports. Node 24.0 to 24.10 and Node 25 fall
124
+ outside it.
118
125
  - The main column, header, and footer snap when the aside docks or undocks — Nikolaus Brunner <brunner@imfusion.com>
119
126
  - Components ([WEBSDK-247](https://imfusion.atlassian.net/browse/WEBSDK-247)) — Nikolaus Brunner <brunner@imfusion.com>
120
127
  - The AppShell navbar drawer, `Code`, and `ImageDisplayOptions` scroll in a `ScrollArea`, with its overlay thumb and edge
@@ -1,6 +1,12 @@
1
1
  import { Select as SelectPrimitive } from '@base-ui/react/select';
2
+ import { VariantProps } from 'class-variance-authority';
2
3
  type UpstreamItem = React.ComponentProps<typeof SelectPrimitive.Item>;
4
+ declare const selectRoot: (props?: ({
5
+ width?: "auto" | "full" | "wide" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
3
7
  interface RootProps<Value = unknown, Multiple extends boolean | undefined = false> extends React.ComponentProps<typeof SelectPrimitive.Root<Value, Multiple>> {
8
+ /** Trigger width: `auto` keeps the compact minimum; `wide` raises it; `full` fills the parent. @default "auto" */
9
+ width?: VariantProps<typeof selectRoot>["width"];
4
10
  }
5
11
  /**
6
12
  * Select.Root — accessible select / listbox primitive.
@@ -12,7 +18,7 @@ interface RootProps<Value = unknown, Multiple extends boolean | undefined = fals
12
18
  * @doc https://base-ui.com/react/components/select
13
19
  * @llm https://base-ui.com/react/components/select.md
14
20
  */
15
- export declare function Root<Value = unknown, Multiple extends boolean | undefined = false>({ className, style, ...props }: RootProps<Value, Multiple> & {
21
+ export declare function Root<Value = unknown, Multiple extends boolean | undefined = false>({ width, className, style, ...props }: RootProps<Value, Multiple> & {
16
22
  className?: string;
17
23
  style?: React.CSSProperties;
18
24
  }): import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -892,7 +892,9 @@ var Pn = {
892
892
  scrollUpArrow: "imf-ui-select-module-scrollUpArrow",
893
893
  separator: "imf-ui-select-module-separator",
894
894
  trigger: "imf-ui-select-module-trigger",
895
- value: "imf-ui-select-module-value"
895
+ value: "imf-ui-select-module-value",
896
+ widthFull: "imf-ui-select-module-widthFull",
897
+ widthWide: "imf-ui-select-module-widthWide"
896
898
  }, Fn = /* @__PURE__ */ e({
897
899
  Arrow: () => lr,
898
900
  Backdrop: () => or,
@@ -913,12 +915,19 @@ var Pn = {
913
915
  Separator: () => gr,
914
916
  Trigger: () => nr,
915
917
  Value: () => rr
916
- }), In = m(F.root), Ln = m(F.label), Rn = m(F.trigger), zn = m(F.value), Bn = m(F.icon), Vn = m(F.backdrop), Hn = m(F.positioner), Un = m(F.popup), Wn = m(F.arrow), Gn = m(F.list), Kn = m(F.item), qn = m(F.itemIndicator), Jn = m(F.itemText), Yn = m(F.group), Xn = m(F.groupLabel), Zn = m(F.separator), Qn = m(F.scrollUpArrow), $n = m(F.scrollDownArrow);
917
- function er({ className: e, style: t, ...n }) {
918
+ }), In = m(F.root, { variants: { width: {
919
+ auto: F.widthAuto,
920
+ wide: F.widthWide,
921
+ full: F.widthFull
922
+ } } }), Ln = m(F.label), Rn = m(F.trigger), zn = m(F.value), Bn = m(F.icon), Vn = m(F.backdrop), Hn = m(F.positioner), Un = m(F.popup), Wn = m(F.arrow), Gn = m(F.list), Kn = m(F.item), qn = m(F.itemIndicator), Jn = m(F.itemText), Yn = m(F.group), Xn = m(F.groupLabel), Zn = m(F.separator), Qn = m(F.scrollUpArrow), $n = m(F.scrollDownArrow);
923
+ function er({ width: e = "auto", className: t, style: n, ...r }) {
918
924
  return /* @__PURE__ */ g("div", {
919
- className: In({ className: e }),
920
- style: t,
921
- children: /* @__PURE__ */ g(x.Root, { ...n })
925
+ className: In({
926
+ width: e,
927
+ className: t
928
+ }),
929
+ style: n,
930
+ children: /* @__PURE__ */ g(x.Root, { ...r })
922
931
  });
923
932
  }
924
933
  er.displayName = "Select.Root";