@breadstone/mosaik-themes 0.0.172 → 0.0.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/Index.d.ts +5 -0
  3. package/Index.d.ts.map +1 -1
  4. package/Index.js +4 -0
  5. package/Index.js.map +1 -1
  6. package/Themes/___bootstrap-tokens.css +91 -0
  7. package/Themes/___cosmopolitan-tokens.css +213 -0
  8. package/Themes/___fluent-tokens.css +30 -0
  9. package/Themes/___joy-tokens.css +500 -0
  10. package/Themes/___material-tokens.css +22 -0
  11. package/Themes/___memphis-tokens.css +392 -0
  12. package/Themes/bootstrap-tokens.scss +89 -0
  13. package/Themes/bootstrap-tokens.tailwind.js +8 -0
  14. package/Themes/cosmopolitan-tokens.scss +211 -0
  15. package/Themes/cosmopolitan-tokens.tailwind.js +32 -0
  16. package/Themes/fluent-tokens.scss +28 -0
  17. package/Themes/fluent-tokens.tailwind.js +8 -0
  18. package/Themes/joy-tokens.scss +498 -0
  19. package/Themes/joy-tokens.tailwind.js +52 -0
  20. package/Themes/joy.scss +0 -1
  21. package/Themes/material-tokens.scss +20 -0
  22. package/Themes/material-tokens.tailwind.js +8 -0
  23. package/Themes/memphis-tokens.scss +390 -0
  24. package/Themes/memphis-tokens.tailwind.js +192 -0
  25. package/Themes/memphis.scss +1 -0
  26. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts +16 -0
  27. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.d.ts.map +1 -0
  28. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.js +50 -0
  29. package/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.js.map +1 -0
  30. package/Theming/Strategies/IThemeGeneratorStrategy.d.ts +27 -0
  31. package/Theming/Strategies/IThemeGeneratorStrategy.d.ts.map +1 -0
  32. package/Theming/Strategies/IThemeGeneratorStrategy.js +3 -0
  33. package/Theming/Strategies/IThemeGeneratorStrategy.js.map +1 -0
  34. package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts +17 -0
  35. package/Theming/Strategies/JoyThemeGeneratorStrategy.d.ts.map +1 -0
  36. package/Theming/Strategies/JoyThemeGeneratorStrategy.js +27 -0
  37. package/Theming/Strategies/JoyThemeGeneratorStrategy.js.map +1 -0
  38. package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts +15 -0
  39. package/Theming/Strategies/MaterialThemeGeneratorStrategy.d.ts.map +1 -0
  40. package/Theming/Strategies/MaterialThemeGeneratorStrategy.js +86 -0
  41. package/Theming/Strategies/MaterialThemeGeneratorStrategy.js.map +1 -0
  42. package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts +17 -0
  43. package/Theming/Strategies/MemphisThemeGeneratorStrategy.d.ts.map +1 -0
  44. package/Theming/Strategies/MemphisThemeGeneratorStrategy.js +27 -0
  45. package/Theming/Strategies/MemphisThemeGeneratorStrategy.js.map +1 -0
  46. package/Theming/Strategies/index.d.ts +6 -0
  47. package/Theming/Strategies/index.d.ts.map +1 -0
  48. package/Theming/Strategies/index.js +7 -0
  49. package/Theming/Strategies/index.js.map +1 -0
  50. package/Theming/ThemeGenerator.d.ts +3 -8
  51. package/Theming/ThemeGenerator.d.ts.map +1 -1
  52. package/Theming/ThemeGenerator.js +29 -137
  53. package/Theming/ThemeGenerator.js.map +1 -1
  54. package/Theming/Tokens/JoyTokens.d.ts +0 -1
  55. package/Theming/Tokens/JoyTokens.d.ts.map +1 -1
  56. package/Theming/Tokens/JoyTokens.js +0 -1
  57. package/Theming/Tokens/JoyTokens.js.map +1 -1
  58. package/Theming/Tokens/MemphisTokens.d.ts +1 -0
  59. package/Theming/Tokens/MemphisTokens.d.ts.map +1 -1
  60. package/Theming/Tokens/MemphisTokens.js +1 -0
  61. package/Theming/Tokens/MemphisTokens.js.map +1 -1
  62. package/package.json +27 -3
  63. package/tailwind/v3/bootstrap-tokens.tailwind.js +41 -0
  64. package/tailwind/v3/cosmopolitan-tokens.tailwind.js +286 -0
  65. package/tailwind/v3/fluent-tokens.tailwind.js +39 -0
  66. package/tailwind/v3/joy-tokens.tailwind.js +562 -0
  67. package/tailwind/v3/material-tokens.tailwind.js +29 -0
  68. package/tailwind/v3/memphis-tokens.tailwind.js +410 -0
