@recursica/mui-adapter 0.6.0 → 0.9.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 (164) hide show
  1. package/ARCHITECTURE.md +15 -0
  2. package/CHANGELOG.md +31 -0
  3. package/SETUP.md +78 -0
  4. package/USAGE.md +55 -0
  5. package/dist/mui-adapter.cjs +26 -26
  6. package/dist/mui-adapter.cjs.map +1 -1
  7. package/dist/mui-adapter.css +1 -1
  8. package/dist/mui-adapter.js +3721 -3511
  9. package/dist/mui-adapter.js.map +1 -1
  10. package/dist/src/components/Accordion/Accordion.d.ts +9 -29
  11. package/dist/src/components/AssistiveElement/AssistiveElement.d.ts +2 -5
  12. package/dist/src/components/Autocomplete/Autocomplete.d.ts +4 -8
  13. package/dist/src/components/Avatar/Avatar.d.ts +1 -6
  14. package/dist/src/components/Badge/Badge.d.ts +1 -4
  15. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +2 -3
  16. package/dist/src/components/Button/Button.d.ts +2 -17
  17. package/dist/src/components/Card/Card.d.ts +2 -4
  18. package/dist/src/components/Checkbox/Checkbox.d.ts +4 -6
  19. package/dist/src/components/Checkbox/CheckboxGroup.d.ts +8 -6
  20. package/dist/src/components/Chip/Chip.d.ts +2 -11
  21. package/dist/src/components/Container/Container.d.ts +1 -5
  22. package/dist/src/components/DatePicker/DatePicker.d.ts +2 -1
  23. package/dist/src/components/Dropdown/Dropdown.d.ts +4 -14
  24. package/dist/src/components/Flex/Flex.d.ts +2 -22
  25. package/dist/src/components/FormControlLayout/FormControlLayout.d.ts +2 -7
  26. package/dist/src/components/FormControlWrapper/FormControlWrapper.d.ts +3 -18
  27. package/dist/src/components/Group/Group.d.ts +2 -7
  28. package/dist/src/components/HoverCard/HoverCard.d.ts +13 -39
  29. package/dist/src/components/Label/Label.d.ts +2 -9
  30. package/dist/src/components/Link/Link.d.ts +2 -6
  31. package/dist/src/components/Loader/Loader.d.ts +2 -7
  32. package/dist/src/components/Menu/Menu.d.ts +24 -98
  33. package/dist/src/components/Modal/Modal.d.ts +32 -31
  34. package/dist/src/components/NumberInput/NumberInput.d.ts +3 -5
  35. package/dist/src/components/Pagination/Pagination.d.ts +8 -41
  36. package/dist/src/components/Panel/Panel.d.ts +5 -18
  37. package/dist/src/components/Radio/Radio.d.ts +4 -4
  38. package/dist/src/components/Radio/RadioGroup.d.ts +3 -7
  39. package/dist/src/components/ReadOnlyField/ReadOnlyField.d.ts +2 -5
  40. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +5 -15
  41. package/dist/src/components/Slider/Slider.d.ts +4 -14
  42. package/dist/src/components/Stack/Stack.d.ts +2 -5
  43. package/dist/src/components/Stepper/Stepper.d.ts +36 -16
  44. package/dist/src/components/Switch/Switch.d.ts +4 -4
  45. package/dist/src/components/Switch/SwitchGroup.d.ts +4 -4
  46. package/dist/src/components/Table/Table.d.ts +2 -1
  47. package/dist/src/components/Tabs/Tabs.d.ts +11 -26
  48. package/dist/src/components/Text/Text.d.ts +2 -16
  49. package/dist/src/components/TextArea/TextArea.d.ts +3 -9
  50. package/dist/src/components/TextField/TextField.d.ts +3 -7
  51. package/dist/src/components/TimePicker/TimePicker.d.ts +2 -1
  52. package/dist/src/components/Timeline/Timeline.d.ts +2 -1
  53. package/dist/src/components/Timeline/TimelineItem.d.ts +2 -13
  54. package/dist/src/components/Title/Title.d.ts +2 -15
  55. package/dist/src/components/Toast/Toast.d.ts +11 -16
  56. package/dist/src/components/Tooltip/Tooltip.d.ts +7 -21
  57. package/dist/src/components/TransferList/TransferList.d.ts +2 -1
  58. package/dist/src/components/Typography/Typography.d.ts +1 -1
  59. package/dist/src/utils/RequireAccessibleLabel.d.ts +1 -18
  60. package/dist/src/utils/filterStylingProps.d.ts +1 -11
  61. package/llms.txt +16 -0
  62. package/package.json +9 -2
  63. package/src/components/Accordion/Accordion.module.css +1 -2
  64. package/src/components/Accordion/Accordion.stories.tsx +0 -18
  65. package/src/components/Accordion/Accordion.tsx +19 -23
  66. package/src/components/AssistiveElement/AssistiveElement.module.css +32 -29
  67. package/src/components/AssistiveElement/AssistiveElement.stories.tsx +10 -27
  68. package/src/components/AssistiveElement/AssistiveElement.tsx +11 -15
  69. package/src/components/Autocomplete/Autocomplete.module.css +17 -18
  70. package/src/components/Autocomplete/Autocomplete.stories.tsx +7 -16
  71. package/src/components/Autocomplete/Autocomplete.tsx +27 -45
  72. package/src/components/Avatar/Avatar.tsx +2 -13
  73. package/src/components/Badge/Badge.tsx +2 -5
  74. package/src/components/Breadcrumb/Breadcrumb.tsx +1 -4
  75. package/src/components/Button/Button.module.css +19 -61
  76. package/src/components/Button/Button.stories.tsx +24 -23
  77. package/src/components/Button/Button.tsx +7 -18
  78. package/src/components/Card/Card.module.css +36 -0
  79. package/src/components/Card/Card.tsx +6 -4
  80. package/src/components/Checkbox/Checkbox.module.css +27 -10
  81. package/src/components/Checkbox/Checkbox.tsx +124 -24
  82. package/src/components/Checkbox/CheckboxGroup.stories.tsx +139 -0
  83. package/src/components/Checkbox/CheckboxGroup.tsx +43 -23
  84. package/src/components/Chip/Chip.module.css +52 -34
  85. package/src/components/Chip/Chip.tsx +45 -47
  86. package/src/components/Container/Container.stories.tsx +103 -20
  87. package/src/components/Container/Container.tsx +1 -13
  88. package/src/components/DatePicker/DatePicker.stories.tsx +125 -19
  89. package/src/components/DatePicker/DatePicker.tsx +3 -1
  90. package/src/components/Dropdown/Dropdown.tsx +7 -9
  91. package/src/components/FileInput/FileInput.stories.tsx +2 -19
  92. package/src/components/FileUpload/FileUpload.stories.tsx +2 -19
  93. package/src/components/Flex/Flex.stories.tsx +113 -20
  94. package/src/components/Flex/Flex.tsx +16 -26
  95. package/src/components/FormControlLayout/FormControlLayout.stories.tsx +0 -8
  96. package/src/components/FormControlLayout/FormControlLayout.tsx +18 -7
  97. package/src/components/FormControlWrapper/FormControlWrapper.module.css +1 -10
  98. package/src/components/FormControlWrapper/FormControlWrapper.stories.tsx +12 -21
  99. package/src/components/FormControlWrapper/FormControlWrapper.tsx +11 -30
  100. package/src/components/Group/Group.stories.tsx +6 -30
  101. package/src/components/Group/Group.tsx +14 -9
  102. package/src/components/HoverCard/HoverCard.tsx +72 -75
  103. package/src/components/Label/Label.module.css +4 -0
  104. package/src/components/Label/Label.stories.tsx +18 -12
  105. package/src/components/Label/Label.tsx +3 -9
  106. package/src/components/Link/Link.module.css +4 -3
  107. package/src/components/Link/Link.stories.tsx +2 -8
  108. package/src/components/Link/Link.tsx +1 -5
  109. package/src/components/Loader/Loader.module.css +1 -2
  110. package/src/components/Loader/Loader.tsx +1 -7
  111. package/src/components/Menu/IMPLEMENTATION_NOTES.md +4 -0
  112. package/src/components/Menu/Menu.stories.tsx +106 -188
  113. package/src/components/Menu/Menu.tsx +34 -280
  114. package/src/components/Modal/Modal.tsx +158 -160
  115. package/src/components/NumberInput/NumberInput.tsx +6 -18
  116. package/src/components/Pagination/IMPLEMENTATION_NOTES.md +3 -0
  117. package/src/components/Pagination/Pagination.module.css +12 -24
  118. package/src/components/Pagination/Pagination.stories.tsx +0 -8
  119. package/src/components/Pagination/Pagination.tsx +20 -140
  120. package/src/components/Panel/Panel.tsx +7 -30
  121. package/src/components/Radio/Radio.module.css +25 -10
  122. package/src/components/Radio/Radio.tsx +51 -19
  123. package/src/components/Radio/RadioGroup.stories.tsx +117 -0
  124. package/src/components/Radio/RadioGroup.tsx +26 -12
  125. package/src/components/ReadOnlyField/ReadOnlyField.module.css +6 -6
  126. package/src/components/ReadOnlyField/ReadOnlyField.stories.tsx +5 -36
  127. package/src/components/ReadOnlyField/ReadOnlyField.tsx +9 -13
  128. package/src/components/SegmentedControl/SegmentedControl.module.css +23 -47
  129. package/src/components/SegmentedControl/SegmentedControl.tsx +44 -14
  130. package/src/components/Slider/Slider.module.css +1 -4
  131. package/src/components/Slider/Slider.stories.tsx +3 -3
  132. package/src/components/Slider/Slider.tsx +26 -25
  133. package/src/components/Stack/Stack.stories.tsx +4 -25
  134. package/src/components/Stack/Stack.tsx +1 -5
  135. package/src/components/Stepper/IMPLEMENTATION_NOTES.md +4 -0
  136. package/src/components/Stepper/Stepper.stories.tsx +56 -43
  137. package/src/components/Stepper/Stepper.tsx +89 -87
  138. package/src/components/Switch/Switch.module.css +21 -0
  139. package/src/components/Switch/Switch.tsx +63 -16
  140. package/src/components/Switch/SwitchGroup.stories.tsx +132 -0
  141. package/src/components/Switch/SwitchGroup.tsx +27 -18
  142. package/src/components/Table/Table.stories.tsx +1 -19
  143. package/src/components/Table/Table.tsx +3 -1
  144. package/src/components/Tabs/IMPLEMENTATION_NOTES.md +4 -0
  145. package/src/components/Tabs/Tabs.stories.tsx +41 -24
  146. package/src/components/Tabs/Tabs.tsx +49 -66
  147. package/src/components/Text/Text.stories.tsx +5 -17
  148. package/src/components/Text/Text.tsx +1 -15
  149. package/src/components/TextArea/TextArea.tsx +7 -17
  150. package/src/components/TextField/TextField.stories.tsx +1 -27
  151. package/src/components/TextField/TextField.tsx +4 -6
  152. package/src/components/TimePicker/TimePicker.stories.tsx +2 -19
  153. package/src/components/TimePicker/TimePicker.tsx +3 -1
  154. package/src/components/Timeline/Timeline.tsx +4 -1
  155. package/src/components/Timeline/TimelineItem.tsx +1 -12
  156. package/src/components/Title/Title.stories.tsx +0 -18
  157. package/src/components/Title/Title.tsx +1 -7
  158. package/src/components/Toast/Toast.stories.tsx +1 -1
  159. package/src/components/Toast/Toast.tsx +62 -28
  160. package/src/components/Tooltip/Tooltip.tsx +11 -37
  161. package/src/components/TransferList/TransferList.stories.tsx +1 -19
  162. package/src/components/TransferList/TransferList.tsx +3 -1
  163. package/src/utils/RequireAccessibleLabel.ts +1 -12
  164. package/src/utils/filterStylingProps.ts +7 -20
