@recursica/mui-adapter 0.14.0 → 0.16.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 (51) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +1 -1
  3. package/src/components/Accordion/USAGE.md +43 -0
  4. package/src/components/AssistiveElement/USAGE.md +36 -0
  5. package/src/components/Autocomplete/USAGE.md +42 -0
  6. package/src/components/Avatar/USAGE.md +38 -0
  7. package/src/components/Badge/USAGE.md +40 -0
  8. package/src/components/Box/USAGE.md +48 -0
  9. package/src/components/Breadcrumb/USAGE.md +42 -0
  10. package/src/components/Button/USAGE.md +58 -0
  11. package/src/components/Card/USAGE.md +69 -0
  12. package/src/components/Checkbox/USAGE.md +36 -0
  13. package/src/components/Chip/USAGE.md +36 -0
  14. package/src/components/Container/USAGE.md +48 -0
  15. package/src/components/DatePicker/USAGE.md +36 -0
  16. package/src/components/Dropdown/USAGE.md +41 -0
  17. package/src/components/FileInput/USAGE.md +36 -0
  18. package/src/components/FileUpload/USAGE.md +41 -0
  19. package/src/components/Flex/USAGE.md +41 -0
  20. package/src/components/FormControlLayout/USAGE.md +40 -0
  21. package/src/components/FormControlWrapper/USAGE.md +40 -0
  22. package/src/components/Group/USAGE.md +41 -0
  23. package/src/components/HoverCard/USAGE.md +45 -0
  24. package/src/components/Label/USAGE.md +36 -0
  25. package/src/components/Link/USAGE.md +40 -0
  26. package/src/components/Loader/USAGE.md +64 -0
  27. package/src/components/Menu/USAGE.md +54 -0
  28. package/src/components/Modal/USAGE.md +40 -0
  29. package/src/components/NumberInput/USAGE.md +36 -0
  30. package/src/components/Pagination/USAGE.md +42 -0
  31. package/src/components/Panel/USAGE.md +103 -0
  32. package/src/components/Radio/USAGE.md +36 -0
  33. package/src/components/ReadOnlyField/USAGE.md +36 -0
  34. package/src/components/SegmentedControl/USAGE.md +36 -0
  35. package/src/components/Slider/USAGE.md +36 -0
  36. package/src/components/Stack/USAGE.md +41 -0
  37. package/src/components/Stepper/USAGE.md +48 -0
  38. package/src/components/Switch/USAGE.md +36 -0
  39. package/src/components/Table/USAGE.md +51 -0
  40. package/src/components/Tabs/USAGE.md +52 -0
  41. package/src/components/Text/USAGE.md +40 -0
  42. package/src/components/TextArea/USAGE.md +38 -0
  43. package/src/components/TextField/USAGE.md +38 -0
  44. package/src/components/TimePicker/USAGE.md +36 -0
  45. package/src/components/Timeline/USAGE.md +41 -0
  46. package/src/components/Title/USAGE.md +36 -0
  47. package/src/components/Toast/USAGE.md +42 -0
  48. package/src/components/Tooltip/USAGE.md +40 -0
  49. package/src/components/TransferList/USAGE.md +46 -0
  50. package/src/components/Tree/USAGE.md +46 -0
  51. package/src/components/Typography/USAGE.md +40 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @recursica/mui-adapter
2
2
 
3
+ ## 0.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - db7701f: Updated layout of docs and mcp
8
+
9
+ ## 0.15.0
10
+
11
+ ### Minor Changes
12
+
13
+ - e0f2fc5: Update to latest official version
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [e0f2fc5]
18
+ - @recursica/official-release@2.6.0
19
+
3
20
  ## 0.14.0
4
21
 
5
22
  ### Minor Changes
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "url": "git+https://github.com/borderux/recursica.git",
14
14
  "directory": "packages/mui-adapter"
15
15
  },
16
- "version": "0.14.0",
16
+ "version": "0.16.0",
17
17
  "publishConfig": {
18
18
  "access": "public"
19
19
  },
