@recursica/mui-adapter 0.5.0 → 0.7.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 (212) hide show
  1. package/ARCHITECTURE.md +15 -0
  2. package/CHANGELOG.md +15 -0
  3. package/SETUP.md +77 -0
  4. package/USAGE.md +55 -0
  5. package/dist/mui-adapter.cjs +74 -1
  6. package/dist/mui-adapter.cjs.map +1 -1
  7. package/dist/mui-adapter.css +1 -1
  8. package/dist/mui-adapter.js +6863 -205
  9. package/dist/mui-adapter.js.map +1 -1
  10. package/dist/src/components/Accordion/Accordion.d.ts +43 -2
  11. package/dist/src/components/AssistiveElement/AssistiveElement.d.ts +6 -2
  12. package/dist/src/components/Autocomplete/Autocomplete.d.ts +12 -2
  13. package/dist/src/components/Avatar/Avatar.d.ts +10 -3
  14. package/dist/src/components/Badge/Badge.d.ts +10 -3
  15. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +9 -3
  16. package/dist/src/components/Button/Button.d.ts +2 -17
  17. package/dist/src/components/Card/Card.d.ts +38 -3
  18. package/dist/src/components/Checkbox/Checkbox.d.ts +13 -2
  19. package/dist/src/components/Checkbox/CheckboxGroup.d.ts +18 -0
  20. package/dist/src/components/Checkbox/index.d.ts +5 -1
  21. package/dist/src/components/Chip/Chip.d.ts +9 -2
  22. package/dist/src/components/Container/Container.d.ts +1 -5
  23. package/dist/src/components/DatePicker/DatePicker.d.ts +2 -1
  24. package/dist/src/components/Dropdown/Dropdown.d.ts +12 -2
  25. package/dist/src/components/Flex/Flex.d.ts +2 -22
  26. package/dist/src/components/FormControlLayout/FormControlLayout.d.ts +5 -2
  27. package/dist/src/components/FormControlWrapper/FormControlWrapper.d.ts +9 -2
  28. package/dist/src/components/Group/Group.d.ts +2 -7
  29. package/dist/src/components/HoverCard/HoverCard.d.ts +28 -2
  30. package/dist/src/components/Label/Label.d.ts +6 -2
  31. package/dist/src/components/Link/Link.d.ts +2 -6
  32. package/dist/src/components/Loader/Loader.d.ts +2 -7
  33. package/dist/src/components/Menu/Menu.d.ts +25 -3
  34. package/dist/src/components/Modal/Modal.d.ts +37 -2
  35. package/dist/src/components/NumberInput/NumberInput.d.ts +12 -2
  36. package/dist/src/components/Pagination/Pagination.d.ts +12 -3
  37. package/dist/src/components/Pagination/Pagination.icons.d.ts +8 -0
  38. package/dist/src/components/Panel/Panel.d.ts +52 -3
  39. package/dist/src/components/Radio/Radio.d.ts +13 -3
  40. package/dist/src/components/Radio/RadioGroup.d.ts +9 -0
  41. package/dist/src/components/ReadOnlyField/ReadOnlyBooleanField.d.ts +5 -0
  42. package/dist/src/components/ReadOnlyField/ReadOnlyField.d.ts +4 -2
  43. package/dist/src/components/ReadOnlyField/ReadOnlySwitchField.d.ts +5 -0
  44. package/dist/src/components/ReadOnlyField/ReadOnlyTextField.d.ts +8 -0
  45. package/dist/src/components/ReadOnlyField/WithReadOnlyWrapper.d.ts +28 -0
  46. package/dist/src/components/ReadOnlyField/index.d.ts +1 -0
  47. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +21 -3
  48. package/dist/src/components/Slider/Slider.d.ts +18 -2
  49. package/dist/src/components/Stack/Stack.d.ts +2 -5
  50. package/dist/src/components/Stepper/Stepper.d.ts +41 -2
  51. package/dist/src/components/Switch/Switch.d.ts +10 -3
  52. package/dist/src/components/Switch/SwitchGroup.d.ts +13 -0
  53. package/dist/src/components/Table/Table.d.ts +2 -1
  54. package/dist/src/components/Tabs/Tabs.d.ts +20 -3
  55. package/dist/src/components/Text/Text.d.ts +2 -16
  56. package/dist/src/components/TextArea/TextArea.d.ts +12 -2
  57. package/dist/src/components/TextField/TextField.d.ts +12 -2
  58. package/dist/src/components/TimePicker/TimePicker.d.ts +2 -1
  59. package/dist/src/components/Timeline/Timeline.d.ts +15 -2
  60. package/dist/src/components/Timeline/TimelineItem.d.ts +18 -0
  61. package/dist/src/components/Title/Title.d.ts +2 -15
  62. package/dist/src/components/Toast/Toast.d.ts +20 -2
  63. package/dist/src/components/Tooltip/Tooltip.d.ts +28 -3
  64. package/dist/src/components/TransferList/TransferList.d.ts +2 -1
  65. package/dist/src/components/Typography/Typography.d.ts +1 -1
  66. package/dist/src/utils/RequireAccessibleLabel.d.ts +1 -18
  67. package/dist/src/utils/filterStylingProps.d.ts +1 -11
  68. package/llms.txt +16 -0
  69. package/package.json +14 -3
  70. package/src/components/Accordion/Accordion.module.css +294 -56
  71. package/src/components/Accordion/Accordion.stories.tsx +131 -21
  72. package/src/components/Accordion/Accordion.tsx +260 -5
  73. package/src/components/AssistiveElement/AssistiveElement.module.css +114 -20
  74. package/src/components/AssistiveElement/AssistiveElement.stories.tsx +60 -20
  75. package/src/components/AssistiveElement/AssistiveElement.tsx +81 -5
  76. package/src/components/Autocomplete/Autocomplete.module.css +319 -42
  77. package/src/components/Autocomplete/Autocomplete.stories.tsx +175 -23
  78. package/src/components/Autocomplete/Autocomplete.tsx +181 -6
  79. package/src/components/Avatar/Avatar.module.css +343 -73
  80. package/src/components/Avatar/Avatar.stories.tsx +94 -22
  81. package/src/components/Avatar/Avatar.tsx +99 -6
  82. package/src/components/Badge/Badge.module.css +127 -29
  83. package/src/components/Badge/Badge.stories.tsx +65 -22
  84. package/src/components/Badge/Badge.tsx +67 -6
  85. package/src/components/Breadcrumb/Breadcrumb.module.css +25 -5
  86. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +57 -22
  87. package/src/components/Breadcrumb/Breadcrumb.tsx +59 -6
  88. package/src/components/Button/Button.module.css +19 -61
  89. package/src/components/Button/Button.stories.tsx +24 -23
  90. package/src/components/Button/Button.tsx +7 -18
  91. package/src/components/Card/Card.module.css +154 -38
  92. package/src/components/Card/Card.stories.tsx +117 -19
  93. package/src/components/Card/Card.tsx +181 -5
  94. package/src/components/Checkbox/Checkbox.module.css +249 -39
  95. package/src/components/Checkbox/Checkbox.stories.tsx +81 -19
  96. package/src/components/Checkbox/Checkbox.tsx +246 -5
  97. package/src/components/Checkbox/CheckboxGroup.stories.tsx +139 -0
  98. package/src/components/Checkbox/CheckboxGroup.tsx +137 -0
  99. package/src/components/Checkbox/index.ts +6 -1
  100. package/src/components/Chip/Chip.module.css +246 -43
  101. package/src/components/Chip/Chip.stories.tsx +101 -21
  102. package/src/components/Chip/Chip.tsx +136 -6
  103. package/src/components/Container/Container.stories.tsx +103 -20
  104. package/src/components/Container/Container.tsx +1 -13
  105. package/src/components/DatePicker/DatePicker.stories.tsx +125 -19
  106. package/src/components/DatePicker/DatePicker.tsx +3 -1
  107. package/src/components/Dropdown/Dropdown.module.css +291 -41
  108. package/src/components/Dropdown/Dropdown.stories.tsx +80 -21
  109. package/src/components/Dropdown/Dropdown.tsx +180 -6
  110. package/src/components/FileInput/FileInput.stories.tsx +2 -19
  111. package/src/components/FileUpload/FileUpload.stories.tsx +2 -19
  112. package/src/components/Flex/Flex.stories.tsx +113 -20
  113. package/src/components/Flex/Flex.tsx +16 -26
  114. package/src/components/FormControlLayout/FormControlLayout.module.css +92 -0
  115. package/src/components/FormControlLayout/FormControlLayout.stories.tsx +67 -20
  116. package/src/components/FormControlLayout/FormControlLayout.tsx +69 -4
  117. package/src/components/FormControlWrapper/FormControlWrapper.module.css +87 -0
  118. package/src/components/FormControlWrapper/FormControlWrapper.stories.tsx +116 -22
  119. package/src/components/FormControlWrapper/FormControlWrapper.tsx +126 -6
  120. package/src/components/Group/Group.stories.tsx +6 -30
  121. package/src/components/Group/Group.tsx +14 -9
  122. package/src/components/HoverCard/HoverCard.module.css +90 -22
  123. package/src/components/HoverCard/HoverCard.stories.tsx +158 -21
  124. package/src/components/HoverCard/HoverCard.tsx +147 -5
  125. package/src/components/Label/Label.module.css +140 -35
  126. package/src/components/Label/Label.stories.tsx +108 -21
  127. package/src/components/Label/Label.tsx +82 -5
  128. package/src/components/Link/Link.module.css +4 -3
  129. package/src/components/Link/Link.stories.tsx +2 -8
  130. package/src/components/Link/Link.tsx +1 -5
  131. package/src/components/Loader/Loader.module.css +1 -2
  132. package/src/components/Loader/Loader.tsx +1 -7
  133. package/src/components/Menu/IMPLEMENTATION_NOTES.md +4 -0
  134. package/src/components/Menu/Menu.module.css +285 -51
  135. package/src/components/Menu/Menu.stories.tsx +229 -25
  136. package/src/components/Menu/Menu.tsx +73 -6
  137. package/src/components/Modal/Modal.module.css +171 -35
  138. package/src/components/Modal/Modal.stories.tsx +66 -22
  139. package/src/components/Modal/Modal.tsx +215 -5
  140. package/src/components/NumberInput/NumberInput.module.css +276 -42
  141. package/src/components/NumberInput/NumberInput.stories.tsx +83 -20
  142. package/src/components/NumberInput/NumberInput.tsx +136 -6
  143. package/src/components/Pagination/IMPLEMENTATION_NOTES.md +3 -0
  144. package/src/components/Pagination/Pagination.icons.tsx +66 -0
  145. package/src/components/Pagination/Pagination.module.css +234 -20
  146. package/src/components/Pagination/Pagination.stories.tsx +34 -21
  147. package/src/components/Pagination/Pagination.tsx +74 -6
  148. package/src/components/Panel/Panel.module.css +206 -38
  149. package/src/components/Panel/Panel.stories.tsx +214 -22
  150. package/src/components/Panel/Panel.tsx +130 -5
  151. package/src/components/Radio/Radio.module.css +235 -37
  152. package/src/components/Radio/Radio.stories.tsx +77 -19
  153. package/src/components/Radio/Radio.tsx +210 -5
  154. package/src/components/Radio/RadioGroup.stories.tsx +117 -0
  155. package/src/components/Radio/RadioGroup.tsx +125 -0
  156. package/src/components/ReadOnlyField/ReadOnlyBooleanField.tsx +21 -0
  157. package/src/components/ReadOnlyField/ReadOnlyField.module.css +53 -15
  158. package/src/components/ReadOnlyField/ReadOnlyField.stories.tsx +147 -19
  159. package/src/components/ReadOnlyField/ReadOnlyField.tsx +105 -5
  160. package/src/components/ReadOnlyField/ReadOnlySwitchField.tsx +21 -0
  161. package/src/components/ReadOnlyField/ReadOnlyTextField.tsx +48 -0
  162. package/src/components/ReadOnlyField/WithReadOnlyWrapper.tsx +93 -0
  163. package/src/components/ReadOnlyField/index.ts +1 -0
  164. package/src/components/SegmentedControl/SegmentedControl.module.css +179 -47
  165. package/src/components/SegmentedControl/SegmentedControl.stories.tsx +102 -20
  166. package/src/components/SegmentedControl/SegmentedControl.tsx +140 -6
  167. package/src/components/Slider/Slider.module.css +539 -86
  168. package/src/components/Slider/Slider.stories.tsx +157 -19
  169. package/src/components/Slider/Slider.tsx +283 -5
  170. package/src/components/Stack/Stack.stories.tsx +4 -25
  171. package/src/components/Stack/Stack.tsx +1 -5
  172. package/src/components/Stepper/IMPLEMENTATION_NOTES.md +4 -0
  173. package/src/components/Stepper/Stepper.module.css +410 -71
  174. package/src/components/Stepper/Stepper.stories.tsx +146 -20
  175. package/src/components/Stepper/Stepper.tsx +147 -6
  176. package/src/components/Switch/Switch.module.css +259 -39
  177. package/src/components/Switch/Switch.stories.tsx +98 -19
  178. package/src/components/Switch/Switch.tsx +200 -6
  179. package/src/components/Switch/SwitchGroup.stories.tsx +132 -0
  180. package/src/components/Switch/SwitchGroup.tsx +120 -0
  181. package/src/components/Table/Table.stories.tsx +1 -19
  182. package/src/components/Table/Table.tsx +3 -1
  183. package/src/components/Tabs/IMPLEMENTATION_NOTES.md +4 -0
  184. package/src/components/Tabs/Tabs.module.css +422 -79
  185. package/src/components/Tabs/Tabs.stories.tsx +156 -20
  186. package/src/components/Tabs/Tabs.tsx +86 -6
  187. package/src/components/Text/Text.stories.tsx +5 -17
  188. package/src/components/Text/Text.tsx +1 -15
  189. package/src/components/TextArea/TextArea.module.css +155 -32
  190. package/src/components/TextArea/TextArea.stories.tsx +80 -21
  191. package/src/components/TextArea/TextArea.tsx +146 -6
  192. package/src/components/TextField/TextField.module.css +261 -42
  193. package/src/components/TextField/TextField.stories.tsx +147 -20
  194. package/src/components/TextField/TextField.tsx +169 -6
  195. package/src/components/TimePicker/TimePicker.stories.tsx +2 -19
  196. package/src/components/TimePicker/TimePicker.tsx +3 -1
  197. package/src/components/Timeline/Timeline.module.css +365 -76
  198. package/src/components/Timeline/Timeline.stories.tsx +114 -21
  199. package/src/components/Timeline/Timeline.tsx +83 -5
  200. package/src/components/Timeline/TimelineItem.tsx +90 -0
  201. package/src/components/Title/Title.stories.tsx +0 -18
  202. package/src/components/Title/Title.tsx +1 -7
  203. package/src/components/Toast/Toast.module.css +166 -28
  204. package/src/components/Toast/Toast.stories.tsx +54 -22
  205. package/src/components/Toast/Toast.tsx +124 -5
  206. package/src/components/Tooltip/Tooltip.module.css +89 -24
  207. package/src/components/Tooltip/Tooltip.stories.tsx +152 -22
  208. package/src/components/Tooltip/Tooltip.tsx +88 -5
  209. package/src/components/TransferList/TransferList.stories.tsx +1 -19
  210. package/src/components/TransferList/TransferList.tsx +3 -1
  211. package/src/utils/RequireAccessibleLabel.ts +1 -12
  212. package/src/utils/filterStylingProps.ts +7 -20