@@ -1,99 +1,25 @@
1
- import { MenuProps as MuiMenuProps } from '@mui/material';
1
+ import { MenuProps as MuiMenuProps, MenuItemProps as MuiMenuItemProps, DividerProps as MuiDividerProps } from '@mui/material';
2
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- /**
4
- * Recursica Menu component wrapping Mui's composable Menu.
5
- *
6
- * Usage follows the composable dot-notation pattern:
7
- * ```tsx
8
- * <Menu>
9
- * <Menu.Target><Button>Open</Button></Menu.Target>
10
- * <Menu.Dropdown>
11
- * <Menu.Label>Section</Menu.Label>
12
- * <Menu.Item>Action</Menu.Item>
13
- * <Menu.Divider />
14
- * <Menu.Item>Another action</Menu.Item>
15
- * </Menu.Dropdown>
16
- * </Menu>
17
- * ```
18
- */
19
- export type MenuProps = RecursicaOverStyled<MuiMenuProps>;
20
- declare const MenuBase: {
21
- ({ overStyled, ...rest }: MenuProps): import("react/jsx-runtime").JSX.Element;
22
- displayName: string;
23
- };
24
- /**
25
- * Wrapper for the element that triggers the menu.
26
- * Requires a single child element that supports ref forwarding.
27
- */
28
- export type MenuTargetProps = any;
29
- declare const MenuTarget: {
30
- (props: MenuTargetProps): import("react/jsx-runtime").JSX.Element;
31
- displayName: string;
32
- };
33
- /** The dropdown panel containing menu items, dividers, and labels. */
34
- export type MenuDropdownProps = RecursicaOverStyled<any>;
35
- declare const MenuDropdown: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
36
- /**
37
- * An individual actionable item within the menu dropdown.
38
- *
39
- * **Note:** Mui's `color` prop is stripped in strict mode to enforce
40
- * design token adherence. Use `overStyled={true}` if you need to bypass.
41
- */
42
- export type MenuItemProps = RecursicaOverStyled<Omit<any, "color">>;
43
- /**
44
- * An individual actionable item within the menu dropdown.
45
- *
46
- * Supports polymorphism via the `component` prop for link-style items.
47
- * @example
48
- * ```tsx
49
- * <Menu.Item component="a" href="/settings">Settings</Menu.Item>
50
- * ```
51
- */
52
- declare const MenuItem: any;
53
- /** A visual separator between groups of menu items. */
54
- export type MenuDividerProps = RecursicaOverStyled<any>;
55
- declare const MenuDivider: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<HTMLHRElement>>;
56
- /** A non-interactive section label used to categorize groups of menu items. */
57
- export type MenuLabelProps = RecursicaOverStyled<any>;
58
- declare const MenuLabel: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
59
- /** Container for a submenu, wrapping Menu.Sub.Target and Menu.Sub.Dropdown. */
60
- export type MenuSubProps = any;
61
- declare const MenuSubBase: {
62
- (props: MenuSubProps): import("react/jsx-runtime").JSX.Element;
63
- displayName: string;
64
- };
65
- /** Wrapper for the element that triggers the submenu. */
66
- export type MenuSubTargetProps = any;
67
- declare const MenuSubTarget: {
68
- (props: MenuSubTargetProps): import("react/jsx-runtime").JSX.Element;
69
- displayName: string;
70
- };
71
- /**
72
- * A menu item that acts as a submenu trigger.
73
- * Renders within Menu.Sub.Target and displays a chevron indicator.
74
- */
75
- export type MenuSubItemProps = RecursicaOverStyled<Omit<any, "color">>;
76
- /**
77
- * A menu item that acts as a submenu trigger.
78
- *
79
- * Supports polymorphism via the `component` prop.
80
- */
81
- declare const MenuSubItem: any;
82
- /** The dropdown panel for a submenu. */
83
- export type MenuSubDropdownProps = RecursicaOverStyled<any>;
84
- declare const MenuSubDropdown: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
85
- type MenuSubComponent = typeof MenuSubBase & {
86
- Target: typeof MenuSubTarget;
87
- Item: typeof MenuSubItem;
88
- Dropdown: typeof MenuSubDropdown;
89
- };
90
- type MenuComponent = typeof MenuBase & {
91
- Target: typeof MenuTarget;
92
- Dropdown: typeof MenuDropdown;
93
- Item: typeof MenuItem;
94
- Divider: typeof MenuDivider;
95
- Label: typeof MenuLabel;
96
- Sub: MenuSubComponent;
97
- };
98
- export declare const Menu: MenuComponent;
99
- export {};
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,37 +1,38 @@
1
1
  import { default as React } from 'react';
