@imfusion/web-ui 0.5.1-dev.20.g9170acaf → 0.5.1-dev.23.g913f03e6

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/README.md CHANGED
@@ -53,15 +53,16 @@ the directories it already installed into, without asking again — `--reconfigu
53
53
 
54
54
  **Available consumer skills - `/imf-web-ui-*`**
55
55
 
56
- | Skill | What it does |
57
- | ---------------------------------- | ----------------------------------------------------------------------------- |
58
- | `/imf-web-ui` | The router: decides whether guidance is needed, then which companion to open. |
59
- | `/imf-web-ui-library-setup` | One-time wiring in a consumer project — the styles import and the provider. |
60
- | `/imf-web-ui-components` | Component reference — what exists and how it's meant to be used. |
61
- | `/imf-web-ui-ux` | UX guidance for building interfaces with the library. |
62
- | `/imf-web-ui-frontend-conventions` | The frontend conventions baseline, including the sanctioned styling seams. |
63
- | `/imf-web-ui-frontend-setup` | Set up or audit an ImFusion frontend's tooling against the house baseline. |
64
- | `/imf-web-ui-agent-setup` | Install or update the vendored skills, agent hooks, and TanStack Intent. |
56
+ | Skill | What it does |
57
+ | ---------------------------------- | ------------------------------------------------------------------------------ |
58
+ | `/imf-web-ui` | The router: decides whether guidance is needed, then which companion to open. |
59
+ | `/imf-web-ui-library-setup` | One-time wiring in a consumer project — the styles import and the provider. |
60
+ | `/imf-web-ui-components` | Component reference — what exists and how it's meant to be used. |
61
+ | `/imf-web-ui-ux` | UX guidance for building interfaces with the library. |
62
+ | `/imf-web-ui-frontend-conventions` | The frontend conventions baseline, including the sanctioned styling seams. |
63
+ | `/imf-web-ui-frontend-setup` | Set up or audit an ImFusion frontend's tooling against the house baseline. |
64
+ | `/imf-web-ui-agent-setup` | Install or update the vendored skills, agent hooks, and TanStack Intent. |
65
+ | `/imf-web-ui-update` | Update the library, skills, and optional hooks, then verify before committing. |
65
66
 
66
67
  Start at `/imf-web-ui` — it routes to the rest. Storybook's **User Guide → AI Agents** page covers the whole family.
67
68
 
@@ -0,0 +1,104 @@
1
+ import { Field as FieldPrimitive } from '@base-ui/react/field';
2
+ type UpstreamRoot = React.ComponentProps<typeof FieldPrimitive.Root>;
3
+ type UpstreamItem = React.ComponentProps<typeof FieldPrimitive.Item>;
4
+ type UpstreamLabel = React.ComponentProps<typeof FieldPrimitive.Label>;
5
+ type UpstreamDescription = React.ComponentProps<typeof FieldPrimitive.Description>;
6
+ type UpstreamControl = React.ComponentProps<typeof FieldPrimitive.Control>;
7
+ type UpstreamError = React.ComponentProps<typeof FieldPrimitive.Error>;
8
+ type UpstreamValidity = React.ComponentProps<typeof FieldPrimitive.Validity>;
9
+ type RootProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
10
+ name?: string;
11
+ actionsRef?: UpstreamRoot["actionsRef"];
12
+ dirty?: boolean;
13
+ touched?: boolean;
14
+ /** @default false */
15
+ disabled?: boolean;
16
+ invalid?: boolean;
17
+ validate?: UpstreamRoot["validate"];
18
+ /** @default "onSubmit" */
19
+ validationMode?: UpstreamRoot["validationMode"];
20
+ /** @default 0 */
21
+ validationDebounceTime?: number;
22
+ className?: UpstreamRoot["className"];
23
+ style?: UpstreamRoot["style"];
24
+ render?: UpstreamRoot["render"];
25
+ };
26
+ /**
27
+ * Field.Root — groups a label, control, validation state, and supporting copy.
28
+ *
29
+ * @doc https://base-ui.com/react/components/field
30
+ * @llm https://base-ui.com/react/components/field.md
31
+ */
32
+ export declare function Root({ className, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare namespace Root {
34
+ var displayName: string;
35
+ }
36
+ type ItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
37
+ /** @default false */
38
+ disabled?: boolean;
39
+ className?: UpstreamItem["className"];
40
+ style?: UpstreamItem["style"];
41
+ render?: UpstreamItem["render"];
42
+ };
43
+ /** Field.Item — groups one checkable option with its label and description. */
44
+ export declare function Item({ className, ...props }: ItemProps): import("react/jsx-runtime").JSX.Element;
45
+ export declare namespace Item {
46
+ var displayName: string;
47
+ }
48
+ type LabelProps = Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "className" | "style"> & {
49
+ /** @default true */
50
+ nativeLabel?: boolean;
51
+ className?: UpstreamLabel["className"];
52
+ style?: UpstreamLabel["style"];
53
+ render?: UpstreamLabel["render"];
54
+ };
55
+ /** Field.Label — an accessible label automatically associated with the control. */
56
+ export declare function Label({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare namespace Label {
58
+ var displayName: string;
59
+ }
60
+ type DescriptionProps = Omit<React.HTMLAttributes<HTMLParagraphElement>, "className" | "style"> & {
61
+ className?: UpstreamDescription["className"];
62
+ style?: UpstreamDescription["style"];
63
+ render?: UpstreamDescription["render"];
64
+ };
65
+ /** Field.Description — supporting information for a field. */
66
+ export declare function Description({ className, ...props }: DescriptionProps): import("react/jsx-runtime").JSX.Element;
67
+ export declare namespace Description {
68
+ var displayName: string;
69
+ }
70
+ type ControlProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "className" | "style" | "defaultValue"> & {
71
+ defaultValue?: UpstreamControl["defaultValue"];
72
+ onValueChange?: UpstreamControl["onValueChange"];
73
+ className?: UpstreamControl["className"];
74
+ style?: UpstreamControl["style"];
75
+ render?: UpstreamControl["render"];
76
+ };
77
+ /** Field.Control — a native input control with Field labeling and validation. */
78
+ export declare function Control({ className, ...props }: ControlProps): import("react/jsx-runtime").JSX.Element;
79
+ export declare namespace Control {
80
+ var displayName: string;
81
+ }
82
+ type ErrorProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
83
+ match?: UpstreamError["match"];
84
+ className?: UpstreamError["className"];
85
+ style?: UpstreamError["style"];
86
+ render?: UpstreamError["render"];
87
+ };
88
+ /** Field.Error — an inline validation message shown when its match condition fails. */
89
+ export declare function Error({ className, ...props }: ErrorProps): import("react/jsx-runtime").JSX.Element;
90
+ export declare namespace Error {
91
+ var displayName: string;
92
+ }
93
+ type ValidityProps = {
94
+ children: UpstreamValidity["children"];
95
+ };
96
+ /**
97
+ * Field.Validity — renderless access to the field validity data for custom messages.
98
+ * Its function child owns the rendered element and therefore its identity and styling.
99
+ */
100
+ export declare function Validity({ children }: ValidityProps): import("react/jsx-runtime").JSX.Element;
101
+ export declare namespace Validity {
102
+ var displayName: string;
103
+ }
104
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const fieldMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export * as Field from './field';
2
+ export { fieldMeta } from './field.meta';
@@ -0,0 +1,29 @@
1
+ import { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';
2
+ type UpstreamRoot = React.ComponentProps<typeof FieldsetPrimitive.Root>;
3
+ type UpstreamLegend = React.ComponentProps<typeof FieldsetPrimitive.Legend>;
4
+ type RootProps = Omit<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, "className" | "style"> & {
5
+ className?: UpstreamRoot["className"];
6
+ style?: UpstreamRoot["style"];
7
+ render?: UpstreamRoot["render"];
8
+ };
9
+ /**
10
+ * Fieldset.Root — semantic grouping for related form controls and a shared legend.
11
+ *
12
+ * @doc https://base-ui.com/react/components/fieldset
13
+ * @llm https://base-ui.com/react/components/fieldset.md
14
+ */
15
+ export declare function Root({ className, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace Root {
17
+ var displayName: string;
18
+ }
19
+ type LegendProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
20
+ className?: UpstreamLegend["className"];
21
+ style?: UpstreamLegend["style"];
22
+ render?: UpstreamLegend["render"];
23
+ };
24
+ /** Fieldset.Legend — the accessible label for its related controls. */
25
+ export declare function Legend({ className, ...props }: LegendProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare namespace Legend {
27
+ var displayName: string;
28
+ }
29
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const fieldsetMeta: ComponentMeta;
@@ -0,0 +1,2 @@
1
+ export * as Fieldset from './fieldset';
2
+ export { fieldsetMeta } from './fieldset.meta';
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { Button, buttonMeta } from './components/button';
2
2
  export { ChipLink, chipLinkMeta } from './components/chip-link';
3
3
  export { CopyButton, copyButtonMeta } from './components/copy-button';
4
4
  export { Checkbox, checkboxMeta } from './components/checkbox';
5
+ export { Field, fieldMeta } from './components/field';
6
+ export { Fieldset, fieldsetMeta } from './components/fieldset';
5
7
  export { Input, inputMeta } from './components/input';
6
8
  export { Select, selectMeta } from './components/select';
7
9
  export { Slider, sliderMeta } from './components/slider';