@ai-matrx/design-system 0.2.0 → 0.3.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.
- package/CHANGELOG.md +49 -0
- package/dist/index.cjs +828 -172
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +240 -10
- package/dist/index.d.ts +240 -10
- package/dist/index.js +823 -164
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import React__default, {
|
|
4
|
+
import React__default, { ReactNode, ComponentType } from 'react';
|
|
5
5
|
import { ClassValue } from 'clsx';
|
|
6
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
7
|
+
import { DialogProps } from '@radix-ui/react-dialog';
|
|
6
8
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
7
9
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
10
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
8
11
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
9
|
-
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
10
12
|
|
|
11
13
|
declare const badgeVariants: (props?: ({
|
|
12
14
|
variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info" | "error" | "neutral" | null | undefined;
|
|
@@ -65,6 +67,213 @@ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAtt
|
|
|
65
67
|
|
|
66
68
|
declare function cn(...inputs: ClassValue[]): string;
|
|
67
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Command — ported verbatim from matrx-frontend `components/ui/command.tsx`.
|
|
72
|
+
*
|
|
73
|
+
* `cmdk` is a SANCTIONED REAL DEPENDENCY (the vaul ↔ BottomSheet precedent):
|
|
74
|
+
* the filtering/scoring/keyboard engine IS the component's product — there is
|
|
75
|
+
* no Command palette without it, and reimplementing type-ahead ranking plus
|
|
76
|
+
* roving keyboard selection would twin a maintained library rather than our
|
|
77
|
+
* own code. See FEATURE.md.
|
|
78
|
+
*
|
|
79
|
+
* Seam inversions:
|
|
80
|
+
* - `MagnifyingGlassIcon` comes from the package's inlined SVGs (C19), not
|
|
81
|
+
* @radix-ui/react-icons.
|
|
82
|
+
* - `CommandDialog` composed the host dialog module (`Dialog`, `DialogContent`,
|
|
83
|
+
* `DialogTitle`). Those pieces are inlined privately below with identical
|
|
84
|
+
* behavior — modal context, overlay, desktop card / mobile bottom-sheet
|
|
85
|
+
* geometry, close control, portal — except the host's popout-aware
|
|
86
|
+
* `DialogPortal` becomes the package's `PortalContainerProvider` seam
|
|
87
|
+
* (plus an explicit `container` prop, which keeps top priority).
|
|
88
|
+
* - The host's `useIsMobile` (a plain matchMedia breakpoint hook, not
|
|
89
|
+
* host-shaped) is inlined privately with the same 768px breakpoint.
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
93
|
+
children?: React.ReactNode;
|
|
94
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
95
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
96
|
+
} & {
|
|
97
|
+
asChild?: boolean;
|
|
98
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
99
|
+
label?: string;
|
|
100
|
+
shouldFilter?: boolean;
|
|
101
|
+
filter?: (value: string, search: string, keywords?: string[]) => number;
|
|
102
|
+
defaultValue?: string;
|
|
103
|
+
value?: string;
|
|
104
|
+
onValueChange?: (value: string) => void;
|
|
105
|
+
loop?: boolean;
|
|
106
|
+
disablePointerSelection?: boolean;
|
|
107
|
+
vimBindings?: boolean;
|
|
108
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
109
|
+
interface CommandDialogProps extends DialogProps {
|
|
110
|
+
/** Explicit portal target for the dialog; beats the injected seam. */
|
|
111
|
+
container?: HTMLElement | null;
|
|
112
|
+
}
|
|
113
|
+
declare const CommandDialog: ({ children, container, ...props }: CommandDialogProps) => React.JSX.Element;
|
|
114
|
+
declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
|
|
115
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
116
|
+
} & {
|
|
117
|
+
asChild?: boolean;
|
|
118
|
+
}, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
|
|
119
|
+
value?: string;
|
|
120
|
+
onValueChange?: (search: string) => void;
|
|
121
|
+
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
122
|
+
declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
123
|
+
children?: React.ReactNode;
|
|
124
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
125
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
126
|
+
} & {
|
|
127
|
+
asChild?: boolean;
|
|
128
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
129
|
+
label?: string;
|
|
130
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
131
|
+
declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
132
|
+
children?: React.ReactNode;
|
|
133
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
134
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
135
|
+
} & {
|
|
136
|
+
asChild?: boolean;
|
|
137
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
138
|
+
declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
139
|
+
children?: React.ReactNode;
|
|
140
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
141
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
142
|
+
} & {
|
|
143
|
+
asChild?: boolean;
|
|
144
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
|
|
145
|
+
heading?: React.ReactNode;
|
|
146
|
+
value?: string;
|
|
147
|
+
forceMount?: boolean;
|
|
148
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
149
|
+
declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
150
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
151
|
+
} & {
|
|
152
|
+
asChild?: boolean;
|
|
153
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
154
|
+
alwaysRender?: boolean;
|
|
155
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
156
|
+
declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
157
|
+
children?: React.ReactNode;
|
|
158
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
159
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
160
|
+
} & {
|
|
161
|
+
asChild?: boolean;
|
|
162
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "value" | "disabled"> & {
|
|
163
|
+
disabled?: boolean;
|
|
164
|
+
onSelect?: (value: string) => void;
|
|
165
|
+
value?: string;
|
|
166
|
+
keywords?: string[];
|
|
167
|
+
forceMount?: boolean;
|
|
168
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
169
|
+
declare const CommandShortcut: {
|
|
170
|
+
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
|
|
171
|
+
displayName: string;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/** Structural stand-in for the host's `LucideIcon` in `footerActions`. */
|
|
175
|
+
type PickerIcon = ComponentType<{
|
|
176
|
+
className?: string;
|
|
177
|
+
}>;
|
|
178
|
+
interface CreatableOption {
|
|
179
|
+
value: string;
|
|
180
|
+
label: string;
|
|
181
|
+
/** Right-aligned detail — a count, a description, "yours". */
|
|
182
|
+
hint?: string;
|
|
183
|
+
/** Rendered instead of the plain label (a band chip, a coloured pill). */
|
|
184
|
+
render?: ReactNode;
|
|
185
|
+
/** Extra words the type-ahead should match on. */
|
|
186
|
+
keywords?: string;
|
|
187
|
+
/**
|
|
188
|
+
* The heading this option files under. Options keep the caller's order; a
|
|
189
|
+
* group is opened the first time an option names it. Omit on every option
|
|
190
|
+
* for a single ungrouped list.
|
|
191
|
+
*
|
|
192
|
+
* THE CATALOG IS NOT A WALL (Arman, 2026-08-24, on being shown offerings
|
|
193
|
+
* that were not his): a set that legitimately holds more than this tenant's
|
|
194
|
+
* own rows says so with a heading instead of hiding the rest.
|
|
195
|
+
*/
|
|
196
|
+
group?: string;
|
|
197
|
+
}
|
|
198
|
+
interface CreatablePickerProps {
|
|
199
|
+
value: string | null;
|
|
200
|
+
options: CreatableOption[];
|
|
201
|
+
onSelect: (value: string) => void;
|
|
202
|
+
placeholder: string;
|
|
203
|
+
searchPlaceholder?: string;
|
|
204
|
+
/** The noun in "Add a level…" / "Create «x»". Always a person's word. */
|
|
205
|
+
noun: string;
|
|
206
|
+
/**
|
|
207
|
+
* Turns typed text into a real row and returns the option value to select.
|
|
208
|
+
* Return null when the caller handled it another way (opened a dialog that
|
|
209
|
+
* needs more than a name — a level needs a threshold).
|
|
210
|
+
*/
|
|
211
|
+
onCreate?: (typed: string) => Promise<string | null>;
|
|
212
|
+
/**
|
|
213
|
+
* Creating this noun needs more than a name, so the picker hands the typed
|
|
214
|
+
* text to the caller's dialog instead of writing anything itself.
|
|
215
|
+
*/
|
|
216
|
+
onCreateRequiresMore?: (typed: string) => void;
|
|
217
|
+
disabled?: boolean;
|
|
218
|
+
loading?: boolean;
|
|
219
|
+
className?: string;
|
|
220
|
+
triggerClassName?: string;
|
|
221
|
+
emptyLabel?: string;
|
|
222
|
+
ariaLabel?: string;
|
|
223
|
+
/** P11: a sentence saying this vocabulary is platform-governed. */
|
|
224
|
+
lockedNote?: string;
|
|
225
|
+
/** P11: the door out of that refusal — never leave them with only "no". */
|
|
226
|
+
lockedAction?: {
|
|
227
|
+
label: string;
|
|
228
|
+
onSelect: () => void;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Rendered inside the create footer, above the create button — for the one
|
|
232
|
+
* extra choice a vocabulary needs at creation time (a category's parent,
|
|
233
|
+
* say). It is a SLOT, not a second write path: whatever it collects is read
|
|
234
|
+
* by the caller's own `onCreate`. A function receives what the person typed,
|
|
235
|
+
* so a slot can offer matching suggestions (e.g. a shared catalog) instead
|
|
236
|
+
* of a fixed block.
|
|
237
|
+
*/
|
|
238
|
+
createExtra?: ReactNode | ((typed: string) => ReactNode);
|
|
239
|
+
/**
|
|
240
|
+
* THE MANAGE DOOR. Arman, 2026-08-24: "where we have 'add' we should also
|
|
241
|
+
* have a 'manage' button that opens that thing in a new tab." A control that
|
|
242
|
+
* names a vocabulary must also be able to reach the place that vocabulary is
|
|
243
|
+
* governed — otherwise the person who wants to rename, re-parent, or retire
|
|
244
|
+
* an option has to go hunting for a screen they may not know exists.
|
|
245
|
+
*
|
|
246
|
+
* It opens in a NEW TAB on purpose: nobody loses the row they were editing
|
|
247
|
+
* in order to go look at the catalog.
|
|
248
|
+
*/
|
|
249
|
+
manageAction?: {
|
|
250
|
+
label: string;
|
|
251
|
+
href: string;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Doors to a DIFFERENT answer than this vocabulary can give. The offering
|
|
255
|
+
* picker's "this isn't something we offer" lives here, because that ruling
|
|
256
|
+
* is a traffic class, not an offering — and sending someone to look for
|
|
257
|
+
* another column on their own is the dead end this slot exists to close.
|
|
258
|
+
*/
|
|
259
|
+
footerActions?: Array<{
|
|
260
|
+
label: string;
|
|
261
|
+
icon?: PickerIcon;
|
|
262
|
+
onSelect: () => void;
|
|
263
|
+
/** A sentence under the door saying what it does, when it needs one. */
|
|
264
|
+
note?: string;
|
|
265
|
+
}>;
|
|
266
|
+
/**
|
|
267
|
+
* What the TRIGGER shows for the current selection, when the caller wants
|
|
268
|
+
* something other than the option row's own `render`. A dense table cell
|
|
269
|
+
* needs one compact line ("Data Destruction Services · ITAD"); the list row
|
|
270
|
+
* it came from is indented and annotated. Same selection, two jobs.
|
|
271
|
+
*/
|
|
272
|
+
renderSelected?: ReactNode;
|
|
273
|
+
size?: "sm" | "md";
|
|
274
|
+
}
|
|
275
|
+
declare function CreatablePicker({ value, options, onSelect, placeholder, searchPlaceholder, noun, onCreate, onCreateRequiresMore, disabled, loading, className, triggerClassName, emptyLabel, ariaLabel, lockedNote, lockedAction, createExtra, manageAction, footerActions, renderSelected, size, }: CreatablePickerProps): React.JSX.Element;
|
|
276
|
+
|
|
68
277
|
type EditableLabelCommitMode = "optimistic" | "await";
|
|
69
278
|
type EditableLabelActivation = "click" | "doubleClick" | "controlled";
|
|
70
279
|
interface EditableLabelProps {
|
|
@@ -285,13 +494,6 @@ declare function RadixDialogModalProvider({ children, modal, }: RadixDialogModal
|
|
|
285
494
|
/** Returns whether the nearest Radix Dialog-derived root is modal. */
|
|
286
495
|
declare function useRadixDialogModal(): boolean;
|
|
287
496
|
|
|
288
|
-
/**
|
|
289
|
-
* ScoreRing — SVG progress ring + the shared score→color threshold semantics.
|
|
290
|
-
* Ported verbatim from matrx-frontend `components/official/ScoreRing.tsx`
|
|
291
|
-
* (S18). The thresholds ARE the product: green at/above `good`, orange
|
|
292
|
-
* at/above `warning`, red below, muted for null. No seams.
|
|
293
|
-
*/
|
|
294
|
-
|
|
295
497
|
interface ScoreThresholds {
|
|
296
498
|
/** Scores at or above this value are green. */
|
|
297
499
|
good: number;
|
|
@@ -343,6 +545,34 @@ interface SegmentedControlProps {
|
|
|
343
545
|
}
|
|
344
546
|
declare function SegmentedControl({ value, onValueChange, data, name: _name, className, fullWidth, size, }: SegmentedControlProps): React.JSX.Element;
|
|
345
547
|
|
|
548
|
+
declare const Select: React.FC<SelectPrimitive.SelectProps>;
|
|
549
|
+
declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
550
|
+
declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
|
|
551
|
+
declare const selectTriggerVariants: (props?: ({
|
|
552
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
553
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
554
|
+
interface SelectTriggerProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, VariantProps<typeof selectTriggerVariants> {
|
|
555
|
+
hideArrow?: boolean;
|
|
556
|
+
}
|
|
557
|
+
declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
558
|
+
declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
559
|
+
declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
560
|
+
declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
561
|
+
container?: HTMLElement | null;
|
|
562
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
563
|
+
declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
564
|
+
declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
565
|
+
/**
|
|
566
|
+
* Secondary line shown under the label IN THE LIST ONLY. Rendered outside
|
|
567
|
+
* Radix `ItemText` on purpose: everything inside `ItemText` is what the
|
|
568
|
+
* closed trigger displays, so a description passed as `children` gets
|
|
569
|
+
* squeezed into the fixed-height trigger and clipped. This prop keeps the
|
|
570
|
+
* trigger to the one-line label while the open list shows both lines.
|
|
571
|
+
*/
|
|
572
|
+
description?: React.ReactNode;
|
|
573
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
574
|
+
declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
575
|
+
|
|
346
576
|
declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
347
577
|
|
|
348
578
|
declare const Sheet: React.ForwardRefExoticComponent<SheetPrimitive.DialogProps & React.RefAttributes<never>>;
|
|
@@ -412,4 +642,4 @@ interface UseScrollFadeResult {
|
|
|
412
642
|
}
|
|
413
643
|
declare function useScrollFade(): UseScrollFadeResult;
|
|
414
644
|
|
|
415
|
-
export { Badge, type BadgeProps, BasicInput, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, DEFAULT_SCORE_THRESHOLDS, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, OverflowToolbar, type OverflowToolbarProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, RadixDialogModalProvider, type RadixDialogModalProviderProps, ScoreRing, type ScoreRingProps, type ScoreThresholds, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, type UseScrollFadeResult, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, sheetVariants, usePortalContainer, useRadixDialogModal, useScrollFade };
|
|
645
|
+
export { Badge, type BadgeProps, BasicInput, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, RadixDialogModalProvider, type RadixDialogModalProviderProps, ScoreRing, type ScoreRingProps, type ScoreThresholds, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, type UseScrollFadeResult, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, usePortalContainer, useRadixDialogModal, useScrollFade };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import React__default, {
|
|
4
|
+
import React__default, { ReactNode, ComponentType } from 'react';
|
|
5
5
|
import { ClassValue } from 'clsx';
|
|
6
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
7
|
+
import { DialogProps } from '@radix-ui/react-dialog';
|
|
6
8
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
7
9
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
10
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
8
11
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
9
|
-
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
10
12
|
|
|
11
13
|
declare const badgeVariants: (props?: ({
|
|
12
14
|
variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info" | "error" | "neutral" | null | undefined;
|
|
@@ -65,6 +67,213 @@ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAtt
|
|
|
65
67
|
|
|
66
68
|
declare function cn(...inputs: ClassValue[]): string;
|
|
67
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Command — ported verbatim from matrx-frontend `components/ui/command.tsx`.
|
|
72
|
+
*
|
|
73
|
+
* `cmdk` is a SANCTIONED REAL DEPENDENCY (the vaul ↔ BottomSheet precedent):
|
|
74
|
+
* the filtering/scoring/keyboard engine IS the component's product — there is
|
|
75
|
+
* no Command palette without it, and reimplementing type-ahead ranking plus
|
|
76
|
+
* roving keyboard selection would twin a maintained library rather than our
|
|
77
|
+
* own code. See FEATURE.md.
|
|
78
|
+
*
|
|
79
|
+
* Seam inversions:
|
|
80
|
+
* - `MagnifyingGlassIcon` comes from the package's inlined SVGs (C19), not
|
|
81
|
+
* @radix-ui/react-icons.
|
|
82
|
+
* - `CommandDialog` composed the host dialog module (`Dialog`, `DialogContent`,
|
|
83
|
+
* `DialogTitle`). Those pieces are inlined privately below with identical
|
|
84
|
+
* behavior — modal context, overlay, desktop card / mobile bottom-sheet
|
|
85
|
+
* geometry, close control, portal — except the host's popout-aware
|
|
86
|
+
* `DialogPortal` becomes the package's `PortalContainerProvider` seam
|
|
87
|
+
* (plus an explicit `container` prop, which keeps top priority).
|
|
88
|
+
* - The host's `useIsMobile` (a plain matchMedia breakpoint hook, not
|
|
89
|
+
* host-shaped) is inlined privately with the same 768px breakpoint.
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
93
|
+
children?: React.ReactNode;
|
|
94
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
95
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
96
|
+
} & {
|
|
97
|
+
asChild?: boolean;
|
|
98
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
99
|
+
label?: string;
|
|
100
|
+
shouldFilter?: boolean;
|
|
101
|
+
filter?: (value: string, search: string, keywords?: string[]) => number;
|
|
102
|
+
defaultValue?: string;
|
|
103
|
+
value?: string;
|
|
104
|
+
onValueChange?: (value: string) => void;
|
|
105
|
+
loop?: boolean;
|
|
106
|
+
disablePointerSelection?: boolean;
|
|
107
|
+
vimBindings?: boolean;
|
|
108
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
109
|
+
interface CommandDialogProps extends DialogProps {
|
|
110
|
+
/** Explicit portal target for the dialog; beats the injected seam. */
|
|
111
|
+
container?: HTMLElement | null;
|
|
112
|
+
}
|
|
113
|
+
declare const CommandDialog: ({ children, container, ...props }: CommandDialogProps) => React.JSX.Element;
|
|
114
|
+
declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
|
|
115
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
116
|
+
} & {
|
|
117
|
+
asChild?: boolean;
|
|
118
|
+
}, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
|
|
119
|
+
value?: string;
|
|
120
|
+
onValueChange?: (search: string) => void;
|
|
121
|
+
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
122
|
+
declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
123
|
+
children?: React.ReactNode;
|
|
124
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
125
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
126
|
+
} & {
|
|
127
|
+
asChild?: boolean;
|
|
128
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
129
|
+
label?: string;
|
|
130
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
131
|
+
declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
132
|
+
children?: React.ReactNode;
|
|
133
|
+
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
134
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
135
|
+
} & {
|
|
136
|
+
asChild?: boolean;
|
|
137
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
138
|
+
declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
139
|
+
children?: React.ReactNode;
|
|
140
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
141
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
142
|
+
} & {
|
|
143
|
+
asChild?: boolean;
|
|
144
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
|
|
145
|
+
heading?: React.ReactNode;
|
|
146
|
+
value?: string;
|
|
147
|
+
forceMount?: boolean;
|
|
148
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
149
|
+
declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
150
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
151
|
+
} & {
|
|
152
|
+
asChild?: boolean;
|
|
153
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
154
|
+
alwaysRender?: boolean;
|
|
155
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
156
|
+
declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
157
|
+
children?: React.ReactNode;
|
|
158
|
+
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
159
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
160
|
+
} & {
|
|
161
|
+
asChild?: boolean;
|
|
162
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "value" | "disabled"> & {
|
|
163
|
+
disabled?: boolean;
|
|
164
|
+
onSelect?: (value: string) => void;
|
|
165
|
+
value?: string;
|
|
166
|
+
keywords?: string[];
|
|
167
|
+
forceMount?: boolean;
|
|
168
|
+
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
169
|
+
declare const CommandShortcut: {
|
|
170
|
+
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
|
|
171
|
+
displayName: string;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/** Structural stand-in for the host's `LucideIcon` in `footerActions`. */
|
|
175
|
+
type PickerIcon = ComponentType<{
|
|
176
|
+
className?: string;
|
|
177
|
+
}>;
|
|
178
|
+
interface CreatableOption {
|
|
179
|
+
value: string;
|
|
180
|
+
label: string;
|
|
181
|
+
/** Right-aligned detail — a count, a description, "yours". */
|
|
182
|
+
hint?: string;
|
|
183
|
+
/** Rendered instead of the plain label (a band chip, a coloured pill). */
|
|
184
|
+
render?: ReactNode;
|
|
185
|
+
/** Extra words the type-ahead should match on. */
|
|
186
|
+
keywords?: string;
|
|
187
|
+
/**
|
|
188
|
+
* The heading this option files under. Options keep the caller's order; a
|
|
189
|
+
* group is opened the first time an option names it. Omit on every option
|
|
190
|
+
* for a single ungrouped list.
|
|
191
|
+
*
|
|
192
|
+
* THE CATALOG IS NOT A WALL (Arman, 2026-08-24, on being shown offerings
|
|
193
|
+
* that were not his): a set that legitimately holds more than this tenant's
|
|
194
|
+
* own rows says so with a heading instead of hiding the rest.
|
|
195
|
+
*/
|
|
196
|
+
group?: string;
|
|
197
|
+
}
|
|
198
|
+
interface CreatablePickerProps {
|
|
199
|
+
value: string | null;
|
|
200
|
+
options: CreatableOption[];
|
|
201
|
+
onSelect: (value: string) => void;
|
|
202
|
+
placeholder: string;
|
|
203
|
+
searchPlaceholder?: string;
|
|
204
|
+
/** The noun in "Add a level…" / "Create «x»". Always a person's word. */
|
|
205
|
+
noun: string;
|
|
206
|
+
/**
|
|
207
|
+
* Turns typed text into a real row and returns the option value to select.
|
|
208
|
+
* Return null when the caller handled it another way (opened a dialog that
|
|
209
|
+
* needs more than a name — a level needs a threshold).
|
|
210
|
+
*/
|
|
211
|
+
onCreate?: (typed: string) => Promise<string | null>;
|
|
212
|
+
/**
|
|
213
|
+
* Creating this noun needs more than a name, so the picker hands the typed
|
|
214
|
+
* text to the caller's dialog instead of writing anything itself.
|
|
215
|
+
*/
|
|
216
|
+
onCreateRequiresMore?: (typed: string) => void;
|
|
217
|
+
disabled?: boolean;
|
|
218
|
+
loading?: boolean;
|
|
219
|
+
className?: string;
|
|
220
|
+
triggerClassName?: string;
|
|
221
|
+
emptyLabel?: string;
|
|
222
|
+
ariaLabel?: string;
|
|
223
|
+
/** P11: a sentence saying this vocabulary is platform-governed. */
|
|
224
|
+
lockedNote?: string;
|
|
225
|
+
/** P11: the door out of that refusal — never leave them with only "no". */
|
|
226
|
+
lockedAction?: {
|
|
227
|
+
label: string;
|
|
228
|
+
onSelect: () => void;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Rendered inside the create footer, above the create button — for the one
|
|
232
|
+
* extra choice a vocabulary needs at creation time (a category's parent,
|
|
233
|
+
* say). It is a SLOT, not a second write path: whatever it collects is read
|
|
234
|
+
* by the caller's own `onCreate`. A function receives what the person typed,
|
|
235
|
+
* so a slot can offer matching suggestions (e.g. a shared catalog) instead
|
|
236
|
+
* of a fixed block.
|
|
237
|
+
*/
|
|
238
|
+
createExtra?: ReactNode | ((typed: string) => ReactNode);
|
|
239
|
+
/**
|
|
240
|
+
* THE MANAGE DOOR. Arman, 2026-08-24: "where we have 'add' we should also
|
|
241
|
+
* have a 'manage' button that opens that thing in a new tab." A control that
|
|
242
|
+
* names a vocabulary must also be able to reach the place that vocabulary is
|
|
243
|
+
* governed — otherwise the person who wants to rename, re-parent, or retire
|
|
244
|
+
* an option has to go hunting for a screen they may not know exists.
|
|
245
|
+
*
|
|
246
|
+
* It opens in a NEW TAB on purpose: nobody loses the row they were editing
|
|
247
|
+
* in order to go look at the catalog.
|
|
248
|
+
*/
|
|
249
|
+
manageAction?: {
|
|
250
|
+
label: string;
|
|
251
|
+
href: string;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Doors to a DIFFERENT answer than this vocabulary can give. The offering
|
|
255
|
+
* picker's "this isn't something we offer" lives here, because that ruling
|
|
256
|
+
* is a traffic class, not an offering — and sending someone to look for
|
|
257
|
+
* another column on their own is the dead end this slot exists to close.
|
|
258
|
+
*/
|
|
259
|
+
footerActions?: Array<{
|
|
260
|
+
label: string;
|
|
261
|
+
icon?: PickerIcon;
|
|
262
|
+
onSelect: () => void;
|
|
263
|
+
/** A sentence under the door saying what it does, when it needs one. */
|
|
264
|
+
note?: string;
|
|
265
|
+
}>;
|
|
266
|
+
/**
|
|
267
|
+
* What the TRIGGER shows for the current selection, when the caller wants
|
|
268
|
+
* something other than the option row's own `render`. A dense table cell
|
|
269
|
+
* needs one compact line ("Data Destruction Services · ITAD"); the list row
|
|
270
|
+
* it came from is indented and annotated. Same selection, two jobs.
|
|
271
|
+
*/
|
|
272
|
+
renderSelected?: ReactNode;
|
|
273
|
+
size?: "sm" | "md";
|
|
274
|
+
}
|
|
275
|
+
declare function CreatablePicker({ value, options, onSelect, placeholder, searchPlaceholder, noun, onCreate, onCreateRequiresMore, disabled, loading, className, triggerClassName, emptyLabel, ariaLabel, lockedNote, lockedAction, createExtra, manageAction, footerActions, renderSelected, size, }: CreatablePickerProps): React.JSX.Element;
|
|
276
|
+
|
|
68
277
|
type EditableLabelCommitMode = "optimistic" | "await";
|
|
69
278
|
type EditableLabelActivation = "click" | "doubleClick" | "controlled";
|
|
70
279
|
interface EditableLabelProps {
|
|
@@ -285,13 +494,6 @@ declare function RadixDialogModalProvider({ children, modal, }: RadixDialogModal
|
|
|
285
494
|
/** Returns whether the nearest Radix Dialog-derived root is modal. */
|
|
286
495
|
declare function useRadixDialogModal(): boolean;
|
|
287
496
|
|
|
288
|
-
/**
|
|
289
|
-
* ScoreRing — SVG progress ring + the shared score→color threshold semantics.
|
|
290
|
-
* Ported verbatim from matrx-frontend `components/official/ScoreRing.tsx`
|
|
291
|
-
* (S18). The thresholds ARE the product: green at/above `good`, orange
|
|
292
|
-
* at/above `warning`, red below, muted for null. No seams.
|
|
293
|
-
*/
|
|
294
|
-
|
|
295
497
|
interface ScoreThresholds {
|
|
296
498
|
/** Scores at or above this value are green. */
|
|
297
499
|
good: number;
|
|
@@ -343,6 +545,34 @@ interface SegmentedControlProps {
|
|
|
343
545
|
}
|
|
344
546
|
declare function SegmentedControl({ value, onValueChange, data, name: _name, className, fullWidth, size, }: SegmentedControlProps): React.JSX.Element;
|
|
345
547
|
|
|
548
|
+
declare const Select: React.FC<SelectPrimitive.SelectProps>;
|
|
549
|
+
declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
550
|
+
declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
|
|
551
|
+
declare const selectTriggerVariants: (props?: ({
|
|
552
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
553
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
554
|
+
interface SelectTriggerProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, VariantProps<typeof selectTriggerVariants> {
|
|
555
|
+
hideArrow?: boolean;
|
|
556
|
+
}
|
|
557
|
+
declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
558
|
+
declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
559
|
+
declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
560
|
+
declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
561
|
+
container?: HTMLElement | null;
|
|
562
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
563
|
+
declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
564
|
+
declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
565
|
+
/**
|
|
566
|
+
* Secondary line shown under the label IN THE LIST ONLY. Rendered outside
|
|
567
|
+
* Radix `ItemText` on purpose: everything inside `ItemText` is what the
|
|
568
|
+
* closed trigger displays, so a description passed as `children` gets
|
|
569
|
+
* squeezed into the fixed-height trigger and clipped. This prop keeps the
|
|
570
|
+
* trigger to the one-line label while the open list shows both lines.
|
|
571
|
+
*/
|
|
572
|
+
description?: React.ReactNode;
|
|
573
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
574
|
+
declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
575
|
+
|
|
346
576
|
declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
347
577
|
|
|
348
578
|
declare const Sheet: React.ForwardRefExoticComponent<SheetPrimitive.DialogProps & React.RefAttributes<never>>;
|
|
@@ -412,4 +642,4 @@ interface UseScrollFadeResult {
|
|
|
412
642
|
}
|
|
413
643
|
declare function useScrollFade(): UseScrollFadeResult;
|
|
414
644
|
|
|
415
|
-
export { Badge, type BadgeProps, BasicInput, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, DEFAULT_SCORE_THRESHOLDS, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, OverflowToolbar, type OverflowToolbarProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, RadixDialogModalProvider, type RadixDialogModalProviderProps, ScoreRing, type ScoreRingProps, type ScoreThresholds, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, type UseScrollFadeResult, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, sheetVariants, usePortalContainer, useRadixDialogModal, useScrollFade };
|
|
645
|
+
export { Badge, type BadgeProps, BasicInput, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, RadixDialogModalProvider, type RadixDialogModalProviderProps, ScoreRing, type ScoreRingProps, type ScoreThresholds, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, type UseScrollFadeResult, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, usePortalContainer, useRadixDialogModal, useScrollFade };
|