@recursica/mui-adapter 0.4.0 → 0.6.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.
- package/CHANGELOG.md +15 -0
- package/dist/mui-adapter.cjs +74 -1
- package/dist/mui-adapter.cjs.map +1 -1
- package/dist/mui-adapter.css +1 -1
- package/dist/mui-adapter.js +6651 -201
- package/dist/mui-adapter.js.map +1 -1
- package/dist/src/components/Accordion/Accordion.d.ts +63 -2
- package/dist/src/components/AssistiveElement/AssistiveElement.d.ts +9 -2
- package/dist/src/components/Autocomplete/Autocomplete.d.ts +17 -0
- package/dist/src/components/Autocomplete/index.d.ts +1 -0
- package/dist/src/components/Avatar/Avatar.d.ts +14 -2
- package/dist/src/components/Badge/Badge.d.ts +13 -3
- package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +10 -3
- package/dist/src/components/Button/Button.d.ts +1 -1
- package/dist/src/components/Card/Card.d.ts +40 -3
- package/dist/src/components/Checkbox/Checkbox.d.ts +15 -2
- package/dist/src/components/Checkbox/CheckboxGroup.d.ts +16 -0
- package/dist/src/components/Checkbox/index.d.ts +5 -1
- package/dist/src/components/Chip/Chip.d.ts +18 -2
- package/dist/src/components/Dropdown/Dropdown.d.ts +23 -3
- package/dist/src/components/FormControlLayout/FormControlLayout.d.ts +10 -2
- package/dist/src/components/FormControlWrapper/FormControlWrapper.d.ts +24 -2
- package/dist/src/components/HoverCard/HoverCard.d.ts +55 -3
- package/dist/src/components/Label/Label.d.ts +13 -2
- package/dist/src/components/Link/Link.d.ts +1 -1
- package/dist/src/components/Menu/Menu.d.ts +99 -3
- package/dist/src/components/Modal/Modal.d.ts +36 -2
- package/dist/src/components/NumberInput/NumberInput.d.ts +14 -2
- package/dist/src/components/Pagination/Pagination.d.ts +44 -2
- package/dist/src/components/Pagination/Pagination.icons.d.ts +8 -0
- package/dist/src/components/Panel/Panel.d.ts +65 -3
- package/dist/src/components/Radio/Radio.d.ts +13 -3
- package/dist/src/components/Radio/RadioGroup.d.ts +13 -0
- package/dist/src/components/ReadOnlyField/ReadOnlyBooleanField.d.ts +5 -0
- package/dist/src/components/ReadOnlyField/ReadOnlyField.d.ts +7 -2
- package/dist/src/components/ReadOnlyField/ReadOnlySwitchField.d.ts +5 -0
- package/dist/src/components/ReadOnlyField/ReadOnlyTextField.d.ts +8 -0
- package/dist/src/components/ReadOnlyField/WithReadOnlyWrapper.d.ts +28 -0
- package/dist/src/components/ReadOnlyField/index.d.ts +1 -0
- package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +31 -3
- package/dist/src/components/Slider/Slider.d.ts +28 -2
- package/dist/src/components/Stepper/Stepper.d.ts +21 -2
- package/dist/src/components/Switch/Switch.d.ts +10 -3
- package/dist/src/components/Switch/SwitchGroup.d.ts +13 -0
- package/dist/src/components/Tabs/Tabs.d.ts +35 -3
- package/dist/src/components/Text/Text.d.ts +1 -1
- package/dist/src/components/TextArea/TextArea.d.ts +18 -2
- package/dist/src/components/TextField/TextField.d.ts +16 -2
- package/dist/src/components/Timeline/Timeline.d.ts +14 -2
- package/dist/src/components/Timeline/TimelineItem.d.ts +29 -0
- package/dist/src/components/Title/Title.d.ts +1 -1
- package/dist/src/components/Toast/Toast.d.ts +25 -2
- package/dist/src/components/Tooltip/Tooltip.d.ts +42 -3
- package/dist/src/components/Typography/Typography.d.ts +1 -1
- package/dist/src/components/index.d.ts +1 -0
- package/package.json +12 -2
- package/src/GlobalExemptions.modules.css +13 -0
- package/src/components/Accordion/Accordion.module.css +295 -0
- package/src/components/Accordion/Accordion.stories.tsx +149 -21
- package/src/components/Accordion/Accordion.tsx +264 -4
- package/src/components/AssistiveElement/AssistiveElement.module.css +111 -0
- package/src/components/AssistiveElement/AssistiveElement.stories.tsx +76 -19
- package/src/components/AssistiveElement/AssistiveElement.tsx +85 -4
- package/src/components/Autocomplete/Autocomplete.module.css +325 -0
- package/src/components/Autocomplete/Autocomplete.stories.tsx +196 -0
- package/src/components/Autocomplete/Autocomplete.tsx +201 -0
- package/src/components/Autocomplete/index.ts +1 -0
- package/src/components/Avatar/Avatar.module.css +344 -0
- package/src/components/Avatar/Avatar.stories.tsx +94 -22
- package/src/components/Avatar/Avatar.tsx +110 -5
- package/src/components/Badge/Badge.module.css +127 -0
- package/src/components/Badge/Badge.stories.tsx +65 -22
- package/src/components/Badge/Badge.tsx +70 -5
- package/src/components/Breadcrumb/Breadcrumb.module.css +26 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +57 -22
- package/src/components/Breadcrumb/Breadcrumb.tsx +62 -5
- package/src/components/Button/Button.module.css +113 -20
- package/src/components/Button/Button.stories.tsx +3 -0
- package/src/components/Button/Button.tsx +10 -3
- package/src/components/Card/Card.module.css +118 -0
- package/src/components/Card/Card.stories.tsx +117 -19
- package/src/components/Card/Card.tsx +179 -4
- package/src/components/Checkbox/Checkbox.module.css +232 -0
- package/src/components/Checkbox/Checkbox.stories.tsx +81 -19
- package/src/components/Checkbox/Checkbox.tsx +146 -4
- package/src/components/Checkbox/CheckboxGroup.tsx +117 -0
- package/src/components/Checkbox/index.ts +6 -1
- package/src/components/Chip/Chip.module.css +236 -0
- package/src/components/Chip/Chip.stories.tsx +101 -21
- package/src/components/Chip/Chip.tsx +138 -5
- package/src/components/DatePicker/DatePicker.module.css +42 -0
- package/src/components/DatePicker/DatePicker.tsx +1 -0
- package/src/components/Dropdown/Dropdown.module.css +296 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +80 -21
- package/src/components/Dropdown/Dropdown.tsx +182 -5
- package/src/components/FileInput/FileInput.module.css +47 -0
- package/src/components/FileInput/FileInput.tsx +1 -0
- package/src/components/FileUpload/FileUpload.module.css +40 -0
- package/src/components/FileUpload/FileUpload.tsx +1 -0
- package/src/components/FormControlLayout/FormControlLayout.module.css +92 -0
- package/src/components/FormControlLayout/FormControlLayout.stories.tsx +74 -19
- package/src/components/FormControlLayout/FormControlLayout.tsx +58 -4
- package/src/components/FormControlWrapper/FormControlWrapper.module.css +96 -0
- package/src/components/FormControlWrapper/FormControlWrapper.stories.tsx +122 -19
- package/src/components/FormControlWrapper/FormControlWrapper.tsx +145 -6
- package/src/components/HoverCard/HoverCard.module.css +91 -0
- package/src/components/HoverCard/HoverCard.stories.tsx +158 -21
- package/src/components/HoverCard/HoverCard.tsx +150 -4
- package/src/components/Label/Label.module.css +136 -0
- package/src/components/Label/Label.stories.tsx +98 -17
- package/src/components/Label/Label.tsx +88 -4
- package/src/components/Link/Link.module.css +8 -0
- package/src/components/Menu/Menu.module.css +287 -0
- package/src/components/Menu/Menu.stories.tsx +307 -21
- package/src/components/Menu/Menu.tsx +318 -4
- package/src/components/Modal/Modal.module.css +172 -0
- package/src/components/Modal/Modal.stories.tsx +66 -22
- package/src/components/Modal/Modal.tsx +216 -3
- package/src/components/NumberInput/NumberInput.module.css +281 -0
- package/src/components/NumberInput/NumberInput.stories.tsx +83 -20
- package/src/components/NumberInput/NumberInput.tsx +148 -5
- package/src/components/Pagination/Pagination.icons.tsx +66 -0
- package/src/components/Pagination/Pagination.module.css +307 -0
- package/src/components/Pagination/Pagination.stories.tsx +42 -21
- package/src/components/Pagination/Pagination.tsx +193 -4
- package/src/components/Panel/Panel.module.css +206 -0
- package/src/components/Panel/Panel.stories.tsx +214 -22
- package/src/components/Panel/Panel.tsx +153 -4
- package/src/components/Radio/Radio.module.css +220 -0
- package/src/components/Radio/Radio.stories.tsx +77 -19
- package/src/components/Radio/Radio.tsx +178 -4
- package/src/components/Radio/RadioGroup.tsx +111 -0
- package/src/components/ReadOnlyField/ReadOnlyBooleanField.tsx +21 -0
- package/src/components/ReadOnlyField/ReadOnlyField.module.css +54 -0
- package/src/components/ReadOnlyField/ReadOnlyField.stories.tsx +175 -16
- package/src/components/ReadOnlyField/ReadOnlyField.tsx +109 -4
- package/src/components/ReadOnlyField/ReadOnlySwitchField.tsx +21 -0
- package/src/components/ReadOnlyField/ReadOnlyTextField.tsx +48 -0
- package/src/components/ReadOnlyField/WithReadOnlyWrapper.tsx +93 -0
- package/src/components/ReadOnlyField/index.ts +1 -0
- package/src/components/SegmentedControl/SegmentedControl.module.css +203 -0
- package/src/components/SegmentedControl/SegmentedControl.stories.tsx +102 -20
- package/src/components/SegmentedControl/SegmentedControl.tsx +110 -5
- package/src/components/Slider/Slider.module.css +542 -0
- package/src/components/Slider/Slider.stories.tsx +157 -19
- package/src/components/Slider/Slider.tsx +282 -4
- package/src/components/Stepper/Stepper.module.css +410 -0
- package/src/components/Stepper/Stepper.stories.tsx +132 -19
- package/src/components/Stepper/Stepper.tsx +145 -5
- package/src/components/Switch/Switch.module.css +238 -0
- package/src/components/Switch/Switch.stories.tsx +98 -19
- package/src/components/Switch/Switch.tsx +153 -5
- package/src/components/Switch/SwitchGroup.tsx +111 -0
- package/src/components/Tabs/Tabs.module.css +422 -0
- package/src/components/Tabs/Tabs.stories.tsx +138 -19
- package/src/components/Tabs/Tabs.tsx +103 -5
- package/src/components/TextArea/TextArea.module.css +160 -0
- package/src/components/TextArea/TextArea.stories.tsx +80 -21
- package/src/components/TextArea/TextArea.tsx +156 -5
- package/src/components/TextField/TextField.module.css +266 -0
- package/src/components/TextField/TextField.stories.tsx +168 -15
- package/src/components/TextField/TextField.tsx +171 -5
- package/src/components/TimePicker/TimePicker.module.css +41 -0
- package/src/components/TimePicker/TimePicker.tsx +1 -0
- package/src/components/Timeline/Timeline.module.css +367 -0
- package/src/components/Timeline/Timeline.stories.tsx +114 -21
- package/src/components/Timeline/Timeline.tsx +80 -4
- package/src/components/Timeline/TimelineItem.tsx +101 -0
- package/src/components/Toast/Toast.module.css +170 -0
- package/src/components/Toast/Toast.stories.tsx +54 -22
- package/src/components/Toast/Toast.tsx +90 -4
- package/src/components/Tooltip/Tooltip.module.css +90 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +152 -22
- package/src/components/Tooltip/Tooltip.tsx +114 -4
- package/src/components/TransferList/TransferList.module.css +38 -0
- package/src/components/TransferList/TransferList.tsx +1 -0
- package/src/components/index.ts +1 -0
|
@@ -1,3 +1,45 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { Pagination as MuiPagination, PaginationProps as MuiPaginationProps, PaginationRootProps as MuiPaginationRootProps } from '@mui/material';
|
|
3
|
+
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>>;
|
|
31
|
+
/**
|
|
32
|
+
* Recursica Pagination component wrapping Mui's Pagination.
|
|
33
|
+
*/
|
|
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 {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type PaginationIconType = "next" | "prev" | "first" | "last";
|
|
2
|
+
export declare const PaginationIcon: ({ type, className, ...props }: React.ComponentProps<"svg"> & {
|
|
3
|
+
type: PaginationIconType;
|
|
4
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const NextWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const PrevWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const FirstWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare const LastWithLabel: (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { Drawer as MuiDrawer, DrawerProps as MuiDrawerProps } from '@mui/material';
|
|
2
|
+
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
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Recursica Panel root props. Extends Mui Drawer.
|
|
13
|
+
*/
|
|
14
|
+
export type PanelProps = RecursicaOverStyled<RecursicaPanelProps>;
|
|
15
|
+
/**
|
|
16
|
+
* Recursica Panel component wrapping Mui's Drawer.
|
|
17
|
+
*
|
|
18
|
+
* Panels slide in or expand from the edge of the screen to reveal
|
|
19
|
+
* additional content or functionality. They are commonly used to provide
|
|
20
|
+
* supplementary information, navigation options, or toolsets without
|
|
21
|
+
* cluttering the main interface.
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <Panel opened={opened} onClose={close} title="Panel Title" position="right">
|
|
25
|
+
* <Panel.Body>
|
|
26
|
+
* Content goes here
|
|
27
|
+
* </Panel.Body>
|
|
28
|
+
* </Panel>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* Mui Drawer sub-components available via dot-notation:
|
|
32
|
+
* - `Panel.Header` — Top section with title and close button
|
|
33
|
+
* - `Panel.Title` — Title text within the header
|
|
34
|
+
* - `Panel.CloseButton` — Close button within the header
|
|
35
|
+
* - `Panel.Body` — Scrollable body content area
|
|
36
|
+
* - `Panel.Content` — Outer content container
|
|
37
|
+
* - `Panel.Overlay` — Background overlay
|
|
38
|
+
* - `Panel.Root` — Root element for advanced composition
|
|
39
|
+
* - `Panel.Stack` — Stacked drawer context
|
|
40
|
+
*/
|
|
41
|
+
declare const PanelBase: {
|
|
42
|
+
({ overStyled, position, keepMounted, wrapHeaderText, ...rest }: PanelProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
displayName: string;
|
|
44
|
+
};
|
|
45
|
+
export type PanelFooterProps = RecursicaOverStyled<React.HTMLAttributes<HTMLDivElement>>;
|
|
46
|
+
/**
|
|
47
|
+
* Panel footer section with action buttons.
|
|
48
|
+
* Separated from the body by a divider. Remains fixed at the bottom.
|
|
49
|
+
* This is a Recursica-specific sub-component; Mui Drawer does not
|
|
50
|
+
* natively provide a footer.
|
|
51
|
+
*/
|
|
52
|
+
export declare const PanelFooter: import('react').ForwardRefExoticComponent<PanelFooterProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
53
|
+
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
|
+
Footer: typeof PanelFooter;
|
|
63
|
+
};
|
|
64
|
+
export declare const Panel: PanelComponent;
|
|
65
|
+
export {};
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { RadioProps as MuiRadioProps } from '@mui/material';
|
|
2
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
3
|
+
import { RadioGroup } from './RadioGroup';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
5
|
+
import { RequireAccessibleLabel } from '../../utils/RequireAccessibleLabel';
|
|
6
|
+
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>;
|
|
9
|
+
type RadioComponent = React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>> & {
|
|
10
|
+
Group: typeof RadioGroup;
|
|
11
|
+
};
|
|
12
|
+
export declare const Radio: RadioComponent;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { RadioGroupProps as MuiRadioGroupProps } from '@mui/material';
|
|
3
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
5
|
+
import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
|
|
6
|
+
export interface RecursicaRadioGroupProps extends Omit<MuiRadioGroupProps, "size" | "labelProps">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
|
|
7
|
+
}
|
|
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>>;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
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
|
+
};
|
|
8
|
+
export declare const ReadOnlyField: React.ForwardRefExoticComponent<Omit<ReadOnlyFieldProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
3
|
+
export interface RecursicaReadOnlyTextFieldProps {
|
|
4
|
+
/** The value strictly rendered as text output */
|
|
5
|
+
value?: any;
|
|
6
|
+
}
|
|
7
|
+
export type ReadOnlyTextFieldProps = RecursicaOverStyled<RecursicaReadOnlyTextFieldProps>;
|
|
8
|
+
export declare const ReadOnlyTextField: React.FC<ReadOnlyTextFieldProps>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ReadOnlyFieldType } from '@recursica/adapter-common';
|
|
3
|
+
import { FormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
|
|
4
|
+
export interface WithReadOnlyWrapperProps extends Omit<FormControlWrapperProps, "children" | "overStyled"> {
|
|
5
|
+
/** Injects whether the field defaults to reading mode natively */
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
/** Explicit React component directly overtaking the baseline text renderer when read-only mode is active */
|
|
8
|
+
readOnlyComponent?: React.ElementType<any>;
|
|
9
|
+
/** Custom renderer explicitly responsible for formatting missing/empty value mappings (overriding default 'N/A') */
|
|
10
|
+
emptyValueComponent?: React.ElementType<{
|
|
11
|
+
value?: any;
|
|
12
|
+
}>;
|
|
13
|
+
/** The full native props dictionary securely forwarded into the custom readOnlyComponent if active */
|
|
14
|
+
readOnlyNativeProps?: any;
|
|
15
|
+
/** Instructs the underlying generic ReadOnlyField which raw visual structure to bridge automatically */
|
|
16
|
+
readOnlyType?: ReadOnlyFieldType;
|
|
17
|
+
/** The isolated raw data value intercepted explicitly into the ReadOnly formatters */
|
|
18
|
+
readOnlyValue?: any;
|
|
19
|
+
/** Safely enables deep overrides transparently bypassing block filters */
|
|
20
|
+
overStyled?: boolean;
|
|
21
|
+
/** The nested active node dynamically exposed exclusively when read-only bounds are disabled */
|
|
22
|
+
activeComponent: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Universal execution barrier trapping readOnly states globally.
|
|
26
|
+
* Natively delegates active logic down avoiding duplicative internal component bindings dynamically.
|
|
27
|
+
*/
|
|
28
|
+
export declare const WithReadOnlyWrapper: React.ForwardRefExoticComponent<Omit<WithReadOnlyWrapperProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,3 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { ToggleButtonGroupProps as MuiSegmentedControlProps } from '@mui/material';
|
|
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"> & {
|
|
15
|
+
className?: string;
|
|
16
|
+
classNames?: Partial<Record<string, string>>;
|
|
17
|
+
} & RecursicaSegmentedControlProps>;
|
|
18
|
+
/**
|
|
19
|
+
* Recursica SegmentedControl component wrapping Mui's SegmentedControl.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SegmentedControl: import('react').ForwardRefExoticComponent<(Omit<Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "variant" | "disabled" | "size" | "radius" | "classNames"> & {
|
|
22
|
+
className?: string;
|
|
23
|
+
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 & {
|
|
25
|
+
overStyled?: false | undefined;
|
|
26
|
+
}, "ref"> | Omit<Omit<MuiSegmentedControlProps, "className" | "color" | "variant" | "disabled" | "size" | "radius" | "classNames"> & {
|
|
27
|
+
className?: string;
|
|
28
|
+
classNames?: Partial<Record<string, string>>;
|
|
29
|
+
} & RecursicaSegmentedControlProps & {
|
|
30
|
+
overStyled: true;
|
|
31
|
+
}, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -1,3 +1,29 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { SliderProps as MuiSliderProps, InputWrapperProps } from '@mui/material';
|
|
3
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
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;
|
|
17
|
+
}
|
|
18
|
+
export type SliderProps = RecursicaOverStyled<RecursicaSliderProps>;
|
|
19
|
+
/**
|
|
20
|
+
* Recursica Slider component wrapping Mui's Slider.
|
|
21
|
+
*
|
|
22
|
+
* Implements a bidirectional text input field next to the slider track, responsive layouts,
|
|
23
|
+
* custom typography-bound min/max labels, an optional leading icon, and an explicit read-only layout.
|
|
24
|
+
*/
|
|
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 & {
|
|
26
|
+
overStyled?: false | undefined;
|
|
27
|
+
}, "ref"> | Omit<RecursicaSliderProps & {
|
|
28
|
+
overStyled: true;
|
|
29
|
+
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,3 +1,22 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { StepperProps as MuiStepperProps } from '@mui/material';
|
|
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
|
+
}
|
|
10
|
+
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 & {
|
|
14
|
+
overStyled?: false | undefined;
|
|
15
|
+
}, "ref"> | Omit<RecursicaStepperProps & {
|
|
16
|
+
overStyled: true;
|
|
17
|
+
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export declare const Stepper: typeof _Stepper & {
|
|
19
|
+
Step: typeof StepperStep;
|
|
20
|
+
Completed: typeof StepperCompleted;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { SwitchProps as MuiSwitchProps } from '@mui/material';
|
|
2
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
3
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
4
|
+
import { RequireAccessibleLabel } from '../../utils/RequireAccessibleLabel';
|
|
5
|
+
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>;
|
|
8
|
+
type SwitchComponent = any;
|
|
9
|
+
export declare const Switch: SwitchComponent;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { SwitchGroupProps as MuiSwitchGroupProps } from '@mui/material';
|
|
3
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
5
|
+
import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
|
|
6
|
+
export interface RecursicaSwitchGroupProps extends Omit<MuiSwitchGroupProps, "size" | "labelProps">, Omit<RecursicaFormControlWrapperProps, "controlMaxWidth" | "controlMinWidth">, ReadOnlyControlProps {
|
|
7
|
+
}
|
|
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 & {
|
|
10
|
+
overStyled?: false | undefined;
|
|
11
|
+
}, "ref"> | Omit<RecursicaSwitchGroupProps & {
|
|
12
|
+
overStyled: true;
|
|
13
|
+
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,3 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
import { TabsProps as MuiTabsProps, ListProps as MuiTabsListProps, TabsProps as MuiTabsTabProps } from '@mui/material';
|
|
2
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
3
|
+
export interface RecursicaTabsProps extends Omit<MuiTabsProps, "variant" | "classNames" | "color" | "radius"> {
|
|
4
|
+
variant?: "default" | "outline" | "pills";
|
|
5
|
+
}
|
|
6
|
+
export type TabsProps = RecursicaOverStyled<RecursicaTabsProps>;
|
|
7
|
+
declare const _Tabs: import('react').ForwardRefExoticComponent<(Omit<Omit<RecursicaTabsProps, "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 & {
|
|
8
|
+
overStyled?: false | undefined;
|
|
9
|
+
}, "ref"> | Omit<RecursicaTabsProps & {
|
|
10
|
+
overStyled: true;
|
|
11
|
+
}, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export type TabsListProps = RecursicaOverStyled<MuiTabsListProps>;
|
|
13
|
+
declare const _TabsList: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiTabsListProps, "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
|
+
overStyled?: false | undefined;
|
|
15
|
+
}, "ref"> | Omit<import('@mui/material').ListOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "className" | "classes" | "style" | "sx" | "children" | "dense" | "disablePadding" | "subheader"> & {
|
|
16
|
+
component?: React.ElementType | undefined;
|
|
17
|
+
} & {
|
|
18
|
+
overStyled: true;
|
|
19
|
+
}, "ref">) & import('react').RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export type TabsTabProps = RecursicaOverStyled<MuiTabsTabProps>;
|
|
21
|
+
declare const _TabsTab: import('react').ForwardRefExoticComponent<(Omit<Omit<MuiTabsProps, "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
|
+
overStyled?: false | undefined;
|
|
23
|
+
}, "ref"> | Omit<import('@mui/material').TabsOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "classes" | "style" | "sx" | "value" | "aria-label" | "aria-labelledby" | "children" | "onChange" | "variant" | "slots" | "slotProps" | "action" | "orientation" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar"> & {
|
|
24
|
+
component?: React.ElementType | undefined;
|
|
25
|
+
} & {
|
|
26
|
+
overStyled: true;
|
|
27
|
+
}, "ref">) & import('react').RefAttributes<HTMLButtonElement>>;
|
|
28
|
+
export type TabsPanelProps = RecursicaOverStyled<MuiTabsPanelProps>;
|
|
29
|
+
declare const _TabsPanel: import('react').ForwardRefExoticComponent<any>;
|
|
30
|
+
export declare const Tabs: typeof _Tabs & {
|
|
31
|
+
List: typeof _TabsList;
|
|
32
|
+
Tab: typeof _TabsTab;
|
|
33
|
+
Panel: typeof _TabsPanel;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -8,7 +8,7 @@ export type RecursicaTextProps = Omit<MuiTypographyProps, "variant"> & {
|
|
|
8
8
|
component?: React.ElementType;
|
|
9
9
|
};
|
|
10
10
|
export type TextProps = RecursicaOverStyled<RecursicaTextProps>;
|
|
11
|
-
export declare const Text: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTextProps, "
|
|
11
|
+
export declare const Text: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTextProps, "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 & {
|
|
12
12
|
overStyled?: false | undefined;
|
|
13
13
|
}, "ref"> | Omit<Omit<MuiTypographyProps, "variant"> & {
|
|
14
14
|
variant?: TextVariant;
|
|
@@ -1,3 +1,19 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { TextFieldProps as MuiTextareaProps } from '@mui/material';
|
|
3
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
5
|
+
import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
|
|
6
|
+
export interface RecursicaTextAreaProps extends Omit<MuiTextareaProps, "size" | "variant" | "radius" | "wrapperProps">, Pick<RecursicaFormControlWrapperProps, "assistiveText" | "assistiveWithIcon" | "formLayout" | "labelSize" | "labelAlignment" | "labelOptionalText" | "labelWithEditIcon" | "onLabelEditClick">, ReadOnlyControlProps {
|
|
7
|
+
/** Maximum rows for autosize textarea to grow */
|
|
8
|
+
maxRows?: number;
|
|
9
|
+
/** Minimum rows of autosize textarea */
|
|
10
|
+
minRows?: number;
|
|
11
|
+
/** If set, enables textarea height growing with its content */
|
|
12
|
+
autosize?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type TextAreaProps = RecursicaOverStyled<RecursicaTextAreaProps>;
|
|
15
|
+
export declare const TextArea: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTextAreaProps, "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 & {
|
|
16
|
+
overStyled?: false | undefined;
|
|
17
|
+
}, "ref"> | Omit<RecursicaTextAreaProps & {
|
|
18
|
+
overStyled: true;
|
|
19
|
+
}, "ref">) & React.RefAttributes<HTMLTextAreaElement>>;
|
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { InputBaseProps } from '@mui/material';
|
|
3
|
+
import { ReadOnlyControlProps } from '@recursica/adapter-common';
|
|
4
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
5
|
+
import { RecursicaFormControlWrapperProps } from '../FormControlWrapper/FormControlWrapper';
|
|
6
|
+
export interface RecursicaTextFieldProps extends Omit<InputBaseProps, "color" | "size" | "startAdornment" | "endAdornment" | "autoComplete">, Omit<React.ComponentPropsWithoutRef<"input">, keyof InputBaseProps | "size" | "color" | "style" | "className" | "id">, Pick<RecursicaFormControlWrapperProps, "label" | "error" | "required" | "id" | "assistiveText" | "assistiveWithIcon" | "formLayout" | "labelSize" | "labelAlignment" | "labelOptionalText" | "labelWithEditIcon" | "onLabelEditClick">, ReadOnlyControlProps {
|
|
7
|
+
/** Renders a section on the left side of the input (e.g. icon). Maps to Mantine's leftSection natively. */
|
|
8
|
+
leftSection?: React.ReactNode;
|
|
9
|
+
/** Renders a section on the right side of the input (e.g. clear button). Maps to Mantine's rightSection natively. */
|
|
10
|
+
rightSection?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export type TextFieldProps = RecursicaOverStyled<RecursicaTextFieldProps>;
|
|
13
|
+
export declare const TextField: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTextFieldProps, "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
|
+
overStyled?: false | undefined;
|
|
15
|
+
}, "ref"> | Omit<RecursicaTextFieldProps & {
|
|
16
|
+
overStyled: true;
|
|
17
|
+
}, "ref">) & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { TimelineProps as MuiTimelineProps } from '@mui/lab/Timeline';
|
|
3
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
4
|
+
import { TimelineItem } from './TimelineItem';
|
|
5
|
+
/**
|
|
6
|
+
* Properties for the strictly-tokenized Timeline component.
|
|
7
|
+
* Native Mui abstract properties like `color`, `radius`, `bulletSize`, and `lineWidth`
|
|
8
|
+
* have been stripped out to strictly enforce the structural mappings of the Recursica UI Kit.
|
|
9
|
+
*/
|
|
10
|
+
export type TimelineProps = RecursicaOverStyled<Omit<MuiTimelineProps, "color" | "radius" | "bulletSize" | "lineWidth">>;
|
|
11
|
+
interface TimelineComponent extends React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLDivElement>> {
|
|
12
|
+
Item: typeof TimelineItem;
|
|
13
|
+
}
|
|
14
|
+
export declare const Timeline: TimelineComponent;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { TimelineItemProps as MuiTimelineItemProps } from '@mui/lab/TimelineItem';
|
|
3
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
4
|
+
export interface RecursicaTimelineItemProps {
|
|
5
|
+
/**
|
|
6
|
+
* Timestamp text displayed below the description.
|
|
7
|
+
*/
|
|
8
|
+
timestamp?: React.ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* The structural styling variant of the bullet container.
|
|
11
|
+
* Maps to the UI Kit structural tokens.
|
|
12
|
+
* @default "default"
|
|
13
|
+
*/
|
|
14
|
+
bulletVariant?: "default" | "avatar" | "icon" | "icon-alternative";
|
|
15
|
+
}
|
|
16
|
+
export type TimelineItemProps = RecursicaOverStyled<Omit<MuiTimelineItemProps, "radius" | "color" | "lineVariant"> & RecursicaTimelineItemProps>;
|
|
17
|
+
/**
|
|
18
|
+
* The individual item component for the Timeline.
|
|
19
|
+
*
|
|
20
|
+
* **Recursica Abstract:**
|
|
21
|
+
* The `Timeline.Item` has been extended to support a `timestamp` string natively,
|
|
22
|
+
* rendering it below the body content. It also accepts a `bulletVariant` to morph
|
|
23
|
+
* the structural dimensions of the node circle automatically.
|
|
24
|
+
*/
|
|
25
|
+
export declare const TimelineItem: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiTimelineItemProps, "color" | "radius" | "lineVariant"> & RecursicaTimelineItemProps, "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 & {
|
|
26
|
+
overStyled?: false | undefined;
|
|
27
|
+
}, "ref"> | Omit<Omit<MuiTimelineItemProps, "color" | "radius" | "lineVariant"> & RecursicaTimelineItemProps & {
|
|
28
|
+
overStyled: true;
|
|
29
|
+
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -7,7 +7,7 @@ export type RecursicaTitleProps = Omit<MuiTypographyProps, "variant"> & {
|
|
|
7
7
|
component?: React.ElementType;
|
|
8
8
|
};
|
|
9
9
|
export type TitleProps = RecursicaOverStyled<RecursicaTitleProps>;
|
|
10
|
-
export declare const Title: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTitleProps, "
|
|
10
|
+
export declare const Title: React.ForwardRefExoticComponent<(Omit<Omit<RecursicaTitleProps, "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 & {
|
|
11
11
|
overStyled?: false | undefined;
|
|
12
12
|
}, "ref"> | Omit<Omit<MuiTypographyProps, "variant"> & {
|
|
13
13
|
order?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { SnackbarProps as MuiNotificationProps } from '@mui/material';
|
|
3
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
4
|
+
export interface RecursicaToastProps {
|
|
5
|
+
/**
|
|
6
|
+
* The visual variant of the toast.
|
|
7
|
+
* @default "default"
|
|
8
|
+
*/
|
|
9
|
+
variant?: "default" | "error" | "success";
|
|
10
|
+
/**
|
|
11
|
+
* Loading state is natively unsupported by Recursica UI Kit.
|
|
12
|
+
* If a loading state is required, pass a `<Loader size="sm" />` directly into the `icon` prop.
|
|
13
|
+
*/
|
|
14
|
+
loading?: false;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Toast component wrapping Mui's Notification.
|
|
18
|
+
*
|
|
19
|
+
* Can be used as a standalone visual component to display a notification or message.
|
|
20
|
+
*/
|
|
21
|
+
export type ToastProps = RecursicaOverStyled<Omit<MuiNotificationProps, "color" | "radius" | "variant" | "loading"> & RecursicaToastProps>;
|
|
22
|
+
export declare const Toast: React.ForwardRefExoticComponent<(Omit<Omit<Omit<MuiNotificationProps, "color" | "variant" | "radius" | "loading"> & RecursicaToastProps, "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 & {
|
|
23
|
+
overStyled?: false | undefined;
|
|
24
|
+
}, "ref"> | Omit<Omit<MuiNotificationProps, "color" | "variant" | "radius" | "loading"> & RecursicaToastProps & {
|
|
25
|
+
overStyled: true;
|
|
26
|
+
}, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,3 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Tooltip as MuiTooltip, TooltipProps as MuiTooltipProps } from '@mui/material';
|
|
2
|
+
import { RecursicaOverStyled } from '../../utils/filterStylingProps';
|
|
3
|
+
/**
|
|
4
|
+
* Recursica-specific props for Tooltip.
|
|
5
|
+
*/
|
|
6
|
+
export interface RecursicaTooltipProps {
|
|
7
|
+
/**
|
|
8
|
+
* Whether to display a beak (arrow) pointing from the tooltip 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
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
withBeak?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Recursica Tooltip component wrapping Mui's Tooltip.
|
|
17
|
+
*
|
|
18
|
+
* Displays a floating label when the user hovers over or focuses a target element.
|
|
19
|
+
* Unlike HoverCard, Tooltip is a single component (not composable) — content is
|
|
20
|
+
* passed via the `label` prop, and the trigger is passed as `children`.
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Tooltip label="Helpful information" withBeak>
|
|
24
|
+
* <Button>Hover me</Button>
|
|
25
|
+
* </Tooltip>
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* Static sub-components available via dot-notation:
|
|
29
|
+
* - `// Tooltip.Floating` — Tooltip that follows the cursor
|
|
30
|
+
* - `// Tooltip.Group` — Shared hover delay group for multiple tooltips
|
|
31
|
+
*/
|
|
32
|
+
export type TooltipProps = RecursicaOverStyled<MuiTooltipProps & RecursicaTooltipProps>;
|
|
33
|
+
declare const TooltipBase: {
|
|
34
|
+
({ overStyled, withBeak, ...rest }: TooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
37
|
+
type TooltipComponent = typeof TooltipBase & {
|
|
38
|
+
Floating: typeof MuiTooltip.Floating;
|
|
39
|
+
Group: typeof MuiTooltip.Group;
|
|
40
|
+
};
|
|
41
|
+
export declare const Tooltip: TooltipComponent;
|
|
42
|
+
export {};
|