@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,56 +1,36 @@
1
1
  import { default as React } from 'react';
2
2
  import { AccordionProps as MuiAccordionProps, AccordionSummaryProps as MuiAccordionSummaryProps, AccordionDetailsProps as MuiAccordionDetailsProps } from '@mui/material';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- export type AccordionProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement> & {
5
- variant?: string;
6
- value?: string | string[];
7
- defaultValue?: string | string[];
8
- onChange?: (value: string | string[] | null) => void;
9
- multiple?: boolean;
10
- }>;
4
+ import { RecursicaAccordionProps, RecursicaAccordionItemProps, RecursicaAccordionControlProps } from '@recursica/adapter-common';
5
+ export type AccordionProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement> & RecursicaAccordionProps>;
11
6
  declare const AccordionBase: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
12
7
  export type AccordionItemWrapperProps = RecursicaOverStyled<Omit<MuiAccordionProps, "children" | "value"> & {
13
8
  children?: React.ReactNode;
14
- title?: React.ReactNode;
15
- leftIcon?: React.ReactNode;
16
- divider?: boolean;
17
9
  value: string;
18
- }>;
10
+ } & RecursicaAccordionItemProps>;
19
11
  export declare const AccordionItem: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiAccordionProps, "value" | "children"> & {
20
12
  children?: React.ReactNode;
21
- title?: React.ReactNode;
22
- leftIcon?: React.ReactNode;
23
- divider?: boolean;
24
13
  value: string;
25
- }, "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
+ } & RecursicaAccordionItemProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
26
15
  overStyled?: false | undefined;
27
16
  }, "ref"> | Omit<Omit<MuiAccordionProps, "value" | "children"> & {
28
17
  children?: React.ReactNode;
29
- title?: React.ReactNode;
30
- leftIcon?: React.ReactNode;
31
- divider?: boolean;
32
18
  value: string;
33
- } & {
19
+ } & RecursicaAccordionItemProps & {
34
20
  overStyled: true;
35
21
  }, "ref">) & React.RefAttributes<HTMLDivElement>>;
36
- export type AccordionControlWrapperProps = RecursicaOverStyled<MuiAccordionSummaryProps & {
37
- leftIcon?: React.ReactNode;
38
- }>;
22
+ export type AccordionControlWrapperProps = RecursicaOverStyled<MuiAccordionSummaryProps & RecursicaAccordionControlProps>;
39
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"> & {
40
24
  component?: React.ElementType | undefined;
41
- } & {
42
- leftIcon?: React.ReactNode;
43
- }, "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 & {
25
+ } & RecursicaAccordionControlProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
44
26
  overStyled?: false | undefined;
45
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"> & {
46
28
  component?: React.ElementType | undefined;
47
- } & {
48
- leftIcon?: React.ReactNode;
49
- } & {
29
+ } & RecursicaAccordionControlProps & {
50
30
  overStyled: true;
51
31
  }, "ref">) & React.RefAttributes<HTMLDivElement>>;
52
32
  export type AccordionPanelWrapperProps = RecursicaOverStyled<MuiAccordionDetailsProps>;
