matrix-design-system 1.1.1 → 2.0.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/README.md +40 -1
- package/dist/index.d.mts +5 -6
- package/dist/organism/footer/footer.d.mts +9 -10
- package/dist/organism/footer/footer.mjs +75 -151
- package/dist/organism/footer/index.d.mts +3 -3
- package/dist/organism/footer/use-footer-store.d.mts +0 -8
- package/dist/organism/footer/use-footer-store.mjs +13 -31
- package/dist/organism/menu/index.d.mts +2 -3
- package/dist/organism/menu/menu.d.mts +20 -19
- package/dist/organism/menu/menu.mjs +128 -266
- package/dist/organism/menu/use-menu-store.mjs +67 -232
- package/package.json +15 -15
- package/dist/organism/menu/use-menu-store.d.mts +0 -21
|
@@ -5,261 +5,96 @@ import { useOsModifierKey } from "../../hooks/use-os-modifier-key.mjs";
|
|
|
5
5
|
import { c } from "react/compiler-runtime";
|
|
6
6
|
import { useState } from "react";
|
|
7
7
|
//#region src/organism/menu/use-menu-store.ts
|
|
8
|
-
const useMenuStore = (pathname,
|
|
9
|
-
const $ = c(
|
|
8
|
+
const useMenuStore = (pathname, pinnedOnPaths, onPaletteTrigger) => {
|
|
9
|
+
const $ = c(22);
|
|
10
10
|
const direction = useScrollDirection();
|
|
11
11
|
const [shouldOpenMenu, setShouldOpenMenu] = useState(false);
|
|
12
12
|
const modifierKey = useOsModifierKey();
|
|
13
|
-
const shouldHideMenu = pathname === chatSlug ? false : direction === "down";
|
|
14
13
|
let t0;
|
|
15
|
-
if ($[0]
|
|
16
|
-
t0 = ()
|
|
17
|
-
$[0] =
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
if ($[0] !== direction || $[1] !== pathname || $[2] !== pinnedOnPaths) {
|
|
15
|
+
t0 = pinnedOnPaths.includes(pathname) ? false : direction === "down";
|
|
16
|
+
$[0] = direction;
|
|
17
|
+
$[1] = pathname;
|
|
18
|
+
$[2] = pinnedOnPaths;
|
|
19
|
+
$[3] = t0;
|
|
20
|
+
} else t0 = $[3];
|
|
21
|
+
const shouldHideMenu = t0;
|
|
20
22
|
let t1;
|
|
21
|
-
if ($[
|
|
22
|
-
t1 = () => setShouldOpenMenu(
|
|
23
|
-
$[
|
|
24
|
-
} else t1 = $[
|
|
25
|
-
const
|
|
23
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
24
|
+
t1 = () => setShouldOpenMenu(true);
|
|
25
|
+
$[4] = t1;
|
|
26
|
+
} else t1 = $[4];
|
|
27
|
+
const openMenu = t1;
|
|
26
28
|
let t2;
|
|
27
|
-
if ($[
|
|
28
|
-
t2 = () =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
$[2] = onPaletteTrigger;
|
|
33
|
-
$[3] = t2;
|
|
34
|
-
} else t2 = $[3];
|
|
35
|
-
const handlePaletteTrigger = t2;
|
|
29
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
30
|
+
t2 = () => setShouldOpenMenu(false);
|
|
31
|
+
$[5] = t2;
|
|
32
|
+
} else t2 = $[5];
|
|
33
|
+
const closeMenu = t2;
|
|
36
34
|
let t3;
|
|
37
|
-
if ($[
|
|
35
|
+
if ($[6] !== onPaletteTrigger) {
|
|
38
36
|
t3 = () => {
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
onPaletteTrigger?.();
|
|
38
|
+
openCommandPalette();
|
|
41
39
|
};
|
|
42
|
-
$[
|
|
43
|
-
$[
|
|
44
|
-
} else t3 = $[
|
|
45
|
-
const
|
|
40
|
+
$[6] = onPaletteTrigger;
|
|
41
|
+
$[7] = t3;
|
|
42
|
+
} else t3 = $[7];
|
|
43
|
+
const handlePaletteTrigger = t3;
|
|
46
44
|
let t4;
|
|
47
|
-
if ($[
|
|
48
|
-
t4 = () => {
|
|
49
|
-
|
|
45
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
46
|
+
t4 = (onClick) => () => {
|
|
47
|
+
onClick?.();
|
|
50
48
|
closeMenu();
|
|
51
49
|
};
|
|
52
|
-
$[
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const onClickBlog = t4;
|
|
50
|
+
$[8] = t4;
|
|
51
|
+
} else t4 = $[8];
|
|
52
|
+
const handleLinkClick = t4;
|
|
56
53
|
let t5;
|
|
57
|
-
if ($[
|
|
58
|
-
t5 = () =>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
$[9] = t5;
|
|
64
|
-
} else t5 = $[9];
|
|
65
|
-
const onClickBlogAuthors = t5;
|
|
54
|
+
if ($[9] !== pathname) {
|
|
55
|
+
t5 = (link) => !link.external && (link.to === pathname || (link.activePathPrefixes?.some((prefix) => pathname.startsWith(prefix)) ?? false));
|
|
56
|
+
$[9] = pathname;
|
|
57
|
+
$[10] = t5;
|
|
58
|
+
} else t5 = $[10];
|
|
59
|
+
const isSelected = t5;
|
|
66
60
|
let t6;
|
|
67
|
-
if ($[
|
|
68
|
-
t6 =
|
|
69
|
-
tracking?.onTrackBlogTags?.();
|
|
70
|
-
closeMenu();
|
|
71
|
-
};
|
|
72
|
-
$[10] = tracking;
|
|
73
|
-
$[11] = t6;
|
|
74
|
-
} else t6 = $[11];
|
|
75
|
-
const onClickBlogTags = t6;
|
|
76
|
-
let t7;
|
|
77
|
-
if ($[12] !== tracking) {
|
|
78
|
-
t7 = () => {
|
|
79
|
-
tracking?.onTrackBlogArchive?.();
|
|
80
|
-
closeMenu();
|
|
81
|
-
};
|
|
82
|
-
$[12] = tracking;
|
|
83
|
-
$[13] = t7;
|
|
84
|
-
} else t7 = $[13];
|
|
85
|
-
const onClickBlogArchive = t7;
|
|
86
|
-
let t8;
|
|
87
|
-
if ($[14] !== tracking) {
|
|
88
|
-
t8 = () => {
|
|
89
|
-
tracking?.onTrackBlogStats?.();
|
|
90
|
-
closeMenu();
|
|
91
|
-
};
|
|
92
|
-
$[14] = tracking;
|
|
93
|
-
$[15] = t8;
|
|
94
|
-
} else t8 = $[15];
|
|
95
|
-
const onClickBlogStats = t8;
|
|
96
|
-
let t9;
|
|
97
|
-
if ($[16] !== tracking) {
|
|
98
|
-
t9 = () => {
|
|
99
|
-
tracking?.onTrackDsaRoadmap?.();
|
|
100
|
-
closeMenu();
|
|
101
|
-
};
|
|
102
|
-
$[16] = tracking;
|
|
103
|
-
$[17] = t9;
|
|
104
|
-
} else t9 = $[17];
|
|
105
|
-
const onClickDsaRoadmap = t9;
|
|
106
|
-
let t10;
|
|
107
|
-
if ($[18] !== tracking) {
|
|
108
|
-
t10 = () => {
|
|
109
|
-
tracking?.onTrackDsaExercises?.();
|
|
110
|
-
closeMenu();
|
|
111
|
-
};
|
|
112
|
-
$[18] = tracking;
|
|
113
|
-
$[19] = t10;
|
|
114
|
-
} else t10 = $[19];
|
|
115
|
-
const onClickDsaExercises = t10;
|
|
116
|
-
let t11;
|
|
117
|
-
if ($[20] !== tracking) {
|
|
118
|
-
t11 = () => {
|
|
119
|
-
tracking?.onTrackChat?.();
|
|
120
|
-
closeMenu();
|
|
121
|
-
};
|
|
122
|
-
$[20] = tracking;
|
|
123
|
-
$[21] = t11;
|
|
124
|
-
} else t11 = $[21];
|
|
125
|
-
const onClickChat = t11;
|
|
126
|
-
let t12;
|
|
127
|
-
if ($[22] !== tracking) {
|
|
128
|
-
t12 = () => {
|
|
129
|
-
tracking?.onTrackMcp?.();
|
|
130
|
-
closeMenu();
|
|
131
|
-
};
|
|
132
|
-
$[22] = tracking;
|
|
133
|
-
$[23] = t12;
|
|
134
|
-
} else t12 = $[23];
|
|
135
|
-
const onClickMcp = t12;
|
|
136
|
-
let t13;
|
|
137
|
-
if ($[24] !== tracking) {
|
|
138
|
-
t13 = () => {
|
|
139
|
-
tracking?.onTrackMatrixRain?.();
|
|
140
|
-
closeMenu();
|
|
141
|
-
};
|
|
142
|
-
$[24] = tracking;
|
|
143
|
-
$[25] = t13;
|
|
144
|
-
} else t13 = $[25];
|
|
145
|
-
const onClickMatrixRain = t13;
|
|
146
|
-
let t14;
|
|
147
|
-
if ($[26] !== tracking) {
|
|
148
|
-
t14 = () => {
|
|
149
|
-
tracking?.onTrackEasterEggHunt?.();
|
|
150
|
-
closeMenu();
|
|
151
|
-
};
|
|
152
|
-
$[26] = tracking;
|
|
153
|
-
$[27] = t14;
|
|
154
|
-
} else t14 = $[27];
|
|
155
|
-
const onClickEasterEggHunt = t14;
|
|
156
|
-
let t15;
|
|
157
|
-
if ($[28] !== tracking) {
|
|
158
|
-
t15 = () => {
|
|
159
|
-
tracking?.onTrackAboutMe?.();
|
|
160
|
-
closeMenu();
|
|
161
|
-
};
|
|
162
|
-
$[28] = tracking;
|
|
163
|
-
$[29] = t15;
|
|
164
|
-
} else t15 = $[29];
|
|
165
|
-
const onClickAboutMe = t15;
|
|
166
|
-
let t16;
|
|
167
|
-
if ($[30] !== tracking) {
|
|
168
|
-
t16 = () => {
|
|
169
|
-
tracking?.onTrackArt?.();
|
|
170
|
-
closeMenu();
|
|
171
|
-
};
|
|
172
|
-
$[30] = tracking;
|
|
173
|
-
$[31] = t16;
|
|
174
|
-
} else t16 = $[31];
|
|
175
|
-
const onClickArt = t16;
|
|
176
|
-
let t17;
|
|
177
|
-
if ($[32] !== tracking) {
|
|
178
|
-
t17 = () => {
|
|
179
|
-
tracking?.onTrackVideogames?.();
|
|
180
|
-
closeMenu();
|
|
181
|
-
};
|
|
182
|
-
$[32] = tracking;
|
|
183
|
-
$[33] = t17;
|
|
184
|
-
} else t17 = $[33];
|
|
185
|
-
const onClickVideogames = t17;
|
|
186
|
-
let t18;
|
|
187
|
-
if ($[34] !== tracking) {
|
|
188
|
-
t18 = () => {
|
|
189
|
-
tracking?.onTrackContact?.();
|
|
190
|
-
closeMenu();
|
|
191
|
-
};
|
|
192
|
-
$[34] = tracking;
|
|
193
|
-
$[35] = t18;
|
|
194
|
-
} else t18 = $[35];
|
|
195
|
-
const onClickContact = t18;
|
|
196
|
-
let t19;
|
|
197
|
-
if ($[36] !== modifierKey || $[37] !== pathname || $[38] !== shouldHideMenu || $[39] !== shouldOpenMenu) {
|
|
198
|
-
t19 = {
|
|
61
|
+
if ($[11] !== modifierKey || $[12] !== pathname || $[13] !== shouldHideMenu || $[14] !== shouldOpenMenu) {
|
|
62
|
+
t6 = {
|
|
199
63
|
pathname,
|
|
200
64
|
shouldHideMenu,
|
|
201
65
|
shouldOpenMenu,
|
|
202
66
|
modifierKey
|
|
203
67
|
};
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
} else
|
|
210
|
-
let
|
|
211
|
-
if ($[
|
|
212
|
-
|
|
68
|
+
$[11] = modifierKey;
|
|
69
|
+
$[12] = pathname;
|
|
70
|
+
$[13] = shouldHideMenu;
|
|
71
|
+
$[14] = shouldOpenMenu;
|
|
72
|
+
$[15] = t6;
|
|
73
|
+
} else t6 = $[15];
|
|
74
|
+
let t7;
|
|
75
|
+
if ($[16] !== handlePaletteTrigger || $[17] !== isSelected) {
|
|
76
|
+
t7 = {
|
|
213
77
|
openMenu,
|
|
214
78
|
closeMenu,
|
|
215
79
|
handlePaletteTrigger,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
onClickBlogAuthors,
|
|
219
|
-
onClickBlogTags,
|
|
220
|
-
onClickBlogArchive,
|
|
221
|
-
onClickBlogStats,
|
|
222
|
-
onClickDsaRoadmap,
|
|
223
|
-
onClickDsaExercises,
|
|
224
|
-
onClickChat,
|
|
225
|
-
onClickMcp,
|
|
226
|
-
onClickMatrixRain,
|
|
227
|
-
onClickEasterEggHunt,
|
|
228
|
-
onClickAboutMe,
|
|
229
|
-
onClickArt,
|
|
230
|
-
onClickVideogames,
|
|
231
|
-
onClickContact
|
|
80
|
+
handleLinkClick,
|
|
81
|
+
isSelected
|
|
232
82
|
};
|
|
233
|
-
$[
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
$[
|
|
244
|
-
$[
|
|
245
|
-
$[
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
$[56] = onClickMcp;
|
|
249
|
-
$[57] = onClickVideogames;
|
|
250
|
-
$[58] = t20;
|
|
251
|
-
} else t20 = $[58];
|
|
252
|
-
let t21;
|
|
253
|
-
if ($[59] !== t19 || $[60] !== t20) {
|
|
254
|
-
t21 = {
|
|
255
|
-
state: t19,
|
|
256
|
-
effects: t20
|
|
257
|
-
};
|
|
258
|
-
$[59] = t19;
|
|
259
|
-
$[60] = t20;
|
|
260
|
-
$[61] = t21;
|
|
261
|
-
} else t21 = $[61];
|
|
262
|
-
return t21;
|
|
83
|
+
$[16] = handlePaletteTrigger;
|
|
84
|
+
$[17] = isSelected;
|
|
85
|
+
$[18] = t7;
|
|
86
|
+
} else t7 = $[18];
|
|
87
|
+
let t8;
|
|
88
|
+
if ($[19] !== t6 || $[20] !== t7) {
|
|
89
|
+
t8 = {
|
|
90
|
+
state: t6,
|
|
91
|
+
effects: t7
|
|
92
|
+
};
|
|
93
|
+
$[19] = t6;
|
|
94
|
+
$[20] = t7;
|
|
95
|
+
$[21] = t8;
|
|
96
|
+
} else t8 = $[21];
|
|
97
|
+
return t8;
|
|
263
98
|
};
|
|
264
99
|
//#endregion
|
|
265
100
|
export { useMenuStore };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matrix-design-system",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "A Matrix-inspired React design system: green on near-black, terminal-flavoured, framework-agnostic.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"cmdk": ">=1",
|
|
72
|
-
"framer-motion": "^13.
|
|
72
|
+
"framer-motion": "^13.4.3",
|
|
73
73
|
"react": ">=19",
|
|
74
74
|
"react-dom": ">=19",
|
|
75
75
|
"react-markdown": ">=10",
|
|
@@ -120,30 +120,30 @@
|
|
|
120
120
|
"react-icons": "^5.7.0"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
|
-
"@babel/core": "^8.0.
|
|
123
|
+
"@babel/core": "^8.0.6",
|
|
124
124
|
"@eslint/js": "^10",
|
|
125
|
-
"@rolldown/plugin-babel": "^0.2.
|
|
125
|
+
"@rolldown/plugin-babel": "^0.2.4",
|
|
126
126
|
"@storybook/react-vite": "^10.6.0",
|
|
127
|
-
"@testing-library/dom": "^10.4.
|
|
127
|
+
"@testing-library/dom": "^10.4.2",
|
|
128
128
|
"@testing-library/jest-dom": "^7.0.1",
|
|
129
129
|
"@testing-library/react": "^16.3.2",
|
|
130
130
|
"@testing-library/user-event": "^14.6.7",
|
|
131
|
-
"@types/react": "19.
|
|
132
|
-
"@types/react-dom": "19.
|
|
131
|
+
"@types/react": "19.3.0",
|
|
132
|
+
"@types/react-dom": "19.3.0",
|
|
133
133
|
"@vitejs/plugin-react": "^6.1.1",
|
|
134
|
-
"@vitest/coverage-v8": "^5.0.
|
|
134
|
+
"@vitest/coverage-v8": "^5.0.1",
|
|
135
135
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
136
136
|
"cmdk": "^1.1.1",
|
|
137
|
-
"dependency-cruiser": "^18.
|
|
137
|
+
"dependency-cruiser": "^18.4.0",
|
|
138
138
|
"eslint": "^9",
|
|
139
139
|
"eslint-plugin-chicio": "^1.0.0",
|
|
140
140
|
"eslint-plugin-react": "^7",
|
|
141
141
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
142
|
-
"framer-motion": "^13.
|
|
142
|
+
"framer-motion": "^13.4.3",
|
|
143
143
|
"globals": "^17",
|
|
144
|
-
"jsdom": "^30.
|
|
145
|
-
"react": "19.
|
|
146
|
-
"react-dom": "19.
|
|
144
|
+
"jsdom": "^30.1.1",
|
|
145
|
+
"react": "19.3.0",
|
|
146
|
+
"react-dom": "19.3.0",
|
|
147
147
|
"react-markdown": "^10.1.0",
|
|
148
148
|
"recharts": "^3.9.0",
|
|
149
149
|
"rehype-highlight": "^7.0.2",
|
|
@@ -154,8 +154,8 @@
|
|
|
154
154
|
"remark-parse": "^11.0.0",
|
|
155
155
|
"tsdown": "0.23.0",
|
|
156
156
|
"typescript": "^7.0.2",
|
|
157
|
-
"typescript-eslint": "^8.
|
|
157
|
+
"typescript-eslint": "^8.70.1",
|
|
158
158
|
"unified": "^11.0.5",
|
|
159
|
-
"vitest": "^5.0.
|
|
159
|
+
"vitest": "^5.0.1"
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import "matrix-component-store";
|
|
2
|
-
//#region src/organism/menu/use-menu-store.d.ts
|
|
3
|
-
export interface MenuTrackingCallbacks {
|
|
4
|
-
onTrackHome?: () => void;
|
|
5
|
-
onTrackBlog?: () => void;
|
|
6
|
-
onTrackBlogAuthors?: () => void;
|
|
7
|
-
onTrackBlogTags?: () => void;
|
|
8
|
-
onTrackBlogArchive?: () => void;
|
|
9
|
-
onTrackBlogStats?: () => void;
|
|
10
|
-
onTrackDsaRoadmap?: () => void;
|
|
11
|
-
onTrackDsaExercises?: () => void;
|
|
12
|
-
onTrackChat?: () => void;
|
|
13
|
-
onTrackMcp?: () => void;
|
|
14
|
-
onTrackMatrixRain?: () => void;
|
|
15
|
-
onTrackEasterEggHunt?: () => void;
|
|
16
|
-
onTrackAboutMe?: () => void;
|
|
17
|
-
onTrackArt?: () => void;
|
|
18
|
-
onTrackVideogames?: () => void;
|
|
19
|
-
onTrackContact?: () => void;
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|