@firecms/ui 3.0.0-alpha.84 → 3.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +6 -7
  2. package/dist/components/Avatar.d.ts +1 -0
  3. package/dist/components/BooleanSwitch.d.ts +1 -1
  4. package/dist/components/Button.d.ts +3 -2
  5. package/dist/components/Card.d.ts +4 -2
  6. package/dist/components/CenteredView.d.ts +5 -2
  7. package/dist/components/Checkbox.d.ts +5 -4
  8. package/dist/components/Chip.d.ts +3 -2
  9. package/dist/components/DateTimeField.d.ts +5 -7
  10. package/dist/components/Dialog.d.ts +5 -1
  11. package/dist/components/DialogTitle.d.ts +9 -0
  12. package/dist/components/ExpandablePanel.d.ts +2 -1
  13. package/dist/components/FileUpload.d.ts +1 -1
  14. package/dist/components/IconButton.d.ts +1 -1
  15. package/dist/components/InputLabel.d.ts +2 -2
  16. package/dist/components/Label.d.ts +7 -0
  17. package/dist/components/Markdown.d.ts +1 -0
  18. package/dist/components/Menu.d.ts +7 -2
  19. package/dist/components/Menubar.d.ts +79 -0
  20. package/dist/components/MultiSelect.d.ts +31 -16
  21. package/dist/components/Popover.d.ts +2 -1
  22. package/dist/components/RadioGroup.d.ts +28 -0
  23. package/dist/components/Select.d.ts +6 -10
  24. package/dist/components/Separator.d.ts +5 -0
  25. package/dist/components/Sheet.d.ts +6 -0
  26. package/dist/components/Slider.d.ts +21 -0
  27. package/dist/components/Table.d.ts +10 -10
  28. package/dist/components/TextField.d.ts +3 -3
  29. package/dist/components/TextareaAutosize.d.ts +3 -34
  30. package/dist/components/Tooltip.d.ts +9 -3
  31. package/dist/components/Typography.d.ts +5 -4
  32. package/dist/components/_MultiSelect.d.ts +0 -0
  33. package/dist/components/index.d.ts +7 -2
  34. package/dist/hooks/index.d.ts +4 -0
  35. package/dist/hooks/useLocaleConfig.d.ts +1 -0
  36. package/dist/icons/HandleIcon.d.ts +1 -0
  37. package/dist/icons/Icon.d.ts +3 -3
  38. package/dist/icons/index.d.ts +1 -0
  39. package/dist/index.css +73 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.es.js +13341 -13478
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/index.umd.js +19788 -49
  44. package/dist/index.umd.js.map +1 -1
  45. package/dist/styles.d.ts +10 -10
  46. package/dist/util/{cn.d.ts → cls.d.ts} +4 -0
  47. package/dist/util/index.d.ts +1 -3
  48. package/package.json +112 -105
  49. package/src/components/Alert.tsx +6 -5
  50. package/src/components/Autocomplete.tsx +4 -3
  51. package/src/components/Avatar.tsx +8 -7
  52. package/src/components/Badge.tsx +1 -1
  53. package/src/components/BooleanSwitch.tsx +18 -17
  54. package/src/components/BooleanSwitchWithLabel.tsx +8 -8
  55. package/src/components/Button.tsx +59 -35
  56. package/src/components/Card.tsx +19 -13
  57. package/src/components/CenteredView.tsx +26 -14
  58. package/src/components/Checkbox.tsx +36 -25
  59. package/src/components/Chip.tsx +9 -6
  60. package/src/components/CircularProgress.tsx +2 -2
  61. package/src/components/Collapse.tsx +3 -2
  62. package/src/components/Container.tsx +2 -2
  63. package/src/components/DateTimeField.tsx +45 -50
  64. package/src/components/DebouncedTextField.tsx +3 -2
  65. package/src/components/Dialog.tsx +18 -6
  66. package/src/components/DialogActions.tsx +2 -2
  67. package/src/components/DialogContent.tsx +2 -2
  68. package/src/components/DialogTitle.tsx +35 -0
  69. package/src/components/ExpandablePanel.tsx +19 -11
  70. package/src/components/FileUpload.tsx +7 -10
  71. package/src/components/IconButton.tsx +7 -8
  72. package/src/components/InfoLabel.tsx +2 -2
  73. package/src/components/InputLabel.tsx +12 -9
  74. package/src/components/Label.tsx +31 -0
  75. package/src/components/Markdown.tsx +14 -3
  76. package/src/components/Menu.tsx +51 -30
  77. package/src/components/Menubar.tsx +322 -0
  78. package/src/components/MultiSelect.tsx +335 -165
  79. package/src/components/Paper.tsx +2 -2
  80. package/src/components/Popover.tsx +17 -13
  81. package/src/components/RadioGroup.tsx +73 -0
  82. package/src/components/SearchBar.tsx +8 -9
  83. package/src/components/Select.tsx +97 -125
  84. package/src/components/Separator.tsx +28 -0
  85. package/src/components/Sheet.tsx +51 -30
  86. package/src/components/Skeleton.tsx +9 -6
  87. package/src/components/Slider.tsx +109 -0
  88. package/src/components/Table.tsx +52 -35
  89. package/src/components/Tabs.tsx +8 -9
  90. package/src/components/TextField.tsx +35 -23
  91. package/src/components/TextareaAutosize.tsx +3 -3
  92. package/src/components/Tooltip.tsx +37 -16
  93. package/src/components/Typography.tsx +43 -27
  94. package/src/components/_MultiSelect.tsx +222 -0
  95. package/src/components/common/SelectInputLabel.tsx +2 -2
  96. package/src/components/index.tsx +7 -2
  97. package/src/hooks/index.ts +4 -0
  98. package/src/{util → hooks}/useInjectStyles.tsx +1 -1
  99. package/src/hooks/useLocaleConfig.tsx +18 -0
  100. package/src/icons/GitHubIcon.tsx +1 -0
  101. package/src/icons/HandleIcon.tsx +10 -0
  102. package/src/icons/Icon.tsx +46 -43
  103. package/src/icons/icon_keys.ts +114 -1301
  104. package/src/icons/index.ts +1 -0
  105. package/src/index.css +73 -0
  106. package/src/index.ts +1 -0
  107. package/src/scripts/generateIconKeys.ts +20 -12
  108. package/src/scripts/saveIconFiles.ts +2 -1
  109. package/src/styles.ts +10 -10
  110. package/src/util/cls.ts +14 -0
  111. package/src/util/index.ts +1 -3
  112. package/tailwind.config.js +70 -0
  113. package/dist/components/Spinner.d.ts +0 -1
  114. package/src/components/Spinner.tsx +0 -17
  115. package/src/util/cn.ts +0 -6
  116. /package/dist/{util → hooks}/useDebounceValue.d.ts +0 -0
  117. /package/dist/{util → hooks}/useInjectStyles.d.ts +0 -0
  118. /package/dist/{util → hooks}/useOutsideAlerter.d.ts +0 -0
  119. /package/src/{util → hooks}/useDebounceValue.tsx +0 -0
  120. /package/src/{util → hooks}/useOutsideAlerter.tsx +0 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
 
