@recursica/mantine-adapter 0.17.0 → 0.18.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
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const OverStylingInfo: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VersionInfo: () => import("react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
"private": false,
|
|
5
5
|
"homepage": "https://github.com/borderux/recursica/tree/main/packages/mantine-adapter",
|
|
6
6
|
"author": "hi@borderux.com",
|
|
7
|
+
"license": "MIT",
|
|
7
8
|
"bugs": {
|
|
8
9
|
"url": "https://github.com/borderux/recursica/issues"
|
|
9
10
|
},
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/borderux/recursica.git"
|
|
13
|
+
"url": "git+https://github.com/borderux/recursica.git",
|
|
14
|
+
"directory": "packages/mantine-adapter"
|
|
13
15
|
},
|
|
14
|
-
"version": "0.
|
|
16
|
+
"version": "0.18.0",
|
|
15
17
|
"type": "module",
|
|
16
18
|
"main": "./dist/mantine-adapter.cjs",
|
|
17
19
|
"module": "./dist/mantine-adapter.js",
|
|
@@ -57,7 +59,6 @@
|
|
|
57
59
|
"@storybook/addon-a11y": "^10.3.3",
|
|
58
60
|
"@storybook/addon-docs": "^10.3.3",
|
|
59
61
|
"@storybook/addon-mcp": "^0.4.2",
|
|
60
|
-
"@storybook/addon-onboarding": "^10.3.3",
|
|
61
62
|
"@storybook/addon-vitest": "^10.3.3",
|
|
62
63
|
"@storybook/react-vite": "^10.3.3",
|
|
63
64
|
"@types/react": "^19.1.2",
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { Meta } from "@storybook/react-vite";
|
|
2
|
+
import { AdaptersContent, MantineLogo } from "@recursica/storybook-template";
|
|
3
|
+
import { Button } from "./components/Button/Button";
|
|
4
|
+
import { VersionInfo } from "./Version";
|
|
5
|
+
import { OverStylingInfo } from "./OverStyling";
|
|
6
|
+
|
|
7
|
+
const DOCS_URL = "https://recursica.com";
|
|
8
|
+
const FORGE_URL = "https://forge.recursica.com";
|
|
9
|
+
|
|
10
|
+
const sectionStyle: React.CSSProperties = {
|
|
11
|
+
marginBottom: 32,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const headingStyle: React.CSSProperties = {
|
|
15
|
+
fontSize: 14,
|
|
16
|
+
fontWeight: 600,
|
|
17
|
+
color: "#333",
|
|
18
|
+
marginBottom: 8,
|
|
19
|
+
marginTop: 0,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const bodyStyle: React.CSSProperties = {
|
|
23
|
+
fontSize: 14,
|
|
24
|
+
lineHeight: 1.6,
|
|
25
|
+
color: "#444",
|
|
26
|
+
margin: 0,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const linkStyle: React.CSSProperties = {
|
|
30
|
+
color: "#0066cc",
|
|
31
|
+
textDecoration: "none",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function IntroductionContent() {
|
|
35
|
+
return (
|
|
36
|
+
<div style={{ padding: 24, maxWidth: 640 }}>
|
|
37
|
+
<div
|
|
38
|
+
style={{
|
|
39
|
+
display: "flex",
|
|
40
|
+
alignItems: "center",
|
|
41
|
+
gap: "16px",
|
|
42
|
+
marginBottom: "16px",
|
|
43
|
+
}}
|
|
44
|
+
>
|
|
45
|
+
<MantineLogo width={40} height={40} />
|
|
46
|
+
<div>
|
|
47
|
+
<h1 style={{ fontSize: 24, fontWeight: 700, margin: 0 }}>
|
|
48
|
+
Recursica Design System (Mantine Adapter)
|
|
49
|
+
</h1>
|
|
50
|
+
<a
|
|
51
|
+
href="https://mantine.dev"
|
|
52
|
+
target="_blank"
|
|
53
|
+
rel="noreferrer"
|
|
54
|
+
style={linkStyle}
|
|
55
|
+
>
|
|
56
|
+
mantine.dev
|
|
57
|
+
</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<p style={{ ...bodyStyle, marginBottom: 24 }}>
|
|
61
|
+
This Storybook showcases the Recursica design system implemented for the{" "}
|
|
62
|
+
<strong>Mantine UI Kit</strong>. It provides reusable components that
|
|
63
|
+
map our design tokens to Mantine's robust component layer.
|
|
64
|
+
</p>
|
|
65
|
+
|
|
66
|
+
<section style={sectionStyle}>
|
|
67
|
+
<h2 style={headingStyle}>Looking for another UI Kit?</h2>
|
|
68
|
+
<p style={bodyStyle}>
|
|
69
|
+
Are you using a different UI Kit (like Material UI)? Recursica
|
|
70
|
+
provides multiple adapters for different frameworks.
|
|
71
|
+
</p>
|
|
72
|
+
<div style={{ marginTop: "16px" }}>
|
|
73
|
+
<Button
|
|
74
|
+
component="a"
|
|
75
|
+
href="./?path=/story/introduction--adapters"
|
|
76
|
+
target="_parent"
|
|
77
|
+
variant="solid"
|
|
78
|
+
>
|
|
79
|
+
View Supported Adapters
|
|
80
|
+
</Button>
|
|
81
|
+
</div>
|
|
82
|
+
</section>
|
|
83
|
+
|
|
84
|
+
<section style={sectionStyle}>
|
|
85
|
+
<h2 style={headingStyle}>Installation</h2>
|
|
86
|
+
<p style={bodyStyle}>
|
|
87
|
+
To install the Mantine adapter in your project, run:
|
|
88
|
+
</p>
|
|
89
|
+
<pre
|
|
90
|
+
style={{
|
|
91
|
+
padding: 12,
|
|
92
|
+
backgroundColor: "#f5f5f5",
|
|
93
|
+
borderRadius: 6,
|
|
94
|
+
fontSize: 13,
|
|
95
|
+
marginTop: 8,
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
<code>
|
|
99
|
+
npm install @recursica/mantine-adapter @mantine/core @mantine/hooks
|
|
100
|
+
</code>
|
|
101
|
+
</pre>
|
|
102
|
+
</section>
|
|
103
|
+
|
|
104
|
+
<section style={sectionStyle}>
|
|
105
|
+
<h2 style={headingStyle}>Tokens</h2>
|
|
106
|
+
<p style={bodyStyle}>
|
|
107
|
+
Raw design tokens (colors, sizes, font weights, opacities, etc.) that
|
|
108
|
+
feed the theme and components. These are the primitive values defined
|
|
109
|
+
in your token set and exposed as CSS custom properties.
|
|
110
|
+
</p>
|
|
111
|
+
</section>
|
|
112
|
+
|
|
113
|
+
<section style={sectionStyle}>
|
|
114
|
+
<h2 style={headingStyle}>Theme</h2>
|
|
115
|
+
<p style={bodyStyle}>
|
|
116
|
+
Brand and theme layer built on top of tokens. Typography types,
|
|
117
|
+
dimensions, and layout grids are defined here. Theme uses the tokens
|
|
118
|
+
and exposes both CSS variables and helper classes (e.g. typography
|
|
119
|
+
classes) for consistent styling across the product.
|
|
120
|
+
</p>
|
|
121
|
+
</section>
|
|
122
|
+
|
|
123
|
+
<section style={sectionStyle}>
|
|
124
|
+
<h2 style={headingStyle}>Configuring Recursica</h2>
|
|
125
|
+
<p style={bodyStyle}>
|
|
126
|
+
To modify the Recursica configuration (tokens, brand, theme), go to{" "}
|
|
127
|
+
<a
|
|
128
|
+
href={FORGE_URL}
|
|
129
|
+
target="_blank"
|
|
130
|
+
rel="noopener noreferrer"
|
|
131
|
+
style={linkStyle}
|
|
132
|
+
>
|
|
133
|
+
{FORGE_URL}
|
|
134
|
+
</a>
|
|
135
|
+
. Changes there drive the tokens and theme you see in this Storybook.
|
|
136
|
+
</p>
|
|
137
|
+
</section>
|
|
138
|
+
|
|
139
|
+
<section style={sectionStyle}>
|
|
140
|
+
<h2 style={headingStyle}>Documentation</h2>
|
|
141
|
+
<p style={bodyStyle}>
|
|
142
|
+
For full documentation, guides, and API reference, visit{" "}
|
|
143
|
+
<a
|
|
144
|
+
href={DOCS_URL}
|
|
145
|
+
target="_blank"
|
|
146
|
+
rel="noopener noreferrer"
|
|
147
|
+
style={linkStyle}
|
|
148
|
+
>
|
|
149
|
+
{DOCS_URL}
|
|
150
|
+
</a>
|
|
151
|
+
.
|
|
152
|
+
</p>
|
|
153
|
+
</section>
|
|
154
|
+
</div>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const meta = {
|
|
159
|
+
title: "Introduction",
|
|
160
|
+
} satisfies Meta;
|
|
161
|
+
|
|
162
|
+
export default meta;
|
|
163
|
+
|
|
164
|
+
export const Welcome = {
|
|
165
|
+
render: () => <IntroductionContent />,
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export const Adapters = {
|
|
169
|
+
render: () => <AdaptersContent />,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export const OverStyling = {
|
|
173
|
+
name: "Over Styling",
|
|
174
|
+
render: () => <OverStylingInfo />,
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export const VersionInfoStory = {
|
|
178
|
+
name: "Version Info",
|
|
179
|
+
render: () => <VersionInfo />,
|
|
180
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
1
|
import {
|
|
3
2
|
Container,
|
|
4
3
|
Paper,
|
|
@@ -11,7 +10,7 @@ import {
|
|
|
11
10
|
} from "@mantine/core";
|
|
12
11
|
import { Button } from "./components/Button/Button";
|
|
13
12
|
|
|
14
|
-
const OverStylingInfo = () => {
|
|
13
|
+
export const OverStylingInfo = () => {
|
|
15
14
|
return (
|
|
16
15
|
<Container size="md" py="xl">
|
|
17
16
|
<Paper withBorder p="xl" radius="md">
|
|
@@ -185,12 +184,3 @@ const OverStylingInfo = () => {
|
|
|
185
184
|
</Container>
|
|
186
185
|
);
|
|
187
186
|
};
|
|
188
|
-
|
|
189
|
-
const meta: Meta<typeof OverStylingInfo> = {
|
|
190
|
-
title: "Introduction/Over Styling",
|
|
191
|
-
component: OverStylingInfo,
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
export default meta;
|
|
195
|
-
|
|
196
|
-
export const Default: StoryObj<typeof OverStylingInfo> = {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
1
|
import ReactMarkdown from "react-markdown";
|
|
3
2
|
import {
|
|
4
3
|
Container,
|
|
@@ -12,7 +11,7 @@ import {
|
|
|
12
11
|
import pkg from "../package.json";
|
|
13
12
|
import changelog from "../CHANGELOG.md?raw";
|
|
14
13
|
|
|
15
|
-
const VersionInfo = () => {
|
|
14
|
+
export const VersionInfo = () => {
|
|
16
15
|
return (
|
|
17
16
|
<Container size="md" py="xl">
|
|
18
17
|
<Paper withBorder p="xl" radius="md">
|
|
@@ -43,14 +42,3 @@ const VersionInfo = () => {
|
|
|
43
42
|
</Container>
|
|
44
43
|
);
|
|
45
44
|
};
|
|
46
|
-
|
|
47
|
-
const meta: Meta<typeof VersionInfo> = {
|
|
48
|
-
title: "Introduction/Version Info",
|
|
49
|
-
component: VersionInfo,
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export default meta;
|
|
53
|
-
|
|
54
|
-
type Story = StoryObj<typeof VersionInfo>;
|
|
55
|
-
|
|
56
|
-
export const Default: Story = {};
|