diff --git a/.bundle/config b/.bundle/config new file mode 100644 index 0000000..d747edd --- /dev/null +++ b/.bundle/config @@ -0,0 +1,2 @@ +--- +BUNDLE_PATH: ".gems" diff --git a/Gemfile b/Gemfile index 4ced032..eaffe9d 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,6 @@ source "https://rubygems.org" # nanoc gem "nanoc", "~> 4.12" gem "nanoc-webpack.rb", "~> 0.10" -gem "nanoc-tidy.rb", "~> 0.8.4" ## # dev diff --git a/Gemfile.lock b/Gemfile.lock index d9e012e..a15572e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -60,9 +60,6 @@ GEM nanoc-checking (~> 1.0) nanoc-cli (~> 4.11, >= 4.11.15) nanoc-core (~> 4.11, >= 4.11.15) - nanoc-tidy.rb (0.8.4) - ryo.rb (~> 0.5) - test-cmd.rb (~> 0.12.4) nanoc-webpack.rb (0.10.6) ryo.rb (~> 0.5) test-cmd.rb (~> 0.12.4) @@ -149,7 +146,6 @@ PLATFORMS DEPENDENCIES listen (~> 3.0) nanoc (~> 4.12) - nanoc-tidy.rb (~> 0.8.4) nanoc-webpack.rb (~> 0.10) paint (~> 2.3) rake (~> 13.2) diff --git a/Rules b/Rules index ac761ac..4f14102 100644 --- a/Rules +++ b/Rules @@ -7,7 +7,6 @@ require "ryo" require "ryo/json" require "ryo/yaml" require "nanoc-webpack" -require "nanoc-tidy" ## # Extensions @@ -23,36 +22,32 @@ tdata = Ryo.from_json(path: File.join(dirs.content, "json", "t.json")) surahs = Ryo.from_json(path: File.join(dirs.content, "json", "surahs.json")) tidy = `which tidy || which tidy5`.chomp buildenv = ENV["buildenv"] || "development" -etcdir = File.join(__dir__, "etc") -globals = {buildenv:, locales:, tidy:, tdata:, surahs:, name_by_id:} - -## -# Filters -Nanoc::Tidy - .default_argv - .replace([*Nanoc::Tidy.default_argv, "-upper"].uniq) ## # Rules -passthrough "/json/durations/*.json" +passthrough "/json/**/*.json" require_rules "nanoc/rules/assets" -require_rules "nanoc/rules/redirect", globals -require_rules "nanoc/rules/random", globals -require_rules "nanoc/rules/surah-stream", globals -require_rules "nanoc/rules/surah-index", globals -compile "/js/main/vendor.ts" do +compile "/js/vendor.ts" do filter :webpack, argv: %w[--config etc/webpack.vendor.js] - write("/js/main/vendor.js") + write("/js/vendor.js") end + +compile("/js/index.tsx") do + filter :webpack, + argv: ["--config", "etc/webpack.#{buildenv}.js"], + depend_on: ["/js/components", "/js/lib", "/js/hooks", "/css"] + write("/js/index.js") +end + +compile("/html/index.html") do + write("/index.html") +end + compile("/manifest.webapp") do write("/manifest.webapp") end + compile("/**/*") { write(nil) } layout("**/*", :erb) - -postprocess do - # Remove build artifacts - system "rm -rf #{nanoc.output_dir}/json/" -end diff --git a/package-lock.json b/package-lock.json index 9d46285..6fd6874 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,8 @@ "dependencies": { "@preact/compat": "^17.1.2", "classnames": "^2.3", - "preact": "^10.23.2" + "preact": "^10.23.2", + "preact-router": "^4.1.2" }, "devDependencies": { "@babel/preset-env": "^7.25.4", @@ -3059,9 +3060,9 @@ } }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, "license": "MIT", "dependencies": { @@ -5227,6 +5228,15 @@ "url": "https://opencollective.com/preact" } }, + "node_modules/preact-router": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/preact-router/-/preact-router-4.1.2.tgz", + "integrity": "sha512-uICUaUFYh+XQ+6vZtQn1q+X6rSqwq+zorWOCLWPF5FAsQh3EJ+RsDQ9Ee+fjk545YWQHfUxhrBAaemfxEnMOUg==", + "license": "MIT", + "peerDependencies": { + "preact": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6381,6 +6391,7 @@ "license": "0BSDL", "devDependencies": { "@types/node": "^22.0", + "babel-loader": "^9.2.1", "typescript": "^5.5" } } diff --git a/package.json b/package.json index a980946..584664d 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,10 @@ "eslint:apply": "npx eslint --config etc/eslint.config.mjs --fix src/js/" }, "dependencies": { - "preact": "^10.23.2", "@preact/compat": "^17.1.2", - "classnames": "^2.3" + "classnames": "^2.3", + "preact": "^10.23.2", + "preact-router": "^4.1.2" }, "devDependencies": { "@babel/preset-env": "^7.25.4", diff --git a/packages/typescript/Quran/.editorconfig b/packages/typescript/Quran/.editorconfig new file mode 100644 index 0000000..ec6d073 --- /dev/null +++ b/packages/typescript/Quran/.editorconfig @@ -0,0 +1,17 @@ +root = true + +[*.html] +indent_style = space +indent_size = 2 + +[*.rb, *.erb] +indent_style = space +indent_size = 2 + +[*.js, *.ts, *.tsx] +indent_style = space +indent_size = 2 + +[*.scss] +indent_style = space +indent_size = 2 diff --git a/packages/typescript/Quran/tsconfig.json b/packages/typescript/Quran/etc/tsconfig.json similarity index 100% rename from packages/typescript/Quran/tsconfig.json rename to packages/typescript/Quran/etc/tsconfig.json diff --git a/packages/typescript/Quran/index.ts b/packages/typescript/Quran/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/typescript/Quran/package.json b/packages/typescript/Quran/package.json index 32f6428..fb0cb10 100644 --- a/packages/typescript/Quran/package.json +++ b/packages/typescript/Quran/package.json @@ -1,11 +1,13 @@ { "name": "Quran", "version": "0.1.0", - "description": "The Noble Quran: a programmer's interface", + "description": "A programmer's interface to The Noble Quran", "main": "dist/index.js", - "types": ["dist/index.d.ts"], + "types": [ + "dist/index.d.ts" + ], "scripts": { - "build": "npm exec tsc", + "build": "npx webpack --config etc/webpack.config.js", "prepare": "npm run build" }, "repository": { @@ -16,6 +18,7 @@ "license": "0BSDL", "devDependencies": { "@types/node": "^22.0", + "babel-loader": "^9.2.1", "typescript": "^5.5" } } diff --git a/packages/typescript/Quran/src/index.ts b/packages/typescript/Quran/src/index.ts index 3a52a4b..d0234b7 100644 --- a/packages/typescript/Quran/src/index.ts +++ b/packages/typescript/Quran/src/index.ts @@ -36,14 +36,26 @@ class Quran { readonly surahs: Surah[]; /** - * @returns {Array} The available locales + * @returns {Record} The available locales */ - static get locales(): TLocale[] { - return [ - {"name": "en", "displayName": "English", "direction": "ltr"}, - {"name": "ar", "displayName": "العربية", "direction": "rtl"}, - {"name": "fa", "displayName": "فارسی", "direction": "rtl"} - ]; + static get locales(): Record { + return { + "en": {"name": "en", "displayName": "English", "direction": "ltr"}, + "ar": {"name": "ar", "displayName": "العربية", "direction": "rtl"}, + "fa": {"name": "fa", "displayName": "فارسی", "direction": "rtl"} + } + } + + /** + * @returns {Record} The available surahs + */ + static get surahs(): Record { + const result: Record = {} + const surahs: Record = require("@json/surahs"); + for (const locale in surahs) { + result[locale] = surahs[locale].map((surah: TSurah) => new Surah(surah)); + } + return result; } constructor(self: TQuran) { diff --git a/packages/typescript/Quran/src/json/surahs.json b/packages/typescript/Quran/src/json/surahs.json new file mode 100644 index 0000000..cc5370c --- /dev/null +++ b/packages/typescript/Quran/src/json/surahs.json @@ -0,0 +1,2744 @@ +{ + "ar": [ + { + "id": 1, + "name": "الفاتحة", + "numberOfAyah": 7, + "translatedBy": null, + "urlName": "al-fatihah", + "translitName": "Al-Fatihah" + }, + { + "id": 2, + "name": "البقرة", + "numberOfAyah": 286, + "translatedBy": null, + "urlName": "al-baqarah", + "translitName": "Al-Baqarah" + }, + { + "id": 3, + "name": "آل عمران", + "numberOfAyah": 200, + "translatedBy": null, + "urlName": "ali-imran", + "translitName": "Ali 'Imran" + }, + { + "id": 4, + "name": "النساء", + "numberOfAyah": 176, + "translatedBy": null, + "urlName": "an-nisa", + "translitName": "An-Nisa" + }, + { + "id": 5, + "name": "المائدة", + "numberOfAyah": 120, + "translatedBy": null, + "urlName": "al-maidah", + "translitName": "Al-Ma'idah" + }, + { + "id": 6, + "name": "الأنعام", + "numberOfAyah": 165, + "translatedBy": null, + "urlName": "al-anam", + "translitName": "Al-An'am" + }, + { + "id": 7, + "name": "الأعراف", + "numberOfAyah": 206, + "translatedBy": null, + "urlName": "al-araf", + "translitName": "Al-A'raf" + }, + { + "id": 8, + "name": "الأنفال", + "numberOfAyah": 75, + "translatedBy": null, + "urlName": "al-anfal", + "translitName": "Al-Anfal" + }, + { + "id": 9, + "name": "التوبة", + "numberOfAyah": 129, + "translatedBy": null, + "urlName": "at-tawbah", + "translitName": "At-Tawbah" + }, + { + "id": 10, + "name": "يونس", + "numberOfAyah": 109, + "translatedBy": null, + "urlName": "yunus", + "translitName": "Yunus" + }, + { + "id": 11, + "name": "هود", + "numberOfAyah": 123, + "translatedBy": null, + "urlName": "hud", + "translitName": "Hud" + }, + { + "id": 12, + "name": "يوسف", + "numberOfAyah": 111, + "translatedBy": null, + "urlName": "yusuf", + "translitName": "Yusuf" + }, + { + "id": 13, + "name": "الرعد", + "numberOfAyah": 43, + "translatedBy": null, + "urlName": "ar-rad", + "translitName": "Ar-Ra'd" + }, + { + "id": 14, + "name": "ابراهيم", + "numberOfAyah": 52, + "translatedBy": null, + "urlName": "ibrahim", + "translitName": "Ibrahim" + }, + { + "id": 15, + "name": "الحجر", + "numberOfAyah": 99, + "translatedBy": null, + "urlName": "al-hijr", + "translitName": "Al-Hijr" + }, + { + "id": 16, + "name": "النحل", + "numberOfAyah": 128, + "translatedBy": null, + "urlName": "an-nahl", + "translitName": "An-Nahl" + }, + { + "id": 17, + "name": "الإسراء", + "numberOfAyah": 111, + "translatedBy": null, + "urlName": "al-isra", + "translitName": "Al-Isra" + }, + { + "id": 18, + "name": "الكهف", + "numberOfAyah": 110, + "translatedBy": null, + "urlName": "al-kahf", + "translitName": "Al-Kahf" + }, + { + "id": 19, + "name": "مريم", + "numberOfAyah": 98, + "translatedBy": null, + "urlName": "maryam", + "translitName": "Maryam" + }, + { + "id": 20, + "name": "طه", + "numberOfAyah": 135, + "translatedBy": null, + "urlName": "taha", + "translitName": "Taha" + }, + { + "id": 21, + "name": "الأنبياء", + "numberOfAyah": 112, + "translatedBy": null, + "urlName": "al-anbya", + "translitName": "Al-Anbya" + }, + { + "id": 22, + "name": "الحج", + "numberOfAyah": 78, + "translatedBy": null, + "urlName": "al-hajj", + "translitName": "Al-Hajj" + }, + { + "id": 23, + "name": "المؤمنون", + "numberOfAyah": 118, + "translatedBy": null, + "urlName": "al-muminun", + "translitName": "Al-Mu'minun" + }, + { + "id": 24, + "name": "النور", + "numberOfAyah": 64, + "translatedBy": null, + "urlName": "an-nur", + "translitName": "An-Nur" + }, + { + "id": 25, + "name": "الفرقان", + "numberOfAyah": 77, + "translatedBy": null, + "urlName": "al-furqan", + "translitName": "Al-Furqan" + }, + { + "id": 26, + "name": "الشعراء", + "numberOfAyah": 227, + "translatedBy": null, + "urlName": "ash-shuara", + "translitName": "Ash-Shu'ara" + }, + { + "id": 27, + "name": "النمل", + "numberOfAyah": 93, + "translatedBy": null, + "urlName": "an-naml", + "translitName": "An-Naml" + }, + { + "id": 28, + "name": "القصص", + "numberOfAyah": 88, + "translatedBy": null, + "urlName": "al-qasas", + "translitName": "Al-Qasas" + }, + { + "id": 29, + "name": "العنكبوت", + "numberOfAyah": 69, + "translatedBy": null, + "urlName": "al-ankabut", + "translitName": "Al-'Ankabut" + }, + { + "id": 30, + "name": "الروم", + "numberOfAyah": 60, + "translatedBy": null, + "urlName": "ar-rum", + "translitName": "Ar-Rum" + }, + { + "id": 31, + "name": "لقمان", + "numberOfAyah": 34, + "translatedBy": null, + "urlName": "luqman", + "translitName": "Luqman" + }, + { + "id": 32, + "name": "السجدة", + "numberOfAyah": 30, + "translatedBy": null, + "urlName": "as-sajdah", + "translitName": "As-Sajdah" + }, + { + "id": 33, + "name": "الأحزاب", + "numberOfAyah": 73, + "translatedBy": null, + "urlName": "al-ahzab", + "translitName": "Al-Ahzab" + }, + { + "id": 34, + "name": "سبإ", + "numberOfAyah": 54, + "translatedBy": null, + "urlName": "saba", + "translitName": "Saba" + }, + { + "id": 35, + "name": "فاطر", + "numberOfAyah": 45, + "translatedBy": null, + "urlName": "fatir", + "translitName": "Fatir" + }, + { + "id": 36, + "name": "يس", + "numberOfAyah": 83, + "translatedBy": null, + "urlName": "ya-sin", + "translitName": "Ya-Sin" + }, + { + "id": 37, + "name": "الصافات", + "numberOfAyah": 182, + "translatedBy": null, + "urlName": "as-saffat", + "translitName": "As-Saffat" + }, + { + "id": 38, + "name": "ص", + "numberOfAyah": 88, + "translatedBy": null, + "urlName": "sad", + "translitName": "Sad" + }, + { + "id": 39, + "name": "الزمر", + "numberOfAyah": 75, + "translatedBy": null, + "urlName": "az-zumar", + "translitName": "Az-Zumar" + }, + { + "id": 40, + "name": "غافر", + "numberOfAyah": 85, + "translatedBy": null, + "urlName": "ghafir", + "translitName": "Ghafir" + }, + { + "id": 41, + "name": "فصلت", + "numberOfAyah": 54, + "translatedBy": null, + "urlName": "fussilat", + "translitName": "Fussilat" + }, + { + "id": 42, + "name": "الشورى", + "numberOfAyah": 53, + "translatedBy": null, + "urlName": "ash-shuraa", + "translitName": "Ash-Shuraa" + }, + { + "id": 43, + "name": "الزخرف", + "numberOfAyah": 89, + "translatedBy": null, + "urlName": "az-zukhruf", + "translitName": "Az-Zukhruf" + }, + { + "id": 44, + "name": "الدخان", + "numberOfAyah": 59, + "translatedBy": null, + "urlName": "ad-dukhan", + "translitName": "Ad-Dukhan" + }, + { + "id": 45, + "name": "الجاثية", + "numberOfAyah": 37, + "translatedBy": null, + "urlName": "al-jathiyah", + "translitName": "Al-Jathiyah" + }, + { + "id": 46, + "name": "الأحقاف", + "numberOfAyah": 35, + "translatedBy": null, + "urlName": "al-ahqaf", + "translitName": "Al-Ahqaf" + }, + { + "id": 47, + "name": "محمد", + "numberOfAyah": 38, + "translatedBy": null, + "urlName": "muhammad", + "translitName": "Muhammad" + }, + { + "id": 48, + "name": "الفتح", + "numberOfAyah": 29, + "translatedBy": null, + "urlName": "al-fath", + "translitName": "Al-Fath" + }, + { + "id": 49, + "name": "الحجرات", + "numberOfAyah": 18, + "translatedBy": null, + "urlName": "al-hujurat", + "translitName": "Al-Hujurat" + }, + { + "id": 50, + "name": "ق", + "numberOfAyah": 45, + "translatedBy": null, + "urlName": "qaf", + "translitName": "Qaf" + }, + { + "id": 51, + "name": "الذاريات", + "numberOfAyah": 60, + "translatedBy": null, + "urlName": "adh-dhariyat", + "translitName": "Adh-Dhariyat" + }, + { + "id": 52, + "name": "الطور", + "numberOfAyah": 49, + "translatedBy": null, + "urlName": "at-tur", + "translitName": "At-Tur" + }, + { + "id": 53, + "name": "النجم", + "numberOfAyah": 62, + "translatedBy": null, + "urlName": "an-najm", + "translitName": "An-Najm" + }, + { + "id": 54, + "name": "القمر", + "numberOfAyah": 55, + "translatedBy": null, + "urlName": "al-qamar", + "translitName": "Al-Qamar" + }, + { + "id": 55, + "name": "الرحمن", + "numberOfAyah": 78, + "translatedBy": null, + "urlName": "ar-rahman", + "translitName": "Ar-Rahman" + }, + { + "id": 56, + "name": "الواقعة", + "numberOfAyah": 96, + "translatedBy": null, + "urlName": "al-waqiah", + "translitName": "Al-Waqi'ah" + }, + { + "id": 57, + "name": "الحديد", + "numberOfAyah": 29, + "translatedBy": null, + "urlName": "al-hadid", + "translitName": "Al-Hadid" + }, + { + "id": 58, + "name": "المجادلة", + "numberOfAyah": 22, + "translatedBy": null, + "urlName": "al-mujadila", + "translitName": "Al-Mujadila" + }, + { + "id": 59, + "name": "الحشر", + "numberOfAyah": 24, + "translatedBy": null, + "urlName": "al-hashr", + "translitName": "Al-Hashr" + }, + { + "id": 60, + "name": "الممتحنة", + "numberOfAyah": 13, + "translatedBy": null, + "urlName": "al-mumtahanah", + "translitName": "Al-Mumtahanah" + }, + { + "id": 61, + "name": "الصف", + "numberOfAyah": 14, + "translatedBy": null, + "urlName": "as-saf", + "translitName": "As-Saf" + }, + { + "id": 62, + "name": "الجمعة", + "numberOfAyah": 11, + "translatedBy": null, + "urlName": "al-jumuah", + "translitName": "Al-Jumu'ah" + }, + { + "id": 63, + "name": "المنافقون", + "numberOfAyah": 11, + "translatedBy": null, + "urlName": "al-munafiqun", + "translitName": "Al-Munafiqun" + }, + { + "id": 64, + "name": "التغابن", + "numberOfAyah": 18, + "translatedBy": null, + "urlName": "at-taghabun", + "translitName": "At-Taghabun" + }, + { + "id": 65, + "name": "الطلاق", + "numberOfAyah": 12, + "translatedBy": null, + "urlName": "at-talaq", + "translitName": "At-Talaq" + }, + { + "id": 66, + "name": "التحريم", + "numberOfAyah": 12, + "translatedBy": null, + "urlName": "at-tahrim", + "translitName": "At-Tahrim" + }, + { + "id": 67, + "name": "الملك", + "numberOfAyah": 30, + "translatedBy": null, + "urlName": "al-mulk", + "translitName": "Al-Mulk" + }, + { + "id": 68, + "name": "القلم", + "numberOfAyah": 52, + "translatedBy": null, + "urlName": "al-qalam", + "translitName": "Al-Qalam" + }, + { + "id": 69, + "name": "الحاقة", + "numberOfAyah": 52, + "translatedBy": null, + "urlName": "al-haqqah", + "translitName": "Al-Haqqah" + }, + { + "id": 70, + "name": "المعارج", + "numberOfAyah": 44, + "translatedBy": null, + "urlName": "al-maarij", + "translitName": "Al-Ma'arij" + }, + { + "id": 71, + "name": "نوح", + "numberOfAyah": 28, + "translatedBy": null, + "urlName": "nuh", + "translitName": "Nuh" + }, + { + "id": 72, + "name": "الجن", + "numberOfAyah": 28, + "translatedBy": null, + "urlName": "al-jinn", + "translitName": "Al-Jinn" + }, + { + "id": 73, + "name": "المزمل", + "numberOfAyah": 20, + "translatedBy": null, + "urlName": "al-muzzammil", + "translitName": "Al-Muzzammil" + }, + { + "id": 74, + "name": "المدثر", + "numberOfAyah": 56, + "translatedBy": null, + "urlName": "al-muddaththir", + "translitName": "Al-Muddaththir" + }, + { + "id": 75, + "name": "القيامة", + "numberOfAyah": 40, + "translatedBy": null, + "urlName": "al-qiyamah", + "translitName": "Al-Qiyamah" + }, + { + "id": 76, + "name": "الانسان", + "numberOfAyah": 31, + "translatedBy": null, + "urlName": "al-insan", + "translitName": "Al-Insan" + }, + { + "id": 77, + "name": "المرسلات", + "numberOfAyah": 50, + "translatedBy": null, + "urlName": "al-mursalat", + "translitName": "Al-Mursalat" + }, + { + "id": 78, + "name": "النبإ", + "numberOfAyah": 40, + "translatedBy": null, + "urlName": "an-naba", + "translitName": "An-Naba" + }, + { + "id": 79, + "name": "النازعات", + "numberOfAyah": 46, + "translatedBy": null, + "urlName": "an-naziat", + "translitName": "An-Nazi'at" + }, + { + "id": 80, + "name": "عبس", + "numberOfAyah": 42, + "translatedBy": null, + "urlName": "abasa", + "translitName": "'Abasa" + }, + { + "id": 81, + "name": "التكوير", + "numberOfAyah": 29, + "translatedBy": null, + "urlName": "at-takwir", + "translitName": "At-Takwir" + }, + { + "id": 82, + "name": "الإنفطار", + "numberOfAyah": 19, + "translatedBy": null, + "urlName": "al-infitar", + "translitName": "Al-Infitar" + }, + { + "id": 83, + "name": "المطففين", + "numberOfAyah": 36, + "translatedBy": null, + "urlName": "al-mutaffifin", + "translitName": "Al-Mutaffifin" + }, + { + "id": 84, + "name": "الإنشقاق", + "numberOfAyah": 25, + "translatedBy": null, + "urlName": "al-inshiqaq", + "translitName": "Al-Inshiqaq" + }, + { + "id": 85, + "name": "البروج", + "numberOfAyah": 22, + "translatedBy": null, + "urlName": "al-buruj", + "translitName": "Al-Buruj" + }, + { + "id": 86, + "name": "الطارق", + "numberOfAyah": 17, + "translatedBy": null, + "urlName": "at-tariq", + "translitName": "At-Tariq" + }, + { + "id": 87, + "name": "الأعلى", + "numberOfAyah": 19, + "translatedBy": null, + "urlName": "al-ala", + "translitName": "Al-A'la" + }, + { + "id": 88, + "name": "الغاشية", + "numberOfAyah": 26, + "translatedBy": null, + "urlName": "al-ghashiyah", + "translitName": "Al-Ghashiyah" + }, + { + "id": 89, + "name": "الفجر", + "numberOfAyah": 30, + "translatedBy": null, + "urlName": "al-fajr", + "translitName": "Al-Fajr" + }, + { + "id": 90, + "name": "البلد", + "numberOfAyah": 20, + "translatedBy": null, + "urlName": "al-balad", + "translitName": "Al-Balad" + }, + { + "id": 91, + "name": "الشمس", + "numberOfAyah": 15, + "translatedBy": null, + "urlName": "ash-shams", + "translitName": "Ash-Shams" + }, + { + "id": 92, + "name": "الليل", + "numberOfAyah": 21, + "translatedBy": null, + "urlName": "al-layl", + "translitName": "Al-Layl" + }, + { + "id": 93, + "name": "الضحى", + "numberOfAyah": 11, + "translatedBy": null, + "urlName": "ad-duhaa", + "translitName": "Ad-Duhaa" + }, + { + "id": 94, + "name": "الشرح", + "numberOfAyah": 8, + "translatedBy": null, + "urlName": "ash-sharh", + "translitName": "Ash-Sharh" + }, + { + "id": 95, + "name": "التين", + "numberOfAyah": 8, + "translatedBy": null, + "urlName": "at-tin", + "translitName": "At-Tin" + }, + { + "id": 96, + "name": "العلق", + "numberOfAyah": 19, + "translatedBy": null, + "urlName": "al-alaq", + "translitName": "Al-'Alaq" + }, + { + "id": 97, + "name": "القدر", + "numberOfAyah": 5, + "translatedBy": null, + "urlName": "al-qadr", + "translitName": "Al-Qadr" + }, + { + "id": 98, + "name": "البينة", + "numberOfAyah": 8, + "translatedBy": null, + "urlName": "al-bayyinah", + "translitName": "Al-Bayyinah" + }, + { + "id": 99, + "name": "الزلزلة", + "numberOfAyah": 8, + "translatedBy": null, + "urlName": "az-zalzalah", + "translitName": "Az-Zalzalah" + }, + { + "id": 100, + "name": "العاديات", + "numberOfAyah": 11, + "translatedBy": null, + "urlName": "al-adiyat", + "translitName": "Al-'Adiyat" + }, + { + "id": 101, + "name": "القارعة", + "numberOfAyah": 11, + "translatedBy": null, + "urlName": "al-qariah", + "translitName": "Al-Qari'ah" + }, + { + "id": 102, + "name": "التكاثر", + "numberOfAyah": 8, + "translatedBy": null, + "urlName": "at-takathur", + "translitName": "At-Takathur" + }, + { + "id": 103, + "name": "العصر", + "numberOfAyah": 3, + "translatedBy": null, + "urlName": "al-asr", + "translitName": "Al-'Asr" + }, + { + "id": 104, + "name": "الهمزة", + "numberOfAyah": 9, + "translatedBy": null, + "urlName": "al-humazah", + "translitName": "Al-Humazah" + }, + { + "id": 105, + "name": "الفيل", + "numberOfAyah": 5, + "translatedBy": null, + "urlName": "al-fil", + "translitName": "Al-Fil" + }, + { + "id": 106, + "name": "قريش", + "numberOfAyah": 4, + "translatedBy": null, + "urlName": "quraysh", + "translitName": "Quraysh" + }, + { + "id": 107, + "name": "الماعون", + "numberOfAyah": 7, + "translatedBy": null, + "urlName": "al-maun", + "translitName": "Al-Ma'un" + }, + { + "id": 108, + "name": "الكوثر", + "numberOfAyah": 3, + "translatedBy": null, + "urlName": "al-kawthar", + "translitName": "Al-Kawthar" + }, + { + "id": 109, + "name": "الكافرون", + "numberOfAyah": 6, + "translatedBy": null, + "urlName": "al-kafirun", + "translitName": "Al-Kafirun" + }, + { + "id": 110, + "name": "النصر", + "numberOfAyah": 3, + "translatedBy": null, + "urlName": "an-nasr", + "translitName": "An-Nasr" + }, + { + "id": 111, + "name": "المسد", + "numberOfAyah": 5, + "translatedBy": null, + "urlName": "al-masad", + "translitName": "Al-Masad" + }, + { + "id": 112, + "name": "الإخلاص", + "numberOfAyah": 4, + "translatedBy": null, + "urlName": "al-ikhlas", + "translitName": "Al-Ikhlas" + }, + { + "id": 113, + "name": "الفلق", + "numberOfAyah": 5, + "translatedBy": null, + "urlName": "al-falaq", + "translitName": "Al-Falaq" + }, + { + "id": 114, + "name": "الناس", + "numberOfAyah": 6, + "translatedBy": null, + "urlName": "an-nas", + "translitName": "An-Nas" + } + ], + "en": [ + { + "id": 1, + "name": "The Opener", + "numberOfAyah": 7, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-fatihah", + "translitName": "Al-Fatihah" + }, + { + "id": 2, + "name": "The Cow", + "numberOfAyah": 286, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-baqarah", + "translitName": "Al-Baqarah" + }, + { + "id": 3, + "name": "Family of Imran", + "numberOfAyah": 200, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ali-imran", + "translitName": "Ali 'Imran" + }, + { + "id": 4, + "name": "The Women", + "numberOfAyah": 176, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-nisa", + "translitName": "An-Nisa" + }, + { + "id": 5, + "name": "The Table Spread", + "numberOfAyah": 120, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-maidah", + "translitName": "Al-Ma'idah" + }, + { + "id": 6, + "name": "The Cattle", + "numberOfAyah": 165, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-anam", + "translitName": "Al-An'am" + }, + { + "id": 7, + "name": "The Heights", + "numberOfAyah": 206, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-araf", + "translitName": "Al-A'raf" + }, + { + "id": 8, + "name": "The Spoils of War", + "numberOfAyah": 75, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-anfal", + "translitName": "Al-Anfal" + }, + { + "id": 9, + "name": "The Repentance", + "numberOfAyah": 129, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-tawbah", + "translitName": "At-Tawbah" + }, + { + "id": 10, + "name": "Jonah", + "numberOfAyah": 109, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "yunus", + "translitName": "Yunus" + }, + { + "id": 11, + "name": "Hud", + "numberOfAyah": 123, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "hud", + "translitName": "Hud" + }, + { + "id": 12, + "name": "Joseph", + "numberOfAyah": 111, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "yusuf", + "translitName": "Yusuf" + }, + { + "id": 13, + "name": "The Thunder", + "numberOfAyah": 43, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ar-rad", + "translitName": "Ar-Ra'd" + }, + { + "id": 14, + "name": "Abraham", + "numberOfAyah": 52, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ibrahim", + "translitName": "Ibrahim" + }, + { + "id": 15, + "name": "The Rocky Tract", + "numberOfAyah": 99, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-hijr", + "translitName": "Al-Hijr" + }, + { + "id": 16, + "name": "The Bee", + "numberOfAyah": 128, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-nahl", + "translitName": "An-Nahl" + }, + { + "id": 17, + "name": "The Night Journey", + "numberOfAyah": 111, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-isra", + "translitName": "Al-Isra" + }, + { + "id": 18, + "name": "The Cave", + "numberOfAyah": 110, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-kahf", + "translitName": "Al-Kahf" + }, + { + "id": 19, + "name": "Mary", + "numberOfAyah": 98, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "maryam", + "translitName": "Maryam" + }, + { + "id": 20, + "name": "Ta-Ha", + "numberOfAyah": 135, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "taha", + "translitName": "Taha" + }, + { + "id": 21, + "name": "The Prophets", + "numberOfAyah": 112, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-anbya", + "translitName": "Al-Anbya" + }, + { + "id": 22, + "name": "The Pilgrimage", + "numberOfAyah": 78, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-hajj", + "translitName": "Al-Hajj" + }, + { + "id": 23, + "name": "The Believers", + "numberOfAyah": 118, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-muminun", + "translitName": "Al-Mu'minun" + }, + { + "id": 24, + "name": "The Light", + "numberOfAyah": 64, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-nur", + "translitName": "An-Nur" + }, + { + "id": 25, + "name": "The Criterion", + "numberOfAyah": 77, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-furqan", + "translitName": "Al-Furqan" + }, + { + "id": 26, + "name": "The Poets", + "numberOfAyah": 227, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ash-shuara", + "translitName": "Ash-Shu'ara" + }, + { + "id": 27, + "name": "The Ant", + "numberOfAyah": 93, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-naml", + "translitName": "An-Naml" + }, + { + "id": 28, + "name": "The Stories", + "numberOfAyah": 88, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qasas", + "translitName": "Al-Qasas" + }, + { + "id": 29, + "name": "The Spider", + "numberOfAyah": 69, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ankabut", + "translitName": "Al-'Ankabut" + }, + { + "id": 30, + "name": "The Romans", + "numberOfAyah": 60, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ar-rum", + "translitName": "Ar-Rum" + }, + { + "id": 31, + "name": "Luqman", + "numberOfAyah": 34, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "luqman", + "translitName": "Luqman" + }, + { + "id": 32, + "name": "The Prostration", + "numberOfAyah": 30, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "as-sajdah", + "translitName": "As-Sajdah" + }, + { + "id": 33, + "name": "The Combined Forces", + "numberOfAyah": 73, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ahzab", + "translitName": "Al-Ahzab" + }, + { + "id": 34, + "name": "Sheba", + "numberOfAyah": 54, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "saba", + "translitName": "Saba" + }, + { + "id": 35, + "name": "Originator", + "numberOfAyah": 45, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "fatir", + "translitName": "Fatir" + }, + { + "id": 36, + "name": "Ya Sin", + "numberOfAyah": 83, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ya-sin", + "translitName": "Ya-Sin" + }, + { + "id": 37, + "name": "Those who set the Ranks", + "numberOfAyah": 182, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "as-saffat", + "translitName": "As-Saffat" + }, + { + "id": 38, + "name": "The Letter \"Saad\"", + "numberOfAyah": 88, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "sad", + "translitName": "Sad" + }, + { + "id": 39, + "name": "The Troops", + "numberOfAyah": 75, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "az-zumar", + "translitName": "Az-Zumar" + }, + { + "id": 40, + "name": "The Forgiver", + "numberOfAyah": 85, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ghafir", + "translitName": "Ghafir" + }, + { + "id": 41, + "name": "Explained in Detail", + "numberOfAyah": 54, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "fussilat", + "translitName": "Fussilat" + }, + { + "id": 42, + "name": "The Consultation", + "numberOfAyah": 53, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ash-shuraa", + "translitName": "Ash-Shuraa" + }, + { + "id": 43, + "name": "The Ornaments of Gold", + "numberOfAyah": 89, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "az-zukhruf", + "translitName": "Az-Zukhruf" + }, + { + "id": 44, + "name": "The Smoke", + "numberOfAyah": 59, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ad-dukhan", + "translitName": "Ad-Dukhan" + }, + { + "id": 45, + "name": "The Crouching", + "numberOfAyah": 37, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-jathiyah", + "translitName": "Al-Jathiyah" + }, + { + "id": 46, + "name": "The Wind-Curved Sandhills", + "numberOfAyah": 35, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ahqaf", + "translitName": "Al-Ahqaf" + }, + { + "id": 47, + "name": "Muhammad", + "numberOfAyah": 38, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "muhammad", + "translitName": "Muhammad" + }, + { + "id": 48, + "name": "The Victory", + "numberOfAyah": 29, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-fath", + "translitName": "Al-Fath" + }, + { + "id": 49, + "name": "The Rooms", + "numberOfAyah": 18, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-hujurat", + "translitName": "Al-Hujurat" + }, + { + "id": 50, + "name": "The Letter \"Qaf\"", + "numberOfAyah": 45, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "qaf", + "translitName": "Qaf" + }, + { + "id": 51, + "name": "The Winnowing Winds", + "numberOfAyah": 60, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "adh-dhariyat", + "translitName": "Adh-Dhariyat" + }, + { + "id": 52, + "name": "The Mount", + "numberOfAyah": 49, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-tur", + "translitName": "At-Tur" + }, + { + "id": 53, + "name": "The Star", + "numberOfAyah": 62, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-najm", + "translitName": "An-Najm" + }, + { + "id": 54, + "name": "The Moon", + "numberOfAyah": 55, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qamar", + "translitName": "Al-Qamar" + }, + { + "id": 55, + "name": "The Beneficent", + "numberOfAyah": 78, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ar-rahman", + "translitName": "Ar-Rahman" + }, + { + "id": 56, + "name": "The Inevitable", + "numberOfAyah": 96, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-waqiah", + "translitName": "Al-Waqi'ah" + }, + { + "id": 57, + "name": "The Iron", + "numberOfAyah": 29, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-hadid", + "translitName": "Al-Hadid" + }, + { + "id": 58, + "name": "The Pleading Woman", + "numberOfAyah": 22, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-mujadila", + "translitName": "Al-Mujadila" + }, + { + "id": 59, + "name": "The Exile", + "numberOfAyah": 24, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-hashr", + "translitName": "Al-Hashr" + }, + { + "id": 60, + "name": "She that is to be examined", + "numberOfAyah": 13, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-mumtahanah", + "translitName": "Al-Mumtahanah" + }, + { + "id": 61, + "name": "The Ranks", + "numberOfAyah": 14, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "as-saf", + "translitName": "As-Saf" + }, + { + "id": 62, + "name": "The Congregation, Friday", + "numberOfAyah": 11, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-jumuah", + "translitName": "Al-Jumu'ah" + }, + { + "id": 63, + "name": "The Hypocrites", + "numberOfAyah": 11, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-munafiqun", + "translitName": "Al-Munafiqun" + }, + { + "id": 64, + "name": "The Mutual Disillusion", + "numberOfAyah": 18, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-taghabun", + "translitName": "At-Taghabun" + }, + { + "id": 65, + "name": "The Divorce", + "numberOfAyah": 12, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-talaq", + "translitName": "At-Talaq" + }, + { + "id": 66, + "name": "The Prohibition", + "numberOfAyah": 12, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-tahrim", + "translitName": "At-Tahrim" + }, + { + "id": 67, + "name": "The Sovereignty", + "numberOfAyah": 30, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-mulk", + "translitName": "Al-Mulk" + }, + { + "id": 68, + "name": "The Pen", + "numberOfAyah": 52, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qalam", + "translitName": "Al-Qalam" + }, + { + "id": 69, + "name": "The Reality", + "numberOfAyah": 52, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-haqqah", + "translitName": "Al-Haqqah" + }, + { + "id": 70, + "name": "The Ascending Stairways", + "numberOfAyah": 44, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-maarij", + "translitName": "Al-Ma'arij" + }, + { + "id": 71, + "name": "Noah", + "numberOfAyah": 28, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "nuh", + "translitName": "Nuh" + }, + { + "id": 72, + "name": "The Jinn", + "numberOfAyah": 28, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-jinn", + "translitName": "Al-Jinn" + }, + { + "id": 73, + "name": "The Enshrouded One", + "numberOfAyah": 20, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-muzzammil", + "translitName": "Al-Muzzammil" + }, + { + "id": 74, + "name": "The Cloaked One", + "numberOfAyah": 56, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-muddaththir", + "translitName": "Al-Muddaththir" + }, + { + "id": 75, + "name": "The Resurrection", + "numberOfAyah": 40, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qiyamah", + "translitName": "Al-Qiyamah" + }, + { + "id": 76, + "name": "The Man", + "numberOfAyah": 31, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-insan", + "translitName": "Al-Insan" + }, + { + "id": 77, + "name": "The Emissaries", + "numberOfAyah": 50, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-mursalat", + "translitName": "Al-Mursalat" + }, + { + "id": 78, + "name": "The Tidings", + "numberOfAyah": 40, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-naba", + "translitName": "An-Naba" + }, + { + "id": 79, + "name": "Those who drag forth", + "numberOfAyah": 46, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-naziat", + "translitName": "An-Nazi'at" + }, + { + "id": 80, + "name": "He Frowned", + "numberOfAyah": 42, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "abasa", + "translitName": "'Abasa" + }, + { + "id": 81, + "name": "The Overthrowing", + "numberOfAyah": 29, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-takwir", + "translitName": "At-Takwir" + }, + { + "id": 82, + "name": "The Cleaving", + "numberOfAyah": 19, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-infitar", + "translitName": "Al-Infitar" + }, + { + "id": 83, + "name": "The Defrauding", + "numberOfAyah": 36, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-mutaffifin", + "translitName": "Al-Mutaffifin" + }, + { + "id": 84, + "name": "The Sundering", + "numberOfAyah": 25, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-inshiqaq", + "translitName": "Al-Inshiqaq" + }, + { + "id": 85, + "name": "The Mansions of the Stars", + "numberOfAyah": 22, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-buruj", + "translitName": "Al-Buruj" + }, + { + "id": 86, + "name": "The Nightcommer", + "numberOfAyah": 17, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-tariq", + "translitName": "At-Tariq" + }, + { + "id": 87, + "name": "The Most High", + "numberOfAyah": 19, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ala", + "translitName": "Al-A'la" + }, + { + "id": 88, + "name": "The Overwhelming", + "numberOfAyah": 26, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ghashiyah", + "translitName": "Al-Ghashiyah" + }, + { + "id": 89, + "name": "The Dawn", + "numberOfAyah": 30, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-fajr", + "translitName": "Al-Fajr" + }, + { + "id": 90, + "name": "The City", + "numberOfAyah": 20, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-balad", + "translitName": "Al-Balad" + }, + { + "id": 91, + "name": "The Sun", + "numberOfAyah": 15, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ash-shams", + "translitName": "Ash-Shams" + }, + { + "id": 92, + "name": "The Night", + "numberOfAyah": 21, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-layl", + "translitName": "Al-Layl" + }, + { + "id": 93, + "name": "The Morning Hours", + "numberOfAyah": 11, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ad-duhaa", + "translitName": "Ad-Duhaa" + }, + { + "id": 94, + "name": "The Relief", + "numberOfAyah": 8, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "ash-sharh", + "translitName": "Ash-Sharh" + }, + { + "id": 95, + "name": "The Fig", + "numberOfAyah": 8, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-tin", + "translitName": "At-Tin" + }, + { + "id": 96, + "name": "The Clot", + "numberOfAyah": 19, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-alaq", + "translitName": "Al-'Alaq" + }, + { + "id": 97, + "name": "The Power", + "numberOfAyah": 5, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qadr", + "translitName": "Al-Qadr" + }, + { + "id": 98, + "name": "The Clear Proof", + "numberOfAyah": 8, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-bayyinah", + "translitName": "Al-Bayyinah" + }, + { + "id": 99, + "name": "The Earthquake", + "numberOfAyah": 8, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "az-zalzalah", + "translitName": "Az-Zalzalah" + }, + { + "id": 100, + "name": "The Courser", + "numberOfAyah": 11, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-adiyat", + "translitName": "Al-'Adiyat" + }, + { + "id": 101, + "name": "The Calamity", + "numberOfAyah": 11, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-qariah", + "translitName": "Al-Qari'ah" + }, + { + "id": 102, + "name": "The Rivalry in world increase", + "numberOfAyah": 8, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "at-takathur", + "translitName": "At-Takathur" + }, + { + "id": 103, + "name": "The Declining Day", + "numberOfAyah": 3, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-asr", + "translitName": "Al-'Asr" + }, + { + "id": 104, + "name": "The Traducer", + "numberOfAyah": 9, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-humazah", + "translitName": "Al-Humazah" + }, + { + "id": 105, + "name": "The Elephant", + "numberOfAyah": 5, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-fil", + "translitName": "Al-Fil" + }, + { + "id": 106, + "name": "Quraysh", + "numberOfAyah": 4, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "quraysh", + "translitName": "Quraysh" + }, + { + "id": 107, + "name": "The Small kindnesses", + "numberOfAyah": 7, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-maun", + "translitName": "Al-Ma'un" + }, + { + "id": 108, + "name": "The Abundance", + "numberOfAyah": 3, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-kawthar", + "translitName": "Al-Kawthar" + }, + { + "id": 109, + "name": "The Disbelievers", + "numberOfAyah": 6, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-kafirun", + "translitName": "Al-Kafirun" + }, + { + "id": 110, + "name": "The Divine Support", + "numberOfAyah": 3, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-nasr", + "translitName": "An-Nasr" + }, + { + "id": 111, + "name": "The Palm Fiber", + "numberOfAyah": 5, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-masad", + "translitName": "Al-Masad" + }, + { + "id": 112, + "name": "The Sincerity", + "numberOfAyah": 4, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-ikhlas", + "translitName": "Al-Ikhlas" + }, + { + "id": 113, + "name": "The Daybreak", + "numberOfAyah": 5, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "al-falaq", + "translitName": "Al-Falaq" + }, + { + "id": 114, + "name": "Mankind", + "numberOfAyah": 6, + "translatedBy": "Dr. Mustafa Khattab", + "urlName": "an-nas", + "translitName": "An-Nas" + } + ], + "fa": [ + { + "id": 1, + "name": "فاتحه", + "numberOfAyah": 7, + "translatedBy": "Hussain Ansarian", + "urlName": "al-fatihah", + "translitName": "Al-Fatihah" + }, + { + "id": 2, + "name": "بقره", + "numberOfAyah": 286, + "translatedBy": "Hussain Ansarian", + "urlName": "al-baqarah", + "translitName": "Al-Baqarah" + }, + { + "id": 3, + "name": "آل عمران", + "numberOfAyah": 200, + "translatedBy": "Hussain Ansarian", + "urlName": "ali-imran", + "translitName": "Ali 'Imran" + }, + { + "id": 4, + "name": "نساء", + "numberOfAyah": 176, + "translatedBy": "Hussain Ansarian", + "urlName": "an-nisa", + "translitName": "An-Nisa" + }, + { + "id": 5, + "name": "مائده", + "numberOfAyah": 120, + "translatedBy": "Hussain Ansarian", + "urlName": "al-maidah", + "translitName": "Al-Ma'idah" + }, + { + "id": 6, + "name": "انعام", + "numberOfAyah": 165, + "translatedBy": "Hussain Ansarian", + "urlName": "al-anam", + "translitName": "Al-An'am" + }, + { + "id": 7, + "name": "اعراف", + "numberOfAyah": 206, + "translatedBy": "Hussain Ansarian", + "urlName": "al-araf", + "translitName": "Al-A'raf" + }, + { + "id": 8, + "name": "انفال", + "numberOfAyah": 75, + "translatedBy": "Hussain Ansarian", + "urlName": "al-anfal", + "translitName": "Al-Anfal" + }, + { + "id": 9, + "name": "توبه", + "numberOfAyah": 129, + "translatedBy": "Hussain Ansarian", + "urlName": "at-tawbah", + "translitName": "At-Tawbah" + }, + { + "id": 10, + "name": "یونس", + "numberOfAyah": 109, + "translatedBy": "Hussain Ansarian", + "urlName": "yunus", + "translitName": "Yunus" + }, + { + "id": 11, + "name": "هود", + "numberOfAyah": 123, + "translatedBy": "Hussain Ansarian", + "urlName": "hud", + "translitName": "Hud" + }, + { + "id": 12, + "name": "یوسف", + "numberOfAyah": 111, + "translatedBy": "Hussain Ansarian", + "urlName": "yusuf", + "translitName": "Yusuf" + }, + { + "id": 13, + "name": "رعد", + "numberOfAyah": 43, + "translatedBy": "Hussain Ansarian", + "urlName": "ar-rad", + "translitName": "Ar-Ra'd" + }, + { + "id": 14, + "name": "ابراهیم", + "numberOfAyah": 52, + "translatedBy": "Hussain Ansarian", + "urlName": "ibrahim", + "translitName": "Ibrahim" + }, + { + "id": 15, + "name": "حجر", + "numberOfAyah": 99, + "translatedBy": "Hussain Ansarian", + "urlName": "al-hijr", + "translitName": "Al-Hijr" + }, + { + "id": 16, + "name": "نحل", + "numberOfAyah": 128, + "translatedBy": "Hussain Ansarian", + "urlName": "an-nahl", + "translitName": "An-Nahl" + }, + { + "id": 17, + "name": "اسراء", + "numberOfAyah": 111, + "translatedBy": "Hussain Ansarian", + "urlName": "al-isra", + "translitName": "Al-Isra" + }, + { + "id": 18, + "name": "کهف", + "numberOfAyah": 110, + "translatedBy": "Hussain Ansarian", + "urlName": "al-kahf", + "translitName": "Al-Kahf" + }, + { + "id": 19, + "name": "مریم", + "numberOfAyah": 98, + "translatedBy": "Hussain Ansarian", + "urlName": "maryam", + "translitName": "Maryam" + }, + { + "id": 20, + "name": "طه", + "numberOfAyah": 135, + "translatedBy": "Hussain Ansarian", + "urlName": "taha", + "translitName": "Taha" + }, + { + "id": 21, + "name": "انبیاء", + "numberOfAyah": 112, + "translatedBy": "Hussain Ansarian", + "urlName": "al-anbya", + "translitName": "Al-Anbya" + }, + { + "id": 22, + "name": "حج", + "numberOfAyah": 78, + "translatedBy": "Hussain Ansarian", + "urlName": "al-hajj", + "translitName": "Al-Hajj" + }, + { + "id": 23, + "name": "مؤمنون", + "numberOfAyah": 118, + "translatedBy": "Hussain Ansarian", + "urlName": "al-muminun", + "translitName": "Al-Mu'minun" + }, + { + "id": 24, + "name": "نور", + "numberOfAyah": 64, + "translatedBy": "Hussain Ansarian", + "urlName": "an-nur", + "translitName": "An-Nur" + }, + { + "id": 25, + "name": "فرقان", + "numberOfAyah": 77, + "translatedBy": "Hussain Ansarian", + "urlName": "al-furqan", + "translitName": "Al-Furqan" + }, + { + "id": 26, + "name": "شعرا", + "numberOfAyah": 227, + "translatedBy": "Hussain Ansarian", + "urlName": "ash-shuara", + "translitName": "Ash-Shu'ara" + }, + { + "id": 27, + "name": "نمل", + "numberOfAyah": 93, + "translatedBy": "Hussain Ansarian", + "urlName": "an-naml", + "translitName": "An-Naml" + }, + { + "id": 28, + "name": "قصص", + "numberOfAyah": 88, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qasas", + "translitName": "Al-Qasas" + }, + { + "id": 29, + "name": "عنکبوت", + "numberOfAyah": 69, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ankabut", + "translitName": "Al-'Ankabut" + }, + { + "id": 30, + "name": "روم", + "numberOfAyah": 60, + "translatedBy": "Hussain Ansarian", + "urlName": "ar-rum", + "translitName": "Ar-Rum" + }, + { + "id": 31, + "name": "لقمان", + "numberOfAyah": 34, + "translatedBy": "Hussain Ansarian", + "urlName": "luqman", + "translitName": "Luqman" + }, + { + "id": 32, + "name": "سجده", + "numberOfAyah": 30, + "translatedBy": "Hussain Ansarian", + "urlName": "as-sajdah", + "translitName": "As-Sajdah" + }, + { + "id": 33, + "name": "احزاب", + "numberOfAyah": 73, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ahzab", + "translitName": "Al-Ahzab" + }, + { + "id": 34, + "name": "سبأ", + "numberOfAyah": 54, + "translatedBy": "Hussain Ansarian", + "urlName": "saba", + "translitName": "Saba" + }, + { + "id": 35, + "name": "فاطر", + "numberOfAyah": 45, + "translatedBy": "Hussain Ansarian", + "urlName": "fatir", + "translitName": "Fatir" + }, + { + "id": 36, + "name": "یس", + "numberOfAyah": 83, + "translatedBy": "Hussain Ansarian", + "urlName": "ya-sin", + "translitName": "Ya-Sin" + }, + { + "id": 37, + "name": "صافات", + "numberOfAyah": 182, + "translatedBy": "Hussain Ansarian", + "urlName": "as-saffat", + "translitName": "As-Saffat" + }, + { + "id": 38, + "name": "ص", + "numberOfAyah": 88, + "translatedBy": "Hussain Ansarian", + "urlName": "sad", + "translitName": "Sad" + }, + { + "id": 39, + "name": "زمر", + "numberOfAyah": 75, + "translatedBy": "Hussain Ansarian", + "urlName": "az-zumar", + "translitName": "Az-Zumar" + }, + { + "id": 40, + "name": "غافر", + "numberOfAyah": 85, + "translatedBy": "Hussain Ansarian", + "urlName": "ghafir", + "translitName": "Ghafir" + }, + { + "id": 41, + "name": "فصلت", + "numberOfAyah": 54, + "translatedBy": "Hussain Ansarian", + "urlName": "fussilat", + "translitName": "Fussilat" + }, + { + "id": 42, + "name": "شوری", + "numberOfAyah": 53, + "translatedBy": "Hussain Ansarian", + "urlName": "ash-shuraa", + "translitName": "Ash-Shuraa" + }, + { + "id": 43, + "name": "زخرف", + "numberOfAyah": 89, + "translatedBy": "Hussain Ansarian", + "urlName": "az-zukhruf", + "translitName": "Az-Zukhruf" + }, + { + "id": 44, + "name": "دخان", + "numberOfAyah": 59, + "translatedBy": "Hussain Ansarian", + "urlName": "ad-dukhan", + "translitName": "Ad-Dukhan" + }, + { + "id": 45, + "name": "جاثیه", + "numberOfAyah": 37, + "translatedBy": "Hussain Ansarian", + "urlName": "al-jathiyah", + "translitName": "Al-Jathiyah" + }, + { + "id": 46, + "name": "احقاف", + "numberOfAyah": 35, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ahqaf", + "translitName": "Al-Ahqaf" + }, + { + "id": 47, + "name": "محمد", + "numberOfAyah": 38, + "translatedBy": "Hussain Ansarian", + "urlName": "muhammad", + "translitName": "Muhammad" + }, + { + "id": 48, + "name": "فتح", + "numberOfAyah": 29, + "translatedBy": "Hussain Ansarian", + "urlName": "al-fath", + "translitName": "Al-Fath" + }, + { + "id": 49, + "name": "حجرات", + "numberOfAyah": 18, + "translatedBy": "Hussain Ansarian", + "urlName": "al-hujurat", + "translitName": "Al-Hujurat" + }, + { + "id": 50, + "name": "ق", + "numberOfAyah": 45, + "translatedBy": "Hussain Ansarian", + "urlName": "qaf", + "translitName": "Qaf" + }, + { + "id": 51, + "name": "ذاریات", + "numberOfAyah": 60, + "translatedBy": "Hussain Ansarian", + "urlName": "adh-dhariyat", + "translitName": "Adh-Dhariyat" + }, + { + "id": 52, + "name": "طور", + "numberOfAyah": 49, + "translatedBy": "Hussain Ansarian", + "urlName": "at-tur", + "translitName": "At-Tur" + }, + { + "id": 53, + "name": "نجم", + "numberOfAyah": 62, + "translatedBy": "Hussain Ansarian", + "urlName": "an-najm", + "translitName": "An-Najm" + }, + { + "id": 54, + "name": "قمر", + "numberOfAyah": 55, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qamar", + "translitName": "Al-Qamar" + }, + { + "id": 55, + "name": "رحمن", + "numberOfAyah": 78, + "translatedBy": "Hussain Ansarian", + "urlName": "ar-rahman", + "translitName": "Ar-Rahman" + }, + { + "id": 56, + "name": "واقعه", + "numberOfAyah": 96, + "translatedBy": "Hussain Ansarian", + "urlName": "al-waqiah", + "translitName": "Al-Waqi'ah" + }, + { + "id": 57, + "name": "حدید", + "numberOfAyah": 29, + "translatedBy": "Hussain Ansarian", + "urlName": "al-hadid", + "translitName": "Al-Hadid" + }, + { + "id": 58, + "name": "مجادله", + "numberOfAyah": 22, + "translatedBy": "Hussain Ansarian", + "urlName": "al-mujadila", + "translitName": "Al-Mujadila" + }, + { + "id": 59, + "name": "حشر", + "numberOfAyah": 24, + "translatedBy": "Hussain Ansarian", + "urlName": "al-hashr", + "translitName": "Al-Hashr" + }, + { + "id": 60, + "name": "ممتحنه", + "numberOfAyah": 13, + "translatedBy": "Hussain Ansarian", + "urlName": "al-mumtahanah", + "translitName": "Al-Mumtahanah" + }, + { + "id": 61, + "name": "صف", + "numberOfAyah": 14, + "translatedBy": "Hussain Ansarian", + "urlName": "as-saf", + "translitName": "As-Saf" + }, + { + "id": 62, + "name": "جمعه", + "numberOfAyah": 11, + "translatedBy": "Hussain Ansarian", + "urlName": "al-jumuah", + "translitName": "Al-Jumu'ah" + }, + { + "id": 63, + "name": "منافقون", + "numberOfAyah": 11, + "translatedBy": "Hussain Ansarian", + "urlName": "al-munafiqun", + "translitName": "Al-Munafiqun" + }, + { + "id": 64, + "name": "تغابن", + "numberOfAyah": 18, + "translatedBy": "Hussain Ansarian", + "urlName": "at-taghabun", + "translitName": "At-Taghabun" + }, + { + "id": 65, + "name": "طلاق", + "numberOfAyah": 12, + "translatedBy": "Hussain Ansarian", + "urlName": "at-talaq", + "translitName": "At-Talaq" + }, + { + "id": 66, + "name": "تحریم", + "numberOfAyah": 12, + "translatedBy": "Hussain Ansarian", + "urlName": "at-tahrim", + "translitName": "At-Tahrim" + }, + { + "id": 67, + "name": "ملک", + "numberOfAyah": 30, + "translatedBy": "Hussain Ansarian", + "urlName": "al-mulk", + "translitName": "Al-Mulk" + }, + { + "id": 68, + "name": "قلم", + "numberOfAyah": 52, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qalam", + "translitName": "Al-Qalam" + }, + { + "id": 69, + "name": "حاقه", + "numberOfAyah": 52, + "translatedBy": "Hussain Ansarian", + "urlName": "al-haqqah", + "translitName": "Al-Haqqah" + }, + { + "id": 70, + "name": "معارج", + "numberOfAyah": 44, + "translatedBy": "Hussain Ansarian", + "urlName": "al-maarij", + "translitName": "Al-Ma'arij" + }, + { + "id": 71, + "name": "نوح", + "numberOfAyah": 28, + "translatedBy": "Hussain Ansarian", + "urlName": "nuh", + "translitName": "Nuh" + }, + { + "id": 72, + "name": "جن", + "numberOfAyah": 28, + "translatedBy": "Hussain Ansarian", + "urlName": "al-jinn", + "translitName": "Al-Jinn" + }, + { + "id": 73, + "name": "مزمل", + "numberOfAyah": 20, + "translatedBy": "Hussain Ansarian", + "urlName": "al-muzzammil", + "translitName": "Al-Muzzammil" + }, + { + "id": 74, + "name": "مدثر", + "numberOfAyah": 56, + "translatedBy": "Hussain Ansarian", + "urlName": "al-muddaththir", + "translitName": "Al-Muddaththir" + }, + { + "id": 75, + "name": "قیامه", + "numberOfAyah": 40, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qiyamah", + "translitName": "Al-Qiyamah" + }, + { + "id": 76, + "name": "انسان", + "numberOfAyah": 31, + "translatedBy": "Hussain Ansarian", + "urlName": "al-insan", + "translitName": "Al-Insan" + }, + { + "id": 77, + "name": "مرسلات", + "numberOfAyah": 50, + "translatedBy": "Hussain Ansarian", + "urlName": "al-mursalat", + "translitName": "Al-Mursalat" + }, + { + "id": 78, + "name": "نبأ", + "numberOfAyah": 40, + "translatedBy": "Hussain Ansarian", + "urlName": "an-naba", + "translitName": "An-Naba" + }, + { + "id": 79, + "name": "نازعات", + "numberOfAyah": 46, + "translatedBy": "Hussain Ansarian", + "urlName": "an-naziat", + "translitName": "An-Nazi'at" + }, + { + "id": 80, + "name": "عبس", + "numberOfAyah": 42, + "translatedBy": "Hussain Ansarian", + "urlName": "abasa", + "translitName": "'Abasa" + }, + { + "id": 81, + "name": "تکویر", + "numberOfAyah": 29, + "translatedBy": "Hussain Ansarian", + "urlName": "at-takwir", + "translitName": "At-Takwir" + }, + { + "id": 82, + "name": "انفطار", + "numberOfAyah": 19, + "translatedBy": "Hussain Ansarian", + "urlName": "al-infitar", + "translitName": "Al-Infitar" + }, + { + "id": 83, + "name": "مطففین", + "numberOfAyah": 36, + "translatedBy": "Hussain Ansarian", + "urlName": "al-mutaffifin", + "translitName": "Al-Mutaffifin" + }, + { + "id": 84, + "name": "انشقاق", + "numberOfAyah": 25, + "translatedBy": "Hussain Ansarian", + "urlName": "al-inshiqaq", + "translitName": "Al-Inshiqaq" + }, + { + "id": 85, + "name": "بروج", + "numberOfAyah": 22, + "translatedBy": "Hussain Ansarian", + "urlName": "al-buruj", + "translitName": "Al-Buruj" + }, + { + "id": 86, + "name": "طارق", + "numberOfAyah": 17, + "translatedBy": "Hussain Ansarian", + "urlName": "at-tariq", + "translitName": "At-Tariq" + }, + { + "id": 87, + "name": "اعلی", + "numberOfAyah": 19, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ala", + "translitName": "Al-A'la" + }, + { + "id": 88, + "name": "غاشیه", + "numberOfAyah": 26, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ghashiyah", + "translitName": "Al-Ghashiyah" + }, + { + "id": 89, + "name": "فجر", + "numberOfAyah": 30, + "translatedBy": "Hussain Ansarian", + "urlName": "al-fajr", + "translitName": "Al-Fajr" + }, + { + "id": 90, + "name": "بلد", + "numberOfAyah": 20, + "translatedBy": "Hussain Ansarian", + "urlName": "al-balad", + "translitName": "Al-Balad" + }, + { + "id": 91, + "name": "شمس", + "numberOfAyah": 15, + "translatedBy": "Hussain Ansarian", + "urlName": "ash-shams", + "translitName": "Ash-Shams" + }, + { + "id": 92, + "name": "لیل", + "numberOfAyah": 21, + "translatedBy": "Hussain Ansarian", + "urlName": "al-layl", + "translitName": "Al-Layl" + }, + { + "id": 93, + "name": "ضحی", + "numberOfAyah": 11, + "translatedBy": "Hussain Ansarian", + "urlName": "ad-duhaa", + "translitName": "Ad-Duhaa" + }, + { + "id": 94, + "name": "شرح", + "numberOfAyah": 8, + "translatedBy": "Hussain Ansarian", + "urlName": "ash-sharh", + "translitName": "Ash-Sharh" + }, + { + "id": 95, + "name": "تین", + "numberOfAyah": 8, + "translatedBy": "Hussain Ansarian", + "urlName": "at-tin", + "translitName": "At-Tin" + }, + { + "id": 96, + "name": "علق", + "numberOfAyah": 19, + "translatedBy": "Hussain Ansarian", + "urlName": "al-alaq", + "translitName": "Al-'Alaq" + }, + { + "id": 97, + "name": "قدر", + "numberOfAyah": 5, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qadr", + "translitName": "Al-Qadr" + }, + { + "id": 98, + "name": "بینه", + "numberOfAyah": 8, + "translatedBy": "Hussain Ansarian", + "urlName": "al-bayyinah", + "translitName": "Al-Bayyinah" + }, + { + "id": 99, + "name": "زلزله", + "numberOfAyah": 8, + "translatedBy": "Hussain Ansarian", + "urlName": "az-zalzalah", + "translitName": "Az-Zalzalah" + }, + { + "id": 100, + "name": "عادیات", + "numberOfAyah": 11, + "translatedBy": "Hussain Ansarian", + "urlName": "al-adiyat", + "translitName": "Al-'Adiyat" + }, + { + "id": 101, + "name": "قارعه", + "numberOfAyah": 11, + "translatedBy": "Hussain Ansarian", + "urlName": "al-qariah", + "translitName": "Al-Qari'ah" + }, + { + "id": 102, + "name": "تکاثر", + "numberOfAyah": 8, + "translatedBy": "Hussain Ansarian", + "urlName": "at-takathur", + "translitName": "At-Takathur" + }, + { + "id": 103, + "name": "عصر", + "numberOfAyah": 3, + "translatedBy": "Hussain Ansarian", + "urlName": "al-asr", + "translitName": "Al-'Asr" + }, + { + "id": 104, + "name": "همزه", + "numberOfAyah": 9, + "translatedBy": "Hussain Ansarian", + "urlName": "al-humazah", + "translitName": "Al-Humazah" + }, + { + "id": 105, + "name": "فیل", + "numberOfAyah": 5, + "translatedBy": "Hussain Ansarian", + "urlName": "al-fil", + "translitName": "Al-Fil" + }, + { + "id": 106, + "name": "قریش", + "numberOfAyah": 4, + "translatedBy": "Hussain Ansarian", + "urlName": "quraysh", + "translitName": "Quraysh" + }, + { + "id": 107, + "name": "ماعون", + "numberOfAyah": 7, + "translatedBy": "Hussain Ansarian", + "urlName": "al-maun", + "translitName": "Al-Ma'un" + }, + { + "id": 108, + "name": "کوثر", + "numberOfAyah": 3, + "translatedBy": "Hussain Ansarian", + "urlName": "al-kawthar", + "translitName": "Al-Kawthar" + }, + { + "id": 109, + "name": "کافرون", + "numberOfAyah": 6, + "translatedBy": "Hussain Ansarian", + "urlName": "al-kafirun", + "translitName": "Al-Kafirun" + }, + { + "id": 110, + "name": "نصر", + "numberOfAyah": 3, + "translatedBy": "Hussain Ansarian", + "urlName": "an-nasr", + "translitName": "An-Nasr" + }, + { + "id": 111, + "name": "مسد", + "numberOfAyah": 5, + "translatedBy": "Hussain Ansarian", + "urlName": "al-masad", + "translitName": "Al-Masad" + }, + { + "id": 112, + "name": "اخلاص", + "numberOfAyah": 4, + "translatedBy": "Hussain Ansarian", + "urlName": "al-ikhlas", + "translitName": "Al-Ikhlas" + }, + { + "id": 113, + "name": "فلق", + "numberOfAyah": 5, + "translatedBy": "Hussain Ansarian", + "urlName": "al-falaq", + "translitName": "Al-Falaq" + }, + { + "id": 114, + "name": "ناس", + "numberOfAyah": 6, + "translatedBy": "Hussain Ansarian", + "urlName": "an-nas", + "translitName": "An-Nas" + } + ] +} diff --git a/share/al-quran.reflectslight.io/CHANGELOG b/share/al-quran.reflectslight.io/CHANGELOG index 6578e7b..5e836e2 100644 --- a/share/al-quran.reflectslight.io/CHANGELOG +++ b/share/al-quran.reflectslight.io/CHANGELOG @@ -2,56 +2,28 @@ ** vNEXT -**** Remove ~kanit-regular.ttf~ -This change falls back onto standard web fonts across all -languages. This should help decrease bundle size, and save -time processing the custom font during page load +** Add ~Quran.surahs~ +The ~Quran.surahs~ getter returns an object where the +key is the locale name, and the value is an array of +Surah objects -**** Add src/js/main/vendor.ts -Add a new entry point that bundles preact, and other third -party dependencies. Third-party imports are now in a single -place rather than duplicated throughout app components - -**** Reduce bundle size -Remove build artifacts and features that don't apply on -KaiOS (eg: opengraph tags) - -**** Replace the play|pause icons +** Replace the play|pause icons Replace the play and pause icons -**** Remove nanoc-gzip.rb +** Remove nanoc-gzip.rb Unneccessary for a packaged KaiOS application -**** Remove loaders +** Remove loaders Remove all loaders from ~/src/js/loaders/~, and the postman package (~packages/typescript/postman~) -**** KaiOS fork -Fork a new branch: ~kaios/main~ dedicated to KaiOS +** Replace multiple entry points with a single entry point +The ~/src/js/main/*~ directory - which previously contained +multiple entry points - has been reduced to a single entry +point: ~/src/js/index.tsx~ -**** Add ~etc/~ -Move a large portion of the website's configuration files to -the ~/etc~ directory - -** v0.9.0 - -**** Add ~share/al-quran.reflectslight.io/documentation/~ -Replace ~share/doc/al-quran.reflectslight.io~ - -**** Add new recitation -Add a new recitation by Hani ar-Rifai - -**** Replace ~opengraph.rb~ with ~_opengraph.html.erb~ -Simplify how we render opengraph meta tags - -**** Move to nodejs for scss compiler -Replace the deprecated Ruby scss compiler with the nodejs compiler - -**** Add ~audio.base_url~ to nanoc.yaml -Provide extra flexibility for audio content - -**** Rename packages/typescript/Quran/ properties -Introduce urlName, translitName to Surah objects - -**** eslint upgrade -Migrate to the most recent version of eslint (^9.8) +** Redesign as a Single Page Application (SPA) +The previous approach where we generated a HTML file +for every surah in each language has been replaced by +a Single Page Application (SPA) that is more suitable +for KaiOS. diff --git a/src/css/_base.scss b/src/css/_base.scss index 4bf670e..89845e8 100644 --- a/src/css/_base.scss +++ b/src/css/_base.scss @@ -1,4 +1,3 @@ -@import "base/colors"; @import "base/breakpoints"; @import "base/icon"; @import "base/select"; @@ -8,46 +7,111 @@ html { height: 100%; body { height: 100%; - color: $black; margin: 0; + .root { height: 100%; } + .ltr { - font-family: 'Arial', 'Tahoma', sans-serif; + font-family: "Kanit Regular"; direction: ltr; } + .rtl { - font-family: 'Arial', 'Tahoma', sans-serif; + font-family: "Cairo Regular", "Arial", "Tahoma", sans-serif; direction: rtl; } + .invisible, .hidden { display: none; } + .outline-0 { outline: 0; } + .scroll-y { overflow-y: auto; } + + .font-cairo { + font-family: "Cairo Regular"; + } + + .font-cairo-bold { + font-family: "Cairo Bold"; + } + + .font-amiri { + font-family: "Amiri Regular", "Scheherazade", "Arial", sans-serif; + } } } body .root .content.theme { margin: 0 auto; - max-width: $breakpoint-md; - width: 85%; - font-size: medium; + max-width: $breakpoint-sm; + width: 100%; + color: var(--color-accent); + + /* <= $breakpoint-sm */ + @media (max-width: $breakpoint-sm) { + width: 85%; + } header { a[data-testid="h1"] { - font-size: large; + background: var(--primary-color); + color: var(--secondary-color); } } + + ul.body { + scrollbar-color: var(--primary-color) var(--secondary-color); + } + + .color-primary { + color: var(--primary-color); + } + + .color-secondary { + color: var(--secondary-color) !important; + } + + .color-accent { + color: var(--accent-color); + } + + .background-primary { + background: var(--primary-color); + } + + .background-secondary { + background: var(--secondary-color); + } + + .background-accent { + background: var(--accent-color); + } + + .border-accent { + border: 1px solid var(--accent-color); + } } /** * RTL languages */ body .root .content.theme.rtl { + direction: rtl; + header a[data-testid="h1"] { + font-family: "Cairo Bold"; + } +} + +html[dir="rtl"] { + .font-extrabold { + font-family: "Cairo Bold" !important; + } } diff --git a/src/css/base/_breakpoints.scss b/src/css/base/_breakpoints.scss index 55e83a1..cf854f0 100644 --- a/src/css/base/_breakpoints.scss +++ b/src/css/base/_breakpoints.scss @@ -1,8 +1,4 @@ -/* KaiOS: max widths */ -$breakpoint-kaiOS-portrait: 240px; -$breakpoint-kaiOS-landscape: 320px; - -/* Standard max widths */ +/* max-width */ $breakpoint-sm: 576px; $breakpoint-md: 768px; $breakpoint-lg: 992px; diff --git a/src/css/base/_colors.scss b/src/css/base/_colors.scss deleted file mode 100644 index c24c4c4..0000000 --- a/src/css/base/_colors.scss +++ /dev/null @@ -1,2 +0,0 @@ -$black: #454545; -$white: #FFF; diff --git a/src/css/base/_icon.scss b/src/css/base/_icon.scss index 49fd045..09e2da1 100644 --- a/src/css/base/_icon.scss +++ b/src/css/base/_icon.scss @@ -57,6 +57,7 @@ .refresh.icon, .right-arrow.icon, .left-arrow.icon { + fill: var(--primary-color); height: 16px; width: 16px; } @@ -65,6 +66,14 @@ transform: rotate(180deg); } + .pause.icon { + g rect { + width: 15px; + height: 40px; + fill: var(--primary-color); + } + } + ul.body.stream span { .sound-on.icon, .sound-off.icon { @@ -92,7 +101,7 @@ .root .content.theme.rtl { .stalled.icon { left: 0px; - right: 7px; + right: 12px; } ul.body.stream { @@ -112,3 +121,42 @@ } } } + +.content.theme { + ul.body.stream li, footer { + .play.icon { + fill: var(--primary-color); + stroke: var(--secondary-color); + stroke-width: 2px; + } + + .pause.icon { + rect { + fill: var(--primary-color); + stroke: var(--secondary-color); + stroke-width: 1px; + } + } + + .refresh.icon { + fill: var(--primary-color); + } + + .sound-on.icon, .sound-off.icon { + polygon { + fill: var(--primary-color); + stroke-width: 2; + } + } + .right-arrow.icon, + .left-arrow.icon { + g { + fill: var(--secondary--color); + } + } + } + + .stalled.icon { + div { background: var(--secondary-color); } + } +} diff --git a/src/css/base/_select.scss b/src/css/base/_select.scss index aa80155..c6fd146 100644 --- a/src/css/base/_select.scss +++ b/src/css/base/_select.scss @@ -1,22 +1,37 @@ .root .content.theme { + .green { + background: #6d765b !important; + } + .blue { + background: #3383C3 !important; + } + .react-select { - z-index: 2; .active { cursor: pointer; } } .react-select.theme-select { + ul li, + ul li a { + -webkit-tap-highlight-color: transparent; + } .circle { - width: 16px; - height: 16px; - border-radius: 12px; + background: var(--primary-color); } } .react-select.language-select { li a { - border: 1px solid $black; + background: var(--primary-color); + color: var(--secondary-color); + &:active, &:visited, &:link { + color: var(--secondary-color); + } + &:hover { + font-weight: bold; + } } } } diff --git a/src/css/main/SurahIndex.scss b/src/css/main/SurahIndex.scss index 5ef88a7..c42288b 100644 --- a/src/css/main/SurahIndex.scss +++ b/src/css/main/SurahIndex.scss @@ -4,8 +4,9 @@ body .root .content.theme { ul.body.index { - @media (max-width: $breakpoint-sm) { - li, li a { + li, li a { + color: var(--accent-color); + @media (max-width: $breakpoint-sm) { width: 100%; } } @@ -30,8 +31,47 @@ body .root .content.theme { } footer { - /* TODO: Remove footer ? */ - display: none; + a { + color: var(--accent-color); + &:active, &:link, &:visited { + color: var(--accent-color); + } + &:hover { + font-weight: bold; + } + } + + input { + color: var(--accent-color); + border: 1px solid var(--primary-color); + &:focus { + outline-color: var(--primary-color); + } + } + + @media(max-width: $breakpoint-sm) { + border-top: 1px solid #f2f2f2; + .right-arrow, + .left-arrow { + display: none; + } + a { + width: 100%; + justify-content: center; + } + } + + @media(max-width: $breakpoint-sm) { + input[data-testid="SurahIndex/Filter"] { + display: none; + } + } + + @media(hover: none) { + input[data-testid="SurahIndex/Filter"] { + display: none; + } + } } } @@ -40,24 +80,19 @@ body .root .content.theme { */ body .root .content.theme.rtl { ul.body.index { - li a { - span:first-child { - border: 1px solid $black; - margin-left: 0.5rem; - } - } - li.surah { + @media (max-width: $breakpoint-sm) { + width: 100%; + } span.transliterated { display: none; } } } - - /* >= $breakpoint-xxl */ - @media (min-width: $breakpoint-xxl) { - ul.body.index { - li.surah a { - span:last-child { - font-size: larger; + @media (hover: hover) { + footer { + a { + &:hover { + font-weight: normal; + font-family: "Cairo Bold"; } } } diff --git a/src/css/main/SurahStream.scss b/src/css/main/SurahStream.scss index 00c430c..2f8ffae 100644 --- a/src/css/main/SurahStream.scss +++ b/src/css/main/SurahStream.scss @@ -16,40 +16,13 @@ body .root .content.theme { animation: FadeIn 1s; } } - ul.body.stream:focus { - outline: none; - } } body .root .content.theme.rtl { ul.body.stream { li.ayah p { - line-height: 1.7; - max-width: 470px; - } - } - /* <= $breakpoint-sm */ - @media (max-width: $breakpoint-sm) { - ul.body.stream { - li.ayah p { - width: 100%; - } - } - } - /* >= $breakpoint-xxl */ - @media (min-width: $breakpoint-xxl) { - ul.body.stream { - $gap: 2rem; - margin-top: $gap; - li.ayah { - font-size: larger; - margin-bottom: $gap; - } - } - footer { - .timer { - font-size: larger; - } + width: 100%; + @extend .font-amiri; } } } diff --git a/src/css/themes/blue.scss b/src/css/themes/blue.scss index a2e884d..0c41293 100644 --- a/src/css/themes/blue.scss +++ b/src/css/themes/blue.scss @@ -1,39 +1,5 @@ -.root .content.theme.blue.rtl { - direction: rtl; -} - .root .content.theme.blue { - @import "blue/base/colors"; - - .color-white { - color: $white; - } - - .color-primary { - color: $primary-color; - } - - .color-secondary { - color: $secondary-color; - } - - .color-accent { - color: $accent-color; - } - - .background-primary { - background: $primary-color; - } - - .background-secondary { - background: $secondary-color; - } - - .background-accent { - background: $accent-color; - } + --primary-color: #3383C3; + --secondary-color: #FFF; + --accent-color: #444; } - -@import "blue/base"; -@import "blue/main/SurahIndex"; -@import "blue/main/SurahStream"; diff --git a/src/css/themes/blue/_base.scss b/src/css/themes/blue/_base.scss deleted file mode 100644 index 897de10..0000000 --- a/src/css/themes/blue/_base.scss +++ /dev/null @@ -1,15 +0,0 @@ -@import "base/icon"; -@import "base/select"; - -.root .content.theme.blue { - @import "base/colors"; - scrollbar-color: $primary-color #FFF; - - header { - a[data-testid="h1"] { - background: $primary-color; - border: 1px solid $black; - color: #FFF; - } - } -} diff --git a/src/css/themes/blue/base/_colors.scss b/src/css/themes/blue/base/_colors.scss deleted file mode 100644 index 59c60b6..0000000 --- a/src/css/themes/blue/base/_colors.scss +++ /dev/null @@ -1,4 +0,0 @@ -$primary-color: #3383C3; -$secondary-color: #3383C3; -$accent-color: lighten($primary-color, 38%); -$white: #FFF; diff --git a/src/css/themes/blue/base/_icon.scss b/src/css/themes/blue/base/_icon.scss deleted file mode 100644 index b8ffb42..0000000 --- a/src/css/themes/blue/base/_icon.scss +++ /dev/null @@ -1,40 +0,0 @@ -.content.theme.blue { - @import "themes/blue/base/colors"; - - ul.body.stream li, footer { - .play.icon { - fill: $primary-color; - stroke: $secondary-color; - stroke-width: 2px; - } - - .pause.icon { - path { - fill: $primary-color; - stroke: $secondary-color; - stroke-width: 1px; - } - } - - .refresh.icon { - fill: $primary-color; - } - - .sound-on.icon, .sound-off.icon { - polygon { - fill: $primary-color; - stroke-width: 2; - } - } - .right-arrow.icon, - .left-arrow.icon { - g { - fill: $secondary-color; - } - } - } - - .stalled.icon { - div { background: $secondary-color; } - } -} diff --git a/src/css/themes/blue/base/_select.scss b/src/css/themes/blue/base/_select.scss deleted file mode 100644 index 03686a2..0000000 --- a/src/css/themes/blue/base/_select.scss +++ /dev/null @@ -1,29 +0,0 @@ -.content.theme { - @import "themes/blue/base/colors"; - .blue { - background: $secondary-color; - } -} - -.content.theme.blue { - @import "themes/blue/base/colors"; - - .react-select.theme-select { - .active .circle { - background: $secondary-color; - } - ul li.blue .circle { - background: $secondary-color; - } - } - - .react-select.language-select { - li a { - background: $secondary-color; - color: $white; - &:active, &:visited, &:link { - color: $white; - } - } - } -} diff --git a/src/css/themes/blue/main/_SurahIndex.scss b/src/css/themes/blue/main/_SurahIndex.scss deleted file mode 100644 index eb12378..0000000 --- a/src/css/themes/blue/main/_SurahIndex.scss +++ /dev/null @@ -1,58 +0,0 @@ -.root .surah-index.content.theme.blue { - @import "themes/blue/base/colors"; - @import "base/breakpoints"; - - ul.body.index { - li.surah a { - &:active, &:link, &:visited { - color: $primary-color; - } - - span:first-child { - border: 1px solid $black; - color: $white; - } - } - } - - footer { - a { - &:active, &:link, &:visited { - color: $primary-color; - text-decoration: none; - } - &:hover { - font-weight: bold; - } - } - input { - border: 1px solid $secondary-color; - &:focus { - outline-color: $secondary-color; - } - } - } -} - -.root .content.theme.blue.en { - @import "themes/blue/base/colors"; - header { - div { - color: $secondary-color; - } - } -} - -.root .content.theme.blue.rtl { - @import "themes/blue/base/colors"; - ul.body.index { - li.surah a { - span.id { - color: $secondary-color; - } - span.name { - color: $primary-color; - } - } - } -} diff --git a/src/css/themes/blue/main/_SurahStream.scss b/src/css/themes/blue/main/_SurahStream.scss deleted file mode 100644 index 307c0e5..0000000 --- a/src/css/themes/blue/main/_SurahStream.scss +++ /dev/null @@ -1,19 +0,0 @@ -.root .content.theme.blue { - @import "themes/blue/base/colors"; - @import "base/breakpoints"; - - ul.body.stream { - li.ayah { - span span { - color: $secondary-color; - } - p { } - } - } - - footer { - .timer { - color: $primary-color; - } - } -} diff --git a/src/css/themes/green.scss b/src/css/themes/green.scss index 208110b..80e62cc 100644 --- a/src/css/themes/green.scss +++ b/src/css/themes/green.scss @@ -1,40 +1,5 @@ -.root .content.theme.green.rtl { - @import "green/base/colors"; - direction: rtl; -} - .root .content.theme.green { - @import "green/base/colors"; - - .color-primary { - color: $primary-color; - } - - .color-secondary { - color: $secondary-color; - } - - .color-accent { - color: $accent-color; - } - - .color-white { - color: #FFF; - } - - .background-primary { - background: $primary-color; - } - - .background-secondary { - background: $secondary-color; - } - - .background-accent { - background: $accent-color; - } + --primary-color: #6d765b; + --secondary-color: #FFF; + --accent-color: #444; } - -@import "green/base"; -@import "green/main/SurahIndex"; -@import "green/main/SurahStream"; diff --git a/src/css/themes/green/_base.scss b/src/css/themes/green/_base.scss deleted file mode 100644 index 018ed89..0000000 --- a/src/css/themes/green/_base.scss +++ /dev/null @@ -1,15 +0,0 @@ -@import "base/icon"; -@import "base/select"; - -.root .content.theme.green { - @import "base/colors"; - scrollbar-color: $primary-color #FFF; - - header { - a[data-testid="h1"] { - background: $primary-color; - border: 1px solid $black; - color: #FFF; - } - } -} diff --git a/src/css/themes/green/base/_colors.scss b/src/css/themes/green/base/_colors.scss deleted file mode 100644 index 1195cee..0000000 --- a/src/css/themes/green/base/_colors.scss +++ /dev/null @@ -1,3 +0,0 @@ -$primary-color: #6d765b; -$secondary-color: #6C755A; -$accent-color: #FFF; diff --git a/src/css/themes/green/base/_icon.scss b/src/css/themes/green/base/_icon.scss deleted file mode 100644 index 37e7425..0000000 --- a/src/css/themes/green/base/_icon.scss +++ /dev/null @@ -1,41 +0,0 @@ -.content.theme.green { - @import "themes/green/base/colors"; - - ul.body.stream li, footer { - .play.icon { - g path { - fill: $primary-color; - stroke: $primary-color; - stroke-width: 3px; - } - } - - .pause.icon { - g path { - fill: $primary-color; - stroke: $primary-color; - stroke-width: 1px; - } - } - - .refresh.icon { - fill: $primary-color; - } - - .sound-on.icon, .sound-off.icon { - g polygon { - fill: $primary-color; - } - } - .right-arrow.icon, - .left-arrow.icon { - g { - fill: $primary-color; - } - } - } - - .stalled.icon { - div { background: $primary-color; } - } -} diff --git a/src/css/themes/green/base/_select.scss b/src/css/themes/green/base/_select.scss deleted file mode 100644 index 9a7adc0..0000000 --- a/src/css/themes/green/base/_select.scss +++ /dev/null @@ -1,29 +0,0 @@ -.content.theme { - @import "themes/green/base/colors"; - .green { - background: $primary-color; - } -} - -.content.theme.green { - @import "themes/green/base/colors"; - - .react-select.theme-select { - .active { - .circle { - background: $primary-color; - border-radius: 10px; - } - } - } - - .react-select.language-select { - li a { - background: $primary-color; - color: $white; - &:active, &:visited, &:link { - color: $white; - } - } - } -} diff --git a/src/css/themes/green/main/_SurahIndex.scss b/src/css/themes/green/main/_SurahIndex.scss deleted file mode 100644 index 899a01d..0000000 --- a/src/css/themes/green/main/_SurahIndex.scss +++ /dev/null @@ -1,31 +0,0 @@ -.root .surah-index.content.theme.green { - @import "base/breakpoints"; - @import "themes/green/base/colors"; - - ul.body.index a { - &:active, &:link, &:visited { - color: $primary-color; - } - span:first-child { - border: 1px solid $black; - color: $white; - } - } - - footer { - a { - &:active, &:link, &:visited { - color: $primary-color; - } - &:hover { - font-weight: bold; - } - } - input { - border: 1px solid $primary-color; - &:focus { - outline-color: $primary-color; - } - } - } -} diff --git a/src/css/themes/green/main/_SurahStream.scss b/src/css/themes/green/main/_SurahStream.scss deleted file mode 100644 index 3498a3f..0000000 --- a/src/css/themes/green/main/_SurahStream.scss +++ /dev/null @@ -1,29 +0,0 @@ -.root .content.theme.green { - @import "themes/green/base/colors"; - @import "base/breakpoints"; - - header { - h1, h1 a { color: $primary-color; } - color: $primary-color; - } - - ul.body.stream { - li.ayah { - color: $primary-color; - p { color: $black; } - } - } - - footer { - .timer { - color: $primary-color; - } - } - - .sound-on.icon, .svg.sound-off.icon { - polygon { - fill: $primary-color; - stroke-width: 2; - } - } -} diff --git a/src/css/vendor/tail.scss b/src/css/vendor/tail.scss index e61edc7..af7ad6b 100644 --- a/src/css/vendor/tail.scss +++ b/src/css/vendor/tail.scss @@ -4597,6 +4597,34 @@ template { overflow-y: scroll; } +.z-0 { + z-index: 0; +} + +.z-10 { + z-index: 10; +} + +.z-20 { + z-index: 20; +} + +.z-30 { + z-index: 30; +} + +.z-40 { + z-index: 40; +} + +.z-50 { + z-index: 50; +} + +.z-auto { + z-index: auto; +} + .shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); } @@ -5235,6 +5263,220 @@ template { border-bottom-left-radius: 9999px; } +.border-0 { + border-width: 0px; +} + +.border-2 { + border-width: 2px; +} + +.border-4 { + border-width: 4px; +} + +.border-8 { + border-width: 8px; +} + +.border { + border-width: 1px; +} + +.border-x-0 { + border-left-width: 0px; + border-right-width: 0px; +} + +.border-x-2 { + border-left-width: 2px; + border-right-width: 2px; +} + +.border-x-4 { + border-left-width: 4px; + border-right-width: 4px; +} + +.border-x-8 { + border-left-width: 8px; + border-right-width: 8px; +} + +.border-x { + border-left-width: 1px; + border-right-width: 1px; +} + +.border-y-0 { + border-top-width: 0px; + border-bottom-width: 0px; +} + +.border-y-2 { + border-top-width: 2px; + border-bottom-width: 2px; +} + +.border-y-4 { + border-top-width: 4px; + border-bottom-width: 4px; +} + +.border-y-8 { + border-top-width: 8px; + border-bottom-width: 8px; +} + +.border-y { + border-top-width: 1px; + border-bottom-width: 1px; +} + +.border-s-0 { + border-inline-start-width: 0px; +} + +.border-s-2 { + border-inline-start-width: 2px; +} + +.border-s-4 { + border-inline-start-width: 4px; +} + +.border-s-8 { + border-inline-start-width: 8px; +} + +.border-s { + border-inline-start-width: 1px; +} + +.border-e-0 { + border-inline-end-width: 0px; +} + +.border-e-2 { + border-inline-end-width: 2px; +} + +.border-e-4 { + border-inline-end-width: 4px; +} + +.border-e-8 { + border-inline-end-width: 8px; +} + +.border-e { + border-inline-end-width: 1px; +} + +.border-t-0 { + border-top-width: 0px; +} + +.border-t-2 { + border-top-width: 2px; +} + +.border-t-4 { + border-top-width: 4px; +} + +.border-t-8 { + border-top-width: 8px; +} + +.border-t { + border-top-width: 1px; +} + +.border-r-0 { + border-right-width: 0px; +} + +.border-r-2 { + border-right-width: 2px; +} + +.border-r-4 { + border-right-width: 4px; +} + +.border-r-8 { + border-right-width: 8px; +} + +.border-r { + border-right-width: 1px; +} + +.border-b-0 { + border-bottom-width: 0px; +} + +.border-b-2 { + border-bottom-width: 2px; +} + +.border-b-4 { + border-bottom-width: 4px; +} + +.border-b-8 { + border-bottom-width: 8px; +} + +.border-b { + border-bottom-width: 1px; +} + +.border-l-0 { + border-left-width: 0px; +} + +.border-l-2 { + border-left-width: 2px; +} + +.border-l-4 { + border-left-width: 4px; +} + +.border-l-8 { + border-left-width: 8px; +} + +.border-l { + border-left-width: 1px; +} + +.border-solid { + border-style: solid; +} + +.border-dashed { + border-style: dashed; +} + +.border-dotted { + border-style: dotted; +} + +.border-double { + border-style: double; +} + +.border-hidden { + border-style: hidden; +} + +.border-none { + border-style: none; +} + .outline-none { outline: 2px solid transparent; outline-offset: 2px; @@ -5300,4 +5542,4 @@ template { position: sticky; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/normalize/index.scss%22,%22../src/tail/sizing/height/_height.scss%22,%22../src/tail/sizing/height/_max_height.scss%22,%22../src/tail/sizing/width/index.scss%22,%22../src/tail/margin/index.scss%22,%22../src/tail/padding/index.scss%22,%22../src/tail/cursor/index.scss%22,%22../src/tail/display/index.scss%22,%22../src/tail/flex/_flex_direction.scss%22,%22../src/tail/flex/_flex_wrap.scss%22,%22../src/tail/flex/_flex_basis.scss%22,%22../src/tail/flex/_flex_grow.scss%22,%22../src/tail/flex/_align_content.scss%22,%22../src/tail/flex/_align_items.scss%22,%22../src/tail/flex/_justify_content.scss%22,%22../src/tail/flex/_place_content.scss%22,%22../src/tail/flex/_order.scss%22,%22../src/tail/font/_font_family.scss%22,%22../src/tail/font/_font_size.scss%22,%22../src/tail/font/_font_style.scss%22,%22../src/tail/font/_font_weight.scss%22,%22../src/tail/font/_font_variant_numeric.scss%22,%22../src/tail/text/_transform.scss%22,%22../src/tail/text/_decoration.scss%22,%22../src/tail/text/_align.scss%22,%22../src/tail/layout/_overflow.scss%22,%22../src/tail/effects/_box_shadow.scss%22,%22../src/tail/list/_list_style_type.scss%22,%22../src/tail/border/_border_radius.scss%22,%22../src/tail/outline/index.scss%22,%22../src/tail/whitespace/index.scss%22,%22../src/tail/position/index.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA,QACQ;EACN;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA,SACS;EACP;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC3VF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC/KF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE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;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAU;;;AACV;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AC/RX;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAA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;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACtBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC3CF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACPF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AClDF;EACE;;;AAEF;EACE;;;ACJF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AChBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC3CF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC7BF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACPF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzcF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACdF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AChBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE%22,%22file%22:%22tail.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/normalize/index.scss%22,%22../src/tail/sizing/height/_height.scss%22,%22../src/tail/sizing/height/_max_height.scss%22,%22../src/tail/sizing/width/index.scss%22,%22../src/tail/margin/index.scss%22,%22../src/tail/padding/index.scss%22,%22../src/tail/cursor/index.scss%22,%22../src/tail/display/index.scss%22,%22../src/tail/flex/_flex_direction.scss%22,%22../src/tail/flex/_flex_wrap.scss%22,%22../src/tail/flex/_flex_basis.scss%22,%22../src/tail/flex/_flex_grow.scss%22,%22../src/tail/flex/_align_content.scss%22,%22../src/tail/flex/_align_items.scss%22,%22../src/tail/flex/_justify_content.scss%22,%22../src/tail/flex/_place_content.scss%22,%22../src/tail/flex/_order.scss%22,%22../src/tail/font/_font_family.scss%22,%22../src/tail/font/_font_size.scss%22,%22../src/tail/font/_font_style.scss%22,%22../src/tail/font/_font_weight.scss%22,%22../src/tail/font/_font_variant_numeric.scss%22,%22../src/tail/text/_transform.scss%22,%22../src/tail/text/_decoration.scss%22,%22../src/tail/text/_align.scss%22,%22../src/tail/layout/_overflow.scss%22,%22../src/tail/layout/_z-index.scss%22,%22../src/tail/effects/_box_shadow.scss%22,%22../src/tail/list/_list_style_type.scss%22,%22../src/tail/border/_border_radius.scss%22,%22../src/tail/border/_border_width.scss%22,%22../src/tail/border/_border_style.scss%22,%22../src/tail/outline/index.scss%22,%22../src/tail/whitespace/index.scss%22,%22../src/tail/position/index.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA,QACQ;EACN;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA,SACS;EACP;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC3VF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC/KF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE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;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAU;;;AACV;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AACX;EAAW;;;AC/RX;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAS;;;AACT;EAAQ;;;AACR;EAAS;;;AACT;EAAS;;;AACT;EAA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;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACtBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC3CF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACPF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AClDF;EACE;;;AAEF;EACE;;;ACJF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACVF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AChBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC3CF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACnBF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC7BF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACPF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACzcF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AC/IF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AChBF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;ACdF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AChBF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE%22,%22file%22:%22tail.css%22%7D */ diff --git a/src/html/index.html b/src/html/index.html new file mode 100644 index 0000000..f89f5ef --- /dev/null +++ b/src/html/index.html @@ -0,0 +1,11 @@ + + + + + + + + +
+ + diff --git a/src/html/main/random.html.erb b/src/html/main/random.html.erb deleted file mode 100644 index 653c2aa..0000000 --- a/src/html/main/random.html.erb +++ /dev/null @@ -1,22 +0,0 @@ - - - - <%= t(context.locale, "TheNobleQuran") %> - - <%= erb("_version.html.erb") %> - - <% context.locales.each do |locale| %> - - <% end %> - <%= erb("_favicon.html.erb") %> - - - - - diff --git a/src/html/main/redirect.html.erb b/src/html/main/redirect.html.erb deleted file mode 100644 index c2f8bef..0000000 --- a/src/html/main/redirect.html.erb +++ /dev/null @@ -1,19 +0,0 @@ - - - - <%= t("en", "TheNobleQuran") %> - - <%= erb("_version.html.erb") %> - - <% locales.each do |locale| %> - - <% end %> - <%= erb("_favicon.html.erb") %> - - - - - diff --git a/src/html/main/surah-index.html.erb b/src/html/main/surah-index.html.erb deleted file mode 100644 index 22871a2..0000000 --- a/src/html/main/surah-index.html.erb +++ /dev/null @@ -1,25 +0,0 @@ - - - - <%= t(context.locale, "TheNobleQuran") %> - - - - <%= erb("_version.html.erb") %> - - <% context.locales.each do |locale| %> - - <% end %> - <%= erb("_favicon.html.erb") %> - - -
- - - - diff --git a/src/html/main/surah-stream.html.erb b/src/html/main/surah-stream.html.erb deleted file mode 100644 index 45bbcb8..0000000 --- a/src/html/main/surah-stream.html.erb +++ /dev/null @@ -1,31 +0,0 @@ - - - - <%= context.surah.name %> - - - - <%= erb("_version.html.erb") %> - - <% context.locales.each do |locale| %> - - <% end %> - <%= erb("_favicon.html.erb") %> - - -
-
- <%= inline_json("/json/%{locale}/%{surah_id}/info.json", context:, class_name: "info") %> - <%= inline_json("/json/%{locale}/%{surah_id}/surah.json", context:, class_name: "surah") %> - <%= inline_json("/json/durations/%{surah_id}.json", context:, class_name: "durations") %> - - - - diff --git a/src/js/components/Select/LanguageSelect.tsx b/src/js/components/Select/LanguageSelect.tsx index 00ff20a..90fea4e 100644 --- a/src/js/components/Select/LanguageSelect.tsx +++ b/src/js/components/Select/LanguageSelect.tsx @@ -8,6 +8,7 @@ type Props = { }; export function LanguageSelect({ locale, isOpen, setIsOpen }: Props) { + const locales = Object.values(Quran.locales); return ( +