53
- export declare const AccordionPanel: React.ForwardRefExoticComponent<(Omit<Omit<MuiAccordionDetailsProps, "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 & {
33
+ export declare const AccordionPanel: React.ForwardRefExoticComponent<(Omit<Omit<MuiAccordionDetailsProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
54
34
  overStyled?: false | undefined;
55
35
  }, "ref"> | Omit<MuiAccordionDetailsProps & {
56
36
  overStyled: true;
@@ -1,10 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { FormHelperTextProps } from '@mui/material';
3
- export interface AssistiveElementProps extends FormHelperTextProps {
4
- /** Governs the semantic rendering block (changes icon and CSS structural hooks natively). */
5
- assistiveVariant?: "help" | "error";
6
- /** Renders the structural mapping icon inline beside the text natively. */
7
- assistiveWithIcon?: boolean;
3
+ import { RecursicaAssistiveElementProps } from '@recursica/adapter-common';
4
+ export interface AssistiveElementProps extends FormHelperTextProps, RecursicaAssistiveElementProps {
8
5
  overStyled?: boolean;
9
6
  }
10
7
  export declare const AssistiveElement: React.ForwardRefExoticComponent<Omit<AssistiveElementProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
@@ -1,16 +1,12 @@
1
1
  import { default as React } from 'react';
2
- import { AutocompleteProps as MuiAutocompleteProps, InputWrapperProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { AutocompleteProps as MuiAutocompleteProps } from '@mui/material';
3
+ import { ReadOnlyControlProps, RecursicaAutocompleteProps as BaseRecursicaAutocompleteProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
5
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
- export interface RecursicaAutocompleteProps extends Omit<MuiAutocompleteProps<any, any, any, any>, "size" | "variant" | "radius" | "wrapperProps" | "renderInput">, Pick<InputWrapperProps, "label" | "error" | "required" | "withAsterisk" | "id">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
7
- data?: any[];
8
- leftSection?: React.ReactNode;
9
- rightSection?: React.ReactNode;
10
- placeholder?: string;
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 {
11
7
  }
12
8
  export type AutocompleteProps = RecursicaOverStyled<RecursicaAutocompleteProps>;
13
- export declare const Autocomplete: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaAutocompleteProps, "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 Autocomplete: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaAutocompleteProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
14
10
  overStyled?: false | undefined;
15
11
  }, "ref"> | Omit<RecursicaAutocompleteProps & {
16
12
  overStyled: true;
@@ -1,11 +1,6 @@
1
- import { default as React } from 'react';
2
1
  import { AvatarProps as MuiAvatarProps } from '@mui/material';
3
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- export interface RecursicaAvatarProps {
5
- size?: "small" | "default" | "large";
6
- variant?: "solid" | "outline" | "ghost";
7
- icon?: React.ReactNode;
8
- }
3
+ import { RecursicaAvatarProps } from '@recursica/adapter-common';
9
4
  export type AvatarProps = RecursicaOverStyled<Omit<MuiAvatarProps, "variant" | "size" | "color" | "radius"> & RecursicaAvatarProps>;
10
5
  /**
11
6
  * Recursica Avatar component wrapping Mui's Avatar.
@@ -1,9 +1,6 @@
1
1
  import { BadgeProps as MuiBadgeProps } from '@mui/material';
2
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- export interface RecursicaBadgeProps {
4
- /** Map to the component styles defined in variables */
5
- variant?: "alert" | "primary-color" | "success" | "warning";
6
- }
3
+ import { RecursicaBadgeProps } from '@recursica/adapter-common';
7
4
  export type BadgeProps = RecursicaOverStyled<Omit<MuiBadgeProps, "variant" | "size" | "color" | "radius"> & RecursicaBadgeProps>;
8
5
  /**
9
6
  * Recursica Badge component wrapping Mui's Badge.
@@ -1,9 +1,8 @@
1
1
  import { BreadcrumbsProps as MuiBreadcrumbsProps } from '@mui/material';
2
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- export interface RecursicaBreadcrumbProps {
4
- }
3
+ import { RecursicaBreadcrumbProps } from '@recursica/adapter-common';
5
4
  export type BreadcrumbProps = RecursicaOverStyled<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps>;
6
- export declare const Breadcrumb: import('react').ForwardRefExoticComponent<(Omit<Omit<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps, "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 & {
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 & {
7
6
  overStyled?: false | undefined;
8
7
  }, "ref"> | Omit<Omit<MuiBreadcrumbsProps, "variant" | "size"> & RecursicaBreadcrumbProps & {
9
8
  overStyled: true;
@@ -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, "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 & {
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,9 +1,7 @@
1
1
  import { CardProps as MuiCardProps } from '@mui/material';
2
2
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- export type CardProps = RecursicaOverStyled<MuiCardProps>;
4
- export type RecursicaCardSectionProps = React.HTMLAttributes<HTMLDivElement> & {
5
- children?: React.ReactNode;
6
- };
3
+ import { RecursicaCardProps, RecursicaCardSectionProps } from '@recursica/adapter-common';
4
+ export type CardProps = RecursicaOverStyled<MuiCardProps & RecursicaCardProps>;
7
5
  export type CardSectionProps = RecursicaOverStyled<RecursicaCardSectionProps>;
8
6
  /**
9
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.
@@ -1,14 +1,12 @@
1
1
  import { default as React } from 'react';
2
2
  import { CheckboxProps as MuiCheckboxProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
3
+ import { ReadOnlyControlProps, RequireAccessibleLabel, RecursicaCheckboxProps } from '@recursica/adapter-common';
4
4
  import { CheckboxGroup } from './CheckboxGroup';
5
5
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
6
- import { RequireAccessibleLabel } from '../../utils/RequireAccessibleLabel';
7
6
  import { FormControlLayoutProps } from '../FormControlLayout/FormControlLayout';
8
- export type RecursicaCheckboxProps = RequireAccessibleLabel<Omit<MuiCheckboxProps, "size" | "color"> & {
9
- label?: React.ReactNode;
10
- } & ReadOnlyControlProps & Pick<FormControlLayoutProps, "formLayout" | "labelSize" | "controlMaxWidth" | "controlMinWidth">>;
11
- export type CheckboxProps = RecursicaOverStyled<RecursicaCheckboxProps>;
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>;
12
10
  type CheckboxComponent = React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>> & {
13
11
  Group: typeof CheckboxGroup;
14
12
  };
@@ -1,15 +1,17 @@
1
1
  import { default as React } from 'react';
2
- import { FormGroupProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
2
+ import { ReadOnlyControlProps, RecursicaCheckboxGroupProps as BaseRecursicaCheckboxGroupProps } from '@recursica/adapter-common';
4
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
4
  import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
6
- export interface RecursicaCheckboxGroupProps extends Omit<FormGroupProps, "size" | "onChange">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
5
+ export declare const CheckboxGroupContext: React.Context<{
7
6
  value?: any[];
8
- defaultValue?: any[];
9
- onChange?: (value: any[]) => void;
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 {
10
12
  }
11
13
  export type CheckboxGroupProps = RecursicaOverStyled<RecursicaCheckboxGroupProps>;
12
- export declare const CheckboxGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaCheckboxGroupProps, "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
+ export declare const CheckboxGroup: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaCheckboxGroupProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
13
15
  overStyled?: false | undefined;
14
16
  }, "ref"> | Omit<RecursicaCheckboxGroupProps & {
15
17
  overStyled: true;
@@ -1,18 +1,9 @@
1
1
  import { default as React } from 'react';
2
2
  import { ChipProps as MuiChipProps } from '@mui/material';
3
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
4
- export interface RecursicaChipProps {
5
- /** Enables the error state styling */
6
- error?: boolean;
7
- /** Leading icon content */
8
- icon?: React.ReactNode;
9
- /** Called when the remove (X) icon is clicked. If provided, the remove icon will be displayed. */
10
- onRemove?: (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => void;
11
- /** Screen reader label for the remove button. Defaults to 'Remove' */
12
- removeLabel?: string;
13
- }
4
+ import { RecursicaChipProps } from '@recursica/adapter-common';
14
5
  export type ChipProps = RecursicaOverStyled<Omit<MuiChipProps, "variant" | "size" | "color" | "radius"> & RecursicaChipProps>;
15
- export declare const Chip: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiChipProps, "color" | "variant" | "size" | "radius"> & RecursicaChipProps, "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 Chip: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiChipProps, "color" | "variant" | "size" | "radius"> & RecursicaChipProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
16
7
  overStyled?: false | undefined;
17
8
  }, "ref"> | Omit<Omit<MuiChipProps, "color" | "variant" | "size" | "radius"> & RecursicaChipProps & {
18
9
  overStyled: true;
@@ -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,22 +1,12 @@
1
- import { default as React, ReactNode } from 'react';
1
+ import { default as React } from 'react';
2
2
  import { SelectProps as MuiSelectProps } from '@mui/material';
3
- import { ReadOnlyControlProps } from '@recursica/adapter-common';
3
+ import { ReadOnlyControlProps, RecursicaDropdownProps as BaseRecursicaDropdownProps } from '@recursica/adapter-common';
4
4
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
5
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 {
7
- /** Internal hook for Selects to override raw layout width properties when necessary */
8
- containerWidth?: React.CSSProperties["width"];
9
- data?: (string | {
10
- value: string;
11
- label: ReactNode;
12
- disabled?: boolean;
13
- })[];
14
- searchable?: boolean;
15
- clearable?: boolean;
16
- withAsterisk?: boolean;
6
+ export interface RecursicaDropdownProps extends Omit<MuiSelectProps, "size" | "variant" | "classes" | "inputProps" | "SelectDisplayProps">, Pick<RecursicaFormControlWrapperProps, "assistiveText" | "assistiveWithIcon" | "formLayout" | "labelSize" | "labelAlignment" | "labelOptionalText" | "labelWithEditIcon" | "onLabelEditClick">, ReadOnlyControlProps, BaseRecursicaDropdownProps {
17
7
  }
18
8
  export type DropdownProps = RecursicaOverStyled<RecursicaDropdownProps>;
19
- export declare const Dropdown: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaDropdownProps, "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 Dropdown: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaDropdownProps, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
20
10
  overStyled?: false | undefined;
21
11
  }, "ref"> | Omit<RecursicaDropdownProps & {
22
12
  overStyled: true;
@@ -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,11 +1,6 @@
1
1
  import { default as React } from 'react';
2
- export interface FormControlLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ import { RecursicaFormControlLayoutProps } from '@recursica/adapter-common';
3
+ export interface FormControlLayoutProps extends React.HTMLAttributes<HTMLDivElement>, RecursicaFormControlLayoutProps {
3
4
  overStyled?: boolean;
4
- formLayout?: "stacked" | "side-by-side";
5
- labelSize?: "small" | "default" | "md";
6
- controlMaxWidth?: string;
7
- controlMinWidth?: string;
8
- leftSection?: React.ReactNode;
9
- children: React.ReactNode;
10
5
  }
11
6
  export declare const FormControlLayout: React.ForwardRefExoticComponent<FormControlLayoutProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,25 +1,10 @@
1
1
  import { default as React } from 'react';
2
2
  import { FormControlProps } from '@mui/material';
3
- export interface RecursicaFormControlWrapperProps extends Omit<FormControlProps, "margin" | "variant" | "size" | "color"> {
3
+ import { RecursicaFormControlWrapperProps as BaseRecursicaFormControlWrapperProps } from '@recursica/adapter-common';
4
+ export interface RecursicaFormControlWrapperProps extends Omit<FormControlProps, "margin" | "variant" | "size" | "color">, BaseRecursicaFormControlWrapperProps {
4
5
  overStyled?: boolean;
5
6
  label?: React.ReactNode;
6
- /** Primary assistive description bound natively to the component footer. Maps to MUI's 'helperText' dynamically. */
7
- assistiveText?: React.ReactNode;
8
- /** Secondary parameter fallback identical to assistiveText to match MUI / Mantine native APIs safely. */
9
- description?: React.ReactNode;
10
- /** Fallback mapping for MUI's native helperText */
11
- helperText?: React.ReactNode;
12
- assistiveWithIcon?: boolean;
13
- formLayout?: "stacked" | "side-by-side";
14
- labelSize?: "small" | "default" | "md";
15
- labelAlignment?: "left" | "right";
16
- labelOptionalText?: React.ReactNode | true;
17
- labelWithEditIcon?: boolean;
18
- onLabelEditClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
19
- labelActionArea?: React.ReactNode;
20
- /** Allows layout mapping to limit the input's bounding box without impacting the label */
21
- controlMaxWidth?: string;
22
- controlMinWidth?: string;
7
+ focused?: boolean;
23
8
  }
24
9
  export type FormControlWrapperProps = RecursicaFormControlWrapperProps;
25
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,50 +1,24 @@
1
- import { PopoverProps as MuiHoverCardProps } from '@mui/material';
1
+ import { default as React } from 'react';
2
+ import { TooltipProps as MuiTooltipProps } from '@mui/material';
2
3
  import { RecursicaOverStyled } from '../../utils/filterStylingProps';
3
- /**
4
- * Recursica-specific props for HoverCard.
5
- */
6
- export interface RecursicaHoverCardProps {
7
- /**
8
- * Whether to display a beak (arrow) pointing from the dropdown to the target.
9
- * This is the Recursica equivalent of Mui's `withArrow`.
10
- * When both `withBeak` and `withArrow` are provided, `withBeak` takes precedence.
11
- */
12
- withBeak?: boolean;
13
- }
14
- /**
15
- * Recursica HoverCard component wrapping Mui's composable HoverCard.
16
- *
17
- * Displays a dropdown panel when the user hovers over a target element.
18
- * Uses the composable dot-notation pattern:
19
- * ```tsx
20
- * <HoverCard withBeak>
21
- * <HoverCard.Target>
22
- * <Button>Hover me</Button>
23
- * </HoverCard.Target>
24
- * <HoverCard.Dropdown>
25
- * Content displayed on hover
26
- * </HoverCard.Dropdown>
27
- * </HoverCard>
28
- * ```
29
- */
30
- export type HoverCardProps = RecursicaOverStyled<MuiHoverCardProps & RecursicaHoverCardProps>;
4
+ import { RecursicaHoverCardProps } from '@recursica/adapter-common';
5
+ export type HoverCardProps = RecursicaOverStyled<Omit<MuiTooltipProps, "title" | "children"> & RecursicaHoverCardProps>;
31
6
  declare const HoverCardBase: {
32
- ({ overStyled, withBeak, ...rest }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
7
+ ({ overStyled, withBeak, position, openDelay, closeDelay, disabled, offset, children, ...rest }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
33
8
  displayName: string;
34
9
  };
35
- /**
36
- * Wrapper for the element that triggers the hover card.
37
- * Requires a single child element that supports ref forwarding.
38
- */
39
- export type HoverCardTargetProps = any;
10
+ export type HoverCardTargetProps = {
11
+ children?: React.ReactNode;
12
+ };
40
13
  declare const HoverCardTarget: {
41
- (props: HoverCardTargetProps): import("react/jsx-runtime").JSX.Element;
14
+ ({ children, }: HoverCardTargetProps): import("react/jsx-runtime").JSX.Element;
42
15
  displayName: string;
43
16
  };
44
- /** The dropdown panel displayed when hovering over the target. */
45
- export type HoverCardDropdownProps = RecursicaOverStyled<any>;
17
+ export type HoverCardDropdownProps = {
18
+ children?: React.ReactNode;
19
+ };
46
20
  declare const HoverCardDropdown: {
47
- ({ overStyled, ...rest }: HoverCardDropdownProps): import("react/jsx-runtime").JSX.Element;
21
+ ({ children, }: HoverCardDropdownProps): import("react/jsx-runtime").JSX.Element;
48
22
  displayName: string;
49
23
  };
50
24
  type HoverCardComponent = typeof HoverCardBase & {
@@ -1,14 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { InputLabelProps } from '@mui/material';
3
- export interface LabelProps extends InputLabelProps {
3
+ import { RecursicaLabelProps } from '@recursica/adapter-common';
4
+ export interface LabelProps extends InputLabelProps, RecursicaLabelProps {
4
5
  overStyled?: boolean;
5
- /** Explicit optional text to render safely mapping alongside the label. Hidden natively if 'required' is flagged true. */
6
- labelOptionalText?: React.ReactNode | true;
7
- /** Triggers the inline edit action icon native layout hook beside the label element. */
8
- labelWithEditIcon?: boolean;
9
- /** Fires specifically on icon click natively. */
10
- onLabelEditClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
11
- /** Replaces the right side optional text block natively with any custom React node (e.g. actions, toggles). */
12
- labelActionArea?: React.ReactNode;
13
6
  }
14
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, "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 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>>;