@@ -0,0 +1,390 @@
1
+ $name: "memphis";
2
+ $font-family: Nunito, sans-serif;
3
+ $layout-radius: 0px;
4
+ $layout-space: 10px;
5
+ $layout-thickness: 3px;
6
+ $scheme-light-background: #eaeaea;
7
+ $scheme-light-foreground: #3c454f;
8
+ $scheme-light-highlight: #d1d1d1;
9
+ $scheme-light-middlelight: #8a8a8a;
10
+ $scheme-light-lowlight: #5c5c5c;
11
+ $scheme-light-transparent: rgba(255, 255, 255, 0);
12
+ $scheme-light-semi-transparent: rgba(255, 255, 255, 0.67);
13
+ $scheme-light-disabled: #686868;
14
+ $scheme-light-contrast: #333333;
15
+ $scheme-dark-background: #151515;
16
+ $scheme-dark-foreground: #c3bab0;
17
+ $scheme-dark-highlight: #2e2e2e;
18
+ $scheme-dark-middlelight: #757575;
19
+ $scheme-dark-lowlight: #a3a3a3;
20
+ $scheme-dark-transparent: rgba(255, 255, 255, 0);
21
+ $scheme-dark-semi-transparent: rgba(0, 0, 0, 0.67);
22
+ $scheme-dark-disabled: #474747;
23
+ $scheme-dark-contrast: #ffffff;
24
+ $color-light-primary-0: #ffffff;
25
+ $color-light-primary-50: #f9f9f9;
26
+ $color-light-primary-100: #f2f2f2;
27
+ $color-light-primary-200: #e8e8e8;
28
+ $color-light-primary-300: #d8d8d8;
29
+ $color-light-primary-400: #b4b4b4;
30
+ $color-light-primary-500: #949494;
31
+ $color-light-primary-600: #6c6c6c;
32
+ $color-light-primary-700: #595959;
33
+ $color-light-primary-800: #3a3a3a;
34
+ $color-light-primary-900: #1a1a1a;
35
+ $color-light-secondary-0: #ffffff;
36
+ $color-light-secondary-50: #e1f3ef;
37
+ $color-light-secondary-100: #b5e0d6;
38
+ $color-light-secondary-200: #85cdbc;
39
+ $color-light-secondary-300: #57b9a2;
40
+ $color-light-secondary-400: #38a990;
41
+ $color-light-secondary-500: #24997e;
42
+ $color-light-secondary-600: #208c71;
43
+ $color-light-secondary-700: #1b7c62;
44
+ $color-light-secondary-800: #166c54;
45
+ $color-light-secondary-900: #0d503a;
46
+ $color-light-info-0: #ffffff;
47
+ $color-light-info-50: #e8eaf9;
48
+ $color-light-info-100: #c6c9f1;
49
+ $color-light-info-200: #9fa7e7;
50
+ $color-light-info-300: #7884dd;
51
+ $color-light-info-400: #5968d6;
52
+ $color-light-info-500: #394dcd;
53
+ $color-light-info-600: #3344c2;
54
+ $color-light-info-700: #293ab6;
55
+ $color-light-info-800: #202faa;
56
+ $color-light-info-900: #0a1a97;
57
+ $color-light-warning-0: #ffffff;
58
+ $color-light-warning-50: #fcfce5;
59
+ $color-light-warning-100: #f7f6bf;
60
+ $color-light-warning-200: #f1f294;
61
+ $color-light-warning-300: #ebec67;
62
+ $color-light-warning-400: #e5e741;
63
+ $color-light-warning-500: #dfe300;
64
+ $color-light-warning-600: #d1d100;
65
+ $color-light-warning-700: #bfba00;
66
+ $color-light-warning-800: #aea300;
67
+ $color-light-warning-900: #927c00;
68
+ $color-light-danger-0: #ffffff;
69
+ $color-light-danger-50: #fcecef;
70
+ $color-light-danger-100: #f8d0d5;
71
+ $color-light-danger-200: #e69fa1;
72
+ $color-light-danger-300: #d97b7d;
73
+ $color-light-danger-400: #e35f5f;
74
+ $color-light-danger-500: #e8524a;
75
+ $color-light-danger-600: #d94a47;
76
+ $color-light-danger-700: #c74141;
77
+ $color-light-danger-800: #b93c3a;
78
+ $color-light-danger-900: #ab322f;
79
+ $color-light-success-0: #ffffff;
80
+ $color-light-success-50: #e1f3ef;
81
+ $color-light-success-100: #b5e0d6;
82
+ $color-light-success-200: #85cdbc;
83
+ $color-light-success-300: #57b9a2;
84
+ $color-light-success-400: #38a990;
85
+ $color-light-success-500: #24997e;
86
+ $color-light-success-600: #208c71;
87
+ $color-light-success-700: #1b7c62;
88
+ $color-light-success-800: #166c54;
89
+ $color-light-success-900: #0d503a;
90
+ $color-light-neutral-0: #ffffff;
91
+ $color-light-neutral-50: #f9f9f9;
92
+ $color-light-neutral-100: #f2f2f2;
93
+ $color-light-neutral-200: #e8e8e8;
94
+ $color-light-neutral-300: #d8d8d8;
95
+ $color-light-neutral-400: #b4b4b4;
96
+ $color-light-neutral-500: #949494;
97
+ $color-light-neutral-600: #6c6c6c;
98
+ $color-light-neutral-700: #595959;
99
+ $color-light-neutral-800: #3a3a3a;
100
+ $color-light-neutral-900: #1a1a1a;
101
+ $color-dark-primary-0: #000000;
102
+ $color-dark-primary-50: #1a1a1a;
103
+ $color-dark-primary-100: #3a3a3a;
104
+ $color-dark-primary-200: #595959;
105
+ $color-dark-primary-300: #6c6c6c;
106
+ $color-dark-primary-400: #949494;
107
+ $color-dark-primary-500: #b4b4b4;
108
+ $color-dark-primary-600: #d8d8d8;
109
+ $color-dark-primary-700: #e8e8e8;
110
+ $color-dark-primary-800: #f2f2f2;
111
+ $color-dark-primary-900: #f9f9f9;
112
+ $color-dark-secondary-0: #000000;
113
+ $color-dark-secondary-50: #0d503a;
114
+ $color-dark-secondary-100: #166c54;
115
+ $color-dark-secondary-200: #1b7c62;
116
+ $color-dark-secondary-300: #208c71;
117
+ $color-dark-secondary-400: #24997e;
118
+ $color-dark-secondary-500: #38a990;
119
+ $color-dark-secondary-600: #57b9a2;
120
+ $color-dark-secondary-700: #85cdbc;
121
+ $color-dark-secondary-800: #b5e0d6;
122
+ $color-dark-secondary-900: #e1f3ef;
123
+ $color-dark-info-0: #000000;
124
+ $color-dark-info-50: #0a1a97;
125
+ $color-dark-info-100: #202faa;
126
+ $color-dark-info-200: #293ab6;
127
+ $color-dark-info-300: #3344c2;
128
+ $color-dark-info-400: #394dcd;
129
+ $color-dark-info-500: #5968d6;
130
+ $color-dark-info-600: #7884dd;
131
+ $color-dark-info-700: #9fa7e7;
132
+ $color-dark-info-800: #c6c9f1;
133
+ $color-dark-info-900: #e8eaf9;
134
+ $color-dark-warning-0: #000000;
135
+ $color-dark-warning-50: #927c00;
136
+ $color-dark-warning-100: #aea300;
137
+ $color-dark-warning-200: #bfba00;
138
+ $color-dark-warning-300: #d1d100;
139
+ $color-dark-warning-400: #dfe300;
140
+ $color-dark-warning-500: #e5e741;
141
+ $color-dark-warning-600: #ebec67;
142
+ $color-dark-warning-700: #f1f294;
143
+ $color-dark-warning-800: #f7f6bf;
144
+ $color-dark-warning-900: #fcfce5;
145
+ $color-dark-danger-0: #000000;
146
+ $color-dark-danger-50: #ab322f;
147
+ $color-dark-danger-100: #b93c3a;
148
+ $color-dark-danger-200: #c74141;
149
+ $color-dark-danger-300: #d94a47;
150
+ $color-dark-danger-400: #e8524a;
151
+ $color-dark-danger-500: #e35f5f;
152
+ $color-dark-danger-600: #d97b7d;
153
+ $color-dark-danger-700: #e69fa1;
154
+ $color-dark-danger-800: #f8d0d5;
155
+ $color-dark-danger-900: #fcecef;
156
+ $color-dark-success-0: #000000;
157
+ $color-dark-success-50: #0d503a;
158
+ $color-dark-success-100: #166c54;
159
+ $color-dark-success-200: #1b7c62;
160
+ $color-dark-success-300: #208c71;
161
+ $color-dark-success-400: #24997e;
162
+ $color-dark-success-500: #38a990;
163
+ $color-dark-success-600: #57b9a2;
164
+ $color-dark-success-700: #85cdbc;
165
+ $color-dark-success-800: #b5e0d6;
166
+ $color-dark-success-900: #e1f3ef;
167
+ $color-dark-neutral-0: #000000;
168
+ $color-dark-neutral-50: #1a1a1a;
169
+ $color-dark-neutral-100: #3a3a3a;
170
+ $color-dark-neutral-200: #595959;
171
+ $color-dark-neutral-300: #6c6c6c;
172
+ $color-dark-neutral-400: #949494;
173
+ $color-dark-neutral-500: #b4b4b4;
174
+ $color-dark-neutral-600: #d8d8d8;
175
+ $color-dark-neutral-700: #e8e8e8;
176
+ $color-dark-neutral-800: #f2f2f2;
177
+ $color-dark-neutral-900: #f9f9f9;
178
+ $typography-headline1-font-size: 96px;
179
+ $typography-headline1-line-height: 100px;
180
+ $typography-headline1-font-weight: 300;
181
+ $typography-headline1-letter-spacing: -0.25px;
182
+ $typography-headline1-text-decoration: none;
183
+ $typography-headline1-text-transform: none;
184
+ $typography-headline2-font-size: 60px;
185
+ $typography-headline2-line-height: 64px;
186
+ $typography-headline2-font-weight: 300;
187
+ $typography-headline2-letter-spacing: -0.13333333333333333px;
188
+ $typography-headline2-text-decoration: none;
189
+ $typography-headline2-text-transform: none;
190
+ $typography-headline3-font-size: 48px;
191
+ $typography-headline3-line-height: 52px;
192
+ $typography-headline3-font-weight: 400;
193
+ $typography-headline3-letter-spacing: normal;
194
+ $typography-headline3-text-decoration: none;
195
+ $typography-headline3-text-transform: none;
196
+ $typography-headline4-font-size: 34px;
197
+ $typography-headline4-line-height: 38px;
198
+ $typography-headline4-font-weight: 400;
199
+ $typography-headline4-letter-spacing: 0.11764705882352941px;
200
+ $typography-headline4-text-decoration: none;
201
+ $typography-headline4-text-transform: none;
202
+ $typography-headline5-font-size: 24px;
203
+ $typography-headline5-line-height: 28px;
204
+ $typography-headline5-font-weight: 400;
205
+ $typography-headline5-letter-spacing: normal;
206
+ $typography-headline5-text-decoration: none;
207
+ $typography-headline5-text-transform: none;
208
+ $typography-headline6-font-size: 20px;
209
+ $typography-headline6-line-height: 24px;
210
+ $typography-headline6-font-weight: 500;
211
+ $typography-headline6-letter-spacing: 0.2px;
212
+ $typography-headline6-text-decoration: none;
213
+ $typography-headline6-text-transform: none;
214
+ $typography-subtitle1-font-size: 16px;
215
+ $typography-subtitle1-line-height: 20px;
216
+ $typography-subtitle1-font-weight: 400;
217
+ $typography-subtitle1-letter-spacing: 0.15px;
218
+ $typography-subtitle1-text-decoration: none;
219
+ $typography-subtitle1-text-transform: none;
220
+ $typography-subtitle2-font-size: 14px;
221
+ $typography-subtitle2-line-height: 18px;
222
+ $typography-subtitle2-font-weight: 500;
223
+ $typography-subtitle2-letter-spacing: 0.1142857142857143px;
224
+ $typography-subtitle2-text-decoration: none;
225
+ $typography-subtitle2-text-transform: none;
226
+ $typography-body1-font-size: 16px;
227
+ $typography-body1-line-height: 20px;
228
+ $typography-body1-font-weight: 400;
229
+ $typography-body1-letter-spacing: 0.5px;
230
+ $typography-body1-text-decoration: none;
231
+ $typography-body1-text-transform: none;
232
+ $typography-body2-font-size: 14px;
233
+ $typography-body2-line-height: 18px;
234
+ $typography-body2-font-weight: 400;
235
+ $typography-body2-letter-spacing: 0.2857142857142857px;
236
+ $typography-body2-text-decoration: none;
237
+ $typography-body2-text-transform: none;
238
+ $typography-caption-font-size: 12px;
239
+ $typography-caption-line-height: 16px;
240
+ $typography-caption-font-weight: 400;
241
+ $typography-caption-letter-spacing: 0.5333333333333333px;
242
+ $typography-caption-text-decoration: none;
243
+ $typography-caption-text-transform: none;
244
+ $typography-button-font-size: 14px;
245
+ $typography-button-line-height: 18px;
246
+ $typography-button-font-weight: 700;
247
+ $typography-button-letter-spacing: 1.4285714285714286px;
248
+ $typography-button-text-decoration: none;
249
+ $typography-button-text-transform: none;
250
+ $typography-overline-font-size: 12px;
251
+ $typography-overline-line-height: 16px;
252
+ $typography-overline-font-weight: 500;
253
+ $typography-overline-letter-spacing: 2.6666666666666665px;
254
+ $typography-overline-text-decoration: none;
255
+ $typography-overline-text-transform: none;
256
+ $elevation-none: none;
257
+ $elevation-light-light-offset-x-0: 2px;
258
+ $elevation-light-light-offset-y-0: 2px;
259
+ $elevation-light-light-blur-0: 0px;
260
+ $elevation-light-light-spread-0: 0px;
261
+ $elevation-light-semilight-offset-x-0: 3px;
262
+ $elevation-light-semilight-offset-y-0: 3px;
263
+ $elevation-light-semilight-blur-0: 0px;
264
+ $elevation-light-semilight-spread-0: 0px;
265
+ $elevation-light-regular-offset-x-0: 4px;
266
+ $elevation-light-regular-offset-y-0: 4px;
267
+ $elevation-light-regular-blur-0: 0px;
268
+ $elevation-light-regular-spread-0: 0px;
269
+ $elevation-light-semibold-offset-x-0: 5px;
270
+ $elevation-light-semibold-offset-y-0: 5px;
271
+ $elevation-light-semibold-blur-0: 0px;
272
+ $elevation-light-semibold-spread-0: 0px;
273
+ $elevation-light-bold-offset-x-0: 6px;
274
+ $elevation-light-bold-offset-y-0: 6px;
275
+ $elevation-light-bold-blur-0: 0px;
276
+ $elevation-light-bold-spread-0: 0px;
277
+ $elevation-light-extrabold-offset-x-0: 7px;
278
+ $elevation-light-extrabold-offset-y-0: 7px;
279
+ $elevation-light-extrabold-blur-0: 0px;
280
+ $elevation-light-extrabold-spread-0: 0px;
281
+ $elevation-dark-light-offset-x-0: 2px;
282
+ $elevation-dark-light-offset-y-0: 2px;
283
+ $elevation-dark-light-blur-0: 0px;
284
+ $elevation-dark-light-spread-0: 0px;
285
+ $elevation-dark-semilight-offset-x-0: 3px;
286
+ $elevation-dark-semilight-offset-y-0: 3px;
287
+ $elevation-dark-semilight-blur-0: 0px;
288
+ $elevation-dark-semilight-spread-0: 0px;
289
+ $elevation-dark-regular-offset-x-0: 4px;
290
+ $elevation-dark-regular-offset-y-0: 4px;
291
+ $elevation-dark-regular-blur-0: 0px;
292
+ $elevation-dark-regular-spread-0: 0px;
293
+ $elevation-dark-semibold-offset-x-0: 5px;
294
+ $elevation-dark-semibold-offset-y-0: 5px;
295
+ $elevation-dark-semibold-blur-0: 0px;
296
+ $elevation-dark-semibold-spread-0: 0px;
297
+ $elevation-dark-bold-offset-x-0: 6px;
298
+ $elevation-dark-bold-offset-y-0: 6px;
299
+ $elevation-dark-bold-blur-0: 0px;
300
+ $elevation-dark-bold-spread-0: 0px;
301
+ $elevation-dark-extrabold-offset-x-0: 7px;
302
+ $elevation-dark-extrabold-offset-y-0: 7px;
303
+ $elevation-dark-extrabold-blur-0: 0px;
304
+ $elevation-dark-extrabold-spread-0: 0px;
305
+ $size-tiny: 2px;
306
+ $size-small: 4px;
307
+ $size-medium: 8px;
308
+ $size-large: 16px;
309
+ $size-giant: 32px;
310
+ $size-key-tiny: "tiny";
311
+ $size-key-small: "small";
312
+ $size-key-medium: "medium";
313
+ $size-key-large: "large";
314
+ $size-key-giant: "giant";
315
+ $typography-key-headline1: "headline1";
316
+ $typography-key-headline2: "headline2";
317
+ $typography-key-headline3: "headline3";
318
+ $typography-key-headline4: "headline4";
319
+ $typography-key-headline5: "headline5";
320
+ $typography-key-headline6: "headline6";
321
+ $typography-key-subtitle1: "subtitle1";
322
+ $typography-key-subtitle2: "subtitle2";
323
+ $typography-key-body1: "body1";
324
+ $typography-key-body2: "body2";
325
+ $typography-key-caption: "caption";
326
+ $typography-key-button: "button";
327
+ $typography-key-overline: "overline";
328
+ $elevation-key-light: "light";
329
+ $elevation-key-semilight: "semilight";
330
+ $elevation-key-regular: "regular";
331
+ $elevation-key-semibold: "semibold";
332
+ $elevation-key-bold: "bold";
333
+ $elevation-key-extrabold: "extrabold";
334
+ $appearance-default: "default";
335
+ $appearance-outline: "outline";
336
+ $appearance-plain: "plain";
337
+ $appearance-soft: "soft";
338
+ $appearance-solid: "solid";
339
+ $variant-primary: "primary";
340
+ $variant-secondary: "secondary";
341
+ $variant-info: "info";
342
+ $variant-warning: "warning";
343
+ $variant-danger: "danger";
344
+ $variant-success: "success";
345
+ $variant-neutral: "neutral";
346
+ $duration-short: 200ms;
347
+ $duration-medium: 400ms;
348
+ $duration-long: 600ms;
349
+ $typography-headline1-font-family: $font-family;
350
+ $typography-headline2-font-family: $font-family;
351
+ $typography-headline3-font-family: $font-family;
352
+ $typography-headline4-font-family: $font-family;
353
+ $typography-headline5-font-family: $font-family;
354
+ $typography-headline6-font-family: $font-family;
355
+ $typography-subtitle1-font-family: $font-family;
356
+ $typography-subtitle2-font-family: $font-family;
357
+ $typography-body1-font-family: $font-family;
358
+ $typography-body2-font-family: $font-family;
359
+ $typography-caption-font-family: $font-family;
360
+ $typography-button-font-family: $font-family;
361
+ $typography-overline-font-family: $font-family;
362
+ $elevation-light-light: 2px 2px 0px 0px $scheme-light-contrast;
363
+ $elevation-light-light-color-0: $scheme-light-contrast;
364
+ $elevation-light-semilight: 3px 3px 0px 0px $scheme-light-contrast;
365
+ $elevation-light-semilight-color-0: $scheme-light-contrast;
366
+ $elevation-light-regular: 4px 4px 0px 0px $scheme-light-contrast;
367
+ $elevation-light-regular-color-0: $scheme-light-contrast;
368
+ $elevation-light-semibold: 5px 5px 0px 0px $scheme-light-contrast;
369
+ $elevation-light-semibold-color-0: $scheme-light-contrast;
370
+ $elevation-light-bold: 6px 6px 0px 0px $scheme-light-contrast;
371
+ $elevation-light-bold-color-0: $scheme-light-contrast;
372
+ $elevation-light-extrabold: 7px 7px 0px 0px $scheme-light-contrast;
373
+ $elevation-light-extrabold-color-0: $scheme-light-contrast;
374
+ $elevation-dark-light: 2px 2px 0px 0px $scheme-dark-contrast;
375
+ $elevation-dark-light-color-0: $scheme-dark-contrast;
376
+ $elevation-dark-semilight: 3px 3px 0px 0px $scheme-dark-contrast;
377
+ $elevation-dark-semilight-color-0: $scheme-dark-contrast;
378
+ $elevation-dark-regular: 4px 4px 0px 0px $scheme-dark-contrast;
379
+ $elevation-dark-regular-color-0: $scheme-dark-contrast;
380
+ $elevation-dark-semibold: 5px 5px 0px 0px $scheme-dark-contrast;
381
+ $elevation-dark-semibold-color-0: $scheme-dark-contrast;
382
+ $elevation-dark-bold: 6px 6px 0px 0px $scheme-dark-contrast;
383
+ $elevation-dark-bold-color-0: $scheme-dark-contrast;
384
+ $elevation-dark-extrabold: 7px 7px 0px 0px $scheme-dark-contrast;
385
+ $elevation-dark-extrabold-color-0: $scheme-dark-contrast;
386
+ $size-key: $size-key-tiny $size-key-small $size-key-medium $size-key-large $size-key-giant;
387
+ $elevation-key: $elevation-key-light $elevation-key-semilight $elevation-key-regular $elevation-key-semibold $elevation-key-bold $elevation-key-extrabold;
388
+ $appearance: $appearance-default $appearance-outline $appearance-plain $appearance-soft $appearance-solid;
389
+ $variant: $variant-primary $variant-secondary $variant-info $variant-warning $variant-danger $variant-success $variant-neutral;
390
+ $duration: $duration-short $duration-medium $duration-long;
@@ -0,0 +1,192 @@
1
+ module.exports = {
2
+ theme: {
3
+ extend: {
4
+ colors: {
5
+ 'SCHEME_LIGHT_BACKGROUND': '#eaeaea',
6
+ 'SCHEME_LIGHT_FOREGROUND': '#3c454f',
7
+ 'SCHEME_LIGHT_HIGHLIGHT': '#d1d1d1',
8
+ 'SCHEME_LIGHT_MIDDLELIGHT': '#8a8a8a',
9
+ 'SCHEME_LIGHT_LOWLIGHT': '#5c5c5c',
10
+ 'SCHEME_LIGHT_TRANSPARENT': 'rgba(255, 255, 255, 0)',
11
+ 'SCHEME_LIGHT_SEMI_TRANSPARENT': 'rgba(255, 255, 255, 0.67)',
12
+ 'SCHEME_LIGHT_DISABLED': '#686868',
13
+ 'SCHEME_LIGHT_CONTRAST': '#333333',
14
+ 'SCHEME_DARK_BACKGROUND': '#151515',
15
+ 'SCHEME_DARK_FOREGROUND': '#c3bab0',
16
+ 'SCHEME_DARK_HIGHLIGHT': '#2e2e2e',
17
+ 'SCHEME_DARK_MIDDLELIGHT': '#757575',
18
+ 'SCHEME_DARK_LOWLIGHT': '#a3a3a3',
19
+ 'SCHEME_DARK_TRANSPARENT': 'rgba(255, 255, 255, 0)',
20
+ 'SCHEME_DARK_SEMI_TRANSPARENT': 'rgba(0, 0, 0, 0.67)',
21
+ 'SCHEME_DARK_DISABLED': '#474747',
22
+ 'SCHEME_DARK_CONTRAST': '#ffffff',
23
+ 'COLOR_LIGHT_PRIMARY_0': '#ffffff',
24
+ 'COLOR_LIGHT_PRIMARY_50': '#f9f9f9',
25
+ 'COLOR_LIGHT_PRIMARY_100': '#f2f2f2',
26
+ 'COLOR_LIGHT_PRIMARY_200': '#e8e8e8',
27
+ 'COLOR_LIGHT_PRIMARY_300': '#d8d8d8',
28
+ 'COLOR_LIGHT_PRIMARY_400': '#b4b4b4',
29
+ 'COLOR_LIGHT_PRIMARY_500': '#949494',
30
+ 'COLOR_LIGHT_PRIMARY_600': '#6c6c6c',
31
+ 'COLOR_LIGHT_PRIMARY_700': '#595959',
32
+ 'COLOR_LIGHT_PRIMARY_800': '#3a3a3a',
33
+ 'COLOR_LIGHT_PRIMARY_900': '#1a1a1a',
34
+ 'COLOR_LIGHT_SECONDARY_0': '#ffffff',
35
+ 'COLOR_LIGHT_SECONDARY_50': '#e1f3ef',
36
+ 'COLOR_LIGHT_SECONDARY_100': '#b5e0d6',
37
+ 'COLOR_LIGHT_SECONDARY_200': '#85cdbc',
38
+ 'COLOR_LIGHT_SECONDARY_300': '#57b9a2',
39
+ 'COLOR_LIGHT_SECONDARY_400': '#38a990',
40
+ 'COLOR_LIGHT_SECONDARY_500': '#24997e',
41
+ 'COLOR_LIGHT_SECONDARY_600': '#208c71',
42
+ 'COLOR_LIGHT_SECONDARY_700': '#1b7c62',
43
+ 'COLOR_LIGHT_SECONDARY_800': '#166c54',
44
+ 'COLOR_LIGHT_SECONDARY_900': '#0d503a',
45
+ 'COLOR_LIGHT_INFO_0': '#ffffff',
46
+ 'COLOR_LIGHT_INFO_50': '#e8eaf9',
47
+ 'COLOR_LIGHT_INFO_100': '#c6c9f1',
48
+ 'COLOR_LIGHT_INFO_200': '#9fa7e7',
49
+ 'COLOR_LIGHT_INFO_300': '#7884dd',
50
+ 'COLOR_LIGHT_INFO_400': '#5968d6',
51
+ 'COLOR_LIGHT_INFO_500': '#394dcd',
52
+ 'COLOR_LIGHT_INFO_600': '#3344c2',
53
+ 'COLOR_LIGHT_INFO_700': '#293ab6',
54
+ 'COLOR_LIGHT_INFO_800': '#202faa',
55
+ 'COLOR_LIGHT_INFO_900': '#0a1a97',
56
+ 'COLOR_LIGHT_WARNING_0': '#ffffff',
57
+ 'COLOR_LIGHT_WARNING_50': '#fcfce5',
58
+ 'COLOR_LIGHT_WARNING_100': '#f7f6bf',
59
+ 'COLOR_LIGHT_WARNING_200': '#f1f294',
60
+ 'COLOR_LIGHT_WARNING_300': '#ebec67',
61
+ 'COLOR_LIGHT_WARNING_400': '#e5e741',
62
+ 'COLOR_LIGHT_WARNING_500': '#dfe300',
63
+ 'COLOR_LIGHT_WARNING_600': '#d1d100',
64
+ 'COLOR_LIGHT_WARNING_700': '#bfba00',
65
+ 'COLOR_LIGHT_WARNING_800': '#aea300',
66
+ 'COLOR_LIGHT_WARNING_900': '#927c00',
67
+ 'COLOR_LIGHT_DANGER_0': '#ffffff',
68
+ 'COLOR_LIGHT_DANGER_50': '#fcecef',
69
+ 'COLOR_LIGHT_DANGER_100': '#f8d0d5',
70
+ 'COLOR_LIGHT_DANGER_200': '#e69fa1',
71
+ 'COLOR_LIGHT_DANGER_300': '#d97b7d',
72
+ 'COLOR_LIGHT_DANGER_400': '#e35f5f',
73
+ 'COLOR_LIGHT_DANGER_500': '#e8524a',
74
+ 'COLOR_LIGHT_DANGER_600': '#d94a47',
75
+ 'COLOR_LIGHT_DANGER_700': '#c74141',
76
+ 'COLOR_LIGHT_DANGER_800': '#b93c3a',
77
+ 'COLOR_LIGHT_DANGER_900': '#ab322f',
78
+ 'COLOR_LIGHT_SUCCESS_0': '#ffffff',
79
+ 'COLOR_LIGHT_SUCCESS_50': '#e1f3ef',
80
+ 'COLOR_LIGHT_SUCCESS_100': '#b5e0d6',
81
+ 'COLOR_LIGHT_SUCCESS_200': '#85cdbc',
82
+ 'COLOR_LIGHT_SUCCESS_300': '#57b9a2',
83
+ 'COLOR_LIGHT_SUCCESS_400': '#38a990',
84
+ 'COLOR_LIGHT_SUCCESS_500': '#24997e',
85
+ 'COLOR_LIGHT_SUCCESS_600': '#208c71',
86
+ 'COLOR_LIGHT_SUCCESS_700': '#1b7c62',
87
+ 'COLOR_LIGHT_SUCCESS_800': '#166c54',
88
+ 'COLOR_LIGHT_SUCCESS_900': '#0d503a',
89
+ 'COLOR_LIGHT_NEUTRAL_0': '#ffffff',
90
+ 'COLOR_LIGHT_NEUTRAL_50': '#f9f9f9',
91
+ 'COLOR_LIGHT_NEUTRAL_100': '#f2f2f2',
92
+ 'COLOR_LIGHT_NEUTRAL_200': '#e8e8e8',
93
+ 'COLOR_LIGHT_NEUTRAL_300': '#d8d8d8',
94
+ 'COLOR_LIGHT_NEUTRAL_400': '#b4b4b4',
95
+ 'COLOR_LIGHT_NEUTRAL_500': '#949494',
96
+ 'COLOR_LIGHT_NEUTRAL_600': '#6c6c6c',
97
+ 'COLOR_LIGHT_NEUTRAL_700': '#595959',
98
+ 'COLOR_LIGHT_NEUTRAL_800': '#3a3a3a',
99
+ 'COLOR_LIGHT_NEUTRAL_900': '#1a1a1a',
100
+ 'COLOR_DARK_PRIMARY_0': '#000000',
101
+ 'COLOR_DARK_PRIMARY_50': '#1a1a1a',
102
+ 'COLOR_DARK_PRIMARY_100': '#3a3a3a',
103
+ 'COLOR_DARK_PRIMARY_200': '#595959',
104
+ 'COLOR_DARK_PRIMARY_300': '#6c6c6c',
105
+ 'COLOR_DARK_PRIMARY_400': '#949494',
106
+ 'COLOR_DARK_PRIMARY_500': '#b4b4b4',
107
+ 'COLOR_DARK_PRIMARY_600': '#d8d8d8',
108
+ 'COLOR_DARK_PRIMARY_700': '#e8e8e8',
109
+ 'COLOR_DARK_PRIMARY_800': '#f2f2f2',
110
+ 'COLOR_DARK_PRIMARY_900': '#f9f9f9',
111
+ 'COLOR_DARK_SECONDARY_0': '#000000',
112
+ 'COLOR_DARK_SECONDARY_50': '#0d503a',
113
+ 'COLOR_DARK_SECONDARY_100': '#166c54',
114
+ 'COLOR_DARK_SECONDARY_200': '#1b7c62',
115
+ 'COLOR_DARK_SECONDARY_300': '#208c71',
116
+ 'COLOR_DARK_SECONDARY_400': '#24997e',
117
+ 'COLOR_DARK_SECONDARY_500': '#38a990',
118
+ 'COLOR_DARK_SECONDARY_600': '#57b9a2',
119
+ 'COLOR_DARK_SECONDARY_700': '#85cdbc',
120
+ 'COLOR_DARK_SECONDARY_800': '#b5e0d6',
121
+ 'COLOR_DARK_SECONDARY_900': '#e1f3ef',
122
+ 'COLOR_DARK_INFO_0': '#000000',
123
+ 'COLOR_DARK_INFO_50': '#0a1a97',
124
+ 'COLOR_DARK_INFO_100': '#202faa',
125
+ 'COLOR_DARK_INFO_200': '#293ab6',
126
+ 'COLOR_DARK_INFO_300': '#3344c2',
127
+ 'COLOR_DARK_INFO_400': '#394dcd',
128
+ 'COLOR_DARK_INFO_500': '#5968d6',
129
+ 'COLOR_DARK_INFO_600': '#7884dd',
130
+ 'COLOR_DARK_INFO_700': '#9fa7e7',
131
+ 'COLOR_DARK_INFO_800': '#c6c9f1',
132
+ 'COLOR_DARK_INFO_900': '#e8eaf9',
133
+ 'COLOR_DARK_WARNING_0': '#000000',
134
+ 'COLOR_DARK_WARNING_50': '#927c00',
135
+ 'COLOR_DARK_WARNING_100': '#aea300',
136
+ 'COLOR_DARK_WARNING_200': '#bfba00',
137
+ 'COLOR_DARK_WARNING_300': '#d1d100',
138
+ 'COLOR_DARK_WARNING_400': '#dfe300',
139
+ 'COLOR_DARK_WARNING_500': '#e5e741',
140
+ 'COLOR_DARK_WARNING_600': '#ebec67',
141
+ 'COLOR_DARK_WARNING_700': '#f1f294',
142
+ 'COLOR_DARK_WARNING_800': '#f7f6bf',
143
+ 'COLOR_DARK_WARNING_900': '#fcfce5',
144
+ 'COLOR_DARK_DANGER_0': '#000000',
145
+ 'COLOR_DARK_DANGER_50': '#ab322f',
146
+ 'COLOR_DARK_DANGER_100': '#b93c3a',
147
+ 'COLOR_DARK_DANGER_200': '#c74141',
148
+ 'COLOR_DARK_DANGER_300': '#d94a47',
149
+ 'COLOR_DARK_DANGER_400': '#e8524a',
150
+ 'COLOR_DARK_DANGER_500': '#e35f5f',
151
+ 'COLOR_DARK_DANGER_600': '#d97b7d',
152
+ 'COLOR_DARK_DANGER_700': '#e69fa1',
153
+ 'COLOR_DARK_DANGER_800': '#f8d0d5',
154
+ 'COLOR_DARK_DANGER_900': '#fcecef',
155
+ 'COLOR_DARK_SUCCESS_0': '#000000',
156
+ 'COLOR_DARK_SUCCESS_50': '#0d503a',
157
+ 'COLOR_DARK_SUCCESS_100': '#166c54',
158
+ 'COLOR_DARK_SUCCESS_200': '#1b7c62',
159
+ 'COLOR_DARK_SUCCESS_300': '#208c71',
160
+ 'COLOR_DARK_SUCCESS_400': '#24997e',
161
+ 'COLOR_DARK_SUCCESS_500': '#38a990',
162
+ 'COLOR_DARK_SUCCESS_600': '#57b9a2',
163
+ 'COLOR_DARK_SUCCESS_700': '#85cdbc',
164
+ 'COLOR_DARK_SUCCESS_800': '#b5e0d6',
165
+ 'COLOR_DARK_SUCCESS_900': '#e1f3ef',
166
+ 'COLOR_DARK_NEUTRAL_0': '#000000',
167
+ 'COLOR_DARK_NEUTRAL_50': '#1a1a1a',
168
+ 'COLOR_DARK_NEUTRAL_100': '#3a3a3a',
169
+ 'COLOR_DARK_NEUTRAL_200': '#595959',
170
+ 'COLOR_DARK_NEUTRAL_300': '#6c6c6c',
171
+ 'COLOR_DARK_NEUTRAL_400': '#949494',
172
+ 'COLOR_DARK_NEUTRAL_500': '#b4b4b4',
173
+ 'COLOR_DARK_NEUTRAL_600': '#d8d8d8',
174
+ 'COLOR_DARK_NEUTRAL_700': '#e8e8e8',
175
+ 'COLOR_DARK_NEUTRAL_800': '#f2f2f2',
176
+ 'COLOR_DARK_NEUTRAL_900': '#f9f9f9',
177
+ 'ELEVATION_LIGHT_LIGHT_COLOR_0': '#333333',
178
+ 'ELEVATION_LIGHT_SEMILIGHT_COLOR_0': '#333333',
179
+ 'ELEVATION_LIGHT_REGULAR_COLOR_0': '#333333',
180
+ 'ELEVATION_LIGHT_SEMIBOLD_COLOR_0': '#333333',
181
+ 'ELEVATION_LIGHT_BOLD_COLOR_0': '#333333',
182
+ 'ELEVATION_LIGHT_EXTRABOLD_COLOR_0': '#333333',
183
+ 'ELEVATION_DARK_LIGHT_COLOR_0': '#ffffff',
184
+ 'ELEVATION_DARK_SEMILIGHT_COLOR_0': '#ffffff',
185
+ 'ELEVATION_DARK_REGULAR_COLOR_0': '#ffffff',
186
+ 'ELEVATION_DARK_SEMIBOLD_COLOR_0': '#ffffff',
187
+ 'ELEVATION_DARK_BOLD_COLOR_0': '#ffffff',
188
+ 'ELEVATION_DARK_EXTRABOLD_COLOR_0': '#ffffff',
189
+ }
190
+ }
191
+ }
192
+ };
@@ -459,6 +459,7 @@ $size-key: $size-key-tiny $size-key-small $size-key-medium $size-key-large $size
459
459
  $elevation-key: $elevation-key-light $elevation-key-semilight $elevation-key-regular $elevation-key-semibold $elevation-key-bold $elevation-key-extrabold;