2
- import { Modal as MuiModal, ModalProps as MuiModalProps } from '@mui/material';
2
+ import { DialogProps as MuiDialogProps, DialogTitleProps as MuiDialogTitleProps, DialogContentProps as MuiDialogContentProps, DialogActionsProps as MuiDialogActionsProps } from '@mui/material';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- /**
5
- * Properties for the strictly-tokenized Modal component.
6
- * Native Mui abstract properties like `size`, `radius`, and `shadow` have been stripped out
7
- * because they directly conflict with the non-negotiable pixel boundaries defined in the Recursica UI Kit.
8
- */
9
- export type ModalProps = RecursicaOverStyled<Omit<MuiModalProps, "size" | "radius" | "shadow">>;
10
- /**
11
- * The `Modal.Footer` provides a perfectly padded container for modal actions.
12
- *
13
- * **Recursica Abstract:**
14
- * By default, this container aligns its children to the right (`justify-content: flex-end`)
15
- * and applies the standard Figma button-gap spacing.
16
- *
17
- * > [!IMPORTANT]
18
- * > **Button Hierarchy:** Recursica design language explicitly requires that the
19
- * > primary action button MUST be the right-most element, with the secondary
20
- * > (outline variant) action placed immediately to the left of it.
21
- */
22
- declare const ModalFooter: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
- declare const ModalBody: React.ForwardRefExoticComponent<any>;
24
- interface ModalComponent extends React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>> {
25
- Root: typeof MuiModal.Root;
26
- Overlay: typeof MuiModal.Overlay;
27
- Content: typeof MuiModal.Content;
28
- Header: typeof MuiModal.Header;
29
- Title: typeof MuiModal.Title;
30
- CloseButton: typeof MuiModal.CloseButton;
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;
31
35
  Body: typeof ModalBody;
32
36
  Footer: typeof ModalFooter;
33
- }
34
- export declare const Modal: ModalComponent & {
35
- Footer: typeof ModalFooter;
36
37
  };
