@imfusion/web-ui 0.6.4-dev.8.g41d03f2f → 0.7.0

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 (141) hide show
  1. package/CHANGELOG.md +391 -0
  2. package/README.md +22 -55
  3. package/dist/assets/vendors/base-ui.d.ts +2 -3
  4. package/dist/breakpoints/min-width.d.ts +3 -7
  5. package/dist/breakpoints/registry.d.ts +3 -9
  6. package/dist/{code-Ce8uiPsv.js → code-D2lwxHgd.js} +15 -15
  7. package/dist/codegen/gen-breakpoints-css.d.ts +0 -4
  8. package/dist/codegen/gen-token-css.d.ts +0 -2
  9. package/dist/components/app-shell/app-shell.d.ts +7 -11
  10. package/dist/components/button/button.d.ts +7 -12
  11. package/dist/components/callout/callout.d.ts +11 -18
  12. package/dist/components/card/card.d.ts +11 -10
  13. package/dist/components/checkbox/checkbox.d.ts +2 -38
  14. package/dist/components/chip/chip.cva.d.ts +2 -4
  15. package/dist/components/chip/chip.d.ts +1 -1
  16. package/dist/components/code/code.d.ts +2 -2
  17. package/dist/components/collapsible/collapsible.d.ts +4 -35
  18. package/dist/components/copy-button/copy-button.d.ts +1 -1
  19. package/dist/components/drawer/drawer.d.ts +17 -100
  20. package/dist/components/field/field.d.ts +7 -67
  21. package/dist/components/fieldset/fieldset.d.ts +2 -15
  22. package/dist/components/icon/icon.d.ts +2 -2
  23. package/dist/components/input/input.d.ts +2 -8
  24. package/dist/components/logo/imfusion/imfusion.d.ts +2 -5
  25. package/dist/components/logo/imfusion/marks.d.ts +10 -0
  26. package/dist/components/logo/logo.d.ts +3 -3
  27. package/dist/components/navigation-menu/subs/flyout-link.d.ts +5 -19
  28. package/dist/components/navigation-menu/subs/inline-submenu.d.ts +2 -4
  29. package/dist/components/navigation-menu/subs/link.d.ts +6 -23
  30. package/dist/components/navigation-menu/subs/overlay.d.ts +6 -51
  31. package/dist/components/navigation-menu/subs/shared.d.ts +4 -14
  32. package/dist/components/navigation-menu/subs/structure.d.ts +7 -29
  33. package/dist/components/navigation-menu/subs/trigger.d.ts +11 -20
  34. package/dist/components/number-field/index.d.ts +2 -0
  35. package/dist/components/number-field/number-field.d.ts +72 -0
  36. package/dist/components/number-field/number-field.meta.d.ts +2 -0
  37. package/dist/components/popover/popover.d.ts +23 -98
  38. package/dist/components/row/row.d.ts +1 -1
  39. package/dist/components/select/select.d.ts +26 -189
  40. package/dist/components/separator/separator.d.ts +5 -4
  41. package/dist/components/slider/slider.d.ts +7 -77
  42. package/dist/components/spinner/spinner.d.ts +13 -8
  43. package/dist/components/stack/stack.d.ts +3 -4
  44. package/dist/components/switch/switch.d.ts +2 -31
  45. package/dist/components/table/table.d.ts +10 -18
  46. package/dist/components/tabs/tabs.d.ts +18 -52
  47. package/dist/components/toast/toast.d.ts +16 -103
  48. package/dist/components/toggle/toggle.d.ts +3 -21
  49. package/dist/components/toggle-group/toggle-group.d.ts +3 -20
  50. package/dist/components/tooltip/tooltip.d.ts +26 -85
  51. package/dist/components/typo/typo.d.ts +25 -25
  52. package/dist/docgen/gen-docgen.utils.d.ts +3 -4
  53. package/dist/hooks/use-color-scheme.d.ts +5 -11
  54. package/dist/hooks/use-media-query.d.ts +2 -7
  55. package/dist/{icons-Cy1HAosO.js → icons-CaGCCwG-.js} +7 -7
  56. package/dist/icons.js +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.js +1486 -1368
  59. package/dist/integrations/code-highlight/highlighter.d.ts +1 -56
  60. package/dist/integrations/code-highlight.js +41 -189
  61. package/dist/integrations/image-display-options/image-display-options-view.utils.d.ts +0 -1
  62. package/dist/integrations/image-display-options.js +54 -54
  63. package/dist/llms/evals/runner/affected.d.ts +2 -0
  64. package/dist/llms/evals/runner/benchmark.d.ts +12 -0
  65. package/dist/llms/evals/runner/compare.d.ts +2 -0
  66. package/dist/llms/evals/runner/config.d.ts +29 -0
  67. package/dist/llms/evals/runner/evidence.d.ts +7 -0
  68. package/dist/llms/evals/runner/execute.d.ts +32 -0
  69. package/dist/llms/evals/runner/grade.d.ts +10 -0
  70. package/dist/llms/evals/runner/report-md.d.ts +2 -0
  71. package/dist/llms/evals/runner/report.d.ts +4 -0
  72. package/dist/llms/evals/runner/run.d.ts +2 -0
  73. package/dist/llms/evals/runner/scenario.d.ts +3 -0
  74. package/dist/llms/evals/runner/types.d.ts +140 -0
  75. package/dist/llms/evals/runner/workspace.d.ts +2 -0
  76. package/dist/llms/evals/runner/write-generated.d.ts +1 -0
  77. package/dist/provider/web-ui-provider.d.ts +4 -1
  78. package/dist/style.css +1 -1
  79. package/dist/tabs-BS6rqrrA.js +398 -0
  80. package/dist/tokens/apply.d.ts +4 -9
  81. package/dist/tokens/control-registry.d.ts +3 -6
  82. package/dist/tokens/types.d.ts +7 -24
  83. package/dist/tokens/use-token-controls.d.ts +3 -12
  84. package/dist/types/meta.d.ts +15 -32
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/resolve-state-props.d.ts +4 -0
  87. package/dist/vite/brand-assets.d.ts +3 -0
  88. package/dist/vite/index.d.ts +2 -0
  89. package/dist/vite/readable-css-module-names.d.ts +11 -0
  90. package/dist/vite.js +55 -0
  91. package/dist/web-ui-cli.js +322 -0
  92. package/docs/user-guide/AgentTooling.mdx +133 -0
  93. package/docs/user-guide/BrandAssets.mdx +103 -0
  94. package/docs/user-guide/Changelog.mdx +26 -0
  95. package/docs/user-guide/GettingStarted.mdx +71 -0
  96. package/docs/user-guide/HowItsBuilt.mdx +114 -0
  97. package/docs/user-guide/Tokens.mdx +88 -0
  98. package/docs/user-guide/UsagePatterns.mdx +123 -0
  99. package/package.json +28 -22
  100. package/src/assets/public/favicon/apple-touch-icon.png +0 -0
  101. package/src/assets/public/favicon/favicon-16.png +0 -0
  102. package/src/assets/public/favicon/favicon-32.png +0 -0
  103. package/src/assets/public/favicon/favicon.ico +0 -0
  104. package/src/assets/public/favicon/favicon.svg +7 -0
  105. package/src/assets/public/favicon/icon-192.png +0 -0
  106. package/src/assets/public/favicon/icon-512.png +0 -0
  107. package/src/assets/public/favicon/og-image.png +0 -0
  108. package/src/assets/public/spinner/imfusion-spinner-black.webp +0 -0
  109. package/src/assets/public/spinner/imfusion-spinner-blue.webp +0 -0
  110. package/src/assets/public/spinner/imfusion-spinner-white.webp +0 -0
  111. package/src/docgen/doc.gen.json +3255 -603
  112. package/src/llms/install-templates/AGENTS.md +4 -4
  113. package/src/llms/install-templates/hooks/baseline-staleness.sh +9 -2
  114. package/src/llms/llms.gen.txt +7 -1
  115. package/src/llms/skills/imf-web-ui/SKILL.md +44 -21
  116. package/src/llms/skills/imf-web-ui-audit/SKILL.md +25 -11
  117. package/src/llms/skills/imf-web-ui-components/SKILL.md +7 -3
  118. package/src/llms/skills/imf-web-ui-conventions/SKILL.md +3 -2
  119. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +0 -1
  120. package/src/llms/skills/imf-web-ui-conventions/templates/REPORT.md +21 -2
  121. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +15 -10
  122. package/src/llms/skills/imf-web-ui-conventions/topics/assets.md +7 -4
  123. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +3 -1
  124. package/src/llms/skills/imf-web-ui-conventions/topics/docs-structure.md +2 -2
  125. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +4 -2
  126. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +10 -1
  127. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +2 -2
  128. package/src/llms/skills/imf-web-ui-conventions/topics/tokens.md +4 -2
  129. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +13 -11
  130. package/src/llms/skills/imf-web-ui-setup/SKILL.md +17 -9
  131. package/src/llms/skills/imf-web-ui-update/SKILL.md +47 -19
  132. package/src/llms/skills/imf-web-ui-ux/SKILL.md +6 -3
  133. package/src/llms/tokens.gen.json +79 -15
  134. package/bin/install.js +0 -446
  135. package/dist/build/vite-css-module-names/index.d.ts +0 -20
  136. package/dist/build/vite-css-module-names.js +0 -17
  137. package/dist/components/spinner/spinner.geometry.d.ts +0 -37
  138. package/dist/integrations/code-highlight/languages/cmake.d.ts +0 -1
  139. package/dist/integrations/code-highlight/languages/cpp.d.ts +0 -1
  140. package/dist/tabs-DIe1Utiy.js +0 -371
  141. /package/dist/{meta-CySnRuVp.js → meta-j-7HGrWv.js} +0 -0
