@ceed/ads 1.35.1 → 1.36.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.
Files changed (122) hide show
  1. package/README.md +85 -95
  2. package/dist/components/Accordions/Accordions.d.ts +1 -0
  3. package/dist/components/Alert/Alert.d.ts +5 -5
  4. package/dist/components/Autocomplete/Autocomplete.d.ts +2 -2
  5. package/dist/components/Avatar/Avatar.d.ts +7 -17
  6. package/dist/components/Box/Box.d.ts +1 -0
  7. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +6 -5
  8. package/dist/components/Button/Button.d.ts +3 -2
  9. package/dist/components/Calendar/Calendar.d.ts +1 -0
  10. package/dist/components/Card/Card.d.ts +1 -0
  11. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  12. package/dist/components/Chip/Chip.d.ts +1 -0
  13. package/dist/components/Container/Container.d.ts +6 -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/Dropdown/Dropdown.d.ts +28 -1
  20. package/dist/components/FilterMenu/components/MonthRange.d.ts +11 -0
  21. package/dist/components/FilterMenu/types.d.ts +5 -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 +1 -1
  39. package/dist/components/ProfileMenu/ProfileMenu.d.ts +2 -2
  40. package/dist/components/Radio/Radio.d.ts +1 -0
  41. package/dist/components/RadioList/RadioList.d.ts +3 -2
  42. package/dist/components/Select/Select.d.ts +12 -10
  43. package/dist/components/Sheet/Sheet.d.ts +1 -0
  44. package/dist/components/Stack/Stack.d.ts +1 -0
  45. package/dist/components/Stepper/Stepper.d.ts +2 -1
  46. package/dist/components/Switch/Switch.d.ts +1 -0
  47. package/dist/components/Table/Table.d.ts +7 -5
  48. package/dist/components/Tabs/Tabs.d.ts +1 -0
  49. package/dist/components/Textarea/Textarea.d.ts +8 -20
  50. package/dist/components/ThemeProvider/ThemeProvider.d.ts +4 -2
  51. package/dist/components/Tooltip/Tooltip.d.ts +1 -0
  52. package/dist/components/Typography/Typography.d.ts +1 -0
  53. package/dist/components/Uploader/Uploader.d.ts +18 -17
  54. package/dist/components/data-display/Avatar.md +60 -72
  55. package/dist/components/data-display/Badge.md +197 -181
  56. package/dist/components/data-display/Chip.md +164 -142
  57. package/dist/components/data-display/DataTable.md +843 -338
  58. package/dist/components/data-display/InfoSign.md +1 -3
  59. package/dist/components/data-display/Markdown.md +93 -125
  60. package/dist/components/data-display/Table.md +1453 -1007
  61. package/dist/components/data-display/Typography.md +101 -104
  62. package/dist/components/feedback/Alert.md +80 -86
  63. package/dist/components/feedback/CircularProgress.md +32 -36
  64. package/dist/components/feedback/Dialog.md +25 -17
  65. package/dist/components/feedback/Modal.md +296 -265
  66. package/dist/components/feedback/Skeleton.md +125 -89
  67. package/dist/components/index.d.ts +60 -1
  68. package/dist/components/inputs/Autocomplete.md +191 -95
  69. package/dist/components/inputs/Button.md +83 -83
  70. package/dist/components/inputs/ButtonGroup.md +195 -185
  71. package/dist/components/inputs/Calendar.md +25 -28
  72. package/dist/components/inputs/Checkbox.md +11 -29
  73. package/dist/components/inputs/CurrencyInput.md +4 -4
  74. package/dist/components/inputs/DatePicker.md +229 -110
  75. package/dist/components/inputs/DateRangePicker.md +248 -137
  76. package/dist/components/inputs/FilterMenu.md +138 -8
  77. package/dist/components/inputs/FilterableCheckboxGroup.md +115 -55
  78. package/dist/components/inputs/FormControl.md +75 -69
  79. package/dist/components/inputs/IconButton.md +229 -205
  80. package/dist/components/inputs/Input.md +131 -98
  81. package/dist/components/inputs/MonthPicker.md +186 -84
  82. package/dist/components/inputs/MonthRangePicker.md +73 -49
  83. package/dist/components/inputs/PercentageInput.md +15 -31
  84. package/dist/components/inputs/RadioButton.md +320 -256
  85. package/dist/components/inputs/RadioList.md +66 -50
  86. package/dist/components/inputs/RadioTileGroup.md +287 -170
  87. package/dist/components/inputs/SearchBar.md +82 -60
  88. package/dist/components/inputs/Select.md +106 -95
  89. package/dist/components/inputs/Slider.md +153 -102
  90. package/dist/components/inputs/Switch.md +193 -138
  91. package/dist/components/inputs/Textarea.md +15 -20
  92. package/dist/components/inputs/Uploader/Uploader.md +68 -39
  93. package/dist/components/layout/Box.md +841 -662
  94. package/dist/components/layout/Container.md +3 -11
  95. package/dist/components/layout/Grid.md +480 -394
  96. package/dist/components/layout/Stack.md +739 -566
  97. package/dist/components/navigation/Breadcrumbs.md +182 -116
  98. package/dist/components/navigation/Dropdown.md +732 -391
  99. package/dist/components/navigation/IconMenuButton.md +14 -6
  100. package/dist/components/navigation/InsetDrawer.md +550 -378
  101. package/dist/components/navigation/Link.md +104 -94
  102. package/dist/components/navigation/Menu.md +623 -502
  103. package/dist/components/navigation/MenuButton.md +18 -10
  104. package/dist/components/navigation/NavigationGroup.md +19 -50
  105. package/dist/components/navigation/NavigationItem.md +6 -6
  106. package/dist/components/navigation/Navigator.md +26 -28
  107. package/dist/components/navigation/Pagination.md +86 -75
  108. package/dist/components/navigation/ProfileMenu.md +65 -43
  109. package/dist/components/navigation/Stepper.md +2 -12
  110. package/dist/components/navigation/Tabs.md +209 -183
  111. package/dist/components/surfaces/Accordions.md +89 -172
  112. package/dist/components/surfaces/Card.md +1094 -709
  113. package/dist/components/surfaces/Divider.md +562 -412
  114. package/dist/components/surfaces/Sheet.md +700 -518
  115. package/dist/guides/ThemeProvider.md +65 -40
  116. package/dist/index.browser.js +4 -4
  117. package/dist/index.browser.js.map +4 -4
  118. package/dist/index.cjs +1643 -1550
  119. package/dist/index.d.ts +1 -1
  120. package/dist/index.js +1303 -1202
  121. package/framer/index.js +1 -1
  122. package/package.json +32 -35
