material-theme-builder 2.1.0 → 2.1.1

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.
Files changed (2) hide show
  1. package/README.md +278 -51
  2. package/package.json +11 -13
package/README.md CHANGED
@@ -2,23 +2,16 @@
2
2
  [![](https://img.shields.io/badge/chromatic-171c23.svg?logo=chromatic)](https://www.chromatic.com/library?appId=695eb517cb602e59b4cc045c&branch=main)
3
3
  [![](https://img.shields.io/badge/storybook-171c23.svg?logo=storybook)](https://main--695eb517cb602e59b4cc045c.chromatic.com)
4
4
 
5
- [Material Design colors](https://m3.material.io/styles/color/system/overview)
6
- for React.
5
+ Outputs [m3 colors](https://m3.material.io/styles/color/system/overview) `--md-sys-color-*` and `--md-ref-palette-*`, 1:1 with [Material Theme Builder](https://material-foundation.github.io/material-theme-builder/), either:
7
6
 
8
- It injects `--md-sys-color-*` and `--md-ref-palette-*` CSS variables into the page (prefix is [configurable](#programmatic-api)).
7
+ - [programmatically](#programmatic-api)
8
+ - from [CLI](#cli)
9
+ - using [React](#react)
9
10
 
10
11
  https://github.com/user-attachments/assets/5b67c961-d7a4-4b64-9356-4ada26bc9be4
11
12
 
12
- m3 references:
13
-
14
- | builder | roles |
15
- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
16
- | [<img width="2836" height="2266" alt="CleanShot 2026-01-14 at 08 58 40@2x" src="https://github.com/user-attachments/assets/e4b47c00-716f-4b08-b393-de306d5ce302" />](https://material-foundation.github.io/material-theme-builder/) | [<img width="2836" height="2266" alt="CleanShot 2026-01-14 at 09 01 23@2x" src="https://github.com/user-attachments/assets/826e502d-e173-43c4-807a-53d0ba075a88" />](https://m3.material.io/styles/color/roles) |
17
-
18
13
  Support for:
19
14
 
20
- Base (like in the Builder):
21
-
22
15
  - [x] light/dark mode
23
16
  - [x] source color
24
17
  - [x] scheme
@@ -31,14 +24,42 @@ Base (like in the Builder):
31
24
  - [x] Shades (aka. "tonals")
32
25
  - [ ] colorMatch
33
26
 
34
- Extra:
27
+ # Usage
35
28
 
36
- - [x] `contrastAllColors`: contrast also applies to custom-colors and shades
37
- (not only the core-colors)
38
- - [x] `adaptiveShades`: shades adapt to the light/dark mode (instead of being
39
- fixed)
29
+ ## Programmatic API
40
30
 
41
- # Usage
31
+ ```ts
32
+ import { builder } from "material-theme-builder";
33
+
34
+ const theme = builder("#6750A4", {
35
+ scheme: "vibrant",
36
+ contrast: 0.5,
37
+ primary: "#FF0000",
38
+ secondary: "#00FF00",
39
+ customColors: [
40
+ { name: "brand", hex: "#FF5733", blend: true },
41
+ { name: "success", hex: "#28A745", blend: false },
42
+ ],
43
+ });
44
+
45
+ theme.toFigmaTokens();
46
+ theme.toJson();
47
+ theme.toCss();
48
+ ```
49
+
50
+ ## CLI
51
+
52
+ ```sh
53
+ $ npx material-theme-builder builder "#6750A4"
54
+ ```
55
+
56
+ will generate a `material-theme` folder with: `Light.tokens.json` and `Dark.tokens.json` [design-tokens](https://www.designtokens.org/tr/2025.10/) files, you can (both) import into Figma.
57
+
58
+ See `npx material-theme-builder builder --help` for all available options.
59
+
60
+ ## React
61
+
62
+ CSS variables are injected into the page:
42
63
 
43
64
  ```tsx
44
65
  import { Mcu } from "material-theme-builder";
@@ -57,7 +78,7 @@ import { Mcu } from "material-theme-builder";
57
78
  backgroundColor: "var(--md-sys-color-surface)",
58
79
  color: "var(--md-sys-color-on-surface)",
59
80
  }}>
60
- Hello, MCU <span style={{
81
+ Hello, m3 <span style={{
61
82
  backgroundColor: "var(--md-sys-color-my-custom-color-1)",
62
83
  color: "var(--md-sys-color-on-my-custom-color-1)",
63
84
  }}>colors<span>!
@@ -95,7 +116,189 @@ return (
95
116
 
96
117
  Compatible through [theme variables](https://tailwindcss.com/docs/theme):
97
118
 
98
- https://github.com/abernier/material-theme-builder/blob/688c789e322ed3858b51389b33eb7ea342bba81e/src/tailwind.css#L3-L186
119
+ ```css
120
+ @import "tailwindcss";
121
+
122
+ @theme inline {
123
+ --color-background: var(--md-sys-color-background);
124
+ --color-on-background: var(--md-sys-color-on-background);
125
+ --color-surface: var(--md-sys-color-surface);
126
+ --color-surface-dim: var(--md-sys-color-surface-dim);
127
+ --color-surface-bright: var(--md-sys-color-surface-bright);
128
+ --color-surface-container-lowest: var(
129
+ --md-sys-color-surface-container-lowest
130
+ );
131
+ --color-surface-container-low: var(--md-sys-color-surface-container-low);
132
+ --color-surface-container: var(--md-sys-color-surface-container);
133
+ --color-surface-container-high: var(--md-sys-color-surface-container-high);
134
+ --color-surface-container-highest: var(
135
+ --md-sys-color-surface-container-highest
136
+ );
137
+ --color-on-surface: var(--md-sys-color-on-surface);
138
+ --color-on-surface-variant: var(--md-sys-color-on-surface-variant);
139
+ --color-outline: var(--md-sys-color-outline);
140
+ --color-outline-variant: var(--md-sys-color-outline-variant);
141
+ --color-inverse-surface: var(--md-sys-color-inverse-surface);
142
+ --color-inverse-on-surface: var(--md-sys-color-inverse-on-surface);
143
+ --color-primary: var(--md-sys-color-primary);
144
+ --color-on-primary: var(--md-sys-color-on-primary);
145
+ --color-primary-container: var(--md-sys-color-primary-container);
146
+ --color-on-primary-container: var(--md-sys-color-on-primary-container);
147
+ --color-primary-fixed: var(--md-sys-color-primary-fixed);
148
+ --color-primary-fixed-dim: var(--md-sys-color-primary-fixed-dim);
149
+ --color-on-primary-fixed: var(--md-sys-color-on-primary-fixed);
150
+ --color-on-primary-fixed-variant: var(
151
+ --md-sys-color-on-primary-fixed-variant
152
+ );
153
+ --color-inverse-primary: var(--md-sys-color-inverse-primary);
154
+ --color-secondary: var(--md-sys-color-secondary);
155
+ --color-on-secondary: var(--md-sys-color-on-secondary);
156
+ --color-secondary-container: var(--md-sys-color-secondary-container);
157
+ --color-on-secondary-container: var(--md-sys-color-on-secondary-container);
158
+ --color-secondary-fixed: var(--md-sys-color-secondary-fixed);
159
+ --color-secondary-fixed-dim: var(--md-sys-color-secondary-fixed-dim);
160
+ --color-on-secondary-fixed: var(--md-sys-color-on-secondary-fixed);
161
+ --color-on-secondary-fixed-variant: var(
162
+ --md-sys-color-on-secondary-fixed-variant
163
+ );
164
+ --color-tertiary: var(--md-sys-color-tertiary);
165
+ --color-on-tertiary: var(--md-sys-color-on-tertiary);
166
+ --color-tertiary-container: var(--md-sys-color-tertiary-container);
167
+ --color-on-tertiary-container: var(--md-sys-color-on-tertiary-container);
168
+ --color-tertiary-fixed: var(--md-sys-color-tertiary-fixed);
169
+ --color-tertiary-fixed-dim: var(--md-sys-color-tertiary-fixed-dim);
170
+ --color-on-tertiary-fixed: var(--md-sys-color-on-tertiary-fixed);
171
+ --color-on-tertiary-fixed-variant: var(
172
+ --md-sys-color-on-tertiary-fixed-variant
173
+ );
174
+ --color-error: var(--md-sys-color-error);
175
+ --color-on-error: var(--md-sys-color-on-error);
176
+ --color-error-container: var(--md-sys-color-error-container);
177
+ --color-on-error-container: var(--md-sys-color-on-error-container);
178
+ --color-scrim: var(--md-sys-color-scrim);
179
+ --color-shadow: var(--md-sys-color-shadow);
180
+
181
+ /* Shades */
182
+
183
+ --color-primary-50: var(--md-ref-palette-primary-95);
184
+ --color-primary-100: var(--md-ref-palette-primary-90);
185
+ --color-primary-200: var(--md-ref-palette-primary-80);
186
+ --color-primary-300: var(--md-ref-palette-primary-70);
187
+ --color-primary-400: var(--md-ref-palette-primary-60);
188
+ --color-primary-500: var(--md-ref-palette-primary-50);
189
+ --color-primary-600: var(--md-ref-palette-primary-40);
190
+ --color-primary-700: var(--md-ref-palette-primary-30);
191
+ --color-primary-800: var(--md-ref-palette-primary-20);
192
+ --color-primary-900: var(--md-ref-palette-primary-10);
193
+ --color-primary-950: var(--md-ref-palette-primary-5);
194
+
195
+ --color-secondary-50: var(--md-ref-palette-secondary-95);
196
+ --color-secondary-100: var(--md-ref-palette-secondary-90);
197
+ --color-secondary-200: var(--md-ref-palette-secondary-80);
198
+ --color-secondary-300: var(--md-ref-palette-secondary-70);
199
+ --color-secondary-400: var(--md-ref-palette-secondary-60);
200
+ --color-secondary-500: var(--md-ref-palette-secondary-50);
201
+ --color-secondary-600: var(--md-ref-palette-secondary-40);
202
+ --color-secondary-700: var(--md-ref-palette-secondary-30);
203
+ --color-secondary-800: var(--md-ref-palette-secondary-20);
204
+ --color-secondary-900: var(--md-ref-palette-secondary-10);
205
+ --color-secondary-950: var(--md-ref-palette-secondary-5);
206
+
207
+ --color-tertiary-50: var(--md-ref-palette-tertiary-95);
208
+ --color-tertiary-100: var(--md-ref-palette-tertiary-90);
209
+ --color-tertiary-200: var(--md-ref-palette-tertiary-80);
210
+ --color-tertiary-300: var(--md-ref-palette-tertiary-70);
211
+ --color-tertiary-400: var(--md-ref-palette-tertiary-60);
212
+ --color-tertiary-500: var(--md-ref-palette-tertiary-50);
213
+ --color-tertiary-600: var(--md-ref-palette-tertiary-40);
214
+ --color-tertiary-700: var(--md-ref-palette-tertiary-30);
215
+ --color-tertiary-800: var(--md-ref-palette-tertiary-20);
216
+ --color-tertiary-900: var(--md-ref-palette-tertiary-10);
217
+ --color-tertiary-950: var(--md-ref-palette-tertiary-5);
218
+
219
+ --color-error-50: var(--md-ref-palette-error-95);
220
+ --color-error-100: var(--md-ref-palette-error-90);
221
+ --color-error-200: var(--md-ref-palette-error-80);
222
+ --color-error-300: var(--md-ref-palette-error-70);
223
+ --color-error-400: var(--md-ref-palette-error-60);
224
+ --color-error-500: var(--md-ref-palette-error-50);
225
+ --color-error-600: var(--md-ref-palette-error-40);
226
+ --color-error-700: var(--md-ref-palette-error-30);
227
+ --color-error-800: var(--md-ref-palette-error-20);
228
+ --color-error-900: var(--md-ref-palette-error-10);
229
+ --color-error-950: var(--md-ref-palette-error-5);
230
+
231
+ --color-neutral-50: var(--md-ref-palette-neutral-95);
232
+ --color-neutral-100: var(--md-ref-palette-neutral-90);
233
+ --color-neutral-200: var(--md-ref-palette-neutral-80);
234
+ --color-neutral-300: var(--md-ref-palette-neutral-70);
235
+ --color-neutral-400: var(--md-ref-palette-neutral-60);
236
+ --color-neutral-500: var(--md-ref-palette-neutral-50);
237
+ --color-neutral-600: var(--md-ref-palette-neutral-40);
238
+ --color-neutral-700: var(--md-ref-palette-neutral-30);
239
+ --color-neutral-800: var(--md-ref-palette-neutral-20);
240
+ --color-neutral-900: var(--md-ref-palette-neutral-10);
241
+ --color-neutral-950: var(--md-ref-palette-neutral-5);
242
+
243
+ --color-neutral-variant-50: var(--md-ref-palette-neutral-variant-95);
244
+ --color-neutral-variant-100: var(--md-ref-palette-neutral-variant-90);
245
+ --color-neutral-variant-200: var(--md-ref-palette-neutral-variant-80);
246
+ --color-neutral-variant-300: var(--md-ref-palette-neutral-variant-70);
247
+ --color-neutral-variant-400: var(--md-ref-palette-neutral-variant-60);
248
+ --color-neutral-variant-500: var(--md-ref-palette-neutral-variant-50);
249
+ --color-neutral-variant-600: var(--md-ref-palette-neutral-variant-40);
250
+ --color-neutral-variant-700: var(--md-ref-palette-neutral-variant-30);
251
+ --color-neutral-variant-800: var(--md-ref-palette-neutral-variant-20);
252
+ --color-neutral-variant-900: var(--md-ref-palette-neutral-variant-10);
253
+ --color-neutral-variant-950: var(--md-ref-palette-neutral-variant-5);
254
+
255
+ /*
256
+ * Custom colors
257
+ */
258
+
259
+ --color-myCustomColor1: var(--md-sys-color-my-custom-color-1);
260
+ --color-on-myCustomColor1: var(--md-sys-color-on-my-custom-color-1);
261
+ --color-myCustomColor1-container: var(
262
+ --md-sys-color-my-custom-color-1-container
263
+ );
264
+ --color-on-myCustomColor1-container: var(
265
+ --md-sys-color-on-my-custom-color-1-container
266
+ );
267
+ /* Shades */
268
+ --color-myCustomColor1-50: var(--md-ref-palette-my-custom-color-1-95);
269
+ --color-myCustomColor1-100: var(--md-ref-palette-my-custom-color-1-90);
270
+ --color-myCustomColor1-200: var(--md-ref-palette-my-custom-color-1-80);
271
+ --color-myCustomColor1-300: var(--md-ref-palette-my-custom-color-1-70);
272
+ --color-myCustomColor1-400: var(--md-ref-palette-my-custom-color-1-60);
273
+ --color-myCustomColor1-500: var(--md-ref-palette-my-custom-color-1-50);
274
+ --color-myCustomColor1-600: var(--md-ref-palette-my-custom-color-1-40);
275
+ --color-myCustomColor1-700: var(--md-ref-palette-my-custom-color-1-30);
276
+ --color-myCustomColor1-800: var(--md-ref-palette-my-custom-color-1-20);
277
+ --color-myCustomColor1-900: var(--md-ref-palette-my-custom-color-1-10);
278
+ --color-myCustomColor1-950: var(--md-ref-palette-my-custom-color-1-5);
279
+
280
+ --color-myCustomColor2: var(--md-sys-color-my-custom-color-2);
281
+ --color-on-myCustomColor2: var(--md-sys-color-on-my-custom-color-2);
282
+ --color-myCustomColor2-container: var(
283
+ --md-sys-color-my-custom-color-2-container
284
+ );
285
+ --color-on-myCustomColor2-container: var(
286
+ --md-sys-color-on-my-custom-color-2-container
287
+ );
288
+ /* Shades */
289
+ --color-myCustomColor2-50: var(--md-ref-palette-my-custom-color-2-95);
290
+ --color-myCustomColor2-100: var(--md-ref-palette-my-custom-color-2-90);
291
+ --color-myCustomColor2-200: var(--md-ref-palette-my-custom-color-2-80);
292
+ --color-myCustomColor2-300: var(--md-ref-palette-my-custom-color-2-70);
293
+ --color-myCustomColor2-400: var(--md-ref-palette-my-custom-color-2-60);
294
+ --color-myCustomColor2-500: var(--md-ref-palette-my-custom-color-2-50);
295
+ --color-myCustomColor2-600: var(--md-ref-palette-my-custom-color-2-40);
296
+ --color-myCustomColor2-700: var(--md-ref-palette-my-custom-color-2-30);
297
+ --color-myCustomColor2-800: var(--md-ref-palette-my-custom-color-2-20);
298
+ --color-myCustomColor2-900: var(--md-ref-palette-my-custom-color-2-10);
299
+ --color-myCustomColor2-950: var(--md-ref-palette-my-custom-color-2-5);
300
+ }
301
+ ```
99
302
 
100
303
  Or simply:
101
304
 
@@ -106,7 +309,54 @@ Or simply:
106
309
  > [!IMPORTANT]
107
310
  >
108
311
  > Do not forget to manually add your custom colors, as in:
109
- > https://github.com/abernier/material-theme-builder/blob/688c789e322ed3858b51389b33eb7ea342bba81e/src/tailwind.css#L126-L185
312
+ >
313
+ > ```css
314
+ > /*
315
+ > * Custom colors
316
+ > */
317
+ >
318
+ > --color-myCustomColor1: var(--md-sys-color-my-custom-color-1);
319
+ > --color-on-myCustomColor1: var(--md-sys-color-on-my-custom-color-1);
320
+ > --color-myCustomColor1-container: var(
321
+ > --md-sys-color-my-custom-color-1-container
322
+ > );
323
+ > --color-on-myCustomColor1-container: var(
324
+ > --md-sys-color-on-my-custom-color-1-container
325
+ > );
326
+ > /* Shades */
327
+ > --color-myCustomColor1-50: var(--md-ref-palette-my-custom-color-1-95);
328
+ > --color-myCustomColor1-100: var(--md-ref-palette-my-custom-color-1-90);
329
+ > --color-myCustomColor1-200: var(--md-ref-palette-my-custom-color-1-80);
330
+ > --color-myCustomColor1-300: var(--md-ref-palette-my-custom-color-1-70);
331
+ > --color-myCustomColor1-400: var(--md-ref-palette-my-custom-color-1-60);
332
+ > --color-myCustomColor1-500: var(--md-ref-palette-my-custom-color-1-50);
333
+ > --color-myCustomColor1-600: var(--md-ref-palette-my-custom-color-1-40);
334
+ > --color-myCustomColor1-700: var(--md-ref-palette-my-custom-color-1-30);
335
+ > --color-myCustomColor1-800: var(--md-ref-palette-my-custom-color-1-20);
336
+ > --color-myCustomColor1-900: var(--md-ref-palette-my-custom-color-1-10);
337
+ > --color-myCustomColor1-950: var(--md-ref-palette-my-custom-color-1-5);
338
+ >
339
+ > --color-myCustomColor2: var(--md-sys-color-my-custom-color-2);
340
+ > --color-on-myCustomColor2: var(--md-sys-color-on-my-custom-color-2);
341
+ > --color-myCustomColor2-container: var(
342
+ > --md-sys-color-my-custom-color-2-container
343
+ > );
344
+ > --color-on-myCustomColor2-container: var(
345
+ > --md-sys-color-on-my-custom-color-2-container
346
+ > );
347
+ > /* Shades */
348
+ > --color-myCustomColor2-50: var(--md-ref-palette-my-custom-color-2-95);
349
+ > --color-myCustomColor2-100: var(--md-ref-palette-my-custom-color-2-90);
350
+ > --color-myCustomColor2-200: var(--md-ref-palette-my-custom-color-2-80);
351
+ > --color-myCustomColor2-300: var(--md-ref-palette-my-custom-color-2-70);
352
+ > --color-myCustomColor2-400: var(--md-ref-palette-my-custom-color-2-60);
353
+ > --color-myCustomColor2-500: var(--md-ref-palette-my-custom-color-2-50);
354
+ > --color-myCustomColor2-600: var(--md-ref-palette-my-custom-color-2-40);
355
+ > --color-myCustomColor2-700: var(--md-ref-palette-my-custom-color-2-30);
356
+ > --color-myCustomColor2-800: var(--md-ref-palette-my-custom-color-2-20);
357
+ > --color-myCustomColor2-900: var(--md-ref-palette-my-custom-color-2-10);
358
+ > --color-myCustomColor2-950: var(--md-ref-palette-my-custom-color-2-5);
359
+ > ```
110
360
 
111
361
  ## shadcn
112
362
 
@@ -175,37 +425,6 @@ Simply override/remap
175
425
  > Make sure `:root, .dark { ... }` comes AFTER `.root { ... } .dark { ... }` to
176
426
  > take precedence.
177
427
 
178
- ## Programmatic API
179
-
180
- ```ts
181
- import { builder } from "material-theme-builder";
182
-
183
- const theme = builder("#6750A4", {
184
- scheme: "vibrant",
185
- contrast: 0.5,
186
- primary: "#FF0000",
187
- secondary: "#00FF00",
188
- customColors: [
189
- { name: "brand", hex: "#FF5733", blend: true },
190
- { name: "success", hex: "#28A745", blend: false },
191
- ],
192
- contrastAllColors: true,
193
- });
194
-
195
- theme.toJson();
196
- theme.toCss();
197
- ```
198
-
199
- ## CLI
200
-
201
- ```sh
202
- $ npx material-theme-builder builder "#6750A4"
203
- ```
204
-
205
- will generate a `material-theme` folder with: `Light.tokens.json` and `Dark.tokens.json` [design-tokens](https://www.designtokens.org/tr/2025.10/) files, you can (both) import into Figma.
206
-
207
- See `npx material-theme-builder builder --help` for all available options.
208
-
209
428
  # Dev
210
429
 
211
430
  ## INSTALL
@@ -247,3 +466,11 @@ pnpm exec changeset
247
466
  ```
248
467
 
249
468
  This helps us maintain the changelog and version the package appropriately.
469
+
470
+ # Outro
471
+
472
+ m3 references:
473
+
474
+ | builder | roles |
475
+ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
476
+ | [<img width="2836" height="2266" alt="CleanShot 2026-01-14 at 08 58 40@2x" src="https://github.com/user-attachments/assets/e4b47c00-716f-4b08-b393-de306d5ce302" />](https://material-foundation.github.io/material-theme-builder/) | [<img width="2836" height="2266" alt="CleanShot 2026-01-14 at 09 01 23@2x" src="https://github.com/user-attachments/assets/826e502d-e173-43c4-807a-53d0ba075a88" />](https://m3.material.io/styles/color/roles) |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "material-theme-builder",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "m3 color-system for JS/TS ecosystem",
5
5
  "keywords": [
6
6
  "react",
@@ -32,7 +32,6 @@
32
32
  "material-theme-builder": "./dist/cli.js"
33
33
  },
34
34
  "type": "module",
35
- "packageManager": "pnpm@10.27.0",
36
35
  "devDependencies": {
37
36
  "@arethetypeswrong/cli": "^0.18.2",
38
37
  "@changesets/cli": "^2.27.7",
@@ -75,6 +74,15 @@
75
74
  "typescript-eslint": "^8.55.0",
76
75
  "vitest": "^4.0.16"
77
76
  },
77
+ "peerDependencies": {
78
+ "react": "^19.2.3",
79
+ "react-dom": "^19.2.3"
80
+ },
81
+ "dependencies": {
82
+ "@material/material-color-utilities": "^0.3.0",
83
+ "commander": "^14.0.3",
84
+ "lodash-es": "^4.17.22"
85
+ },
78
86
  "scripts": {
79
87
  "build": "tsup",
80
88
  "lint": "eslint .",
@@ -90,16 +98,6 @@
90
98
  "storybook": "storybook dev -p 6006",
91
99
  "build-storybook": "storybook build",
92
100
  "chromatic": "chromatic --project-token $CHROMATIC_PROJECT_TOKEN",
93
- "prepare": "pnpm run pretest && husky",
94
101
  "changeset": "pnpm exec changeset"
95
- },
96
- "peerDependencies": {
97
- "react": "^19.2.3",
98
- "react-dom": "^19.2.3"
99
- },
100
- "dependencies": {
101
- "@material/material-color-utilities": "^0.3.0",
102
- "commander": "^14.0.3",
103
- "lodash-es": "^4.17.22"
104
102
  }
105
- }
103
+ }