@qumra/fanar 0.0.0 → 0.0.2
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.
- package/README.md +62 -16
- package/dist/ai.d.ts +342 -0
- package/dist/ai.js +2 -0
- package/dist/chunk-3CTGRTYV.js +1 -0
- package/dist/chunk-APE2XWSN.js +2 -0
- package/dist/chunk-DDRJTIIP.js +2 -0
- package/dist/chunk-JJCKT5OO.js +2 -0
- package/dist/chunk-L3NDN5GB.js +2 -0
- package/dist/chunk-QJPINFN2.js +2 -0
- package/dist/editor.css +204 -0
- package/dist/editor.d.ts +24 -0
- package/dist/editor.js +2 -0
- package/dist/index.d.ts +88 -918
- package/dist/index.js +1 -8085
- package/dist/lib-DOXggTK6.d.ts +42 -0
- package/dist/lib.js +1 -92
- package/dist/notifications.d.ts +846 -0
- package/dist/notifications.js +2 -0
- package/dist/orb.d.ts +21 -0
- package/dist/orb.js +2 -0
- package/dist/tokens.css +36 -333
- package/dist/tokens.js +1 -20
- package/dist/tokens.json +64 -155
- package/package.json +64 -6
- package/dist/chunk-SFA2EQFK.js +0 -159
package/dist/tokens.json
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$description": "توكنز فنار — مستخرَجة من tokens.css بتاع منارة بلا فقدان.",
|
|
3
2
|
"$extensions": {
|
|
4
3
|
"cloud.qumra.fanar": {
|
|
5
4
|
"source": "src/tokens/__fixtures__/manara-tokens.css",
|
|
6
5
|
"sourceSha256": "fd54c248d7def2af2e37e1d75635cf7476fd960db70bb7fd13a07929293918e1",
|
|
7
|
-
"head": "/* ============================================================================\n توكنز قمرة — تنزل في أي app بـ@import \"@qumra/manara/tokens.css\"\n منقولة من v2 — منقولة حرفياً من Qumra Web App v2.dc.html (سطر 16-17).\n دي مش إعادة تفسير: نفس الأسماء ونفس القيم، عشان أي مقارنة مع الملف\n الأصلي تطلع مطابقة مش \"قريبة\".\n ========================================================================== */\n\n@custom-variant dark (&:where([data-theme=\"dark\"], [data-theme=\"dark\"] *));\n",
|
|
8
6
|
"layout": {
|
|
9
7
|
"theme": {
|
|
10
8
|
"gap": [],
|
|
@@ -17,9 +15,7 @@
|
|
|
17
15
|
{
|
|
18
16
|
"blank": true
|
|
19
17
|
},
|
|
20
|
-
{
|
|
21
|
-
"comment": " /* الأسطح والنصوص — بتتقلب في الوضع الداكن (تحت) */"
|
|
22
|
-
},
|
|
18
|
+
{},
|
|
23
19
|
{
|
|
24
20
|
"ref": "color.surface",
|
|
25
21
|
"css": "--color-surface"
|
|
@@ -44,9 +40,7 @@
|
|
|
44
40
|
"ref": "color.ink2",
|
|
45
41
|
"css": "--color-ink2"
|
|
46
42
|
},
|
|
47
|
-
{
|
|
48
|
-
"comment": " /* سلّم النص: 20.2 / 9.8 / 5.6 / 4.9 — أربع درجات كلها فوق 4.5:1.\n muted2 كان #a5b0b0 = 2.23:1، يعني تسميات الرسوم والنص البديل\n مكانوش بيتقروا. مفيش مساحة لدرجة خامسة تحت — العتبة بتقفل السلّم. */"
|
|
49
|
-
},
|
|
43
|
+
{},
|
|
50
44
|
{
|
|
51
45
|
"ref": "color.muted",
|
|
52
46
|
"css": "--color-muted"
|
|
@@ -55,9 +49,7 @@
|
|
|
55
49
|
"ref": "color.muted2",
|
|
56
50
|
"css": "--color-muted2"
|
|
57
51
|
},
|
|
58
|
-
{
|
|
59
|
-
"comment": " /* حدّ عناصر التحكّم — لازم 3:1 (المعيار 1.4.11). كان #d9e0e0 = 1.34:1،\n يعني الشيك بوكس الفاضي مكانش ليه أي وجود بصري. الكروت والفواصل\n بتستخدم --color-line فمتأثرتش. */"
|
|
60
|
-
},
|
|
52
|
+
{},
|
|
61
53
|
{
|
|
62
54
|
"ref": "color.border",
|
|
63
55
|
"css": "--color-border"
|
|
@@ -77,9 +69,7 @@
|
|
|
77
69
|
{
|
|
78
70
|
"blank": true
|
|
79
71
|
},
|
|
80
|
-
{
|
|
81
|
-
"comment": " /* ── تعبئة هيكل التحميل ────────────────────────────────────────────────\n العصا اللي بتقف مكان النصّ لحدّ ما يوصل.\n\n كانت `--color-hover`، وهو **لون حالة مرور** لا تعبئة — وعلى السطح\n بيدّي 1.09:1 في الفاتح و1.14:1 في الداكن. فرق زي ده مايتشافش.\n النتيجة كانت هيكل موجود في الـDOM وغايب عن العين.\n\n والمدى ضيّق من الطرفين: تحت 1.2 مايتقريش، وفوق 1.6 بيتقري **محتوى**\n لا انتظاراً — بلوك رمادي صريح بيبان كأنه صورة أو صندوق فاضي، فالعين\n بتستنّى منه معنى بدل ما تعدّي عليه. القيم مقيسة على السطح:\n\n فاتح #d6dcdc على #ffffff = 1.39 · 1.26 عند حضيض النبض\n داكن #2c3232 على #101718 = 1.39 · 1.24 عند حضيض النبض\n\n والرقمان متساويان عن قصد: الهيكل لازم يبان بنفس القوة في الوضعين،\n وإلا الشاشة الواحدة بتتقري «بتحمّل» في وضع و«فاضية» في التاني.\n\n ── وليه توكن مستقلّ لا `soft2` ────────────────────────────────────────\n `soft2` مسحته تركوازي — هو سطح العلامة الناعم. الهيكل بيه بياخد لون\n هوية، وهو المفروض **حياد**: مساحة محجوزة لا عنصر له معنى. ده رمادي\n مائل للبرودة (R أقلّ من G وB بستّ درجات) فيتناغم مع اللوحة بلا ما\n ينتمي لها. */"
|
|
82
|
-
},
|
|
72
|
+
{},
|
|
83
73
|
{
|
|
84
74
|
"ref": "color.skeleton",
|
|
85
75
|
"css": "--color-skeleton"
|
|
@@ -87,9 +77,7 @@
|
|
|
87
77
|
{
|
|
88
78
|
"blank": true
|
|
89
79
|
},
|
|
90
|
-
{
|
|
91
|
-
"comment": " /* ألوان ثابتة مكتوبة صراحةً في v2 (مش متغيّرة مع الثيم) */"
|
|
92
|
-
},
|
|
80
|
+
{},
|
|
93
81
|
{
|
|
94
82
|
"ref": "color.brand.DEFAULT",
|
|
95
83
|
"css": "--color-brand"
|
|
@@ -110,16 +98,12 @@
|
|
|
110
98
|
"ref": "color.brand.deep",
|
|
111
99
|
"css": "--color-brand-deep"
|
|
112
100
|
},
|
|
113
|
-
{
|
|
114
|
-
"comment": " /* خلفية فاتحة بمسحة تركوازي — لوحات العرض وحالة المرور على الكروت\n الكبيرة. كانت #F4FAF8 مكتوبة بالإيد في شاشات الحسابات. */"
|
|
115
|
-
},
|
|
101
|
+
{},
|
|
116
102
|
{
|
|
117
103
|
"ref": "color.tint",
|
|
118
104
|
"css": "--color-tint"
|
|
119
105
|
},
|
|
120
|
-
{
|
|
121
|
-
"comment": " /* درجة أعمق شوية — أرضية كروت التسويق في صفحة الهبوط. `tint` أرضية\n القسم كله و`tint2` الكرت اللي جوّه، فالكرت يبان عليها. كانت\n #EFF6F3 مكتوبة بالإيد ١٢ مرة في `Qumra Landing.dc.html`.\n زي `tint` مالهاش قيمة داكنة — الاتنين أرضيات تسويقية فاتحة بالتعريف. */"
|
|
122
|
-
},
|
|
106
|
+
{},
|
|
123
107
|
{
|
|
124
108
|
"ref": "color.tint2",
|
|
125
109
|
"css": "--color-tint2"
|
|
@@ -131,9 +115,7 @@
|
|
|
131
115
|
{
|
|
132
116
|
"blank": true
|
|
133
117
|
},
|
|
134
|
-
{
|
|
135
|
-
"comment": " /* ── ألوان الحالة ──────────────────────────────────────────────────────\n كل واحدة ليها: نص (ink/اللون نفسه) + خلفية (bg) + حدّ (line).\n التلاتة بيتقلبوا مع الثيم — من غير كده الشارة بتفضل بيضا وبتلمع\n جوّه شاشة سودة حتى لو التباين جوّاها عدّى. */"
|
|
136
|
-
},
|
|
118
|
+
{},
|
|
137
119
|
{
|
|
138
120
|
"ref": "color.amber.DEFAULT",
|
|
139
121
|
"css": "--color-amber"
|
|
@@ -154,9 +136,7 @@
|
|
|
154
136
|
"ref": "color.amber.900",
|
|
155
137
|
"css": "--color-amber-900"
|
|
156
138
|
},
|
|
157
|
-
{
|
|
158
|
-
"comment": " /* المرور على تعبئة عنبرية — زرار «ابدأ النمو» والشارات في صفحة الهبوط.\n كانت #DE9219 مكتوبة بالإيد. مع `amber-900` فوقها بتدّي 5.37:1.\n ثابت مش بيتقلب — نفس منطق `amber` نفسه كتعبئة. */"
|
|
159
|
-
},
|
|
139
|
+
{},
|
|
160
140
|
{
|
|
161
141
|
"ref": "color.amber.hover",
|
|
162
142
|
"css": "--color-amber-hover"
|
|
@@ -192,9 +172,7 @@
|
|
|
192
172
|
{
|
|
193
173
|
"blank": true
|
|
194
174
|
},
|
|
195
|
-
{
|
|
196
|
-
"comment": " /* تعبئة صريحة بنص أبيض فوقها — نفس دور --color-danger.\n `green`/`violet` لوحدهم ألوان نص وبيتقلبوا، فمينفعش يشيلوا أبيض\n في الوضع الداكن (كان بيدّي 1.90 و2.04). دول ثابتين وبيعدّوا:\n green-solid أبيض فوقه 5.35 · كعنصر 3.39–5.35\n violet-solid أبيض فوقه 5.33 · كعنصر 3.41–5.33 */"
|
|
197
|
-
},
|
|
175
|
+
{},
|
|
198
176
|
{
|
|
199
177
|
"ref": "color.green.solid",
|
|
200
178
|
"css": "--color-green-solid"
|
|
@@ -206,9 +184,7 @@
|
|
|
206
184
|
{
|
|
207
185
|
"blank": true
|
|
208
186
|
},
|
|
209
|
-
{
|
|
210
|
-
"comment": " /* ── الأحمر: دورين، توكنين ─────────────────────────────────────────────\n `red` لون نص — لازم يعدّي 4.5:1 على السطح، فبيتقلب في الوضع الداكن (تحت).\n `danger` لون تعبئة وحدّ — لازم يعدّي 3:1 كعنصر، والنص الأبيض فوقه 4.5:1.\n قيمة واحدة بتعدّي في الوضعين فمش محتاجة تتقلب:\n كعنصر 4.90 فاتح / 3.70 داكن · أبيض فوقه 4.90\n كانت #D6493B مكتوبة بالإيد في ٩ مواضع، والأبيض فوقها 4.31 — تحت العتبة. */"
|
|
211
|
-
},
|
|
187
|
+
{},
|
|
212
188
|
{
|
|
213
189
|
"ref": "color.red.DEFAULT",
|
|
214
190
|
"css": "--color-red"
|
|
@@ -225,16 +201,12 @@
|
|
|
225
201
|
"ref": "color.danger",
|
|
226
202
|
"css": "--color-danger"
|
|
227
203
|
},
|
|
228
|
-
{
|
|
229
|
-
"comment": " /* ── إضافة فنار — مش في منارة ───────────────────────────────────────────\n `danger` كان الشاذ الوحيد: `brand` و`amber` كلٌّ منهم له `-hover`\n مخصّص، و`danger` كان بيستعير `--color-red` في الـhover.\n\n و`--color-red` **بيتقلب في الوضع الداكن** من `#8e2b20` (أحمر غامق)\n لـ`#f3a79e` (وردي فاتح) — لأنه لون **نص** هناك لا تعبئة. فزرّ الحذف\n في الداكن، أول ما الماوس يعدّي عليه، كان بيبقى أبيض على وردي فاتح\n = **1.94**. نصّه عملياً مش مقروء.\n\n القيمة مشتقّة لا مختارة: نسب القنوات بتاعة `brand → brand-hover`\n مطبّقة على `danger`. النتيجة في نفس نطاق النظام (سطوع ٠.٦٤ مقابل\n ٠.٦٧ و٠.٧٣)، والأبيض فوقها **6.73** بدل 4.9. */"
|
|
230
|
-
},
|
|
204
|
+
{},
|
|
231
205
|
{
|
|
232
206
|
"ref": "color.danger.hover",
|
|
233
207
|
"css": "--color-danger-hover"
|
|
234
208
|
},
|
|
235
|
-
{
|
|
236
|
-
"comment": " /* أحمر فاتح ثابت — للأرضيات الداكنة دايماً (التوست على bg-night).\n مش بيتقلب لأن أرضيته مش بتتقلب. نفس منطق --color-brand-100. */"
|
|
237
|
-
},
|
|
209
|
+
{},
|
|
238
210
|
{
|
|
239
211
|
"ref": "color.red.100",
|
|
240
212
|
"css": "--color-red-100"
|
|
@@ -262,9 +234,7 @@
|
|
|
262
234
|
{
|
|
263
235
|
"blank": true
|
|
264
236
|
},
|
|
265
|
-
{
|
|
266
|
-
"comment": " /* ── سلّم الخط ─────────────────────────────────────────────────────────\n ١٢ درجة، أعداد صحيحة بس. الـREADME كان بيوعد بالسلّم ده من غير ما\n يبقى موجود، فالمكوّنات اخترعت ١٦ مقاس منهم ٨ كسرية — و12.5px\n و13.5px لوحدهم كانوا ٣٥ استخدام. */"
|
|
267
|
-
},
|
|
237
|
+
{},
|
|
268
238
|
{
|
|
269
239
|
"ref": "text.micro",
|
|
270
240
|
"css": "--text-micro"
|
|
@@ -285,16 +255,12 @@
|
|
|
285
255
|
"ref": "text.lead",
|
|
286
256
|
"css": "--text-lead"
|
|
287
257
|
},
|
|
288
|
-
{
|
|
289
|
-
"comment": " /* الحقل الكبير — تحت ١٦ بيخلّي iOS يعمل zoom تلقائي على الحقل */"
|
|
290
|
-
},
|
|
258
|
+
{},
|
|
291
259
|
{
|
|
292
260
|
"ref": "text.base.DEFAULT",
|
|
293
261
|
"css": "--text-base"
|
|
294
262
|
},
|
|
295
|
-
{
|
|
296
|
-
"comment": " /* ── الدرجة الوحيدة اللي بتصطدم بـTailwind ─────────────────────────────\n كل أسماء السلّم مخترَعة (micro · ui · body · lead · h4…) إلا `base`\n — ده اسم مقاس مدمج، وTailwind بيعرّف معاه `--text-base--line-height`\n بـ1.5. فتجاوز `--text-base` بياخد المقاس ويسيب ارتفاع السطر، وأداة\n `text-base` بتطبع الاتنين.\n\n والنتيجة إن الأداة بتغلب قاعدة ارتفاع السطر بتاعة الحقول (تحت في\n `@layer base`) — الأدوات بتغلب الأساس مهما كانت الأولوية — فيرجع\n الحقل الكبير لـ1.5 وتتقصّ ذيول «ي» و«ج» ١٫٨٥px. والباقي سليم لأن\n أسماءه مالهاش نظير مدمج.\n\n `initial` بتشيل الاقتران فتطبع الأداة المقاس بس زي بقية السلّم. */"
|
|
297
|
-
},
|
|
263
|
+
{},
|
|
298
264
|
{
|
|
299
265
|
"ref": "text.base.lineheight",
|
|
300
266
|
"css": "--text-base--line-height"
|
|
@@ -323,9 +289,7 @@
|
|
|
323
289
|
"ref": "text.hero",
|
|
324
290
|
"css": "--text-hero"
|
|
325
291
|
},
|
|
326
|
-
{
|
|
327
|
-
"comment": " /* ── درجتين تسويقيتين ─────────────────────────────────────────────────\n صفحة الهبوط سلّمها أكبر من سلّم اللوحة — اللوحة بتعرض بيانات كتير\n في مساحة ضيقة، والهبوط بيعرض جملة واحدة على شاشة كاملة. المرجع\n فيه ١٠ مقاسات بره السلّم؛ تمانية منهم بيتقرّبوا لدرجة موجودة\n (38→display · 34→display · 29→h1 · 27→h2 · 25→h2 · 21→h3 · 19→h3\n · 18→h4)، والاتنين دول مالهمش أقرب من ٤px فبيتضافوا.\n مالهمش استخدام جوّه اللوحة — لو ظهروا فيها يبقى فيه غلط. */"
|
|
328
|
-
},
|
|
292
|
+
{},
|
|
329
293
|
{
|
|
330
294
|
"ref": "text.title",
|
|
331
295
|
"css": "--text-title"
|
|
@@ -337,15 +301,9 @@
|
|
|
337
301
|
{
|
|
338
302
|
"blank": true
|
|
339
303
|
},
|
|
340
|
-
{
|
|
341
|
-
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
"comment": " /* ── عرض الحاويات ──────────────────────────────────────────────────────\n مقاسان لا أكثر، وبأسماء لا بأرقام مكتوبة في الصفحات.\n\n `shell` سقف اللوحة كلّها؛ و`page` عمود القراءة: كل صفحة تُقرأ سطراً\n بعد سطر — تفصيل، أو نموذج، أو إعدادات — تأخذه، وكل صفحة جدولها هو\n محتواها تأخذ `shell` كاملاً.\n\n كان في المشروع أربعة مقاسات (٨٨٠ · ٩٢٠ · ٩٨٠ · ٥٨٠) مكتوبة بالإيد\n في ستّ عشرة شاشة. الفرق بين ٨٨٠ و٩٢٠ لا يُقرأ سبباً — يُقرأ سهواً،\n والتنقّل بين صفحتين متجاورتين يُظهر الحافّة وهي تقفز أربعين بكسل.\n والرقم المكتوب بالإيد يعود يتفرّق: التوكن يمنع عودته. */"
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
"comment": " /* ── الفلسفة اتغيّرت: مفيش عصر ────────────────────────────────────\n `page` كان ٨٨٠px كعمود قراءة، و`shell` ١٤٤٠. النتيجة إن تفاصيل\n الطلب ومحرّر المنتج والإعدادات — ٢٤ شاشة — بيتحشروا في تلت الشاشة\n على ٢٧ بوصة، والفراغ حواليهم بيتقري صفحة مش مخلّصة لا عمود مقصود.\n\n الاتنين بقوا واحد: الصفحة بتاخد عرضها كامل لحد السقف. والسقف باقي\n لأن غيابه مش «بلا حاوية» — هو حاوية بعرض الشاشة: صفّ «تسمية ← قيمة»\n على ٣٤٤٠px بيبعد طرفيه تلات آلاف بكسل، والعين بتلفّ بدل ما تمسح.\n\n لو رجعنا لعمود القراءة يوماً: `--container-page` يرجع ٨٨٠ وبس —\n الـ٢٤ شاشة بتقراه من التوكن مش مكتوب فيها. */"
|
|
348
|
-
},
|
|
304
|
+
{},
|
|
305
|
+
{},
|
|
306
|
+
{},
|
|
349
307
|
{
|
|
350
308
|
"ref": "container.page",
|
|
351
309
|
"css": "--container-page"
|
|
@@ -357,9 +315,7 @@
|
|
|
357
315
|
{
|
|
358
316
|
"blank": true
|
|
359
317
|
},
|
|
360
|
-
{
|
|
361
|
-
"comment": " /* عرض السطر لا عرض الحاوية — سقف على النصّ حتى لا يمتدّ السطر\n فيضيع طرفه على العين. درجتان: `note` للسطر أو السطرين تحت\n عنوان أو في حالة فارغة، و`lead` للفقرة القائمة بنفسها.\n كانت ستّ قيم (٣٢٠ · ٣٣٠ · ٣٤٠ · ٣٨٠ · ٤٦٠ · ٥٢٠) لا يفرّق\n بينها شيء يُقصد. */"
|
|
362
|
-
},
|
|
318
|
+
{},
|
|
363
319
|
{
|
|
364
320
|
"ref": "container.note",
|
|
365
321
|
"css": "--container-note"
|
|
@@ -406,9 +362,7 @@
|
|
|
406
362
|
{
|
|
407
363
|
"blank": true
|
|
408
364
|
},
|
|
409
|
-
{
|
|
410
|
-
"comment": " /* ── الظل ──────────────────────────────────────────────────────────────\n الأربعة الأولى بتستخدم `--shadow-color` فبتتقلب مع الثيم — دي ظلال\n جوّه الصفحة، ولازم تقوى في الوضع الداكن عشان تفضل مقروءة.\n\n التلاتة الأخيرة قيمها ثابتة عن قصد: دي طبقات فوق أرضية معتّمة\n أصلاً (backdrop)، فالخلفية اللي وراها مش بتتغيّر مع الثيم. */"
|
|
411
|
-
},
|
|
365
|
+
{},
|
|
412
366
|
{
|
|
413
367
|
"ref": "shadow.raise",
|
|
414
368
|
"css": "--shadow-raise"
|
|
@@ -436,9 +390,7 @@
|
|
|
436
390
|
"ref": "shadow.toast",
|
|
437
391
|
"css": "--shadow-toast"
|
|
438
392
|
},
|
|
439
|
-
{
|
|
440
|
-
"comment": " /* طالع من تحت — الإزاحة سالبة، والخط الداخلي بيدّي حافة علوية للشيت */"
|
|
441
|
-
},
|
|
393
|
+
{},
|
|
442
394
|
{
|
|
443
395
|
"ref": "shadow.sheet",
|
|
444
396
|
"css": "--shadow-sheet"
|
|
@@ -446,9 +398,7 @@
|
|
|
446
398
|
{
|
|
447
399
|
"blank": true
|
|
448
400
|
},
|
|
449
|
-
{
|
|
450
|
-
"comment": " /* ── ألوان الكود — Visual Studio Code ──────────────────────────────────\n التوثيق وسط تاني: الكود مش نص عادي، والتلوين فيه **بنية** مش زينة —\n بيفرّق الوسم عن السمة عن القيمة، وده اللي بيخلّي المطوّر يمسح مقطع\n من عشر أسطر بنظرة. وعشان كده ليه توكنز مستقلة مش استعارة من ألوان\n الحالة: `--color-green` معناه «نجح»، ولو النص بين علامتين اقتباس\n أخضر لنفس السبب يبقى المعنى اتخفّف.\n\n ── ليه ألوان محرّر جاهز مش ألوان قمرة ──────────────────────────────\n دي الحتة الوحيدة في النظام اللي **المرجع فيها بره قمرة**، والسبب إن\n المستخدم هنا مطوّر بيقضّي يومه في محرّر. لوحة قمرة على مقطع كود\n معناها إنه يقرا بنية بلون مش متعوّد عليه، وبعدين ينسخه فيلاقيه\n بلون تاني في محرّره. التطابق مع المحرّر بيوفّر الترجمة دي.\n القيم من `light_plus` و`dark_plus` حرفياً — أي «تقريب» بيضيّع\n السبب كله.\n\n ست أدوار مش خمسة: الكلمة المحجوزة (`const` · `import`) اتفصلت عن\n الوسم لأنها كانت **مش ملوّنة أصلاً**، ودي أوضح فرق بين المقطع هنا\n وبين نفسه في المحرّر.\n\n ── وليه داكن حتى في الوضع الفاتح ───────────────────────────────────\n دي القيم الوحيدة في الملف اللي **مابتتقلبش مع الثيم**، ومعاها سبب\n زي `--color-tint` و`--color-red-100` بالظبط: أرضيتها مش أرضية\n الصفحة.\n\n بلوك الكود مش «فقرة بخط تاني» — هو **نافذة محرّر متحطّة في\n الصفحة**، والمحرّر داكن عند أغلب اللي هيقروا. لو اتقلب مع الثيم\n بيبقى قطعة من الصفحة، ولو فضل داكن بيتقري مقتطع من المكان اللي\n الكود ده رايح ليه.\n\n والمقطع نفسه بيتنسخ ويتلزق في المحرّر — فالتطابق بيوفّر ترجمة\n بصرية مرتين: وانت بتقراه، ولما تشوفه هناك.\n\n التباين على `code-bg` — السبعة كلهم فوق 4.5:\n 11.12 · 5.59 · 8.09 · 11.05 · 6.24 · 9.70 · 4.95 */"
|
|
451
|
-
},
|
|
401
|
+
{},
|
|
452
402
|
{
|
|
453
403
|
"ref": "color.code.bg",
|
|
454
404
|
"css": "--color-code-bg"
|
|
@@ -481,9 +431,7 @@
|
|
|
481
431
|
"ref": "color.code.note",
|
|
482
432
|
"css": "--color-code-note"
|
|
483
433
|
},
|
|
484
|
-
{
|
|
485
|
-
"comment": " /* طاقم البلوك — شريط العنوان وزرار النسخ والفاصل الداخلي.\n `muted2` و`line` بتوع الصفحة مش شغّالين هنا: أرضيتهم بتتقلب وأرضية\n البلوك لأ، فـ`muted2` في الوضع الفاتح كان بيدّي 3.37 على الأسود.\n دول مقاسين على `#1f1f1f` وبس. */"
|
|
486
|
-
},
|
|
434
|
+
{},
|
|
487
435
|
{
|
|
488
436
|
"ref": "color.code.dim",
|
|
489
437
|
"css": "--color-code-dim"
|
|
@@ -495,9 +443,7 @@
|
|
|
495
443
|
{
|
|
496
444
|
"blank": true
|
|
497
445
|
},
|
|
498
|
-
{
|
|
499
|
-
"comment": " /* أرضية الكود المضمّن جوّه جملة — **بتتقلب** مع الثيم عكس اللي فوق.\n الكلمة جوّه فقرة عربية مش نافذة محرّر: أرضية سودة حواليها بتقطع\n السطر وبتسحب العين لها بدل ما تخلّيها تكمّل قراية. الفرق في\n الدور مش في الوسط. */"
|
|
500
|
-
},
|
|
446
|
+
{},
|
|
501
447
|
{
|
|
502
448
|
"ref": "color.code.chip",
|
|
503
449
|
"css": "--color-code-chip"
|
|
@@ -513,23 +459,17 @@
|
|
|
513
459
|
"ref": "animate.qslide",
|
|
514
460
|
"css": "--animate-qslide"
|
|
515
461
|
},
|
|
516
|
-
{
|
|
517
|
-
"comment": " /* ظهور من أسفل — للبطاقات التي تُقحم نفسها على المستخدم. أبطأ من\n `qfade` عمداً: ما يظهر بلا طلب يجب أن يُرى وهو يظهر، لا أن يجد\n المستخدم نفسه أمامه. */"
|
|
518
|
-
},
|
|
462
|
+
{},
|
|
519
463
|
{
|
|
520
464
|
"ref": "animate.tip.DEFAULT",
|
|
521
465
|
"css": "--animate-tip"
|
|
522
466
|
},
|
|
523
|
-
{
|
|
524
|
-
"comment": " /* الشريط السفليّ يطلع من تحت الشاشة — حركة تقول «جئت من هنا» */"
|
|
525
|
-
},
|
|
467
|
+
{},
|
|
526
468
|
{
|
|
527
469
|
"ref": "animate.tip.up",
|
|
528
470
|
"css": "--animate-tip-up"
|
|
529
471
|
},
|
|
530
|
-
{
|
|
531
|
-
"comment": " /* درج جانبي — نسختان لأن `transform` لا ينقلب مع اتجاه الصفحة:\n اللوح على الحافّة الطرفية، وهي اليمين في LTR واليسار في RTL. */"
|
|
532
|
-
},
|
|
472
|
+
{},
|
|
533
473
|
{
|
|
534
474
|
"ref": "animate.drawer.DEFAULT",
|
|
535
475
|
"css": "--animate-drawer"
|
|
@@ -538,9 +478,7 @@
|
|
|
538
478
|
"ref": "animate.drawer.rtl",
|
|
539
479
|
"css": "--animate-drawer-rtl"
|
|
540
480
|
},
|
|
541
|
-
{
|
|
542
|
-
"comment": " /* شريط الحفظ — ينزلق من فوق ويطلع من فوق. الحركة تقول إنه حلّ محلّ\n ما كان هنا، لا إنه طبقة جديدة فوقه. أسرع من الدرج لأنه لا ينتظر\n قراءة: المستخدم يعرف أنه عدّل، والشريط يؤكّد لا يُخبر. */"
|
|
543
|
-
},
|
|
481
|
+
{},
|
|
544
482
|
{
|
|
545
483
|
"ref": "animate.savebar",
|
|
546
484
|
"css": "--animate-savebar"
|
|
@@ -548,9 +486,7 @@
|
|
|
548
486
|
{
|
|
549
487
|
"blank": true
|
|
550
488
|
},
|
|
551
|
-
{
|
|
552
|
-
"comment": " /* ── نبض الهيكل ────────────────────────────────────────────────────────\n `animate-pulse` بتاع Tailwind بينزّل الشفافية لـ**٥٠٪**، وده بياكل\n نصّ الفرق بين التعبئة والسطح: هيكل بـ1.39 بيوصل 1.12 عند الحضيض —\n يعني بيختفي ويرجع مع كل دورة.\n\n السبب إن الشفافية معمولة للعناصر اللي تباينها عالي أصلاً (نصّ، صورة).\n والهيكل بالتعريف **خافت**، فنسبة النزول لازم تبقى أقلّ.\n\n ٧٠٪ بتسيب 1.26 عند الحضيض — الحركة لسه بتتشاف والعصا مابتغيبش.\n و1.6s أبطأ من 2s بتاعة Tailwind لأن الحركة الأضيق محتاجة وقت أطول\n عشان تتقري كنبض لا كوميض. */"
|
|
553
|
-
},
|
|
489
|
+
{},
|
|
554
490
|
{
|
|
555
491
|
"ref": "animate.skeleton",
|
|
556
492
|
"css": "--animate-skeleton"
|
|
@@ -558,12 +494,12 @@
|
|
|
558
494
|
]
|
|
559
495
|
},
|
|
560
496
|
"root": {
|
|
561
|
-
"gap": [
|
|
497
|
+
"gap": [
|
|
498
|
+
""
|
|
499
|
+
],
|
|
562
500
|
"open": ":root {",
|
|
563
501
|
"items": [
|
|
564
|
-
{
|
|
565
|
-
"comment": " /* ── إعلان الوضع للمتصفّح ────────────────────────────────────────────\n المتصفّح بيرسم أجزاء **مش إحنا اللي بنلوّنها**: قائمة `<select>`\n المنبثقة، وشريط التمرير، ومنتقي التاريخ، وأرضية الملء التلقائي،\n وحلقة التركيز الافتراضية. دي بترسمها المنصّة لا الـCSS بتاعنا.\n\n من غير `color-scheme` المتصفّح بيفترض **فاتح دايماً** — فقائمة\n `<select>` في الوضع الداكن بتطلع بنصّ غامق على أرضية غامقة، والخيار\n المحدَّد شريط أزرق فاضي بلا كلام. مافيش أي CSS على `<option>` بيصلّح\n ده: العنصر بيترسم برّه الصفحة.\n\n والسطر ده هو الإصلاح الوحيد — وبيشتغل على الخمس حاجات مرّة واحدة. */"
|
|
566
|
-
},
|
|
502
|
+
{},
|
|
567
503
|
{
|
|
568
504
|
"css_raw": " color-scheme: light;"
|
|
569
505
|
},
|
|
@@ -574,16 +510,12 @@
|
|
|
574
510
|
"ref": "shadow.color",
|
|
575
511
|
"css": "--shadow-color"
|
|
576
512
|
},
|
|
577
|
-
{
|
|
578
|
-
"comment": " /* اتجاه محاذاة الأرقام — بيتقلب مع اتجاه الصفحة */"
|
|
579
|
-
},
|
|
513
|
+
{},
|
|
580
514
|
{
|
|
581
515
|
"ref": "num.align.DEFAULT",
|
|
582
516
|
"css": "--num-align"
|
|
583
517
|
},
|
|
584
|
-
{
|
|
585
|
-
"comment": " /* ── الرقم اللي ليه لاحقة ──────────────────────────────────────────────\n `far` = ناحية **نهاية الصفحة**، وهي ناحية اللاحقة.\n و`pad-right`/`pad-left` **فيزيائيين عن قصد**: الحقل نفسه\n `direction: ltr` (من `[data-num]`)، فأي حشو منطقي (`pe-`) بيتحسب\n على LTR ويروح الناحية الغلط — وده اللي كان بيخلّي الرقم يتراكب\n على «ج.م». */"
|
|
586
|
-
},
|
|
518
|
+
{},
|
|
587
519
|
{
|
|
588
520
|
"ref": "num.align.far",
|
|
589
521
|
"css": "--num-align-far"
|
|
@@ -596,9 +528,7 @@
|
|
|
596
528
|
"ref": "num.pad.left",
|
|
597
529
|
"css": "--num-pad-left"
|
|
598
530
|
},
|
|
599
|
-
{
|
|
600
|
-
"comment": " /* ونفس الحكاية مع الأيقونة السابقة: الأيقونة بتتحطّ بحساب اتجاه\n **الصفحة** (`start-3.5` على الغلاف)، والحشو بحساب `ltr` بتاع الرقم\n — فالاتنين بيقعوا في ناحية واحدة والرقم بيتراكب على الأيقونة. */"
|
|
601
|
-
},
|
|
531
|
+
{},
|
|
602
532
|
{
|
|
603
533
|
"ref": "num.icon.pad.right",
|
|
604
534
|
"css": "--num-icon-pad-right"
|
|
@@ -610,7 +540,9 @@
|
|
|
610
540
|
]
|
|
611
541
|
},
|
|
612
542
|
"ltr": {
|
|
613
|
-
"gap": [
|
|
543
|
+
"gap": [
|
|
544
|
+
""
|
|
545
|
+
],
|
|
614
546
|
"open": "html[dir=\"ltr\"] {",
|
|
615
547
|
"items": [
|
|
616
548
|
{
|
|
@@ -640,12 +572,12 @@
|
|
|
640
572
|
]
|
|
641
573
|
},
|
|
642
574
|
"dark": {
|
|
643
|
-
"gap": [
|
|
575
|
+
"gap": [
|
|
576
|
+
""
|
|
577
|
+
],
|
|
644
578
|
"open": "html[data-theme=\"dark\"] {",
|
|
645
579
|
"items": [
|
|
646
|
-
{
|
|
647
|
-
"comment": " /* الشرح عند القيمة الفاتحة في `:root` */"
|
|
648
|
-
},
|
|
580
|
+
{},
|
|
649
581
|
{
|
|
650
582
|
"css_raw": " color-scheme: dark;"
|
|
651
583
|
},
|
|
@@ -700,9 +632,7 @@
|
|
|
700
632
|
"ref": "color.brand.ink",
|
|
701
633
|
"css": "--color-brand-ink"
|
|
702
634
|
},
|
|
703
|
-
{
|
|
704
|
-
"comment": " /* الهيكل — نفس التباين بالظبط (1.39) مقلوباً. الشرح عند القيمة الفاتحة. */"
|
|
705
|
-
},
|
|
635
|
+
{},
|
|
706
636
|
{
|
|
707
637
|
"ref": "color.skeleton",
|
|
708
638
|
"css": "--color-skeleton"
|
|
@@ -714,9 +644,7 @@
|
|
|
714
644
|
{
|
|
715
645
|
"blank": true
|
|
716
646
|
},
|
|
717
|
-
{
|
|
718
|
-
"comment": " /* الأحمر النصّي لازم يتقلب — #8e2b20 على #101718 بيدّي 2.17:1،\n يعني رسالة الخطأ مكانتش بتتقري أصلاً. البديل 9.36:1. */"
|
|
719
|
-
},
|
|
647
|
+
{},
|
|
720
648
|
{
|
|
721
649
|
"ref": "color.red.DEFAULT",
|
|
722
650
|
"css": "--color-red"
|
|
@@ -732,9 +660,7 @@
|
|
|
732
660
|
{
|
|
733
661
|
"blank": true
|
|
734
662
|
},
|
|
735
|
-
{
|
|
736
|
-
"comment": " /* باقي ألوان الحالة — نفس المنطق. الأرقام دي نص على خلفيته. */"
|
|
737
|
-
},
|
|
663
|
+
{},
|
|
738
664
|
{
|
|
739
665
|
"ref": "color.amber.DEFAULT",
|
|
740
666
|
"css": "--color-amber"
|
|
@@ -782,17 +708,14 @@
|
|
|
782
708
|
{
|
|
783
709
|
"blank": true
|
|
784
710
|
},
|
|
785
|
-
{
|
|
786
|
-
"comment": " /* ألوان الكود مش هنا — هي ثابتة في `@theme static` فوق ومابتتقلبش.\n الوحيد اللي بيتقلب هو أرضية الكود المضمّن جوّه الجُمل. */"
|
|
787
|
-
},
|
|
711
|
+
{},
|
|
788
712
|
{
|
|
789
713
|
"ref": "color.code.chip",
|
|
790
714
|
"css": "--color-code-chip"
|
|
791
715
|
}
|
|
792
716
|
]
|
|
793
717
|
}
|
|
794
|
-
}
|
|
795
|
-
"tail": "\n/* خطوط رأسية باهتة كل ٧٤px — بتدّي عمق للأرضية الداكنة من غير صورة.\n موجودة في `Qumra Accounts.dc.html` و`Qumra Landing.dc.html` بنفس القيم،\n فمكانها هنا مش جوّه تطبيق. تشتغل على الأرضيات الداكنة بس — الخطوط\n بيضا بشفافية ٣.٥٪. */\n@utility rule-grid {\n background-image: repeating-linear-gradient(\n 90deg,\n rgb(255 255 255 / 0.035) 0 1px,\n transparent 1px 74px\n );\n}\n\n/* نبض الهيكل — الشرح عند `--animate-skeleton` */\n@keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.7; }\n}\n\n@keyframes qfade {\n from { opacity: 0; transform: translateY(-6px); }\n to { opacity: 1; transform: none; }\n}\n\n@keyframes sheet-up {\n from { transform: translateY(100%); }\n to { transform: translateY(0); }\n}\n\n@keyframes drawer-ltr {\n from { transform: translateX(100%); }\n to { transform: none; }\n}\n\n@keyframes drawer-rtl {\n from { transform: translateX(-100%); }\n to { transform: none; }\n}\n\n@keyframes tip-up {\n from { transform: translateY(100%); }\n to { transform: none; }\n}\n\n@keyframes tip-in {\n from { opacity: 0; transform: translateY(12px); }\n to { opacity: 1; transform: none; }\n}\n\n@keyframes savebar-in {\n from { opacity: 0; transform: translateY(-10px); }\n to { opacity: 1; transform: none; }\n}\n\n@keyframes qslidein {\n from { transform: translateX(-100%); }\n to { transform: none; }\n}\n\n/* ظهور بسيط — للقوايم المنسدلة والتولتيب والطبقات */\n@keyframes fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* التوست بيطلع من تحت شوية — بيربط الحركة بمكانه في الشاشة */\n@keyframes toast-in {\n from { opacity: 0; transform: translateY(10px) scale(.97); }\n to { opacity: 1; transform: none; }\n}\n\n/* شريط تحميل غير محدّد — بيروح ويرجع بدل ما يدّعي نسبة مايعرفهاش.\n منطقيّ الاتجاه: `inset-inline-start` بيتقلب مع الصفحة لوحده. */\n@keyframes qload {\n 0% { inset-inline-start: -35%; }\n 100% { inset-inline-start: 100%; }\n}\n\n@layer base {\n html,\n body {\n height: 100%;\n }\n\n /* ── ذيول الحروف العربية داخل الحقول ──────────────────────────────────\n الحقل يقصّ ما يخرج عن صندوقه، وصندوق نصّه ارتفاعه ارتفاع السطر. وفي\n Alexandria ينزل ذيل «ي» و«ج» و«ص» تحت خطّ القاعدة أكثر ممّا يتركه\n سطر بارتفاع 1.5 — فيُقصّ الذيل قصّاً مستوياً ويُقرأ الحرف ناقصاً.\n اللاتينية لا تُظهر العيب لأن ذيولها أقصر، ولذلك يمرّ بلا انتباه.\n\n 1.9 يسع أطول ذيل في السلّم كلّه. ولا يزيد ارتفاع الحقل: المتصفّح\n يوسّط سطر الحقل المفرد في صندوقه، والسطر الأطول يأخذ من الفراغ\n الموجود أصلاً. والقاعدة على العنصر نفسه لا على الصنف، فتغطّي كل\n حقل في المشروع — في المكتبة أو مكتوباً بالإيد.\n\n ── والرقم مقيس لا مختار ────────────────────────────────────────────\n القصّ يقع عند **صندوق السطر** لا صندوق الحقل — فالحقل قد يكون\n ٥٦px والسطر ٢٤px فيُقصّ الذيل وحوله فراغ. والحدّ الأدنى:\n\n الصعود − الهبوط المعلَن + ٢ × هبوط الحبر\n 14 − 4 + 2×7.92 = 25.85px عند 14px ≈ 1.85\n\n لأن نصف الرصاص يوزَّع أعلى وأسفل. و1.9 فوقه بشعرة.\n\n ── وأداة `leading-*` على حقل تكسر هذا كلّه ─────────────────────────\n القاعدة في `@layer base`، والأدوات تغلب الأساس مهما كانت الأولويّة.\n فكل `leading-[…]` أو `text-*` يحمل ارتفاع سطر مقترناً يعيد العيب\n في مكانه. وقعت مرّتين: `--text-base` (انظر أعلى) و`leading-[1.7]`\n في `AiComposer` — والاثنتان كانتا تقصّان ذيل «ي». */\n input:not([type='checkbox']):not([type='radio']):not([type='range']),\n textarea,\n select {\n line-height: 1.9;\n }\n\n body {\n margin: 0;\n background: var(--color-bg);\n color: var(--color-ink);\n font-family: var(--font-sans);\n -webkit-font-smoothing: antialiased;\n overflow: hidden;\n }\n\n a {\n color: var(--color-brand);\n text-decoration: none;\n }\n a:hover {\n color: var(--color-brand-hover);\n }\n\n input {\n font-family: inherit;\n }\n\n /* حلقة تركيز موحّدة — v2 مكانش فيها، وده الشيء الوحيد اللي بزوّده\n على الأصل لأن التصميم من غيره مش قابل للتنقّل بالكيبورد. */\n :focus-visible {\n outline: 2px solid var(--color-brand);\n outline-offset: 2px;\n border-radius: 6px;\n }\n\n ::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n ::-webkit-scrollbar-thumb {\n background: var(--color-border);\n border-radius: 999px;\n }\n\n /* الأرقام جوّه نص عربي.\n `isolate` بيمنع الرقم من إنه يتلخبط مع اللي حواليه، و`tabular-nums`\n بيخلّي الخانات بعرض واحد فالأعمدة تفضل مصطفّة. والمحاذاة متثبّتة على\n اتجاه الصفحة بمتغيّر، ولأنها في @layer base أي كلاس محاذاة\n (text-end / text-center) لسه بيكسبها.\n\n ── وليه مافيش `direction: ltr` هنا ──────────────────────────────────\n كان موجود، وكان بيقلب كل مبلغ في المنصة: «34,330 ج.م» بتتقرا في\n العربي من اليمين — الرقم يمين والرمز شماله. و`ltr` كان بيحطّ الرقم\n شمال والرمز يمينه، فتُقرأ «ج.م ثم 34,330» زي «$34,330» الإنجليزية.\n\n والرقم الخالص مابيفرقش معاه اتجاه العنصر — خانة واحدة بتتعرض LTR\n في الحالتين. اللي بيحتاج `ltr` فعلاً هو النصّ المركّب اللي فيه أكتر\n من مقطع: تليفون، ورمز تخزيني، ورقم طلب — ودول مكتوب عليهم\n `dir=\"ltr\"` صراحةً في مكانهم أصلاً.\n\n وبيفضل على الحقول، لأن اتجاه الحقل بيحكم حركة علامة الإدخال وهي\n بتكتب أرقام — ومش مسألة عرض. */\n [data-num] {\n unicode-bidi: isolate;\n font-variant-numeric: tabular-nums;\n text-align: var(--num-align);\n }\n\n input[data-num],\n textarea[data-num] {\n direction: ltr;\n }\n\n /* ── سهم حقل الرقم ────────────────────────────────────────────────────\n تحكّم المتصفّح الأصلي مقفول في كل حقل `type=\"number\"`.\n\n مش تجميل — تلات أسباب:\n\n ١. **بيصطدم باللاحقة.** الحقل بلاحقة («ج.م») بيحجز مساحة في\n نهايته بـ`pe-14`، والسهم بيتحطّ في نفس المكان من غير ما يعرف\n إن فيه حاجة هناك. الاتنين بيتراكبوا.\n\n ٢. **موضعه بيتلخبط مع `[data-num]`.** الحقل جوّه صفحة عربية\n والرقم `direction: ltr` — فالسهم بيتحطّ ناحية والقيمة ناحية،\n والنتيجة سهم في نصّ الحقل زي ما في اللقطة.\n\n ٣. **مقاسه من نظام التشغيل.** ١٥ بكسل تقريباً وبيتغيّر بين\n المتصفّحات، ومستحيل يعدّي حدّ الهدف اللمسي (٢٤ بكسل).\n\n اللي عايز يزوّد وينقّص بزرار بيحطّ زرارين ظاهرين — دي عناصر\n التحكّم بتاعتنا وليها حجم ومسافة مقروءين، مش أسهم النظام. */\n input[type='number'] {\n appearance: textfield;\n -moz-appearance: textfield;\n }\n\n\n input[type='number']::-webkit-outer-spin-button,\n input[type='number']::-webkit-inner-spin-button {\n appearance: none;\n -webkit-appearance: none;\n margin: 0;\n }\n\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n transition-duration: 0.01ms !important;\n }\n }\n}\n\n/* ── الرقم بلاحقة ────────────────────────────────────────────────────────\n الرقم لوحده بيتحاذى ناحية بداية الصفحة (`--num-align`) — ده صح في عمود\n جدول: كل الأرقام بتصطفّ تحت بعضها فالمقارنة بينها بنظرة.\n\n لكن الحقل اللي ليه لاحقة («ج.م») مختلف: اللاحقة عنصر مطلق في **نهاية**\n الحقل، والرقم في **بدايته** — فبينهم عرض الحقل كله. النتيجة إنك تقرا\n «٠» وتقطع ٣٩٠ بكسل عشان تلاقي «ج.م».\n\n هنا الرقم بيتحاذى ناحية اللاحقة فيلزق فيها، والوحدة بتبقى على شماله في\n العربي — «١٢٥٠ ج.م» زي ما بتتكتب.\n\n ── وليه بره `@layer base` ────────────────────────────────────────────\n الطبقات بتكسب على التخصيص: أي كلاس utility من Tailwind بيغلب أي قاعدة\n في `base` مهما كان تخصيصها. والحقل عليه `pe-14`، فالقاعدة دي لازم تبقى\n بعد الطبقات عشان تكسبه. */\n[data-num][data-suffix] {\n text-align: var(--num-align-far);\n padding-right: var(--num-pad-right);\n padding-left: var(--num-pad-left);\n}\n\n[data-num][data-icon] {\n padding-right: var(--num-icon-pad-right);\n padding-left: var(--num-icon-pad-left);\n}\n"
|
|
718
|
+
}
|
|
796
719
|
}
|
|
797
720
|
},
|
|
798
721
|
"font": {
|
|
@@ -1081,8 +1004,7 @@
|
|
|
1081
1004
|
"css": "--color-amber",
|
|
1082
1005
|
"overrides": {
|
|
1083
1006
|
"dark": {
|
|
1084
|
-
"value": "#f8ac33"
|
|
1085
|
-
"trail": " /* 8.33 على amber-bg */"
|
|
1007
|
+
"value": "#f8ac33"
|
|
1086
1008
|
}
|
|
1087
1009
|
}
|
|
1088
1010
|
}
|
|
@@ -1110,8 +1032,7 @@
|
|
|
1110
1032
|
"css": "--color-amber-ink",
|
|
1111
1033
|
"overrides": {
|
|
1112
1034
|
"dark": {
|
|
1113
|
-
"value": "#f5c77a"
|
|
1114
|
-
"trail": " /* 10.15 */"
|
|
1035
|
+
"value": "#f5c77a"
|
|
1115
1036
|
}
|
|
1116
1037
|
}
|
|
1117
1038
|
}
|
|
@@ -1150,8 +1071,7 @@
|
|
|
1150
1071
|
"css": "--color-green",
|
|
1151
1072
|
"overrides": {
|
|
1152
1073
|
"dark": {
|
|
1153
|
-
"value": "#6ecf9a"
|
|
1154
|
-
"trail": " /* 8.03 على green-bg2 */"
|
|
1074
|
+
"value": "#6ecf9a"
|
|
1155
1075
|
}
|
|
1156
1076
|
}
|
|
1157
1077
|
}
|
|
@@ -1218,8 +1138,7 @@
|
|
|
1218
1138
|
"css": "--color-violet",
|
|
1219
1139
|
"overrides": {
|
|
1220
1140
|
"dark": {
|
|
1221
|
-
"value": "#b9aeea"
|
|
1222
|
-
"trail": " /* 8.24 على violet-bg */"
|
|
1141
|
+
"value": "#b9aeea"
|
|
1223
1142
|
}
|
|
1224
1143
|
}
|
|
1225
1144
|
}
|
|
@@ -1390,8 +1309,7 @@
|
|
|
1390
1309
|
"$value": "#1f1f1f",
|
|
1391
1310
|
"$extensions": {
|
|
1392
1311
|
"cloud.qumra.fanar": {
|
|
1393
|
-
"css": "--color-code-bg"
|
|
1394
|
-
"trail": " /* أرضية المحرّر نفسها */"
|
|
1312
|
+
"css": "--color-code-bg"
|
|
1395
1313
|
}
|
|
1396
1314
|
}
|
|
1397
1315
|
},
|
|
@@ -1400,8 +1318,7 @@
|
|
|
1400
1318
|
"$value": "#d4d4d4",
|
|
1401
1319
|
"$extensions": {
|
|
1402
1320
|
"cloud.qumra.fanar": {
|
|
1403
|
-
"css": "--color-code-plain"
|
|
1404
|
-
"trail": " /* النص العادي — لون المحرّر مش لون الصفحة */"
|
|
1321
|
+
"css": "--color-code-plain"
|
|
1405
1322
|
}
|
|
1406
1323
|
}
|
|
1407
1324
|
},
|
|
@@ -1410,8 +1327,7 @@
|
|
|
1410
1327
|
"$value": "#569cd6",
|
|
1411
1328
|
"$extensions": {
|
|
1412
1329
|
"cloud.qumra.fanar": {
|
|
1413
|
-
"css": "--color-code-key"
|
|
1414
|
-
"trail": " /* `const` · `import` · `return` · `true` */"
|
|
1330
|
+
"css": "--color-code-key"
|
|
1415
1331
|
}
|
|
1416
1332
|
}
|
|
1417
1333
|
},
|
|
@@ -1420,8 +1336,7 @@
|
|
|
1420
1336
|
"$value": "#4ec9b0",
|
|
1421
1337
|
"$extensions": {
|
|
1422
1338
|
"cloud.qumra.fanar": {
|
|
1423
|
-
"css": "--color-code-tag"
|
|
1424
|
-
"trail": " /* اسم الوسم والمكوّن — `<Button` */"
|
|
1339
|
+
"css": "--color-code-tag"
|
|
1425
1340
|
}
|
|
1426
1341
|
}
|
|
1427
1342
|
},
|
|
@@ -1430,8 +1345,7 @@
|
|
|
1430
1345
|
"$value": "#9cdcfe",
|
|
1431
1346
|
"$extensions": {
|
|
1432
1347
|
"cloud.qumra.fanar": {
|
|
1433
|
-
"css": "--color-code-attr"
|
|
1434
|
-
"trail": " /* اسم السمة، اسم الخاصية في JSON */"
|
|
1348
|
+
"css": "--color-code-attr"
|
|
1435
1349
|
}
|
|
1436
1350
|
}
|
|
1437
1351
|
},
|
|
@@ -1440,8 +1354,7 @@
|
|
|
1440
1354
|
"$value": "#ce9178",
|
|
1441
1355
|
"$extensions": {
|
|
1442
1356
|
"cloud.qumra.fanar": {
|
|
1443
|
-
"css": "--color-code-str"
|
|
1444
|
-
"trail": " /* النص بين علامتين */"
|
|
1357
|
+
"css": "--color-code-str"
|
|
1445
1358
|
}
|
|
1446
1359
|
}
|
|
1447
1360
|
},
|
|
@@ -1450,8 +1363,7 @@
|
|
|
1450
1363
|
"$value": "#b5cea8",
|
|
1451
1364
|
"$extensions": {
|
|
1452
1365
|
"cloud.qumra.fanar": {
|
|
1453
|
-
"css": "--color-code-num"
|
|
1454
|
-
"trail": " /* الرقم */"
|
|
1366
|
+
"css": "--color-code-num"
|
|
1455
1367
|
}
|
|
1456
1368
|
}
|
|
1457
1369
|
},
|
|
@@ -1460,8 +1372,7 @@
|
|
|
1460
1372
|
"$value": "#6a9955",
|
|
1461
1373
|
"$extensions": {
|
|
1462
1374
|
"cloud.qumra.fanar": {
|
|
1463
|
-
"css": "--color-code-note"
|
|
1464
|
-
"trail": " /* التعليق */"
|
|
1375
|
+
"css": "--color-code-note"
|
|
1465
1376
|
}
|
|
1466
1377
|
}
|
|
1467
1378
|
},
|
|
@@ -1470,8 +1381,7 @@
|
|
|
1470
1381
|
"$value": "#858585",
|
|
1471
1382
|
"$extensions": {
|
|
1472
1383
|
"cloud.qumra.fanar": {
|
|
1473
|
-
"css": "--color-code-dim"
|
|
1474
|
-
"trail": " /* 4.47 على code-bg */"
|
|
1384
|
+
"css": "--color-code-dim"
|
|
1475
1385
|
}
|
|
1476
1386
|
}
|
|
1477
1387
|
},
|
|
@@ -1480,8 +1390,7 @@
|
|
|
1480
1390
|
"$value": "#303031",
|
|
1481
1391
|
"$extensions": {
|
|
1482
1392
|
"cloud.qumra.fanar": {
|
|
1483
|
-
"css": "--color-code-line"
|
|
1484
|
-
"trail": " /* الفاصل الداخلي — حدّ لوحة المحرّر */"
|
|
1393
|
+
"css": "--color-code-line"
|
|
1485
1394
|
}
|
|
1486
1395
|
}
|
|
1487
1396
|
},
|