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.
@@ -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, chatSlug, onPaletteTrigger, tracking) => {
9
- const $ = c(62);
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] === Symbol.for("react.memo_cache_sentinel")) {
16
- t0 = () => setShouldOpenMenu(true);
17
- $[0] = t0;
18
- } else t0 = $[0];
19
- const openMenu = t0;
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 ($[1] === Symbol.for("react.memo_cache_sentinel")) {
22
- t1 = () => setShouldOpenMenu(false);
23
- $[1] = t1;
24
- } else t1 = $[1];
25
- const closeMenu = t1;
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 ($[2] !== onPaletteTrigger) {
28
- t2 = () => {
29
- onPaletteTrigger?.();
30
- openCommandPalette();
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 ($[4] !== tracking) {
35
+ if ($[6] !== onPaletteTrigger) {
38
36
  t3 = () => {
39
- tracking?.onTrackHome?.();
40
- closeMenu();
37
+ onPaletteTrigger?.();
38
+ openCommandPalette();
41
39
  };
42
- $[4] = tracking;
43
- $[5] = t3;
44
- } else t3 = $[5];
45
- const onClickHome = t3;
40
+ $[6] = onPaletteTrigger;
41
+ $[7] = t3;
42
+ } else t3 = $[7];
43
+ const handlePaletteTrigger = t3;
46
44
  let t4;
47
- if ($[6] !== tracking) {
48
- t4 = () => {
49
- tracking?.onTrackBlog?.();
45
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
46
+ t4 = (onClick) => () => {
47
+ onClick?.();
50
48
  closeMenu();
51
49
  };
52
- $[6] = tracking;
53
- $[7] = t4;
54
- } else t4 = $[7];
55
- const onClickBlog = t4;
50
+ $[8] = t4;
51
+ } else t4 = $[8];
52
+ const handleLinkClick = t4;
56
53
  let t5;
57
- if ($[8] !== tracking) {
58
- t5 = () => {
59
- tracking?.onTrackBlogAuthors?.();
60
- closeMenu();
61
- };
62
- $[8] = tracking;
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 ($[10] !== tracking) {
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
- $[36] = modifierKey;
205
- $[37] = pathname;
206
- $[38] = shouldHideMenu;
207
- $[39] = shouldOpenMenu;
208
- $[40] = t19;
209
- } else t19 = $[40];
210
- let t20;
211
- if ($[41] !== handlePaletteTrigger || $[42] !== onClickAboutMe || $[43] !== onClickArt || $[44] !== onClickBlog || $[45] !== onClickBlogArchive || $[46] !== onClickBlogAuthors || $[47] !== onClickBlogStats || $[48] !== onClickBlogTags || $[49] !== onClickChat || $[50] !== onClickContact || $[51] !== onClickDsaExercises || $[52] !== onClickDsaRoadmap || $[53] !== onClickEasterEggHunt || $[54] !== onClickHome || $[55] !== onClickMatrixRain || $[56] !== onClickMcp || $[57] !== onClickVideogames) {
212
- t20 = {
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
- onClickHome,
217
- onClickBlog,
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
- $[41] = handlePaletteTrigger;
234
- $[42] = onClickAboutMe;
235
- $[43] = onClickArt;
236
- $[44] = onClickBlog;
237
- $[45] = onClickBlogArchive;
238
- $[46] = onClickBlogAuthors;
239
- $[47] = onClickBlogStats;
240
- $[48] = onClickBlogTags;
241
- $[49] = onClickChat;
242
- $[50] = onClickContact;
243
- $[51] = onClickDsaExercises;
244
- $[52] = onClickDsaRoadmap;
245
- $[53] = onClickEasterEggHunt;
246
- $[54] = onClickHome;
247
- $[55] = onClickMatrixRain;
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": "1.1.1",
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.2.0",
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.1",
123
+ "@babel/core": "^8.0.6",
124
124
  "@eslint/js": "^10",
125
- "@rolldown/plugin-babel": "^0.2.3",
125
+ "@rolldown/plugin-babel": "^0.2.4",
126
126
  "@storybook/react-vite": "^10.6.0",
127
- "@testing-library/dom": "^10.4.1",
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.2.18",
132
- "@types/react-dom": "19.2.7",
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.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.2.0",
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.2.0",
142
+ "framer-motion": "^13.4.3",
143
143
  "globals": "^17",
144
- "jsdom": "^30.0.0",
145
- "react": "19.2.8",
146
- "react-dom": "19.2.8",
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.69.0",
157
+ "typescript-eslint": "^8.70.1",
158
158
  "unified": "^11.0.5",
159
- "vitest": "^5.0.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