37
38
  export {};
@@ -1,14 +1,12 @@
1
1
  import { default as React } from 'react';
2
2
  import { TextFieldProps as MuiNumberInputProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
3
+ import { ReadOnlyControlProps, RecursicaNumberInputProps as BaseRecursicaNumberInputProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
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 {
7
- /** Enables/disables the controls to increment and decrement the value */
8
- hideControls?: boolean;
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 {
9
7
  }
10
8
  export type NumberInputProps = RecursicaOverStyled<RecursicaNumberInputProps>;
11
- export declare const NumberInput: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaNumberInputProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
9
+ export declare const NumberInput: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaNumberInputProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
12
10
  overStyled?: false | undefined;
13
11
  }, "ref"> | Omit<RecursicaNumberInputProps & {
14
12
  overStyled: true;
@@ -1,45 +1,12 @@
1
- import { default as React } from 'react';
2
- import { Pagination as MuiPagination, PaginationProps as MuiPaginationProps, PaginationRootProps as MuiPaginationRootProps } from '@mui/material';
1
+ import { PaginationProps as MuiPaginationProps } from '@mui/material';
3
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- import { PaginationIcon } from './Pagination.icons';
5
- export type PaginationProps = RecursicaOverStyled<MuiPaginationProps> & {
6
- /** If set to true, displays text labels alongside the icons for next/previous/first/last edges. */
7
- withLabels?: boolean;
8
- };
9
- export type PaginationRootProps = RecursicaOverStyled<MuiPaginationRootProps>;
10
- export type PaginationEdgeProps<T extends React.ElementType> = React.ComponentProps<T> & {
11
- /** If set to true, displays text labels alongside the icon. */
12
- withLabel?: boolean;
13
- icon?: any;
14
- };
15
- declare const _PaginationRoot: React.ForwardRefExoticComponent<any>;
16
- declare const _PaginationNext: React.ForwardRefExoticComponent<any>;
17
- declare const _PaginationPrevious: React.ForwardRefExoticComponent<any>;
18
- declare const _PaginationFirst: React.ForwardRefExoticComponent<any>;
19
- declare const _PaginationLast: React.ForwardRefExoticComponent<any>;
20
- declare const _Pagination: React.ForwardRefExoticComponent<(Omit<Omit<MuiPaginationProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
21
- overStyled?: false | undefined;
22
- } & {
23
- /** If set to true, displays text labels alongside the icons for next/previous/first/last edges. */
24
- withLabels?: boolean;
25
- }, "ref"> | Omit<MuiPaginationProps & {
26
- overStyled: true;
27
- } & {
28
- /** If set to true, displays text labels alongside the icons for next/previous/first/last edges. */
29
- withLabels?: boolean;
30
- }, "ref">) & React.RefAttributes<HTMLDivElement>>;
3
+ import { RecursicaPaginationProps } from '@recursica/adapter-common';
4
+ export type PaginationProps = RecursicaOverStyled<MuiPaginationProps & RecursicaPaginationProps>;
31
5
  /**
32
6
  * Recursica Pagination component wrapping Mui's Pagination.
33
7
  */
34
- export declare const Pagination: typeof _Pagination & {
35
- Root: typeof _PaginationRoot;
36
- Items: typeof MuiPagination.Items;
37
- Control: typeof MuiPagination.Control;
38
- Dots: typeof MuiPagination.Dots;
39
- Next: typeof _PaginationNext;
40
- Previous: typeof _PaginationPrevious;
41
- First: typeof _PaginationFirst;
42
- Last: typeof _PaginationLast;
43
- Icon: typeof PaginationIcon;
44
- };
45
- export {};
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>>;
@@ -1,13 +1,5 @@
1
- import { Drawer as MuiDrawer, DrawerProps as MuiDrawerProps } from '@mui/material';
2
1
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- export interface RecursicaPanelProps extends MuiDrawerProps {
4
- /**
5
- * If true, forces the header text to a single line and truncates with an ellipsis.
6
- * Note: While the prop is named `wrapHeaderText` for backward compatibility,
7
- * setting it to `true` actually PREVENTS wrapping (it forces truncation).
8
- */
9
- wrapHeaderText?: boolean;
10
- }
2
+ import { RecursicaPanelProps } from '@recursica/adapter-common';
11
3
  /**
12
4
  * Recursica Panel root props. Extends Mui Drawer.
13
5
  */
@@ -39,7 +31,10 @@ export type PanelProps = RecursicaOverStyled<RecursicaPanelProps>;
39
31
  * - `Panel.Stack` — Stacked drawer context
40
32
  */
41
33
  declare const PanelBase: {
42
- ({ overStyled, position, keepMounted, wrapHeaderText, ...rest }: PanelProps): import("react/jsx-runtime").JSX.Element;
34
+ ({ overStyled, position, keepMounted, wrapHeaderText, ...rest }: PanelProps & {
35
+ position?: "left" | "right" | "top" | "bottom";
36
+ opened?: boolean;
37
+ }): import("react/jsx-runtime").JSX.Element;
43
38
  displayName: string;
44
39
  };
45
40
  export type PanelFooterProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement>>;
@@ -51,14 +46,6 @@ export type PanelFooterProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivE
51
46
  */
52
47
  export declare const PanelFooter: import('react').ForwardRefExoticComponent<PanelFooterProps & import('react').RefAttributes<HTMLDivElement>>;
53
48
  type PanelComponent = typeof PanelBase & {
54
- Root: typeof MuiDrawer.Root;
55
- Overlay: typeof MuiDrawer.Overlay;
56
- Content: typeof MuiDrawer.Content;
57
- Header: typeof MuiDrawer.Header;
58
- Title: typeof MuiDrawer.Title;
59
- CloseButton: typeof MuiDrawer.CloseButton;
60
- Body: typeof MuiDrawer.Body;
61
- Stack: typeof MuiDrawer.Stack;
62
49
  Footer: typeof PanelFooter;
63
50
  };
64
51
  export declare const Panel: PanelComponent;
@@ -1,11 +1,11 @@
1
1
  import { RadioProps as MuiRadioProps } from '@mui/material';
2
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { ReadOnlyControlProps, RequireAccessibleLabel, RecursicaRadioProps } from '@recursica/adapter-common';
3
3
  import { RadioGroup } from './RadioGroup';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
- import { RequireAccessibleLabel } from '../../utils/RequireAccessibleLabel';
6
5
  import { FormControlLayoutProps } from '../FormControlLayout/FormControlLayout';
7
- export type RecursicaRadioProps = RequireAccessibleLabel<Omit<MuiRadioProps, "size" | "color"> & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">>;
8
- export type RadioProps = RecursicaOverStyled<RecursicaRadioProps>;
6
+ export type RadioWrapperProps = Omit<MuiRadioProps, "size" | "color"> & RecursicaRadioProps & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">;
7
+ export type RecursicaRadioPropsAlias = RequireAccessibleLabel<RadioWrapperProps>;
8
+ export type RadioProps = RecursicaOverStyled<RecursicaRadioPropsAlias>;
9
9
  type RadioComponent = React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>> & {
10
10
  Group: typeof RadioGroup;
11
11
  };
@@ -1,13 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
  import { RadioGroupProps as MuiRadioGroupProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
3
+ import { ReadOnlyControlProps, RecursicaRadioGroupProps as BaseRecursicaRadioGroupProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
5
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
- export interface RecursicaRadioGroupProps extends Omit<MuiRadioGroupProps, "size" | "labelProps">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
6
+ export interface RecursicaRadioGroupProps extends Omit<MuiRadioGroupProps, "size" | "labelProps" | "classes" | "ref" | "onChange" | "value" | "defaultValue">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth" | "classes" | "onChange" | keyof MuiRadioGroupProps>, ReadOnlyControlProps, BaseRecursicaRadioGroupProps {
7
7
  }
8
8
  export type RadioGroupProps = RecursicaOverStyled<RecursicaRadioGroupProps>;
9
- export declare const RadioGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaRadioGroupProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
10
- overStyled?: false | undefined;
11
- }, "ref"> | Omit<RecursicaRadioGroupProps & {
12
- overStyled: true;
13
- }, "ref">) & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,8 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { ReadOnlyControlProps, RecursicaReadOnlyFieldProps as BaseRecursicaReadOnlyFieldProps } from '@recursica/adapter-common';
3
3
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
4
- export type ReadOnlyFieldProps = Omit<RecursicaFormControlWrapperProps, "error" | "focused"> & ReadOnlyControlProps & {
5
- value?: any;
6
- type?: "text" | "boolean" | "number" | "switch" | "date";
7
- };
4
+ export type ReadOnlyFieldProps = Omit<RecursicaFormControlWrapperProps, "error" | "focused" | "controlMaxWidth" | "controlMinWidth"> & ReadOnlyControlProps & BaseRecursicaReadOnlyFieldProps;
8
5
  export declare const ReadOnlyField: React.ForwardRefExoticComponent<Omit<ReadOnlyFieldProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,29 +1,19 @@
1
1
  import { ToggleButtonGroupProps as MuiSegmentedControlProps } from '@mui/material';
2
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- export interface RecursicaSegmentedControlProps {
4
- /** The orientation of the control */
5
- orientation?: "horizontal" | "vertical";
6
- /** If true, the control will take up the full width of its container */
7
- fullWidth?: boolean;
8
- /**
9
- * SegmentedControl should NOT be allowed to be disabled by design.
10
- * This component explicitly disables the `disabled` prop.
11
- */
12
- disabled?: never;
13
- }
14
- export type SegmentedControlProps = RecursicaOverStyled<Omit<MuiSegmentedControlProps, "variant" | "size" | "radius" | "color" | "classNames" | "className" | "disabled"> & {
3
+ import { RecursicaSegmentedControlProps } from '@recursica/adapter-common';
4
+ export type SegmentedControlProps = RecursicaOverStyled<Omit<MuiSegmentedControlProps, "variant" | "size" | "radius" | "color" | "classNames" | "className" | "disabled" | "value" | "onChange"> & {
15
5
  className?: string;
16
6
  classNames?: Partial<Record<string, string>>;
17
7
  } & RecursicaSegmentedControlProps>;
18
8
  /**
19
9
  * Recursica SegmentedControl component wrapping Mui's SegmentedControl.
20
10
  */
21
- export declare const SegmentedControl: import('react').ForwardRefExoticComponent<(Omit<Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "variant" | "disabled" | "size" | "radius" | "classNames"> & {
11
+ export declare const SegmentedControl: import('react').ForwardRefExoticComponent<(Omit<Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "value" | "classNames" | "onChange" | "variant" | "disabled" | "size" | "radius"> & {
22
12
  className?: string;
23
13
  classNames?: Partial<Record<string, string>>;
24
- } & RecursicaSegmentedControlProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
14
+ } & RecursicaSegmentedControlProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
25
15
  overStyled?: false | undefined;
26
- }, "ref"> | Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "variant" | "disabled" | "size" | "radius" | "classNames"> & {
16
+ }, "ref"> | Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "value" | "classNames" | "onChange" | "variant" | "disabled" | "size" | "radius"> & {
27
17
  className?: string;
28
18
  classNames?: Partial<Record<string, string>>;
29
19
  } & RecursicaSegmentedControlProps & {
@@ -1,19 +1,9 @@
1
1
  import { default as React } from 'react';
2
- import { SliderProps as MuiSliderProps, InputWrapperProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { SliderProps as MuiSliderProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaSliderProps as BaseRecursicaSliderProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
5
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
- export interface RecursicaSliderProps extends Omit<Omit<MuiSliderProps, "size" | "color">, "variant" | "radius" | "wrapperProps" | "classNames" | "styles" | "label">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, Pick<InputWrapperProps, "error" | "required" | "withAsterisk">, ReadOnlyControlProps {
7
- /** The form control label displayed above or beside the slider track. */
8
- label?: React.ReactNode;
9
- /** Floating tooltip shown above the thumb when dragging. Replaces Mui's `label`. */
10
- tooltipLabel?: MuiSliderProps["label"];
11
- /** An optional icon rendered to the left of the slider track. */
12
- icon?: React.ReactNode;
13
- /** Whether to render a numeric input field side-by-side or stacked with the track. Defaults to false. */
14
- showInput?: boolean;
15
- /** Whether to render min and max labels below the track. Defaults to true. */
16
- showMinMaxLabels?: boolean;
6
+ export interface RecursicaSliderProps extends Omit<MuiSliderProps, "size" | "color" | "classes" | "onChange" | "onChangeCommitted">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth" | "error" | "required" | "withAsterisk" | keyof MuiSliderProps>, ReadOnlyControlProps, BaseRecursicaSliderProps {
17
7
  }
18
8
  export type SliderProps = RecursicaOverStyled<RecursicaSliderProps>;
19
9
  /**
@@ -22,7 +12,7 @@ export type SliderProps = RecursicaOverStyled<RecursicaSliderProps>;
22
12
  * Implements a bidirectional text input field next to the slider track, responsive layouts,
23
13
  * custom typography-bound min/max labels, an optional leading icon, and an explicit read-only layout.
24
14
  */
25
- export declare const Slider: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaSliderProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
15
+ export declare const Slider: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaSliderProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
26
16
  overStyled?: false | undefined;
27
17
  }, "ref"> | Omit<RecursicaSliderProps & {
28
18
  overStyled: true;
@@ -1,9 +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 RecursicaStackProps {
5
- children?: React.ReactNode;
6
- gap?: MUIStackProps["spacing"] | RecursicaSpacing;
7
- }
3
+ import { OmitSx } from '../../utils/filterStylingProps';
4
+ import { RecursicaStackProps } from '@recursica/adapter-common';
8
5
  export type StackProps = OmitSx<Omit<MUIStackProps, "spacing"> & RecursicaStackProps>;
9
6
  export declare const Stack: React.ForwardRefExoticComponent<Omit<StackProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,22 +1,42 @@
1
1
  import { default as React } from 'react';
2
- import { StepperProps as MuiStepperProps } from '@mui/material';
2
+ import { StepProps as MuiStepProps, StepLabelProps as MuiStepLabelProps, StepButtonProps as MuiStepButtonProps, StepConnectorProps as MuiStepConnectorProps } from '@mui/material';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- export interface RecursicaStepperProps extends Omit<MuiStepperProps, "size" | "color" | "radius" | "iconSize" | "contentPadding" | "activeStep"> {
5
- size?: "small" | "large";
6
- active?: number;
7
- onStepClick?: (stepIndex: number) => void;
8
- orientation?: "horizontal" | "vertical";
9
- }
4
+ import { RecursicaStepperProps } from '@recursica/adapter-common';
10
5
  export type StepperProps = RecursicaOverStyled<RecursicaStepperProps>;
11
- export declare const StepperStep: React.FC<any>;
12
- export declare const StepperCompleted: React.FC<any>;
13
- declare const _Stepper: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaStepperProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
6
+ export declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
7
+ export type StepProps = RecursicaOverStyled<MuiStepProps>;
8
+ export declare const Step: React.ForwardRefExoticComponent<(Omit<Omit<MuiStepProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
14
9
  overStyled?: false | undefined;
15
- }, "ref"> | Omit<RecursicaStepperProps & {
10
+ }, "ref"> | Omit<{
11
+ component?: React.ElementType | undefined;
12
+ } & import('@mui/material').StepOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "classes" | "style" | "sx" | "children" | "disabled" | "expanded" | "component" | "last" | "active" | "index" | "completed"> & {
13
+ component?: React.ElementType | undefined;
14
+ } & {
15
+ overStyled: true;
16
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
17
+ export type StepButtonProps = RecursicaOverStyled<MuiStepButtonProps>;
18
+ export declare const StepButton: React.ForwardRefExoticComponent<(Omit<Omit<MuiStepButtonProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
19
+ overStyled?: false | undefined;
20
+ }, "ref"> | Omit<import('@mui/material').StepButtonOwnProps & Omit<import('@mui/material').ButtonBaseOwnProps, "classes"> & import('@mui/material/OverridableComponent').CommonProps & Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "className" | "classes" | "style" | "sx" | "tabIndex" | "children" | "disabled" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "icon" | "optional"> & {
21
+ component?: React.ElementType | undefined;
22
+ } & {
23
+ overStyled: true;
24
+ }, "ref">) & React.RefAttributes<HTMLButtonElement>>;
25
+ export type StepLabelProps = RecursicaOverStyled<MuiStepLabelProps & {
26
+ description?: React.ReactNode;
27
+ }>;
28
+ export declare const StepLabel: React.ForwardRefExoticComponent<(Omit<Omit<MuiStepLabelProps & {
29
+ description?: React.ReactNode;
30
+ }, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
31
+ overStyled?: false | undefined;
32
+ }, "ref"> | Omit<MuiStepLabelProps & {
33
+ description?: React.ReactNode;
34
+ } & {
35
+ overStyled: true;
36
+ }, "ref">) & React.RefAttributes<HTMLDivElement>>;
37
+ export type StepConnectorProps = RecursicaOverStyled<MuiStepConnectorProps>;
38
+ export declare const StepConnector: React.ForwardRefExoticComponent<(Omit<Omit<MuiStepConnectorProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
39
+ overStyled?: false | undefined;
40
+ }, "ref"> | Omit<MuiStepConnectorProps & {
16
41
  overStyled: true;
17
42
  }, "ref">) & React.RefAttributes<HTMLDivElement>>;
18
- export declare const Stepper: typeof _Stepper & {
19
- Step: typeof StepperStep;
20
- Completed: typeof StepperCompleted;
21
- };
22
- export {};
@@ -1,10 +1,10 @@
1
1
  import { SwitchProps as MuiSwitchProps } from '@mui/material';
2
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { ReadOnlyControlProps, RequireAccessibleLabel, RecursicaSwitchProps } from '@recursica/adapter-common';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- import { RequireAccessibleLabel } from '../../utils/RequireAccessibleLabel';
5
4
  import { FormControlLayoutProps } from '../FormControlLayout/FormControlLayout';
6
- export type RecursicaSwitchProps = RequireAccessibleLabel<Omit<MuiSwitchProps, "size" | "color" | "radius" | "variant"> & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">>;
7
- export type SwitchProps = RecursicaOverStyled<RecursicaSwitchProps>;
5
+ export type SwitchWrapperProps = Omit<MuiSwitchProps, "size" | "color" | "radius" | "variant"> & RecursicaSwitchProps & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">;
6
+ export type RecursicaSwitchPropsAlias = RequireAccessibleLabel<SwitchWrapperProps>;
7
+ export type SwitchProps = RecursicaOverStyled<RecursicaSwitchPropsAlias>;
8
8
  type SwitchComponent = any;
9
9
  export declare const Switch: SwitchComponent;
10
10
  export {};
@@ -1,12 +1,12 @@
1
1
  import { default as React } from 'react';
2
- import { SwitchGroupProps as MuiSwitchGroupProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { FormGroupProps as MuiFormGroupProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaSwitchGroupProps as BaseRecursicaSwitchGroupProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
5
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
- export interface RecursicaSwitchGroupProps extends Omit<MuiSwitchGroupProps, "size" | "labelProps">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
6
+ export interface RecursicaSwitchGroupProps extends Omit<MuiFormGroupProps, "size" | "labelProps" | "onChange" | "classes" | "ref" | "value" | "defaultValue">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth" | "classes" | "onChange">, ReadOnlyControlProps, BaseRecursicaSwitchGroupProps {
7
7
  }
8
8
  export type SwitchGroupProps = RecursicaOverStyled<RecursicaSwitchGroupProps>;
9
- export declare const SwitchGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaSwitchGroupProps, "className" | "classes" | "style" | "sx" | "color" | "bgcolor" | "backgroundColor" | "typography" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "textAlign" | "border" | "borderTop" | "borderBottom" | "borderLeft" | "borderRight" | "borderColor" | "borderRadius" | "boxShadow" | "display" | "position" | "zIndex"> & import('../../utils/filterStylingProps').ForbiddenStyles & {
9
+ export declare const SwitchGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaSwitchGroupProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
10
10
  overStyled?: false | undefined;
11
11
  }, "ref"> | Omit<RecursicaSwitchGroupProps & {
12
12
  overStyled: true;
@@ -1,3 +1,4 @@
1
1
  import { default as React } from 'react';
2
- export type TableProps = React.HTMLAttributes<HTMLDivElement>;
2
+ import { RecursicaTableProps } from '@recursica/adapter-common';
3
+ export type TableProps = React.HTMLAttributes<HTMLDivElement> & RecursicaTableProps;
3
4
  export declare const Table: React.FC<TableProps>;