├── .gitignore
├── README.md
├── dist
├── css
│ └── variables.css
└── js
│ └── tokens.js
├── package-lock.json
├── package.json
├── src
└── scss
│ └── _variables.scss
├── style-dictionary.config.js
├── tailwind.config.js
└── tokens
└── tokens.json
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TailwindCSS → Style Dictionary → Figma Tokens
2 |
3 | 
4 |
5 | What‘s an equivalent of Tailwind‘s `p-4` on the design side? This is an attempt to make the designer productive and accurate by using “default” tokens (in my case, Tailwind) in Figma!
6 |
7 | Today I have to recreate all these default tokens from the UI tool, which is prone to human error. So I figured one of the ways is we pull Tailwind's full default config and transform them into a format that Figma Tokens can consume.
8 |
9 | Thanks to this tutorial by [@philwolstenholme](https://github.com/philwolstenholme) on [dev.to](https://dev.to/philw_/using-style-dictionary-to-transform-tailwind-config-into-scss-variables-css-custom-properties-and-javascript-via-design-tokens-24h5), we managed these token types so far:
10 |
11 | - Spacing ✅
12 | - Colors ✅
13 | - Border Radius ✅
14 | - Border Width ✅
15 | - Opacity ✅
16 | - Box Shadow ✅
17 | - Line Heights ✅ (hat tip to [@sonnylazuardi](https://github.com/sonnylazuardi))
18 | - Letter Spacing 🐞 (em doesn‘t seem to work on Figma)
19 |
20 | #### Need help with
21 | - Sizing
22 | - Typography
23 | - Font Family
24 | - Font Weight
25 | - Font Size
26 | - Paragraph Spacing
27 | - Text Case
28 | - Text Decoration
29 | - _Composition (if available)_
30 |
31 |
32 |
33 | **Notice the `Other` panel**. Technically, each token type should be transformed correctly.
34 |
35 |
36 |
37 |
38 |
39 | ### Credits, References & Resources
40 |
41 | - https://dev.to/philw_/using-style-dictionary-to-transform-tailwind-config-into-scss-variables-css-custom-properties-and-javascript-via-design-tokens-24h5
42 |
43 | - [@sonnylazuardi](https://github.com/sonnylazuardi)‘s contribution
44 |
--------------------------------------------------------------------------------
/dist/css/variables.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Do not edit directly
3 | * Generated on Mon, 12 Sep 2022 15:35:36 GMT
4 | */
5 |
6 | :root {
7 | --screens-sm: 640px;
8 | --screens-md: 768px;
9 | --screens-lg: 1024px;
10 | --screens-xl: 1280px;
11 | --screens-2xl: 1536px;
12 | --colors-inherit: inherit;
13 | --colors-current: currentColor;
14 | --colors-transparent: transparent;
15 | --colors-black: #000;
16 | --colors-white: #fff;
17 | --colors-slate-50: #f8fafc;
18 | --colors-slate-100: #f1f5f9;
19 | --colors-slate-200: #e2e8f0;
20 | --colors-slate-300: #cbd5e1;
21 | --colors-slate-400: #94a3b8;
22 | --colors-slate-500: #64748b;
23 | --colors-slate-600: #475569;
24 | --colors-slate-700: #334155;
25 | --colors-slate-800: #1e293b;
26 | --colors-slate-900: #0f172a;
27 | --colors-gray-50: #f9fafb;
28 | --colors-gray-100: #f3f4f6;
29 | --colors-gray-200: #e5e7eb;
30 | --colors-gray-300: #d1d5db;
31 | --colors-gray-400: #9ca3af;
32 | --colors-gray-500: #6b7280;
33 | --colors-gray-600: #4b5563;
34 | --colors-gray-700: #374151;
35 | --colors-gray-800: #1f2937;
36 | --colors-gray-900: #111827;
37 | --colors-zinc-50: #fafafa;
38 | --colors-zinc-100: #f4f4f5;
39 | --colors-zinc-200: #e4e4e7;
40 | --colors-zinc-300: #d4d4d8;
41 | --colors-zinc-400: #a1a1aa;
42 | --colors-zinc-500: #71717a;
43 | --colors-zinc-600: #52525b;
44 | --colors-zinc-700: #3f3f46;
45 | --colors-zinc-800: #27272a;
46 | --colors-zinc-900: #18181b;
47 | --colors-neutral-50: #fafafa;
48 | --colors-neutral-100: #f5f5f5;
49 | --colors-neutral-200: #e5e5e5;
50 | --colors-neutral-300: #d4d4d4;
51 | --colors-neutral-400: #a3a3a3;
52 | --colors-neutral-500: #737373;
53 | --colors-neutral-600: #525252;
54 | --colors-neutral-700: #404040;
55 | --colors-neutral-800: #262626;
56 | --colors-neutral-900: #171717;
57 | --colors-stone-50: #fafaf9;
58 | --colors-stone-100: #f5f5f4;
59 | --colors-stone-200: #e7e5e4;
60 | --colors-stone-300: #d6d3d1;
61 | --colors-stone-400: #a8a29e;
62 | --colors-stone-500: #78716c;
63 | --colors-stone-600: #57534e;
64 | --colors-stone-700: #44403c;
65 | --colors-stone-800: #292524;
66 | --colors-stone-900: #1c1917;
67 | --colors-red-50: #fef2f2;
68 | --colors-red-100: #fee2e2;
69 | --colors-red-200: #fecaca;
70 | --colors-red-300: #fca5a5;
71 | --colors-red-400: #f87171;
72 | --colors-red-500: #ef4444;
73 | --colors-red-600: #dc2626;
74 | --colors-red-700: #b91c1c;
75 | --colors-red-800: #991b1b;
76 | --colors-red-900: #7f1d1d;
77 | --colors-orange-50: #fff7ed;
78 | --colors-orange-100: #ffedd5;
79 | --colors-orange-200: #fed7aa;
80 | --colors-orange-300: #fdba74;
81 | --colors-orange-400: #fb923c;
82 | --colors-orange-500: #f97316;
83 | --colors-orange-600: #ea580c;
84 | --colors-orange-700: #c2410c;
85 | --colors-orange-800: #9a3412;
86 | --colors-orange-900: #7c2d12;
87 | --colors-amber-50: #fffbeb;
88 | --colors-amber-100: #fef3c7;
89 | --colors-amber-200: #fde68a;
90 | --colors-amber-300: #fcd34d;
91 | --colors-amber-400: #fbbf24;
92 | --colors-amber-500: #f59e0b;
93 | --colors-amber-600: #d97706;
94 | --colors-amber-700: #b45309;
95 | --colors-amber-800: #92400e;
96 | --colors-amber-900: #78350f;
97 | --colors-yellow-50: #fefce8;
98 | --colors-yellow-100: #fef9c3;
99 | --colors-yellow-200: #fef08a;
100 | --colors-yellow-300: #fde047;
101 | --colors-yellow-400: #facc15;
102 | --colors-yellow-500: #eab308;
103 | --colors-yellow-600: #ca8a04;
104 | --colors-yellow-700: #a16207;
105 | --colors-yellow-800: #854d0e;
106 | --colors-yellow-900: #713f12;
107 | --colors-lime-50: #f7fee7;
108 | --colors-lime-100: #ecfccb;
109 | --colors-lime-200: #d9f99d;
110 | --colors-lime-300: #bef264;
111 | --colors-lime-400: #a3e635;
112 | --colors-lime-500: #84cc16;
113 | --colors-lime-600: #65a30d;
114 | --colors-lime-700: #4d7c0f;
115 | --colors-lime-800: #3f6212;
116 | --colors-lime-900: #365314;
117 | --colors-green-50: #f0fdf4;
118 | --colors-green-100: #dcfce7;
119 | --colors-green-200: #bbf7d0;
120 | --colors-green-300: #86efac;
121 | --colors-green-400: #4ade80;
122 | --colors-green-500: #22c55e;
123 | --colors-green-600: #16a34a;
124 | --colors-green-700: #15803d;
125 | --colors-green-800: #166534;
126 | --colors-green-900: #14532d;
127 | --colors-emerald-50: #ecfdf5;
128 | --colors-emerald-100: #d1fae5;
129 | --colors-emerald-200: #a7f3d0;
130 | --colors-emerald-300: #6ee7b7;
131 | --colors-emerald-400: #34d399;
132 | --colors-emerald-500: #10b981;
133 | --colors-emerald-600: #059669;
134 | --colors-emerald-700: #047857;
135 | --colors-emerald-800: #065f46;
136 | --colors-emerald-900: #064e3b;
137 | --colors-teal-50: #f0fdfa;
138 | --colors-teal-100: #ccfbf1;
139 | --colors-teal-200: #99f6e4;
140 | --colors-teal-300: #5eead4;
141 | --colors-teal-400: #2dd4bf;
142 | --colors-teal-500: #14b8a6;
143 | --colors-teal-600: #0d9488;
144 | --colors-teal-700: #0f766e;
145 | --colors-teal-800: #115e59;
146 | --colors-teal-900: #134e4a;
147 | --colors-cyan-50: #ecfeff;
148 | --colors-cyan-100: #cffafe;
149 | --colors-cyan-200: #a5f3fc;
150 | --colors-cyan-300: #67e8f9;
151 | --colors-cyan-400: #22d3ee;
152 | --colors-cyan-500: #06b6d4;
153 | --colors-cyan-600: #0891b2;
154 | --colors-cyan-700: #0e7490;
155 | --colors-cyan-800: #155e75;
156 | --colors-cyan-900: #164e63;
157 | --colors-sky-50: #f0f9ff;
158 | --colors-sky-100: #e0f2fe;
159 | --colors-sky-200: #bae6fd;
160 | --colors-sky-300: #7dd3fc;
161 | --colors-sky-400: #38bdf8;
162 | --colors-sky-500: #0ea5e9;
163 | --colors-sky-600: #0284c7;
164 | --colors-sky-700: #0369a1;
165 | --colors-sky-800: #075985;
166 | --colors-sky-900: #0c4a6e;
167 | --colors-blue-50: #eff6ff;
168 | --colors-blue-100: #dbeafe;
169 | --colors-blue-200: #bfdbfe;
170 | --colors-blue-300: #93c5fd;
171 | --colors-blue-400: #60a5fa;
172 | --colors-blue-500: #3b82f6;
173 | --colors-blue-600: #2563eb;
174 | --colors-blue-700: #1d4ed8;
175 | --colors-blue-800: #1e40af;
176 | --colors-blue-900: #1e3a8a;
177 | --colors-indigo-50: #eef2ff;
178 | --colors-indigo-100: #e0e7ff;
179 | --colors-indigo-200: #c7d2fe;
180 | --colors-indigo-300: #a5b4fc;
181 | --colors-indigo-400: #818cf8;
182 | --colors-indigo-500: #6366f1;
183 | --colors-indigo-600: #4f46e5;
184 | --colors-indigo-700: #4338ca;
185 | --colors-indigo-800: #3730a3;
186 | --colors-indigo-900: #312e81;
187 | --colors-violet-50: #f5f3ff;
188 | --colors-violet-100: #ede9fe;
189 | --colors-violet-200: #ddd6fe;
190 | --colors-violet-300: #c4b5fd;
191 | --colors-violet-400: #a78bfa;
192 | --colors-violet-500: #8b5cf6;
193 | --colors-violet-600: #7c3aed;
194 | --colors-violet-700: #6d28d9;
195 | --colors-violet-800: #5b21b6;
196 | --colors-violet-900: #4c1d95;
197 | --colors-purple-50: #faf5ff;
198 | --colors-purple-100: #f3e8ff;
199 | --colors-purple-200: #e9d5ff;
200 | --colors-purple-300: #d8b4fe;
201 | --colors-purple-400: #c084fc;
202 | --colors-purple-500: #a855f7;
203 | --colors-purple-600: #9333ea;
204 | --colors-purple-700: #7e22ce;
205 | --colors-purple-800: #6b21a8;
206 | --colors-purple-900: #581c87;
207 | --colors-fuchsia-50: #fdf4ff;
208 | --colors-fuchsia-100: #fae8ff;
209 | --colors-fuchsia-200: #f5d0fe;
210 | --colors-fuchsia-300: #f0abfc;
211 | --colors-fuchsia-400: #e879f9;
212 | --colors-fuchsia-500: #d946ef;
213 | --colors-fuchsia-600: #c026d3;
214 | --colors-fuchsia-700: #a21caf;
215 | --colors-fuchsia-800: #86198f;
216 | --colors-fuchsia-900: #701a75;
217 | --colors-pink-50: #fdf2f8;
218 | --colors-pink-100: #fce7f3;
219 | --colors-pink-200: #fbcfe8;
220 | --colors-pink-300: #f9a8d4;
221 | --colors-pink-400: #f472b6;
222 | --colors-pink-500: #ec4899;
223 | --colors-pink-600: #db2777;
224 | --colors-pink-700: #be185d;
225 | --colors-pink-800: #9d174d;
226 | --colors-pink-900: #831843;
227 | --colors-rose-50: #fff1f2;
228 | --colors-rose-100: #ffe4e6;
229 | --colors-rose-200: #fecdd3;
230 | --colors-rose-300: #fda4af;
231 | --colors-rose-400: #fb7185;
232 | --colors-rose-500: #f43f5e;
233 | --colors-rose-600: #e11d48;
234 | --colors-rose-700: #be123c;
235 | --colors-rose-800: #9f1239;
236 | --colors-rose-900: #881337;
237 | --spacing-0: 0px;
238 | --spacing-1: 0.25rem;
239 | --spacing-2: 0.5rem;
240 | --spacing-3: 0.75rem;
241 | --spacing-4: 1rem;
242 | --spacing-5: 1.25rem;
243 | --spacing-6: 1.5rem;
244 | --spacing-7: 1.75rem;
245 | --spacing-8: 2rem;
246 | --spacing-9: 2.25rem;
247 | --spacing-10: 2.5rem;
248 | --spacing-11: 2.75rem;
249 | --spacing-12: 3rem;
250 | --spacing-14: 3.5rem;
251 | --spacing-16: 4rem;
252 | --spacing-20: 5rem;
253 | --spacing-24: 6rem;
254 | --spacing-28: 7rem;
255 | --spacing-32: 8rem;
256 | --spacing-36: 9rem;
257 | --spacing-40: 10rem;
258 | --spacing-44: 11rem;
259 | --spacing-48: 12rem;
260 | --spacing-52: 13rem;
261 | --spacing-56: 14rem;
262 | --spacing-60: 15rem;
263 | --spacing-64: 16rem;
264 | --spacing-72: 18rem;
265 | --spacing-80: 20rem;
266 | --spacing-96: 24rem;
267 | --spacing-px: 1px;
268 | --spacing-0-5: 0.125rem;
269 | --spacing-1-5: 0.375rem;
270 | --spacing-2-5: 0.625rem;
271 | --spacing-3-5: 0.875rem;
272 | --animation-none: none;
273 | --animation-spin: spin 1s linear infinite;
274 | --animation-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
275 | --animation-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
276 | --animation-bounce: bounce 1s infinite;
277 | --border-radius-none: 0px;
278 | --border-radius-sm: 0.125rem;
279 | --border-radius-default: 0.25rem;
280 | --border-radius-md: 0.375rem;
281 | --border-radius-lg: 0.5rem;
282 | --border-radius-xl: 0.75rem;
283 | --border-radius-2xl: 1rem;
284 | --border-radius-3xl: 1.5rem;
285 | --border-radius-full: 9999px;
286 | --border-width-0: 0px;
287 | --border-width-2: 2px;
288 | --border-width-4: 4px;
289 | --border-width-8: 8px;
290 | --border-width-default: 1px;
291 | --box-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
292 | --box-shadow-default: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
293 | --box-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
294 | --box-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
295 | --box-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
296 | --box-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
297 | --box-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
298 | --box-shadow-none: none;
299 | --font-family-sans: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
300 | --font-family-serif: ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
301 | --font-family-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
302 | --font-size-xs: 0.75rem;
303 | --font-size-xs-line-height: 1rem;
304 | --font-size-sm: 0.875rem;
305 | --font-size-sm-line-height: 1.25rem;
306 | --font-size-base: 1rem;
307 | --font-size-base-line-height: 1.5rem;
308 | --font-size-lg: 1.125rem;
309 | --font-size-lg-line-height: 1.75rem;
310 | --font-size-xl: 1.25rem;
311 | --font-size-xl-line-height: 1.75rem;
312 | --font-size-2xl: 1.5rem;
313 | --font-size-2xl-line-height: 2rem;
314 | --font-size-3xl: 1.875rem;
315 | --font-size-3xl-line-height: 2.25rem;
316 | --font-size-4xl: 2.25rem;
317 | --font-size-4xl-line-height: 2.5rem;
318 | --font-size-5xl: 3rem;
319 | --font-size-5xl-line-height: 1;
320 | --font-size-6xl: 3.75rem;
321 | --font-size-6xl-line-height: 1;
322 | --font-size-7xl: 4.5rem;
323 | --font-size-7xl-line-height: 1;
324 | --font-size-8xl: 6rem;
325 | --font-size-8xl-line-height: 1;
326 | --font-size-9xl: 8rem;
327 | --font-size-9xl-line-height: 1;
328 | --font-weight-thin: 100;
329 | --font-weight-extralight: 200;
330 | --font-weight-light: 300;
331 | --font-weight-normal: 400;
332 | --font-weight-medium: 500;
333 | --font-weight-semibold: 600;
334 | --font-weight-bold: 700;
335 | --font-weight-extrabold: 800;
336 | --font-weight-black: 900;
337 | --letter-spacing-tighter: -0.05em;
338 | --letter-spacing-tight: -0.025em;
339 | --letter-spacing-normal: 0em;
340 | --letter-spacing-wide: 0.025em;
341 | --letter-spacing-wider: 0.05em;
342 | --letter-spacing-widest: 0.1em;
343 | --line-height-3: .75rem;
344 | --line-height-4: 1rem;
345 | --line-height-5: 1.25rem;
346 | --line-height-6: 1.5rem;
347 | --line-height-7: 1.75rem;
348 | --line-height-8: 2rem;
349 | --line-height-9: 2.25rem;
350 | --line-height-10: 2.5rem;
351 | --line-height-none: 1;
352 | --line-height-tight: 1.25;
353 | --line-height-snug: 1.375;
354 | --line-height-normal: 1.5;
355 | --line-height-relaxed: 1.625;
356 | --line-height-loose: 2;
357 | --max-width-0: 0rem;
358 | --max-width-none: none;
359 | --max-width-xs: 20rem;
360 | --max-width-sm: 24rem;
361 | --max-width-md: 28rem;
362 | --max-width-lg: 32rem;
363 | --max-width-xl: 36rem;
364 | --max-width-2xl: 42rem;
365 | --max-width-3xl: 48rem;
366 | --max-width-4xl: 56rem;
367 | --max-width-5xl: 64rem;
368 | --max-width-6xl: 72rem;
369 | --max-width-7xl: 80rem;
370 | --max-width-full: 100%;
371 | --max-width-min: min-content;
372 | --max-width-max: max-content;
373 | --max-width-fit: fit-content;
374 | --max-width-prose: 65ch;
375 | --max-width-screen-sm: 640px;
376 | --max-width-screen-md: 768px;
377 | --max-width-screen-lg: 1024px;
378 | --max-width-screen-xl: 1280px;
379 | --max-width-screen-2xl: 1536px;
380 | --opacity-0: 0;
381 | --opacity-5: 0.05;
382 | --opacity-10: 0.1;
383 | --opacity-20: 0.2;
384 | --opacity-25: 0.25;
385 | --opacity-30: 0.3;
386 | --opacity-40: 0.4;
387 | --opacity-50: 0.5;
388 | --opacity-60: 0.6;
389 | --opacity-70: 0.7;
390 | --opacity-75: 0.75;
391 | --opacity-80: 0.8;
392 | --opacity-90: 0.9;
393 | --opacity-95: 0.95;
394 | --opacity-100: 1;
395 | --scale-0: 0;
396 | --scale-50: .5;
397 | --scale-75: .75;
398 | --scale-90: .9;
399 | --scale-95: .95;
400 | --scale-100: 1;
401 | --scale-105: 1.05;
402 | --scale-110: 1.1;
403 | --scale-125: 1.25;
404 | --scale-150: 1.5;
405 | --transition-delay-75: 75ms;
406 | --transition-delay-100: 100ms;
407 | --transition-delay-150: 150ms;
408 | --transition-delay-200: 200ms;
409 | --transition-delay-300: 300ms;
410 | --transition-delay-500: 500ms;
411 | --transition-delay-700: 700ms;
412 | --transition-delay-1000: 1000ms;
413 | --transition-duration-75: 75ms;
414 | --transition-duration-100: 100ms;
415 | --transition-duration-150: 150ms;
416 | --transition-duration-200: 200ms;
417 | --transition-duration-300: 300ms;
418 | --transition-duration-500: 500ms;
419 | --transition-duration-700: 700ms;
420 | --transition-duration-1000: 1000ms;
421 | --transition-duration-default: 150ms;
422 | --transition-property-none: none;
423 | --transition-property-all: all;
424 | --transition-property-default: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
425 | --transition-property-colors: color, background-color, border-color, text-decoration-color, fill, stroke;
426 | --transition-property-opacity: opacity;
427 | --transition-property-shadow: box-shadow;
428 | --transition-property-transform: transform;
429 | --transition-timing-function-default: cubic-bezier(0.4, 0, 0.2, 1);
430 | --transition-timing-function-linear: linear;
431 | --transition-timing-function-in: cubic-bezier(0.4, 0, 1, 1);
432 | --transition-timing-function-out: cubic-bezier(0, 0, 0.2, 1);
433 | --transition-timing-function-in-out: cubic-bezier(0.4, 0, 0.2, 1);
434 | --z-index-0: 0;
435 | --z-index-10: 10;
436 | --z-index-20: 20;
437 | --z-index-30: 30;
438 | --z-index-40: 40;
439 | --z-index-50: 50;
440 | --z-index-auto: auto;
441 | }
442 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tailwind-to-style-dictionary",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "tailwind-to-style-dictionary",
9 | "version": "1.0.0",
10 | "license": "ISC",
11 | "dependencies": {
12 | "@divriots/style-dictionary-to-figma": "^0.3.2"
13 | },
14 | "devDependencies": {
15 | "autoprefixer": "^10.4.9",
16 | "postcss": "^8.4.16",
17 | "style-dictionary": "^3.7.1",
18 | "tailwindcss": "^3.1.8"
19 | }
20 | },
21 | "node_modules/@divriots/style-dictionary-to-figma": {
22 | "version": "0.3.2",
23 | "resolved": "https://registry.npmjs.org/@divriots/style-dictionary-to-figma/-/style-dictionary-to-figma-0.3.2.tgz",
24 | "integrity": "sha512-qI4eCqAIyrWve+Tiaa74cQqhDCEtyZXy/5h3Kr+Hm/oZ6gf3o++i8EZ9ZZ/pebOKpLnQ+DvceJOxf9YF2R83SA=="
25 | },
26 | "node_modules/@nodelib/fs.scandir": {
27 | "version": "2.1.5",
28 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
29 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
30 | "dev": true,
31 | "dependencies": {
32 | "@nodelib/fs.stat": "2.0.5",
33 | "run-parallel": "^1.1.9"
34 | },
35 | "engines": {
36 | "node": ">= 8"
37 | }
38 | },
39 | "node_modules/@nodelib/fs.stat": {
40 | "version": "2.0.5",
41 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
42 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
43 | "dev": true,
44 | "engines": {
45 | "node": ">= 8"
46 | }
47 | },
48 | "node_modules/@nodelib/fs.walk": {
49 | "version": "1.2.8",
50 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
51 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
52 | "dev": true,
53 | "dependencies": {
54 | "@nodelib/fs.scandir": "2.1.5",
55 | "fastq": "^1.6.0"
56 | },
57 | "engines": {
58 | "node": ">= 8"
59 | }
60 | },
61 | "node_modules/acorn": {
62 | "version": "7.4.1",
63 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
64 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
65 | "dev": true,
66 | "bin": {
67 | "acorn": "bin/acorn"
68 | },
69 | "engines": {
70 | "node": ">=0.4.0"
71 | }
72 | },
73 | "node_modules/acorn-node": {
74 | "version": "1.8.2",
75 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
76 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
77 | "dev": true,
78 | "dependencies": {
79 | "acorn": "^7.0.0",
80 | "acorn-walk": "^7.0.0",
81 | "xtend": "^4.0.2"
82 | }
83 | },
84 | "node_modules/acorn-walk": {
85 | "version": "7.2.0",
86 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
87 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
88 | "dev": true,
89 | "engines": {
90 | "node": ">=0.4.0"
91 | }
92 | },
93 | "node_modules/ansi-styles": {
94 | "version": "4.3.0",
95 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
96 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
97 | "dev": true,
98 | "dependencies": {
99 | "color-convert": "^2.0.1"
100 | },
101 | "engines": {
102 | "node": ">=8"
103 | },
104 | "funding": {
105 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
106 | }
107 | },
108 | "node_modules/anymatch": {
109 | "version": "3.1.2",
110 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
111 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
112 | "dev": true,
113 | "dependencies": {
114 | "normalize-path": "^3.0.0",
115 | "picomatch": "^2.0.4"
116 | },
117 | "engines": {
118 | "node": ">= 8"
119 | }
120 | },
121 | "node_modules/arg": {
122 | "version": "5.0.2",
123 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
124 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
125 | "dev": true
126 | },
127 | "node_modules/autoprefixer": {
128 | "version": "10.4.9",
129 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.9.tgz",
130 | "integrity": "sha512-Uu67eduPEmOeA0vyJby5ghu1AAELCCNSsLAjK+lz6kYzNM5sqnBO36MqfsjhPjQF/BaJM5U/UuFYyl7PavY/wQ==",
131 | "dev": true,
132 | "funding": [
133 | {
134 | "type": "opencollective",
135 | "url": "https://opencollective.com/postcss/"
136 | },
137 | {
138 | "type": "tidelift",
139 | "url": "https://tidelift.com/funding/github/npm/autoprefixer"
140 | }
141 | ],
142 | "dependencies": {
143 | "browserslist": "^4.21.3",
144 | "caniuse-lite": "^1.0.30001394",
145 | "fraction.js": "^4.2.0",
146 | "normalize-range": "^0.1.2",
147 | "picocolors": "^1.0.0",
148 | "postcss-value-parser": "^4.2.0"
149 | },
150 | "bin": {
151 | "autoprefixer": "bin/autoprefixer"
152 | },
153 | "engines": {
154 | "node": "^10 || ^12 || >=14"
155 | },
156 | "peerDependencies": {
157 | "postcss": "^8.1.0"
158 | }
159 | },
160 | "node_modules/balanced-match": {
161 | "version": "1.0.2",
162 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
163 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
164 | "dev": true
165 | },
166 | "node_modules/binary-extensions": {
167 | "version": "2.2.0",
168 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
169 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
170 | "dev": true,
171 | "engines": {
172 | "node": ">=8"
173 | }
174 | },
175 | "node_modules/brace-expansion": {
176 | "version": "1.1.11",
177 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
178 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
179 | "dev": true,
180 | "dependencies": {
181 | "balanced-match": "^1.0.0",
182 | "concat-map": "0.0.1"
183 | }
184 | },
185 | "node_modules/braces": {
186 | "version": "3.0.2",
187 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
188 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
189 | "dev": true,
190 | "dependencies": {
191 | "fill-range": "^7.0.1"
192 | },
193 | "engines": {
194 | "node": ">=8"
195 | }
196 | },
197 | "node_modules/browserslist": {
198 | "version": "4.21.3",
199 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
200 | "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
201 | "dev": true,
202 | "funding": [
203 | {
204 | "type": "opencollective",
205 | "url": "https://opencollective.com/browserslist"
206 | },
207 | {
208 | "type": "tidelift",
209 | "url": "https://tidelift.com/funding/github/npm/browserslist"
210 | }
211 | ],
212 | "dependencies": {
213 | "caniuse-lite": "^1.0.30001370",
214 | "electron-to-chromium": "^1.4.202",
215 | "node-releases": "^2.0.6",
216 | "update-browserslist-db": "^1.0.5"
217 | },
218 | "bin": {
219 | "browserslist": "cli.js"
220 | },
221 | "engines": {
222 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
223 | }
224 | },
225 | "node_modules/camel-case": {
226 | "version": "4.1.2",
227 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
228 | "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
229 | "dev": true,
230 | "dependencies": {
231 | "pascal-case": "^3.1.2",
232 | "tslib": "^2.0.3"
233 | }
234 | },
235 | "node_modules/camelcase-css": {
236 | "version": "2.0.1",
237 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
238 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
239 | "dev": true,
240 | "engines": {
241 | "node": ">= 6"
242 | }
243 | },
244 | "node_modules/caniuse-lite": {
245 | "version": "1.0.30001397",
246 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001397.tgz",
247 | "integrity": "sha512-SW9N2TbCdLf0eiNDRrrQXx2sOkaakNZbCjgNpPyMJJbiOrU5QzMIrXOVMRM1myBXTD5iTkdrtU/EguCrBocHlA==",
248 | "dev": true,
249 | "funding": [
250 | {
251 | "type": "opencollective",
252 | "url": "https://opencollective.com/browserslist"
253 | },
254 | {
255 | "type": "tidelift",
256 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
257 | }
258 | ]
259 | },
260 | "node_modules/capital-case": {
261 | "version": "1.0.4",
262 | "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
263 | "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
264 | "dev": true,
265 | "dependencies": {
266 | "no-case": "^3.0.4",
267 | "tslib": "^2.0.3",
268 | "upper-case-first": "^2.0.2"
269 | }
270 | },
271 | "node_modules/chalk": {
272 | "version": "4.1.2",
273 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
274 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
275 | "dev": true,
276 | "dependencies": {
277 | "ansi-styles": "^4.1.0",
278 | "supports-color": "^7.1.0"
279 | },
280 | "engines": {
281 | "node": ">=10"
282 | },
283 | "funding": {
284 | "url": "https://github.com/chalk/chalk?sponsor=1"
285 | }
286 | },
287 | "node_modules/change-case": {
288 | "version": "4.1.2",
289 | "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
290 | "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
291 | "dev": true,
292 | "dependencies": {
293 | "camel-case": "^4.1.2",
294 | "capital-case": "^1.0.4",
295 | "constant-case": "^3.0.4",
296 | "dot-case": "^3.0.4",
297 | "header-case": "^2.0.4",
298 | "no-case": "^3.0.4",
299 | "param-case": "^3.0.4",
300 | "pascal-case": "^3.1.2",
301 | "path-case": "^3.0.4",
302 | "sentence-case": "^3.0.4",
303 | "snake-case": "^3.0.4",
304 | "tslib": "^2.0.3"
305 | }
306 | },
307 | "node_modules/chokidar": {
308 | "version": "3.5.3",
309 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
310 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
311 | "dev": true,
312 | "funding": [
313 | {
314 | "type": "individual",
315 | "url": "https://paulmillr.com/funding/"
316 | }
317 | ],
318 | "dependencies": {
319 | "anymatch": "~3.1.2",
320 | "braces": "~3.0.2",
321 | "glob-parent": "~5.1.2",
322 | "is-binary-path": "~2.1.0",
323 | "is-glob": "~4.0.1",
324 | "normalize-path": "~3.0.0",
325 | "readdirp": "~3.6.0"
326 | },
327 | "engines": {
328 | "node": ">= 8.10.0"
329 | },
330 | "optionalDependencies": {
331 | "fsevents": "~2.3.2"
332 | }
333 | },
334 | "node_modules/chokidar/node_modules/glob-parent": {
335 | "version": "5.1.2",
336 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
337 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
338 | "dev": true,
339 | "dependencies": {
340 | "is-glob": "^4.0.1"
341 | },
342 | "engines": {
343 | "node": ">= 6"
344 | }
345 | },
346 | "node_modules/color-convert": {
347 | "version": "2.0.1",
348 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
349 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
350 | "dev": true,
351 | "dependencies": {
352 | "color-name": "~1.1.4"
353 | },
354 | "engines": {
355 | "node": ">=7.0.0"
356 | }
357 | },
358 | "node_modules/color-name": {
359 | "version": "1.1.4",
360 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
361 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
362 | "dev": true
363 | },
364 | "node_modules/commander": {
365 | "version": "8.3.0",
366 | "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
367 | "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
368 | "dev": true,
369 | "engines": {
370 | "node": ">= 12"
371 | }
372 | },
373 | "node_modules/concat-map": {
374 | "version": "0.0.1",
375 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
376 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
377 | "dev": true
378 | },
379 | "node_modules/constant-case": {
380 | "version": "3.0.4",
381 | "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
382 | "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
383 | "dev": true,
384 | "dependencies": {
385 | "no-case": "^3.0.4",
386 | "tslib": "^2.0.3",
387 | "upper-case": "^2.0.2"
388 | }
389 | },
390 | "node_modules/cssesc": {
391 | "version": "3.0.0",
392 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
393 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
394 | "dev": true,
395 | "bin": {
396 | "cssesc": "bin/cssesc"
397 | },
398 | "engines": {
399 | "node": ">=4"
400 | }
401 | },
402 | "node_modules/defined": {
403 | "version": "1.0.0",
404 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
405 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==",
406 | "dev": true
407 | },
408 | "node_modules/detective": {
409 | "version": "5.2.1",
410 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
411 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
412 | "dev": true,
413 | "dependencies": {
414 | "acorn-node": "^1.8.2",
415 | "defined": "^1.0.0",
416 | "minimist": "^1.2.6"
417 | },
418 | "bin": {
419 | "detective": "bin/detective.js"
420 | },
421 | "engines": {
422 | "node": ">=0.8.0"
423 | }
424 | },
425 | "node_modules/didyoumean": {
426 | "version": "1.2.2",
427 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
428 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
429 | "dev": true
430 | },
431 | "node_modules/dlv": {
432 | "version": "1.1.3",
433 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
434 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
435 | "dev": true
436 | },
437 | "node_modules/dot-case": {
438 | "version": "3.0.4",
439 | "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
440 | "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
441 | "dev": true,
442 | "dependencies": {
443 | "no-case": "^3.0.4",
444 | "tslib": "^2.0.3"
445 | }
446 | },
447 | "node_modules/electron-to-chromium": {
448 | "version": "1.4.247",
449 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz",
450 | "integrity": "sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==",
451 | "dev": true
452 | },
453 | "node_modules/escalade": {
454 | "version": "3.1.1",
455 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
456 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
457 | "dev": true,
458 | "engines": {
459 | "node": ">=6"
460 | }
461 | },
462 | "node_modules/fast-glob": {
463 | "version": "3.2.12",
464 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
465 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
466 | "dev": true,
467 | "dependencies": {
468 | "@nodelib/fs.stat": "^2.0.2",
469 | "@nodelib/fs.walk": "^1.2.3",
470 | "glob-parent": "^5.1.2",
471 | "merge2": "^1.3.0",
472 | "micromatch": "^4.0.4"
473 | },
474 | "engines": {
475 | "node": ">=8.6.0"
476 | }
477 | },
478 | "node_modules/fast-glob/node_modules/glob-parent": {
479 | "version": "5.1.2",
480 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
481 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
482 | "dev": true,
483 | "dependencies": {
484 | "is-glob": "^4.0.1"
485 | },
486 | "engines": {
487 | "node": ">= 6"
488 | }
489 | },
490 | "node_modules/fastq": {
491 | "version": "1.13.0",
492 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
493 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
494 | "dev": true,
495 | "dependencies": {
496 | "reusify": "^1.0.4"
497 | }
498 | },
499 | "node_modules/fill-range": {
500 | "version": "7.0.1",
501 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
502 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
503 | "dev": true,
504 | "dependencies": {
505 | "to-regex-range": "^5.0.1"
506 | },
507 | "engines": {
508 | "node": ">=8"
509 | }
510 | },
511 | "node_modules/fraction.js": {
512 | "version": "4.2.0",
513 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
514 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
515 | "dev": true,
516 | "engines": {
517 | "node": "*"
518 | },
519 | "funding": {
520 | "type": "patreon",
521 | "url": "https://www.patreon.com/infusion"
522 | }
523 | },
524 | "node_modules/fs-extra": {
525 | "version": "10.1.0",
526 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
527 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
528 | "dev": true,
529 | "dependencies": {
530 | "graceful-fs": "^4.2.0",
531 | "jsonfile": "^6.0.1",
532 | "universalify": "^2.0.0"
533 | },
534 | "engines": {
535 | "node": ">=12"
536 | }
537 | },
538 | "node_modules/fs.realpath": {
539 | "version": "1.0.0",
540 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
541 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
542 | "dev": true
543 | },
544 | "node_modules/fsevents": {
545 | "version": "2.3.2",
546 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
547 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
548 | "dev": true,
549 | "hasInstallScript": true,
550 | "optional": true,
551 | "os": [
552 | "darwin"
553 | ],
554 | "engines": {
555 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
556 | }
557 | },
558 | "node_modules/function-bind": {
559 | "version": "1.1.1",
560 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
561 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
562 | "dev": true
563 | },
564 | "node_modules/glob": {
565 | "version": "7.2.3",
566 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
567 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
568 | "dev": true,
569 | "dependencies": {
570 | "fs.realpath": "^1.0.0",
571 | "inflight": "^1.0.4",
572 | "inherits": "2",
573 | "minimatch": "^3.1.1",
574 | "once": "^1.3.0",
575 | "path-is-absolute": "^1.0.0"
576 | },
577 | "engines": {
578 | "node": "*"
579 | },
580 | "funding": {
581 | "url": "https://github.com/sponsors/isaacs"
582 | }
583 | },
584 | "node_modules/glob-parent": {
585 | "version": "6.0.2",
586 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
587 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
588 | "dev": true,
589 | "dependencies": {
590 | "is-glob": "^4.0.3"
591 | },
592 | "engines": {
593 | "node": ">=10.13.0"
594 | }
595 | },
596 | "node_modules/graceful-fs": {
597 | "version": "4.2.10",
598 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
599 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
600 | "dev": true
601 | },
602 | "node_modules/has": {
603 | "version": "1.0.3",
604 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
605 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
606 | "dev": true,
607 | "dependencies": {
608 | "function-bind": "^1.1.1"
609 | },
610 | "engines": {
611 | "node": ">= 0.4.0"
612 | }
613 | },
614 | "node_modules/has-flag": {
615 | "version": "4.0.0",
616 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
617 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
618 | "dev": true,
619 | "engines": {
620 | "node": ">=8"
621 | }
622 | },
623 | "node_modules/header-case": {
624 | "version": "2.0.4",
625 | "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
626 | "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
627 | "dev": true,
628 | "dependencies": {
629 | "capital-case": "^1.0.4",
630 | "tslib": "^2.0.3"
631 | }
632 | },
633 | "node_modules/inflight": {
634 | "version": "1.0.6",
635 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
636 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
637 | "dev": true,
638 | "dependencies": {
639 | "once": "^1.3.0",
640 | "wrappy": "1"
641 | }
642 | },
643 | "node_modules/inherits": {
644 | "version": "2.0.4",
645 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
646 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
647 | "dev": true
648 | },
649 | "node_modules/is-binary-path": {
650 | "version": "2.1.0",
651 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
652 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
653 | "dev": true,
654 | "dependencies": {
655 | "binary-extensions": "^2.0.0"
656 | },
657 | "engines": {
658 | "node": ">=8"
659 | }
660 | },
661 | "node_modules/is-core-module": {
662 | "version": "2.10.0",
663 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
664 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
665 | "dev": true,
666 | "dependencies": {
667 | "has": "^1.0.3"
668 | },
669 | "funding": {
670 | "url": "https://github.com/sponsors/ljharb"
671 | }
672 | },
673 | "node_modules/is-extglob": {
674 | "version": "2.1.1",
675 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
676 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
677 | "dev": true,
678 | "engines": {
679 | "node": ">=0.10.0"
680 | }
681 | },
682 | "node_modules/is-glob": {
683 | "version": "4.0.3",
684 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
685 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
686 | "dev": true,
687 | "dependencies": {
688 | "is-extglob": "^2.1.1"
689 | },
690 | "engines": {
691 | "node": ">=0.10.0"
692 | }
693 | },
694 | "node_modules/is-number": {
695 | "version": "7.0.0",
696 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
697 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
698 | "dev": true,
699 | "engines": {
700 | "node": ">=0.12.0"
701 | }
702 | },
703 | "node_modules/json5": {
704 | "version": "2.2.1",
705 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
706 | "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
707 | "dev": true,
708 | "bin": {
709 | "json5": "lib/cli.js"
710 | },
711 | "engines": {
712 | "node": ">=6"
713 | }
714 | },
715 | "node_modules/jsonc-parser": {
716 | "version": "3.2.0",
717 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
718 | "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
719 | "dev": true
720 | },
721 | "node_modules/jsonfile": {
722 | "version": "6.1.0",
723 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
724 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
725 | "dev": true,
726 | "dependencies": {
727 | "universalify": "^2.0.0"
728 | },
729 | "optionalDependencies": {
730 | "graceful-fs": "^4.1.6"
731 | }
732 | },
733 | "node_modules/lilconfig": {
734 | "version": "2.0.6",
735 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
736 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
737 | "dev": true,
738 | "engines": {
739 | "node": ">=10"
740 | }
741 | },
742 | "node_modules/lodash": {
743 | "version": "4.17.21",
744 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
745 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
746 | "dev": true
747 | },
748 | "node_modules/lower-case": {
749 | "version": "2.0.2",
750 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
751 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
752 | "dev": true,
753 | "dependencies": {
754 | "tslib": "^2.0.3"
755 | }
756 | },
757 | "node_modules/merge2": {
758 | "version": "1.4.1",
759 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
760 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
761 | "dev": true,
762 | "engines": {
763 | "node": ">= 8"
764 | }
765 | },
766 | "node_modules/micromatch": {
767 | "version": "4.0.5",
768 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
769 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
770 | "dev": true,
771 | "dependencies": {
772 | "braces": "^3.0.2",
773 | "picomatch": "^2.3.1"
774 | },
775 | "engines": {
776 | "node": ">=8.6"
777 | }
778 | },
779 | "node_modules/minimatch": {
780 | "version": "3.1.2",
781 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
782 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
783 | "dev": true,
784 | "dependencies": {
785 | "brace-expansion": "^1.1.7"
786 | },
787 | "engines": {
788 | "node": "*"
789 | }
790 | },
791 | "node_modules/minimist": {
792 | "version": "1.2.6",
793 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
794 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
795 | "dev": true
796 | },
797 | "node_modules/nanoid": {
798 | "version": "3.3.4",
799 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
800 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
801 | "dev": true,
802 | "bin": {
803 | "nanoid": "bin/nanoid.cjs"
804 | },
805 | "engines": {
806 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
807 | }
808 | },
809 | "node_modules/no-case": {
810 | "version": "3.0.4",
811 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
812 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
813 | "dev": true,
814 | "dependencies": {
815 | "lower-case": "^2.0.2",
816 | "tslib": "^2.0.3"
817 | }
818 | },
819 | "node_modules/node-releases": {
820 | "version": "2.0.6",
821 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
822 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
823 | "dev": true
824 | },
825 | "node_modules/normalize-path": {
826 | "version": "3.0.0",
827 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
828 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
829 | "dev": true,
830 | "engines": {
831 | "node": ">=0.10.0"
832 | }
833 | },
834 | "node_modules/normalize-range": {
835 | "version": "0.1.2",
836 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
837 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
838 | "dev": true,
839 | "engines": {
840 | "node": ">=0.10.0"
841 | }
842 | },
843 | "node_modules/object-hash": {
844 | "version": "3.0.0",
845 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
846 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
847 | "dev": true,
848 | "engines": {
849 | "node": ">= 6"
850 | }
851 | },
852 | "node_modules/once": {
853 | "version": "1.4.0",
854 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
855 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
856 | "dev": true,
857 | "dependencies": {
858 | "wrappy": "1"
859 | }
860 | },
861 | "node_modules/param-case": {
862 | "version": "3.0.4",
863 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
864 | "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
865 | "dev": true,
866 | "dependencies": {
867 | "dot-case": "^3.0.4",
868 | "tslib": "^2.0.3"
869 | }
870 | },
871 | "node_modules/pascal-case": {
872 | "version": "3.1.2",
873 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
874 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
875 | "dev": true,
876 | "dependencies": {
877 | "no-case": "^3.0.4",
878 | "tslib": "^2.0.3"
879 | }
880 | },
881 | "node_modules/path-case": {
882 | "version": "3.0.4",
883 | "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
884 | "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
885 | "dev": true,
886 | "dependencies": {
887 | "dot-case": "^3.0.4",
888 | "tslib": "^2.0.3"
889 | }
890 | },
891 | "node_modules/path-is-absolute": {
892 | "version": "1.0.1",
893 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
894 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
895 | "dev": true,
896 | "engines": {
897 | "node": ">=0.10.0"
898 | }
899 | },
900 | "node_modules/path-parse": {
901 | "version": "1.0.7",
902 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
903 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
904 | "dev": true
905 | },
906 | "node_modules/picocolors": {
907 | "version": "1.0.0",
908 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
909 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
910 | "dev": true
911 | },
912 | "node_modules/picomatch": {
913 | "version": "2.3.1",
914 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
915 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
916 | "dev": true,
917 | "engines": {
918 | "node": ">=8.6"
919 | },
920 | "funding": {
921 | "url": "https://github.com/sponsors/jonschlinkert"
922 | }
923 | },
924 | "node_modules/pify": {
925 | "version": "2.3.0",
926 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
927 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
928 | "dev": true,
929 | "engines": {
930 | "node": ">=0.10.0"
931 | }
932 | },
933 | "node_modules/postcss": {
934 | "version": "8.4.16",
935 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
936 | "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
937 | "dev": true,
938 | "funding": [
939 | {
940 | "type": "opencollective",
941 | "url": "https://opencollective.com/postcss/"
942 | },
943 | {
944 | "type": "tidelift",
945 | "url": "https://tidelift.com/funding/github/npm/postcss"
946 | }
947 | ],
948 | "dependencies": {
949 | "nanoid": "^3.3.4",
950 | "picocolors": "^1.0.0",
951 | "source-map-js": "^1.0.2"
952 | },
953 | "engines": {
954 | "node": "^10 || ^12 || >=14"
955 | }
956 | },
957 | "node_modules/postcss-import": {
958 | "version": "14.1.0",
959 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
960 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
961 | "dev": true,
962 | "dependencies": {
963 | "postcss-value-parser": "^4.0.0",
964 | "read-cache": "^1.0.0",
965 | "resolve": "^1.1.7"
966 | },
967 | "engines": {
968 | "node": ">=10.0.0"
969 | },
970 | "peerDependencies": {
971 | "postcss": "^8.0.0"
972 | }
973 | },
974 | "node_modules/postcss-js": {
975 | "version": "4.0.0",
976 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
977 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
978 | "dev": true,
979 | "dependencies": {
980 | "camelcase-css": "^2.0.1"
981 | },
982 | "engines": {
983 | "node": "^12 || ^14 || >= 16"
984 | },
985 | "funding": {
986 | "type": "opencollective",
987 | "url": "https://opencollective.com/postcss/"
988 | },
989 | "peerDependencies": {
990 | "postcss": "^8.3.3"
991 | }
992 | },
993 | "node_modules/postcss-load-config": {
994 | "version": "3.1.4",
995 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
996 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
997 | "dev": true,
998 | "dependencies": {
999 | "lilconfig": "^2.0.5",
1000 | "yaml": "^1.10.2"
1001 | },
1002 | "engines": {
1003 | "node": ">= 10"
1004 | },
1005 | "funding": {
1006 | "type": "opencollective",
1007 | "url": "https://opencollective.com/postcss/"
1008 | },
1009 | "peerDependencies": {
1010 | "postcss": ">=8.0.9",
1011 | "ts-node": ">=9.0.0"
1012 | },
1013 | "peerDependenciesMeta": {
1014 | "postcss": {
1015 | "optional": true
1016 | },
1017 | "ts-node": {
1018 | "optional": true
1019 | }
1020 | }
1021 | },
1022 | "node_modules/postcss-nested": {
1023 | "version": "5.0.6",
1024 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
1025 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
1026 | "dev": true,
1027 | "dependencies": {
1028 | "postcss-selector-parser": "^6.0.6"
1029 | },
1030 | "engines": {
1031 | "node": ">=12.0"
1032 | },
1033 | "funding": {
1034 | "type": "opencollective",
1035 | "url": "https://opencollective.com/postcss/"
1036 | },
1037 | "peerDependencies": {
1038 | "postcss": "^8.2.14"
1039 | }
1040 | },
1041 | "node_modules/postcss-selector-parser": {
1042 | "version": "6.0.10",
1043 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
1044 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
1045 | "dev": true,
1046 | "dependencies": {
1047 | "cssesc": "^3.0.0",
1048 | "util-deprecate": "^1.0.2"
1049 | },
1050 | "engines": {
1051 | "node": ">=4"
1052 | }
1053 | },
1054 | "node_modules/postcss-value-parser": {
1055 | "version": "4.2.0",
1056 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1057 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1058 | "dev": true
1059 | },
1060 | "node_modules/queue-microtask": {
1061 | "version": "1.2.3",
1062 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1063 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1064 | "dev": true,
1065 | "funding": [
1066 | {
1067 | "type": "github",
1068 | "url": "https://github.com/sponsors/feross"
1069 | },
1070 | {
1071 | "type": "patreon",
1072 | "url": "https://www.patreon.com/feross"
1073 | },
1074 | {
1075 | "type": "consulting",
1076 | "url": "https://feross.org/support"
1077 | }
1078 | ]
1079 | },
1080 | "node_modules/quick-lru": {
1081 | "version": "5.1.1",
1082 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1083 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1084 | "dev": true,
1085 | "engines": {
1086 | "node": ">=10"
1087 | },
1088 | "funding": {
1089 | "url": "https://github.com/sponsors/sindresorhus"
1090 | }
1091 | },
1092 | "node_modules/read-cache": {
1093 | "version": "1.0.0",
1094 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
1095 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
1096 | "dev": true,
1097 | "dependencies": {
1098 | "pify": "^2.3.0"
1099 | }
1100 | },
1101 | "node_modules/readdirp": {
1102 | "version": "3.6.0",
1103 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1104 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1105 | "dev": true,
1106 | "dependencies": {
1107 | "picomatch": "^2.2.1"
1108 | },
1109 | "engines": {
1110 | "node": ">=8.10.0"
1111 | }
1112 | },
1113 | "node_modules/resolve": {
1114 | "version": "1.22.1",
1115 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1116 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1117 | "dev": true,
1118 | "dependencies": {
1119 | "is-core-module": "^2.9.0",
1120 | "path-parse": "^1.0.7",
1121 | "supports-preserve-symlinks-flag": "^1.0.0"
1122 | },
1123 | "bin": {
1124 | "resolve": "bin/resolve"
1125 | },
1126 | "funding": {
1127 | "url": "https://github.com/sponsors/ljharb"
1128 | }
1129 | },
1130 | "node_modules/reusify": {
1131 | "version": "1.0.4",
1132 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1133 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1134 | "dev": true,
1135 | "engines": {
1136 | "iojs": ">=1.0.0",
1137 | "node": ">=0.10.0"
1138 | }
1139 | },
1140 | "node_modules/run-parallel": {
1141 | "version": "1.2.0",
1142 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1143 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1144 | "dev": true,
1145 | "funding": [
1146 | {
1147 | "type": "github",
1148 | "url": "https://github.com/sponsors/feross"
1149 | },
1150 | {
1151 | "type": "patreon",
1152 | "url": "https://www.patreon.com/feross"
1153 | },
1154 | {
1155 | "type": "consulting",
1156 | "url": "https://feross.org/support"
1157 | }
1158 | ],
1159 | "dependencies": {
1160 | "queue-microtask": "^1.2.2"
1161 | }
1162 | },
1163 | "node_modules/sentence-case": {
1164 | "version": "3.0.4",
1165 | "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
1166 | "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
1167 | "dev": true,
1168 | "dependencies": {
1169 | "no-case": "^3.0.4",
1170 | "tslib": "^2.0.3",
1171 | "upper-case-first": "^2.0.2"
1172 | }
1173 | },
1174 | "node_modules/snake-case": {
1175 | "version": "3.0.4",
1176 | "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
1177 | "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
1178 | "dev": true,
1179 | "dependencies": {
1180 | "dot-case": "^3.0.4",
1181 | "tslib": "^2.0.3"
1182 | }
1183 | },
1184 | "node_modules/source-map-js": {
1185 | "version": "1.0.2",
1186 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1187 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1188 | "dev": true,
1189 | "engines": {
1190 | "node": ">=0.10.0"
1191 | }
1192 | },
1193 | "node_modules/style-dictionary": {
1194 | "version": "3.7.1",
1195 | "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-3.7.1.tgz",
1196 | "integrity": "sha512-yYU9Z/J8Znj9T9oJVjo8VOYamrOxv0UbBKPjhSt+PharxrhyQCM4RWb71fgEfv2pK9KO8G83/0ChDNQZ1mn0wQ==",
1197 | "dev": true,
1198 | "dependencies": {
1199 | "chalk": "^4.0.0",
1200 | "change-case": "^4.1.2",
1201 | "commander": "^8.3.0",
1202 | "fs-extra": "^10.0.0",
1203 | "glob": "^7.2.0",
1204 | "json5": "^2.2.0",
1205 | "jsonc-parser": "^3.0.0",
1206 | "lodash": "^4.17.15",
1207 | "tinycolor2": "^1.4.1"
1208 | },
1209 | "bin": {
1210 | "style-dictionary": "bin/style-dictionary"
1211 | },
1212 | "engines": {
1213 | "node": ">=12.0.0"
1214 | }
1215 | },
1216 | "node_modules/supports-color": {
1217 | "version": "7.2.0",
1218 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1219 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1220 | "dev": true,
1221 | "dependencies": {
1222 | "has-flag": "^4.0.0"
1223 | },
1224 | "engines": {
1225 | "node": ">=8"
1226 | }
1227 | },
1228 | "node_modules/supports-preserve-symlinks-flag": {
1229 | "version": "1.0.0",
1230 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1231 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1232 | "dev": true,
1233 | "engines": {
1234 | "node": ">= 0.4"
1235 | },
1236 | "funding": {
1237 | "url": "https://github.com/sponsors/ljharb"
1238 | }
1239 | },
1240 | "node_modules/tailwindcss": {
1241 | "version": "3.1.8",
1242 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
1243 | "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
1244 | "dev": true,
1245 | "dependencies": {
1246 | "arg": "^5.0.2",
1247 | "chokidar": "^3.5.3",
1248 | "color-name": "^1.1.4",
1249 | "detective": "^5.2.1",
1250 | "didyoumean": "^1.2.2",
1251 | "dlv": "^1.1.3",
1252 | "fast-glob": "^3.2.11",
1253 | "glob-parent": "^6.0.2",
1254 | "is-glob": "^4.0.3",
1255 | "lilconfig": "^2.0.6",
1256 | "normalize-path": "^3.0.0",
1257 | "object-hash": "^3.0.0",
1258 | "picocolors": "^1.0.0",
1259 | "postcss": "^8.4.14",
1260 | "postcss-import": "^14.1.0",
1261 | "postcss-js": "^4.0.0",
1262 | "postcss-load-config": "^3.1.4",
1263 | "postcss-nested": "5.0.6",
1264 | "postcss-selector-parser": "^6.0.10",
1265 | "postcss-value-parser": "^4.2.0",
1266 | "quick-lru": "^5.1.1",
1267 | "resolve": "^1.22.1"
1268 | },
1269 | "bin": {
1270 | "tailwind": "lib/cli.js",
1271 | "tailwindcss": "lib/cli.js"
1272 | },
1273 | "engines": {
1274 | "node": ">=12.13.0"
1275 | },
1276 | "peerDependencies": {
1277 | "postcss": "^8.0.9"
1278 | }
1279 | },
1280 | "node_modules/tinycolor2": {
1281 | "version": "1.4.2",
1282 | "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
1283 | "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==",
1284 | "dev": true,
1285 | "engines": {
1286 | "node": "*"
1287 | }
1288 | },
1289 | "node_modules/to-regex-range": {
1290 | "version": "5.0.1",
1291 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1292 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1293 | "dev": true,
1294 | "dependencies": {
1295 | "is-number": "^7.0.0"
1296 | },
1297 | "engines": {
1298 | "node": ">=8.0"
1299 | }
1300 | },
1301 | "node_modules/tslib": {
1302 | "version": "2.4.0",
1303 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
1304 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
1305 | "dev": true
1306 | },
1307 | "node_modules/universalify": {
1308 | "version": "2.0.0",
1309 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
1310 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
1311 | "dev": true,
1312 | "engines": {
1313 | "node": ">= 10.0.0"
1314 | }
1315 | },
1316 | "node_modules/update-browserslist-db": {
1317 | "version": "1.0.7",
1318 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz",
1319 | "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==",
1320 | "dev": true,
1321 | "funding": [
1322 | {
1323 | "type": "opencollective",
1324 | "url": "https://opencollective.com/browserslist"
1325 | },
1326 | {
1327 | "type": "tidelift",
1328 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1329 | }
1330 | ],
1331 | "dependencies": {
1332 | "escalade": "^3.1.1",
1333 | "picocolors": "^1.0.0"
1334 | },
1335 | "bin": {
1336 | "browserslist-lint": "cli.js"
1337 | },
1338 | "peerDependencies": {
1339 | "browserslist": ">= 4.21.0"
1340 | }
1341 | },
1342 | "node_modules/upper-case": {
1343 | "version": "2.0.2",
1344 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
1345 | "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
1346 | "dev": true,
1347 | "dependencies": {
1348 | "tslib": "^2.0.3"
1349 | }
1350 | },
1351 | "node_modules/upper-case-first": {
1352 | "version": "2.0.2",
1353 | "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
1354 | "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
1355 | "dev": true,
1356 | "dependencies": {
1357 | "tslib": "^2.0.3"
1358 | }
1359 | },
1360 | "node_modules/util-deprecate": {
1361 | "version": "1.0.2",
1362 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1363 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
1364 | "dev": true
1365 | },
1366 | "node_modules/wrappy": {
1367 | "version": "1.0.2",
1368 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1369 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1370 | "dev": true
1371 | },
1372 | "node_modules/xtend": {
1373 | "version": "4.0.2",
1374 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1375 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1376 | "dev": true,
1377 | "engines": {
1378 | "node": ">=0.4"
1379 | }
1380 | },
1381 | "node_modules/yaml": {
1382 | "version": "1.10.2",
1383 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1384 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1385 | "dev": true,
1386 | "engines": {
1387 | "node": ">= 6"
1388 | }
1389 | }
1390 | },
1391 | "dependencies": {
1392 | "@divriots/style-dictionary-to-figma": {
1393 | "version": "0.3.2",
1394 | "resolved": "https://registry.npmjs.org/@divriots/style-dictionary-to-figma/-/style-dictionary-to-figma-0.3.2.tgz",
1395 | "integrity": "sha512-qI4eCqAIyrWve+Tiaa74cQqhDCEtyZXy/5h3Kr+Hm/oZ6gf3o++i8EZ9ZZ/pebOKpLnQ+DvceJOxf9YF2R83SA=="
1396 | },
1397 | "@nodelib/fs.scandir": {
1398 | "version": "2.1.5",
1399 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
1400 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
1401 | "dev": true,
1402 | "requires": {
1403 | "@nodelib/fs.stat": "2.0.5",
1404 | "run-parallel": "^1.1.9"
1405 | }
1406 | },
1407 | "@nodelib/fs.stat": {
1408 | "version": "2.0.5",
1409 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
1410 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
1411 | "dev": true
1412 | },
1413 | "@nodelib/fs.walk": {
1414 | "version": "1.2.8",
1415 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
1416 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
1417 | "dev": true,
1418 | "requires": {
1419 | "@nodelib/fs.scandir": "2.1.5",
1420 | "fastq": "^1.6.0"
1421 | }
1422 | },
1423 | "acorn": {
1424 | "version": "7.4.1",
1425 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
1426 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
1427 | "dev": true
1428 | },
1429 | "acorn-node": {
1430 | "version": "1.8.2",
1431 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
1432 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
1433 | "dev": true,
1434 | "requires": {
1435 | "acorn": "^7.0.0",
1436 | "acorn-walk": "^7.0.0",
1437 | "xtend": "^4.0.2"
1438 | }
1439 | },
1440 | "acorn-walk": {
1441 | "version": "7.2.0",
1442 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
1443 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
1444 | "dev": true
1445 | },
1446 | "ansi-styles": {
1447 | "version": "4.3.0",
1448 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1449 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1450 | "dev": true,
1451 | "requires": {
1452 | "color-convert": "^2.0.1"
1453 | }
1454 | },
1455 | "anymatch": {
1456 | "version": "3.1.2",
1457 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
1458 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
1459 | "dev": true,
1460 | "requires": {
1461 | "normalize-path": "^3.0.0",
1462 | "picomatch": "^2.0.4"
1463 | }
1464 | },
1465 | "arg": {
1466 | "version": "5.0.2",
1467 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
1468 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
1469 | "dev": true
1470 | },
1471 | "autoprefixer": {
1472 | "version": "10.4.9",
1473 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.9.tgz",
1474 | "integrity": "sha512-Uu67eduPEmOeA0vyJby5ghu1AAELCCNSsLAjK+lz6kYzNM5sqnBO36MqfsjhPjQF/BaJM5U/UuFYyl7PavY/wQ==",
1475 | "dev": true,
1476 | "requires": {
1477 | "browserslist": "^4.21.3",
1478 | "caniuse-lite": "^1.0.30001394",
1479 | "fraction.js": "^4.2.0",
1480 | "normalize-range": "^0.1.2",
1481 | "picocolors": "^1.0.0",
1482 | "postcss-value-parser": "^4.2.0"
1483 | }
1484 | },
1485 | "balanced-match": {
1486 | "version": "1.0.2",
1487 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1488 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1489 | "dev": true
1490 | },
1491 | "binary-extensions": {
1492 | "version": "2.2.0",
1493 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
1494 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
1495 | "dev": true
1496 | },
1497 | "brace-expansion": {
1498 | "version": "1.1.11",
1499 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1500 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1501 | "dev": true,
1502 | "requires": {
1503 | "balanced-match": "^1.0.0",
1504 | "concat-map": "0.0.1"
1505 | }
1506 | },
1507 | "braces": {
1508 | "version": "3.0.2",
1509 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1510 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1511 | "dev": true,
1512 | "requires": {
1513 | "fill-range": "^7.0.1"
1514 | }
1515 | },
1516 | "browserslist": {
1517 | "version": "4.21.3",
1518 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz",
1519 | "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==",
1520 | "dev": true,
1521 | "requires": {
1522 | "caniuse-lite": "^1.0.30001370",
1523 | "electron-to-chromium": "^1.4.202",
1524 | "node-releases": "^2.0.6",
1525 | "update-browserslist-db": "^1.0.5"
1526 | }
1527 | },
1528 | "camel-case": {
1529 | "version": "4.1.2",
1530 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
1531 | "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
1532 | "dev": true,
1533 | "requires": {
1534 | "pascal-case": "^3.1.2",
1535 | "tslib": "^2.0.3"
1536 | }
1537 | },
1538 | "camelcase-css": {
1539 | "version": "2.0.1",
1540 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
1541 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1542 | "dev": true
1543 | },
1544 | "caniuse-lite": {
1545 | "version": "1.0.30001397",
1546 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001397.tgz",
1547 | "integrity": "sha512-SW9N2TbCdLf0eiNDRrrQXx2sOkaakNZbCjgNpPyMJJbiOrU5QzMIrXOVMRM1myBXTD5iTkdrtU/EguCrBocHlA==",
1548 | "dev": true
1549 | },
1550 | "capital-case": {
1551 | "version": "1.0.4",
1552 | "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
1553 | "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
1554 | "dev": true,
1555 | "requires": {
1556 | "no-case": "^3.0.4",
1557 | "tslib": "^2.0.3",
1558 | "upper-case-first": "^2.0.2"
1559 | }
1560 | },
1561 | "chalk": {
1562 | "version": "4.1.2",
1563 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1564 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1565 | "dev": true,
1566 | "requires": {
1567 | "ansi-styles": "^4.1.0",
1568 | "supports-color": "^7.1.0"
1569 | }
1570 | },
1571 | "change-case": {
1572 | "version": "4.1.2",
1573 | "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
1574 | "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
1575 | "dev": true,
1576 | "requires": {
1577 | "camel-case": "^4.1.2",
1578 | "capital-case": "^1.0.4",
1579 | "constant-case": "^3.0.4",
1580 | "dot-case": "^3.0.4",
1581 | "header-case": "^2.0.4",
1582 | "no-case": "^3.0.4",
1583 | "param-case": "^3.0.4",
1584 | "pascal-case": "^3.1.2",
1585 | "path-case": "^3.0.4",
1586 | "sentence-case": "^3.0.4",
1587 | "snake-case": "^3.0.4",
1588 | "tslib": "^2.0.3"
1589 | }
1590 | },
1591 | "chokidar": {
1592 | "version": "3.5.3",
1593 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
1594 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
1595 | "dev": true,
1596 | "requires": {
1597 | "anymatch": "~3.1.2",
1598 | "braces": "~3.0.2",
1599 | "fsevents": "~2.3.2",
1600 | "glob-parent": "~5.1.2",
1601 | "is-binary-path": "~2.1.0",
1602 | "is-glob": "~4.0.1",
1603 | "normalize-path": "~3.0.0",
1604 | "readdirp": "~3.6.0"
1605 | },
1606 | "dependencies": {
1607 | "glob-parent": {
1608 | "version": "5.1.2",
1609 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1610 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1611 | "dev": true,
1612 | "requires": {
1613 | "is-glob": "^4.0.1"
1614 | }
1615 | }
1616 | }
1617 | },
1618 | "color-convert": {
1619 | "version": "2.0.1",
1620 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1621 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1622 | "dev": true,
1623 | "requires": {
1624 | "color-name": "~1.1.4"
1625 | }
1626 | },
1627 | "color-name": {
1628 | "version": "1.1.4",
1629 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1630 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1631 | "dev": true
1632 | },
1633 | "commander": {
1634 | "version": "8.3.0",
1635 | "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
1636 | "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
1637 | "dev": true
1638 | },
1639 | "concat-map": {
1640 | "version": "0.0.1",
1641 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1642 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1643 | "dev": true
1644 | },
1645 | "constant-case": {
1646 | "version": "3.0.4",
1647 | "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
1648 | "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
1649 | "dev": true,
1650 | "requires": {
1651 | "no-case": "^3.0.4",
1652 | "tslib": "^2.0.3",
1653 | "upper-case": "^2.0.2"
1654 | }
1655 | },
1656 | "cssesc": {
1657 | "version": "3.0.0",
1658 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1659 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1660 | "dev": true
1661 | },
1662 | "defined": {
1663 | "version": "1.0.0",
1664 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
1665 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==",
1666 | "dev": true
1667 | },
1668 | "detective": {
1669 | "version": "5.2.1",
1670 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
1671 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
1672 | "dev": true,
1673 | "requires": {
1674 | "acorn-node": "^1.8.2",
1675 | "defined": "^1.0.0",
1676 | "minimist": "^1.2.6"
1677 | }
1678 | },
1679 | "didyoumean": {
1680 | "version": "1.2.2",
1681 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1682 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1683 | "dev": true
1684 | },
1685 | "dlv": {
1686 | "version": "1.1.3",
1687 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
1688 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1689 | "dev": true
1690 | },
1691 | "dot-case": {
1692 | "version": "3.0.4",
1693 | "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
1694 | "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
1695 | "dev": true,
1696 | "requires": {
1697 | "no-case": "^3.0.4",
1698 | "tslib": "^2.0.3"
1699 | }
1700 | },
1701 | "electron-to-chromium": {
1702 | "version": "1.4.247",
1703 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz",
1704 | "integrity": "sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==",
1705 | "dev": true
1706 | },
1707 | "escalade": {
1708 | "version": "3.1.1",
1709 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1710 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1711 | "dev": true
1712 | },
1713 | "fast-glob": {
1714 | "version": "3.2.12",
1715 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
1716 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
1717 | "dev": true,
1718 | "requires": {
1719 | "@nodelib/fs.stat": "^2.0.2",
1720 | "@nodelib/fs.walk": "^1.2.3",
1721 | "glob-parent": "^5.1.2",
1722 | "merge2": "^1.3.0",
1723 | "micromatch": "^4.0.4"
1724 | },
1725 | "dependencies": {
1726 | "glob-parent": {
1727 | "version": "5.1.2",
1728 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1729 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1730 | "dev": true,
1731 | "requires": {
1732 | "is-glob": "^4.0.1"
1733 | }
1734 | }
1735 | }
1736 | },
1737 | "fastq": {
1738 | "version": "1.13.0",
1739 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
1740 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
1741 | "dev": true,
1742 | "requires": {
1743 | "reusify": "^1.0.4"
1744 | }
1745 | },
1746 | "fill-range": {
1747 | "version": "7.0.1",
1748 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1749 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1750 | "dev": true,
1751 | "requires": {
1752 | "to-regex-range": "^5.0.1"
1753 | }
1754 | },
1755 | "fraction.js": {
1756 | "version": "4.2.0",
1757 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
1758 | "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
1759 | "dev": true
1760 | },
1761 | "fs-extra": {
1762 | "version": "10.1.0",
1763 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
1764 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
1765 | "dev": true,
1766 | "requires": {
1767 | "graceful-fs": "^4.2.0",
1768 | "jsonfile": "^6.0.1",
1769 | "universalify": "^2.0.0"
1770 | }
1771 | },
1772 | "fs.realpath": {
1773 | "version": "1.0.0",
1774 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1775 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1776 | "dev": true
1777 | },
1778 | "fsevents": {
1779 | "version": "2.3.2",
1780 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1781 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1782 | "dev": true,
1783 | "optional": true
1784 | },
1785 | "function-bind": {
1786 | "version": "1.1.1",
1787 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1788 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1789 | "dev": true
1790 | },
1791 | "glob": {
1792 | "version": "7.2.3",
1793 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1794 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1795 | "dev": true,
1796 | "requires": {
1797 | "fs.realpath": "^1.0.0",
1798 | "inflight": "^1.0.4",
1799 | "inherits": "2",
1800 | "minimatch": "^3.1.1",
1801 | "once": "^1.3.0",
1802 | "path-is-absolute": "^1.0.0"
1803 | }
1804 | },
1805 | "glob-parent": {
1806 | "version": "6.0.2",
1807 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1808 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1809 | "dev": true,
1810 | "requires": {
1811 | "is-glob": "^4.0.3"
1812 | }
1813 | },
1814 | "graceful-fs": {
1815 | "version": "4.2.10",
1816 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
1817 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
1818 | "dev": true
1819 | },
1820 | "has": {
1821 | "version": "1.0.3",
1822 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1823 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1824 | "dev": true,
1825 | "requires": {
1826 | "function-bind": "^1.1.1"
1827 | }
1828 | },
1829 | "has-flag": {
1830 | "version": "4.0.0",
1831 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1832 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1833 | "dev": true
1834 | },
1835 | "header-case": {
1836 | "version": "2.0.4",
1837 | "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
1838 | "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
1839 | "dev": true,
1840 | "requires": {
1841 | "capital-case": "^1.0.4",
1842 | "tslib": "^2.0.3"
1843 | }
1844 | },
1845 | "inflight": {
1846 | "version": "1.0.6",
1847 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1848 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1849 | "dev": true,
1850 | "requires": {
1851 | "once": "^1.3.0",
1852 | "wrappy": "1"
1853 | }
1854 | },
1855 | "inherits": {
1856 | "version": "2.0.4",
1857 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1858 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1859 | "dev": true
1860 | },
1861 | "is-binary-path": {
1862 | "version": "2.1.0",
1863 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1864 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1865 | "dev": true,
1866 | "requires": {
1867 | "binary-extensions": "^2.0.0"
1868 | }
1869 | },
1870 | "is-core-module": {
1871 | "version": "2.10.0",
1872 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
1873 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
1874 | "dev": true,
1875 | "requires": {
1876 | "has": "^1.0.3"
1877 | }
1878 | },
1879 | "is-extglob": {
1880 | "version": "2.1.1",
1881 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1882 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1883 | "dev": true
1884 | },
1885 | "is-glob": {
1886 | "version": "4.0.3",
1887 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1888 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1889 | "dev": true,
1890 | "requires": {
1891 | "is-extglob": "^2.1.1"
1892 | }
1893 | },
1894 | "is-number": {
1895 | "version": "7.0.0",
1896 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1897 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1898 | "dev": true
1899 | },
1900 | "json5": {
1901 | "version": "2.2.1",
1902 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
1903 | "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
1904 | "dev": true
1905 | },
1906 | "jsonc-parser": {
1907 | "version": "3.2.0",
1908 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
1909 | "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
1910 | "dev": true
1911 | },
1912 | "jsonfile": {
1913 | "version": "6.1.0",
1914 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
1915 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
1916 | "dev": true,
1917 | "requires": {
1918 | "graceful-fs": "^4.1.6",
1919 | "universalify": "^2.0.0"
1920 | }
1921 | },
1922 | "lilconfig": {
1923 | "version": "2.0.6",
1924 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
1925 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
1926 | "dev": true
1927 | },
1928 | "lodash": {
1929 | "version": "4.17.21",
1930 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1931 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
1932 | "dev": true
1933 | },
1934 | "lower-case": {
1935 | "version": "2.0.2",
1936 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
1937 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
1938 | "dev": true,
1939 | "requires": {
1940 | "tslib": "^2.0.3"
1941 | }
1942 | },
1943 | "merge2": {
1944 | "version": "1.4.1",
1945 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1946 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1947 | "dev": true
1948 | },
1949 | "micromatch": {
1950 | "version": "4.0.5",
1951 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
1952 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
1953 | "dev": true,
1954 | "requires": {
1955 | "braces": "^3.0.2",
1956 | "picomatch": "^2.3.1"
1957 | }
1958 | },
1959 | "minimatch": {
1960 | "version": "3.1.2",
1961 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1962 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1963 | "dev": true,
1964 | "requires": {
1965 | "brace-expansion": "^1.1.7"
1966 | }
1967 | },
1968 | "minimist": {
1969 | "version": "1.2.6",
1970 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
1971 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
1972 | "dev": true
1973 | },
1974 | "nanoid": {
1975 | "version": "3.3.4",
1976 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1977 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1978 | "dev": true
1979 | },
1980 | "no-case": {
1981 | "version": "3.0.4",
1982 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
1983 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
1984 | "dev": true,
1985 | "requires": {
1986 | "lower-case": "^2.0.2",
1987 | "tslib": "^2.0.3"
1988 | }
1989 | },
1990 | "node-releases": {
1991 | "version": "2.0.6",
1992 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
1993 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
1994 | "dev": true
1995 | },
1996 | "normalize-path": {
1997 | "version": "3.0.0",
1998 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1999 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2000 | "dev": true
2001 | },
2002 | "normalize-range": {
2003 | "version": "0.1.2",
2004 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
2005 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
2006 | "dev": true
2007 | },
2008 | "object-hash": {
2009 | "version": "3.0.0",
2010 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
2011 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
2012 | "dev": true
2013 | },
2014 | "once": {
2015 | "version": "1.4.0",
2016 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2017 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2018 | "dev": true,
2019 | "requires": {
2020 | "wrappy": "1"
2021 | }
2022 | },
2023 | "param-case": {
2024 | "version": "3.0.4",
2025 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
2026 | "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
2027 | "dev": true,
2028 | "requires": {
2029 | "dot-case": "^3.0.4",
2030 | "tslib": "^2.0.3"
2031 | }
2032 | },
2033 | "pascal-case": {
2034 | "version": "3.1.2",
2035 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
2036 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
2037 | "dev": true,
2038 | "requires": {
2039 | "no-case": "^3.0.4",
2040 | "tslib": "^2.0.3"
2041 | }
2042 | },
2043 | "path-case": {
2044 | "version": "3.0.4",
2045 | "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
2046 | "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
2047 | "dev": true,
2048 | "requires": {
2049 | "dot-case": "^3.0.4",
2050 | "tslib": "^2.0.3"
2051 | }
2052 | },
2053 | "path-is-absolute": {
2054 | "version": "1.0.1",
2055 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2056 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2057 | "dev": true
2058 | },
2059 | "path-parse": {
2060 | "version": "1.0.7",
2061 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2062 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2063 | "dev": true
2064 | },
2065 | "picocolors": {
2066 | "version": "1.0.0",
2067 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2068 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2069 | "dev": true
2070 | },
2071 | "picomatch": {
2072 | "version": "2.3.1",
2073 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2074 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2075 | "dev": true
2076 | },
2077 | "pify": {
2078 | "version": "2.3.0",
2079 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2080 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
2081 | "dev": true
2082 | },
2083 | "postcss": {
2084 | "version": "8.4.16",
2085 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
2086 | "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
2087 | "dev": true,
2088 | "requires": {
2089 | "nanoid": "^3.3.4",
2090 | "picocolors": "^1.0.0",
2091 | "source-map-js": "^1.0.2"
2092 | }
2093 | },
2094 | "postcss-import": {
2095 | "version": "14.1.0",
2096 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
2097 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
2098 | "dev": true,
2099 | "requires": {
2100 | "postcss-value-parser": "^4.0.0",
2101 | "read-cache": "^1.0.0",
2102 | "resolve": "^1.1.7"
2103 | }
2104 | },
2105 | "postcss-js": {
2106 | "version": "4.0.0",
2107 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
2108 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
2109 | "dev": true,
2110 | "requires": {
2111 | "camelcase-css": "^2.0.1"
2112 | }
2113 | },
2114 | "postcss-load-config": {
2115 | "version": "3.1.4",
2116 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
2117 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
2118 | "dev": true,
2119 | "requires": {
2120 | "lilconfig": "^2.0.5",
2121 | "yaml": "^1.10.2"
2122 | }
2123 | },
2124 | "postcss-nested": {
2125 | "version": "5.0.6",
2126 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
2127 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
2128 | "dev": true,
2129 | "requires": {
2130 | "postcss-selector-parser": "^6.0.6"
2131 | }
2132 | },
2133 | "postcss-selector-parser": {
2134 | "version": "6.0.10",
2135 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
2136 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
2137 | "dev": true,
2138 | "requires": {
2139 | "cssesc": "^3.0.0",
2140 | "util-deprecate": "^1.0.2"
2141 | }
2142 | },
2143 | "postcss-value-parser": {
2144 | "version": "4.2.0",
2145 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
2146 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
2147 | "dev": true
2148 | },
2149 | "queue-microtask": {
2150 | "version": "1.2.3",
2151 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2152 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2153 | "dev": true
2154 | },
2155 | "quick-lru": {
2156 | "version": "5.1.1",
2157 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
2158 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
2159 | "dev": true
2160 | },
2161 | "read-cache": {
2162 | "version": "1.0.0",
2163 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
2164 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
2165 | "dev": true,
2166 | "requires": {
2167 | "pify": "^2.3.0"
2168 | }
2169 | },
2170 | "readdirp": {
2171 | "version": "3.6.0",
2172 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2173 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2174 | "dev": true,
2175 | "requires": {
2176 | "picomatch": "^2.2.1"
2177 | }
2178 | },
2179 | "resolve": {
2180 | "version": "1.22.1",
2181 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2182 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2183 | "dev": true,
2184 | "requires": {
2185 | "is-core-module": "^2.9.0",
2186 | "path-parse": "^1.0.7",
2187 | "supports-preserve-symlinks-flag": "^1.0.0"
2188 | }
2189 | },
2190 | "reusify": {
2191 | "version": "1.0.4",
2192 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2193 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2194 | "dev": true
2195 | },
2196 | "run-parallel": {
2197 | "version": "1.2.0",
2198 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2199 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2200 | "dev": true,
2201 | "requires": {
2202 | "queue-microtask": "^1.2.2"
2203 | }
2204 | },
2205 | "sentence-case": {
2206 | "version": "3.0.4",
2207 | "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
2208 | "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
2209 | "dev": true,
2210 | "requires": {
2211 | "no-case": "^3.0.4",
2212 | "tslib": "^2.0.3",
2213 | "upper-case-first": "^2.0.2"
2214 | }
2215 | },
2216 | "snake-case": {
2217 | "version": "3.0.4",
2218 | "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
2219 | "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
2220 | "dev": true,
2221 | "requires": {
2222 | "dot-case": "^3.0.4",
2223 | "tslib": "^2.0.3"
2224 | }
2225 | },
2226 | "source-map-js": {
2227 | "version": "1.0.2",
2228 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2229 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2230 | "dev": true
2231 | },
2232 | "style-dictionary": {
2233 | "version": "3.7.1",
2234 | "resolved": "https://registry.npmjs.org/style-dictionary/-/style-dictionary-3.7.1.tgz",
2235 | "integrity": "sha512-yYU9Z/J8Znj9T9oJVjo8VOYamrOxv0UbBKPjhSt+PharxrhyQCM4RWb71fgEfv2pK9KO8G83/0ChDNQZ1mn0wQ==",
2236 | "dev": true,
2237 | "requires": {
2238 | "chalk": "^4.0.0",
2239 | "change-case": "^4.1.2",
2240 | "commander": "^8.3.0",
2241 | "fs-extra": "^10.0.0",
2242 | "glob": "^7.2.0",
2243 | "json5": "^2.2.0",
2244 | "jsonc-parser": "^3.0.0",
2245 | "lodash": "^4.17.15",
2246 | "tinycolor2": "^1.4.1"
2247 | }
2248 | },
2249 | "supports-color": {
2250 | "version": "7.2.0",
2251 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2252 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2253 | "dev": true,
2254 | "requires": {
2255 | "has-flag": "^4.0.0"
2256 | }
2257 | },
2258 | "supports-preserve-symlinks-flag": {
2259 | "version": "1.0.0",
2260 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2261 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2262 | "dev": true
2263 | },
2264 | "tailwindcss": {
2265 | "version": "3.1.8",
2266 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
2267 | "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
2268 | "dev": true,
2269 | "requires": {
2270 | "arg": "^5.0.2",
2271 | "chokidar": "^3.5.3",
2272 | "color-name": "^1.1.4",
2273 | "detective": "^5.2.1",
2274 | "didyoumean": "^1.2.2",
2275 | "dlv": "^1.1.3",
2276 | "fast-glob": "^3.2.11",
2277 | "glob-parent": "^6.0.2",
2278 | "is-glob": "^4.0.3",
2279 | "lilconfig": "^2.0.6",
2280 | "normalize-path": "^3.0.0",
2281 | "object-hash": "^3.0.0",
2282 | "picocolors": "^1.0.0",
2283 | "postcss": "^8.4.14",
2284 | "postcss-import": "^14.1.0",
2285 | "postcss-js": "^4.0.0",
2286 | "postcss-load-config": "^3.1.4",
2287 | "postcss-nested": "5.0.6",
2288 | "postcss-selector-parser": "^6.0.10",
2289 | "postcss-value-parser": "^4.2.0",
2290 | "quick-lru": "^5.1.1",
2291 | "resolve": "^1.22.1"
2292 | }
2293 | },
2294 | "tinycolor2": {
2295 | "version": "1.4.2",
2296 | "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
2297 | "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==",
2298 | "dev": true
2299 | },
2300 | "to-regex-range": {
2301 | "version": "5.0.1",
2302 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2303 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2304 | "dev": true,
2305 | "requires": {
2306 | "is-number": "^7.0.0"
2307 | }
2308 | },
2309 | "tslib": {
2310 | "version": "2.4.0",
2311 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
2312 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
2313 | "dev": true
2314 | },
2315 | "universalify": {
2316 | "version": "2.0.0",
2317 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
2318 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
2319 | "dev": true
2320 | },
2321 | "update-browserslist-db": {
2322 | "version": "1.0.7",
2323 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz",
2324 | "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==",
2325 | "dev": true,
2326 | "requires": {
2327 | "escalade": "^3.1.1",
2328 | "picocolors": "^1.0.0"
2329 | }
2330 | },
2331 | "upper-case": {
2332 | "version": "2.0.2",
2333 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
2334 | "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
2335 | "dev": true,
2336 | "requires": {
2337 | "tslib": "^2.0.3"
2338 | }
2339 | },
2340 | "upper-case-first": {
2341 | "version": "2.0.2",
2342 | "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
2343 | "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
2344 | "dev": true,
2345 | "requires": {
2346 | "tslib": "^2.0.3"
2347 | }
2348 | },
2349 | "util-deprecate": {
2350 | "version": "1.0.2",
2351 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2352 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2353 | "dev": true
2354 | },
2355 | "wrappy": {
2356 | "version": "1.0.2",
2357 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2358 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2359 | "dev": true
2360 | },
2361 | "xtend": {
2362 | "version": "4.0.2",
2363 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2364 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2365 | "dev": true
2366 | },
2367 | "yaml": {
2368 | "version": "1.10.2",
2369 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
2370 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
2371 | "dev": true
2372 | }
2373 | }
2374 | }
2375 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tailwind-to-style-dictionary",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "style-dictionary:build": "style-dictionary build --config ./style-dictionary.config.js"
9 | },
10 | "author": "",
11 | "license": "ISC",
12 | "devDependencies": {
13 | "autoprefixer": "^10.4.9",
14 | "postcss": "^8.4.16",
15 | "style-dictionary": "^3.7.1",
16 | "tailwindcss": "^3.1.8"
17 | },
18 | "dependencies": {
19 | "@divriots/style-dictionary-to-figma": "^0.3.2"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/scss/_variables.scss:
--------------------------------------------------------------------------------
1 |
2 | // Do not edit directly
3 | // Generated on Mon, 12 Sep 2022 15:35:36 GMT
4 |
5 | $colors-inherit: inherit;
6 | $colors-current: currentColor;
7 | $colors-transparent: transparent;
8 | $colors-black: #000;
9 | $colors-white: #fff;
10 | $colors-slate-50: #f8fafc;
11 | $colors-slate-100: #f1f5f9;
12 | $colors-slate-200: #e2e8f0;
13 | $colors-slate-300: #cbd5e1;
14 | $colors-slate-400: #94a3b8;
15 | $colors-slate-500: #64748b;
16 | $colors-slate-600: #475569;
17 | $colors-slate-700: #334155;
18 | $colors-slate-800: #1e293b;
19 | $colors-slate-900: #0f172a;
20 | $colors-gray-50: #f9fafb;
21 | $colors-gray-100: #f3f4f6;
22 | $colors-gray-200: #e5e7eb;
23 | $colors-gray-300: #d1d5db;
24 | $colors-gray-400: #9ca3af;
25 | $colors-gray-500: #6b7280;
26 | $colors-gray-600: #4b5563;
27 | $colors-gray-700: #374151;
28 | $colors-gray-800: #1f2937;
29 | $colors-gray-900: #111827;
30 | $colors-zinc-50: #fafafa;
31 | $colors-zinc-100: #f4f4f5;
32 | $colors-zinc-200: #e4e4e7;
33 | $colors-zinc-300: #d4d4d8;
34 | $colors-zinc-400: #a1a1aa;
35 | $colors-zinc-500: #71717a;
36 | $colors-zinc-600: #52525b;
37 | $colors-zinc-700: #3f3f46;
38 | $colors-zinc-800: #27272a;
39 | $colors-zinc-900: #18181b;
40 | $colors-neutral-50: #fafafa;
41 | $colors-neutral-100: #f5f5f5;
42 | $colors-neutral-200: #e5e5e5;
43 | $colors-neutral-300: #d4d4d4;
44 | $colors-neutral-400: #a3a3a3;
45 | $colors-neutral-500: #737373;
46 | $colors-neutral-600: #525252;
47 | $colors-neutral-700: #404040;
48 | $colors-neutral-800: #262626;
49 | $colors-neutral-900: #171717;
50 | $colors-stone-50: #fafaf9;
51 | $colors-stone-100: #f5f5f4;
52 | $colors-stone-200: #e7e5e4;
53 | $colors-stone-300: #d6d3d1;
54 | $colors-stone-400: #a8a29e;
55 | $colors-stone-500: #78716c;
56 | $colors-stone-600: #57534e;
57 | $colors-stone-700: #44403c;
58 | $colors-stone-800: #292524;
59 | $colors-stone-900: #1c1917;
60 | $colors-red-50: #fef2f2;
61 | $colors-red-100: #fee2e2;
62 | $colors-red-200: #fecaca;
63 | $colors-red-300: #fca5a5;
64 | $colors-red-400: #f87171;
65 | $colors-red-500: #ef4444;
66 | $colors-red-600: #dc2626;
67 | $colors-red-700: #b91c1c;
68 | $colors-red-800: #991b1b;
69 | $colors-red-900: #7f1d1d;
70 | $colors-orange-50: #fff7ed;
71 | $colors-orange-100: #ffedd5;
72 | $colors-orange-200: #fed7aa;
73 | $colors-orange-300: #fdba74;
74 | $colors-orange-400: #fb923c;
75 | $colors-orange-500: #f97316;
76 | $colors-orange-600: #ea580c;
77 | $colors-orange-700: #c2410c;
78 | $colors-orange-800: #9a3412;
79 | $colors-orange-900: #7c2d12;
80 | $colors-amber-50: #fffbeb;
81 | $colors-amber-100: #fef3c7;
82 | $colors-amber-200: #fde68a;
83 | $colors-amber-300: #fcd34d;
84 | $colors-amber-400: #fbbf24;
85 | $colors-amber-500: #f59e0b;
86 | $colors-amber-600: #d97706;
87 | $colors-amber-700: #b45309;
88 | $colors-amber-800: #92400e;
89 | $colors-amber-900: #78350f;
90 | $colors-yellow-50: #fefce8;
91 | $colors-yellow-100: #fef9c3;
92 | $colors-yellow-200: #fef08a;
93 | $colors-yellow-300: #fde047;
94 | $colors-yellow-400: #facc15;
95 | $colors-yellow-500: #eab308;
96 | $colors-yellow-600: #ca8a04;
97 | $colors-yellow-700: #a16207;
98 | $colors-yellow-800: #854d0e;
99 | $colors-yellow-900: #713f12;
100 | $colors-lime-50: #f7fee7;
101 | $colors-lime-100: #ecfccb;
102 | $colors-lime-200: #d9f99d;
103 | $colors-lime-300: #bef264;
104 | $colors-lime-400: #a3e635;
105 | $colors-lime-500: #84cc16;
106 | $colors-lime-600: #65a30d;
107 | $colors-lime-700: #4d7c0f;
108 | $colors-lime-800: #3f6212;
109 | $colors-lime-900: #365314;
110 | $colors-green-50: #f0fdf4;
111 | $colors-green-100: #dcfce7;
112 | $colors-green-200: #bbf7d0;
113 | $colors-green-300: #86efac;
114 | $colors-green-400: #4ade80;
115 | $colors-green-500: #22c55e;
116 | $colors-green-600: #16a34a;
117 | $colors-green-700: #15803d;
118 | $colors-green-800: #166534;
119 | $colors-green-900: #14532d;
120 | $colors-emerald-50: #ecfdf5;
121 | $colors-emerald-100: #d1fae5;
122 | $colors-emerald-200: #a7f3d0;
123 | $colors-emerald-300: #6ee7b7;
124 | $colors-emerald-400: #34d399;
125 | $colors-emerald-500: #10b981;
126 | $colors-emerald-600: #059669;
127 | $colors-emerald-700: #047857;
128 | $colors-emerald-800: #065f46;
129 | $colors-emerald-900: #064e3b;
130 | $colors-teal-50: #f0fdfa;
131 | $colors-teal-100: #ccfbf1;
132 | $colors-teal-200: #99f6e4;
133 | $colors-teal-300: #5eead4;
134 | $colors-teal-400: #2dd4bf;
135 | $colors-teal-500: #14b8a6;
136 | $colors-teal-600: #0d9488;
137 | $colors-teal-700: #0f766e;
138 | $colors-teal-800: #115e59;
139 | $colors-teal-900: #134e4a;
140 | $colors-cyan-50: #ecfeff;
141 | $colors-cyan-100: #cffafe;
142 | $colors-cyan-200: #a5f3fc;
143 | $colors-cyan-300: #67e8f9;
144 | $colors-cyan-400: #22d3ee;
145 | $colors-cyan-500: #06b6d4;
146 | $colors-cyan-600: #0891b2;
147 | $colors-cyan-700: #0e7490;
148 | $colors-cyan-800: #155e75;
149 | $colors-cyan-900: #164e63;
150 | $colors-sky-50: #f0f9ff;
151 | $colors-sky-100: #e0f2fe;
152 | $colors-sky-200: #bae6fd;
153 | $colors-sky-300: #7dd3fc;
154 | $colors-sky-400: #38bdf8;
155 | $colors-sky-500: #0ea5e9;
156 | $colors-sky-600: #0284c7;
157 | $colors-sky-700: #0369a1;
158 | $colors-sky-800: #075985;
159 | $colors-sky-900: #0c4a6e;
160 | $colors-blue-50: #eff6ff;
161 | $colors-blue-100: #dbeafe;
162 | $colors-blue-200: #bfdbfe;
163 | $colors-blue-300: #93c5fd;
164 | $colors-blue-400: #60a5fa;
165 | $colors-blue-500: #3b82f6;
166 | $colors-blue-600: #2563eb;
167 | $colors-blue-700: #1d4ed8;
168 | $colors-blue-800: #1e40af;
169 | $colors-blue-900: #1e3a8a;
170 | $colors-indigo-50: #eef2ff;
171 | $colors-indigo-100: #e0e7ff;
172 | $colors-indigo-200: #c7d2fe;
173 | $colors-indigo-300: #a5b4fc;
174 | $colors-indigo-400: #818cf8;
175 | $colors-indigo-500: #6366f1;
176 | $colors-indigo-600: #4f46e5;
177 | $colors-indigo-700: #4338ca;
178 | $colors-indigo-800: #3730a3;
179 | $colors-indigo-900: #312e81;
180 | $colors-violet-50: #f5f3ff;
181 | $colors-violet-100: #ede9fe;
182 | $colors-violet-200: #ddd6fe;
183 | $colors-violet-300: #c4b5fd;
184 | $colors-violet-400: #a78bfa;
185 | $colors-violet-500: #8b5cf6;
186 | $colors-violet-600: #7c3aed;
187 | $colors-violet-700: #6d28d9;
188 | $colors-violet-800: #5b21b6;
189 | $colors-violet-900: #4c1d95;
190 | $colors-purple-50: #faf5ff;
191 | $colors-purple-100: #f3e8ff;
192 | $colors-purple-200: #e9d5ff;
193 | $colors-purple-300: #d8b4fe;
194 | $colors-purple-400: #c084fc;
195 | $colors-purple-500: #a855f7;
196 | $colors-purple-600: #9333ea;
197 | $colors-purple-700: #7e22ce;
198 | $colors-purple-800: #6b21a8;
199 | $colors-purple-900: #581c87;
200 | $colors-fuchsia-50: #fdf4ff;
201 | $colors-fuchsia-100: #fae8ff;
202 | $colors-fuchsia-200: #f5d0fe;
203 | $colors-fuchsia-300: #f0abfc;
204 | $colors-fuchsia-400: #e879f9;
205 | $colors-fuchsia-500: #d946ef;
206 | $colors-fuchsia-600: #c026d3;
207 | $colors-fuchsia-700: #a21caf;
208 | $colors-fuchsia-800: #86198f;
209 | $colors-fuchsia-900: #701a75;
210 | $colors-pink-50: #fdf2f8;
211 | $colors-pink-100: #fce7f3;
212 | $colors-pink-200: #fbcfe8;
213 | $colors-pink-300: #f9a8d4;
214 | $colors-pink-400: #f472b6;
215 | $colors-pink-500: #ec4899;
216 | $colors-pink-600: #db2777;
217 | $colors-pink-700: #be185d;
218 | $colors-pink-800: #9d174d;
219 | $colors-pink-900: #831843;
220 | $colors-rose-50: #fff1f2;
221 | $colors-rose-100: #ffe4e6;
222 | $colors-rose-200: #fecdd3;
223 | $colors-rose-300: #fda4af;
224 | $colors-rose-400: #fb7185;
225 | $colors-rose-500: #f43f5e;
226 | $colors-rose-600: #e11d48;
227 | $colors-rose-700: #be123c;
228 | $colors-rose-800: #9f1239;
229 | $colors-rose-900: #881337;
230 | $spacing-0: 0px;
231 | $spacing-1: 0.25rem;
232 | $spacing-2: 0.5rem;
233 | $spacing-3: 0.75rem;
234 | $spacing-4: 1rem;
235 | $spacing-5: 1.25rem;
236 | $spacing-6: 1.5rem;
237 | $spacing-7: 1.75rem;
238 | $spacing-8: 2rem;
239 | $spacing-9: 2.25rem;
240 | $spacing-10: 2.5rem;
241 | $spacing-11: 2.75rem;
242 | $spacing-12: 3rem;
243 | $spacing-14: 3.5rem;
244 | $spacing-16: 4rem;
245 | $spacing-20: 5rem;
246 | $spacing-24: 6rem;
247 | $spacing-28: 7rem;
248 | $spacing-32: 8rem;
249 | $spacing-36: 9rem;
250 | $spacing-40: 10rem;
251 | $spacing-44: 11rem;
252 | $spacing-48: 12rem;
253 | $spacing-52: 13rem;
254 | $spacing-56: 14rem;
255 | $spacing-60: 15rem;
256 | $spacing-64: 16rem;
257 | $spacing-72: 18rem;
258 | $spacing-80: 20rem;
259 | $spacing-96: 24rem;
260 | $spacing-px: 1px;
261 | $spacing-0-5: 0.125rem;
262 | $spacing-1-5: 0.375rem;
263 | $spacing-2-5: 0.625rem;
264 | $spacing-3-5: 0.875rem;
265 | $font-family-sans: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
266 | $font-family-serif: ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
267 | $font-family-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
--------------------------------------------------------------------------------
/style-dictionary.config.js:
--------------------------------------------------------------------------------
1 | const resolveConfig = require("tailwindcss/resolveConfig");
2 | const tailwindConfig = require("./tailwind.config.js");
3 | const _ = require("lodash");
4 | const { transform } = require("@divriots/style-dictionary-to-figma");
5 | // const StyleDictionary = require("style-dictionary");
6 |
7 | // StyleDictionary.registerFormat({
8 | // name: "figmaTokensPlugin",
9 | // formatter: ({ dictionary }) => {
10 | // const transformedTokens = transform(dictionary.tokens);
11 | // return JSON.stringify(transformedTokens, null, 2);
12 | // },
13 | // });
14 |
15 | // Grab just the theme data from the Tailwind config.
16 | const { theme } = resolveConfig(tailwindConfig);
17 |
18 | // Create an empty object to hold our transformed tokens data.
19 | const tokens = {};
20 |
21 | // A helper function that uses Lodash's setWidth method to
22 | // insert things into an object at the right point in the
23 | // structure, and to create the right structure for us
24 | // if it doesn't already exist.
25 | const addToTokensObject = function (position, value, attr = null) {
26 | _.setWith(tokens, position, { value: value, ...attr }, Object);
27 | };
28 |
29 | // Loop over the theme data…
30 | _.forEach(theme, function (value, key) {
31 | switch (key) {
32 | case "fontFamily":
33 | // Font family data is in an array, so we use join to
34 | // turn the font families into a single string.
35 | _.forEach(theme["fontFamily"], function (value, key) {
36 | addToTokensObject(
37 | ["fontFamily", key],
38 | theme["fontFamily"][key].join(",")
39 | );
40 | });
41 | break;
42 |
43 | case "fontSize":
44 | // Font size data contains both the font size (makes
45 | // sense!) but also a recommended line-length, so we
46 | // create two tokens for every font size, one for the
47 | // font-size value and one for the line-height.
48 | _.forEach(theme["fontSize"], function (value, key) {
49 | addToTokensObject(["fontSize", key], value[0]);
50 | addToTokensObject(
51 | ["fontSize", `${key}--lineHeight`],
52 | value[1]["lineHeight"]
53 | );
54 | });
55 | break;
56 |
57 | case "lineHeight":
58 | _.forEach(theme["lineHeight"], function (value, key) {
59 | // convert rem to px
60 | const valuePx = parseFloat(value) * 16;
61 | addToTokensObject(["lineHeights", key], valuePx, {
62 | type: "lineHeights",
63 | });
64 | });
65 | break;
66 |
67 | default:
68 | _.forEach(value, function (value, secondLevelKey) {
69 | if (!_.isObject(value)) {
70 | // For non-objects (simple key/value pairs) we can
71 | // add them straight into our tokens object.
72 | addToTokensObject([key, secondLevelKey], value);
73 | } else {
74 | // Skip 'raw' CSS media queries.
75 | if (!_.isUndefined(value["raw"])) {
76 | return;
77 | }
78 |
79 | // For objects (like color shades) we need to do a
80 | // final forOwn loop to make sure we add everything
81 | // in the right format.
82 | _.forEach(value, function (value, thirdLevelKey) {
83 | addToTokensObject([key, secondLevelKey, thirdLevelKey], value);
84 | });
85 | }
86 | });
87 | break;
88 | }
89 | });
90 |
91 | const limitedFilter = (token) =>
92 | ["colors", "spacing", "fontFamily"].includes(token.attributes.category);
93 |
94 | const fullFilter = (token) =>
95 | [
96 | "screens",
97 | "colors",
98 | "spacing",
99 | "opacity",
100 | "borderRadius",
101 | "borderWidth",
102 | "boxShadow",
103 | "fontFamily",
104 | "fontSize",
105 | "fontWeight",
106 | "letterSpacing",
107 | "lineHeights",
108 | "maxWidth",
109 | "zIndex",
110 | "scale",
111 | "transitionProperty",
112 | "transitionTimingFunction",
113 | "transitionDuration",
114 | "transitionDelay",
115 | "animation",
116 | ].includes(token.attributes.category);
117 |
118 | module.exports = {
119 | tokens,
120 | source: ["**/*.tokens.json"],
121 | format: {
122 | figmaTokensPlugin: ({ dictionary }) => {
123 | const transformedTokens = transform(dictionary.tokens);
124 | return JSON.stringify(transformedTokens, null, 2);
125 | },
126 | },
127 | platforms: {
128 | json: {
129 | transformGroup: "js",
130 | buildPath: "tokens/",
131 | files: [
132 | {
133 | format: "figmaTokensPlugin",
134 | destination: "tokens.json",
135 | filter: fullFilter,
136 | options: {
137 | outputReferences: true,
138 | },
139 | },
140 | ],
141 | },
142 | js: {
143 | transformGroup: "js",
144 | buildPath: "dist/js/",
145 | files: [
146 | {
147 | format: "javascript/module",
148 | destination: "tokens.js",
149 | filter: fullFilter,
150 | options: {
151 | outputReferences: true,
152 | },
153 | },
154 | ],
155 | },
156 | css: {
157 | transformGroup: "css",
158 | buildPath: "dist/css/",
159 | files: [
160 | {
161 | format: "css/variables",
162 | destination: "variables.css",
163 | filter: fullFilter,
164 | },
165 | ],
166 | },
167 | scss: {
168 | transformGroup: "scss",
169 | buildPath: "src/scss/",
170 | files: [
171 | {
172 | destination: "_variables.scss",
173 | format: "scss/variables",
174 | filter: limitedFilter,
175 | },
176 | ],
177 | },
178 | },
179 | };
180 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: [],
4 | theme: {
5 | extend: {},
6 | },
7 | plugins: [],
8 | }
9 |
--------------------------------------------------------------------------------