@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
@@ -1,5 +1,15 @@
1
1
  # @recursica/mantine-adapter
2
2
 
3
+ ## 0.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 72174fc: Add MUI adapter, reworked storybook for adapter switching
8
+
9
+ ### Patch Changes
10
+
11
+ - 72174fc: Updated docs and README.md links
12
+
3
13
  ## 0.17.0
4
14
 
5
15
  ### Minor Changes
@@ -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.17.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 = {};