@recursica/adapter-mantine-v8 1.3.3 → 1.3.4
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 +8 -0
- package/docs/PHILOSOPHY.md +4 -0
- package/package.json +4 -8
- package/.storybook/commonArgTypes.ts +0 -148
- package/recursica_brand.json +0 -2610
- package/recursica_tokens.json +0 -769
- package/recursica_ui-kit.json +0 -9049
- package/recursica_variables_scoped.css +0 -6178
- package/src/Introduction.stories.tsx +0 -149
- package/src/components/Accordion/Accordion.stories.tsx +0 -189
- package/src/components/AssistiveElement/AssistiveElement.stories.tsx +0 -68
- package/src/components/AutoComplete/AutoComplete.stories.tsx +0 -336
- package/src/components/Avatar/Avatar.stories.tsx +0 -92
- package/src/components/Badge/Badge.stories.tsx +0 -78
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -114
- package/src/components/Button/Button.stories.tsx +0 -192
- package/src/components/Card/Card.stories.tsx +0 -76
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -97
- package/src/components/Checkbox/CheckboxGroup.stories.tsx +0 -139
- package/src/components/Chip/Chip.stories.tsx +0 -128
- package/src/components/Container/Container.stories.tsx +0 -118
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -158
- package/src/components/Dropdown/Dropdown.stories.tsx +0 -252
- package/src/components/FileInput/FileInput.stories.tsx +0 -313
- package/src/components/FileUpload/FileUpload.stories.tsx +0 -362
- package/src/components/Flex/Flex.stories.tsx +0 -128
- package/src/components/FormControlLayout/FormControlLayout.stories.tsx +0 -118
- package/src/components/FormControlWrapper/FormControlWrapper.stories.tsx +0 -129
- package/src/components/Group/Group.stories.tsx +0 -120
- package/src/components/Heading/Heading.stories.tsx +0 -112
- package/src/components/HoverCard/HoverCard.stories.tsx +0 -172
- package/src/components/Label/Label.stories.tsx +0 -131
- package/src/components/LayoutGrid/LayoutGrid.stories.tsx +0 -61
- package/src/components/Link/Link.stories.tsx +0 -58
- package/src/components/Loader/Loader.stories.tsx +0 -123
- package/src/components/Menu/Menu.stories.tsx +0 -370
- package/src/components/Modal/Modal.stories.tsx +0 -105
- package/src/components/NumberInput/NumberInput.stories.tsx +0 -96
- package/src/components/Pagination/Pagination.stories.tsx +0 -48
- package/src/components/Panel/Panel.stories.tsx +0 -219
- package/src/components/Popover/Popover.stories.tsx +0 -133
- package/src/components/Radio/Radio.stories.tsx +0 -93
- package/src/components/Radio/RadioGroup.stories.tsx +0 -117
- package/src/components/ReadOnlyField/ReadOnlyField.stories.tsx +0 -163
- package/src/components/SegmentedControl/SegmentedControl.stories.tsx +0 -106
- package/src/components/Slider/Slider.stories.tsx +0 -282
- package/src/components/Stack/Stack.stories.tsx +0 -108
- package/src/components/Stepper/Stepper.stories.tsx +0 -148
- package/src/components/Switch/Switch.stories.tsx +0 -114
- package/src/components/Switch/SwitchGroup.stories.tsx +0 -132
- package/src/components/Table/Table.stories.tsx +0 -140
- package/src/components/Tabs/Tabs.stories.tsx +0 -154
- package/src/components/Text/Text.stories.tsx +0 -148
- package/src/components/TextArea/TextArea.stories.tsx +0 -94
- package/src/components/TextField/TextField.stories.tsx +0 -162
- package/src/components/TimePicker/TimePicker.stories.tsx +0 -141
- package/src/components/Timeline/Timeline.stories.tsx +0 -128
- package/src/components/Toast/Toast.stories.tsx +0 -67
- package/src/components/Tooltip/Tooltip.stories.tsx +0 -165
- package/src/components/TransferList/TransferList.stories.tsx +0 -121
- package/src/components/Tree/Tree.stories.tsx +0 -104
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @recursica/adapter-mantine-v8
|
|
2
2
|
|
|
3
|
+
## 1.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f5b4ab0: Updated `@recursica/storybook-template` to 0.7.16. The Adapters page now lists the Angular Material adapter.
|
|
8
|
+
- f5b4ab0: Stop publishing Storybook story files and `.storybook/commonArgTypes.ts` in the npm package.
|
|
9
|
+
- f5b4ab0: Add a "Why an Adapter?" section to PHILOSOPHY.md.
|
|
10
|
+
|
|
3
11
|
## 1.3.3
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/docs/PHILOSOPHY.md
CHANGED
|
@@ -4,6 +4,10 @@ Recursica's component architecture isn't just a wrapper; it's a strict enforcing
|
|
|
4
4
|
|
|
5
5
|
This document serves as the governing framework for why the `adapter-mantine-v8` components are built the way they are.
|
|
6
6
|
|
|
7
|
+
## Why an Adapter?
|
|
8
|
+
|
|
9
|
+
Most companies already have an existing component library or use an existing UI kit, and switching to a different kit means painful refactoring. Rather than replace Mantine, this adapter adapts to its API surface while enforcing the behaviors and styling Recursica defines for a consistent UX. You don't ship two separate UI kits, and you can migrate to Recursica systematically, over time.
|
|
10
|
+
|
|
7
11
|
## 1. Strict Separation of Props (The Unified Recursica Prop Layer)
|
|
8
12
|
|
|
9
13
|
Recursica has a **single universal API surface** internally regardless of whether we use Mantine or another underlying UI library.
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "git+https://github.com/borderux/recursica-adapter-mantine-v8.git"
|
|
14
14
|
},
|
|
15
|
-
"version": "1.3.
|
|
15
|
+
"version": "1.3.4",
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
@@ -31,18 +31,14 @@
|
|
|
31
31
|
"files": [
|
|
32
32
|
"dist",
|
|
33
33
|
"src",
|
|
34
|
+
"!src/**/*.stories.tsx",
|
|
34
35
|
"CHANGELOG.md",
|
|
35
|
-
".storybook/commonArgTypes.ts",
|
|
36
36
|
"llms.txt",
|
|
37
37
|
"USAGE.md",
|
|
38
38
|
"ARCHITECTURE.md",
|
|
39
39
|
"SETUP.md",
|
|
40
40
|
"OVERSTYLING.md",
|
|
41
|
-
"docs/PHILOSOPHY.md"
|
|
42
|
-
"recursica_variables_scoped.css",
|
|
43
|
-
"recursica_brand.json",
|
|
44
|
-
"recursica_tokens.json",
|
|
45
|
-
"recursica_ui-kit.json"
|
|
41
|
+
"docs/PHILOSOPHY.md"
|
|
46
42
|
],
|
|
47
43
|
"keywords": [
|
|
48
44
|
"react",
|
|
@@ -86,7 +82,7 @@
|
|
|
86
82
|
"@playwright/test": "^1.62.1",
|
|
87
83
|
"@recursica/adapter-tester": "^5.3.1",
|
|
88
84
|
"@recursica/recursica-postcss-vars": "^1.5.0",
|
|
89
|
-
"@recursica/storybook-template": "^0.7.
|
|
85
|
+
"@recursica/storybook-template": "^0.7.16",
|
|
90
86
|
"@recursica/token-analyzer": "^1.8.0",
|
|
91
87
|
"@storybook/addon-a11y": "^10.3.3",
|
|
92
88
|
"@storybook/addon-docs": "^10.3.3",
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* commonArgTypes.ts
|
|
3
|
-
*
|
|
4
|
-
* This file centralizes the standard Storybook Controls (ArgTypes) for all UI Kit
|
|
5
|
-
* components that natively wrap or extend the `FormControlWrapper`.
|
|
6
|
-
*
|
|
7
|
-
* PHILOSOPHY:
|
|
8
|
-
* Recursica ensures strict unified design boundaries across all form inputs (TextField,
|
|
9
|
-
* CheckboxGroup, Dropdown, etc.). Because they all share the exact same label structures,
|
|
10
|
-
* layout variants (stacked vs side-by-side), and assistive text bindings natively supplied
|
|
11
|
-
* by the `FormControlWrapper`, their Storybook experiences should be exactly identical.
|
|
12
|
-
*
|
|
13
|
-
* USAGE:
|
|
14
|
-
* Rather than recreating these controls inside every `Component.stories.tsx` file,
|
|
15
|
-
* developers must spread this object directly into the `argTypes` of their story default block:
|
|
16
|
-
*
|
|
17
|
-
* ```tsx
|
|
18
|
-
* import { formControlArgTypes } from "../../.storybook/commonArgTypes";
|
|
19
|
-
*
|
|
20
|
-
* export default {
|
|
21
|
-
* component: TextField,
|
|
22
|
-
* argTypes: {
|
|
23
|
-
* ...formControlArgTypes,
|
|
24
|
-
* // Component-specific argTypes below...
|
|
25
|
-
* }
|
|
26
|
-
* }
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
import type { ArgTypes } from "@storybook/react";
|
|
30
|
-
|
|
31
|
-
export const formControlArgTypes: Partial<ArgTypes> = {
|
|
32
|
-
formLayout: {
|
|
33
|
-
control: "inline-radio",
|
|
34
|
-
options: ["stacked", "side-by-side"],
|
|
35
|
-
description:
|
|
36
|
-
"Determines the structural flow layout of the Label relative to the Input.",
|
|
37
|
-
table: {
|
|
38
|
-
category: "Form Layout",
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
labelSize: {
|
|
42
|
-
control: "inline-radio",
|
|
43
|
-
options: ["default", "small"],
|
|
44
|
-
description:
|
|
45
|
-
"Adjusts the typographical boundaries bounding the Label section.",
|
|
46
|
-
table: {
|
|
47
|
-
category: "Form Layout",
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
labelAlignment: {
|
|
51
|
-
control: "inline-radio",
|
|
52
|
-
options: ["left", "right"],
|
|
53
|
-
description:
|
|
54
|
-
"Adjusts the explicit text alignment axis exclusively evaluating side-by-side structures.",
|
|
55
|
-
table: {
|
|
56
|
-
category: "Form Layout",
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
labelOptionalText: {
|
|
60
|
-
control: "text",
|
|
61
|
-
description:
|
|
62
|
-
"Optional secondary stylistic text injected alongside the primary Label node.",
|
|
63
|
-
table: {
|
|
64
|
-
category: "Form Layout",
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
labelWithEditIcon: {
|
|
68
|
-
control: "boolean",
|
|
69
|
-
description:
|
|
70
|
-
"Dynamically toggles interactivity hooks revealing the Edit context icon.",
|
|
71
|
-
table: {
|
|
72
|
-
category: "Form Layout",
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
description: {
|
|
76
|
-
table: {
|
|
77
|
-
disable: true,
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
assistiveText: {
|
|
81
|
-
control: "text",
|
|
82
|
-
description:
|
|
83
|
-
"Helper instructions safely dynamically anchored below the input box natively outperforming description.",
|
|
84
|
-
table: {
|
|
85
|
-
category: "Form Layout",
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
assistiveWithIcon: {
|
|
89
|
-
control: "boolean",
|
|
90
|
-
description:
|
|
91
|
-
"Toggles native Recursica Info-styling rendering universally alongside the assistive block.",
|
|
92
|
-
table: {
|
|
93
|
-
category: "Form Layout",
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
error: {
|
|
97
|
-
control: "text",
|
|
98
|
-
description:
|
|
99
|
-
"Dynamically maps error feedback validation strings rendering explicit error states.",
|
|
100
|
-
table: {
|
|
101
|
-
category: "Form State",
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
required: {
|
|
105
|
-
control: "boolean",
|
|
106
|
-
description:
|
|
107
|
-
"Native DOM compliance flag explicitly marking the field as required natively.",
|
|
108
|
-
table: {
|
|
109
|
-
category: "Form State",
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
disabled: {
|
|
113
|
-
control: "boolean",
|
|
114
|
-
description:
|
|
115
|
-
"Globally disables interactive components bounding all click and focus logic natively.",
|
|
116
|
-
table: {
|
|
117
|
-
category: "Form State",
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
withAsterisk: {
|
|
121
|
-
control: "boolean",
|
|
122
|
-
description:
|
|
123
|
-
"Visually forces the mandatory asterisk presence completely independent of logical 'required' attribute properties.",
|
|
124
|
-
table: {
|
|
125
|
-
category: "Form State",
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
labelActionArea: {
|
|
129
|
-
table: {
|
|
130
|
-
disable: true,
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
onLabelEditClick: {
|
|
134
|
-
table: {
|
|
135
|
-
disable: true,
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
controlMaxWidth: {
|
|
139
|
-
table: {
|
|
140
|
-
disable: true,
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
controlMinWidth: {
|
|
144
|
-
table: {
|
|
145
|
-
disable: true,
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
};
|