@streamplace/components 0.7.13 → 0.7.15

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 (122) hide show
  1. package/package.json +13 -16
  2. package/src/components/mobile-player/fullscreen.native.tsx +15 -20
  3. package/src/components/mobile-player/fullscreen.tsx +10 -2
  4. package/src/components/mobile-player/player.tsx +7 -1
  5. package/src/components/mobile-player/props.tsx +2 -0
  6. package/src/components/mobile-player/video.native.tsx +28 -11
  7. package/src/components/mobile-player/video.tsx +14 -3
  8. package/src/hooks/useLivestreamInfo.ts +6 -2
  9. package/src/lib/browser.ts +27 -0
  10. package/src/livestream-store/stream-key.tsx +1 -28
  11. package/src/streamplace-store/stream.tsx +51 -13
  12. package/dist/assets/emoji-data.json +0 -19371
  13. package/dist/components/chat/chat-box.js +0 -314
  14. package/dist/components/chat/chat-message.js +0 -87
  15. package/dist/components/chat/chat.js +0 -149
  16. package/dist/components/chat/emoji-suggestions.js +0 -35
  17. package/dist/components/chat/mention-suggestions.js +0 -42
  18. package/dist/components/chat/mod-view.js +0 -94
  19. package/dist/components/chat/system-message.js +0 -19
  20. package/dist/components/dashboard/chat-panel.js +0 -38
  21. package/dist/components/dashboard/header.js +0 -80
  22. package/dist/components/dashboard/index.js +0 -14
  23. package/dist/components/dashboard/information-widget.js +0 -234
  24. package/dist/components/dashboard/mod-actions.js +0 -71
  25. package/dist/components/dashboard/problems.js +0 -74
  26. package/dist/components/icons/bluesky-icon.js +0 -9
  27. package/dist/components/keep-awake.js +0 -7
  28. package/dist/components/keep-awake.native.js +0 -16
  29. package/dist/components/mobile-player/fullscreen.js +0 -74
  30. package/dist/components/mobile-player/fullscreen.native.js +0 -155
  31. package/dist/components/mobile-player/player.js +0 -94
  32. package/dist/components/mobile-player/props.js +0 -2
  33. package/dist/components/mobile-player/shared.js +0 -54
  34. package/dist/components/mobile-player/ui/countdown.js +0 -83
  35. package/dist/components/mobile-player/ui/index.js +0 -11
  36. package/dist/components/mobile-player/ui/input.js +0 -42
  37. package/dist/components/mobile-player/ui/metrics.js +0 -44
  38. package/dist/components/mobile-player/ui/report-modal.js +0 -90
  39. package/dist/components/mobile-player/ui/streamer-context-menu.js +0 -7
  40. package/dist/components/mobile-player/ui/streamer-loading-overlay.js +0 -104
  41. package/dist/components/mobile-player/ui/viewer-context-menu.js +0 -51
  42. package/dist/components/mobile-player/ui/viewer-loading-overlay.js +0 -49
  43. package/dist/components/mobile-player/ui/viewers.js +0 -23
  44. package/dist/components/mobile-player/use-webrtc.js +0 -243
  45. package/dist/components/mobile-player/video-retry.js +0 -29
  46. package/dist/components/mobile-player/video.js +0 -460
  47. package/dist/components/mobile-player/video.native.js +0 -276
  48. package/dist/components/mobile-player/webrtc-diagnostics.js +0 -110
  49. package/dist/components/mobile-player/webrtc-primitives.js +0 -27
  50. package/dist/components/mobile-player/webrtc-primitives.native.js +0 -8
  51. package/dist/components/share/sharesheet.js +0 -91
  52. package/dist/components/ui/button.js +0 -223
  53. package/dist/components/ui/dialog.js +0 -206
  54. package/dist/components/ui/dropdown.js +0 -172
  55. package/dist/components/ui/icons.js +0 -25
  56. package/dist/components/ui/index.js +0 -34
  57. package/dist/components/ui/info-box.js +0 -31
  58. package/dist/components/ui/info-row.js +0 -23
  59. package/dist/components/ui/input.js +0 -205
  60. package/dist/components/ui/loader.js +0 -10
  61. package/dist/components/ui/primitives/button.js +0 -125
  62. package/dist/components/ui/primitives/input.js +0 -206
  63. package/dist/components/ui/primitives/modal.js +0 -206
  64. package/dist/components/ui/primitives/text.js +0 -292
  65. package/dist/components/ui/resizeable.js +0 -121
  66. package/dist/components/ui/slider.js +0 -5
  67. package/dist/components/ui/text.js +0 -177
  68. package/dist/components/ui/textarea.js +0 -19
  69. package/dist/components/ui/toast.js +0 -175
  70. package/dist/components/ui/view.js +0 -252
  71. package/dist/hooks/index.js +0 -14
  72. package/dist/hooks/useAvatars.js +0 -35
  73. package/dist/hooks/useCameraToggle.js +0 -12
  74. package/dist/hooks/useKeyboard.js +0 -36
  75. package/dist/hooks/useKeyboardSlide.js +0 -14
  76. package/dist/hooks/useLivestreamInfo.js +0 -65
  77. package/dist/hooks/useOuterAndInnerDimensions.js +0 -30
  78. package/dist/hooks/usePlayerDimensions.js +0 -22
  79. package/dist/hooks/usePointerDevice.js +0 -71
  80. package/dist/hooks/useSegmentDimensions.js +0 -17
  81. package/dist/hooks/useSegmentTiming.js +0 -65
  82. package/dist/index.js +0 -34
  83. package/dist/lib/facet.js +0 -92
  84. package/dist/lib/system-messages.js +0 -101
  85. package/dist/lib/theme/atoms.js +0 -646
  86. package/dist/lib/theme/atoms.types.js +0 -6
  87. package/dist/lib/theme/index.js +0 -35
  88. package/dist/lib/theme/theme.js +0 -256
  89. package/dist/lib/theme/tokens.js +0 -659
  90. package/dist/lib/utils.js +0 -105
  91. package/dist/livestream-provider/index.js +0 -30
  92. package/dist/livestream-provider/websocket.js +0 -45
  93. package/dist/livestream-store/chat.js +0 -286
  94. package/dist/livestream-store/context.js +0 -5
  95. package/dist/livestream-store/index.js +0 -7
  96. package/dist/livestream-store/livestream-state.js +0 -2
  97. package/dist/livestream-store/livestream-store.js +0 -58
  98. package/dist/livestream-store/problems.js +0 -76
  99. package/dist/livestream-store/stream-key.js +0 -119
  100. package/dist/livestream-store/websocket-consumer.js +0 -94
  101. package/dist/player-store/context.js +0 -5
  102. package/dist/player-store/index.js +0 -9
  103. package/dist/player-store/player-provider.js +0 -57
  104. package/dist/player-store/player-state.js +0 -25
  105. package/dist/player-store/player-store.js +0 -199
  106. package/dist/player-store/single-player-provider.js +0 -121
  107. package/dist/streamplace-provider/context.js +0 -5
  108. package/dist/streamplace-provider/index.js +0 -20
  109. package/dist/streamplace-provider/poller.js +0 -49
  110. package/dist/streamplace-provider/xrpc.js +0 -0
  111. package/dist/streamplace-store/block.js +0 -65
  112. package/dist/streamplace-store/index.js +0 -6
  113. package/dist/streamplace-store/stream.js +0 -218
  114. package/dist/streamplace-store/streamplace-store.js +0 -47
  115. package/dist/streamplace-store/user.js +0 -52
  116. package/dist/streamplace-store/xrpc.js +0 -15
  117. package/dist/ui/index.js +0 -79
  118. package/node-compile-cache/v22.15.0-x64-efe9a9df-0/37be0eec +0 -0
  119. package/node-compile-cache/v22.15.0-x64-efe9a9df-0/56540125 +0 -0
  120. package/node-compile-cache/v22.15.0-x64-efe9a9df-0/67b1eb60 +0 -0
  121. package/node-compile-cache/v22.15.0-x64-efe9a9df-0/7c275f90 +0 -0
  122. package/tsconfig.tsbuildinfo +0 -1
