59 lines
1.9 KiB
Dart
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;
|
|
}
|