@@ -1,3 +1,44 @@
1
1
  import { default as React } from 'react';
2
- export type AccordionProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Accordion: React.FC<AccordionProps>;
2
+ import { AccordionProps as MuiAccordionProps, AccordionSummaryProps as MuiAccordionSummaryProps, AccordionDetailsProps as MuiAccordionDetailsProps } from '@mui/material';
3
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
+ import { RecursicaAccordionProps, RecursicaAccordionItemProps, RecursicaAccordionControlProps } from '@recursica/adapter-common';
5
+ export type AccordionProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement> & RecursicaAccordionProps>;
6
+ declare const AccordionBase: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
7
+ export type AccordionItemWrapperProps = RecursicaOverStyled<Omit<MuiAccordionProps, "children" | "value"> & {
8
+ children?: React.ReactNode;
9
+ value: string;
10
+ } & RecursicaAccordionItemProps>;
11
+ export declare const AccordionItem: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiAccordionProps, "value" | "children"> & {
12
+ children?: React.ReactNode;
13
+ value: string;
14
+ } & RecursicaAccordionItemProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
15
+ overStyled?: false | undefined;
16
+ }, "ref"> | Omit<Omit<MuiAccordionProps, "value" | "children"> & {
17
+ children?: React.ReactNode;
18
+ value: string;
19
+ } & RecursicaAccordionItemProps & {
20
+ overStyled: true;
21
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
22
+ export type AccordionControlWrapperProps = RecursicaOverStyled<MuiAccordionSummaryProps & RecursicaAccordionControlProps>;
23
+ export declare const AccordionControl: React.ForwardRefExoticComponent<(Omit<Omit<import('@mui/material').AccordionSummaryOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "classes" | "style" | "sx" | "tabIndex" | "children" | "disabled" | "slots" | "slotProps" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "expandIcon"> & {
24
+ component?: React.ElementType | undefined;
25
+ } & RecursicaAccordionControlProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
26
+ overStyled?: false | undefined;
27
+ }, "ref"> | Omit<import('@mui/material').AccordionSummaryOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "classes" | "style" | "sx" | "tabIndex" | "children" | "disabled" | "slots" | "slotProps" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "expandIcon"> & {
28
+ component?: React.ElementType | undefined;
29
+ } & RecursicaAccordionControlProps & {
30
+ overStyled: true;
31
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
32
+ export type AccordionPanelWrapperProps = RecursicaOverStyled<MuiAccordionDetailsProps>;
33
+ export declare const AccordionPanel: React.ForwardRefExoticComponent<(Omit<Omit<MuiAccordionDetailsProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
34
+ overStyled?: false | undefined;
35
+ }, "ref"> | Omit<MuiAccordionDetailsProps & {
36
+ overStyled: true;
37
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
38
+ type AccordionComponent = typeof AccordionBase & {
39
+ Item: typeof AccordionItem;
40
+ Control: typeof AccordionControl;
41
+ Panel: typeof AccordionPanel;
42
+ };
43
+ export declare const Accordion: AccordionComponent;
44
+ export {};
@@ -1,3 +1,7 @@
1
1
  import { default as React } from 'react';
2
- export type AssistiveElementProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const AssistiveElement: React.FC<AssistiveElementProps>;
2
+ import { FormHelperTextProps } from '@mui/material';
3
+ import { RecursicaAssistiveElementProps } from '@recursica/adapter-common';
4
+ export interface AssistiveElementProps extends FormHelperTextProps, RecursicaAssistiveElementProps {
5
+ overStyled?: boolean;
6
+ }
7
+ export declare const AssistiveElement: React.ForwardRefExoticComponent<Omit<AssistiveElementProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
@@ -1,3 +1,13 @@
1
1
  import { default as React } from 'react';
2
- export type AutocompleteProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Autocomplete: React.FC<AutocompleteProps>;
2
+ import { AutocompleteProps as MuiAutocompleteProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaAutocompleteProps as BaseRecursicaAutocompleteProps } from '@recursica/adapter-common';
4
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
+ import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
+ export interface RecursicaAutocompleteProps extends Omit<MuiAutocompleteProps<any, any, any, any, "div">, "variant" | "size" | "wrapperProps" | "radius" | "renderInput" | "classes" | "defaultValue">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth" | "error" | keyof MuiAutocompleteProps<any, any, any, any, "div">>, ReadOnlyControlProps, BaseRecursicaAutocompleteProps {
7
+ }
8
+ export type AutocompleteProps = RecursicaOverStyled<RecursicaAutocompleteProps>;
9
+ export declare const Autocomplete: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaAutocompleteProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
10
+ overStyled?: false | undefined;
11
+ }, "ref"> | Omit<RecursicaAutocompleteProps & {
12
+ overStyled: true;
13
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -1,3 +1,10 @@
1
- import { default as React } from 'react';
2
- export type AvatarProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Avatar: React.FC<AvatarProps>;
1
+ import { AvatarProps as MuiAvatarProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaAvatarProps } from '@recursica/adapter-common';
4
+ export type AvatarProps = RecursicaOverStyled<Omit<MuiAvatarProps, "variant" | "size" | "color" | "radius"> & RecursicaAvatarProps>;
5
+ /**
6
+ * Recursica Avatar component wrapping Mui's Avatar.
7
+ *
8
+ * Supports polymorphism via the `component` prop or `renderRoot` for custom element rendering.
9
+ */
10
+ export declare const Avatar: any;
@@ -1,3 +1,10 @@
1
- import { default as React } from 'react';
2
- export type BadgeProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Badge: React.FC<BadgeProps>;
1
+ import { BadgeProps as MuiBadgeProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaBadgeProps } from '@recursica/adapter-common';
4
+ export type BadgeProps = RecursicaOverStyled<Omit<MuiBadgeProps, "variant" | "size" | "color" | "radius"> & RecursicaBadgeProps>;
5
+ /**
6
+ * Recursica Badge component wrapping Mui's Badge.
7
+ *
8
+ * Supports polymorphism via the `component` prop or `renderRoot` for custom element rendering.
9
+ */
10
+ export declare const Badge: any;
@@ -1,3 +1,9 @@
1
- import { default as React } from 'react';
2
- export type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Breadcrumb: React.FC<BreadcrumbProps>;
1
+ import { BreadcrumbsProps as MuiBreadcrumbsProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaBreadcrumbProps } from '@recursica/adapter-common';
4
+ export type BreadcrumbProps = RecursicaOverStyled<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps>;
5
+ export declare const Breadcrumb: import('react').ForwardRefExoticComponent<(Omit<Omit<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
6
+ overStyled?: false | undefined;
7
+ }, "ref"> | Omit<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps & {
8
+ overStyled: true;
9
+ }, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,22 +1,7 @@
1
1
  import { default as React } from 'react';
2
- import { RecursicaLoaderProps } from '../Loader/Loader';
3
2
  import { ButtonProps as MuiButtonProps } from '@mui/material';
4
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
- export interface RecursicaButtonProps {
6
- variant?: "solid" | "outline" | "text";
7
- size?: "default" | "small";
8
- icon?: React.ReactNode;
9
- /**
10
- * For polymorphic support (e.g., `component="a"`), native to MUI.
11
- */
12
- component?: React.ElementType;
13
- /** Which Recursica Loader variant to use */
14
- loaderVariant?: RecursicaLoaderProps["variant"];
15
- /** The size variant for the loader */
16
- loaderSize?: RecursicaLoaderProps["size"];
17
- /** Whether to use the Recursica loader or fallback to the Mantine loader */
18
- useRecursicaLoader?: boolean;
19
- }
4
+ import { RecursicaButtonProps } from '@recursica/adapter-common';
20
5
  export type ButtonProps = RecursicaOverStyled<Omit<MuiButtonProps, "variant" | "size" | "color" | "fullWidth"> & RecursicaButtonProps>;
21
6
  /**
22
7
  * Recursica Button component wrapping MUI's Button.
@@ -34,7 +19,7 @@ export type ButtonProps = RecursicaOverStyled<Omit<MuiButtonProps, "variant" | "
34
19
  * <Button component={Link} to="/home">Home</Button>
35
20
  * ```
36
21
  */
37
- export declare const Button: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiButtonProps, "color" | "variant" | "size" | "fullWidth"> & RecursicaButtonProps, "style" | "className" | "classes" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "bgcolor" | "color" | "zIndex" | "position" | "boxShadow" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "backgroundColor" | "sx"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
22
+ export declare const Button: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiButtonProps, "color" | "variant" | "size" | "fullWidth"> & RecursicaButtonProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
38
23
  overStyled?: false | undefined;
39
24
  }, "ref"> | Omit<Omit<MuiButtonProps, "color" | "variant" | "size" | "fullWidth"> & RecursicaButtonProps & {
40
25
  overStyled: true;
@@ -1,3 +1,38 @@
1
- import { default as React } from 'react';
2
- export type CardProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Card: React.FC<CardProps>;
1
+ import { CardProps as MuiCardProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaCardProps, RecursicaCardSectionProps } from '@recursica/adapter-common';
4
+ export type CardProps = RecursicaOverStyled<MuiCardProps & RecursicaCardProps>;
5
+ export type CardSectionProps = RecursicaOverStyled<RecursicaCardSectionProps>;
6
+ /**
7
+ * A generalized edge-to-edge structural wrapper native to Mui. Strips typical boundary padding via negative margins to allow content (like maps or header images) to touch the border seamlessly.
8
+ */
9
+ export declare const CardSection: import('react').ForwardRefExoticComponent<CardSectionProps & import('react').RefAttributes<HTMLDivElement>>;
10
+ export type CardHeaderProps = RecursicaOverStyled<RecursicaCardSectionProps>;
11
+ /**
12
+ * Replaces standard generic Mui `<Card.Section>` wrappers by directly injecting the strict Recursica design tokens for header sizing, background drops, and intrinsic padding limits.
13
+ */
14
+ export declare const CardHeader: import('react').ForwardRefExoticComponent<CardHeaderProps & import('react').RefAttributes<HTMLDivElement>>;
15
+ export type CardFooterProps = RecursicaOverStyled<RecursicaCardSectionProps>;
16
+ /**
17
+ * Counterpart to `Card.Header`, applying specific footer elevation margins, sizes, and padding natively.
18
+ */
19
+ export declare const CardFooter: import('react').ForwardRefExoticComponent<CardFooterProps & import('react').RefAttributes<HTMLDivElement>>;
20
+ export type CardContentProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement>>;
21
+ /**
22
+ * Internal container that safely binds typography and structural flex gaps driven by the active UI kit tokens natively, preserving correct padding blocks compared to rigid `Card.Section` edges.
23
+ */
24
+ export declare const CardContent: import('react').ForwardRefExoticComponent<CardContentProps & import('react').RefAttributes<HTMLDivElement>>;
25
+ /**
26
+ * Recursica Card component wrapping Mui's Card (Paper).
27
+ *
28
+ * Supports polymorphism via the `component` prop or `renderRoot` for custom element rendering.
29
+ * Use dot-notation sub-components for structured card layouts.
30
+ */
31
+ declare const PolymorphicCard: any;
32
+ export declare const Card: typeof PolymorphicCard & {
33
+ Section: typeof CardSection;
34
+ Header: typeof CardHeader;
35
+ Footer: typeof CardFooter;
36
+ Content: typeof CardContent;
37
+ };
38
+ export {};
@@ -1,3 +1,14 @@
1
1
  import { default as React } from 'react';
2
- export type CheckboxProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Checkbox: React.FC<CheckboxProps>;
2
+ import { CheckboxProps as MuiCheckboxProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RequireAccessibleLabel, RecursicaCheckboxProps } from '@recursica/adapter-common';
4
+ import { CheckboxGroup } from './CheckboxGroup';
5
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
6
+ import { FormControlLayoutProps } from '../FormControlLayout/FormControlLayout';
7
+ export type CheckboxWrapperProps = Omit<MuiCheckboxProps, "size" | "color"> & RecursicaCheckboxProps & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">;
8
+ export type RecursicaCheckboxPropsAlias = RequireAccessibleLabel<CheckboxWrapperProps>;
9
+ export type CheckboxProps = RecursicaOverStyled<RecursicaCheckboxPropsAlias>;
10
+ type CheckboxComponent = React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>> & {
11
+ Group: typeof CheckboxGroup;
12
+ };
13
+ export declare const Checkbox: CheckboxComponent;
14
+ export {};
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { ReadOnlyControlProps, RecursicaCheckboxGroupProps as BaseRecursicaCheckboxGroupProps } from '@recursica/adapter-common';
3
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
+ import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
5
+ export declare const CheckboxGroupContext: React.Context<{
6
+ value?: any[];
7
+ onChange?: (event: React.SyntheticEvent, value: any) => void;
8
+ name?: string;
9
+ readOnly?: boolean;
10
+ } | null>;
11
+ export interface RecursicaCheckboxGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth" | "onChange" | "classes" | "withAsterisk">, ReadOnlyControlProps, BaseRecursicaCheckboxGroupProps {
12
+ }
13
+ export type CheckboxGroupProps = RecursicaOverStyled<RecursicaCheckboxGroupProps>;
14
+ export declare const CheckboxGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaCheckboxGroupProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
15
+ overStyled?: false | undefined;
16
+ }, "ref"> | Omit<RecursicaCheckboxGroupProps & {
17
+ overStyled: true;
18
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1,5 @@
1
- export * from './Checkbox';
1
+ import { CheckboxGroup } from './CheckboxGroup';
2
+ export { Checkbox } from './Checkbox';
3
+ export type { CheckboxProps } from './Checkbox';
4
+ export { CheckboxGroup };
5
+ export type { CheckboxGroupProps } from './CheckboxGroup';
@@ -1,3 +1,10 @@
1
1
  import { default as React } from 'react';
2
- export type ChipProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Chip: React.FC<ChipProps>;
2
+ import { ChipProps as MuiChipProps } from '@mui/material';
3
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
+ import { RecursicaChipProps } from '@recursica/adapter-common';
5
+ export type ChipProps = RecursicaOverStyled<Omit<MuiChipProps, "variant" | "size" | "color" | "radius"> & RecursicaChipProps>;
6
+ export declare const Chip: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiChipProps, "color" | "variant" | "size" | "radius"> & RecursicaChipProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
7
+ overStyled?: false | undefined;
8
+ }, "ref"> | Omit<Omit<MuiChipProps, "color" | "variant" | "size" | "radius"> & RecursicaChipProps & {
9
+ overStyled: true;
10
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -1,9 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { ContainerProps as MUIContainerProps } from '@mui/material';
3
- import { RecursicaSpacing } from '../../utils/filterStylingProps';
4
- export interface RecursicaContainerProps {
5
- children?: React.ReactNode;
6
- size?: "xs" | "sm" | "md" | "lg" | "xl" | RecursicaSpacing | (string & {}) | number;
7
- }
3
+ import { RecursicaContainerProps } from '@recursica/adapter-common';
8
4
  export type ContainerProps = Omit<MUIContainerProps, "maxWidth"> & RecursicaContainerProps;
9
5
  export declare const Container: React.ForwardRefExoticComponent<Omit<ContainerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,4 @@
1
1
  import { default as React } from 'react';
2
- export type DatePickerProps = React.HTMLAttributes<HTMLDivElement>;
2
+ import { RecursicaDatePickerProps } from '@recursica/adapter-common';
3
+ export type DatePickerProps = React.HTMLAttributes<HTMLDivElement> & RecursicaDatePickerProps;
3
4
  export declare const DatePicker: React.FC<DatePickerProps>;
@@ -1,3 +1,13 @@
1
1
  import { default as React } from 'react';
2
- export type DropdownProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Dropdown: React.FC<DropdownProps>;
2
+ import { SelectProps as MuiSelectProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaDropdownProps as BaseRecursicaDropdownProps } from '@recursica/adapter-common';
4
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
+ import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
+ export interface RecursicaDropdownProps extends Omit<MuiSelectProps, "size" | "variant" | "classes" | "inputProps" | "SelectDisplayProps">, Pick<RecursicaFormControlWrapperProps, "assistiveText" | "assistiveWithIcon" | "formLayout" | "labelSize" | "labelAlignment" | "labelOptionalText" | "labelWithEditIcon" | "onLabelEditClick">, ReadOnlyControlProps, BaseRecursicaDropdownProps {
7
+ }
8
+ export type DropdownProps = RecursicaOverStyled<RecursicaDropdownProps>;
9
+ export declare const Dropdown: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaDropdownProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
10
+ overStyled?: false | undefined;
11
+ }, "ref"> | Omit<RecursicaDropdownProps & {
12
+ overStyled: true;
13
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -1,26 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { BoxProps as MUIBoxProps } from '@mui/material';
3
- import { RecursicaSpacing, OmitSx } from '../../utils/filterStylingProps';
4
- export interface RecursicaFlexProps {
5
- /**
6
- * Content to render inside the flex container.
7
- */
8
- children?: React.ReactNode;
9
- /**
10
- * The gap between flex items. Accepts standard MUI spacing or Recursica gap tokens
11
- * (e.g. "rec-md").
12
- */
13
- gap?: string | number | RecursicaSpacing;
14
- /**
15
- * The vertical gap between flex items when wrapping. Accepts standard MUI spacing
16
- * or Recursica gap tokens.
17
- */
18
- rowGap?: string | number | RecursicaSpacing;
19
- /**
20
- * The horizontal gap between flex items when wrapping. Accepts standard MUI spacing
21
- * or Recursica gap tokens.
22
- */
23
- columnGap?: string | number | RecursicaSpacing;
24
- }
3
+ import { OmitSx } from '../../utils/filterStylingProps';
4
+ import { RecursicaFlexProps } from '@recursica/adapter-common';
25
5
  export type FlexProps = OmitSx<MUIBoxProps & RecursicaFlexProps>;
26
6
  export declare const Flex: React.ForwardRefExoticComponent<Omit<FlexProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,6 @@
1
1
  import { default as React } from 'react';
2
- export type FormControlLayoutProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const FormControlLayout: React.FC<FormControlLayoutProps>;
2
+ import { RecursicaFormControlLayoutProps } from '@recursica/adapter-common';
3
+ export interface FormControlLayoutProps extends React.HTMLAttributes<HTMLDivElement>, RecursicaFormControlLayoutProps {
4
+ overStyled?: boolean;
5
+ }
6
+ export declare const FormControlLayout: React.ForwardRefExoticComponent<FormControlLayoutProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,10 @@
1
1
  import { default as React } from 'react';
2
- export type FormControlWrapperProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const FormControlWrapper: React.FC<FormControlWrapperProps>;
2
+ import { FormControlProps } from '@mui/material';
3
+ import { RecursicaFormControlWrapperProps as BaseRecursicaFormControlWrapperProps } from '@recursica/adapter-common';
4
+ export interface RecursicaFormControlWrapperProps extends Omit<FormControlProps, "margin" | "variant" | "size" | "color">, BaseRecursicaFormControlWrapperProps {
5
+ overStyled?: boolean;
6
+ label?: React.ReactNode;
7
+ focused?: boolean;
8
+ }
9
+ export type FormControlWrapperProps = RecursicaFormControlWrapperProps;
10
+ export declare const FormControlWrapper: React.ForwardRefExoticComponent<Omit<RecursicaFormControlWrapperProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,11 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { StackProps as MUIStackProps } from '@mui/material';
3
- import { RecursicaSpacing, OmitSx } from '../../utils/filterStylingProps';
4
- export interface RecursicaGroupProps {
5
- children?: React.ReactNode;
6
- gap?: MUIStackProps["spacing"] | RecursicaSpacing;
7
- rowGap?: MUIStackProps["spacing"] | RecursicaSpacing;
8
- columnGap?: MUIStackProps["spacing"] | RecursicaSpacing;
9
- }
3
+ import { OmitSx } from '../../utils/filterStylingProps';
4
+ import { RecursicaGroupProps } from '@recursica/adapter-common';
10
5
  export type GroupProps = OmitSx<Omit<MUIStackProps, "spacing" | "direction"> & RecursicaGroupProps>;
11
6
  export declare const Group: React.ForwardRefExoticComponent<Omit<GroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +1,29 @@
1
1
  import { default as React } from 'react';
2
- export type HoverCardProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const HoverCard: React.FC<HoverCardProps>;
2
+ import { TooltipProps as MuiTooltipProps } from '@mui/material';
3
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
+ import { RecursicaHoverCardProps } from '@recursica/adapter-common';
5
+ export type HoverCardProps = RecursicaOverStyled<Omit<MuiTooltipProps, "title" | "children"> & RecursicaHoverCardProps>;
6
+ declare const HoverCardBase: {
7
+ ({ overStyled, withBeak, position, openDelay, closeDelay, disabled, offset, children, ...rest }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
8
+ displayName: string;
9
+ };
10
+ export type HoverCardTargetProps = {
11
+ children?: React.ReactNode;
12
+ };
13
+ declare const HoverCardTarget: {
14
+ ({ children, }: HoverCardTargetProps): import("react/jsx-runtime").JSX.Element;
15
+ displayName: string;
16
+ };
17
+ export type HoverCardDropdownProps = {
18
+ children?: React.ReactNode;
19
+ };
20
+ declare const HoverCardDropdown: {
21
+ ({ children, }: HoverCardDropdownProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ type HoverCardComponent = typeof HoverCardBase & {
25
+ Target: typeof HoverCardTarget;
26
+ Dropdown: typeof HoverCardDropdown;
27
+ };
28
+ export declare const HoverCard: HoverCardComponent;
29
+ export {};
@@ -1,3 +1,7 @@
1
1
  import { default as React } from 'react';
2
- export type LabelProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Label: React.FC<LabelProps>;
2
+ import { InputLabelProps } from '@mui/material';
3
+ import { RecursicaLabelProps } from '@recursica/adapter-common';
4
+ export interface LabelProps extends InputLabelProps, RecursicaLabelProps {
5
+ overStyled?: boolean;
6
+ }
7
+ export declare const Label: React.ForwardRefExoticComponent<Omit<LabelProps, "ref"> & React.RefAttributes<HTMLLabelElement>>;
@@ -1,13 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
  import { LinkProps as MUILinkProps } from '@mui/material';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- export interface RecursicaLinkProps {
5
- icon?: React.ReactNode;
6
- children?: React.ReactNode;
7
- component?: React.ElementType;
8
- }
4
+ import { RecursicaLinkProps } from '@recursica/adapter-common';
9
5
  export type LinkProps = RecursicaOverStyled<Omit<MUILinkProps, "underline"> & RecursicaLinkProps>;
10
- export declare const Link: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MUILinkProps, "underline"> & RecursicaLinkProps, "style" | "className" | "classes" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "bgcolor" | "color" | "zIndex" | "position" | "boxShadow" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "backgroundColor" | "sx"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
6
+ export declare const Link: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MUILinkProps, "underline"> & RecursicaLinkProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
11
7
  overStyled?: false | undefined;
12
8
  }, "ref"> | Omit<Omit<MUILinkProps, "underline"> & RecursicaLinkProps & {
13
9
  overStyled: true;
@@ -1,10 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { RecursicaOverStyled, RecursicaSize } from '../../utils/filterStylingProps';
3
- export interface RecursicaLoaderProps {
4
- /** Map to the component styles defined in variables */
5
- variant?: "oval" | "bars" | "dots";
6
- /** Map to Recursica sizes */
7
- size?: "sm" | "md" | "lg" | RecursicaSize;
8
- }
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaLoaderProps } from '@recursica/adapter-common';
9
4
  export type LoaderProps = RecursicaOverStyled<React.HTMLAttributes<HTMLSpanElement> & RecursicaLoaderProps>;
10
5
  export declare const Loader: React.ForwardRefExoticComponent<LoaderProps & React.RefAttributes<HTMLSpanElement>>;
@@ -1,3 +1,25 @@
1
- import { default as React } from 'react';
2
- export type MenuProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Menu: React.FC<MenuProps>;
1
+ import { MenuProps as MuiMenuProps, MenuItemProps as MuiMenuItemProps, DividerProps as MuiDividerProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaMenuProps } from '@recursica/adapter-common';
4
+ export type MenuProps = RecursicaOverStyled<MuiMenuProps & RecursicaMenuProps>;
5
+ export declare const Menu: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiMenuProps & RecursicaMenuProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
6
+ overStyled?: false | undefined;
7
+ }, "ref"> | Omit<MuiMenuProps & RecursicaMenuProps & {
8
+ overStyled: true;
9
+ }, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
10
+ export type MenuItemProps = RecursicaOverStyled<MuiMenuItemProps>;
11
+ export declare const MenuItem: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiMenuItemProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
12
+ overStyled?: false | undefined;
13
+ }, "ref"> | Omit<import('@mui/material').MenuItemOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "className" | "classes" | "style" | "sx" | "autoFocus" | "tabIndex" | "children" | "disabled" | "disableGutters" | "divider" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "dense" | "selected"> & {
14
+ component?: React.ElementType | undefined;
15
+ } & {
16
+ overStyled: true;
17
+ }, "ref">) & import('react').RefAttributes<HTMLLIElement>>;
18
+ export type MenuDividerProps = RecursicaOverStyled<MuiDividerProps>;
19
+ export declare const MenuDivider: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiDividerProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
20
+ overStyled?: false | undefined;
21
+ }, "ref"> | Omit<import('@mui/material').DividerOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "className" | "classes" | "style" | "sx" | "textAlign" | "children" | "variant" | "light" | "absolute" | "orientation" | "flexItem"> & {
22
+ component?: React.ElementType | undefined;
23
+ } & {
24
+ overStyled: true;
25
+ }, "ref">) & import('react').RefAttributes<HTMLHRElement>>;
@@ -1,3 +1,38 @@
1
1
  import { default as React } from 'react';