@@ -0,0 +1,72 @@
1
+ import { NumberField as NumberFieldPrimitive } from '@base-ui/react/number-field';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const numberFieldRoot: (props?: ({
4
+ width?: "auto" | "full" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ declare const numberFieldGroup: (props?: ({
7
+ variant?: "primary" | "outline" | "ghost" | "filled" | null | undefined;
8
+ size?: "sm" | "md" | "lg" | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
+ interface RootProps extends React.ComponentProps<typeof NumberFieldPrimitive.Root> {
11
+ /** Width behavior: `auto` uses intrinsic width; `full` fills the parent. @default "auto" */
12
+ width?: VariantProps<typeof numberFieldRoot>["width"];
13
+ }
14
+ export declare function Root({ width, step, format, ...props }: RootProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare namespace Root {
16
+ var displayName: string;
17
+ }
18
+ interface GroupProps extends React.ComponentProps<typeof NumberFieldPrimitive.Group>, VariantProps<typeof numberFieldGroup> {
19
+ }
20
+ /** NumberField.Group — bordered box grouping the input with the stepper controls. */
21
+ export declare function Group({ variant, size, ...props }: GroupProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare namespace Group {
23
+ var displayName: string;
24
+ }
25
+ /** NumberField.Input — transparent, borderless mono numeric field. */
26
+ export declare function Input(props: React.ComponentProps<typeof NumberFieldPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
27
+ export declare namespace Input {
28
+ var displayName: string;
29
+ }
30
+ /** NumberField.Increment — full-height square control that increases the value. */
31
+ export declare function Increment(props: React.ComponentProps<typeof NumberFieldPrimitive.Increment>): import("react/jsx-runtime").JSX.Element;
32
+ export declare namespace Increment {
33
+ var displayName: string;
34
+ }
35
+ /** NumberField.Decrement — full-height square control that decreases the value. */
36
+ export declare function Decrement(props: React.ComponentProps<typeof NumberFieldPrimitive.Decrement>): import("react/jsx-runtime").JSX.Element;
37
+ export declare namespace Decrement {
38
+ var displayName: string;
39
+ }
40
+ /** NumberField.ScrubArea — draggable region that scrubs the value on pointer move. */
41
+ export declare function ScrubArea(props: React.ComponentProps<typeof NumberFieldPrimitive.ScrubArea>): import("react/jsx-runtime").JSX.Element;
42
+ export declare namespace ScrubArea {
43
+ var displayName: string;
44
+ }
45
+ /** NumberField.ScrubAreaCursor — virtual cursor shown while scrubbing under pointer lock. */
46
+ export declare function ScrubAreaCursor(props: React.ComponentProps<typeof NumberFieldPrimitive.ScrubAreaCursor>): import("react/jsx-runtime").JSX.Element;
47
+ export declare namespace ScrubAreaCursor {
48
+ var displayName: string;
49
+ }
50
+ interface StepperProps extends RootProps, VariantProps<typeof numberFieldGroup> {
51
+ /** Control placement relative to the input. @default "trailing" */
52
+ layout?: "trailing" | "flanking";
53
+ /** Surface treatment applied to the group. @default "outline" */
54
+ variant?: "outline" | "primary" | "filled" | "ghost";
55
+ /** Control height, matching Input's scale. @default "md" */
56
+ size?: "sm" | "md" | "lg";
57
+ /**
58
+ * Drag handle rendered above the field: press and move sideways to change the value, usually
59
+ * the field's label. The scrub cursor is supplied automatically.
60
+ */
61
+ scrub?: React.ReactNode;
62
+ }
63
+ /**
64
+ * NumberField.Stepper — pre-composed Root → Group → Input + controls. Use the
65
+ * individual parts instead when a custom composition (e.g. with `Field` or
66
+ * `ScrubArea`) is needed.
67
+ */
68
+ export declare function Stepper({ layout, variant, size, width, scrub, ...props }: StepperProps): import("react/jsx-runtime").JSX.Element;
69
+ export declare namespace Stepper {
70
+ var displayName: string;
71
+ }
72
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../types/meta';
2
+ export declare const numberFieldMeta: ComponentMeta;
@@ -1,14 +1,12 @@
1
1
  import { Popover as PopoverPrimitive } from '@base-ui/react/popover';
2
- type UpstreamTrigger = React.ComponentProps<typeof PopoverPrimitive.Trigger>;
3
- type UpstreamPortal = React.ComponentProps<typeof PopoverPrimitive.Portal>;
4
- type UpstreamBackdrop = React.ComponentProps<typeof PopoverPrimitive.Backdrop>;
5
- type UpstreamPositioner = React.ComponentProps<typeof PopoverPrimitive.Positioner>;
6
- type UpstreamPopup = React.ComponentProps<typeof PopoverPrimitive.Popup>;
7
- type UpstreamArrow = React.ComponentProps<typeof PopoverPrimitive.Arrow>;
8
- type UpstreamViewport = React.ComponentProps<typeof PopoverPrimitive.Viewport>;
9
- type UpstreamTitle = React.ComponentProps<typeof PopoverPrimitive.Title>;
10
- type UpstreamDescription = React.ComponentProps<typeof PopoverPrimitive.Description>;
11
- type UpstreamClose = React.ComponentProps<typeof PopoverPrimitive.Close>;
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare const popoverTrigger: (props?: ({
4
+ variant?: "primary" | "secondary" | "positive" | "negative" | "outline" | "ghost" | null | undefined;
5
+ inline?: boolean | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ declare const popoverPopup: (props?: ({
8
+ variant?: "primary" | "secondary" | "positive" | "negative" | "outline" | "ghost" | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
12
10
  export declare const createHandle: typeof PopoverPrimitive.createHandle;
13
11
  type RootProps<Payload = unknown> = React.ComponentProps<typeof PopoverPrimitive.Root<Payload>>;
14
12
  /**
@@ -21,135 +19,62 @@ export declare function Root<Payload = unknown>(props: RootProps<Payload>): impo
21
19
  export declare namespace Root {
22
20
  var displayName: string;
23
21
  }
24
- type TriggerProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className"> & {
25
- variant?: "ghost" | "outline" | "primary" | "secondary" | "positive" | "negative";
26
- inline?: boolean;
27
- /** @default true */
28
- nativeButton?: UpstreamTrigger["nativeButton"];
29
- /** @default false */
30
- openOnHover?: UpstreamTrigger["openOnHover"];
31
- /** @default 300 */
32
- delay?: UpstreamTrigger["delay"];
33
- /** @default 0 */
34
- closeDelay?: UpstreamTrigger["closeDelay"];
35
- handle?: UpstreamTrigger["handle"];
36
- payload?: UpstreamTrigger["payload"];
37
- className?: UpstreamTrigger["className"];
38
- render?: UpstreamTrigger["render"];
39
- };
40
22
  /** Popover.Trigger — button that opens the popover. */
41
- export declare function Trigger({ variant, inline, className, ...props }: TriggerProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function Trigger({ variant, inline, ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger> & VariantProps<typeof popoverTrigger>): import("react/jsx-runtime").JSX.Element;
42
24
  export declare namespace Trigger {
43
25
  var displayName: string;
44
26
  }
45
- type PortalProps = {
46
- container?: UpstreamPortal["container"];
47
- /** @default false */
48
- keepMounted?: UpstreamPortal["keepMounted"];
49
- children?: UpstreamPortal["children"];
50
- };
51
27
  /** Popover.Portal — renders the positioner in a portal outside the main document flow. */
52
- export declare function Portal(props: PortalProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function Portal(props: React.ComponentProps<typeof PopoverPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
53
29
  export declare namespace Portal {
54
30
  var displayName: string;
55
31
  }
56
- type BackdropProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
57
- className?: UpstreamBackdrop["className"];
58
- render?: UpstreamBackdrop["render"];
59
- };
60
32
  /** Popover.Backdrop — overlay beneath the popover. Receives data-open/data-closed for transitions. */
61
- export declare function Backdrop({ className, ...props }: BackdropProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function Backdrop(props: React.ComponentProps<typeof PopoverPrimitive.Backdrop>): import("react/jsx-runtime").JSX.Element;
62
34
  export declare namespace Backdrop {
63
35
  var displayName: string;
64
36
  }
65
- type PositionerProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
66
- /** @default 'bottom' */
67
- side?: UpstreamPositioner["side"];
68
- /** @default 'center' */
69
- align?: UpstreamPositioner["align"];
70
- /** @default 0 */
71
- sideOffset?: UpstreamPositioner["sideOffset"];
72
- /** @default 0 */
73
- alignOffset?: UpstreamPositioner["alignOffset"];
74
- /** @default 5 */
75
- arrowPadding?: UpstreamPositioner["arrowPadding"];
76
- anchor?: UpstreamPositioner["anchor"];
77
- /** @default false */
78
- disableAnchorTracking?: UpstreamPositioner["disableAnchorTracking"];
79
- collisionAvoidance?: UpstreamPositioner["collisionAvoidance"];
80
- /** @default 'clipping-ancestors' */
81
- collisionBoundary?: UpstreamPositioner["collisionBoundary"];
82
- /** @default 5 */
83
- collisionPadding?: UpstreamPositioner["collisionPadding"];
84
- /** @default false */
85
- sticky?: UpstreamPositioner["sticky"];
86
- className?: UpstreamPositioner["className"];
87
- render?: UpstreamPositioner["render"];
88
- };
89
37
  /** Popover.Positioner — positions the popup relative to the trigger via floating-point layout. */
90
- export declare function Positioner({ className, ...props }: PositionerProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare function Positioner(props: React.ComponentProps<typeof PopoverPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
91
39
  export declare namespace Positioner {
92
40
  var displayName: string;
93
41
  }
94
- type PopupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
42
+ interface PopupProps extends React.ComponentProps<typeof PopoverPrimitive.Popup>, VariantProps<typeof popoverPopup> {
95
43
  /** Match to the Trigger variant to tint the popup border accordingly. */
96
- variant?: "ghost" | "outline" | "primary" | "secondary" | "positive" | "negative";
97
- className?: UpstreamPopup["className"];
98
- render?: UpstreamPopup["render"];
99
- };
44
+ variant?: VariantProps<typeof popoverPopup>["variant"];
45
+ }
100
46
  /** Popover.Popup — the visible surface of the popover. Token-mapped background, border, and shadow. */
101
- export declare function Popup({ className, variant, ...props }: PopupProps): import("react/jsx-runtime").JSX.Element;
47
+ export declare function Popup({ variant, ...props }: PopupProps): import("react/jsx-runtime").JSX.Element;
102
48
  export declare namespace Popup {
103
49
  var displayName: string;
104
50
  }
105
- type ArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
106
- className?: UpstreamArrow["className"];
107
- render?: UpstreamArrow["render"];
108
- };
109
51
  /** Popover.Arrow — visual pointer arrow anchored to the popup edge. Receives data-side for orientation. */
110
- export declare function Arrow({ className, ...props }: ArrowProps): import("react/jsx-runtime").JSX.Element;
52
+ export declare function Arrow(props: React.ComponentProps<typeof PopoverPrimitive.Arrow>): import("react/jsx-runtime").JSX.Element;
111
53
  export declare namespace Arrow {
112
54
  var displayName: string;
113
55
  }
114
- type ViewportProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className"> & {
115
- className?: UpstreamViewport["className"];
116
- render?: UpstreamViewport["render"];
117
- };
118
56
  /** Popover.Viewport — content wrapper that supports direction-aware animations. */
119
- export declare function Viewport({ className, ...props }: ViewportProps): import("react/jsx-runtime").JSX.Element;
57
+ export declare function Viewport(props: React.ComponentProps<typeof PopoverPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
120
58
  export declare namespace Viewport {
121
59
  var displayName: string;
122
60
  }
123
- type EyebrowProps = React.HTMLAttributes<HTMLParagraphElement>;
124
61
  /** Popover.Eyebrow — small uppercase label above Title, for a category or kicker (e.g. "Glossary definition"). */
125
- export declare function Eyebrow({ className, ...props }: EyebrowProps): import("react/jsx-runtime").JSX.Element;
62
+ export declare function Eyebrow(props: React.HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
126
63
  export declare namespace Eyebrow {
127
64
  var displayName: string;
128
65
  }
129
- type TitleProps = React.HTMLAttributes<HTMLHeadingElement> & {
130
- render?: UpstreamTitle["render"];
131
- };
132
66
  /** Popover.Title — semantic heading for the popover's accessible name. */
133
- export declare function Title({ className, ...props }: TitleProps): import("react/jsx-runtime").JSX.Element;
67
+ export declare function Title(props: React.ComponentProps<typeof PopoverPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
134
68
  export declare namespace Title {
135
69
  var displayName: string;
136
70
  }
137
- type DescriptionProps = React.HTMLAttributes<HTMLParagraphElement> & {
138
- render?: UpstreamDescription["render"];
139
- };
140
71
  /** Popover.Description — supplementary paragraph for the popover's accessible description. */
141
- export declare function Description({ className, ...props }: DescriptionProps): import("react/jsx-runtime").JSX.Element;
72
+ export declare function Description(props: React.ComponentProps<typeof PopoverPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
142
73
  export declare namespace Description {
143
74
  var displayName: string;
144
75
  }
145
- type CloseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className"> & {
146
- /** @default true */
147
- nativeButton?: UpstreamClose["nativeButton"];
148
- className?: UpstreamClose["className"];
149
- render?: UpstreamClose["render"];
150
- };
151
76
  /** Popover.Close — button that dismisses the popover. */
152
- export declare function Close({ className, ...props }: CloseProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function Close(props: React.ComponentProps<typeof PopoverPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
153
78
  export declare namespace Close {
154
79
  var displayName: string;
155
80
  }
@@ -163,7 +88,7 @@ type InlineProps = {
163
88
  /** Hover delay in ms before the popover opens. @default 150 */
164
89
  delay?: number;
165
90
  /** Which side of the trigger the popup appears on. @default 'top' */
166
- side?: UpstreamPositioner["side"];
91
+ side?: React.ComponentProps<typeof PopoverPrimitive.Positioner>["side"];
167
92
  /** Gap between trigger and popup in px. @default 6 */
168
93
  sideOffset?: number;
169
94
  };
@@ -24,5 +24,5 @@ type Props = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof row> & {
24
24
  *
25
25
  * @see https://mantine.dev/core/group/
26
26
  */
27
- export declare function Row({ gap, align, justify, wrap, className, ...props }: Props): import("react/jsx-runtime").JSX.Element;
27
+ export declare function Row({ gap, align, justify, wrap, ...props }: Props): import("react/jsx-runtime").JSX.Element;
28
28
  export {};
@@ -1,277 +1,114 @@
1
1
  import { Select as SelectPrimitive } from '@base-ui/react/select';
2
- type UpstreamRoot = React.ComponentProps<typeof SelectPrimitive.Root>;
3
- type UpstreamLabel = React.ComponentProps<typeof SelectPrimitive.Label>;
4
- type UpstreamTrigger = React.ComponentProps<typeof SelectPrimitive.Trigger>;
5
- type UpstreamValue = React.ComponentProps<typeof SelectPrimitive.Value>;
6
- type UpstreamIcon = React.ComponentProps<typeof SelectPrimitive.Icon>;
7
- type UpstreamPortal = React.ComponentProps<typeof SelectPrimitive.Portal>;
8
- type UpstreamBackdrop = React.ComponentProps<typeof SelectPrimitive.Backdrop>;
9
- type UpstreamPositioner = React.ComponentProps<typeof SelectPrimitive.Positioner>;
10
- type UpstreamPopup = React.ComponentProps<typeof SelectPrimitive.Popup>;
11
- type UpstreamArrow = React.ComponentProps<typeof SelectPrimitive.Arrow>;
12
- type UpstreamList = React.ComponentProps<typeof SelectPrimitive.List>;
13
2
  type UpstreamItem = React.ComponentProps<typeof SelectPrimitive.Item>;
14
- type UpstreamItemIndicator = React.ComponentProps<typeof SelectPrimitive.ItemIndicator>;
15
- type UpstreamItemText = React.ComponentProps<typeof SelectPrimitive.ItemText>;
16
- type UpstreamGroup = React.ComponentProps<typeof SelectPrimitive.Group>;
17
- type UpstreamGroupLabel = React.ComponentProps<typeof SelectPrimitive.GroupLabel>;
18
- type UpstreamSeparator = React.ComponentProps<typeof SelectPrimitive.Separator>;
19
- type UpstreamScrollUpArrow = React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>;
20
- type UpstreamScrollDownArrow = React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>;
21
- type RootProps = {
22
- value?: UpstreamRoot["value"];
23
- defaultValue?: UpstreamRoot["defaultValue"];
24
- onValueChange?: UpstreamRoot["onValueChange"];
25
- /** @default false */
26
- defaultOpen?: UpstreamRoot["defaultOpen"];
27
- open?: UpstreamRoot["open"];
28
- onOpenChange?: UpstreamRoot["onOpenChange"];
29
- onOpenChangeComplete?: UpstreamRoot["onOpenChangeComplete"];
30
- /** @default false */
31
- multiple?: UpstreamRoot["multiple"];
32
- /** @default false */
33
- disabled?: UpstreamRoot["disabled"];
34
- /** @default false */
35
- readOnly?: UpstreamRoot["readOnly"];
36
- /** @default false */
37
- required?: UpstreamRoot["required"];
38
- /** @default true */
39
- modal?: UpstreamRoot["modal"];
40
- /** @default true */
41
- highlightItemOnHover?: UpstreamRoot["highlightItemOnHover"];
42
- items?: UpstreamRoot["items"];
43
- isItemEqualToValue?: UpstreamRoot["isItemEqualToValue"];
44
- itemToStringLabel?: UpstreamRoot["itemToStringLabel"];
45
- itemToStringValue?: UpstreamRoot["itemToStringValue"];
46
- autoComplete?: UpstreamRoot["autoComplete"];
47
- form?: UpstreamRoot["form"];
48
- inputRef?: UpstreamRoot["inputRef"];
49
- actionsRef?: UpstreamRoot["actionsRef"];
50
- name?: UpstreamRoot["name"];
51
- id?: UpstreamRoot["id"];
52
- children?: React.ReactNode;
53
- };
3
+ interface RootProps<Value = unknown, Multiple extends boolean | undefined = false> extends React.ComponentProps<typeof SelectPrimitive.Root<Value, Multiple>> {
4
+ }
54
5
  /**
55
6
  * Select.Root — accessible select / listbox primitive.
56
7
  *
57
- * Renders a thin wrapper div so that a sibling Select.Label stacks above the
58
- * Select.Trigger regardless of the parent's layout. Select.Portal is unaffected
59
- * (it renders to document.body).
8
+ * Wraps children in a div so a sibling Select.Label stacks above Select.Trigger
9
+ * regardless of the parent's layout. Select.Portal is unaffected (it renders to
10
+ * document.body).
60
11
  *
61
12
  * @doc https://base-ui.com/react/components/select
62
13
  * @llm https://base-ui.com/react/components/select.md
63
14
  */
64
- export declare function Root({ className, style, ...props }: RootProps & {
15
+ export declare function Root<Value = unknown, Multiple extends boolean | undefined = false>({ className, style, ...props }: RootProps<Value, Multiple> & {
65
16
  className?: string;
66
17
  style?: React.CSSProperties;
67
18
  }): import("react/jsx-runtime").JSX.Element;
68
19
  export declare namespace Root {
69
20
  var displayName: string;
70
21
  }
71
- type LabelProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
72
- className?: UpstreamLabel["className"];
73
- style?: UpstreamLabel["style"];
74
- render?: UpstreamLabel["render"];
75
- };
76
22
  /** Select.Label — visible label for the trigger. */
77
- export declare function Label({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function Label(props: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
78
24
  export declare namespace Label {
79
25
  var displayName: string;
80
26
  }
81
- type TriggerProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "className" | "style"> & {
82
- /** @default true */
83
- nativeButton?: UpstreamTrigger["nativeButton"];
84
- className?: UpstreamTrigger["className"];
85
- style?: UpstreamTrigger["style"];
86
- render?: UpstreamTrigger["render"];
87
- };
88
27
  /** Select.Trigger — button that opens the popup. */
89
- export declare function Trigger({ className, ...props }: TriggerProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function Trigger(props: React.ComponentProps<typeof SelectPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
90
29
  export declare namespace Trigger {
91
30
  var displayName: string;
92
31
  }
93
- type ValueProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "children" | "className" | "style"> & {
94
- placeholder?: React.ReactNode;
95
- children?: UpstreamValue["children"];
96
- className?: UpstreamValue["className"];
97
- style?: UpstreamValue["style"];
98
- render?: UpstreamValue["render"];
99
- };
100
32
  /** Select.Value — renders the currently-selected value (or placeholder). */
101
- export declare function Value({ className, children, ...props }: ValueProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function Value({ children, ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
102
34
  export declare namespace Value {
103
35
  var displayName: string;
104
36
  }
105
- type IconProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "className" | "style"> & {
106
- className?: UpstreamIcon["className"];
107
- style?: UpstreamIcon["style"];
108
- render?: UpstreamIcon["render"];
109
- };
110
37
  /** Select.Icon — visual indicator (chevron) next to the value. */
111
- export declare function Icon({ className, ...props }: IconProps): import("react/jsx-runtime").JSX.Element;
38
+ export declare function Icon(props: React.ComponentProps<typeof SelectPrimitive.Icon>): import("react/jsx-runtime").JSX.Element;
112
39
  export declare namespace Icon {
113
40
  var displayName: string;
114
41
  }
115
- type PortalProps = {
116
- container?: UpstreamPortal["container"];
117
- className?: UpstreamPortal["className"];
118
- style?: UpstreamPortal["style"];
119
- render?: UpstreamPortal["render"];
120
- children?: React.ReactNode;
121
- };
122
42
  /** Select.Portal — portals the popup tree to document.body (or a custom container). */
123
- export declare function Portal(props: PortalProps): import("react/jsx-runtime").JSX.Element;
43
+ export declare function Portal(props: React.ComponentProps<typeof SelectPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
124
44
  export declare namespace Portal {
125
45
  var displayName: string;
126
46
  }
127
- type BackdropProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
128
- className?: UpstreamBackdrop["className"];
129
- style?: UpstreamBackdrop["style"];
130
- render?: UpstreamBackdrop["render"];
131
- };
132
47
  /** Select.Backdrop — overlay behind the popup (visible only in modal mode). */
133
- export declare function Backdrop({ className, ...props }: BackdropProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function Backdrop(props: React.ComponentProps<typeof SelectPrimitive.Backdrop>): import("react/jsx-runtime").JSX.Element;
134
49
  export declare namespace Backdrop {
135
50
  var displayName: string;
136
51
  }
137
- type PositionerProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
138
- /** @default false */
139
- alignItemWithTrigger?: UpstreamPositioner["alignItemWithTrigger"];
140
- /** @default false */
141
- disableAnchorTracking?: UpstreamPositioner["disableAnchorTracking"];
142
- /** @default "start" */
143
- align?: UpstreamPositioner["align"];
144
- /** @default 0 */
145
- alignOffset?: UpstreamPositioner["alignOffset"];
146
- /** @default "bottom" */
147
- side?: UpstreamPositioner["side"];
148
- /** @default 0 */
149
- sideOffset?: UpstreamPositioner["sideOffset"];
150
- /** @default 'clipping-ancestors' */
151
- collisionBoundary?: UpstreamPositioner["collisionBoundary"];
152
- /** @default 5 */
153
- collisionPadding?: UpstreamPositioner["collisionPadding"];
154
- /** @default { fallbackAxisSide: 'none' } */
155
- collisionAvoidance?: UpstreamPositioner["collisionAvoidance"];
156
- className?: UpstreamPositioner["className"];
157
- style?: UpstreamPositioner["style"];
158
- render?: UpstreamPositioner["render"];
159
- };
160
52
  /** Select.Positioner — positions the popup relative to the trigger. */
161
- export declare function Positioner({ className, align, alignItemWithTrigger, ...props }: PositionerProps): import("react/jsx-runtime").JSX.Element;
53
+ export declare function Positioner({ align, alignItemWithTrigger, ...props }: React.ComponentProps<typeof SelectPrimitive.Positioner>): import("react/jsx-runtime").JSX.Element;
162
54
  export declare namespace Positioner {
163
55
  var displayName: string;
164
56
  }
165
- type PopupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
166
- className?: UpstreamPopup["className"];
167
- style?: UpstreamPopup["style"];
168
- render?: UpstreamPopup["render"];
169
- };
170
57
  /** Select.Popup — dropdown surface. */
171
- export declare function Popup({ className, ...props }: PopupProps): import("react/jsx-runtime").JSX.Element;
58
+ export declare function Popup(props: React.ComponentProps<typeof SelectPrimitive.Popup>): import("react/jsx-runtime").JSX.Element;
172
59
  export declare namespace Popup {
173
60
  var displayName: string;
174
61
  }
175
- type ArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
176
- className?: UpstreamArrow["className"];
177
- style?: UpstreamArrow["style"];
178
- render?: UpstreamArrow["render"];
179
- };
180
62
  /** Select.Arrow — pointer arrow attached to the popup. */
181
- export declare function Arrow({ className, ...props }: ArrowProps): import("react/jsx-runtime").JSX.Element;
63
+ export declare function Arrow(props: React.ComponentProps<typeof SelectPrimitive.Arrow>): import("react/jsx-runtime").JSX.Element;
182
64
  export declare namespace Arrow {
183
65
  var displayName: string;
184
66
  }
185
- type ListProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
186
- className?: UpstreamList["className"];
187
- style?: UpstreamList["style"];
188
- render?: UpstreamList["render"];
189
- };
190
67
  /** Select.List — items container. */
191
- export declare function List({ className, ...props }: ListProps): import("react/jsx-runtime").JSX.Element;
68
+ export declare function List(props: React.ComponentProps<typeof SelectPrimitive.List>): import("react/jsx-runtime").JSX.Element;
192
69
  export declare namespace List {
193
70
  var displayName: string;
194
71
  }
195
- type ItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
72
+ interface ItemProps extends Omit<UpstreamItem, "value"> {
196
73
  value: UpstreamItem["value"];
197
- /** @default false */
198
- disabled?: UpstreamItem["disabled"];
199
- className?: UpstreamItem["className"];
200
- style?: UpstreamItem["style"];
201
- render?: UpstreamItem["render"];
202
- };
74
+ }
203
75
  /** Select.Item — individual selectable option. */
204
- export declare function Item({ className, ...props }: ItemProps): import("react/jsx-runtime").JSX.Element;
76
+ export declare function Item(props: ItemProps): import("react/jsx-runtime").JSX.Element;
205
77
  export declare namespace Item {
206
78
  var displayName: string;
207
79
  }
208
- type ItemIndicatorProps = Omit<React.HTMLAttributes<HTMLSpanElement>, "className" | "style"> & {
209
- className?: UpstreamItemIndicator["className"];
210
- style?: UpstreamItemIndicator["style"];
211
- render?: UpstreamItemIndicator["render"];
212
- };
213
80
  /** Select.ItemIndicator — visual marker (e.g. checkmark) inside the selected item. */
214
- export declare function ItemIndicator({ className, ...props }: ItemIndicatorProps): import("react/jsx-runtime").JSX.Element;
81
+ export declare function ItemIndicator(props: React.ComponentProps<typeof SelectPrimitive.ItemIndicator>): import("react/jsx-runtime").JSX.Element;
215
82
  export declare namespace ItemIndicator {
216
83
  var displayName: string;
217
84
  }
218
- type ItemTextProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
219
- className?: UpstreamItemText["className"];
220
- style?: UpstreamItemText["style"];
221
- render?: UpstreamItemText["render"];
222
- };
223
85
  /** Select.ItemText — text label for an item. */
224
- export declare function ItemText({ className, ...props }: ItemTextProps): import("react/jsx-runtime").JSX.Element;
86
+ export declare function ItemText(props: React.ComponentProps<typeof SelectPrimitive.ItemText>): import("react/jsx-runtime").JSX.Element;
225
87
  export declare namespace ItemText {
226
88
  var displayName: string;
227
89
  }
228
- type GroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
229
- className?: UpstreamGroup["className"];
230
- style?: UpstreamGroup["style"];
231
- render?: UpstreamGroup["render"];
232
- };
233
90
  /** Select.Group — wrapper around a grouped set of items. */
234
- export declare function Group({ className, ...props }: GroupProps): import("react/jsx-runtime").JSX.Element;
91
+ export declare function Group(props: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
235
92
  export declare namespace Group {
236
93
  var displayName: string;
237
94
  }
238
- type GroupLabelProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
239
- className?: UpstreamGroupLabel["className"];
240
- style?: UpstreamGroupLabel["style"];
241
- render?: UpstreamGroupLabel["render"];
242
- };
243
95
  /** Select.GroupLabel — heading for a Select.Group. */
244
- export declare function GroupLabel({ className, ...props }: GroupLabelProps): import("react/jsx-runtime").JSX.Element;
96
+ export declare function GroupLabel(props: React.ComponentProps<typeof SelectPrimitive.GroupLabel>): import("react/jsx-runtime").JSX.Element;
245
97
  export declare namespace GroupLabel {
246
98
  var displayName: string;
247
99
  }
248
- type SeparatorProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
249
- className?: UpstreamSeparator["className"];
250
- style?: UpstreamSeparator["style"];
251
- render?: UpstreamSeparator["render"];
252
- };
253
100
  /** Select.Separator — thin divider between items. */
254
- export declare function Separator({ className, ...props }: SeparatorProps): import("react/jsx-runtime").JSX.Element;
101
+ export declare function Separator(props: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
255
102
  export declare namespace Separator {
256
103
  var displayName: string;
257
104
  }
258
- type ScrollUpArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
259
- className?: UpstreamScrollUpArrow["className"];
260
- style?: UpstreamScrollUpArrow["style"];
261
- render?: UpstreamScrollUpArrow["render"];
262
- };
263
105
  /** Select.ScrollUpArrow — indicator that more items exist above. */
264
- export declare function ScrollUpArrow({ className, ...props }: ScrollUpArrowProps): import("react/jsx-runtime").JSX.Element;
106
+ export declare function ScrollUpArrow(props: React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>): import("react/jsx-runtime").JSX.Element;
265
107
  export declare namespace ScrollUpArrow {
266
108
  var displayName: string;
267
109
  }
268
- type ScrollDownArrowProps = Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "style"> & {
269
- className?: UpstreamScrollDownArrow["className"];
270
- style?: UpstreamScrollDownArrow["style"];
271
- render?: UpstreamScrollDownArrow["render"];
272
- };
273
110
  /** Select.ScrollDownArrow — indicator that more items exist below. */
274
- export declare function ScrollDownArrow({ className, ...props }: ScrollDownArrowProps): import("react/jsx-runtime").JSX.Element;
111
+ export declare function ScrollDownArrow(props: React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>): import("react/jsx-runtime").JSX.Element;
275
112
  export declare namespace ScrollDownArrow {
276
113
  var displayName: string;
277
114
  }
@@ -1,15 +1,16 @@
1
+ import { Separator as SeparatorPrimitive } from '@base-ui/react/separator';
1
2
  import { VariantProps } from 'class-variance-authority';
2
3
  declare const separator: (props?: ({
3
4
  variant?: "solid" | "dashed" | "dotted" | null | undefined;
5
+ spacing?: "none" | "small" | "medium" | "large" | "spacious" | null | undefined;
4
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
- type Props = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof separator> & {
6
- orientation?: "horizontal" | "vertical";
7
- };
7
+ interface Props extends React.ComponentProps<typeof SeparatorPrimitive>, VariantProps<typeof separator> {
8
+ }
8
9
  /**
9
10
  * Separator — visual divider between content sections.
10
11
  *
11
12
  * @see https://base-ui.com/react/components/separator
12
13
  * @llm https://base-ui.com/react/components/separator.md
13
14
  */
14
- export declare function Separator({ orientation, variant, className, ...props }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export declare function Separator({ orientation, variant, spacing, ...props }: Props): import("react/jsx-runtime").JSX.Element;
15
16
  export {};