@@ -1,659 +0,0 @@
1
- "use strict";
2
- /**
3
- * Design tokens for React Native components
4
- * Inspired by shadcn/ui but adapted for React Native styling
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.breakpoints = exports.animations = exports.touchTargets = exports.shadows = exports.typography = exports.borderRadius = exports.spacing = exports.colors = void 0;
8
- exports.colors = {
9
- // Primary colors
10
- primary: {
11
- 50: "#eff6ff",
12
- 100: "#dbeafe",
13
- 200: "#bfdbfe",
14
- 300: "#93c5fd",
15
- 400: "#60a5fa",
16
- 500: "#3b82f6",
17
- 600: "#2563eb",
18
- 700: "#1d4ed8",
19
- 800: "#1e40af",
20
- 900: "#1e3a8a",
21
- 950: "#172554",
22
- },
23
- // Tailwind default palettes:
24
- slate: {
25
- 50: "#f8fafc",
26
- 100: "#f1f5f9",
27
- 200: "#e2e8f0",
28
- 300: "#cbd5e1",
29
- 400: "#94a3b8",
30
- 500: "#64748b",
31
- 600: "#475569",
32
- 700: "#334155",
33
- 800: "#1e293b",
34
- 900: "#0f172a",
35
- 950: "#020617",
36
- },
37
- gray: {
38
- 50: "#f9fafb",
39
- 100: "#f3f4f6",
40
- 200: "#e5e7eb",
41
- 300: "#d1d5db",
42
- 400: "#9ca3af",
43
- 500: "#6b7280",
44
- 600: "#4b5563",
45
- 700: "#374151",
46
- 800: "#1f2937",
47
- 900: "#111827",
48
- 950: "#030712",
49
- },
50
- zinc: {
51
- 50: "#fafafa",
52
- 100: "#f4f4f5",
53
- 200: "#e4e4e7",
54
- 300: "#d4d4d8",
55
- 400: "#a1a1aa",
56
- 500: "#71717a",
57
- 600: "#52525b",
58
- 700: "#3f3f46",
59
- 800: "#27272a",
60
- 900: "#18181b",
61
- 950: "#09090b",
62
- },
63
- neutral: {
64
- 50: "#fafaf9",
65
- 100: "#f5f5f4",
66
- 200: "#e7e5e4",
67
- 300: "#d6d3d1",
68
- 400: "#a8a29e",
69
- 500: "#78716c",
70
- 600: "#57534e",
71
- 700: "#44403c",
72
- 800: "#292524",
73
- 900: "#1c1917",
74
- 950: "#0c0a09",
75
- },
76
- stone: {
77
- 50: "#fafaf9",
78
- 100: "#f5f5f4",
79
- 200: "#e7e5e4",
80
- 300: "#d6d3d1",
81
- 400: "#a8a29e",
82
- 500: "#78716c",
83
- 600: "#57534e",
84
- 700: "#44403c",
85
- 800: "#292524",
86
- 900: "#1c1917",
87
- 950: "#0c0a09",
88
- },
89
- red: {
90
- 50: "#fef2f2",
91
- 100: "#fee2e2",
92
- 200: "#fecaca",
93
- 300: "#fca5a5",
94
- 400: "#f87171",
95
- 500: "#ef4444",
96
- 600: "#dc2626",
97
- 700: "#b91c1c",
98
- 800: "#991b1b",
99
- 900: "#7f1d1d",
100
- 950: "#450a0a",
101
- },
102
- orange: {
103
- 50: "#fff7ed",
104
- 100: "#ffedd5",
105
- 200: "#fed7aa",
106
- 300: "#fdba74",
107
- 400: "#fb923c",
108
- 500: "#f97316",
109
- 600: "#ea580c",
110
- 700: "#c2410c",
111
- 800: "#9a3412",
112
- 900: "#7c2d12",
113
- 950: "#431407",
114
- },
115
- amber: {
116
- 50: "#fffbeb",
117
- 100: "#fef3c7",
118
- 200: "#fde68a",
119
- 300: "#fcd34d",
120
- 400: "#fbbf24",
121
- 500: "#f59e0b",
122
- 600: "#d97706",
123
- 700: "#b45309",
124
- 800: "#92400e",
125
- 900: "#78350f",
126
- 950: "#451a03",
127
- },
128
- yellow: {
129
- 50: "#fefce8",
130
- 100: "#fef9c3",
131
- 200: "#fef08a",
132
- 300: "#fde047",
133
- 400: "#facc15",
134
- 500: "#eab308",
135
- 600: "#ca8a04",
136
- 700: "#a16207",
137
- 800: "#854d0e",
138
- 900: "#713f12",
139
- 950: "#422006",
140
- },
141
- lime: {
142
- 50: "#f7fee7",
143
- 100: "#ecfccb",
144
- 200: "#d9f99d",
145
- 300: "#bef264",
146
- 400: "#a3e635",
147
- 500: "#84cc16",
148
- 600: "#65a30d",
149
- 700: "#4d7c0f",
150
- 800: "#3f6212",
151
- 900: "#365314",
152
- 950: "#1a2e05",
153
- },
154
- green: {
155
- 50: "#f0fdf4",
156
- 100: "#dcfce7",
157
- 200: "#bbf7d0",
158
- 300: "#86efac",
159
- 400: "#4ade80",
160
- 500: "#22c55e",
161
- 600: "#16a34a",
162
- 700: "#15803d",
163
- 800: "#166534",
164
- 900: "#14532d",
165
- 950: "#052e16",
166
- },
167
- emerald: {
168
- 50: "#ecfdf5",
169
- 100: "#d1fae5",
170
- 200: "#a7f3d0",
171
- 300: "#6ee7b7",
172
- 400: "#34d399",
173
- 500: "#10b981",
174
- 600: "#059669",
175
- 700: "#047857",
176
- 800: "#065f46",
177
- 900: "#064e3b",
178
- 950: "#022c22",
179
- },
180
- teal: {
181
- 50: "#f0fdfa",
182
- 100: "#ccfbf1",
183
- 200: "#99f6e4",
184
- 300: "#5eead4",
185
- 400: "#2dd4bf",
186
- 500: "#14b8a6",
187
- 600: "#0d9488",
188
- 700: "#0f766e",
189
- 800: "#115e59",
190
- 900: "#134e4a",
191
- 950: "#042f2e",
192
- },
193
- cyan: {
194
- 50: "#ecfeff",
195
- 100: "#cffafe",
196
- 200: "#a5f3fc",
197
- 300: "#67e8f9",
198
- 400: "#22d3ee",
199
- 500: "#06b6d4",
200
- 600: "#0891b2",
201
- 700: "#0e7490",
202
- 800: "#155e75",
203
- 900: "#164e63",
204
- 950: "#083344",
205
- },
206
- sky: {
207
- 50: "#f0f9ff",
208
- 100: "#e0f2fe",
209
- 200: "#bae6fd",
210
- 300: "#7dd3fc",
211
- 400: "#38bdf8",
212
- 500: "#0ea5e9",
213
- 600: "#0284c7",
214
- 700: "#0369a1",
215
- 800: "#075985",
216
- 900: "#0c4a6e",
217
- 950: "#082f49",
218
- },
219
- blue: {
220
- 50: "#eff6ff",
221
- 100: "#dbeafe",
222
- 200: "#bfdbfe",
223
- 300: "#93c5fd",
224
- 400: "#60a5fa",
225
- 500: "#3b82f6",
226
- 600: "#2563eb",
227
- 700: "#1d4ed8",
228
- 800: "#1e40af",
229
- 900: "#1e3a8a",
230
- 950: "#172554",
231
- },
232
- indigo: {
233
- 50: "#eef2ff",
234
- 100: "#e0e7ff",
235
- 200: "#c7d2fe",
236
- 300: "#a5b4fc",
237
- 400: "#818cf8",
238
- 500: "#6366f1",
239
- 600: "#4f46e5",
240
- 700: "#4338ca",
241
- 800: "#3730a3",
242
- 900: "#312e81",
243
- 950: "#1e1b4b",
244
- },
245
- violet: {
246
- 50: "#f5f3ff",
247
- 100: "#ede9fe",
248
- 200: "#ddd6fe",
249
- 300: "#c4b5fd",
250
- 400: "#a78bfa",
251
- 500: "#8b5cf6",
252
- 600: "#7c3aed",
253
- 700: "#6d28d9",
254
- 800: "#5b21b6",
255
- 900: "#4c1d95",
256
- 950: "#2e1065",
257
- },
258
- purple: {
259
- 50: "#faf5ff",
260
- 100: "#f3e8ff",
261
- 200: "#e9d5ff",
262
- 300: "#d8b4fe",
263
- 400: "#c084fc",
264
- 500: "#a855f7",
265
- 600: "#9333ea",
266
- 700: "#7e22ce",
267
- 800: "#6b21a8",
268
- 900: "#581c87",
269
- 950: "#3b0764",
270
- },
271
- fuchsia: {
272
- 50: "#fdf4ff",
273
- 100: "#fae8ff",
274
- 200: "#f5d0fe",
275
- 300: "#f0abfc",
276
- 400: "#e879f9",
277
- 500: "#d946ef",
278
- 600: "#c026d3",
279
- 700: "#a21caf",
280
- 800: "#86198f",
281
- 900: "#701a75",
282
- 950: "#4a044e",
283
- },
284
- pink: {
285
- 50: "#fdf2f8",
286
- 100: "#fce7f3",
287
- 200: "#fbcfe8",
288
- 300: "#f9a8d4",
289
- 400: "#f472b6",
290
- 500: "#ec4899",
291
- 600: "#db2777",
292
- 700: "#be185d",
293
- 800: "#9d174d",
294
- 900: "#831843",
295
- 950: "#500724",
296
- },
297
- rose: {
298
- 50: "#fff1f2",
299
- 100: "#ffe4e6",
300
- 200: "#fecdd3",
301
- 300: "#fda4af",
302
- 400: "#fb7185",
303
- 500: "#f43f5e",
304
- 600: "#e11d48",
305
- 700: "#be123c",
306
- 800: "#9f1239",
307
- 900: "#881337",
308
- 950: "#4c0519",
309
- },
310
- // Semantic colors
311
- destructive: {
312
- 50: "#fef2f2",
313
- 100: "#fee2e2",
314
- 200: "#fecaca",
315
- 300: "#fca5a5",
316
- 400: "#f87171",
317
- 500: "#ef4444",
318
- 600: "#dc2626",
319
- 700: "#b91c1c",
320
- 800: "#991b1b",
321
- 900: "#7f1d1d",
322
- 950: "#450a0a",
323
- },
324
- success: {
325
- 50: "#f0fdf4",
326
- 100: "#dcfce7",
327
- 200: "#bbf7d0",
328
- 300: "#86efac",
329
- 400: "#4ade80",
330
- 500: "#22c55e",
331
- 600: "#16a34a",
332
- 700: "#15803d",
333
- 800: "#166534",
334
- 900: "#14532d",
335
- 950: "#052e16",
336
- },
337
- warning: {
338
- 50: "#fffbeb",
339
- 100: "#fef3c7",
340
- 200: "#fde68a",
341
- 300: "#fcd34d",
342
- 400: "#fbbf24",
343
- 500: "#f59e0b",
344
- 600: "#d97706",
345
- 700: "#b45309",
346
- 800: "#92400e",
347
- 900: "#78350f",
348
- 950: "#451a03",
349
- },
350
- // iOS system colors (adaptive)
351
- ios: {
352
- systemBlue: "#007AFF",
353
- systemGreen: "#34C759",
354
- systemRed: "#FF3B30",
355
- systemOrange: "#FF9500",
356
- systemYellow: "#FFCC00",
357
- systemPurple: "#AF52DE",
358
- systemPink: "#FF2D92",
359
- systemTeal: "#5AC8FA",
360
- systemIndigo: "#5856D6",
361
- systemGray: "#8E8E93",
362
- systemGray2: "#AEAEB2",
363
- systemGray3: "#C7C7CC",
364
- systemGray4: "#D1D1D6",
365
- systemGray5: "#E5E5EA",
366
- systemGray6: "#F2F2F7",
367
- },
368
- // Android Material colors
369
- android: {
370
- primary: "#6200EE",
371
- primaryVariant: "#3700B3",
372
- secondary: "#03DAC6",
373
- secondaryVariant: "#018786",
374
- background: "#FFFFFF",
375
- surface: "#FFFFFF",
376
- error: "#B00020",
377
- onPrimary: "#FFFFFF",
378
- onSecondary: "#000000",
379
- onBackground: "#000000",
380
- onSurface: "#000000",
381
- onError: "#FFFFFF",
382
- },
383
- // Transparent colors
384
- transparent: "transparent",
385
- black: "#000000",
386
- white: "#FFFFFF",
387
- };
388
- exports.spacing = {
389
- 0: 0,
390
- 1: 4,
391
- 2: 8,
392
- 3: 12,
393
- 4: 16,
394
- 5: 20,
395
- 6: 24,
396
- 7: 28,
397
- 8: 32,
398
- 9: 36,
399
- 10: 40,
400
- 11: 44,
401
- 12: 48,
402
- 14: 56,
403
- 16: 64,
404
- 20: 80,
405
- 24: 96,
406
- 28: 112,
407
- 32: 128,
408
- 36: 144,
409
- 40: 160,
410
- 44: 176,
411
- 48: 192,
412
- 52: 208,
413
- 56: 224,
414
- 60: 240,
415
- 64: 256,
416
- 72: 288,
417
- 80: 320,
418
- 96: 384,
419
- auto: "auto",
420
- };
421
- exports.borderRadius = {
422
- none: 0,
423
- sm: 3,
424
- md: 8,
425
- lg: 12,
426
- xl: 16,
427
- "2xl": 20,
428
- "3xl": 24,
429
- full: 999,
430
- };
431
- exports.typography = {
432
- // iOS system font sizes
433
- ios: {
434
- largeTitle: {
435
- fontSize: 34,
436
- lineHeight: 41,
437
- fontWeight: "700",
438
- },
439
- title1: {
440
- fontSize: 28,
441
- lineHeight: 34,
442
- fontWeight: "700",
443
- },
444
- title2: {
445
- fontSize: 22,
446
- lineHeight: 28,
447
- fontWeight: "700",
448
- },
449
- title3: {
450
- fontSize: 20,
451
- lineHeight: 25,
452
- fontWeight: "600",
453
- },
454
- headline: {
455
- fontSize: 17,
456
- lineHeight: 22,
457
- fontWeight: "600",
458
- },
459
- body: {
460
- fontSize: 17,
461
- lineHeight: 22,
462
- fontWeight: "400",
463
- },
464
- callout: {
465
- fontSize: 16,
466
- lineHeight: 21,
467
- fontWeight: "400",
468
- },
469
- subhead: {
470
- fontSize: 15,
471
- lineHeight: 20,
472
- fontWeight: "400",
473
- },
474
- footnote: {
475
- fontSize: 13,
476
- lineHeight: 18,
477
- fontWeight: "400",
478
- },
479
- caption1: {
480
- fontSize: 12,
481
- lineHeight: 16,
482
- fontWeight: "400",
483
- },
484
- caption2: {
485
- fontSize: 11,
486
- lineHeight: 13,
487
- fontWeight: "400",
488
- },
489
- },
490
- // Android Material typography
491
- android: {
492
- headline1: {
493
- fontSize: 96,
494
- lineHeight: 112,
495
- fontWeight: "300",
496
- },
497
- headline2: {
498
- fontSize: 60,
499
- lineHeight: 72,
500
- fontWeight: "300",
501
- },
502
- headline3: {
503
- fontSize: 48,
504
- lineHeight: 56,
505
- fontWeight: "400",
506
- },
507
- headline4: {
508
- fontSize: 34,
509
- lineHeight: 42,
510
- fontWeight: "400",
511
- },
512
- headline5: {
513
- fontSize: 24,
514
- lineHeight: 32,
515
- fontWeight: "400",
516
- },
517
- headline6: {
518
- fontSize: 20,
519
- lineHeight: 28,
520
- fontWeight: "500",
521
- },
522
- subtitle1: {
523
- fontSize: 16,
524
- lineHeight: 24,
525
- fontWeight: "400",
526
- },
527
- subtitle2: {
528
- fontSize: 14,
529
- lineHeight: 22,
530
- fontWeight: "500",
531
- },
532
- body1: {
533
- fontSize: 16,
534
- lineHeight: 24,
535
- fontWeight: "400",
536
- },
537
- body2: {
538
- fontSize: 14,
539
- lineHeight: 20,
540
- fontWeight: "400",
541
- },
542
- button: {
543
- fontSize: 14,
544
- lineHeight: 16,
545
- fontWeight: "500",
546
- },
547
- caption: {
548
- fontSize: 12,
549
- lineHeight: 16,
550
- fontWeight: "400",
551
- },
552
- overline: {
553
- fontSize: 10,
554
- lineHeight: 16,
555
- fontWeight: "400",
556
- },
557
- },
558
- // Universal typography scale
559
- universal: {
560
- xs: {
561
- fontSize: 12,
562
- lineHeight: 16,
563
- fontWeight: "400",
564
- },
565
- sm: {
566
- fontSize: 14,
567
- lineHeight: 20,
568
- fontWeight: "400",
569
- },
570
- base: {
571
- fontSize: 16,
572
- lineHeight: 24,
573
- fontWeight: "400",
574
- },
575
- lg: {
576
- fontSize: 18,
577
- lineHeight: 28,
578
- fontWeight: "400",
579
- },
580
- xl: {
581
- fontSize: 20,
582
- lineHeight: 28,
583
- fontWeight: "500",
584
- },
585
- "2xl": {
586
- fontSize: 24,
587
- lineHeight: 32,
588
- fontWeight: "600",
589
- },
590
- "3xl": {
591
- fontSize: 30,
592
- lineHeight: 36,
593
- fontWeight: "700",
594
- },
595
- "4xl": {
596
- fontSize: 36,
597
- lineHeight: 40,
598
- fontWeight: "700",
599
- },
600
- },
601
- };
602
- exports.shadows = {
603
- none: {
604
- shadowColor: "transparent",
605
- shadowOffset: { width: 0, height: 0 },
606
- shadowOpacity: 0,
607
- shadowRadius: 0,
608
- elevation: 0,
609
- },
610
- sm: {
611
- shadowColor: exports.colors.black,
612
- shadowOffset: { width: 0, height: 1 },
613
- shadowOpacity: 0.05,
614
- shadowRadius: 2,
615
- elevation: 2,
616
- },
617
- md: {
618
- shadowColor: exports.colors.black,
619
- shadowOffset: { width: 0, height: 2 },
620
- shadowOpacity: 0.1,
621
- shadowRadius: 4,
622
- elevation: 4,
623
- },
624
- lg: {
625
- shadowColor: exports.colors.black,
626
- shadowOffset: { width: 0, height: 4 },
627
- shadowOpacity: 0.15,
628
- shadowRadius: 8,
629
- elevation: 8,
630
- },
631
- xl: {
632
- shadowColor: exports.colors.black,
633
- shadowOffset: { width: 0, height: 8 },
634
- shadowOpacity: 0.2,
635
- shadowRadius: 16,
636
- elevation: 16,
637
- },
638
- };
639
- // Touch targets (iOS Human Interface Guidelines)
640
- exports.touchTargets = {
641
- minimum: 44, // Minimum touch target size
642
- comfortable: 48, // Comfortable touch target size
643
- large: 56, // Large touch target size
644
- };
645
- // Animation durations
646
- exports.animations = {
647
- fast: 150,
648
- normal: 200,
649
- slow: 300,
650
- slower: 500,
651
- };
652
- // Breakpoints for responsive design
653
- exports.breakpoints = {
654
- sm: 640,
655
- md: 768,
656
- lg: 1024,
657
- xl: 1280,
658
- "2xl": 1536,
659
- };