@umami/react-zen 0.237.0 → 0.239.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/dist/index.d.mts CHANGED
@@ -399,7 +399,7 @@ interface ContainerProps extends BoxProps {
399
399
  declare function Container({ isCentered, isFluid, className, children, ...props }: ContainerProps): react_jsx_runtime.JSX.Element;
400
400
 
401
401
  interface CopyButtonProps {
402
- value?: string;
402
+ value?: string | (() => string);
403
403
  timeout?: number;
404
404
  className?: string;
405
405
  children?: ReactNode;
@@ -563,14 +563,19 @@ declare function useBreakpoint(): BreakpointKey | null;
563
563
  declare function useDebounce(value: string, delay: number): string;
564
564
 
565
565
  type Theme = 'light' | 'dark';
566
+ type Palette = 'neutral' | 'slate' | 'gray' | 'zinc' | 'stone';
567
+ declare const PALETTES: Palette[];
566
568
  interface ThemeState {
567
569
  theme: Theme;
570
+ palette: Palette;
568
571
  setTheme: (theme: Theme) => void;
572
+ setPalette: (palette: Palette) => void;
569
573
  syncTheme: () => void;
570
574
  initTheme: (preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system') => void;
575
+ initPalette: (preferred?: Palette) => void;
571
576
  }
572
577
  declare const useTheme: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
573
- declare function useInitTheme(preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system'): void;
578
+ declare function useInitTheme(preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system', preferredPalette?: Palette): void;
574
579
 
575
580
  type ToastVariant = 'success' | 'error';
576
581
  interface ToastOptions {
@@ -604,16 +609,6 @@ interface IconProps extends Omit<HTMLAttributes<HTMLElement>, 'color' | 'size'>
604
609
  }
605
610
  declare function Icon({ color, size, variant, rotate, strokeWidth, strokeColor, fillColor, style, className, children, ...props }: IconProps): react_jsx_runtime.JSX.Element;
606
611
 
607
- interface IconLabelProps extends RowProps {
608
- children?: ReactNode;
609
- icon: ReactNode;
610
- label?: ReactNode;
611
- iconProps?: IconProps;
612
- labelProps?: TextProps;
613
- showLabel?: boolean;
614
- }
615
- declare function IconLabel({ icon, label, iconProps, labelProps, showLabel, children, ...props }: IconLabelProps): react_jsx_runtime.JSX.Element;
616
-
617
612
  interface ImageProps extends HTMLAttributes<HTMLImageElement> {
618
613
  src: string;
619
614
  alt?: string;
@@ -751,21 +746,10 @@ interface NavbarItemProps extends HTMLAttributes<HTMLElement> {
751
746
  }
752
747
  declare function NavbarItem({ label, children, className, color: _color, ...props }: NavbarItemProps): react_jsx_runtime.JSX.Element;
753
748
 
754
- interface NavMenuProps extends ColumnProps {
755
- muteItems?: boolean;
756
- onItemClick?: () => void;
757
- }
758
- declare function NavMenu({ muteItems, onItemClick, className, children, ...props }: NavMenuProps): react_jsx_runtime.JSX.Element;
759
- interface NavMenuGroupProps extends ColumnProps {
760
- title?: string;
761
- allowMinimize?: boolean;
762
- isMinimized?: boolean;
763
- }
764
- declare function NavMenuGroup({ title, allowMinimize, isMinimized, className, children, ...props }: NavMenuGroupProps): react_jsx_runtime.JSX.Element;
765
- interface NavMenuItemProps extends RowProps {
766
- isSelected?: boolean;
749
+ interface PaletteSwitcherProps {
750
+ className?: string;
767
751
  }
768
- declare function NavMenuItem({ isSelected, className, children, ...props }: NavMenuItemProps): react_jsx_runtime.JSX.Element;
752
+ declare function PaletteSwitcher({ className }: PaletteSwitcherProps): react_jsx_runtime.JSX.Element;
769
753
 
770
754
  interface PasswordFieldProps extends TextFieldProps$1 {
771
755
  label?: string;
@@ -831,29 +815,6 @@ interface SelectProps extends SelectProps$1<HTMLSelectElement> {
831
815
  }
832
816
  declare function Select({ items, value, defaultValue, label, isLoading, allowSearch, searchValue, searchDelay, isFullscreen, maxHeight, onSearch, onChange, buttonProps, listProps, popoverProps, renderValue, className, children, ...props }: SelectProps): react_jsx_runtime.JSX.Element;
833
817
 
834
- interface SidebarProps extends ColumnProps {
835
- isCollapsed?: boolean;
836
- muteItems?: boolean;
837
- children?: ReactNode;
838
- }
839
- declare function Sidebar({ isCollapsed, muteItems, className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
840
- declare function SidebarSection({ title, className, children, ...props }: {
841
- title?: string;
842
- children: ReactNode;
843
- } & ColumnProps): react_jsx_runtime.JSX.Element;
844
- declare function SidebarHeader({ label, icon, className, children, ...props }: {
845
- label: string;
846
- icon?: ReactNode;
847
- children?: ReactNode;
848
- } & RowProps): react_jsx_runtime.JSX.Element;
849
- interface SidebarItemProps extends RowProps {
850
- isSelected?: boolean;
851
- }
852
- declare function SidebarItem({ label, icon, isSelected, className, children, ...props }: {
853
- label?: string;
854
- icon?: ReactNode;
855
- } & SidebarItemProps): react_jsx_runtime.JSX.Element;
856
-
857
818
  interface SliderProps extends SliderProps$1 {
858
819
  label?: ReactNode;
859
820
  showValue?: boolean;
@@ -970,9 +931,10 @@ declare function ToastProvider({ children, ...props }: ToastProviderProps): reac
970
931
  interface ZenProviderProps {
971
932
  theme?: Theme;
972
933
  colorScheme?: 'light' | 'dark' | 'system';
934
+ palette?: Palette;
973
935
  toast?: ToasterProps;
974
936
  children: ReactNode;
975
937
  }
976
- declare function ZenProvider({ children, theme, colorScheme, toast, }: ZenProviderProps): react_jsx_runtime.JSX.Element;
938
+ declare function ZenProvider({ children, theme, colorScheme, palette, toast, }: ZenProviderProps): react_jsx_runtime.JSX.Element;
977
939
 
978
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AlertBanner, type AlertBannerProps, AlertDialog, type AlertDialogProps, Blockquote, type BlockquoteProps, Box, type BoxProps, type BoxRenderProps, Breadcrumb, Breadcrumbs, type BreakpointKey, Button, type ButtonProps, type ButtonRenderProps, Calendar, type CalendarProps, Checkbox, type CheckboxProps, Code, type CodeProps, Column, type ColumnProps, ComboBox, type ComboBoxProps, ConfirmationDialog, type ConfirmationDialogProps, Container, type ContainerProps, CopyButton, type CopyButtonProps, DataCard, type DataCardProps, DataColumn, type DataColumnProps, DataTable, type DataTableProps, Dialog, type DialogProps, Dots, type DotsProps, Flexbox, type FlexboxProps, FloatingTooltip, type FloatingTooltipProps, Form, FormButtons, type FormButtonsProps, FormController, type FormControllerProps, FormField, FormFieldArray, type FormFieldArrayProps, type FormFieldProps, type FormProps, FormResetButton, type FormResetButtonProps, FormSubmitButton, Grid, type GridProps, Heading, type HeadingProps, type HoverButtonProps, HoverTrigger, Icon, IconLabel, type IconLabelProps, type IconProps, Image, type ImageProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, ListSection, type ListSectionProps, ListSeparator, Loading, LoadingButton, type LoadingButtonProps, type LoadingProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MenuSection, type MenuSectionProps, MenuSeparator, Modal, type ModalProps, NavMenu, NavMenuGroup, type NavMenuGroupProps, NavMenuItem, type NavMenuItemProps, type NavMenuProps, Navbar, NavbarContext, NavbarItem, type NavbarItemProps, type NavbarProps, type NavigationContext, PasswordField, type PasswordFieldProps, Popover, type PopoverProps, ProgressBar, type ProgressBarProps, ProgressCircle, type ProgressCircleProps, Radio, RadioGroup, type RadioGroupProps, type RenderProp, Row, type RowProps, SearchField, type SearchFieldProps, Select, type SelectProps, Sidebar, SidebarHeader, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, Slider, type SliderProps, Spinner, type SpinnerProps, StatusLight, type StatusLightProps, type StrokeWidth, SubMenuTrigger, type SubmenuTriggerProps, Switch, type SwitchProps, Tab, TabList, TabPanel, Table, TableBody, TableCell, type TableCellProps, TableColumn, type TableColumnProps, TableHeader, TableRow, Tabs, Text, TextField, type TextFieldProps, type TextProps, type TextRenderProps, type Theme, ThemeButton, type ThemeButtonProps, type ThemeMode, ThemeSwitcher, type ThemeSwitcherProps, Toast, ToastContext, type ToastOptions, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipBubble, type TooltipBubbleProps, type TooltipProps, ZenProvider, type ZenProviderProps, cn, getCssColorValue, isHeightPreset, isMaxHeightPreset, isMaxWidthPreset, isMinHeightPreset, isMinWidthPreset, isWidthPreset, mapAlignContent, mapAlignItems, mapAlignSelf, mapBackgroundColor, mapBorder, mapBorderColor, mapBorderRadius, mapBorderWidth, mapCursor, mapDisplay, mapFlexDirection, mapFlexWrap, mapFontSize, mapFontWeight, mapGap, mapGridAutoFlow, mapGridColumns, mapGridRows, mapHeadingSize, mapHeight, mapJustifyContent, mapJustifyItems, mapLetterSpacing, mapLineHeight, mapMargin, mapMaxHeight, mapMaxWidth, mapMinHeight, mapMinWidth, mapOpacity, mapOverflow, mapPadding, mapPointerEvents, mapPosition, mapShadow, mapStateStyles, mapTextAlign, mapTextColor, mapTextDecorationStyle, mapTextIndent, mapTextTransform, mapTextWrap, mapVerticalAlign, mapWhitespace, mapWidth, mapWordBreak, removeToast, resolveRender, useBreakpoint, useDebounce, useInitTheme, useNavigationContext, useTheme, useToast };
940
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AlertBanner, type AlertBannerProps, AlertDialog, type AlertDialogProps, Blockquote, type BlockquoteProps, Box, type BoxProps, type BoxRenderProps, Breadcrumb, Breadcrumbs, type BreakpointKey, Button, type ButtonProps, type ButtonRenderProps, Calendar, type CalendarProps, Checkbox, type CheckboxProps, Code, type CodeProps, Column, type ColumnProps, ComboBox, type ComboBoxProps, ConfirmationDialog, type ConfirmationDialogProps, Container, type ContainerProps, CopyButton, type CopyButtonProps, DataCard, type DataCardProps, DataColumn, type DataColumnProps, DataTable, type DataTableProps, Dialog, type DialogProps, Dots, type DotsProps, Flexbox, type FlexboxProps, FloatingTooltip, type FloatingTooltipProps, Form, FormButtons, type FormButtonsProps, FormController, type FormControllerProps, FormField, FormFieldArray, type FormFieldArrayProps, type FormFieldProps, type FormProps, FormResetButton, type FormResetButtonProps, FormSubmitButton, Grid, type GridProps, Heading, type HeadingProps, type HoverButtonProps, HoverTrigger, Icon, type IconProps, Image, type ImageProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, ListSection, type ListSectionProps, ListSeparator, Loading, LoadingButton, type LoadingButtonProps, type LoadingProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MenuSection, type MenuSectionProps, MenuSeparator, Modal, type ModalProps, Navbar, NavbarContext, NavbarItem, type NavbarItemProps, type NavbarProps, type NavigationContext, PALETTES, type Palette, PaletteSwitcher, type PaletteSwitcherProps, PasswordField, type PasswordFieldProps, Popover, type PopoverProps, ProgressBar, type ProgressBarProps, ProgressCircle, type ProgressCircleProps, Radio, RadioGroup, type RadioGroupProps, type RenderProp, Row, type RowProps, SearchField, type SearchFieldProps, Select, type SelectProps, Slider, type SliderProps, Spinner, type SpinnerProps, StatusLight, type StatusLightProps, type StrokeWidth, SubMenuTrigger, type SubmenuTriggerProps, Switch, type SwitchProps, Tab, TabList, TabPanel, Table, TableBody, TableCell, type TableCellProps, TableColumn, type TableColumnProps, TableHeader, TableRow, Tabs, Text, TextField, type TextFieldProps, type TextProps, type TextRenderProps, type Theme, ThemeButton, type ThemeButtonProps, type ThemeMode, ThemeSwitcher, type ThemeSwitcherProps, Toast, ToastContext, type ToastOptions, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipBubble, type TooltipBubbleProps, type TooltipProps, ZenProvider, type ZenProviderProps, cn, getCssColorValue, isHeightPreset, isMaxHeightPreset, isMaxWidthPreset, isMinHeightPreset, isMinWidthPreset, isWidthPreset, mapAlignContent, mapAlignItems, mapAlignSelf, mapBackgroundColor, mapBorder, mapBorderColor, mapBorderRadius, mapBorderWidth, mapCursor, mapDisplay, mapFlexDirection, mapFlexWrap, mapFontSize, mapFontWeight, mapGap, mapGridAutoFlow, mapGridColumns, mapGridRows, mapHeadingSize, mapHeight, mapJustifyContent, mapJustifyItems, mapLetterSpacing, mapLineHeight, mapMargin, mapMaxHeight, mapMaxWidth, mapMinHeight, mapMinWidth, mapOpacity, mapOverflow, mapPadding, mapPointerEvents, mapPosition, mapShadow, mapStateStyles, mapTextAlign, mapTextColor, mapTextDecorationStyle, mapTextIndent, mapTextTransform, mapTextWrap, mapVerticalAlign, mapWhitespace, mapWidth, mapWordBreak, removeToast, resolveRender, useBreakpoint, useDebounce, useInitTheme, useNavigationContext, useTheme, useToast };
package/dist/index.d.ts CHANGED
@@ -399,7 +399,7 @@ interface ContainerProps extends BoxProps {
399
399
  declare function Container({ isCentered, isFluid, className, children, ...props }: ContainerProps): react_jsx_runtime.JSX.Element;
400
400
 
401
401
  interface CopyButtonProps {
402
- value?: string;
402
+ value?: string | (() => string);
403
403
  timeout?: number;
404
404
  className?: string;
405
405
  children?: ReactNode;
@@ -563,14 +563,19 @@ declare function useBreakpoint(): BreakpointKey | null;
563
563
  declare function useDebounce(value: string, delay: number): string;
564
564
 
565
565
  type Theme = 'light' | 'dark';
566
+ type Palette = 'neutral' | 'slate' | 'gray' | 'zinc' | 'stone';
567
+ declare const PALETTES: Palette[];
566
568
  interface ThemeState {
567
569
  theme: Theme;
570
+ palette: Palette;
568
571
  setTheme: (theme: Theme) => void;
572
+ setPalette: (palette: Palette) => void;
569
573
  syncTheme: () => void;
570
574
  initTheme: (preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system') => void;
575
+ initPalette: (preferred?: Palette) => void;
571
576
  }
572
577
  declare const useTheme: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
573
- declare function useInitTheme(preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system'): void;
578
+ declare function useInitTheme(preferred?: Theme, colorScheme?: 'light' | 'dark' | 'system', preferredPalette?: Palette): void;
574
579
 
575
580
  type ToastVariant = 'success' | 'error';
576
581
  interface ToastOptions {
@@ -604,16 +609,6 @@ interface IconProps extends Omit<HTMLAttributes<HTMLElement>, 'color' | 'size'>
604
609
  }
605
610
  declare function Icon({ color, size, variant, rotate, strokeWidth, strokeColor, fillColor, style, className, children, ...props }: IconProps): react_jsx_runtime.JSX.Element;
606
611
 
607
- interface IconLabelProps extends RowProps {
608
- children?: ReactNode;
609
- icon: ReactNode;
610
- label?: ReactNode;
611
- iconProps?: IconProps;
612
- labelProps?: TextProps;
613
- showLabel?: boolean;
614
- }
615
- declare function IconLabel({ icon, label, iconProps, labelProps, showLabel, children, ...props }: IconLabelProps): react_jsx_runtime.JSX.Element;
616
-
617
612
  interface ImageProps extends HTMLAttributes<HTMLImageElement> {
618
613
  src: string;
619
614
  alt?: string;
@@ -751,21 +746,10 @@ interface NavbarItemProps extends HTMLAttributes<HTMLElement> {
751
746
  }
752
747
  declare function NavbarItem({ label, children, className, color: _color, ...props }: NavbarItemProps): react_jsx_runtime.JSX.Element;
753
748
 
754
- interface NavMenuProps extends ColumnProps {
755
- muteItems?: boolean;
756
- onItemClick?: () => void;
757
- }
758
- declare function NavMenu({ muteItems, onItemClick, className, children, ...props }: NavMenuProps): react_jsx_runtime.JSX.Element;
759
- interface NavMenuGroupProps extends ColumnProps {
760
- title?: string;
761
- allowMinimize?: boolean;
762
- isMinimized?: boolean;
763
- }
764
- declare function NavMenuGroup({ title, allowMinimize, isMinimized, className, children, ...props }: NavMenuGroupProps): react_jsx_runtime.JSX.Element;
765
- interface NavMenuItemProps extends RowProps {
766
- isSelected?: boolean;
749
+ interface PaletteSwitcherProps {
750
+ className?: string;
767
751
  }
768
- declare function NavMenuItem({ isSelected, className, children, ...props }: NavMenuItemProps): react_jsx_runtime.JSX.Element;
752
+ declare function PaletteSwitcher({ className }: PaletteSwitcherProps): react_jsx_runtime.JSX.Element;
769
753
 
770
754
  interface PasswordFieldProps extends TextFieldProps$1 {
771
755
  label?: string;
@@ -831,29 +815,6 @@ interface SelectProps extends SelectProps$1<HTMLSelectElement> {
831
815
  }
832
816
  declare function Select({ items, value, defaultValue, label, isLoading, allowSearch, searchValue, searchDelay, isFullscreen, maxHeight, onSearch, onChange, buttonProps, listProps, popoverProps, renderValue, className, children, ...props }: SelectProps): react_jsx_runtime.JSX.Element;
833
817
 
834
- interface SidebarProps extends ColumnProps {
835
- isCollapsed?: boolean;
836
- muteItems?: boolean;
837
- children?: ReactNode;
838
- }
839
- declare function Sidebar({ isCollapsed, muteItems, className, children, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
840
- declare function SidebarSection({ title, className, children, ...props }: {
841
- title?: string;
842
- children: ReactNode;
843
- } & ColumnProps): react_jsx_runtime.JSX.Element;
844
- declare function SidebarHeader({ label, icon, className, children, ...props }: {
845
- label: string;
846
- icon?: ReactNode;
847
- children?: ReactNode;
848
- } & RowProps): react_jsx_runtime.JSX.Element;
849
- interface SidebarItemProps extends RowProps {
850
- isSelected?: boolean;
851
- }
852
- declare function SidebarItem({ label, icon, isSelected, className, children, ...props }: {
853
- label?: string;
854
- icon?: ReactNode;
855
- } & SidebarItemProps): react_jsx_runtime.JSX.Element;
856
-
857
818
  interface SliderProps extends SliderProps$1 {
858
819
  label?: ReactNode;
859
820
  showValue?: boolean;
@@ -970,9 +931,10 @@ declare function ToastProvider({ children, ...props }: ToastProviderProps): reac
970
931
  interface ZenProviderProps {
971
932
  theme?: Theme;
972
933
  colorScheme?: 'light' | 'dark' | 'system';
934
+ palette?: Palette;
973
935
  toast?: ToasterProps;
974
936
  children: ReactNode;
975
937
  }
976
- declare function ZenProvider({ children, theme, colorScheme, toast, }: ZenProviderProps): react_jsx_runtime.JSX.Element;
938
+ declare function ZenProvider({ children, theme, colorScheme, palette, toast, }: ZenProviderProps): react_jsx_runtime.JSX.Element;
977
939
 
978
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AlertBanner, type AlertBannerProps, AlertDialog, type AlertDialogProps, Blockquote, type BlockquoteProps, Box, type BoxProps, type BoxRenderProps, Breadcrumb, Breadcrumbs, type BreakpointKey, Button, type ButtonProps, type ButtonRenderProps, Calendar, type CalendarProps, Checkbox, type CheckboxProps, Code, type CodeProps, Column, type ColumnProps, ComboBox, type ComboBoxProps, ConfirmationDialog, type ConfirmationDialogProps, Container, type ContainerProps, CopyButton, type CopyButtonProps, DataCard, type DataCardProps, DataColumn, type DataColumnProps, DataTable, type DataTableProps, Dialog, type DialogProps, Dots, type DotsProps, Flexbox, type FlexboxProps, FloatingTooltip, type FloatingTooltipProps, Form, FormButtons, type FormButtonsProps, FormController, type FormControllerProps, FormField, FormFieldArray, type FormFieldArrayProps, type FormFieldProps, type FormProps, FormResetButton, type FormResetButtonProps, FormSubmitButton, Grid, type GridProps, Heading, type HeadingProps, type HoverButtonProps, HoverTrigger, Icon, IconLabel, type IconLabelProps, type IconProps, Image, type ImageProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, ListSection, type ListSectionProps, ListSeparator, Loading, LoadingButton, type LoadingButtonProps, type LoadingProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MenuSection, type MenuSectionProps, MenuSeparator, Modal, type ModalProps, NavMenu, NavMenuGroup, type NavMenuGroupProps, NavMenuItem, type NavMenuItemProps, type NavMenuProps, Navbar, NavbarContext, NavbarItem, type NavbarItemProps, type NavbarProps, type NavigationContext, PasswordField, type PasswordFieldProps, Popover, type PopoverProps, ProgressBar, type ProgressBarProps, ProgressCircle, type ProgressCircleProps, Radio, RadioGroup, type RadioGroupProps, type RenderProp, Row, type RowProps, SearchField, type SearchFieldProps, Select, type SelectProps, Sidebar, SidebarHeader, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, Slider, type SliderProps, Spinner, type SpinnerProps, StatusLight, type StatusLightProps, type StrokeWidth, SubMenuTrigger, type SubmenuTriggerProps, Switch, type SwitchProps, Tab, TabList, TabPanel, Table, TableBody, TableCell, type TableCellProps, TableColumn, type TableColumnProps, TableHeader, TableRow, Tabs, Text, TextField, type TextFieldProps, type TextProps, type TextRenderProps, type Theme, ThemeButton, type ThemeButtonProps, type ThemeMode, ThemeSwitcher, type ThemeSwitcherProps, Toast, ToastContext, type ToastOptions, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipBubble, type TooltipBubbleProps, type TooltipProps, ZenProvider, type ZenProviderProps, cn, getCssColorValue, isHeightPreset, isMaxHeightPreset, isMaxWidthPreset, isMinHeightPreset, isMinWidthPreset, isWidthPreset, mapAlignContent, mapAlignItems, mapAlignSelf, mapBackgroundColor, mapBorder, mapBorderColor, mapBorderRadius, mapBorderWidth, mapCursor, mapDisplay, mapFlexDirection, mapFlexWrap, mapFontSize, mapFontWeight, mapGap, mapGridAutoFlow, mapGridColumns, mapGridRows, mapHeadingSize, mapHeight, mapJustifyContent, mapJustifyItems, mapLetterSpacing, mapLineHeight, mapMargin, mapMaxHeight, mapMaxWidth, mapMinHeight, mapMinWidth, mapOpacity, mapOverflow, mapPadding, mapPointerEvents, mapPosition, mapShadow, mapStateStyles, mapTextAlign, mapTextColor, mapTextDecorationStyle, mapTextIndent, mapTextTransform, mapTextWrap, mapVerticalAlign, mapWhitespace, mapWidth, mapWordBreak, removeToast, resolveRender, useBreakpoint, useDebounce, useInitTheme, useNavigationContext, useTheme, useToast };
940
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, AlertBanner, type AlertBannerProps, AlertDialog, type AlertDialogProps, Blockquote, type BlockquoteProps, Box, type BoxProps, type BoxRenderProps, Breadcrumb, Breadcrumbs, type BreakpointKey, Button, type ButtonProps, type ButtonRenderProps, Calendar, type CalendarProps, Checkbox, type CheckboxProps, Code, type CodeProps, Column, type ColumnProps, ComboBox, type ComboBoxProps, ConfirmationDialog, type ConfirmationDialogProps, Container, type ContainerProps, CopyButton, type CopyButtonProps, DataCard, type DataCardProps, DataColumn, type DataColumnProps, DataTable, type DataTableProps, Dialog, type DialogProps, Dots, type DotsProps, Flexbox, type FlexboxProps, FloatingTooltip, type FloatingTooltipProps, Form, FormButtons, type FormButtonsProps, FormController, type FormControllerProps, FormField, FormFieldArray, type FormFieldArrayProps, type FormFieldProps, type FormProps, FormResetButton, type FormResetButtonProps, FormSubmitButton, Grid, type GridProps, Heading, type HeadingProps, type HoverButtonProps, HoverTrigger, Icon, type IconProps, Image, type ImageProps, Label, type LabelProps, List, ListItem, type ListItemProps, type ListProps, ListSection, type ListSectionProps, ListSeparator, Loading, LoadingButton, type LoadingButtonProps, type LoadingProps, Menu, MenuItem, type MenuItemProps, type MenuProps, MenuSection, type MenuSectionProps, MenuSeparator, Modal, type ModalProps, Navbar, NavbarContext, NavbarItem, type NavbarItemProps, type NavbarProps, type NavigationContext, PALETTES, type Palette, PaletteSwitcher, type PaletteSwitcherProps, PasswordField, type PasswordFieldProps, Popover, type PopoverProps, ProgressBar, type ProgressBarProps, ProgressCircle, type ProgressCircleProps, Radio, RadioGroup, type RadioGroupProps, type RenderProp, Row, type RowProps, SearchField, type SearchFieldProps, Select, type SelectProps, Slider, type SliderProps, Spinner, type SpinnerProps, StatusLight, type StatusLightProps, type StrokeWidth, SubMenuTrigger, type SubmenuTriggerProps, Switch, type SwitchProps, Tab, TabList, TabPanel, Table, TableBody, TableCell, type TableCellProps, TableColumn, type TableColumnProps, TableHeader, TableRow, Tabs, Text, TextField, type TextFieldProps, type TextProps, type TextRenderProps, type Theme, ThemeButton, type ThemeButtonProps, type ThemeMode, ThemeSwitcher, type ThemeSwitcherProps, Toast, ToastContext, type ToastOptions, type ToastPosition, type ToastProps, ToastProvider, type ToastProviderProps, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipBubble, type TooltipBubbleProps, type TooltipProps, ZenProvider, type ZenProviderProps, cn, getCssColorValue, isHeightPreset, isMaxHeightPreset, isMaxWidthPreset, isMinHeightPreset, isMinWidthPreset, isWidthPreset, mapAlignContent, mapAlignItems, mapAlignSelf, mapBackgroundColor, mapBorder, mapBorderColor, mapBorderRadius, mapBorderWidth, mapCursor, mapDisplay, mapFlexDirection, mapFlexWrap, mapFontSize, mapFontWeight, mapGap, mapGridAutoFlow, mapGridColumns, mapGridRows, mapHeadingSize, mapHeight, mapJustifyContent, mapJustifyItems, mapLetterSpacing, mapLineHeight, mapMargin, mapMaxHeight, mapMaxWidth, mapMinHeight, mapMinWidth, mapOpacity, mapOverflow, mapPadding, mapPointerEvents, mapPosition, mapShadow, mapStateStyles, mapTextAlign, mapTextColor, mapTextDecorationStyle, mapTextIndent, mapTextTransform, mapTextWrap, mapVerticalAlign, mapWhitespace, mapWidth, mapWordBreak, removeToast, resolveRender, useBreakpoint, useDebounce, useInitTheme, useNavigationContext, useTheme, useToast };
package/dist/index.js CHANGED
@@ -3128,8 +3128,9 @@ function CopyButton({ value, timeout = TIMEOUT, className, children, ...props })
3128
3128
  const [copied, setCopied] = react.useState(false);
3129
3129
  const ref = react.useRef(timeout);
3130
3130
  const handleCopy = async () => {
3131
- if (value) {
3132
- await navigator.clipboard.writeText(value);
3131
+ const text2 = typeof value === "function" ? value() : value;
3132
+ if (text2) {
3133
+ await navigator.clipboard.writeText(text2);
3133
3134
  setCopied(true);
3134
3135
  clearTimeout(ref.current);
3135
3136
  ref.current = +setTimeout(() => setCopied(false), timeout);
@@ -3924,11 +3925,18 @@ function useDebounce(value, delay) {
3924
3925
  }, [value, delay]);
3925
3926
  return debouncedValue;
3926
3927
  }
3927
- var STORAGE_KEY = "theme";
3928
+ var PALETTES = ["neutral", "slate", "gray", "zinc", "stone"];
3929
+ var THEME_STORAGE_KEY = "theme";
3930
+ var PALETTE_STORAGE_KEY = "zen.palette";
3928
3931
  function getThemeFromDOM() {
3929
3932
  if (typeof window === "undefined") return "light";
3930
3933
  return document.documentElement.classList.contains("dark") ? "dark" : "light";
3931
3934
  }
3935
+ function getPaletteFromDOM() {
3936
+ if (typeof window === "undefined") return "neutral";
3937
+ const palette = document.documentElement.getAttribute("data-palette");
3938
+ return palette && PALETTES.includes(palette) ? palette : "neutral";
3939
+ }
3932
3940
  function resolveTheme(preferred, colorScheme) {
3933
3941
  if (preferred) {
3934
3942
  return preferred;
@@ -3950,41 +3958,67 @@ function applyTheme(theme) {
3950
3958
  document.documentElement.classList.remove("dark");
3951
3959
  }
3952
3960
  }
3961
+ function applyPalette(palette) {
3962
+ if (typeof window === "undefined") return;
3963
+ document.documentElement.setAttribute("data-palette", palette);
3964
+ }
3953
3965
  var useTheme = zustand.create((set, get) => ({
3954
3966
  theme: "light",
3967
+ palette: "neutral",
3955
3968
  setTheme: (theme) => {
3956
3969
  set({ theme });
3957
3970
  if (typeof window !== "undefined") {
3958
- localStorage.setItem(STORAGE_KEY, theme);
3971
+ localStorage.setItem(THEME_STORAGE_KEY, theme);
3959
3972
  applyTheme(theme);
3960
3973
  }
3961
3974
  },
3975
+ setPalette: (palette) => {
3976
+ set({ palette });
3977
+ if (typeof window !== "undefined") {
3978
+ localStorage.setItem(PALETTE_STORAGE_KEY, palette);
3979
+ applyPalette(palette);
3980
+ }
3981
+ },
3962
3982
  syncTheme: () => {
3963
3983
  const theme = getThemeFromDOM();
3964
- if (theme !== get().theme) {
3984
+ const palette = getPaletteFromDOM();
3985
+ const state = get();
3986
+ if (theme !== state.theme) {
3965
3987
  set({ theme });
3966
3988
  document.documentElement.setAttribute("data-theme", theme);
3967
3989
  }
3990
+ if (palette !== state.palette) {
3991
+ set({ palette });
3992
+ }
3968
3993
  },
3969
3994
  initTheme: (preferred, colorScheme) => {
3970
3995
  if (typeof window === "undefined") return;
3971
- const stored = localStorage.getItem(STORAGE_KEY);
3996
+ const stored = localStorage.getItem(THEME_STORAGE_KEY);
3972
3997
  const initial = resolveTheme(preferred || stored || void 0, colorScheme);
3973
3998
  set({ theme: initial });
3974
3999
  applyTheme(initial);
4000
+ },
4001
+ initPalette: (preferred) => {
4002
+ if (typeof window === "undefined") return;
4003
+ const stored = localStorage.getItem(PALETTE_STORAGE_KEY);
4004
+ const initial = preferred || (stored && PALETTES.includes(stored) ? stored : null) || "neutral";
4005
+ set({ palette: initial });
4006
+ applyPalette(initial);
3975
4007
  }
3976
4008
  }));
3977
- function useInitTheme(preferred, colorScheme) {
4009
+ function useInitTheme(preferred, colorScheme, preferredPalette) {
3978
4010
  const initTheme = useTheme((s) => s.initTheme);
4011
+ const initPalette = useTheme((s) => s.initPalette);
3979
4012
  const syncTheme = useTheme((s) => s.syncTheme);
3980
4013
  react.useLayoutEffect(() => {
3981
4014
  initTheme(preferred, colorScheme);
3982
- }, [preferred, colorScheme, initTheme]);
4015
+ initPalette(preferredPalette);
4016
+ }, [preferred, colorScheme, preferredPalette, initTheme, initPalette]);
3983
4017
  react.useEffect(() => {
3984
4018
  if (typeof window === "undefined") return;
3985
4019
  const observer = new MutationObserver((mutations) => {
3986
4020
  for (const mutation of mutations) {
3987
- if (mutation.attributeName === "class") {
4021
+ if (mutation.attributeName === "class" || mutation.attributeName === "data-palette") {
3988
4022
  syncTheme();
3989
4023
  }
3990
4024
  }
@@ -4122,21 +4156,6 @@ function useToast() {
4122
4156
  };
4123
4157
  return { toast: toast2, toasts };
4124
4158
  }
4125
- function IconLabel({
4126
- icon,
4127
- label,
4128
- iconProps,
4129
- labelProps,
4130
- showLabel = true,
4131
- children,
4132
- ...props
4133
- }) {
4134
- return /* @__PURE__ */ jsxRuntime.jsxs(Row, { alignItems: "center", gap: true, ...props, children: [
4135
- icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...iconProps, children: icon }),
4136
- showLabel && label && /* @__PURE__ */ jsxRuntime.jsx(Text, { ...labelProps, children: label }),
4137
- showLabel && children
4138
- ] });
4139
- }
4140
4159
  var objectFitMap = {
4141
4160
  fill: "object-fill",
4142
4161
  contain: "object-contain",
@@ -4228,7 +4247,11 @@ function MenuItem({
4228
4247
  className
4229
4248
  ),
4230
4249
  children: ({ isSelected }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4231
- /* @__PURE__ */ jsxRuntime.jsx(IconLabel, { icon, label, children }),
4250
+ /* @__PURE__ */ jsxRuntime.jsxs(Row, { alignItems: "center", gap: true, children: [
4251
+ icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { children: icon }),
4252
+ label && /* @__PURE__ */ jsxRuntime.jsx(Text, { children: label }),
4253
+ children
4254
+ ] }),
4232
4255
  showChecked && isSelected && /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.Check, {}) }),
4233
4256
  showSubMenuIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronRight, {}) })
4234
4257
  ] })
@@ -4357,70 +4380,40 @@ function NavbarItem({
4357
4380
  }
4358
4381
  );
4359
4382
  }
4360
- var NavMenuContext = react.createContext(null);
4361
- function NavMenu({ muteItems, onItemClick, className, children, ...props }) {
4362
- return /* @__PURE__ */ jsxRuntime.jsx(NavMenuContext.Provider, { value: { onItemClick }, children: /* @__PURE__ */ jsxRuntime.jsx(Column, { ...props, color: muteItems ? "muted" : void 0, className, children }) });
4363
- }
4364
- function NavMenuGroup({
4365
- title,
4366
- allowMinimize = true,
4367
- isMinimized,
4368
- className,
4369
- children,
4370
- ...props
4371
- }) {
4372
- const [minimized, setMinimized] = react.useState(!!isMinimized);
4373
- const handleClick = () => {
4374
- if (allowMinimize) {
4375
- setMinimized((state) => !state);
4376
- }
4377
- };
4378
- return /* @__PURE__ */ jsxRuntime.jsxs(
4379
- Column,
4380
- {
4381
- ...props,
4382
- className: cn(
4383
- className,
4384
- allowMinimize && "cursor-pointer",
4385
- allowMinimize && minimized && "[&_.navmenu-children]:hidden"
4386
- ),
4387
- children: [
4388
- /* @__PURE__ */ jsxRuntime.jsxs(
4389
- Row,
4390
- {
4391
- paddingY: "2",
4392
- paddingX: "3",
4393
- alignItems: "center",
4394
- justifyContent: "space-between",
4395
- onClick: handleClick,
4396
- children: [
4397
- /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", weight: "semibold", color: "muted", transform: "uppercase", children: title }),
4398
- allowMinimize && /* @__PURE__ */ jsxRuntime.jsx(Icon, { rotate: minimized ? 0 : 90, color: "muted", children: /* @__PURE__ */ jsxRuntime.jsx(icons_exports.ChevronRight, {}) })
4399
- ]
4400
- }
4401
- ),
4402
- !minimized && /* @__PURE__ */ jsxRuntime.jsx(Column, { className: "navmenu-children", children })
4403
- ]
4404
- }
4405
- );
4406
- }
4407
- function NavMenuItem({ isSelected, className, children, ...props }) {
4408
- const { onItemClick } = react.useContext(NavMenuContext);
4383
+ var PALETTE_LABELS = {
4384
+ neutral: "Neutral",
4385
+ slate: "Slate",
4386
+ gray: "Gray",
4387
+ zinc: "Zinc",
4388
+ stone: "Stone"
4389
+ };
4390
+ function PaletteSwitcher({ className }) {
4391
+ const { palette, setPalette } = useTheme();
4409
4392
  return /* @__PURE__ */ jsxRuntime.jsx(
4410
- Row,
4393
+ "div",
4411
4394
  {
4412
- ...props,
4413
- paddingY: "2",
4414
- paddingX: "3",
4415
- borderRadius: "md",
4416
- onClick: onItemClick,
4417
4395
  className: cn(
4418
- "cursor-pointer",
4419
- "hover:bg-interactive",
4420
- isSelected && "bg-interactive font-medium",
4396
+ "inline-flex items-center bg-surface-base border border-edge rounded-md overflow-hidden",
4421
4397
  className
4422
4398
  ),
4423
- children
4399
+ children: PALETTES.map((p) => /* @__PURE__ */ jsxRuntime.jsx(
4400
+ "button",
4401
+ {
4402
+ type: "button",
4403
+ onClick: () => setPalette(p),
4404
+ "aria-label": PALETTE_LABELS[p],
4405
+ "aria-pressed": palette === p,
4406
+ className: cn(
4407
+ "px-3 h-9 flex items-center justify-center cursor-pointer outline-none transition-colors text-sm",
4408
+ "[&:not(:first-child)]:border-l [&:not(:first-child)]:border-edge",
4409
+ "hover:bg-interactive",
4410
+ "focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset",
4411
+ palette === p ? "bg-interactive text-foreground-primary" : "text-foreground-muted"
4412
+ ),
4413
+ children: PALETTE_LABELS[p]
4414
+ },
4415
+ p
4416
+ ))
4424
4417
  }
4425
4418
  );
4426
4419
  }
@@ -4759,83 +4752,6 @@ function Select({
4759
4752
  }
4760
4753
  );
4761
4754
  }
4762
- var SidebarContext = react.createContext(null);
4763
- function Sidebar({ isCollapsed, muteItems, className, children, ...props }) {
4764
- return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: { isCollapsed }, children: /* @__PURE__ */ jsxRuntime.jsx(
4765
- Column,
4766
- {
4767
- border: "right",
4768
- ...props,
4769
- className: cn(
4770
- "text-base",
4771
- isCollapsed && "w-16",
4772
- muteItems && "text-foreground-muted",
4773
- className
4774
- ),
4775
- children
4776
- }
4777
- ) });
4778
- }
4779
- function SidebarSection({
4780
- title,
4781
- className,
4782
- children,
4783
- ...props
4784
- }) {
4785
- return /* @__PURE__ */ jsxRuntime.jsxs(Column, { ...props, paddingY: "2", className, children: [
4786
- title && /* @__PURE__ */ jsxRuntime.jsx(Box, { paddingX: "4", paddingY: "2", children: /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "xs", weight: "semibold", transform: "uppercase", color: "muted", children: title }) }),
4787
- /* @__PURE__ */ jsxRuntime.jsx(Column, { children })
4788
- ] });
4789
- }
4790
- function SidebarHeader({
4791
- label,
4792
- icon,
4793
- className,
4794
- children,
4795
- ...props
4796
- }) {
4797
- return /* @__PURE__ */ jsxRuntime.jsxs(Row, { ...props, paddingX: "4", paddingY: "3", gap: "3", alignItems: "center", className, children: [
4798
- icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "sm", children: icon }),
4799
- label && /* @__PURE__ */ jsxRuntime.jsx(Text, { weight: "semibold", children: label }),
4800
- children
4801
- ] });
4802
- }
4803
- function SidebarItem({
4804
- label,
4805
- icon,
4806
- isSelected,
4807
- className,
4808
- children,
4809
- ...props
4810
- }) {
4811
- const { isCollapsed } = react.useContext(SidebarContext);
4812
- return /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.TooltipTrigger, { delay: 0, closeDelay: 0, isDisabled: !isCollapsed, children: [
4813
- /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Focusable, { children: /* @__PURE__ */ jsxRuntime.jsxs(
4814
- Row,
4815
- {
4816
- ...props,
4817
- paddingX: isCollapsed ? "0" : "4",
4818
- paddingY: "2",
4819
- gap: "3",
4820
- alignItems: "center",
4821
- justifyContent: isCollapsed ? "center" : void 0,
4822
- borderRadius: "md",
4823
- className: cn(
4824
- "cursor-pointer",
4825
- "hover:bg-interactive",
4826
- isSelected && "bg-interactive font-medium",
4827
- className
4828
- ),
4829
- children: [
4830
- icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: "sm", children: icon }),
4831
- label && !isCollapsed && /* @__PURE__ */ jsxRuntime.jsx(Text, { children: label }),
4832
- children
4833
- ]
4834
- }
4835
- ) }),
4836
- /* @__PURE__ */ jsxRuntime.jsx(Tooltip, { placement: "right", children: label })
4837
- ] });
4838
- }
4839
4755
  function Fill2({ percentage }) {
4840
4756
  const width = `calc(10px + ${percentage}% - ${percentage * 0.2}px)`;
4841
4757
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-y-0 left-0 rounded-full bg-primary", style: { width } });
@@ -5018,7 +4934,7 @@ function ThemeButton({
5018
4934
  }
5019
4935
  );
5020
4936
  }
5021
- var STORAGE_KEY2 = "theme-mode";
4937
+ var STORAGE_KEY = "theme-mode";
5022
4938
  function getSystemTheme() {
5023
4939
  if (typeof window === "undefined") return "light";
5024
4940
  return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -5027,7 +4943,7 @@ function ThemeSwitcher({ className }) {
5027
4943
  const { setTheme } = useTheme();
5028
4944
  const [mode, setMode] = react.useState("system");
5029
4945
  react.useEffect(() => {
5030
- const stored = localStorage.getItem(STORAGE_KEY2);
4946
+ const stored = localStorage.getItem(STORAGE_KEY);
5031
4947
  if (stored && ["light", "dark", "system"].includes(stored)) {
5032
4948
  setMode(stored);
5033
4949
  }
@@ -5038,7 +4954,7 @@ function ThemeSwitcher({ className }) {
5038
4954
  } else {
5039
4955
  setTheme(mode);
5040
4956
  }
5041
- localStorage.setItem(STORAGE_KEY2, mode);
4957
+ localStorage.setItem(STORAGE_KEY, mode);
5042
4958
  }, [mode, setTheme]);
5043
4959
  react.useEffect(() => {
5044
4960
  if (mode !== "system") return;
@@ -5164,9 +5080,10 @@ function ZenProvider({
5164
5080
  children,
5165
5081
  theme,
5166
5082
  colorScheme,
5083
+ palette,
5167
5084
  toast: toast2 = defaultToastConfig
5168
5085
  }) {
5169
- useInitTheme(theme, colorScheme);
5086
+ useInitTheme(theme, colorScheme, palette);
5170
5087
  return /* @__PURE__ */ jsxRuntime.jsx(ToastProvider, { ...toast2, children });
5171
5088
  }
5172
5089
 
@@ -5237,7 +5154,6 @@ exports.Grid = Grid;
5237
5154
  exports.Heading = Heading;
5238
5155
  exports.HoverTrigger = HoverTrigger;
5239
5156
  exports.Icon = Icon;
5240
- exports.IconLabel = IconLabel;
5241
5157
  exports.Image = Image;
5242
5158
  exports.Label = Label;
5243
5159
  exports.List = List;
@@ -5251,12 +5167,11 @@ exports.MenuItem = MenuItem;
5251
5167
  exports.MenuSection = MenuSection;
5252
5168
  exports.MenuSeparator = MenuSeparator;
5253
5169
  exports.Modal = Modal;
5254
- exports.NavMenu = NavMenu;
5255
- exports.NavMenuGroup = NavMenuGroup;
5256
- exports.NavMenuItem = NavMenuItem;
5257
5170
  exports.Navbar = Navbar;
5258
5171
  exports.NavbarContext = NavbarContext;
5259
5172
  exports.NavbarItem = NavbarItem;
5173
+ exports.PALETTES = PALETTES;
5174
+ exports.PaletteSwitcher = PaletteSwitcher;
5260
5175
  exports.PasswordField = PasswordField;
5261
5176
  exports.Popover = Popover;
5262
5177
  exports.ProgressBar = ProgressBar;
@@ -5266,10 +5181,6 @@ exports.RadioGroup = RadioGroup;
5266
5181
  exports.Row = Row;
5267
5182
  exports.SearchField = SearchField;
5268
5183
  exports.Select = Select;
5269
- exports.Sidebar = Sidebar;
5270
- exports.SidebarHeader = SidebarHeader;
5271
- exports.SidebarItem = SidebarItem;
5272
- exports.SidebarSection = SidebarSection;
5273
5184
  exports.Slider = Slider;
5274
5185
  exports.Spinner = Spinner;
5275
5186
  exports.StatusLight = StatusLight;