@@ -0,0 +1,43 @@
1
+ # Accordion - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Accordion` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Accordion } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Accordion } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Accordion>
24
+ <Accordion.Item value="item-1">
25
+ <Accordion.Control>Section 1</Accordion.Control>
26
+ <Accordion.Panel>Section 1 content</Accordion.Panel>
27
+ </Accordion.Item>
28
+ </Accordion>
29
+ );
30
+ }
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 3. Design System Integration
36
+
37
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
38
+
39
+ > [!IMPORTANT]
40
+ >
41
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
42
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
43
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,36 @@
1
+ # AssistiveElement - Usage Guide
2
+
3
+ This document describes how to integrate and use the `AssistiveElement` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { AssistiveElement } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { AssistiveElement } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return <AssistiveElement state="error" message="This field is required" />;
23
+ }
24
+ ```
25
+
26
+ ---
27
+
28
+ ## 3. Design System Integration
29
+
30
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
31
+
32
+ > [!IMPORTANT]
33
+ >
34
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
35
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
36
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,42 @@
1
+ # Autocomplete - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Autocomplete` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Autocomplete } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Autocomplete } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Autocomplete
24
+ label="Country"
25
+ placeholder="Type a country name..."
26
+ data={["USA", "Canada", "Mexico"]}
27
+ />
28
+ );
29
+ }
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 3. Design System Integration
35
+
36
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
37
+
38
+ > [!IMPORTANT]
39
+ >
40
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
41
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
42
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,38 @@
1
+ # Avatar - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Avatar` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Avatar } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Avatar } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Avatar src="https://example.com/avatar.png" alt="User Name" radius="xl" />
24
+ );
25
+ }
26
+ ```
27
+
28
+ ---
29
+
30
+ ## 3. Design System Integration
31
+
32
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
33
+
34
+ > [!IMPORTANT]
35
+ >
36
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
37
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
38
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,40 @@
1
+ # Badge - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Badge` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Badge } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Badge } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Badge variant="filled" size="md">
24
+ Active
25
+ </Badge>
26
+ );
27
+ }
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 3. Design System Integration
33
+
34
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
35
+
36
+ > [!IMPORTANT]
37
+ >
38
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
39
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
40
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,48 @@
1
+ # Box - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Box` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Box } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Box } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Box>
24
+ <Text>This is a basic layout container.</Text>
25
+ </Box>
26
+ );
27
+ }
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 3. Design System Integration
33
+
34
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
35
+
36
+ > [!IMPORTANT]
37
+ >
38
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
39
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
40
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
41
+
42
+ ---
43
+
44
+ ## 4. Key Integration Features & Constraints
45
+
46
+ ## `sx` Prop Exemption
47
+
48
+ By design, the `Box` component is the most permissive primitive in the UI kit. It explicitly allows the `sx` prop to pass through to the underlying MUI `Box`. It does not use any strict styling gatekeepers (`RecursicaOverStyled`, `filterSxProp`). It is intended to be used as a final escape hatch when the standard layout primitives or design system tokens cannot fulfill a unique layout requirement.
@@ -0,0 +1,42 @@
1
+ # Breadcrumb - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Breadcrumb` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Breadcrumb } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Breadcrumb } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Breadcrumb>
24
+ <Link href="/">Home</Link>
25
+ <Link href="/components">Components</Link>
26
+ <Text>Button</Text>
27
+ </Breadcrumb>
28
+ );
29
+ }
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 3. Design System Integration
35
+
36
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
37
+
38
+ > [!IMPORTANT]
39
+ >
40
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
41
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
42
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,58 @@
1
+ # Button - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Button` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Button } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Button } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Button variant="primary" onClick={() => console.log("Clicked!")}>
24
+ Click Me
25
+ </Button>
26
+ );
27
+ }
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 3. Design System Integration
33
+
34
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
35
+
36
+ > [!IMPORTANT]
37
+ >
38
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
39
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
40
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
41
+
42
+ ---
43
+
44
+ ## 4. Key Integration Features & Constraints
45
+
46
+ ## Loader color contrast
47
+
48
+ **Decision:** When a Button is in a loading state, the `Recursica Loader` component is injected via the `loadingIndicator` prop. The `Loader` component strictly defines its own colors and styles per variant, meaning it does not automatically inherit the text color (`currentColor`) from the Button.
49
+
50
+ **Constraint:** This can lead to contrast issues (e.g., a blue dots loader inside a solid blue button). Design has explicitly decided not to address this at the moment. As such, developers using the `loading` prop must be aware that the loader's color is fixed by its internal tokens, not by the button's context.
51
+
52
+ ---
53
+
54
+ ## Loading state enforces disabled state
55
+
56
+ **Decision:** When `loading={true}` is passed to the Button, the component explicitly forces `disabled={true}` natively on the underlying element.
57
+
58
+ **Implementation:** This ensures that loading buttons automatically inherit the brand theme disabled opacities (via the `:disabled` CSS pseudo-class) rather than relying solely on MUI's internal loading opacity adjustments.
@@ -0,0 +1,69 @@
1
+ # Card - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Card` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Card } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Card } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Card>
24
+ <Card.Header>
25
+ <Title order={3}>Card Title</Title>
26
+ </Card.Header>
27
+ <Card.Content>
28
+ <Text>
29
+ This is some card content styled natively via design tokens.
30
+ </Text>
31
+ </Card.Content>
32
+ <Card.Footer>
33
+ <Button variant="secondary">Cancel</Button>
34
+ <Button variant="primary">Submit</Button>
35
+ </Card.Footer>
36
+ </Card>
37
+ );
38
+ }
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 3. Design System Integration
44
+
45
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
46
+
47
+ > [!IMPORTANT]
48
+ >
49
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
50
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
51
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
52
+
53
+ ---
54
+
55
+ ## 4. Key Integration Features & Constraints
56
+
57
+ ## Architecture Overrides
58
+
59
+ Because MUI natively constructs `Card` bounding boxes using `<Paper>` components (which lack the precise edge-to-edge layouts native to Mantine's sections), we implemented custom margins for edge-to-edge section components:
60
+
61
+ - `<Card.Header>` explicitly hooks `--recursica_ui-kit_components_card_properties_header-background` and corresponding padding variables, stretching edge-to-edge via negative margin resets.
62
+ - `<Card.Footer>` explicitly hooks `--recursica_ui-kit_components_card_properties_footer-background` and corresponding padding variables.
63
+
64
+ ## Layout Alignment Exceptions
65
+
66
+ To allow Cards to fit cleanly inside dynamic/flex layouts (like dashboard panels, grid tracks, or sidebar layout segments), the Card wrapper implements a custom gatekeeper bypass for outer styling properties:
67
+
68
+ - Exposes a safe subset of flexbox/dimensions styling properties (`flex`, `flexGrow`, `flexShrink`, `flexBasis`, `grow`, `h`, `height`) on the root `<Card>` component to allow proper sizing alongside layout siblings.
69
+ - Sets `<Card.Content>` to `flex-grow: 1;` by default via CSS modules. Since the root `<Card>` has `display: flex; flex-direction: column;`, this makes the content area expand to fill all vertical space, pushing `<Card.Footer>` to align at the absolute bottom of the bounding box.
@@ -0,0 +1,36 @@
1
+ # Checkbox - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Checkbox` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Checkbox } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Checkbox } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return <Checkbox label="Accept terms and conditions" defaultChecked />;
23
+ }
24
+ ```
25
+
26
+ ---
27
+
28
+ ## 3. Design System Integration
29
+
30
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
31
+
32
+ > [!IMPORTANT]
33
+ >
34
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
35
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
36
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,36 @@
1
+ # Chip - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Chip` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Chip } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Chip } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return <Chip defaultChecked>Clickable Chip</Chip>;
23
+ }
24
+ ```
25
+
26
+ ---
27
+
28
+ ## 3. Design System Integration
29
+
30
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
31
+
32
+ > [!IMPORTANT]
33
+ >
34
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
35
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
36
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,48 @@
1
+ # Container - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Container` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Container } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Container } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Container size="lg">
24
+ <Text>Centered content container constrained by maximum width.</Text>
25
+ </Container>
26
+ );
27
+ }
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 3. Design System Integration
33
+
34
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
35
+
36
+ > [!IMPORTANT]
37
+ >
38
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
39
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
40
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
41
+
42
+ ---
43
+
44
+ ## 4. Key Integration Features & Constraints
45
+
46
+ ## `sx` Prop Exemption
47
+
48
+ By design, the `Container` component explicitly allows the `sx` prop to pass through to the underlying MUI `Container`. Unlike standard UI kit components (which use the `RecursicaOverStyled` gatekeeper) or flex layout primitives (which strip `sx` via `OmitSx` and `filterSxProp`), `Container` acts as a structural boundary where advanced, one-off positioning adjustments may be required by the consuming application.
@@ -0,0 +1,36 @@
1
+ # DatePicker - Usage Guide
2
+
3
+ This document describes how to integrate and use the `DatePicker` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { DatePicker } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { DatePicker } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return <DatePicker label="Select Date" placeholder="Pick a date" />;
23
+ }
24
+ ```
25
+
26
+ ---
27
+
28
+ ## 3. Design System Integration
29
+
30
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
31
+
32
+ > [!IMPORTANT]
33
+ >
34
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
35
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
36
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.
@@ -0,0 +1,41 @@
1
+ # Dropdown - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Dropdown` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ ---
6
+
7
+ ## 1. Import Reference
8
+
9
+ ```tsx
10
+ import { Dropdown } from "@recursica/mui-adapter";
11
+ ```
12
+
13
+ ---
14
+
15
+ ## 2. Basic Example
16
+
17
+ ```tsx
18
+ import React from "react";
19
+ import { Dropdown } from "@recursica/mui-adapter";
20
+
21
+ export default function Demo() {
22
+ return (
23
+ <Dropdown placeholder="Select an option">
24
+ <Dropdown.Item value="1">Option 1</Dropdown.Item>
25
+ <Dropdown.Item value="2">Option 2</Dropdown.Item>
26
+ </Dropdown>
27
+ );
28
+ }
29
+ ```
30
+
31
+ ---
32
+
33
+ ## 3. Design System Integration
34
+
35
+ All Recursica components in the `@recursica/mui-adapter` package adhere strictly to design system spacing, scaling, and behavior patterns.
36
+
37
+ > [!IMPORTANT]
38
+ >
39
+ > - **Anti-override protection**: Rogues style injections (like inline `style` or arbitrary `className`) are automatically blocked by our prop layer unless `overStyled={true}` is explicitly provided.
40
+ > - **No Direct Layers**: Do not pass a `layer` prop to this component. To place it on a specific visual layer, wrap it in a `<Layer layer={0|1|2|3}>` component natively.
41
+ > - **Variables and Theming**: Styling is entirely determined by local CSS variables defined in `recursica_variables_scoped.css` and mapped in the component's CSS module.