@ceed/cds 1.34.1 → 1.36.0-next.1

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/dist/components/Accordions/Accordions.d.ts +1 -0
  2. package/dist/components/Alert/Alert.d.ts +5 -5
  3. package/dist/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/dist/components/Avatar/Avatar.d.ts +7 -17
  5. package/dist/components/Box/Box.d.ts +1 -0
  6. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +6 -5
  7. package/dist/components/Button/Button.d.ts +3 -2
  8. package/dist/components/Calendar/Calendar.d.ts +1 -0
  9. package/dist/components/Card/Card.d.ts +1 -0
  10. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  11. package/dist/components/Chip/Chip.d.ts +1 -0
  12. package/dist/components/Container/Container.d.ts +6 -1
  13. package/dist/components/CurrencyInput/CurrencyInput.d.ts +1 -1
  14. package/dist/components/DialogActions/DialogActions.d.ts +1 -0
  15. package/dist/components/DialogContent/DialogContent.d.ts +1 -0
  16. package/dist/components/DialogFrame/DialogFrame.d.ts +1 -1
  17. package/dist/components/DialogTitle/DialogTitle.d.ts +1 -0
  18. package/dist/components/Divider/Divider.d.ts +1 -0
  19. package/dist/components/Drawer/Drawer.d.ts +1 -0
  20. package/dist/components/Dropdown/Dropdown.d.ts +28 -1
  21. package/dist/components/FilterableCheckboxGroup/FilterableCheckboxGroup.d.ts +1 -1
  22. package/dist/components/FormControl/FormControl.d.ts +1 -0
  23. package/dist/components/FormHelperText/FormHelperText.d.ts +1 -0
  24. package/dist/components/FormLabel/FormLabel.d.ts +1 -0
  25. package/dist/components/Grid/Grid.d.ts +1 -0
  26. package/dist/components/IconButton/IconButton.d.ts +3 -2
  27. package/dist/components/IconMenuButton/IconMenuButton.d.ts +7 -6
  28. package/dist/components/InfoSign/InfoSign.d.ts +3 -2
  29. package/dist/components/Input/Input.d.ts +8 -22
  30. package/dist/components/InsetDrawer/InsetDrawer.d.ts +1 -0
  31. package/dist/components/Markdown/Markdown.d.ts +9 -24
  32. package/dist/components/Menu/Menu.d.ts +2 -1
  33. package/dist/components/MenuButton/MenuButton.d.ts +10 -8
  34. package/dist/components/Modal/Modal.d.ts +4 -2
  35. package/dist/components/NavigationGroup/NavigationGroup.d.ts +3 -2
  36. package/dist/components/NavigationItem/NavigationItem.d.ts +3 -2
  37. package/dist/components/Navigator/Navigator.d.ts +5 -4
  38. package/dist/components/Pagination/Pagination.d.ts +2 -2
  39. package/dist/components/Radio/Radio.d.ts +1 -0
  40. package/dist/components/RadioList/RadioList.d.ts +3 -2
  41. package/dist/components/Select/Select.d.ts +12 -10
  42. package/dist/components/Sheet/Sheet.d.ts +1 -0
  43. package/dist/components/Stack/Stack.d.ts +1 -0
  44. package/dist/components/Stepper/Stepper.d.ts +2 -1
  45. package/dist/components/Switch/Switch.d.ts +1 -0
  46. package/dist/components/Table/Table.d.ts +7 -5
  47. package/dist/components/Tabs/Tabs.d.ts +1 -0
  48. package/dist/components/Textarea/Textarea.d.ts +8 -20
  49. package/dist/components/ThemeProvider/ThemeProvider.d.ts +15 -0
  50. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  51. package/dist/components/Typography/Typography.d.ts +1 -0
  52. package/dist/components/Uploader/Uploader.d.ts +18 -17
  53. package/dist/components/data-display/Avatar.md +60 -72
  54. package/dist/components/data-display/Badge.md +197 -181
  55. package/dist/components/data-display/Chip.md +164 -142
  56. package/dist/components/data-display/DataTable.md +843 -338
  57. package/dist/components/data-display/InfoSign.md +1 -3
  58. package/dist/components/data-display/Markdown.md +93 -125
  59. package/dist/components/data-display/Table.md +1453 -1007
  60. package/dist/components/data-display/Typography.md +113 -116
  61. package/dist/components/feedback/Alert.md +80 -86
  62. package/dist/components/feedback/CircularProgress.md +32 -36
  63. package/dist/components/feedback/Dialog.md +25 -17
  64. package/dist/components/feedback/Modal.md +296 -264
  65. package/dist/components/feedback/Skeleton.md +125 -89
  66. package/dist/components/index.d.ts +62 -2
  67. package/dist/components/inputs/Autocomplete.md +191 -95
  68. package/dist/components/inputs/Button.md +83 -83
  69. package/dist/components/inputs/ButtonGroup.md +195 -185
  70. package/dist/components/inputs/Calendar.md +25 -28
  71. package/dist/components/inputs/Checkbox.md +11 -29
  72. package/dist/components/inputs/CurrencyInput.md +4 -4
  73. package/dist/components/inputs/DatePicker.md +229 -110
  74. package/dist/components/inputs/DateRangePicker.md +248 -137
  75. package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
  76. package/dist/components/inputs/FormControl.md +75 -69
  77. package/dist/components/inputs/IconButton.md +229 -205
  78. package/dist/components/inputs/Input.md +131 -98
  79. package/dist/components/inputs/MonthPicker.md +186 -84
  80. package/dist/components/inputs/MonthRangePicker.md +73 -49
  81. package/dist/components/inputs/PercentageInput.md +15 -31
  82. package/dist/components/inputs/RadioButton.md +320 -256
  83. package/dist/components/inputs/RadioList.md +66 -50
  84. package/dist/components/inputs/RadioTileGroup.md +287 -170
  85. package/dist/components/inputs/SearchBar.md +82 -60
  86. package/dist/components/inputs/Select.md +106 -95
  87. package/dist/components/inputs/Slider.md +153 -102
  88. package/dist/components/inputs/Switch.md +193 -138
  89. package/dist/components/inputs/Textarea.md +15 -20
  90. package/dist/components/inputs/Uploader/Uploader.md +68 -39
  91. package/dist/components/layout/Box.md +841 -662
  92. package/dist/components/layout/Container.md +3 -11
  93. package/dist/components/layout/Grid.md +480 -394
  94. package/dist/components/layout/Stack.md +739 -566
  95. package/dist/components/navigation/Breadcrumbs.md +4 -4
  96. package/dist/components/navigation/Drawer.md +34 -25
  97. package/dist/components/navigation/Dropdown.md +745 -408
  98. package/dist/components/navigation/IconMenuButton.md +14 -6
  99. package/dist/components/navigation/InsetDrawer.md +8 -13
  100. package/dist/components/navigation/Link.md +1 -2
  101. package/dist/components/navigation/Menu.md +623 -502
  102. package/dist/components/navigation/MenuButton.md +18 -10
  103. package/dist/components/navigation/NavigationGroup.md +19 -50
  104. package/dist/components/navigation/NavigationItem.md +6 -6
  105. package/dist/components/navigation/Navigator.md +26 -28
  106. package/dist/components/navigation/Pagination.md +86 -75
  107. package/dist/components/navigation/Stepper.md +2 -12
  108. package/dist/components/navigation/Tabs.md +48 -36
  109. package/dist/components/surfaces/Accordions.md +89 -172
  110. package/dist/components/surfaces/Card.md +1094 -709
  111. package/dist/components/surfaces/Divider.md +562 -412
  112. package/dist/components/surfaces/Sheet.md +700 -518
  113. package/dist/guides/ThemeProvider.md +8 -8
  114. package/dist/index.browser.js +5 -5
  115. package/dist/index.browser.js.map +4 -4
  116. package/dist/index.cjs +1082 -1036
  117. package/dist/index.d.ts +2 -1
  118. package/dist/index.js +749 -695
  119. package/framer/index.js +1 -1
  120. package/package.json +34 -36
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { AccordionProps, AccordionDetailsProps, AccordionSummaryProps, AccordionGroupProps as AccordionsProps, } from '@mui/joy';
2
3
  declare const AccordionSummary: import("framer-motion").CustomDomComponent<{
3
4
  children?: React.ReactNode;
4
5
  color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").AccordionSummaryPropsColorOverrides> | undefined;
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
- import { AlertProps } from '@mui/joy';
2
+ import { AlertProps as JoyAlertProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
4
  declare const titleLevelMapping: {
5
5
  readonly sm: "title-sm";
6
6
  readonly md: "title-md";
7
7
  readonly lg: "title-lg";
8
8
  };
9
- type AlertSize = keyof typeof titleLevelMapping;
10
- interface CustomAlertProps {
9
+ export type AlertSize = keyof typeof titleLevelMapping;
10
+ export interface CustomAlertProps {
11
11
  content: React.ReactNode;
12
12
  actions?: React.ReactNode;
13
13
  title?: string;
14
14
  size?: AlertSize;
15
15
  }
16
- type AlertComponentProps = CustomAlertProps & Omit<AlertProps, 'content' | 'actions' | 'title' | 'size'> & Omit<MotionProps, 'children'>;
17
- declare function Alert(props: AlertComponentProps): React.JSX.Element;
16
+ export type AlertProps = CustomAlertProps & Omit<JoyAlertProps, 'content' | 'actions' | 'title' | 'size'> & Omit<MotionProps, 'children'>;
17
+ declare function Alert(inProps: AlertProps): React.JSX.Element;
18
18
  declare namespace Alert {
19
19
  var displayName: string;
20
20
  }
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { AutocompleteProps as JoyAutocompleteProps } from '@mui/joy';
3
- interface AutocompleteOption {
3
+ export interface AutocompleteOption {
4
4
  value: string;
5
5
  label: string;
6
6
  secondaryText?: string;
7
7
  startDecorator?: React.ReactNode;
8
8
  endDecorator?: React.ReactNode;
9
9
  }
10
- type AutocompleteValue<Multiple extends boolean | undefined = false> = Multiple extends true ? string[] : string;
10
+ export type AutocompleteValue<Multiple extends boolean | undefined = false> = Multiple extends true ? string[] : string;
11
11
  export type AutocompleteProps<T extends AutocompleteOption | string = string, Multiple extends boolean | undefined = false> = {
12
12
  value?: AutocompleteValue<Multiple>;
13
13
  defaultValue?: AutocompleteValue<Multiple>;
@@ -1,20 +1,10 @@
1
1
  import React from 'react';
2
- import { AvatarGroup } from '@mui/joy';
2
+ import { AvatarGroup, AvatarProps as JoyAvatarProps } from '@mui/joy';
3
3
  export { AvatarGroup };
4
- declare const Avatar: React.ForwardRefExoticComponent<Omit<{
5
- component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
6
- } & import("@mui/joy").AvatarSlotsAndSlotProps & {
7
- alt?: string | undefined;
8
- children?: React.ReactNode;
9
- color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").AvatarPropsColorOverrides> | undefined;
10
- size?: import("@mui/types").OverridableStringUnion<"sm" | "md" | "lg", import("@mui/joy").AvatarPropsSizeOverrides> | undefined;
11
- src?: string | undefined;
12
- srcSet?: string | undefined;
13
- sx?: import("@mui/joy/styles/types").SxProps | undefined;
14
- variant?: import("@mui/types").OverridableStringUnion<import("@mui/joy").VariantProp, import("@mui/joy").AvatarPropsVariantOverrides> | undefined;
15
- } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
16
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
17
- }, "children" | "color" | "variant" | "sx" | "size" | "component" | "alt" | "src" | "srcSet" | keyof import("@mui/joy").AvatarSlotsAndSlotProps> & {
18
- getInitial?: ((name: string) => string) | undefined;
19
- }, "ref"> & React.RefAttributes<any>>;
4
+ export type { JoyAvatarProps };
5
+ export type { AvatarGroupProps } from '@mui/joy';
6
+ export type AvatarProps = JoyAvatarProps & {
7
+ getInitial?: (name: string) => string;
8
+ };
9
+ declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & React.RefAttributes<any>>;
20
10
  export { Avatar };
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { BoxProps } from '@mui/joy';
2
3
  declare const Box: import("framer-motion").CustomDomComponent<import("@mui/system").BoxOwnProps<import("@mui/joy").Theme> & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
4
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
4
5
  }, keyof import("@mui/system").BoxOwnProps<import("@mui/joy").Theme>>>;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { BreadcrumbsProps } from '@mui/joy';
3
- declare function Breadcrumbs(props: {
2
+ import { BreadcrumbsProps as JoyBreadcrumbsProps } from '@mui/joy';
3
+ export type BreadcrumbsProps = {
4
4
  crumbs: {
5
5
  type: 'text' | 'link';
6
6
  label: string;
@@ -10,12 +10,13 @@ declare function Breadcrumbs(props: {
10
10
  endCrumbCount?: number;
11
11
  slots?: {
12
12
  link?: React.ElementType;
13
- } & BreadcrumbsProps['slots'];
13
+ } & JoyBreadcrumbsProps['slots'];
14
14
  slotProps?: {
15
15
  link?: {};
16
- } & BreadcrumbsProps['slotProps'];
16
+ } & JoyBreadcrumbsProps['slotProps'];
17
17
  collapsed?: boolean;
18
- } & BreadcrumbsProps): React.JSX.Element;
18
+ } & JoyBreadcrumbsProps;
19
+ declare function Breadcrumbs(props: BreadcrumbsProps): React.JSX.Element;
19
20
  declare namespace Breadcrumbs {
20
21
  var displayName: string;
21
22
  }
@@ -1,11 +1,12 @@
1
1
  import React, { ElementType } from 'react';
2
2
  import { ButtonProps as JoyButtonProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
- type PolymorphicProps<C extends ElementType> = {
4
+ export type { JoyButtonProps };
5
+ export type PolymorphicProps<C extends ElementType> = {
5
6
  component?: C;
6
7
  ref?: React.Ref<any>;
7
8
  } & Omit<React.ComponentPropsWithoutRef<C>, keyof JoyButtonProps>;
8
- type ButtonProps<C extends ElementType = 'button'> = JoyButtonProps & MotionProps & PolymorphicProps<C>;
9
+ export type ButtonProps<C extends ElementType = 'button'> = JoyButtonProps & MotionProps & PolymorphicProps<C>;
9
10
  declare const Button: <C extends React.ElementType = "button">(props: ButtonProps<C> & {
10
11
  ref?: React.Ref<any>;
11
12
  }) => JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { CalendarProps } from './types';
3
+ export type { CalendarOwnerState, CalendarProps, CalendarSlot, DateValue, View } from './types';
3
4
  /**
4
5
  * @see https://mui.com/x/api/date-pickers/date-calendar/ 인터페이스 참고
5
6
  */
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { CardProps, CardContentProps, CardCoverProps, CardActionsProps, CardOverflowProps } from '@mui/joy';
2
3
  declare const Card: import("framer-motion").CustomDomComponent<{
3
4
  children?: React.ReactNode;
4
5
  color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").CardPropsColorOverrides> | undefined;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { CheckboxProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
+ export type { CheckboxProps };
4
5
  declare const Checkbox: {
5
6
  (props: CheckboxProps & MotionProps): React.JSX.Element;
6
7
  displayName: string;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ export type { ChipProps } from '@mui/joy';
2
3
  declare const Chip: import("framer-motion").CustomDomComponent<import("@mui/joy").ChipSlotsAndSlotProps & {
3
4
  children?: import("react").ReactNode;
4
5
  color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").ChipPropsColorOverrides> | undefined;
@@ -1,4 +1,9 @@
1
- import React from 'react';
1
+ import React, { ComponentProps } from 'react';
2
+ declare const ContainerRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme> & {
3
+ maxWidth?: "sm" | "md" | "lg" | "xl" | undefined;
4
+ overrideBreakpoint?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
5
+ }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export type ContainerProps = ComponentProps<typeof ContainerRoot>;
2
7
  declare const Container: React.ForwardRefExoticComponent<Omit<import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme> & {
3
8
  maxWidth?: "sm" | "md" | "lg" | "xl" | undefined;
4
9
  overrideBreakpoint?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { InputProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
4
  import type { Currency } from './types';
5
- interface CurrencyInputProps {
5
+ export interface CurrencyInputProps {
6
6
  currency?: Currency;
7
7
  max?: number;
8
8
  value?: number;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { DialogActionsProps } from '@mui/joy';
2
3
  declare const DialogActions: import("@emotion/styled").StyledComponent<Omit<{
3
4
  children?: React.ReactNode;
4
5
  buttonFlex?: string | number | undefined;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { DialogContentProps } from '@mui/joy';
2
3
  declare const DialogContent: import("@emotion/styled").StyledComponent<Omit<{
3
4
  children?: React.ReactNode;
4
5
  orientation?: "horizontal" | "vertical" | undefined;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- interface DialogFrameProps {
2
+ export interface DialogFrameProps {
3
3
  title: React.ReactNode;
4
4
  children: React.ReactNode;
5
5
  actions: React.ReactNode;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { DialogTitleProps } from '@mui/joy';
2
3
  declare const DialogTitle: import("@emotion/styled").StyledComponent<Omit<{
3
4
  children?: React.ReactNode;
4
5
  color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").DialogTitlePropsColorOverrides> | undefined;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { DividerProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
+ export type { DividerProps };
4
5
  declare const Divider: {
5
6
  (props: DividerProps & MotionProps): React.JSX.Element;
6
7
  displayName: string;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { DrawerProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
+ export type { DrawerProps };
4
5
  declare const Drawer: {
5
6
  (props: DrawerProps & MotionProps): React.JSX.Element;
6
7
  displayName: string;
@@ -1 +1,28 @@
1
- export { Dropdown } from '@mui/joy';
1
+ import React from 'react';
2
+ import type { DropdownProps as JoyDropdownProps } from '@mui/joy';
3
+ /**
4
+ * Internal registry used by descendants that need the Dropdown to stay open while their
5
+ * own popovers (typically portaled outside the Joy `Menu` listbox) take focus. While the
6
+ * registry count is > 0 the Dropdown ignores Joy's blur-driven close, so focus moving into
7
+ * a nested popover (e.g. a DateRangePicker / MonthRangePicker calendar) no longer collapses
8
+ * the whole panel. Escape, the trigger toggle, and explicit `open` changes still close as
9
+ * usual.
10
+ *
11
+ * Not part of the public package surface — consumed only by sibling HDS components that opt
12
+ * in by registering on mount.
13
+ */
14
+ type DropdownNestedRegistry = {
15
+ register: () => void;
16
+ unregister: () => void;
17
+ };
18
+ export declare const DropdownNestedRegistryContext: React.Context<DropdownNestedRegistry | null>;
19
+ export type DropdownProps = JoyDropdownProps;
20
+ declare function Dropdown({ open: openProp, defaultOpen, onOpenChange, ...rest }: DropdownProps): React.JSX.Element;
21
+ declare namespace Dropdown {
22
+ var displayName: string;
23
+ }
24
+ export { Dropdown };
25
+ export { MenuButton as MenuButtonTrigger } from '@mui/joy';
26
+ export type { MenuButtonProps as MenuButtonTriggerProps } from '@mui/joy';
27
+ export { useMenuButton } from '@mui/base/useMenuButton';
28
+ export type { UseMenuButtonParameters, UseMenuButtonReturnValue } from '@mui/base/useMenuButton';
@@ -16,7 +16,7 @@ export type FilterableCheckboxGroupProps = {
16
16
  maxHeight?: string | number;
17
17
  disabled?: boolean;
18
18
  };
19
- declare function FilterableCheckboxGroup(props: FilterableCheckboxGroupProps): React.JSX.Element;
19
+ declare function FilterableCheckboxGroup(inProps: FilterableCheckboxGroupProps): React.JSX.Element;
20
20
  declare namespace FilterableCheckboxGroup {
21
21
  var displayName: string;
22
22
  }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { FormControlProps } from '@mui/joy';
2
3
  declare const FormControl: import("@emotion/styled").StyledComponent<Omit<{
3
4
  children?: React.ReactNode;
4
5
  color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").FormControlPropsColorOverrides> | undefined;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { FormHelperTextProps } from '@mui/joy';
2
3
  declare const FormHelperText: import("framer-motion").CustomDomComponent<{
3
4
  children?: React.ReactNode;
4
5
  sx?: import("@mui/joy/styles/types").SxProps | undefined;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { FormLabelProps } from '@mui/joy';
2
3
  declare const FormLabel: import("framer-motion").CustomDomComponent<import("@mui/joy").FormLabelSlotsAndSlotProps & {
3
4
  children?: React.ReactNode;
4
5
  required?: boolean | undefined;
@@ -1,2 +1,3 @@
1
1
  import { Grid } from '@mui/joy';
2
2
  export { Grid };
3
+ export type { GridProps } from '@mui/joy';
@@ -1,11 +1,12 @@
1
1
  import React, { ElementType } from 'react';
2
2
  import { IconButtonProps as JoyIconButtonProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
- type PolymorphicProps<C extends ElementType> = {
4
+ export type { JoyIconButtonProps };
5
+ export type IconButtonPolymorphicProps<C extends ElementType> = {
5
6
  component?: C;
6
7
  ref?: React.Ref<any>;
7
8
  } & Omit<React.ComponentPropsWithoutRef<C>, keyof JoyIconButtonProps>;
8
- type IconButtonProps<C extends ElementType = 'button'> = JoyIconButtonProps & MotionProps & PolymorphicProps<C>;
9
+ export type IconButtonProps<C extends ElementType = 'button'> = JoyIconButtonProps & MotionProps & IconButtonPolymorphicProps<C>;
9
10
  declare const IconButton: <C extends React.ElementType = "button">(props: IconButtonProps<C> & {
10
11
  ref?: React.Ref<any>;
11
12
  }) => JSX.Element;
@@ -1,21 +1,22 @@
1
1
  import React, { AriaAttributes, ComponentProps, ElementType, ReactNode } from 'react';
2
- import { MenuButtonProps } from '@mui/joy';
3
- declare function IconMenuButton<T extends ElementType, P extends ElementType>(props: {
4
- size?: MenuButtonProps<T, P>['size'];
2
+ import { MenuButtonProps as JoyMenuButtonProps } from '@mui/joy';
3
+ export interface IconMenuButtonProps<T extends ElementType = 'button', P extends ElementType = 'li'> {
4
+ size?: JoyMenuButtonProps<T, P>['size'];
5
5
  icon: ReactNode;
6
6
  buttonComponent?: T;
7
7
  buttonComponentProps?: ComponentProps<T> & AriaAttributes;
8
8
  disabled?: boolean;
9
9
  loading?: boolean;
10
- color?: MenuButtonProps<T, P>['color'];
11
- variant?: MenuButtonProps<T, P>['variant'];
10
+ color?: JoyMenuButtonProps<T, P>['color'];
11
+ variant?: JoyMenuButtonProps<T, P>['variant'];
12
12
  items?: {
13
13
  text: string;
14
14
  component?: P;
15
15
  componentProps?: ComponentProps<P>;
16
16
  }[];
17
17
  placement?: 'bottom-start' | 'bottom' | 'bottom-end';
18
- }): React.JSX.Element;
18
+ }
19
+ declare function IconMenuButton<T extends ElementType, P extends ElementType>(props: IconMenuButtonProps<T, P>): React.JSX.Element;
19
20
  declare namespace IconMenuButton {
20
21
  var displayName: string;
21
22
  }
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { TooltipProps as JoyTooltipProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
- declare function InfoSign(props: {
4
+ export type InfoSignProps = {
5
5
  message: string;
6
- } & Pick<JoyTooltipProps, 'placement'> & MotionProps): React.JSX.Element;
6
+ } & Pick<JoyTooltipProps, 'placement'> & MotionProps;
7
+ declare function InfoSign(props: InfoSignProps): React.JSX.Element;
7
8
  export { InfoSign };
@@ -1,31 +1,17 @@
1
1
  import React from 'react';
2
+ import { type InputProps as JoyInputProps } from '@mui/joy';
2
3
  import { type MotionProps } from 'framer-motion';
3
- declare const Input: React.ForwardRefExoticComponent<Omit<{
4
+ export type { JoyInputProps };
5
+ export type InputProps = {
4
6
  label?: React.ReactNode;
5
7
  helperText?: React.ReactNode;
6
- error?: boolean | undefined;
7
- enableClearable?: boolean | undefined;
8
+ error?: boolean;
9
+ enableClearable?: boolean;
8
10
  /**
9
11
  * Disables the password toggle button for password inputs.
10
12
  * This has no effect when type is not "password".
11
13
  */
12
- disableTogglePasswordButton?: boolean | undefined;
13
- } & {
14
- component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
15
- } & Pick<React.InputHTMLAttributes<HTMLInputElement>, "defaultValue" | "autoFocus" | "id" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyUp" | "onClick" | "disabled" | "type" | "name" | "value" | "autoComplete" | "placeholder" | "readOnly" | "required"> & {
16
- className?: string | undefined;
17
- color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").InputPropsColorOverrides> | undefined; /**
18
- * @see https://github.com/Ecube-Labs/hds/pull/36#discussion_r1722720909
19
- * NOTE: onChange(React.SyntheticEvent)의 타입과 맞지 않아 타입 에러가 발생. 이대로 사용하다가 문제가 생기면 대응한다.
20
- */
21
- endDecorator?: React.ReactNode;
22
- error?: boolean | undefined;
23
- fullWidth?: boolean | undefined;
24
- startDecorator?: React.ReactNode;
25
- size?: import("@mui/types").OverridableStringUnion<"sm" | "md" | "lg", import("@mui/joy").InputPropsSizeOverrides> | undefined;
26
- sx?: import("@mui/joy/styles/types").SxProps | undefined;
27
- variant?: import("@mui/types").OverridableStringUnion<import("@mui/joy").VariantProp, import("@mui/joy").InputPropsVariantOverrides> | undefined;
28
- } & import("@mui/joy").InputSlotsAndSlotProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
29
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
30
- }, "color" | "defaultValue" | "autoFocus" | "className" | "id" | "onFocus" | "onBlur" | "onChange" | "onKeyDown" | "onKeyUp" | "onClick" | "variant" | "sx" | "disabled" | "size" | "endDecorator" | "startDecorator" | "component" | "type" | "name" | "value" | "autoComplete" | "placeholder" | "readOnly" | "required" | "error" | "fullWidth" | keyof import("@mui/joy").InputSlotsAndSlotProps> & MotionProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
14
+ disableTogglePasswordButton?: boolean;
15
+ } & JoyInputProps & MotionProps;
16
+ declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
31
17
  export { Input };
@@ -1,2 +1,3 @@
1
+ export type { DrawerProps as InsetDrawerProps } from '@mui/joy';
1
2
  declare const InsetDrawer: import("@mui/types").OverridableComponent<import("@mui/joy").DrawerTypeMap<{}, "div">>;
2
3
  export { InsetDrawer };
@@ -4,31 +4,16 @@ import { MotionProps } from 'framer-motion';
4
4
  import { TypographyProps } from '@mui/joy';
5
5
  import { TypographySystem } from '@mui/joy';
6
6
  import { TextColor } from '@mui/joy/styles/types';
7
+ export type MarkdownProps = TypographyProps & MotionProps & {
8
+ defaultLevel?: Exclude<keyof TypographySystem, 'h1' | 'h2' | 'h3' | 'h4'>;
9
+ accentColor?: TextColor;
10
+ defaultLinkAction?: '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop';
11
+ markdownOptions?: Options;
12
+ boldFontWeight?: 'sm' | 'md' | 'lg' | 'xl';
13
+ fallback?: React.ReactNode;
14
+ };
7
15
  declare const Markdown: {
8
- (props: {
9
- component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
10
- } & import("@mui/joy").TypographySlotsAndSlotProps & Omit<import("@mui/joy/styles/types").SystemProps, "color"> & {
11
- children?: React.ReactNode;
12
- color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").TypographyPropsColorOverrides> | undefined;
13
- endDecorator?: React.ReactNode;
14
- gutterBottom?: boolean | undefined;
15
- level?: "inherit" | keyof TypographySystem | undefined;
16
- levelMapping?: Partial<Record<"inherit" | keyof TypographySystem, string>> | undefined;
17
- noWrap?: boolean | undefined;
18
- startDecorator?: React.ReactNode;
19
- textColor?: TextColor | undefined;
20
- sx?: import("@mui/joy/styles/types").SxProps | undefined;
21
- variant?: import("@mui/types").OverridableStringUnion<import("@mui/joy").VariantProp, import("@mui/joy").TypographyPropsVariantOverrides> | undefined;
22
- } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
23
- ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
24
- }, "p" | "children" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "variant" | "sx" | keyof import("@mui/joy").TypographySlotsAndSlotProps | "endDecorator" | "gutterBottom" | "level" | "levelMapping" | "noWrap" | "startDecorator" | "textColor" | "component"> & MotionProps & {
25
- defaultLevel?: "marketing-lg" | "marketing-md" | "marketing-sm" | "title-lg" | "title-md" | "title-sm" | "body-lg" | "body-md" | "body-sm" | "body-xs" | undefined;
26
- accentColor?: TextColor | undefined;
27
- defaultLinkAction?: "_self" | "_blank" | "_parent" | "_top" | "_unfencedTop" | undefined;
28
- markdownOptions?: import("react-markdown").Options | undefined;
29
- boldFontWeight?: "sm" | "md" | "lg" | "xl" | undefined;
30
- fallback?: React.ReactNode;
31
- }): React.JSX.Element | null;
16
+ (props: MarkdownProps): React.JSX.Element | null;
32
17
  displayName: string;
33
18
  };
34
19
  export { Markdown };
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import { MenuProps } from '@mui/joy';
2
+ import { MenuProps, MenuItemProps } from '@mui/joy';
3
3
  import { MotionProps } from 'framer-motion';
4
+ export type { MenuProps, MenuItemProps };
4
5
  /**
5
6
  * @todo [v1.0.0] Restructure menu component to:
6
7
  * - Abstract the menu component.
@@ -1,16 +1,17 @@
1
1
  import React, { ComponentProps, ElementType } from 'react';
2
- import { MenuButtonProps } from '@mui/joy';
3
- declare function MenuButton<T extends ElementType, P extends ElementType>(props: {
4
- size?: MenuButtonProps<T, P>['size'];
2
+ import { MenuButtonProps as JoyMenuButtonProps } from '@mui/joy';
3
+ export type { JoyMenuButtonProps };
4
+ export interface MenuButtonProps<T extends ElementType = 'button', P extends ElementType = 'li'> {
5
+ size?: JoyMenuButtonProps<T, P>['size'];
5
6
  buttonText: string;
6
7
  buttonComponent?: T;
7
8
  buttonComponentProps?: ComponentProps<T>;
8
9
  disabled?: boolean;
9
10
  loading?: boolean;
10
- color?: MenuButtonProps<T, P>['color'];
11
- variant?: MenuButtonProps<T, P>['variant'];
12
- endDecorator?: MenuButtonProps<T, P>['endDecorator'];
13
- startDecorator?: MenuButtonProps<T, P>['startDecorator'];
11
+ color?: JoyMenuButtonProps<T, P>['color'];
12
+ variant?: JoyMenuButtonProps<T, P>['variant'];
13
+ endDecorator?: JoyMenuButtonProps<T, P>['endDecorator'];
14
+ startDecorator?: JoyMenuButtonProps<T, P>['startDecorator'];
14
15
  items?: {
15
16
  text: string;
16
17
  component?: P;
@@ -18,7 +19,8 @@ declare function MenuButton<T extends ElementType, P extends ElementType>(props:
18
19
  }[];
19
20
  showIcon?: boolean;
20
21
  placement?: 'bottom-start' | 'bottom' | 'bottom-end';
21
- }): React.JSX.Element;
22
+ }
23
+ declare function MenuButton<T extends ElementType, P extends ElementType>(props: MenuButtonProps<T, P>): React.JSX.Element;
22
24
  declare namespace MenuButton {
23
25
  var displayName: string;
24
26
  }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ export type { ModalProps, ModalDialogProps, ModalCloseProps, ModalOverflowProps } from '@mui/joy';
2
3
  declare const Modal: import("framer-motion").CustomDomComponent<Pick<import("@mui/base").ModalOwnProps, "children" | "container" | "open" | "disablePortal" | "keepMounted" | "disableAutoFocus" | "disableEnforceFocus" | "disableRestoreFocus" | "disableEscapeKeyDown" | "disableScrollLock" | "hideBackdrop"> & {
3
4
  onClose?: ((event: {}, reason: "escapeKeyDown" | "backdropClick" | "closeClick") => void) | undefined;
4
5
  sx?: import("@mui/joy/styles/types").SxProps | undefined;
@@ -29,12 +30,13 @@ declare const ModalOverflow: import("framer-motion").CustomDomComponent<{
29
30
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
30
31
  }, "sx" | keyof import("@mui/joy").ModalOverflowSlotsAndSlotProps>>;
31
32
  export { ModalOverflow };
32
- declare function ModalFrame(props: {
33
+ export type ModalFrameProps = {
33
34
  title: React.ReactNode;
34
35
  children: React.ReactNode;
35
36
  titleStartDecorator?: React.ReactNode;
36
37
  onClose?: () => void;
37
- } & React.ComponentProps<typeof ModalDialog>): React.JSX.Element;
38
+ } & React.ComponentProps<typeof ModalDialog>;
39
+ declare function ModalFrame(props: ModalFrameProps): React.JSX.Element;
38
40
  declare namespace ModalFrame {
39
41
  var displayName: string;
40
42
  }
@@ -1,9 +1,10 @@
1
1
  import React, { ComponentProps, ReactNode } from 'react';
2
2
  import { Accordion as JoyAccordion } from '@mui/joy';
3
- declare function NavigationGroup(props: Omit<ComponentProps<typeof JoyAccordion>, 'title'> & {
3
+ export type NavigationGroupProps = Omit<ComponentProps<typeof JoyAccordion>, 'title'> & {
4
4
  title: string | ReactNode;
5
5
  startDecorator?: ReactNode;
6
6
  children: ReactNode;
7
7
  level?: number;
8
- }): React.JSX.Element;
8
+ };
9
+ declare function NavigationGroup(props: NavigationGroupProps): React.JSX.Element;
9
10
  export { NavigationGroup };
@@ -1,11 +1,12 @@
1
1
  import React, { ComponentProps, ReactNode } from 'react';
2
2
  import { ListItem as JoyListItem } from '@mui/joy';
3
- declare function NavigationItem(props: Omit<ComponentProps<typeof JoyListItem>, 'onClick'> & {
3
+ export type NavigationItemProps = Omit<ComponentProps<typeof JoyListItem>, 'onClick'> & {
4
4
  id: string;
5
5
  startDecorator?: ReactNode;
6
6
  level?: number;
7
7
  selected?: boolean;
8
8
  children: ReactNode;
9
9
  onClick?: (id: string) => void;
10
- }): React.JSX.Element;
10
+ };
11
+ declare function NavigationItem(props: NavigationItemProps): React.JSX.Element;
11
12
  export { NavigationItem };
@@ -1,23 +1,24 @@
1
1
  import React from 'react';
2
- type NavigatorItemProperty = {
2
+ export type NavigatorItemProperty = {
3
3
  id: string;
4
4
  type: 'item';
5
5
  title: string | React.ReactNode;
6
6
  startDecorator?: React.ReactNode;
7
7
  selected?: boolean;
8
8
  };
9
- type NavigatorGroupProperty = {
9
+ export type NavigatorGroupProperty = {
10
10
  type: 'group';
11
11
  title: string | React.ReactNode;
12
12
  startDecorator?: React.ReactNode;
13
13
  expanded?: boolean;
14
14
  content: React.ReactNode;
15
15
  };
16
- declare function Navigator(props: {
16
+ export interface NavigatorProps {
17
17
  level?: number;
18
18
  items: (NavigatorItemProperty | NavigatorGroupProperty)[];
19
19
  onSelect?: (id: string) => void;
20
- }): React.JSX.Element;
20
+ }
21
+ declare function Navigator(props: NavigatorProps): React.JSX.Element;
21
22
  declare namespace Navigator {
22
23
  var displayName: string;
23
24
  }