460
460
  $appearance: $appearance-default $appearance-outline $appearance-plain $appearance-soft $appearance-solid;
461
461
  $variant: $variant-primary $variant-secondary $variant-info $variant-warning $variant-danger $variant-success $variant-neutral;
462
+ $duration: $duration-short $duration-medium $duration-long;
462
463
  $_color-light: (
463
464
  primary: (
464
465
  0: $color-light-primary-0,
@@ -0,0 +1,16 @@
1
+ import type { CssColor } from '../Utils/CssColor';
2
+ import type { IThemePalette } from '../Utils/IThemePalette';
3
+ import type { IThemeScheme } from '../Utils/IThemeScheme';
4
+ import type { IThemeGeneratorStrategy } from './IThemeGeneratorStrategy';
5
+ /**
6
+ * Cosmopolitan theme generator strategy.
7
+ *
8
+ * @public
9
+ */
10
+ export declare class CosmopolitanThemeGeneratorStrategy implements IThemeGeneratorStrategy {
11
+ private readonly _materialStrategy;
12
+ constructor();
13
+ generatePalette(baseColor: CssColor, mode: 'dark' | 'light'): IThemePalette;
14
+ generateScheme(baseColor: CssColor, mode: 'dark' | 'light'): IThemeScheme;
15
+ }
16
+ //# sourceMappingURL=CosmopolitanThemeGeneratorStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CosmopolitanThemeGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAKzE;;;;GAIG;AACH,qBAAa,kCAAmC,YAAW,uBAAuB;IAI9E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;;IAc5D,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa;IAgC3E,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY;CAMnF"}
@@ -0,0 +1,50 @@
1
+ // #region Imports
2
+ import { TinyColor } from '@ctrl/tinycolor';
3
+ import { MaterialThemeGeneratorStrategy } from './MaterialThemeGeneratorStrategy';
4
+ // #endregion
5
+ /**
6
+ * Cosmopolitan theme generator strategy.
7
+ *
8
+ * @public
9
+ */
10
+ export class CosmopolitanThemeGeneratorStrategy {
11
+ // #region Fields
12
+ _materialStrategy;
13
+ // #endregion
14
+ // #region Ctor
15
+ constructor() {
16
+ this._materialStrategy = new MaterialThemeGeneratorStrategy();
17
+ }
18
+ // #endregion
19
+ // #region Methods
20
+ generatePalette(baseColor, mode) {
21
+ if (mode === 'light') {
22
+ const baseLight = new TinyColor('#ffffff');
23
+ const baseDark = new TinyColor('#000000');
24
+ const palette = {};
25
+ const steps = [0, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
26
+ const amounts = [0, 12, 30, 50, 70, 85, 100, 87, 70, 54, 25];
27
+ steps.forEach((step, i) => {
28
+ const base = step <= 500 ? baseLight : baseDark;
29
+ palette[`${step}`] = new TinyColor(base).mix(baseColor, amounts[i])
30
+ .toHexString();
31
+ });
32
+ return palette;
33
+ }
34
+ const baseLight = new TinyColor('#ffffff');
35
+ const baseDark = new TinyColor('#000000');
36
+ const palette = {};
37
+ const steps = [0, 100, 500];
38
+ const amounts = [0, 30, 100];
39
+ steps.forEach((step, i) => {
40
+ const base = step <= 600 ? baseDark : baseLight;
41
+ palette[`${step}`] = new TinyColor(base).mix(baseColor, amounts[i])
42
+ .toHexString();
43
+ });
44
+ return palette;
45
+ }
46
+ generateScheme(baseColor, mode) {
47
+ return this._materialStrategy.generateScheme(baseColor, mode);
48
+ }
49
+ }
50
+ //# sourceMappingURL=CosmopolitanThemeGeneratorStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CosmopolitanThemeGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Theming/Strategies/CosmopolitanThemeGeneratorStrategy.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,aAAa;AAEb;;;;GAIG;AACH,MAAM,OAAO,kCAAkC;IAE3C,iBAAiB;IAEA,iBAAiB,CAAiC;IAEnE,aAAa;IAEb,eAAe;IAEf;QACI,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAA8B,EAAE,CAAC;IAClE,CAAC;IAED,aAAa;IAEb,kBAAkB;IAEX,eAAe,CAAC,SAAmB,EAAE,IAAsB;QAC9D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAA6B,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAE7D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAChD,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;qBAC9D,WAAW,EAAc,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAA6B,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC9D,WAAW,EAAc,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CAAC,SAAmB,EAAE,IAAsB;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;CAIJ"}