@photon-ai/pho-ui 0.1.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/README.md +49 -0
- package/dist/chunks/button-9pp4g7en.js +334 -0
- package/dist/chunks/button-9pp4g7en.js.map +1 -0
- package/dist/chunks/close-button-CbQNfpxU.js +30 -0
- package/dist/chunks/close-button-CbQNfpxU.js.map +1 -0
- package/dist/chunks/cn-D6jQqeRj.js +1762 -0
- package/dist/chunks/cn-D6jQqeRj.js.map +1 -0
- package/dist/chunks/dialog-BSBF1Wyq.js +63 -0
- package/dist/chunks/dialog-BSBF1Wyq.js.map +1 -0
- package/dist/chunks/input-aZqjjV_m.js +75 -0
- package/dist/chunks/input-aZqjjV_m.js.map +1 -0
- package/dist/chunks/link-provider-9TFNyDqO.js +28 -0
- package/dist/chunks/link-provider-9TFNyDqO.js.map +1 -0
- package/dist/chunks/menu-BkzDbNuX.js +101 -0
- package/dist/chunks/menu-BkzDbNuX.js.map +1 -0
- package/dist/chunks/resolve-variant-CcD8iG5l.js +9 -0
- package/dist/chunks/resolve-variant-CcD8iG5l.js.map +1 -0
- package/dist/chunks/rolldown-runtime-wKSmTnsc.js +22 -0
- package/dist/components/accordion.js +42 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert-dialog.js +59 -0
- package/dist/components/alert-dialog.js.map +1 -0
- package/dist/components/autocomplete.js +82 -0
- package/dist/components/autocomplete.js.map +1 -0
- package/dist/components/avatar.js +49 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.js +59 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.js +17 -0
- package/dist/components/checkbox.js +51 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/collapsible.js +28 -0
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.js +117 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/context-menu.js +63 -0
- package/dist/components/context-menu.js.map +1 -0
- package/dist/components/dialog.js +5 -0
- package/dist/components/drawer.js +59 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/field.js +49 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/fieldset.js +26 -0
- package/dist/components/fieldset.js.map +1 -0
- package/dist/components/form.js +17 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/input.js +5 -0
- package/dist/components/kbd.js +18 -0
- package/dist/components/kbd.js.map +1 -0
- package/dist/components/menu.js +7 -0
- package/dist/components/menubar.js +17 -0
- package/dist/components/menubar.js.map +1 -0
- package/dist/components/meter.js +47 -0
- package/dist/components/meter.js.map +1 -0
- package/dist/components/navigation-menu.js +74 -0
- package/dist/components/navigation-menu.js.map +1 -0
- package/dist/components/notification.js +91 -0
- package/dist/components/notification.js.map +1 -0
- package/dist/components/number-field.js +56 -0
- package/dist/components/number-field.js.map +1 -0
- package/dist/components/otp-field.js +19 -0
- package/dist/components/otp-field.js.map +1 -0
- package/dist/components/popover.js +46 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/preview-card.js +31 -0
- package/dist/components/preview-card.js.map +1 -0
- package/dist/components/progress.js +47 -0
- package/dist/components/progress.js.map +1 -0
- package/dist/components/radio-group.js +34 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/scroll-area.js +43 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.js +69 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.js +17 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/slider.js +61 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/switch.js +28 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/tabs.js +42 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/toast.js +60 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toggle-group.js +17 -0
- package/dist/components/toggle-group.js.map +1 -0
- package/dist/components/toggle.js +33 -0
- package/dist/components/toggle.js.map +1 -0
- package/dist/components/toolbar.js +55 -0
- package/dist/components/toolbar.js.map +1 -0
- package/dist/components/tooltip.js +32 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/icons.js +192 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.js +30 -0
- package/dist/primitives/accordion.js +3 -0
- package/dist/primitives/alert-dialog.js +3 -0
- package/dist/primitives/autocomplete.js +3 -0
- package/dist/primitives/avatar.js +3 -0
- package/dist/primitives/button.js +3 -0
- package/dist/primitives/checkbox-group.js +3 -0
- package/dist/primitives/checkbox.js +3 -0
- package/dist/primitives/collapsible.js +3 -0
- package/dist/primitives/combobox.js +3 -0
- package/dist/primitives/context-menu.js +3 -0
- package/dist/primitives/csp-provider.js +3 -0
- package/dist/primitives/dialog.js +3 -0
- package/dist/primitives/direction-provider.js +3 -0
- package/dist/primitives/drawer.js +3 -0
- package/dist/primitives/field.js +3 -0
- package/dist/primitives/fieldset.js +3 -0
- package/dist/primitives/form.js +3 -0
- package/dist/primitives/input.js +3 -0
- package/dist/primitives/menu.js +3 -0
- package/dist/primitives/menubar.js +3 -0
- package/dist/primitives/meter.js +3 -0
- package/dist/primitives/navigation-menu.js +3 -0
- package/dist/primitives/number-field.js +3 -0
- package/dist/primitives/otp-field.js +3 -0
- package/dist/primitives/popover.js +3 -0
- package/dist/primitives/preview-card.js +3 -0
- package/dist/primitives/progress.js +3 -0
- package/dist/primitives/radio-group.js +3 -0
- package/dist/primitives/radio.js +3 -0
- package/dist/primitives/scroll-area.js +3 -0
- package/dist/primitives/select.js +3 -0
- package/dist/primitives/separator.js +3 -0
- package/dist/primitives/slider.js +3 -0
- package/dist/primitives/switch.js +3 -0
- package/dist/primitives/tabs.js +3 -0
- package/dist/primitives/toast.js +3 -0
- package/dist/primitives/toggle-group.js +3 -0
- package/dist/primitives/toggle.js +3 -0
- package/dist/primitives/toolbar.js +3 -0
- package/dist/primitives/tooltip.js +3 -0
- package/dist/primitives.js +84 -0
- package/dist/primitives.js.map +1 -0
- package/dist/src/components/accordion/accordion.d.ts +24 -0
- package/dist/src/components/accordion/index.d.ts +1 -0
- package/dist/src/components/alert-dialog/alert-dialog.d.ts +41 -0
- package/dist/src/components/alert-dialog/index.d.ts +1 -0
- package/dist/src/components/autocomplete/autocomplete.d.ts +38 -0
- package/dist/src/components/autocomplete/index.d.ts +1 -0
- package/dist/src/components/avatar/avatar.d.ts +40 -0
- package/dist/src/components/avatar/index.d.ts +1 -0
- package/dist/src/components/badge/badge.d.ts +63 -0
- package/dist/src/components/badge/index.d.ts +1 -0
- package/dist/src/components/button/button.d.ts +196 -0
- package/dist/src/components/button/close-button.d.ts +28 -0
- package/dist/src/components/button/index.d.ts +2 -0
- package/dist/src/components/checkbox/checkbox-group.d.ts +15 -0
- package/dist/src/components/checkbox/checkbox.d.ts +20 -0
- package/dist/src/components/checkbox/index.d.ts +2 -0
- package/dist/src/components/collapsible/collapsible.d.ts +20 -0
- package/dist/src/components/collapsible/index.d.ts +1 -0
- package/dist/src/components/combobox/combobox.d.ts +49 -0
- package/dist/src/components/combobox/index.d.ts +1 -0
- package/dist/src/components/context-menu/context-menu.d.ts +34 -0
- package/dist/src/components/context-menu/index.d.ts +1 -0
- package/dist/src/components/dialog/dialog.d.ts +41 -0
- package/dist/src/components/dialog/index.d.ts +1 -0
- package/dist/src/components/drawer/drawer.d.ts +32 -0
- package/dist/src/components/drawer/index.d.ts +1 -0
- package/dist/src/components/field/field.d.ts +27 -0
- package/dist/src/components/field/index.d.ts +1 -0
- package/dist/src/components/fieldset/fieldset.d.ts +18 -0
- package/dist/src/components/fieldset/index.d.ts +1 -0
- package/dist/src/components/form/form.d.ts +14 -0
- package/dist/src/components/form/index.d.ts +1 -0
- package/dist/src/components/input/index.d.ts +1 -0
- package/dist/src/components/input/input.d.ts +30 -0
- package/dist/src/components/kbd/index.d.ts +1 -0
- package/dist/src/components/kbd/kbd.d.ts +18 -0
- package/dist/src/components/menu/index.d.ts +1 -0
- package/dist/src/components/menu/menu.d.ts +47 -0
- package/dist/src/components/menubar/index.d.ts +1 -0
- package/dist/src/components/menubar/menubar.d.ts +14 -0
- package/dist/src/components/meter/index.d.ts +1 -0
- package/dist/src/components/meter/meter.d.ts +24 -0
- package/dist/src/components/navigation-menu/index.d.ts +1 -0
- package/dist/src/components/navigation-menu/navigation-menu.d.ts +35 -0
- package/dist/src/components/notification/index.d.ts +1 -0
- package/dist/src/components/notification/notification.d.ts +73 -0
- package/dist/src/components/number-field/index.d.ts +1 -0
- package/dist/src/components/number-field/number-field.d.ts +28 -0
- package/dist/src/components/otp-field/index.d.ts +1 -0
- package/dist/src/components/otp-field/otp-field.d.ts +17 -0
- package/dist/src/components/popover/index.d.ts +1 -0
- package/dist/src/components/popover/popover.d.ts +27 -0
- package/dist/src/components/preview-card/index.d.ts +1 -0
- package/dist/src/components/preview-card/preview-card.d.ts +22 -0
- package/dist/src/components/progress/index.d.ts +1 -0
- package/dist/src/components/progress/progress.d.ts +24 -0
- package/dist/src/components/radio-group/index.d.ts +1 -0
- package/dist/src/components/radio-group/radio-group.d.ts +28 -0
- package/dist/src/components/scroll-area/index.d.ts +1 -0
- package/dist/src/components/scroll-area/scroll-area.d.ts +25 -0
- package/dist/src/components/select/index.d.ts +1 -0
- package/dist/src/components/select/select.d.ts +36 -0
- package/dist/src/components/separator/index.d.ts +1 -0
- package/dist/src/components/separator/separator.d.ts +14 -0
- package/dist/src/components/slider/index.d.ts +1 -0
- package/dist/src/components/slider/slider.d.ts +30 -0
- package/dist/src/components/switch/index.d.ts +1 -0
- package/dist/src/components/switch/switch.d.ts +18 -0
- package/dist/src/components/tabs/index.d.ts +1 -0
- package/dist/src/components/tabs/tabs.d.ts +24 -0
- package/dist/src/components/toast/index.d.ts +1 -0
- package/dist/src/components/toast/toast.d.ts +34 -0
- package/dist/src/components/toggle/index.d.ts +1 -0
- package/dist/src/components/toggle/toggle.d.ts +33 -0
- package/dist/src/components/toggle-group/index.d.ts +1 -0
- package/dist/src/components/toggle-group/toggle-group.d.ts +15 -0
- package/dist/src/components/toolbar/index.d.ts +1 -0
- package/dist/src/components/toolbar/toolbar.d.ts +28 -0
- package/dist/src/components/tooltip/index.d.ts +1 -0
- package/dist/src/components/tooltip/tooltip.d.ts +23 -0
- package/dist/src/icons/discord.d.ts +3 -0
- package/dist/src/icons/github.d.ts +3 -0
- package/dist/src/icons/google.d.ts +3 -0
- package/dist/src/icons/imessage.d.ts +3 -0
- package/dist/src/icons/index.d.ts +18 -0
- package/dist/src/icons/photon-mark.d.ts +3 -0
- package/dist/src/icons/reddit.d.ts +3 -0
- package/dist/src/icons/slack.d.ts +3 -0
- package/dist/src/icons/telegram.d.ts +3 -0
- package/dist/src/icons/whatsapp.d.ts +3 -0
- package/dist/src/icons/x.d.ts +3 -0
- package/dist/src/icons/youtube.d.ts +3 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/primitives/accordion.d.ts +5 -0
- package/dist/src/primitives/alert-dialog.d.ts +5 -0
- package/dist/src/primitives/autocomplete.d.ts +5 -0
- package/dist/src/primitives/avatar.d.ts +5 -0
- package/dist/src/primitives/button.d.ts +5 -0
- package/dist/src/primitives/checkbox-group.d.ts +5 -0
- package/dist/src/primitives/checkbox.d.ts +5 -0
- package/dist/src/primitives/collapsible.d.ts +5 -0
- package/dist/src/primitives/combobox.d.ts +5 -0
- package/dist/src/primitives/context-menu.d.ts +5 -0
- package/dist/src/primitives/csp-provider.d.ts +5 -0
- package/dist/src/primitives/dialog.d.ts +5 -0
- package/dist/src/primitives/direction-provider.d.ts +5 -0
- package/dist/src/primitives/drawer.d.ts +5 -0
- package/dist/src/primitives/field.d.ts +5 -0
- package/dist/src/primitives/fieldset.d.ts +5 -0
- package/dist/src/primitives/form.d.ts +5 -0
- package/dist/src/primitives/index.d.ts +44 -0
- package/dist/src/primitives/input.d.ts +5 -0
- package/dist/src/primitives/menu.d.ts +5 -0
- package/dist/src/primitives/menubar.d.ts +5 -0
- package/dist/src/primitives/meter.d.ts +5 -0
- package/dist/src/primitives/navigation-menu.d.ts +5 -0
- package/dist/src/primitives/number-field.d.ts +5 -0
- package/dist/src/primitives/otp-field.d.ts +5 -0
- package/dist/src/primitives/popover.d.ts +5 -0
- package/dist/src/primitives/preview-card.d.ts +5 -0
- package/dist/src/primitives/progress.d.ts +5 -0
- package/dist/src/primitives/radio-group.d.ts +5 -0
- package/dist/src/primitives/radio.d.ts +5 -0
- package/dist/src/primitives/scroll-area.d.ts +5 -0
- package/dist/src/primitives/select.d.ts +5 -0
- package/dist/src/primitives/separator.d.ts +5 -0
- package/dist/src/primitives/slider.d.ts +5 -0
- package/dist/src/primitives/switch.d.ts +5 -0
- package/dist/src/primitives/tabs.d.ts +5 -0
- package/dist/src/primitives/toast.d.ts +5 -0
- package/dist/src/primitives/toggle-group.d.ts +5 -0
- package/dist/src/primitives/toggle.d.ts +5 -0
- package/dist/src/primitives/toolbar.d.ts +5 -0
- package/dist/src/primitives/tooltip.d.ts +5 -0
- package/dist/src/utils/cn.d.ts +3 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/is-react-component.d.ts +9 -0
- package/dist/src/utils/link-provider.d.ts +17 -0
- package/dist/src/utils/resolve-variant.d.ts +19 -0
- package/dist/utils.js +11 -0
- package/package.json +406 -0
- package/src/styles/fonts.css +20 -0
- package/src/styles/pho.css +50 -0
- package/src/styles/theme.css +289 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Menu as BaseMenu } from '@base-ui/react/menu';
|
|
3
|
+
import { Separator as BaseSeparator } from '@base-ui/react/separator';
|
|
4
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
5
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
/** Shared popup + item styles, reused by `ContextMenu` and `Menubar` menus. */
|
|
9
|
+
export declare const MENU_POPUP = "squircle bg-pho-primary text-pho-primary shadow-pho-lg ring-pho-interactive origin-[var(--transform-origin)] min-w-44 rounded-xl p-1 ring-1 ring-inset outline-none transition-[transform,opacity] duration-150 ease-out data-[starting-style]:scale-95 data-[starting-style]:opacity-0 data-[ending-style]:scale-95 data-[ending-style]:opacity-0";
|
|
10
|
+
export declare const MENU_ITEM = "relative flex cursor-pointer items-center gap-2 rounded-lg py-1.5 pr-2.5 pl-2.5 text-sm text-pho-secondary outline-none select-none data-[highlighted]:bg-pho-secondary data-[highlighted]:text-pho-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:text-fg-pho-quaternary";
|
|
11
|
+
declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BaseMenu.Positioner>): import("react").JSX.Element;
|
|
12
|
+
declare function Popup({ className, ...props }: StyledProps<typeof BaseMenu.Popup>): import("react").JSX.Element;
|
|
13
|
+
declare function Item({ className, ...props }: StyledProps<typeof BaseMenu.Item>): import("react").JSX.Element;
|
|
14
|
+
declare function LinkItem({ className, ...props }: StyledProps<typeof BaseMenu.LinkItem>): import("react").JSX.Element;
|
|
15
|
+
declare function GroupLabel({ className, ...props }: StyledProps<typeof BaseMenu.GroupLabel>): import("react").JSX.Element;
|
|
16
|
+
declare function Separator({ className, ...props }: StyledProps<typeof BaseSeparator>): import("react").JSX.Element;
|
|
17
|
+
declare function SubmenuTrigger({ className, ...props }: StyledProps<typeof BaseMenu.SubmenuTrigger>): import("react").JSX.Element;
|
|
18
|
+
declare function CheckboxItem({ className, ...props }: StyledProps<typeof BaseMenu.CheckboxItem>): import("react").JSX.Element;
|
|
19
|
+
declare function RadioItem({ className, ...props }: StyledProps<typeof BaseMenu.RadioItem>): import("react").JSX.Element;
|
|
20
|
+
declare function CheckboxItemIndicator({ className, ...props }: StyledProps<typeof BaseMenu.CheckboxItemIndicator>): import("react").JSX.Element;
|
|
21
|
+
declare function RadioItemIndicator({ className, ...props }: StyledProps<typeof BaseMenu.RadioItemIndicator>): import("react").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Dropdown menu built on Base UI `Menu` — a list of actions opened from a
|
|
24
|
+
* trigger. Supports grouped items, separators, submenus
|
|
25
|
+
* (`SubmenuRoot` + `SubmenuTrigger`), and stateful `CheckboxItem` /
|
|
26
|
+
* `RadioItem`s. For a right-click menu use `ContextMenu`.
|
|
27
|
+
*/
|
|
28
|
+
export declare const Menu: {
|
|
29
|
+
Root: <Payload>(props: BaseMenu.Root.Props<Payload>) => import("react").JSX.Element;
|
|
30
|
+
Trigger: BaseMenu.Trigger;
|
|
31
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
32
|
+
Positioner: typeof Positioner;
|
|
33
|
+
Popup: typeof Popup;
|
|
34
|
+
Item: typeof Item;
|
|
35
|
+
LinkItem: typeof LinkItem;
|
|
36
|
+
Group: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ContextMenuGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
37
|
+
GroupLabel: typeof GroupLabel;
|
|
38
|
+
Separator: typeof Separator;
|
|
39
|
+
SubmenuRoot: typeof BaseMenu.SubmenuRoot;
|
|
40
|
+
SubmenuTrigger: typeof SubmenuTrigger;
|
|
41
|
+
CheckboxItem: typeof CheckboxItem;
|
|
42
|
+
CheckboxItemIndicator: typeof CheckboxItemIndicator;
|
|
43
|
+
RadioGroup: import('react').NamedExoticComponent<Omit<import('@base-ui/react').ContextMenuRadioGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
44
|
+
RadioItem: typeof RadioItem;
|
|
45
|
+
RadioItemIndicator: typeof RadioItemIndicator;
|
|
46
|
+
};
|
|
47
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Menubar, type MenubarProps } from './menubar';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Menubar as BaseMenubar } from '@base-ui/react/menubar';
|
|
3
|
+
export interface MenubarProps extends Omit<ComponentProps<typeof BaseMenubar>, "className"> {
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Horizontal bar of top-level menus, built on Base UI `Menubar` — the classic
|
|
8
|
+
* desktop-app menu strip (File / Edit / View). Place `Menu` components inside;
|
|
9
|
+
* the menubar coordinates roving focus and lets open menus switch on hover.
|
|
10
|
+
*/
|
|
11
|
+
export declare function Menubar({ className, ...props }: MenubarProps): import("react").JSX.Element;
|
|
12
|
+
export declare namespace Menubar {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Meter } from './meter';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Meter as BaseMeter } from '@base-ui/react/meter';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseMeter.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function Label({ className, ...props }: StyledProps<typeof BaseMeter.Label>): import("react").JSX.Element;
|
|
9
|
+
declare function Value({ className, ...props }: StyledProps<typeof BaseMeter.Value>): import("react").JSX.Element;
|
|
10
|
+
declare function Track({ className, ...props }: StyledProps<typeof BaseMeter.Track>): import("react").JSX.Element;
|
|
11
|
+
declare function Indicator({ className, ...props }: StyledProps<typeof BaseMeter.Indicator>): import("react").JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* Meter built on Base UI `Meter`. Unlike `Progress`, a meter shows a static
|
|
14
|
+
* measurement within a known range (disk usage, score, capacity) rather than
|
|
15
|
+
* task completion. Set `value` on `Meter.Root`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Meter: {
|
|
18
|
+
Root: typeof Root;
|
|
19
|
+
Label: typeof Label;
|
|
20
|
+
Value: typeof Value;
|
|
21
|
+
Track: typeof Track;
|
|
22
|
+
Indicator: typeof Indicator;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NavigationMenu } from './navigation-menu';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { NavigationMenu as BaseNav } from '@base-ui/react/navigation-menu';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseNav.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function List({ className, ...props }: StyledProps<typeof BaseNav.List>): import("react").JSX.Element;
|
|
9
|
+
declare function Trigger({ className, ...props }: StyledProps<typeof BaseNav.Trigger>): import("react").JSX.Element;
|
|
10
|
+
declare function Content({ className, ...props }: StyledProps<typeof BaseNav.Content>): import("react").JSX.Element;
|
|
11
|
+
declare function Link({ className, ...props }: StyledProps<typeof BaseNav.Link>): import("react").JSX.Element;
|
|
12
|
+
declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BaseNav.Positioner>): import("react").JSX.Element;
|
|
13
|
+
declare function Popup({ className, ...props }: StyledProps<typeof BaseNav.Popup>): import("react").JSX.Element;
|
|
14
|
+
declare function Viewport({ className, ...props }: StyledProps<typeof BaseNav.Viewport>): import("react").JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* Site navigation menu built on Base UI `NavigationMenu` — a horizontal bar
|
|
17
|
+
* whose items open animated dropdown panels that resize to their content. Each
|
|
18
|
+
* `Item` pairs a `Trigger` with `Content` (rendered into the shared
|
|
19
|
+
* `Viewport`). Use it for primary site nav with grouped links; for app action
|
|
20
|
+
* menus use `Menu`.
|
|
21
|
+
*/
|
|
22
|
+
export declare const NavigationMenu: {
|
|
23
|
+
Root: typeof Root;
|
|
24
|
+
List: typeof List;
|
|
25
|
+
Item: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').NavigationMenuItemProps, "ref"> & import('react').RefAttributes<HTMLLIElement>>;
|
|
26
|
+
Trigger: typeof Trigger;
|
|
27
|
+
Content: typeof Content;
|
|
28
|
+
Link: typeof Link;
|
|
29
|
+
Icon: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').NavigationMenuIconProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
|
|
30
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').NavigationMenuPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
31
|
+
Positioner: typeof Positioner;
|
|
32
|
+
Popup: typeof Popup;
|
|
33
|
+
Viewport: typeof Viewport;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Notification, NOTIFICATION_COLORS, type NotificationColor, type NotificationProps, } from './notification';
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode, Ref } from 'react';
|
|
2
|
+
import { Icon } from '@phosphor-icons/react';
|
|
3
|
+
/**
|
|
4
|
+
* Design notes (Geist-aligned):
|
|
5
|
+
* - ONE closed, semantic axis: `color`. It selects a status glyph *and* its
|
|
6
|
+
* tint together — you never pick an icon and a color separately. This is the
|
|
7
|
+
* `IconNotification` flavor from the app; the unused avatar/image variants of
|
|
8
|
+
* the source family are intentionally dropped.
|
|
9
|
+
* - The action row is a single reduced pair: a brand `confirmLabel` link beside
|
|
10
|
+
* a gray dismiss link. It appears only when there's something to confirm.
|
|
11
|
+
* - `onClose` is the only thing that renders the top-right close button — no
|
|
12
|
+
* separate boolean flag to keep in sync.
|
|
13
|
+
*/
|
|
14
|
+
/** Status color → icon tint. A bare status-tinted glyph, no badge surface. */
|
|
15
|
+
export declare const NOTIFICATION_COLORS: {
|
|
16
|
+
brand: {
|
|
17
|
+
classes: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
gray: {
|
|
21
|
+
classes: string;
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
success: {
|
|
25
|
+
classes: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
warning: {
|
|
29
|
+
classes: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
error: {
|
|
33
|
+
classes: string;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type NotificationColor = keyof typeof NOTIFICATION_COLORS;
|
|
38
|
+
export interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "color"> {
|
|
39
|
+
/** Status color — selects the glyph and its tint. @default "brand" */
|
|
40
|
+
color?: NotificationColor;
|
|
41
|
+
/** Bold heading line. */
|
|
42
|
+
title: ReactNode;
|
|
43
|
+
/** Supporting line under the title. */
|
|
44
|
+
description?: ReactNode;
|
|
45
|
+
/** Confirm action label — renders a brand link paired with a dismiss link. */
|
|
46
|
+
confirmLabel?: string;
|
|
47
|
+
/** Called when the confirm link is clicked. */
|
|
48
|
+
onConfirm?: () => void;
|
|
49
|
+
/** Dismiss link label, shown beside the confirm link. @default "Dismiss" */
|
|
50
|
+
dismissLabel?: string;
|
|
51
|
+
/** Called on dismiss. Its presence also renders the top-right close button. */
|
|
52
|
+
onClose?: () => void;
|
|
53
|
+
/** Override the status glyph while keeping the color's tint. */
|
|
54
|
+
icon?: Icon;
|
|
55
|
+
className?: string;
|
|
56
|
+
ref?: Ref<HTMLDivElement>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Notification — the standalone status card ported from the app's
|
|
60
|
+
* `IconNotification`: a status glyph, a title/description, an optional
|
|
61
|
+
* confirm+dismiss link pair, and an optional close button. It is a *card*, not a
|
|
62
|
+
* lifecycle: it owns its surface but nothing about timing or stacking.
|
|
63
|
+
*
|
|
64
|
+
* For a transient, auto-stacking toast, drop it inside pho-ui's Base UI
|
|
65
|
+
* {@link Toast} — render it as the child of a `Toast.Root` whose own surface you
|
|
66
|
+
* neutralize (`className="bg-transparent p-0 shadow-none ring-0"`) so the
|
|
67
|
+
* manager owns motion and swipe while this card owns the look. For a choice the
|
|
68
|
+
* user must make, use `AlertDialog` instead.
|
|
69
|
+
*/
|
|
70
|
+
export declare function Notification({ color, title, description, confirmLabel, onConfirm, dismissLabel, onClose, icon, className, ref, ...props }: NotificationProps): import("react").JSX.Element;
|
|
71
|
+
export declare namespace Notification {
|
|
72
|
+
var displayName: string;
|
|
73
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NumberField } from './number-field';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { NumberField as BaseNumberField } from '@base-ui/react/number-field';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseNumberField.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function Group({ className, ...props }: StyledProps<typeof BaseNumberField.Group>): import("react").JSX.Element;
|
|
9
|
+
declare function Decrement({ className, ...props }: StyledProps<typeof BaseNumberField.Decrement>): import("react").JSX.Element;
|
|
10
|
+
declare function Increment({ className, ...props }: StyledProps<typeof BaseNumberField.Increment>): import("react").JSX.Element;
|
|
11
|
+
declare function Input({ className, ...props }: StyledProps<typeof BaseNumberField.Input>): import("react").JSX.Element;
|
|
12
|
+
declare function ScrubArea({ className, ...props }: StyledProps<typeof BaseNumberField.ScrubArea>): import("react").JSX.Element;
|
|
13
|
+
/**
|
|
14
|
+
* Numeric input with stepper buttons, built on Base UI `NumberField`. Compose
|
|
15
|
+
* `NumberField.Group` with a `Decrement`, `Input`, and `Increment`; it handles
|
|
16
|
+
* clamping, keyboard step, and pointer scrubbing. Use it over a plain text
|
|
17
|
+
* input whenever the value is a number with a sensible range.
|
|
18
|
+
*/
|
|
19
|
+
export declare const NumberField: {
|
|
20
|
+
Root: typeof Root;
|
|
21
|
+
Group: typeof Group;
|
|
22
|
+
Decrement: typeof Decrement;
|
|
23
|
+
Increment: typeof Increment;
|
|
24
|
+
Input: typeof Input;
|
|
25
|
+
ScrubArea: typeof ScrubArea;
|
|
26
|
+
ScrubAreaCursor: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').NumberFieldScrubAreaCursorProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OtpField, type OtpFieldProps } from './otp-field';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { OTPField as BaseOTPField } from '@base-ui/react/otp-field';
|
|
3
|
+
export interface OtpFieldProps extends Omit<ComponentProps<typeof BaseOTPField.Root>, "className"> {
|
|
4
|
+
/** Class applied to the cell row. */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Number of single-character cells. */
|
|
7
|
+
length: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One-time-code input built on Base UI `OTPField` — a row of single-character
|
|
11
|
+
* cells with paste, arrow-key, and auto-advance handling. Control with `value`
|
|
12
|
+
* / `onValueChange`, or read the completed code via `onValueChange`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function OtpField({ className, length, ...props }: OtpFieldProps): import("react").JSX.Element;
|
|
15
|
+
export declare namespace OtpField {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Popover } from './popover';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Popover as BasePopover } from '@base-ui/react/popover';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BasePopover.Positioner>): import("react").JSX.Element;
|
|
8
|
+
declare function Popup({ className, ...props }: StyledProps<typeof BasePopover.Popup>): import("react").JSX.Element;
|
|
9
|
+
declare function Title({ className, ...props }: StyledProps<typeof BasePopover.Title>): import("react").JSX.Element;
|
|
10
|
+
declare function Description({ className, ...props }: StyledProps<typeof BasePopover.Description>): import("react").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Popover built on Base UI `Popover` — a click-triggered floating panel
|
|
13
|
+
* anchored to its trigger, for rich, interactive content (forms, menus of
|
|
14
|
+
* actions, details). Unlike a `Tooltip`, it can hold focusable controls and is
|
|
15
|
+
* dismissed by clicking away or pressing Escape.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Popover: {
|
|
18
|
+
Root: typeof BasePopover.Root;
|
|
19
|
+
Trigger: BasePopover.Trigger;
|
|
20
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').PopoverPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
21
|
+
Positioner: typeof Positioner;
|
|
22
|
+
Popup: typeof Popup;
|
|
23
|
+
Title: typeof Title;
|
|
24
|
+
Description: typeof Description;
|
|
25
|
+
Close: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').PopoverCloseProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PreviewCard } from './preview-card';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { PreviewCard as BasePreviewCard } from '@base-ui/react/preview-card';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BasePreviewCard.Positioner>): import("react").JSX.Element;
|
|
8
|
+
declare function Popup({ className, ...props }: StyledProps<typeof BasePreviewCard.Popup>): import("react").JSX.Element;
|
|
9
|
+
/**
|
|
10
|
+
* Preview card built on Base UI `PreviewCard` — a hover-triggered card that
|
|
11
|
+
* previews what's behind a link (a profile, a repo, an article). Like a
|
|
12
|
+
* `Tooltip` it opens on hover/focus, but it holds richer, non-essential
|
|
13
|
+
* content. Keep the underlying link fully usable without opening the card.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PreviewCard: {
|
|
16
|
+
Root: <Payload>(props: BasePreviewCard.Root.Props<Payload>) => import("react").JSX.Element;
|
|
17
|
+
Trigger: BasePreviewCard.Trigger;
|
|
18
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').PreviewCardPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
19
|
+
Positioner: typeof Positioner;
|
|
20
|
+
Popup: typeof Popup;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Progress } from './progress';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Progress as BaseProgress } from '@base-ui/react/progress';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseProgress.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function Label({ className, ...props }: StyledProps<typeof BaseProgress.Label>): import("react").JSX.Element;
|
|
9
|
+
declare function Value({ className, ...props }: StyledProps<typeof BaseProgress.Value>): import("react").JSX.Element;
|
|
10
|
+
declare function Track({ className, ...props }: StyledProps<typeof BaseProgress.Track>): import("react").JSX.Element;
|
|
11
|
+
declare function Indicator({ className, ...props }: StyledProps<typeof BaseProgress.Indicator>): import("react").JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* Determinate progress bar built on Base UI `Progress`. Set `value` (0–100, or
|
|
14
|
+
* `null` for indeterminate) on `Progress.Root`; Base UI sizes the indicator.
|
|
15
|
+
* Compose a header row with `Progress.Label` + `Progress.Value`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Progress: {
|
|
18
|
+
Root: typeof Root;
|
|
19
|
+
Label: typeof Label;
|
|
20
|
+
Value: typeof Value;
|
|
21
|
+
Track: typeof Track;
|
|
22
|
+
Indicator: typeof Indicator;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RadioGroup, Radio, type RadioGroupProps, type RadioProps, } from './radio-group';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
import { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';
|
|
3
|
+
import { Radio as BaseRadio } from '@base-ui/react/radio';
|
|
4
|
+
export interface RadioGroupProps extends Omit<ComponentProps<typeof BaseRadioGroup>, "className"> {
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Single-choice group built on Base UI `RadioGroup`. Holds `Radio` items;
|
|
9
|
+
* exactly one may be selected. Control with `value` / `onValueChange` or leave
|
|
10
|
+
* uncontrolled with `defaultValue`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function RadioGroup({ className, ...props }: RadioGroupProps): import("react").JSX.Element;
|
|
13
|
+
export declare namespace RadioGroup {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
export interface RadioProps extends Omit<ComponentProps<typeof BaseRadio.Root>, "className"> {
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Text rendered beside the dot; the whole row selects this option. */
|
|
19
|
+
label?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A single option within a `RadioGroup`. Requires a `value`; pass `label` for a
|
|
23
|
+
* clickable text row or provide an `aria-label`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function Radio({ className, label, ...props }: RadioProps): import("react").JSX.Element;
|
|
26
|
+
export declare namespace Radio {
|
|
27
|
+
var displayName: string;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ScrollArea } from './scroll-area';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { ScrollArea as BaseScrollArea } from '@base-ui/react/scroll-area';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseScrollArea.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function Viewport({ className, ...props }: StyledProps<typeof BaseScrollArea.Viewport>): import("react").JSX.Element;
|
|
9
|
+
declare function Scrollbar({ className, ...props }: StyledProps<typeof BaseScrollArea.Scrollbar>): import("react").JSX.Element;
|
|
10
|
+
declare function Thumb({ className, ...props }: StyledProps<typeof BaseScrollArea.Thumb>): import("react").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Scroll area built on Base UI `ScrollArea` — a region with custom, overlay
|
|
13
|
+
* scrollbars that match the design system instead of the native ones. Give
|
|
14
|
+
* `ScrollArea.Root` a fixed size; put scrollable content in `Viewport` →
|
|
15
|
+
* `Content` and add a `Scrollbar` → `Thumb` per axis.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ScrollArea: {
|
|
18
|
+
Root: typeof Root;
|
|
19
|
+
Viewport: typeof Viewport;
|
|
20
|
+
Content: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ScrollAreaContentProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
21
|
+
Scrollbar: typeof Scrollbar;
|
|
22
|
+
Thumb: typeof Thumb;
|
|
23
|
+
Corner: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ScrollAreaCornerProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Select } from './select';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Select as BaseSelect } from '@base-ui/react/select';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Trigger({ className, ...props }: StyledProps<typeof BaseSelect.Trigger>): import("react").JSX.Element;
|
|
8
|
+
declare function Icon({ className, ...props }: StyledProps<typeof BaseSelect.Icon>): import("react").JSX.Element;
|
|
9
|
+
declare function Positioner({ className, sideOffset, ...props }: StyledProps<typeof BaseSelect.Positioner>): import("react").JSX.Element;
|
|
10
|
+
declare function Popup({ className, ...props }: StyledProps<typeof BaseSelect.Popup>): import("react").JSX.Element;
|
|
11
|
+
declare function Item({ className, ...props }: StyledProps<typeof BaseSelect.Item>): import("react").JSX.Element;
|
|
12
|
+
declare function ItemIndicator({ className, ...props }: StyledProps<typeof BaseSelect.ItemIndicator>): import("react").JSX.Element;
|
|
13
|
+
declare function GroupLabel({ className, ...props }: StyledProps<typeof BaseSelect.GroupLabel>): import("react").JSX.Element;
|
|
14
|
+
/**
|
|
15
|
+
* Select built on Base UI `Select` — pick one option (or several with
|
|
16
|
+
* `multiple`) from a list that opens on click. Pass `items` to `Select.Root`,
|
|
17
|
+
* render an `Item` per option, and show the selection with `Select.Value`. For
|
|
18
|
+
* a short, always-visible set use `RadioGroup`; to filter a long list by typing
|
|
19
|
+
* use `Combobox`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Select: {
|
|
22
|
+
Root: typeof BaseSelect.Root;
|
|
23
|
+
Trigger: typeof Trigger;
|
|
24
|
+
Value: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SelectValueProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
|
|
25
|
+
Icon: typeof Icon;
|
|
26
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SelectPortalProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
27
|
+
Positioner: typeof Positioner;
|
|
28
|
+
Popup: typeof Popup;
|
|
29
|
+
List: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SelectListProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
30
|
+
Item: typeof Item;
|
|
31
|
+
ItemText: import('react').NamedExoticComponent<Omit<import('@base-ui/react').SelectItemTextProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
32
|
+
ItemIndicator: typeof ItemIndicator;
|
|
33
|
+
Group: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').SelectGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
34
|
+
GroupLabel: typeof GroupLabel;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Separator, type SeparatorProps } from './separator';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Separator as BaseSeparator } from '@base-ui/react/separator';
|
|
3
|
+
export interface SeparatorProps extends Omit<ComponentProps<typeof BaseSeparator>, "className"> {
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* A thin rule that divides content. Built on Base UI `Separator`. For a
|
|
8
|
+
* vertical rule set `orientation="vertical"` — the parent must give it height
|
|
9
|
+
* (e.g. a flex row with `items-stretch`).
|
|
10
|
+
*/
|
|
11
|
+
export declare function Separator({ className, ...props }: SeparatorProps): import("react").JSX.Element;
|
|
12
|
+
export declare namespace Separator {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Slider } from './slider';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Slider as BaseSlider } from '@base-ui/react/slider';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseSlider.Root>): import("react").JSX.Element;
|
|
8
|
+
declare function Label({ className, ...props }: StyledProps<typeof BaseSlider.Label>): import("react").JSX.Element;
|
|
9
|
+
declare function Value({ className, ...props }: StyledProps<typeof BaseSlider.Value>): import("react").JSX.Element;
|
|
10
|
+
declare function Control({ className, ...props }: StyledProps<typeof BaseSlider.Control>): import("react").JSX.Element;
|
|
11
|
+
declare function Track({ className, ...props }: StyledProps<typeof BaseSlider.Track>): import("react").JSX.Element;
|
|
12
|
+
declare function Indicator({ className, ...props }: StyledProps<typeof BaseSlider.Indicator>): import("react").JSX.Element;
|
|
13
|
+
declare function Thumb({ className, ...props }: StyledProps<typeof BaseSlider.Thumb>): import("react").JSX.Element;
|
|
14
|
+
/**
|
|
15
|
+
* Slider built on Base UI `Slider` for picking a number (or range) along a
|
|
16
|
+
* track. Compose a header with `Slider.Label` + `Slider.Value`, then
|
|
17
|
+
* `Slider.Control` → `Track` → `Indicator` + `Thumb`. Set `value` /
|
|
18
|
+
* `defaultValue`, `min`, `max`, `step` on `Slider.Root`. For a precise typed
|
|
19
|
+
* number, prefer `NumberField`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Slider: {
|
|
22
|
+
Root: typeof Root;
|
|
23
|
+
Label: typeof Label;
|
|
24
|
+
Value: typeof Value;
|
|
25
|
+
Control: typeof Control;
|
|
26
|
+
Track: typeof Track;
|
|
27
|
+
Indicator: typeof Indicator;
|
|
28
|
+
Thumb: typeof Thumb;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Switch, type SwitchProps, type SwitchSize } from './switch';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Switch as BaseSwitch } from '@base-ui/react/switch';
|
|
3
|
+
export type SwitchSize = "sm" | "md";
|
|
4
|
+
export interface SwitchProps extends Omit<ComponentProps<typeof BaseSwitch.Root>, "className"> {
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Size variant. @default "md" */
|
|
7
|
+
size?: SwitchSize;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* On/off toggle built on Base UI `Switch`. Use a switch for a setting that
|
|
11
|
+
* takes effect immediately; use a `Checkbox` for a value confirmed on submit.
|
|
12
|
+
* Controlled via `checked` / `onCheckedChange` or uncontrolled via
|
|
13
|
+
* `defaultChecked`. Always provide a label or `aria-label`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function Switch({ className, size, ...props }: SwitchProps): import("react").JSX.Element;
|
|
16
|
+
export declare namespace Switch {
|
|
17
|
+
var displayName: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Tabs } from './tabs';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Tabs as BaseTabs } from '@base-ui/react/tabs';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function List({ className, ...props }: StyledProps<typeof BaseTabs.List>): import("react").JSX.Element;
|
|
8
|
+
declare function Tab({ className, ...props }: StyledProps<typeof BaseTabs.Tab>): import("react").JSX.Element;
|
|
9
|
+
declare function Indicator({ className, ...props }: StyledProps<typeof BaseTabs.Indicator>): import("react").JSX.Element;
|
|
10
|
+
declare function Panel({ className, ...props }: StyledProps<typeof BaseTabs.Panel>): import("react").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Tabbed sections built on Base UI `Tabs`, with an underline `Indicator` that
|
|
13
|
+
* slides to the active tab. Each `Tabs.Tab` and `Tabs.Panel` share a `value`.
|
|
14
|
+
* Control with `value` / `onValueChange` or leave uncontrolled via
|
|
15
|
+
* `defaultValue`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Tabs: {
|
|
18
|
+
Root: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').TabsRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
19
|
+
List: typeof List;
|
|
20
|
+
Tab: typeof Tab;
|
|
21
|
+
Indicator: typeof Indicator;
|
|
22
|
+
Panel: typeof Panel;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Toast } from './toast';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ComponentProps, ElementType } from 'react';
|
|
2
|
+
import { Toast as BaseToast } from '@base-ui/react/toast';
|
|
3
|
+
/** Override Base UI's `string | (state) => string` className with plain string. */
|
|
4
|
+
type StyledProps<T extends ElementType> = Omit<ComponentProps<T>, "className"> & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
declare function Viewport({ className, ...props }: StyledProps<typeof BaseToast.Viewport>): import("react").JSX.Element;
|
|
8
|
+
declare function Root({ className, ...props }: StyledProps<typeof BaseToast.Root>): import("react").JSX.Element;
|
|
9
|
+
declare function Content({ className, ...props }: StyledProps<typeof BaseToast.Content>): import("react").JSX.Element;
|
|
10
|
+
declare function Title({ className, ...props }: StyledProps<typeof BaseToast.Title>): import("react").JSX.Element;
|
|
11
|
+
declare function Description({ className, ...props }: StyledProps<typeof BaseToast.Description>): import("react").JSX.Element;
|
|
12
|
+
declare function Close({ className, ...props }: StyledProps<typeof BaseToast.Close>): import("react").JSX.Element;
|
|
13
|
+
/**
|
|
14
|
+
* Toast built on Base UI `Toast` — a transient, non-blocking notification.
|
|
15
|
+
* Wrap your app in `Toast.Provider`, render a `Toast.Portal` → `Viewport` that
|
|
16
|
+
* maps `useToastManager().toasts` to `Toast.Root`s, then call
|
|
17
|
+
* `useToastManager().add({ title, description })` to show one. Use a toast for
|
|
18
|
+
* confirmation of a background action; for a choice the user must make, use
|
|
19
|
+
* `AlertDialog`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Toast: {
|
|
22
|
+
Provider: import('react').FC<import('@base-ui/react').ToastProviderProps>;
|
|
23
|
+
Portal: import('react').ForwardRefExoticComponent<Omit<import("node_modules/@base-ui/react/utils/FloatingPortalLite.mjs").FloatingPortalLite.Props<any>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
24
|
+
Viewport: typeof Viewport;
|
|
25
|
+
Root: typeof Root;
|
|
26
|
+
Content: typeof Content;
|
|
27
|
+
Title: typeof Title;
|
|
28
|
+
Description: typeof Description;
|
|
29
|
+
Close: typeof Close;
|
|
30
|
+
Action: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').ToastActionProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
31
|
+
useToastManager: typeof BaseToast.useToastManager;
|
|
32
|
+
createToastManager: typeof BaseToast.createToastManager;
|
|
33
|
+
};
|
|
34
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Toggle, TOGGLE_SIZES, type ToggleProps, type ToggleSize, } from './toggle';
|