@idealyst/navigation 1.0.83 → 1.0.85

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.
@@ -1,583 +0,0 @@
1
- import {
2
- createTheme,
3
- } from '@idealyst/theme';
4
-
5
- // High contrast color palettes - designed for maximum accessibility
6
- export const highContrastLightPalettes = {
7
- // Pure high contrast colors
8
- red: {
9
- 50: '#ffffff',
10
- 100: '#ffe5e5',
11
- 200: '#ffcccc',
12
- 300: '#ff9999',
13
- 400: '#ff6666',
14
- 500: '#ff0000', // Pure red
15
- 600: '#cc0000',
16
- 700: '#990000',
17
- 800: '#660000',
18
- 900: '#330000',
19
- },
20
-
21
- orange: {
22
- 50: '#ffffff',
23
- 100: '#fff3e0',
24
- 200: '#ffe0b3',
25
- 300: '#ffcc80',
26
- 400: '#ffb74d',
27
- 500: '#ff8f00', // High contrast orange
28
- 600: '#cc7200',
29
- 700: '#995500',
30
- 800: '#663900',
31
- 900: '#331c00',
32
- },
33
-
34
- yellow: {
35
- 50: '#ffffff',
36
- 100: '#fffde7',
37
- 200: '#fff9c4',
38
- 300: '#fff59d',
39
- 400: '#fff176',
40
- 500: '#ffeb3b', // High contrast yellow
41
- 600: '#ccbc2e',
42
- 700: '#998d22',
43
- 800: '#665e17',
44
- 900: '#332f0b',
45
- },
46
-
47
- green: {
48
- 50: '#ffffff',
49
- 100: '#e8f5e8',
50
- 200: '#c8e6c8',
51
- 300: '#a5d6a5',
52
- 400: '#81c784',
53
- 500: '#4caf50', // High contrast green
54
- 600: '#388e3c',
55
- 700: '#2e7d32',
56
- 800: '#1b5e20',
57
- 900: '#0d2f10',
58
- },
59
-
60
- blue: {
61
- 50: '#ffffff',
62
- 100: '#e3f2fd',
63
- 200: '#bbdefb',
64
- 300: '#90caf9',
65
- 400: '#64b5f6',
66
- 500: '#2196f3', // High contrast blue
67
- 600: '#1976d2',
68
- 700: '#1565c0',
69
- 800: '#0d47a1',
70
- 900: '#0a2472',
71
- },
72
-
73
- purple: {
74
- 50: '#ffffff',
75
- 100: '#f3e5f5',
76
- 200: '#e1bee7',
77
- 300: '#ce93d8',
78
- 400: '#ba68c8',
79
- 500: '#9c27b0', // High contrast purple
80
- 600: '#7b1fa2',
81
- 700: '#6a1b9a',
82
- 800: '#4a148c',
83
- 900: '#3d1178',
84
- },
85
-
86
- black: {
87
- 50: '#ffffff',
88
- 100: '#f5f5f5',
89
- 200: '#eeeeee',
90
- 300: '#e0e0e0',
91
- 400: '#bdbdbd',
92
- 500: '#9e9e9e',
93
- 600: '#757575',
94
- 700: '#616161',
95
- 800: '#424242',
96
- 900: '#000000', // Pure black
97
- },
98
-
99
- gray: {
100
- 50: '#ffffff', // Pure white
101
- 100: '#f8f8f8',
102
- 200: '#e8e8e8',
103
- 300: '#d0d0d0',
104
- 400: '#b0b0b0',
105
- 500: '#808080',
106
- 600: '#606060',
107
- 700: '#404040',
108
- 800: '#202020',
109
- 900: '#000000', // Pure black
110
- },
111
-
112
- white: {
113
- 50: '#ffffff', // Pure white
114
- 100: '#ffffff',
115
- 200: '#ffffff',
116
- 300: '#ffffff',
117
- 400: '#ffffff',
118
- 500: '#ffffff',
119
- 600: '#ffffff',
120
- 700: '#ffffff',
121
- 800: '#ffffff',
122
- 900: '#ffffff',
123
- },
124
- } as const;
125
-
126
- // High contrast dark palettes
127
- export const highContrastDarkPalettes = {
128
- // Pure high contrast colors for dark mode
129
- red: {
130
- 50: '#000000',
131
- 100: '#330000',
132
- 200: '#660000',
133
- 300: '#990000',
134
- 400: '#cc0000',
135
- 500: '#ff0000', // Pure red
136
- 600: '#ff3333',
137
- 700: '#ff6666',
138
- 800: '#ff9999',
139
- 900: '#ffffff',
140
- },
141
-
142
- orange: {
143
- 50: '#000000',
144
- 100: '#331c00',
145
- 200: '#663900',
146
- 300: '#995500',
147
- 400: '#cc7200',
148
- 500: '#ff8f00', // High contrast orange
149
- 600: '#ffab40',
150
- 700: '#ffcc80',
151
- 800: '#ffe0b3',
152
- 900: '#ffffff',
153
- },
154
-
155
- yellow: {
156
- 50: '#000000',
157
- 100: '#332f0b',
158
- 200: '#665e17',
159
- 300: '#998d22',
160
- 400: '#ccbc2e',
161
- 500: '#ffeb3b', // High contrast yellow
162
- 600: '#fff176',
163
- 700: '#fff59d',
164
- 800: '#fff9c4',
165
- 900: '#ffffff',
166
- },
167
-
168
- green: {
169
- 50: '#000000',
170
- 100: '#0d2f10',
171
- 200: '#1b5e20',
172
- 300: '#2e7d32',
173
- 400: '#388e3c',
174
- 500: '#4caf50', // High contrast green
175
- 600: '#81c784',
176
- 700: '#a5d6a5',
177
- 800: '#c8e6c8',
178
- 900: '#ffffff',
179
- },
180
-
181
- blue: {
182
- 50: '#000000',
183
- 100: '#0a2472',
184
- 200: '#0d47a1',
185
- 300: '#1565c0',
186
- 400: '#1976d2',
187
- 500: '#2196f3', // High contrast blue
188
- 600: '#64b5f6',
189
- 700: '#90caf9',
190
- 800: '#bbdefb',
191
- 900: '#ffffff',
192
- },
193
-
194
- purple: {
195
- 50: '#000000',
196
- 100: '#3d1178',
197
- 200: '#4a148c',
198
- 300: '#6a1b9a',
199
- 400: '#7b1fa2',
200
- 500: '#9c27b0', // High contrast purple
201
- 600: '#ba68c8',
202
- 700: '#ce93d8',
203
- 800: '#e1bee7',
204
- 900: '#ffffff',
205
- },
206
-
207
- black: {
208
- 50: '#000000', // Pure black
209
- 100: '#000000',
210
- 200: '#000000',
211
- 300: '#000000',
212
- 400: '#000000',
213
- 500: '#000000',
214
- 600: '#000000',
215
- 700: '#000000',
216
- 800: '#000000',
217
- 900: '#000000',
218
- },
219
-
220
- gray: {
221
- 50: '#000000', // Pure black
222
- 100: '#111111',
223
- 200: '#222222',
224
- 300: '#333333',
225
- 400: '#555555',
226
- 500: '#777777',
227
- 600: '#aaaaaa',
228
- 700: '#cccccc',
229
- 800: '#eeeeee',
230
- 900: '#ffffff', // Pure white
231
- },
232
-
233
- white: {
234
- 50: '#000000',
235
- 100: '#202020',
236
- 200: '#404040',
237
- 300: '#606060',
238
- 400: '#808080',
239
- 500: '#a0a0a0',
240
- 600: '#c0c0c0',
241
- 700: '#e0e0e0',
242
- 800: '#f0f0f0',
243
- 900: '#ffffff', // Pure white
244
- },
245
- } as const;
246
-
247
- // High contrast light intents
248
- function createHighContrastLightIntents(palettes: typeof highContrastLightPalettes) {
249
- return {
250
- primary: {
251
- main: palettes.blue[500], // Pure blue
252
- on: '#ffffff', // Pure white text
253
- container: palettes.blue[50], // White container
254
- onContainer: palettes.blue[900], // Very dark blue text
255
- light: palettes.blue[200],
256
- dark: palettes.blue[800],
257
- border: palettes.blue[500], // Strong border
258
- },
259
- success: {
260
- main: palettes.green[500], // Pure green
261
- on: '#ffffff', // Pure white text
262
- container: palettes.green[50], // White container
263
- onContainer: palettes.green[900], // Very dark green text
264
- light: palettes.green[200],
265
- dark: palettes.green[800],
266
- border: palettes.green[500], // Strong border
267
- },
268
- error: {
269
- main: palettes.red[500], // Pure red
270
- on: '#ffffff', // Pure white text
271
- container: palettes.red[50], // White container
272
- onContainer: palettes.red[900], // Very dark red text
273
- light: palettes.red[200],
274
- dark: palettes.red[800],
275
- border: palettes.red[500], // Strong border
276
- },
277
- warning: {
278
- main: palettes.orange[500], // High contrast orange
279
- on: '#000000', // Black text for better contrast
280
- container: palettes.orange[50], // White container
281
- onContainer: palettes.orange[900], // Very dark orange text
282
- light: palettes.orange[200],
283
- dark: palettes.orange[800],
284
- border: palettes.orange[500], // Strong border
285
- },
286
- neutral: {
287
- main: palettes.gray[500], // Medium gray
288
- on: '#ffffff', // Pure white text
289
- container: palettes.gray[50], // White container
290
- onContainer: palettes.gray[900], // Pure black text
291
- light: palettes.gray[200],
292
- dark: palettes.gray[800],
293
- border: palettes.gray[500], // Strong border
294
- },
295
- info: {
296
- main: palettes.blue[500], // Pure blue
297
- on: '#ffffff', // Pure white text
298
- container: palettes.blue[50], // White container
299
- onContainer: palettes.blue[900], // Very dark blue text
300
- light: palettes.blue[200],
301
- dark: palettes.blue[800],
302
- border: palettes.blue[500], // Strong border
303
- },
304
- } as any;
305
- }
306
-
307
- // High contrast dark intents
308
- function createHighContrastDarkIntents(palettes: typeof highContrastDarkPalettes) {
309
- return {
310
- primary: {
311
- main: palettes.blue[500], // Pure blue
312
- on: '#000000', // Pure black text
313
- container: palettes.blue[50], // Black container
314
- onContainer: palettes.blue[900], // Pure white text
315
- light: palettes.blue[700],
316
- dark: palettes.blue[300],
317
- border: palettes.blue[500], // Strong border
318
- },
319
- success: {
320
- main: palettes.green[500], // Pure green
321
- on: '#000000', // Pure black text
322
- container: palettes.green[50], // Black container
323
- onContainer: palettes.green[900], // Pure white text
324
- light: palettes.green[700],
325
- dark: palettes.green[300],
326
- border: palettes.green[500], // Strong border
327
- },
328
- error: {
329
- main: palettes.red[500], // Pure red
330
- on: '#000000', // Pure black text
331
- container: palettes.red[50], // Black container
332
- onContainer: palettes.red[900], // Pure white text
333
- light: palettes.red[700],
334
- dark: palettes.red[300],
335
- border: palettes.red[500], // Strong border
336
- },
337
- warning: {
338
- main: palettes.orange[500], // High contrast orange
339
- on: '#000000', // Pure black text
340
- container: palettes.orange[50], // Black container
341
- onContainer: palettes.orange[900], // Pure white text
342
- light: palettes.orange[700],
343
- dark: palettes.orange[300],
344
- border: palettes.orange[500], // Strong border
345
- },
346
- neutral: {
347
- main: palettes.gray[500], // Medium gray
348
- on: '#000000', // Pure black text
349
- container: palettes.gray[50], // Black container
350
- onContainer: palettes.gray[900], // Pure white text
351
- light: palettes.gray[700],
352
- dark: palettes.gray[300],
353
- border: palettes.gray[500], // Strong border
354
- },
355
- info: {
356
- main: palettes.blue[500], // Pure blue
357
- on: '#000000', // Pure black text
358
- container: palettes.blue[50], // Black container
359
- onContainer: palettes.blue[900], // Pure white text
360
- light: palettes.blue[700],
361
- dark: palettes.blue[300],
362
- border: palettes.blue[500], // Strong border
363
- },
364
- } as any;
365
- }
366
-
367
- // High contrast light colors
368
- function createHighContrastLightColors(palettes: typeof highContrastLightPalettes) {
369
- return {
370
- text: {
371
- primary: palettes.gray[900], // Pure black text
372
- secondary: palettes.gray[800], // Very dark gray
373
- disabled: palettes.gray[600], // Medium gray
374
- inverse: palettes.gray[50], // Pure white
375
- muted: palettes.gray[700], // Dark gray
376
- placeholder: palettes.gray[600], // Medium gray
377
- },
378
- surface: {
379
- primary: palettes.gray[50], // Pure white surface
380
- secondary: palettes.gray[100], // Light gray surface
381
- tertiary: palettes.gray[200], // Medium light surface
382
- elevated: palettes.gray[50], // Pure white elevated
383
- overlay: 'rgba(0, 0, 0, 0.8)', // Strong overlay
384
- inverse: palettes.gray[900], // Pure black inverse
385
- },
386
- border: {
387
- primary: palettes.gray[900], // Pure black border
388
- secondary: palettes.gray[800], // Very dark border
389
- strong: palettes.gray[900], // Pure black strong border
390
- focus: palettes.blue[500], // Pure blue focus
391
- disabled: palettes.gray[600], // Medium gray disabled
392
- },
393
- interactive: {
394
- hover: palettes.gray[200], // Light gray hover
395
- pressed: palettes.gray[300], // Medium light pressed
396
- focus: palettes.blue[500], // Pure blue focus
397
- disabled: palettes.gray[200], // Light gray disabled
398
- },
399
- };
400
- }
401
-
402
- // High contrast dark colors
403
- function createHighContrastDarkColors(palettes: typeof highContrastDarkPalettes) {
404
- return {
405
- text: {
406
- primary: palettes.gray[900], // Pure white text
407
- secondary: palettes.gray[800], // Very light gray
408
- disabled: palettes.gray[600], // Medium gray
409
- inverse: palettes.gray[50], // Pure black
410
- muted: palettes.gray[700], // Light gray
411
- placeholder: palettes.gray[600], // Medium gray
412
- },
413
- surface: {
414
- primary: palettes.gray[50], // Pure black surface
415
- secondary: palettes.gray[100], // Very dark surface
416
- tertiary: palettes.gray[200], // Dark surface
417
- elevated: palettes.gray[100], // Very dark elevated
418
- overlay: 'rgba(0, 0, 0, 0.9)', // Very strong overlay
419
- inverse: palettes.gray[900], // Pure white inverse
420
- },
421
- border: {
422
- primary: palettes.gray[900], // Pure white border
423
- secondary: palettes.gray[800], // Very light border
424
- strong: palettes.gray[900], // Pure white strong border
425
- focus: palettes.blue[500], // Pure blue focus
426
- disabled: palettes.gray[600], // Medium gray disabled
427
- },
428
- interactive: {
429
- hover: palettes.gray[200], // Dark hover
430
- pressed: palettes.gray[300], // Medium dark pressed
431
- focus: palettes.blue[500], // Pure blue focus
432
- disabled: palettes.gray[200], // Dark disabled
433
- },
434
- };
435
- }
436
-
437
- // Create high contrast themes
438
- export const highContrastThemes = {
439
- lightHighContrast: createTheme({
440
- name: 'LightHighContrast',
441
- mode: 'light',
442
- palettes: highContrastLightPalettes,
443
- intents: createHighContrastLightIntents(highContrastLightPalettes),
444
- colors: createHighContrastLightColors(highContrastLightPalettes),
445
-
446
- typography: {
447
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
448
- fontWeight: {
449
- light: '400', // No ultra-light weights for better readability
450
- regular: '500', // Slightly heavier for better contrast
451
- medium: '600', // Medium weight
452
- semibold: '700', // Bold
453
- bold: '800', // Extra bold
454
- extrabold: '900', // Black
455
- },
456
- },
457
-
458
- borderRadius: {
459
- sm: 2, // Sharper corners for high contrast
460
- md: 4,
461
- lg: 6,
462
- xl: 8,
463
- xxl: 12,
464
- },
465
-
466
- spacing: {
467
- xs: 4,
468
- sm: 8,
469
- md: 16,
470
- lg: 24,
471
- xl: 32,
472
- xxl: 40,
473
- xxxl: 48,
474
- },
475
-
476
- shadows: {
477
- sm: {
478
- shadowColor: '#000',
479
- shadowOffset: { width: 0, height: 2 },
480
- shadowOpacity: 0.25, // Stronger shadows
481
- shadowRadius: 4,
482
- elevation: 2,
483
- },
484
- md: {
485
- shadowColor: '#000',
486
- shadowOffset: { width: 0, height: 4 },
487
- shadowOpacity: 0.3, // Stronger shadows
488
- shadowRadius: 8,
489
- elevation: 4,
490
- },
491
- lg: {
492
- shadowColor: '#000',
493
- shadowOffset: { width: 0, height: 8 },
494
- shadowOpacity: 0.35, // Stronger shadows
495
- shadowRadius: 16,
496
- elevation: 8,
497
- },
498
- },
499
-
500
- transitions: {
501
- fast: '0.1s ease', // Faster transitions
502
- base: '0.15s ease',
503
- slow: '0.2s ease',
504
- button: 'all 0.15s ease',
505
- fade: 'opacity 0.15s ease',
506
- slide: 'transform 0.2s ease',
507
- },
508
- }),
509
-
510
- darkHighContrast: createTheme({
511
- name: 'DarkHighContrast',
512
- mode: 'dark',
513
- palettes: highContrastDarkPalettes,
514
- intents: createHighContrastDarkIntents(highContrastDarkPalettes),
515
- colors: createHighContrastDarkColors(highContrastDarkPalettes),
516
-
517
- typography: {
518
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
519
- fontWeight: {
520
- light: '400', // No ultra-light weights for better readability
521
- regular: '500', // Slightly heavier for better contrast
522
- medium: '600', // Medium weight
523
- semibold: '700', // Bold
524
- bold: '800', // Extra bold
525
- extrabold: '900', // Black
526
- },
527
- },
528
-
529
- borderRadius: {
530
- sm: 2, // Sharper corners for high contrast
531
- md: 4,
532
- lg: 6,
533
- xl: 8,
534
- xxl: 12,
535
- },
536
-
537
- spacing: {
538
- xs: 4,
539
- sm: 8,
540
- md: 16,
541
- lg: 24,
542
- xl: 32,
543
- xxl: 40,
544
- xxxl: 48,
545
- },
546
-
547
- shadows: {
548
- sm: {
549
- shadowColor: '#000',
550
- shadowOffset: { width: 0, height: 2 },
551
- shadowOpacity: 0.5, // Much stronger shadows for dark mode
552
- shadowRadius: 4,
553
- elevation: 2,
554
- },
555
- md: {
556
- shadowColor: '#000',
557
- shadowOffset: { width: 0, height: 4 },
558
- shadowOpacity: 0.6, // Much stronger shadows for dark mode
559
- shadowRadius: 8,
560
- elevation: 4,
561
- },
562
- lg: {
563
- shadowColor: '#000',
564
- shadowOffset: { width: 0, height: 8 },
565
- shadowOpacity: 0.7, // Much stronger shadows for dark mode
566
- shadowRadius: 16,
567
- elevation: 8,
568
- },
569
- },
570
-
571
- transitions: {
572
- fast: '0.1s ease', // Faster transitions
573
- base: '0.15s ease',
574
- slow: '0.2s ease',
575
- button: 'all 0.15s ease',
576
- fade: 'opacity 0.15s ease',
577
- slide: 'transform 0.2s ease',
578
- },
579
- }),
580
- } as const;
581
-
582
- // Extended type definitions for TypeScript
583
- export type HighContrastThemeVariant = 'lightHighContrast' | 'darkHighContrast';