2
- export type ModalProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Modal: React.FC<ModalProps>;
2
+ import { DialogProps as MuiDialogProps, DialogTitleProps as MuiDialogTitleProps, DialogContentProps as MuiDialogContentProps, DialogActionsProps as MuiDialogActionsProps } from '@mui/material';
3
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
+ import { RecursicaModalProps } from '@recursica/adapter-common';
5
+ export type ModalProps = RecursicaOverStyled<Omit<MuiDialogProps, "size" | "radius" | "shadow" | "open"> & RecursicaModalProps>;
6
+ declare const ModalRoot: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiDialogProps, "shadow" | "size" | "open" | "radius"> & RecursicaModalProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
7
+ overStyled?: false | undefined;
8
+ }, "ref"> | Omit<Omit<MuiDialogProps, "shadow" | "size" | "open" | "radius"> & RecursicaModalProps & {
9
+ overStyled: true;
10
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
11
+ export type ModalTitleProps = RecursicaOverStyled<MuiDialogTitleProps>;
12
+ declare const ModalTitle: React.ForwardRefExoticComponent<(Omit<Omit<MuiDialogTitleProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
13
+ overStyled?: false | undefined;
14
+ }, "ref"> | Omit<{
15
+ component?: React.ElementType | undefined;
16
+ } & import('@mui/material').DialogTitleOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex" | "m" | "my" | "mx" | "mt" | "mb" | "ml" | "mr" | "p" | "py" | "px" | "pt" | "pb" | "pl" | "pr" | "gap" | "rowGap" | "columnGap" | "top" | "left" | "bottom" | "right" | "children" | "variant" | "alignContent" | "alignItems" | "alignSelf" | "boxSizing" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "textOverflow" | "textTransform" | "visibility" | "whiteSpace" | "width" | "flex" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "marginX" | "marginY" | "paddingX" | "paddingY" | "displayPrint" | "component" | "align" | "noWrap" | "gutterBottom" | "paragraph" | "variantMapping"> & {
17
+ component?: React.ElementType | undefined;
18
+ } & {
19
+ overStyled: true;
20
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
21
+ export type ModalBodyProps = RecursicaOverStyled<MuiDialogContentProps>;
22
+ declare const ModalBody: React.ForwardRefExoticComponent<(Omit<Omit<MuiDialogContentProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
23
+ overStyled?: false | undefined;
24
+ }, "ref"> | Omit<MuiDialogContentProps & {
25
+ overStyled: true;
26
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
27
+ export type ModalFooterProps = RecursicaOverStyled<MuiDialogActionsProps>;
28
+ declare const ModalFooter: React.ForwardRefExoticComponent<(Omit<Omit<MuiDialogActionsProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
29
+ overStyled?: false | undefined;
30
+ }, "ref"> | Omit<MuiDialogActionsProps & {
31
+ overStyled: true;
32
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
33
+ export declare const Modal: typeof ModalRoot & {
34
+ Title: typeof ModalTitle;
35
+ Body: typeof ModalBody;
36
+ Footer: typeof ModalFooter;
37
+ };
38
+ export {};
@@ -1,3 +1,13 @@
1
1
  import { default as React } from 'react';
2
- export type NumberInputProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const NumberInput: React.FC<NumberInputProps>;
2
+ import { TextFieldProps as MuiNumberInputProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaNumberInputProps as BaseRecursicaNumberInputProps } from '@recursica/adapter-common';
4
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
+ import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
+ export interface RecursicaNumberInputProps extends Omit<MuiNumberInputProps, "size" | "variant" | "radius" | "wrapperProps" | "classNames" | "styles">, Pick<RecursicaFormControlWrapperProps, "assistiveText" | "assistiveWithIcon" | "formLayout" | "labelSize" | "labelAlignment" | "labelOptionalText" | "labelWithEditIcon" | "onLabelEditClick">, ReadOnlyControlProps, BaseRecursicaNumberInputProps {
7
+ }
8
+ export type NumberInputProps = RecursicaOverStyled<RecursicaNumberInputProps>;
9
+ export declare const NumberInput: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaNumberInputProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
10
+ overStyled?: false | undefined;
11
+ }, "ref"> | Omit<RecursicaNumberInputProps & {
12
+ overStyled: true;
13
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -1,3 +1,12 @@
1
- import { default as React } from 'react';
2
- export type PaginationProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const Pagination: React.FC<PaginationProps>;
1
+ import { PaginationProps as MuiPaginationProps } from '@mui/material';
2
+ import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
+ import { RecursicaPaginationProps } from '@recursica/adapter-common';
4
+ export type PaginationProps = RecursicaOverStyled<MuiPaginationProps & RecursicaPaginationProps>;
5
+ /**
6
+ * Recursica Pagination component wrapping Mui's Pagination.
7
+ */
8
+ export declare const Pagination: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiPaginationProps & RecursicaPaginationProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
9
+ overStyled?: false | undefined;
10
+ }, "ref"> | Omit<MuiPaginationProps & RecursicaPaginationProps & {
11
+ overStyled: true;
12
+ }, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ export type PaginationIconType = "next" | "prev" | "first" | "last";
2
+ export declare const PaginationIcon: ({ type, className, ...props }: React.ComponentProps<"svg"> & {
3
+ type: PaginationIconType;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const NextWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const PrevWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FirstWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const LastWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;