package/README.md CHANGED
@@ -33,29 +33,24 @@ You can use `@ceed/ads` directly in the browser without a bundler via [esm.sh](h
33
33
  ```html
34
34
  <!DOCTYPE html>
35
35
  <html>
36
- <head>
37
- <meta charset="UTF-8">
38
- <title>@ceed/ads Browser Example</title>
39
- </head>
40
- <body>
41
- <div id="root"></div>
42
-
43
- <script type="module">
44
- import React from 'https://esm.sh/react@18';
45
- import { createRoot } from 'https://esm.sh/react-dom@18/client';
46
- import { Button, ThemeProvider } from 'https://esm.sh/@ceed/ads';
47
-
48
- const App = () => (
49
- React.createElement(ThemeProvider, null,
50
- React.createElement(Button, { variant: 'solid' }, 'Hello from CDN!')
51
- )
52
- );
53
-
54
- createRoot(document.getElementById('root')).render(
55
- React.createElement(App)
56
- );
57
- </script>
58
- </body>
36
+ <head>
37
+ <meta charset="UTF-8" />
38
+ <title>@ceed/ads Browser Example</title>
39
+ </head>
40
+ <body>
41
+ <div id="root"></div>
42
+
43
+ <script type="module">
44
+ import React from 'https://esm.sh/react@18';
45
+ import { createRoot } from 'https://esm.sh/react-dom@18/client';
46
+ import { Button, ThemeProvider } from 'https://esm.sh/@ceed/ads';
47
+
48
+ const App = () =>
49
+ React.createElement(ThemeProvider, null, React.createElement(Button, { variant: 'solid' }, 'Hello from CDN!'));
50
+
51
+ createRoot(document.getElementById('root')).render(React.createElement(App));
52
+ </script>
53
+ </body>
59
54
  </html>
60
55
  ```
61
56
 
@@ -66,40 +61,35 @@ For cleaner imports, use [Import Maps](https://developer.mozilla.org/en-US/docs/
66
61
  ```html
67
62
  <!DOCTYPE html>
68
63
  <html>
69
- <head>
70
- <meta charset="UTF-8">
71
- <title>@ceed/ads with Import Maps</title>
72
- </head>
73
- <body>
74
- <div id="root"></div>
75
-
76
- <script type="importmap">
77
- {
78
- "imports": {
79
- "react": "https://esm.sh/react@18",
80
- "react/jsx-runtime": "https://esm.sh/react@18/jsx-runtime",
81
- "react-dom/client": "https://esm.sh/react-dom@18/client",
82
- "@ceed/ads": "https://esm.sh/@ceed/ads"
83
- }
84
- }
85
- </script>
86
-
87
- <script type="module">
88
- import React from 'react';
89
- import { createRoot } from 'react-dom/client';
90
- import { Button, ThemeProvider } from '@ceed/ads';
91
-
92
- const App = () => (
93
- React.createElement(ThemeProvider, null,
94
- React.createElement(Button, { variant: 'solid' }, 'Hello from CDN!')
95
- )
96
- );
97
-
98
- createRoot(document.getElementById('root')).render(
99
- React.createElement(App)
100
- );
101
- </script>
102
- </body>
64
+ <head>
65
+ <meta charset="UTF-8" />
66
+ <title>@ceed/ads with Import Maps</title>
67
+ </head>
68
+ <body>
69
+ <div id="root"></div>
70
+
71
+ <script type="importmap">
72
+ {
73
+ "imports": {
74
+ "react": "https://esm.sh/react@18",
75
+ "react/jsx-runtime": "https://esm.sh/react@18/jsx-runtime",
76
+ "react-dom/client": "https://esm.sh/react-dom@18/client",
77
+ "@ceed/ads": "https://esm.sh/@ceed/ads"
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <script type="module">
83
+ import React from 'react';
84
+ import { createRoot } from 'react-dom/client';
85
+ import { Button, ThemeProvider } from '@ceed/ads';
86
+
87
+ const App = () =>
88
+ React.createElement(ThemeProvider, null, React.createElement(Button, { variant: 'solid' }, 'Hello from CDN!'));
89
+
90
+ createRoot(document.getElementById('root')).render(React.createElement(App));
91
+ </script>
92
+ </body>
103
93
  </html>
104
94
  ```
105
95
 
@@ -110,44 +100,44 @@ esm.sh supports JSX transformation via the `?jsx-runtime=automatic` parameter:
110
100
  ```html
111
101
  <!DOCTYPE html>
112
102
  <html>
113
- <head>
114
- <meta charset="UTF-8">
115
- <title>@ceed/ads with JSX</title>
116
- </head>
117
- <body>
118
- <div id="root"></div>
119
-
120
- <script type="importmap">
121
- {
122
- "imports": {
123
- "react": "https://esm.sh/react@18",
124
- "react/jsx-runtime": "https://esm.sh/react@18/jsx-runtime",
125
- "react-dom/client": "https://esm.sh/react-dom@18/client",
126
- "@ceed/ads": "https://esm.sh/@ceed/ads"
127
- }
128
- }
129
- </script>
130
-
131
- <script type="module">
132
- import { createRoot } from 'react-dom/client';
133
- import { jsx } from 'react/jsx-runtime';
134
- import { Button, Stack, ThemeProvider } from '@ceed/ads';
135
-
136
- const App = () =>
137
- jsx(ThemeProvider, {
138
- children: jsx(Stack, {
139
- spacing: 2,
140
- children: [
141
- jsx(Button, { variant: 'solid', children: 'Solid' }),
142
- jsx(Button, { variant: 'outlined', children: 'Outlined' }),
143
- jsx(Button, { variant: 'soft', children: 'Soft' }),
144
- ],
145
- }),
146
- });
147
-
148
- createRoot(document.getElementById('root')).render(jsx(App, {}));
149
- </script>
150
- </body>
103
+ <head>
104
+ <meta charset="UTF-8" />
105
+ <title>@ceed/ads with JSX</title>
106
+ </head>
107
+ <body>
108
+ <div id="root"></div>
109
+
110
+ <script type="importmap">
111
+ {
112
+ "imports": {
113
+ "react": "https://esm.sh/react@18",
114
+ "react/jsx-runtime": "https://esm.sh/react@18/jsx-runtime",
115
+ "react-dom/client": "https://esm.sh/react-dom@18/client",
116
+ "@ceed/ads": "https://esm.sh/@ceed/ads"
117
+ }
118
+ }
119
+ </script>
120
+
121
+ <script type="module">
122
+ import { createRoot } from 'react-dom/client';
123
+ import { jsx } from 'react/jsx-runtime';
124
+ import { Button, Stack, ThemeProvider } from '@ceed/ads';
125
+
126
+ const App = () =>
127
+ jsx(ThemeProvider, {
128
+ children: jsx(Stack, {
129
+ spacing: 2,
130
+ children: [
131
+ jsx(Button, { variant: 'solid', children: 'Solid' }),
132
+ jsx(Button, { variant: 'outlined', children: 'Outlined' }),
133
+ jsx(Button, { variant: 'soft', children: 'Soft' }),
134
+ ],
135
+ }),
136
+ });
137
+
138
+ createRoot(document.getElementById('root')).render(jsx(App, {}));
139
+ </script>
140
+ </body>
151
141
  </html>
152
142
  ```
153
143
 
@@ -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(props: 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;
@@ -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 +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 (currently
12
+ * `FilterMenu`) that opt 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';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { FilterMonthRangeItem } from '../types';
3
+ interface MonthRangeProps extends FilterMonthRangeItem {
4
+ onChange?: (value: [string, string] | null) => void;
5
+ }
6
+ declare function MonthRange(props: MonthRangeProps): React.JSX.Element | null;
7
+ declare namespace MonthRange {
8
+ var displayName: string;
9
+ }
10
+ export { MonthRange };
11
+ export default MonthRange;
@@ -1,4 +1,5 @@
1
1
  import type { DateRangePickerProps } from '../DateRangePicker';
2
+ import type { MonthRangePickerProps } from '../MonthRangePicker';
2
3
  import type { CurrencyInputProps } from '../CurrencyInput';
3
4
  import type { PercentageInputProps } from '../PercentageInput';
4
5
  import type { AutocompleteProps } from '../Autocomplete';
@@ -35,6 +36,9 @@ export interface FilterRadioGroupItem extends FilterBaseItem<string | number> {
35
36
  export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast' | 'displayFormat' | 'inputReadOnly' | 'hideClearButton'> {
36
37
  type: 'date-range';
37
38
  }
39
+ export interface FilterMonthRangeItem extends FilterBaseItem<[string, string]>, Pick<MonthRangePickerProps, 'minDate' | 'maxDate' | 'disableFuture' | 'disablePast' | 'format' | 'displayFormat' | 'locale'> {
40
+ type: 'month-range';
41
+ }
38
42
  export interface FilterCurrencyInputItem extends FilterBaseItem<number>, Pick<CurrencyInputProps, 'max' | 'placeholder' | 'useMinorUnit' | 'currency'> {
39
43
  type: 'currency-input';
40
44
  }
@@ -50,5 +54,5 @@ export interface FilterPercentageRangeItem extends FilterBaseItem<[number, numbe
50
54
  export interface FilterAutocompleteItem extends FilterBaseItem<string | number>, Pick<AutocompleteProps<any, boolean>, 'options' | 'multiple' | 'placeholder'> {
51
55
  type: 'autocomplete';
52
56
  }
53
- export type FilterItem = FilterCheckboxGroupItem | FilterableCheckboxGroupItem | FilterRadioGroupItem | FilterDateRangeItem | FilterCurrencyInputItem | FilterCurrencyRangeItem | FilterPercentageInputItem | FilterPercentageRangeItem | FilterAutocompleteItem;
57
+ export type FilterItem = FilterCheckboxGroupItem | FilterableCheckboxGroupItem | FilterRadioGroupItem | FilterDateRangeItem | FilterMonthRangeItem | FilterCurrencyInputItem | FilterCurrencyRangeItem | FilterPercentageInputItem | FilterPercentageRangeItem | FilterAutocompleteItem;
54
58
  export {};
@@ -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 };