11
11
  <h1 align="center">FireCMS</h1>
12
- <h3 align="center">Awesome Firebase/Firestore-based headless CMS</h3>
12
+ <h3 align="center">Awesome Firebase/MongoDB-based headless CMS</h3>
13
13
  <p align="center"><a href="https://demo.firecms.co">Live demo</a></p>
14
14
 
15
15
  <br />
@@ -40,17 +40,16 @@ out-of-the-box experience for any project.
40
40
  FireCMS is based on this great technologies:
41
41
 
42
42
  - Typescript
43
- - Firebase SDK 9
43
+ - Tailwind CSS
44
+ - Firebase SDK 10
44
45
  - React + React Router 6
45
- - Material UI 5
46
- - Formik + Yup
47
46
 
48
47
  ### Quickstart
49
48
 
50
49
  The easiest way to get going is to check our quickstart guide! You will just
51
50
  need to follow some quick steps:
52
51
 
53
- https://firecms.co/docs/quickstart
52
+ https://firecms.co/docs
54
53
 
55
54
  ### Demo
56
55
 
@@ -83,14 +82,14 @@ data.
83
82
 
84
83
  ### ✨ Robust Forms
85
84
 
86
- ![fields](https://firecms.co/img/post_editing.webp)
85
+ ![fields](https://firecms.co/img/form_editing.webp)
87
86
 
88
87
  When editing an entity, FireCMS offers a nested system of side dialogs for
89
88
  navigating through **subcollections** and accessing custom views (such as custom
90
89
  forms or blog previews). This functionality can also be accessed
91
90
  programmatically using the `useSideEntityController` hook.
92
91
 
93
- FireCMS includes **over 15 built-in fields** with numerous customization and
92
+ FireCMS includes **over 20 built-in fields** with numerous customization and
94
93
  validation options. The components have been carefully designed for an
95
94
  outstanding user experience, including advanced features like **references** to
96
95
  other collections, **markdown**, and **array reordering**.
@@ -4,6 +4,7 @@ export interface AvatarProps {
4
4
  alt?: string;
5
5
  children?: React.ReactNode;
6
6
  className?: string;
7
+ outerClassName?: string;
7
8
  style?: React.CSSProperties;
8
9
  }
9
10
  export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLButtonElement>>;
@@ -3,7 +3,7 @@ export type BooleanSwitchProps = {
3
3
  value: boolean | null;
4
4
  className?: string;
5
5
  disabled?: boolean;
6
- size?: "small" | "medium";
6
+ size?: "smallest" | "small" | "medium";
7
7
  } & ({
8
8
  allowIndeterminate: true;
9
9
  onValueChange?: (newValue: boolean | null) => void;
@@ -2,10 +2,11 @@ import React from "react";
2
2
  export type ButtonProps<P extends React.ElementType> = Omit<(P extends "button" ? React.ButtonHTMLAttributes<HTMLButtonElement> : React.ComponentProps<P>), "onClick"> & {
3
3
  variant?: "filled" | "outlined" | "text";
4
4
  disabled?: boolean;
5
- size?: "small" | "medium" | "large";
5
+ color?: "primary" | "secondary" | "text" | "error";
6
+ size?: "small" | "medium" | "large" | "xl" | "2xl";
6
7
  startIcon?: React.ReactNode;
7
8
  fullWidth?: boolean;
8
9
  className?: string;
9
10
  onClick?: React.MouseEventHandler<any>;
10
11
  };
11
- export declare function Button<P extends React.ElementType>({ children, className, variant, disabled, size, startIcon, fullWidth, component: Component, ...props }: ButtonProps<P>): import("react/jsx-runtime").JSX.Element;
12
+ export declare const Button: React.FC<ButtonProps<any>>;
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
- export declare function Card({ children, style, onClick, className }: {
2
+ type CardProps = {
3
3
  children: React.ReactNode;
4
4
  style?: React.CSSProperties;
5
5
  onClick?: () => void;
6
6
  className?: string;
7
- }): import("react/jsx-runtime").JSX.Element;
7
+ };
8
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
9
+ export { Card };
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
- export declare function CenteredView({ children, maxWidth, className }: {
2
+ export type CenteredViewProps = {
3
3
  children: React.ReactNode;
4
4
  maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl";
5
+ outerClassName?: string;
5
6
  className?: string;
6
- }): import("react/jsx-runtime").JSX.Element;
7
+ fullScreen?: boolean;
8
+ };
9
+ export declare const CenteredView: React.ForwardRefExoticComponent<CenteredViewProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,10 +1,11 @@
1
- interface CheckboxProps {
1
+ export interface CheckboxProps {
2
2
  checked: boolean;
3
+ id?: string;
3
4
  disabled?: boolean;
4
5
  indeterminate?: boolean;
5
6
  onCheckedChange?: (checked: boolean) => void;
6
- size?: "small" | "medium" | "large";
7
+ padding?: boolean;
8
+ size?: "smallest" | "small" | "medium" | "large";
7
9
  color?: "primary" | "secondary";
8
10
  }
9
- export declare const Checkbox: ({ checked, indeterminate, disabled, size, onCheckedChange, color }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
10
- export {};
11
+ export declare const Checkbox: ({ id, checked, indeterminate, padding, disabled, size, onCheckedChange, color }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -8,14 +8,15 @@ export type ChipColorKey = keyof typeof CHIP_COLORS;
8
8
  export interface ChipProps {
9
9
  className?: string;
10
10
  children: React.ReactNode;
11
- size?: "smaller" | "small" | "medium";
11
+ size?: "smallest" | "small" | "medium";
12
12
  colorScheme?: ChipColorScheme | ChipColorKey;
13
13
  error?: boolean;
14
14
  outlined?: boolean;
15
15
  onClick?: () => void;
16
16
  icon?: React.ReactNode;
17
+ style?: React.CSSProperties;
17
18
  }
18
19
  /**
19
20
  * @group Preview components
20
21
  */
21
- export declare function Chip({ children, colorScheme, error, outlined, onClick, icon, size, className }: ChipProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function Chip({ children, colorScheme, error, outlined, onClick, icon, size, className, style }: ChipProps): import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,17 @@
1
1
  import React from "react";
2
- interface DateTimeFieldProps {
3
- value?: Date;
4
- onChange: (date: Date | null) => void;
2
+ export type DateTimeFieldProps = {
3
+ value?: Date | null;
4
+ onChange?: (date: Date | null) => void;
5
5
  mode?: "date" | "date_time";
6
6
  disabled?: boolean;
7
7
  clearable?: boolean;
8
8
  error?: boolean;
9
- size: "small" | "medium";
9
+ size?: "small" | "medium";
10
10
  label?: React.ReactNode;
11
11
  className?: string;
12
12
  style?: React.CSSProperties;
13
13
  inputClassName?: string;
14
14
  invisible?: boolean;
15
- preventOpenOnFocus?: boolean;
16
15
  locale?: string;
17
- }
16
+ };
18
17
  export declare const DateTimeField: React.FC<DateTimeFieldProps>;
19
- export {};
@@ -10,6 +10,10 @@ export type DialogProps = {
10
10
  scrollable?: boolean;
11
11
  maxWidth?: keyof typeof widthClasses;
12
12
  modal?: boolean;
13
+ onOpenAutoFocus?: (e: Event) => void;
14
+ onEscapeKeyDown?: (e: KeyboardEvent) => void;
15
+ onPointerDownOutside?: (e: Event) => void;
16
+ onInteractOutside?: (e: Event) => void;
13
17
  };
14
18
  declare const widthClasses: {
15
19
  xs: string;
@@ -25,5 +29,5 @@ declare const widthClasses: {
25
29
  "7xl": string;
26
30
  full: string;
27
31
  };
28
- export declare const Dialog: ({ open, onOpenChange, children, className, fullWidth, fullHeight, fullScreen, scrollable, maxWidth, modal }: DialogProps) => import("react/jsx-runtime").JSX.Element;
32
+ export declare const Dialog: ({ open, onOpenChange, children, className, fullWidth, fullHeight, fullScreen, scrollable, maxWidth, modal, onOpenAutoFocus, onEscapeKeyDown, onPointerDownOutside, onInteractOutside }: DialogProps) => import("react/jsx-runtime").JSX.Element;
29
33
  export {};
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { TypographyProps, TypographyVariant } from "./Typography";
3
+ export type DialogContentProps = TypographyProps & {
4
+ children: React.ReactNode;
5
+ hidden?: boolean;
6
+ className?: string;
7
+ variant?: TypographyVariant;
8
+ };
9
+ export declare function DialogTitle({ children, hidden, className, variant, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from "react";
2
- export declare function ExpandablePanel({ title, children, invisible, expanded, onExpandedChange, initiallyExpanded, titleClassName, asField, className }: PropsWithChildren<{
2
+ export declare function ExpandablePanel({ title, children, invisible, expanded, onExpandedChange, initiallyExpanded, titleClassName, asField, className, innerClassName }: PropsWithChildren<{
3
3
  title: React.ReactNode;
4
4
  invisible?: boolean;
5
5
  initiallyExpanded?: boolean;
@@ -8,4 +8,5 @@ export declare function ExpandablePanel({ title, children, invisible, expanded,
8
8
  titleClassName?: string;
9
9
  asField?: boolean;
10
10
  className?: string;
11
+ innerClassName?: string;
11
12
  }>): import("react/jsx-runtime").JSX.Element;
@@ -5,7 +5,7 @@ export interface FileUploadError {
5
5
  }
6
6
  export type OnFileUploadRejected = (fileRejections: {
7
7
  file: File;
8
- errors: FileUploadError[];
8
+ errors: readonly FileUploadError[];
9
9
  }[], event: object) => void;
10
10
  export type OnFilesUploadAdded = (files: File[]) => void;
11
11
  export type FileUploadProps = {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  export type IconButtonProps<C extends React.ElementType> = Omit<(C extends "button" ? React.ButtonHTMLAttributes<HTMLButtonElement> : React.ComponentProps<C>), "onClick"> & {
3
- size?: "medium" | "small" | "large";
3
+ size?: "medium" | "small" | "smallest" | "large";
4
4
  variant?: "ghost" | "filled";
5
5
  shape?: "circular" | "square";
6
6
  disabled?: boolean;
@@ -6,6 +6,6 @@ export type InputLabelProps = {
6
6
  } & React.LabelHTMLAttributes<HTMLLabelElement>;
7
7
  export declare const InputLabel: React.ForwardRefExoticComponent<{
8
8
  children?: React.ReactNode;
9
- className?: string | undefined;
10
- shrink?: boolean | undefined;
9
+ className?: string;
10
+ shrink?: boolean;
11
11
  } & React.LabelHTMLAttributes<HTMLLabelElement> & React.RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & {
4
+ border?: boolean;
5
+ onClick?: React.MouseEventHandler<HTMLLabelElement>;
6
+ } & React.RefAttributes<HTMLLabelElement>>;
7
+ export { Label };
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  export interface MarkdownProps {
3
3
  source: string;
4
+ size?: "small" | "medium" | "large" | "xl" | "2xl";
4
5
  className?: string;
5
6
  }
6
7
  /**
@@ -5,11 +5,16 @@ export type MenuProps = {
5
5
  open?: boolean;
6
6
  defaultOpen?: boolean;
7
7
  onOpenChange?(open: boolean): void;
8
+ portalContainer?: HTMLElement | null;
9
+ side?: "top" | "right" | "bottom" | "left";
10
+ align?: "start" | "center" | "end";
8
11
  };
9
- export declare function Menu({ children, trigger, open, defaultOpen, onOpenChange }: MenuProps): import("react/jsx-runtime").JSX.Element;
12
+ declare const Menu: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLButtonElement>>;
13
+ export { Menu };
10
14
  export type MenuItemProps = {
11
15
  children: React.ReactNode;
12
16
  dense?: boolean;
13
17
  onClick?: (event: React.MouseEvent) => void;
14
18
  };
15
- export declare function MenuItem({ children, dense, onClick }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function MenuItem({ children, dense, // Default value is false if not provided
20
+ onClick }: MenuItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,79 @@
1
+ import * as React from "react";
2
+ export declare function Menubar({ children, onSelect, className }: {
3
+ children: React.ReactNode;
4
+ onSelect?: (event: React.SyntheticEvent) => void;
5
+ className?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function MenubarMenu({ children, }: {
8
+ children: React.ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function MenubarTrigger({ children, onSelect, className }: {
11
+ children: React.ReactNode;
12
+ onSelect?: (event: React.SyntheticEvent) => void;
13
+ className?: string;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ export declare function MenubarPortal({ children, }: {
16
+ children: React.ReactNode;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ export declare function MenubarContent({ children, className, align, sideOffset, alignOffset, onSelect, ...rest }: {
19
+ children: React.ReactNode;
20
+ className?: string;
21
+ onSelect?: (event: React.SyntheticEvent) => void;
22
+ align?: "start" | "center" | "end";
23
+ sideOffset?: number;
24
+ alignOffset?: number;
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ export declare function MenubarItem({ children, leftPadding, className, disabled, onSelect, ...rest }: {
27
+ children: React.ReactNode;
28
+ onSelect?: (event: Event) => void;
29
+ leftPadding?: boolean;
30
+ className?: string;
31
+ disabled?: boolean;
32
+ }): import("react/jsx-runtime").JSX.Element;
33
+ export declare function MenubarSeparator({ children, className, ...rest }: {
34
+ children?: React.ReactNode;
35
+ className?: string;
36
+ }): import("react/jsx-runtime").JSX.Element;
37
+ export declare function MenubarSub({ children, ...rest }: {
38
+ children?: React.ReactNode;
39
+ }): import("react/jsx-runtime").JSX.Element;
40
+ export declare function MenubarSubTrigger({ children, className, onSelect, ...rest }: {
41
+ children?: React.ReactNode;
42
+ onSelect?: (event: React.SyntheticEvent) => void;
43
+ className?: string;
44
+ }): import("react/jsx-runtime").JSX.Element;
45
+ export declare function MenubarSubContent({ children, alignOffset, className, onSelect, ...rest }: {
46
+ children?: React.ReactNode;
47
+ onSelect?: (event: React.SyntheticEvent) => void;
48
+ alignOffset?: number;
49
+ className?: string;
50
+ }): import("react/jsx-runtime").JSX.Element;
51
+ export declare function MenubarCheckboxItem({ children, checked, onCheckedChange, className, onSelect, ...rest }: {
52
+ children?: React.ReactNode;
53
+ onSelect?: (event: Event) => void;
54
+ checked?: boolean;
55
+ onCheckedChange?: () => void;
56
+ className?: string;
57
+ }): import("react/jsx-runtime").JSX.Element;
58
+ export declare function MenubarItemIndicator({ children, className, ...rest }: {
59
+ children?: React.ReactNode;
60
+ className?: string;
61
+ }): import("react/jsx-runtime").JSX.Element;
62
+ export declare function MenubarRadioGroup({ children, className, value, onValueChange, onSelect, ...rest }: {
63
+ children?: React.ReactNode;
64
+ onSelect?: (event: React.SyntheticEvent) => void;
65
+ value?: string;
66
+ onValueChange?: (value: string) => void;
67
+ className?: string;
68
+ }): import("react/jsx-runtime").JSX.Element;
69
+ export declare function MenubarRadioItem({ children, className, value, onSelect, ...rest }: {
70
+ children?: React.ReactNode;
71
+ onSelect?: (event: Event) => void;
72
+ value: string;
73
+ className?: string;
74
+ }): import("react/jsx-runtime").JSX.Element;
75
+ export declare function MenubarShortcut({ children, className, ...rest }: {
76
+ children?: React.ReactNode;
77
+ className?: string;
78
+ }): import("react/jsx-runtime").JSX.Element;
79
+ export declare function MenubarSubTriggerIndicator(): import("react/jsx-runtime").JSX.Element;
@@ -1,35 +1,50 @@
1
1
  import * as React from "react";
2
- export type MultiSelectProps = {
2
+ import { ChangeEvent } from "react";
3
+ interface MultiSelectContextProps {
4
+ fieldValue?: string[];
5
+ onItemClick: (v: string) => void;
6
+ }
7
+ export declare const MultiSelectContext: React.Context<MultiSelectContextProps>;
8
+ /**
9
+ * Props for MultiSelect component
10
+ */
11
+ interface MultiSelectProps {
12
+ /**
13
+ * The modality of the popover. When set to true, interaction with outside elements
14
+ * will be disabled and only popover content will be visible to screen readers.
15
+ * Optional, defaults to false.
16
+ */
17
+ modalPopover?: boolean;
18
+ /**
19
+ * Additional class names to apply custom styles to the multi-select component.
20
+ * Optional, can be used to add custom styles.
21
+ */
22
+ className?: string;
3
23
  open?: boolean;
4
24
  name?: string;
5
25
  id?: string;
6
26
  onOpenChange?: (open: boolean) => void;
7
27
  value?: string[];
8
- containerClassName?: string;
9
- className?: string;
10
28
  inputClassName?: string;
11
- onMultiValueChange?: (updatedValue: string[]) => void;
29
+ onChange?: React.EventHandler<ChangeEvent<HTMLSelectElement>>;
30
+ onValueChange?: (updatedValue: string[]) => void;
12
31
  placeholder?: React.ReactNode;
13
- renderValue?: (values: string, index: number) => React.ReactNode;
14
- renderValues?: (values: string[]) => React.ReactNode;
15
32
  size?: "small" | "medium";
16
- label?: React.ReactNode;
33
+ useChips?: boolean;
34
+ label?: React.ReactNode | string;
17
35
  disabled?: boolean;
18
36
  error?: boolean;
19
37
  position?: "item-aligned" | "popper";
20
38
  endAdornment?: React.ReactNode;
39
+ multiple?: boolean;
40
+ includeClear?: boolean;
21
41
  inputRef?: React.RefObject<HTMLButtonElement>;
22
42
  padding?: boolean;
23
- includeFocusOutline?: boolean;
24
- children?: React.ReactNode;
25
- };
26
- interface MultiSelectContextProps {
27
- fieldValue?: string[];
28
- setInputValue: (v: string) => void;
29
- onValueChangeInternal: (v: string) => void;
43
+ invisible?: boolean;
44
+ children: React.ReactNode;
45
+ renderValues?: (values: string[]) => React.ReactNode;
30
46
  }
31
- export declare const MultiSelectContext: React.Context<MultiSelectContextProps>;
32
- export declare function MultiSelect({ value, open, onMultiValueChange, size, label, disabled, renderValue, renderValues, includeFocusOutline, containerClassName, className, children, error }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
47
+ export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLButtonElement>>;
33
48
  export interface MultiSelectItemProps {
34
49
  value: string;
35
50
  children?: React.ReactNode;
@@ -17,5 +17,6 @@ export interface PopoverProps {
17
17
  enabled?: boolean;
18
18
  modal?: boolean;
19
19
  className?: string;
20
+ portalContainer?: HTMLElement | null;
20
21
  }
21
- export declare function Popover({ trigger, children, open, onOpenChange, side, sideOffset, align, alignOffset, arrowPadding, sticky, hideWhenDetached, avoidCollisions, enabled, modal, className }: PopoverProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function Popover({ trigger, children, open, onOpenChange, side, sideOffset, align, alignOffset, arrowPadding, sticky, hideWhenDetached, avoidCollisions, enabled, modal, portalContainer, className }: PopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ export interface RadioGroupProps {
3
+ id?: string;
4
+ children: React.ReactNode;
5
+ name?: string;
6
+ required?: boolean;
7
+ disabled?: boolean;
8
+ /**
9
+ * Whether keyboard navigation should loop around
10
+ * @defaultValue false
11
+ */
12
+ loop?: boolean;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onValueChange?(value: string): void;
16
+ className?: string;
17
+ }
18
+ declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
19
+ export interface RadioGroupItemProps {
20
+ id?: string;
21
+ value: string;
22
+ checked?: boolean;
23
+ required?: boolean;
24
+ className?: string;
25
+ disabled?: boolean;
26
+ }
27
+ declare const RadioGroupItem: React.ForwardRefExoticComponent<RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>>;
28
+ export { RadioGroup, RadioGroupItem };
@@ -1,32 +1,28 @@
1
- import React from "react";
1
+ import React, { ChangeEvent } from "react";
2
2
  export type SelectProps = {
3
3
  open?: boolean;
4
4
  name?: string;
5
5
  id?: string;
6
6
  onOpenChange?: (open: boolean) => void;
7
- value?: string | string[];
7
+ value?: string;
8
8
  className?: string;
9
9
  inputClassName?: string;
10
- onChange?: React.EventHandler<React.ChangeEvent<HTMLSelectElement>>;
10
+ onChange?: React.EventHandler<ChangeEvent<HTMLSelectElement>>;
11
11
  onValueChange?: (updatedValue: string) => void;
12
- onMultiValueChange?: (updatedValue: string[]) => void;
13
12
  placeholder?: React.ReactNode;
14
- renderValue?: (value: string, index: number) => React.ReactNode;
15
- renderValues?: (values: string[]) => React.ReactNode;
13
+ renderValue?: (value: string) => React.ReactNode;
16
14
  size?: "small" | "medium";
17
- label?: React.ReactNode;
15
+ label?: React.ReactNode | string;
18
16
  disabled?: boolean;
19
17
  error?: boolean;
20
18
  position?: "item-aligned" | "popper";
21
19
  endAdornment?: React.ReactNode;
22
- multiple?: boolean;
23
20
  inputRef?: React.RefObject<HTMLButtonElement>;
24
21
  padding?: boolean;
25
- includeFocusOutline?: boolean;
26
22
  invisible?: boolean;
27
23
  children?: React.ReactNode;
28
24
  };
29
- export declare function Select({ inputRef, open, name, id, onOpenChange, value, onChange, onValueChange, onMultiValueChange, className, inputClassName, placeholder, renderValue, renderValues, label, size, includeFocusOutline, error, disabled, padding, position, endAdornment, multiple, invisible, children, ...props }: SelectProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
30
26
  export type SelectItemProps = {
31
27
  value: string;
32
28
  children?: React.ReactNode;
@@ -0,0 +1,5 @@
1
+ export declare function Separator({ orientation, decorative, className }: {
2
+ orientation: "horizontal" | "vertical";
3
+ decorative?: boolean;
4
+ className?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -2,9 +2,15 @@ import React from "react";
2
2
  interface SheetProps {
3
3
  children: React.ReactNode;
4
4
  open: boolean;
5
+ title?: string;
6
+ modal?: boolean;
7
+ includeBackgroundOverlay?: boolean;
5
8
  side?: "top" | "bottom" | "left" | "right";
9
+ darkBackground?: boolean;
6
10
  transparent?: boolean;
7
11
  onOpenChange?: (open: boolean) => void;
12
+ className?: string;
13
+ overlayClassName?: string;
8
14
  }
9
15
  export declare const Sheet: React.FC<SheetProps>;
10
16
  export {};
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ export interface SliderProps {
3
+ className?: string;
4
+ name?: string;
5
+ disabled?: boolean;
6
+ orientation?: React.AriaAttributes["aria-orientation"];
7
+ dir?: "ltr" | "rtl";
8
+ min?: number;
9
+ max?: number;
10
+ step?: number;
11
+ minStepsBetweenThumbs?: number;
12
+ value?: number[];
13
+ defaultValue?: number[];
14
+ onValueChange?: (value: number[]) => void;
15
+ onValueCommit?: (value: number[]) => void;
16
+ inverted?: boolean;
17
+ form?: string;
18
+ size?: "small" | "regular";
19
+ }
20
+ declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
21
+ export { Slider };
@@ -3,25 +3,25 @@ export type TableProps = {
3
3
  children: React.ReactNode;
4
4
  className?: string;
5
5
  style?: React.CSSProperties;
6
- };
7
- export declare const Table: ({ children, className, style }: TableProps) => import("react/jsx-runtime").JSX.Element;
6
+ } & React.TableHTMLAttributes<HTMLTableElement>;
7
+ export declare const Table: ({ children, className, style, ...rest }: TableProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export type TableBodyProps = {
9
9
  children?: React.ReactNode;
10
10
  className?: string;
11
- };
12
- export declare const TableBody: ({ children, className }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
11
+ } & React.HTMLAttributes<HTMLTableSectionElement>;
12
+ export declare const TableBody: ({ children, className, ...rest }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
13
13
  export type TableHeaderProps = {
14
14
  children?: React.ReactNode;
15
15
  className?: string;
16
- };
17
- export declare const TableHeader: ({ children, className }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
16
+ } & React.HTMLAttributes<HTMLTableSectionElement>;
17
+ export declare const TableHeader: ({ children, className, ...rest }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
18
18
  export type TableRowProps = {
19
19
  children?: React.ReactNode;
20
20
  className?: string;
21
21
  onClick?: React.MouseEventHandler<any>;
22
22
  style?: React.CSSProperties;
23
- };
24
- export declare const TableRow: ({ children, className, onClick, style }: TableRowProps) => import("react/jsx-runtime").JSX.Element;
23
+ } & React.HTMLAttributes<HTMLTableRowElement>;
24
+ export declare const TableRow: ({ children, className, onClick, style, ...rest }: TableRowProps) => import("react/jsx-runtime").JSX.Element;
25
25
  export type TableCellProps = {
26
26
  children?: React.ReactNode;
27
27
  header?: boolean;
@@ -30,5 +30,5 @@ export type TableCellProps = {
30
30
  style?: React.CSSProperties;
31
31
  align?: "left" | "center" | "right";
32
32
  colspan?: number;
33
- };
34
- export declare const TableCell: ({ children, header, scope, align, className, style, colspan }: TableCellProps) => import("react/jsx-runtime").JSX.Element;
33
+ } & React.HTMLAttributes<HTMLTableCellElement>;
34
+ export declare const TableCell: ({ children, header, scope, align, className, style, colspan, ...rest }: TableCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import React from "react";
2
2
  export type InputType = "text" | "number" | "phone" | "email" | "password" | "search" | "url" | "date" | "time" | "datetime-local" | "month" | "week" | "color";
3
3
  export type TextFieldProps<T extends string | number> = {
4
4
  type?: InputType;
5
- value: T;
5
+ value?: T;
6
6
  onChange?: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
7
7
  label?: React.ReactNode;
8
8
  multiline?: boolean;
@@ -13,11 +13,11 @@ export type TextFieldProps<T extends string | number> = {
13
13
  endAdornment?: React.ReactNode;
14
14
  autoFocus?: boolean;
15
15
  placeholder?: string;
16
- size?: "small" | "medium";
16
+ size?: "smallest" | "small" | "medium";
17
17
  className?: string;
18
18
  style?: React.CSSProperties;
19
19
  inputClassName?: string;
20
20
  inputStyle?: React.CSSProperties;
21
- inputRef?: React.Ref<any>;
21
+ inputRef?: React.ForwardedRef<any>;
22
22
  } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">;
23
23
  export declare function TextField<T extends string | number>({ value, onChange, label, type, multiline, invisible, rows, disabled, error, endAdornment, autoFocus, placeholder, size, className, style, inputClassName, inputStyle, inputRef: inputRefProp, ...inputProps }: TextFieldProps<T>): import("react/jsx-runtime").JSX.Element;