Files
tripz-llc/apps/rider/lib/core/design/tokens.dart
T

59 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
/// الرموز الثابتة — كل قيمة هنا `const` ولا تُخترَع في الشاشات.
/// docs/26 §3
abstract final class T {
// ── المسافات (مضاعفات 4) ──
static const double s4 = 4;
static const double s8 = 8;
static const double s12 = 12;
static const double s16 = 16;
static const double s24 = 24;
static const double s32 = 32;
static const double s48 = 48;
/// حشوة الصفحة الافتراضية
static const double pagePadding = s16;
// ── الزوايا ──
static const double r8 = 8; // حقول / شارات
static const double r12 = 12; // أزرار / بطاقات
static const double r16 = 16; // محتوى مدمّق
static const double r24 = 24; // bottom sheets
static const double rCircle = 999; // avatars
// ── الحركة (أزمنة) ──
static const Duration fast = Duration(milliseconds: 120); // لمسة
static const Duration medium = Duration(milliseconds: 240); // انتقال ضمن الشاشة
static const Duration slow = Duration(milliseconds: 400); // sheet / صفحة
// ── المسافات الإضافية ──
static const double s20 = 20;
// ── الظلال ──
static const BoxShadow shadowSm = BoxShadow(
color: Color(0x0F000000),
blurRadius: 4,
offset: Offset(0, 1),
);
static const BoxShadow shadowLg = BoxShadow(
color: Color(0x1A000000),
blurRadius: 12,
offset: Offset(0, 4),
);
// ── الأيقونات ──
static const double iconSm = 20;
static const double iconMd = 24;
static const double iconLg = 32;
// ── الارتفاعات ──
static const double buttonHeight = 52;
static const double inputHeight = 52;
static const double touchTarget = 48;
// ── عناصر الخريطة ──
static const double markerSize = 40;
static const double polylineWidth = 6;
}