123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885 |
- exports.id = 57072;
- exports.ids = [57072];
- exports.modules = {
- /***/ 49103:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "plainVerseWordContainer": "PlainVerseTextWord_plainVerseWordContainer__2pyxx",
- "plainVerseWbwText": "PlainVerseTextWord_plainVerseWbwText__DTrKx"
- };
- /***/ }),
- /***/ 29702:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "verseText": "VerseText_verseText__Fk0Fi",
- "verseTextContainer": "VerseText_verseTextContainer__hOUD0",
- "chapterHeaderContainer": "VerseText_chapterHeaderContainer__SaizB",
- "largeQuranTextLayoutContainer": "VerseText_largeQuranTextLayoutContainer__Fv3ec",
- "largeQuranTextLayout": "VerseText_largeQuranTextLayout__JsyGS",
- "verseTextCenterAlign": "VerseText_verseTextCenterAlign__Tz7Y4",
- "verseTextSpaceBetween": "VerseText_verseTextSpaceBetween__syJcK",
- "verseTextWrap": "VerseText_verseTextWrap__gOX9U",
- "code_v1-font-size-1": "VerseText_code_v1-font-size-1__9Rt0g",
- "code_v1-font-size-2": "VerseText_code_v1-font-size-2__VQjoR",
- "code_v1-font-size-3": "VerseText_code_v1-font-size-3__3x2lH",
- "code_v1-font-size-4": "VerseText_code_v1-font-size-4__LhpwQ",
- "code_v1-font-size-5": "VerseText_code_v1-font-size-5___K_MX",
- "code_v1-font-size-6": "VerseText_code_v1-font-size-6__SJ4l4",
- "code_v1-font-size-7": "VerseText_code_v1-font-size-7__c7wGl",
- "code_v1-font-size-8": "VerseText_code_v1-font-size-8__Rg__I",
- "code_v1-font-size-9": "VerseText_code_v1-font-size-9__QD8Sb",
- "code_v1-font-size-10": "VerseText_code_v1-font-size-10__r28R3",
- "code_v2-font-size-1": "VerseText_code_v2-font-size-1__F3Otn",
- "code_v2-font-size-2": "VerseText_code_v2-font-size-2__5pseo",
- "code_v2-font-size-3": "VerseText_code_v2-font-size-3__Lhu_B",
- "code_v2-font-size-4": "VerseText_code_v2-font-size-4__i8Qln",
- "code_v2-font-size-5": "VerseText_code_v2-font-size-5__paFu0",
- "code_v2-font-size-6": "VerseText_code_v2-font-size-6__0ofuY",
- "code_v2-font-size-7": "VerseText_code_v2-font-size-7__qY63H",
- "code_v2-font-size-8": "VerseText_code_v2-font-size-8__Jas77",
- "code_v2-font-size-9": "VerseText_code_v2-font-size-9__zKbDl",
- "code_v2-font-size-10": "VerseText_code_v2-font-size-10__RdYo_",
- "text_indopak_15_lines-font-size-1": "VerseText_text_indopak_15_lines-font-size-1__MpqYL",
- "text_indopak_15_lines-font-size-2": "VerseText_text_indopak_15_lines-font-size-2___O1LY",
- "text_indopak_15_lines-font-size-3": "VerseText_text_indopak_15_lines-font-size-3__va0v9",
- "text_indopak_15_lines-font-size-4": "VerseText_text_indopak_15_lines-font-size-4__lnUQq",
- "text_indopak_15_lines-font-size-5": "VerseText_text_indopak_15_lines-font-size-5__XOzo1",
- "text_indopak_15_lines-font-size-6": "VerseText_text_indopak_15_lines-font-size-6__gB6zb",
- "text_indopak_15_lines-font-size-7": "VerseText_text_indopak_15_lines-font-size-7__FekJW",
- "text_indopak_15_lines-font-size-8": "VerseText_text_indopak_15_lines-font-size-8__loZsT",
- "text_indopak_15_lines-font-size-9": "VerseText_text_indopak_15_lines-font-size-9__VmlCu",
- "text_indopak_15_lines-font-size-10": "VerseText_text_indopak_15_lines-font-size-10__O1PJG",
- "text_indopak_16_lines-font-size-1": "VerseText_text_indopak_16_lines-font-size-1__4ucyv",
- "text_indopak_16_lines-font-size-2": "VerseText_text_indopak_16_lines-font-size-2__3yXno",
- "text_indopak_16_lines-font-size-3": "VerseText_text_indopak_16_lines-font-size-3__G_OaF",
- "text_indopak_16_lines-font-size-4": "VerseText_text_indopak_16_lines-font-size-4__f3_iJ",
- "text_indopak_16_lines-font-size-5": "VerseText_text_indopak_16_lines-font-size-5__oUIOq",
- "text_indopak_16_lines-font-size-6": "VerseText_text_indopak_16_lines-font-size-6__FA5AG",
- "text_indopak_16_lines-font-size-7": "VerseText_text_indopak_16_lines-font-size-7__JFk0u",
- "text_indopak_16_lines-font-size-8": "VerseText_text_indopak_16_lines-font-size-8__Fni_s",
- "text_indopak_16_lines-font-size-9": "VerseText_text_indopak_16_lines-font-size-9__zXsnb",
- "text_indopak_16_lines-font-size-10": "VerseText_text_indopak_16_lines-font-size-10__I7RIN",
- "qpc_uthmani_hafs-font-size-1": "VerseText_qpc_uthmani_hafs-font-size-1__dcYI8",
- "qpc_uthmani_hafs-font-size-2": "VerseText_qpc_uthmani_hafs-font-size-2__BIcpt",
- "qpc_uthmani_hafs-font-size-3": "VerseText_qpc_uthmani_hafs-font-size-3___0I2d",
- "qpc_uthmani_hafs-font-size-4": "VerseText_qpc_uthmani_hafs-font-size-4__uAhrM",
- "qpc_uthmani_hafs-font-size-5": "VerseText_qpc_uthmani_hafs-font-size-5__qDztZ",
- "qpc_uthmani_hafs-font-size-6": "VerseText_qpc_uthmani_hafs-font-size-6__njx2U",
- "qpc_uthmani_hafs-font-size-7": "VerseText_qpc_uthmani_hafs-font-size-7__wJ6wZ",
- "qpc_uthmani_hafs-font-size-8": "VerseText_qpc_uthmani_hafs-font-size-8__E18cl",
- "qpc_uthmani_hafs-font-size-9": "VerseText_qpc_uthmani_hafs-font-size-9__9xc_5",
- "qpc_uthmani_hafs-font-size-10": "VerseText_qpc_uthmani_hafs-font-size-10__9KVZ2",
- "fallback_qpc_uthmani_hafs-font-size-1": "VerseText_fallback_qpc_uthmani_hafs-font-size-1__tEYKA",
- "fallback_qpc_uthmani_hafs-font-size-2": "VerseText_fallback_qpc_uthmani_hafs-font-size-2__WOpbV",
- "fallback_qpc_uthmani_hafs-font-size-3": "VerseText_fallback_qpc_uthmani_hafs-font-size-3__qTu4q",
- "fallback_qpc_uthmani_hafs-font-size-4": "VerseText_fallback_qpc_uthmani_hafs-font-size-4__vxCgd",
- "fallback_qpc_uthmani_hafs-font-size-5": "VerseText_fallback_qpc_uthmani_hafs-font-size-5__pBmKt",
- "fallback_qpc_uthmani_hafs-font-size-6": "VerseText_fallback_qpc_uthmani_hafs-font-size-6__Om3YR",
- "fallback_qpc_uthmani_hafs-font-size-7": "VerseText_fallback_qpc_uthmani_hafs-font-size-7__LqHcg",
- "fallback_qpc_uthmani_hafs-font-size-8": "VerseText_fallback_qpc_uthmani_hafs-font-size-8__H_0LM",
- "fallback_qpc_uthmani_hafs-font-size-9": "VerseText_fallback_qpc_uthmani_hafs-font-size-9__Uz0iX",
- "fallback_qpc_uthmani_hafs-font-size-10": "VerseText_fallback_qpc_uthmani_hafs-font-size-10__Eq184",
- "tajweed-font-size-1": "VerseText_tajweed-font-size-1__wW3aY",
- "tajweed-font-size-2": "VerseText_tajweed-font-size-2__HbkYL",
- "tajweed-font-size-3": "VerseText_tajweed-font-size-3__y6f3z",
- "tajweed-font-size-4": "VerseText_tajweed-font-size-4__Qocn9",
- "tajweed-font-size-5": "VerseText_tajweed-font-size-5__NbAoD",
- "tajweed-font-size-6": "VerseText_tajweed-font-size-6__EWfpu",
- "tajweed-font-size-7": "VerseText_tajweed-font-size-7__zvBX_",
- "tajweed-font-size-8": "VerseText_tajweed-font-size-8__FAAIf",
- "tajweed-font-size-9": "VerseText_tajweed-font-size-9__7nw_V",
- "tajweed-font-size-10": "VerseText_tajweed-font-size-10__cZt_J",
- "highlighted": "VerseText_highlighted__MSh4M",
- "tafsirOrTranslationMode": "VerseText_tafsirOrTranslationMode____xIz"
- };
- /***/ }),
- /***/ 76700:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "word": "InlineWordByWord_word__RguXH",
- "xs": "InlineWordByWord_xs__m6Asd",
- "sm": "InlineWordByWord_sm__j5xJp",
- "md": "InlineWordByWord_md__VTFxL",
- "lg": "InlineWordByWord_lg__0T__M",
- "xl": "InlineWordByWord_xl__NAWHF",
- "xxl": "InlineWordByWord_xxl__MZerA"
- };
- /***/ }),
- /***/ 26864:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "fallback_qpc_uthmani_hafs-font-size-1": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-1__2KKwl",
- "fallback_qpc_uthmani_hafs-font-size-2": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-2__MD0bo",
- "fallback_qpc_uthmani_hafs-font-size-3": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-3__7jYJ0",
- "fallback_qpc_uthmani_hafs-font-size-4": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-4__sH673",
- "fallback_qpc_uthmani_hafs-font-size-5": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-5__hbPXS",
- "fallback_qpc_uthmani_hafs-font-size-6": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-6__GkHoA",
- "fallback_qpc_uthmani_hafs-font-size-7": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-7__jXA0B",
- "fallback_qpc_uthmani_hafs-font-size-8": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-8__EuX_N",
- "fallback_qpc_uthmani_hafs-font-size-9": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-9__lTWFh",
- "fallback_qpc_uthmani_hafs-font-size-10": "GlyphWord_fallback_qpc_uthmani_hafs-font-size-10__q6iVZ",
- "styledWord": "GlyphWord_styledWord__OfEEG",
- "wordSpacing": "GlyphWord_wordSpacing__VDcM6",
- "fallbackText": "GlyphWord_fallbackText__R32Ms"
- };
- /***/ }),
- /***/ 12464:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "imageContainer": "TajweedWordImage_imageContainer__BW9U2",
- "xs": "TajweedWordImage_xs__z56PS",
- "sm": "TajweedWordImage_sm__m8zZy",
- "md": "TajweedWordImage_md__Fo9Wj",
- "lg": "TajweedWordImage_lg__Ke7uV",
- "xl": "TajweedWordImage_xl__toP3N",
- "xl2": "TajweedWordImage_xl2__U2skV",
- "xl3": "TajweedWordImage_xl3__Pivm8",
- "xl4": "TajweedWordImage_xl4__dclGF",
- "xl5": "TajweedWordImage_xl5__xH4Is",
- "xl6": "TajweedWordImage_xl6__VCEAA"
- };
- /***/ }),
- /***/ 23975:
- /***/ ((module) => {
- // Exports
- module.exports = {
- "word": "TextWord_word__mvLd7",
- "UthmanicHafs": "TextWord_UthmanicHafs__9DRAC",
- "IndoPak": "TextWord_IndoPak__Vois6"
- };
- /***/ }),
- /***/ 57072:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var _components_Verse_PlainVerseText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21044);
- /* harmony import */ var _hooks_useQcfFont__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(38102);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(62093);
- /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(44519);
- const VerseTextPreview = ({ verses , fontScale })=>{
- const { quranFont } = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_5__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_2__.shallowEqual);
- const tafsirVerses = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Object.values(verses).map((verse)=>({
- ...verse,
- pageNumber: verse.words[0].pageNumber
- })), [
- verses
- ]);
- (0,_hooks_useQcfFont__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(quranFont, tafsirVerses);
- const words = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>verses.map((verse)=>(0,_utils_verse__WEBPACK_IMPORTED_MODULE_6__/* .getVerseWords */ .LQ)(verse)).flat(), [
- verses
- ]);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_PlainVerseText__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
- fontScale: fontScale,
- words: words
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VerseTextPreview);
- /***/ }),
- /***/ 97226:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _redux_slices_QuranReader_font_faces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25742);
- /* harmony import */ var _utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64198);
- /**
- * A hook that detects whether a font of a specific page
- * has been loaded or not.
- *
- * @param {number} pageNumber
- * @param {QuranFont} quranFont
- * @returns {boolean}
- */ const useIsFontLoaded = (pageNumber, quranFont)=>{
- const loadedFonts = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(_redux_slices_QuranReader_font_faces__WEBPACK_IMPORTED_MODULE_2__/* .selectLoadedFontFaces */ .$Z);
- const isFontLoaded = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>{
- if (!(0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__/* .isQCFFont */ .Fy)(quranFont)) {
- return true;
- }
- return loadedFonts.includes(`p${pageNumber}-${quranFont.replace("code_", "")}`);
- }, [
- loadedFonts,
- pageNumber,
- quranFont
- ]);
- return isFontLoaded;
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useIsFontLoaded);
- /***/ }),
- /***/ 21044:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- "Z": () => (/* binding */ Verse_PlainVerseText)
- });
- // EXTERNAL MODULE: external "react/jsx-runtime"
- var jsx_runtime_ = __webpack_require__(20997);
- // EXTERNAL MODULE: external "react"
- var external_react_ = __webpack_require__(16689);
- // EXTERNAL MODULE: external "classnames"
- var external_classnames_ = __webpack_require__(59003);
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
- // EXTERNAL MODULE: external "react-redux"
- var external_react_redux_ = __webpack_require__(6022);
- // EXTERNAL MODULE: ./src/components/Verse/VerseText.module.scss
- var VerseText_module = __webpack_require__(29702);
- var VerseText_module_default = /*#__PURE__*/__webpack_require__.n(VerseText_module);
- // EXTERNAL MODULE: ./src/components/Verse/PlainVerseText/PlainVerseTextWord/PlainVerseTextWord.module.scss
- var PlainVerseTextWord_module = __webpack_require__(49103);
- var PlainVerseTextWord_module_default = /*#__PURE__*/__webpack_require__.n(PlainVerseTextWord_module);
- // EXTERNAL MODULE: ./src/components/dls/InlineWordByWord/index.tsx
- var InlineWordByWord = __webpack_require__(77296);
- ;// CONCATENATED MODULE: ./src/components/Verse/PlainVerseText/PlainVerseTextWord/index.tsx
- const PlainVerseTextWord = ({ word , children , shouldShowWordByWordTransliteration , shouldShowWordByWordTranslation , })=>{
- return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
- className: (PlainVerseTextWord_module_default()).plainVerseWordContainer,
- children: [
- children,
- shouldShowWordByWordTranslation && /*#__PURE__*/ jsx_runtime_.jsx(InlineWordByWord/* default */.Z, {
- className: (PlainVerseTextWord_module_default()).plainVerseWbwText,
- text: word?.translation?.text
- }),
- shouldShowWordByWordTransliteration && /*#__PURE__*/ jsx_runtime_.jsx(InlineWordByWord/* default */.Z, {
- className: (PlainVerseTextWord_module_default()).plainVerseWbwText,
- text: word?.transliteration?.text
- })
- ]
- }, word.location);
- };
- /* harmony default export */ const PlainVerseText_PlainVerseTextWord = (PlainVerseTextWord);
- // EXTERNAL MODULE: ./src/components/QuranReader/hooks/useIsFontLoaded.ts
- var useIsFontLoaded = __webpack_require__(97226);
- // EXTERNAL MODULE: ./src/components/dls/QuranWord/GlyphWord.tsx + 1 modules
- var GlyphWord = __webpack_require__(72214);
- // EXTERNAL MODULE: ./src/components/dls/QuranWord/TajweedWordImage.tsx
- var TajweedWordImage = __webpack_require__(28542);
- // EXTERNAL MODULE: ./src/components/dls/QuranWord/TextWord.tsx
- var TextWord = __webpack_require__(72816);
- // EXTERNAL MODULE: ./src/redux/slices/QuranReader/styles.ts
- var styles = __webpack_require__(62093);
- // EXTERNAL MODULE: ./src/utils/fontFaceHelper.ts
- var fontFaceHelper = __webpack_require__(64198);
- // EXTERNAL MODULE: ./types/QuranReader.ts
- var QuranReader = __webpack_require__(50467);
- ;// CONCATENATED MODULE: ./src/components/Verse/PlainVerseText/index.tsx
- /**
- * A component to only show the verse text without extra functionalities such as ayah
- * highlighting when audio is playing or showing a tooltip when
- * hovering over a verse or showing the word by word translation/transliteration.
- *
- * @param {Props} param0
- * @returns {JSX.Element}
- */ const PlainVerseText = ({ words , shouldShowWordByWordTranslation =false , shouldShowWordByWordTransliteration =false , fontScale })=>{
- const { quranFont , quranTextFontScale , mushafLines } = (0,external_react_redux_.useSelector)(styles/* selectQuranReaderStyles */.Pt, external_react_redux_.shallowEqual);
- const isQcfFont = (0,fontFaceHelper/* isQCFFont */.Fy)(quranFont);
- const isFontLoaded = (0,useIsFontLoaded/* default */.Z)(words[0].pageNumber, quranFont);
- return /*#__PURE__*/ jsx_runtime_.jsx("div", {
- className: external_classnames_default()((VerseText_module_default()).verseTextContainer, (VerseText_module_default()).tafsirOrTranslationMode, {
- [(VerseText_module_default())[(0,fontFaceHelper/* getFontClassName */.bZ)(quranFont, fontScale || quranTextFontScale, mushafLines)]]: quranFont !== QuranReader/* QuranFont.Tajweed */.fr.Tajweed
- }),
- children: /*#__PURE__*/ jsx_runtime_.jsx("div", {
- className: external_classnames_default()((VerseText_module_default()).verseText, (VerseText_module_default()).verseTextWrap),
- translate: "no",
- children: words?.map((word)=>{
- if (isQcfFont) {
- return /*#__PURE__*/ jsx_runtime_.jsx(PlainVerseText_PlainVerseTextWord, {
- word: word,
- shouldShowWordByWordTranslation: shouldShowWordByWordTranslation,
- shouldShowWordByWordTransliteration: shouldShowWordByWordTransliteration,
- children: /*#__PURE__*/ jsx_runtime_.jsx(GlyphWord/* default */.Z, {
- font: quranFont,
- qpcUthmaniHafs: word.qpcUthmaniHafs,
- pageNumber: word.pageNumber,
- textCodeV1: word.codeV1,
- textCodeV2: word.codeV2,
- isFontLoaded: isFontLoaded
- })
- }, word.location);
- }
- if (quranFont === QuranReader/* QuranFont.Tajweed */.fr.Tajweed) {
- return /*#__PURE__*/ jsx_runtime_.jsx(PlainVerseText_PlainVerseTextWord, {
- word: word,
- shouldShowWordByWordTranslation: shouldShowWordByWordTranslation,
- shouldShowWordByWordTransliteration: shouldShowWordByWordTransliteration,
- children: /*#__PURE__*/ jsx_runtime_.jsx(TajweedWordImage/* default */.Z, {
- path: word.text,
- alt: word.textUthmani
- }, word.location)
- }, word.location);
- }
- return /*#__PURE__*/ jsx_runtime_.jsx(PlainVerseText_PlainVerseTextWord, {
- word: word,
- shouldShowWordByWordTranslation: shouldShowWordByWordTranslation,
- shouldShowWordByWordTransliteration: shouldShowWordByWordTransliteration,
- children: /*#__PURE__*/ jsx_runtime_.jsx(TextWord/* default */.Z, {
- font: quranFont,
- text: word.text,
- charType: word.charTypeName
- })
- }, word.location);
- })
- })
- });
- };
- /* harmony default export */ const Verse_PlainVerseText = (PlainVerseText);
- /***/ }),
- /***/ 77296:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76700);
- /* harmony import */ var _InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62093);
- const FONT_SIZE_CLASS_MAP = {
- 1: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xs),
- 2: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().sm),
- 3: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().md),
- 4: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().lg),
- 5: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl),
- 6: (_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xxl)
- };
- const InlineWordByWord = ({ text , className })=>{
- const wordByWordFontScale = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__/* .selectWordByWordFontScale */ .KV, react_redux__WEBPACK_IMPORTED_MODULE_3__.shallowEqual);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_InlineWordByWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().word), className, FONT_SIZE_CLASS_MAP[wordByWordFontScale]),
- children: text
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InlineWordByWord);
- /***/ }),
- /***/ 72214:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- "Z": () => (/* binding */ QuranWord_GlyphWord)
- });
- // EXTERNAL MODULE: external "react/jsx-runtime"
- var jsx_runtime_ = __webpack_require__(20997);
- // EXTERNAL MODULE: external "classnames"
- var external_classnames_ = __webpack_require__(59003);
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
- // EXTERNAL MODULE: external "react-redux"
- var external_react_redux_ = __webpack_require__(6022);
- // EXTERNAL MODULE: ./src/components/dls/QuranWord/GlyphWord.module.scss
- var GlyphWord_module = __webpack_require__(26864);
- var GlyphWord_module_default = /*#__PURE__*/__webpack_require__.n(GlyphWord_module);
- // EXTERNAL MODULE: ./src/redux/slices/QuranReader/styles.ts
- var styles = __webpack_require__(62093);
- // EXTERNAL MODULE: ./src/utils/isClient.ts
- var utils_isClient = __webpack_require__(7522);
- ;// CONCATENATED MODULE: ./src/utils/device-detector.ts
- const isMacOs = ()=>{
- if (!isClient) {
- return false;
- }
- return window.navigator.userAgent.search("Mac") !== -1;
- };
- const isAppleDevice = ()=>{
- if (!isClient) {
- return false;
- }
- const isOSX = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
- return isOSX || isMacOs();
- };
- const isAppleWebKit = ()=>{
- const { userAgent } = navigator;
- return /AppleWebKit/.test(userAgent) && /Mobile/.test(userAgent);
- };
- const isFirefox = ()=>{
- if (!utils_isClient/* default */.Z) {
- return false;
- }
- const { userAgent } = navigator;
- return userAgent.toLowerCase().includes("firefox");
- };
- // EXTERNAL MODULE: ./src/utils/fontFaceHelper.ts
- var fontFaceHelper = __webpack_require__(64198);
- // EXTERNAL MODULE: ./types/QuranReader.ts
- var QuranReader = __webpack_require__(50467);
- ;// CONCATENATED MODULE: ./src/components/dls/QuranWord/GlyphWord.tsx
- /* eslint-disable react/no-danger */
- /**
- * Get the text of the verse's word. This is used to show textUthmani as a fallback
- * until V1/V2 font faces of the current word's page (e.g. p1-v1 or p50-v2) has finished downloading.
- *
- * @param {string} qpcUthmaniHafs
- * @param {string} textCodeV1
- * @param {string} textCodeV2
- * @param {QuranFont} font
- * @param {boolean} isFontLoaded
- * @returns {string}
- */ const getWordText = (qpcUthmaniHafs, textCodeV1, textCodeV2, font, isFontLoaded)=>{
- if (!isFontLoaded) {
- return qpcUthmaniHafs;
- }
- return font === QuranReader/* QuranFont.MadaniV1 */.fr.MadaniV1 ? textCodeV1 : textCodeV2;
- };
- const GlyphWord = ({ qpcUthmaniHafs , textCodeV1 , textCodeV2 , pageNumber , font , isFontLoaded })=>{
- const { quranTextFontScale , mushafLines } = (0,external_react_redux_.useSelector)(styles/* selectQuranReaderStyles */.Pt, external_react_redux_.shallowEqual);
- // The extra space before the glyph should only be added where the issue occurs,
- // which is in firefox with the Madani V1 Mushaf and the font scale is less than 6
- const addExtraSpace = isFirefox() && font === QuranReader/* QuranFont.MadaniV1 */.fr.MadaniV1 && quranTextFontScale < 6;
- return /*#__PURE__*/ jsx_runtime_.jsx("span", {
- dangerouslySetInnerHTML: {
- __html: `${addExtraSpace ? ` ` : ``}${getWordText(qpcUthmaniHafs, textCodeV1, textCodeV2, font, isFontLoaded)}`
- },
- "data-font-scale": quranTextFontScale,
- "data-font": font,
- className: external_classnames_default()((GlyphWord_module_default()).styledWord, {
- [(GlyphWord_module_default()).wordSpacing]: addExtraSpace,
- [(GlyphWord_module_default()).fallbackText]: !isFontLoaded,
- [(GlyphWord_module_default())[(0,fontFaceHelper/* getFontClassName */.bZ)(QuranReader/* FALLBACK_FONT */.v3, quranTextFontScale, mushafLines, true)]]: !isFontLoaded
- }),
- ...isFontLoaded && {
- style: {
- fontFamily: `p${pageNumber}-${font.replace("code_", "")}`
- }
- }
- });
- };
- /* harmony default export */ const QuranWord_GlyphWord = (GlyphWord);
- /***/ }),
- /***/ 28542:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12464);
- /* harmony import */ var _TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(62093);
- /* harmony import */ var _utils_cdn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17339);
- /* eslint-disable @next/next/no-img-element */
- const FONT_SIZE_CLASS_MAP = {
- 1: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xs),
- 2: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().sm),
- 3: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().md),
- 4: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().lg),
- 5: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl),
- 6: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl2),
- 7: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl3),
- 8: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl4),
- 9: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl5),
- 10: (_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().xl6)
- };
- const TajweedWord = ({ path , alt })=>{
- const { quranTextFontScale } = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_4__/* .selectQuranReaderStyles */ .Pt);
- return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TajweedWordImage_module_scss__WEBPACK_IMPORTED_MODULE_5___default().imageContainer), FONT_SIZE_CLASS_MAP[quranTextFontScale]),
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("img", {
- src: `${(0,_utils_cdn__WEBPACK_IMPORTED_MODULE_6__/* .makeCDNUrl */ .Kr)(`images/${path}`)}`,
- alt: alt
- })
- });
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TajweedWord);
- /***/ }),
- /***/ 72816:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var humps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59606);
- /* harmony import */ var humps__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(humps__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var _TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(23975);
- /* harmony import */ var _TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */ var types_Word__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42217);
- const DEFAULT_FONT_FAMILY = "UthmanicHafs";
- const INDO_PAK = "IndoPak";
- const UTHMANI_HAFS_FONTS = (0,humps__WEBPACK_IMPORTED_MODULE_3__.decamelizeKeys)({
- qpcUthmaniHafs: DEFAULT_FONT_FAMILY,
- textIndopak: INDO_PAK
- });
- const TextWord = ({ text , font , charType })=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default().word), {
- [(_TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default())[DEFAULT_FONT_FAMILY]]: charType === types_Word__WEBPACK_IMPORTED_MODULE_4__/* .CharType.End */ .H.End || !UTHMANI_HAFS_FONTS[font] || UTHMANI_HAFS_FONTS[font] === DEFAULT_FONT_FAMILY,
- [(_TextWord_module_scss__WEBPACK_IMPORTED_MODULE_5___default())[INDO_PAK]]: UTHMANI_HAFS_FONTS[font] === INDO_PAK
- }),
- children: text
- });
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TextWord);
- /***/ }),
- /***/ 38102:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
- /* harmony export */ });
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var _redux_slices_QuranReader_font_faces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25742);
- /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5639);
- /* harmony import */ var _utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64198);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50467);
- /**
- * This hook manually request the browser to download the font for each page
- * of QCF's V1 and V2 Mushafs. After each resource has been downloaded, we
- * store it in redux so that VerseText can use it to determine whether the fallback
- * text and font should be font or not.
- *
- * Notes, loaded font is reset every time the user switch the font
- * see src/components/Navbar/SettingsDrawer/QuranFontSection.tsx
- *
- * @param {QuranFont} quranFont
- * @param {Verse[]} verses
- */ const useQcfFont = (quranFont, verses)=>{
- const currentlyFetchingFonts = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)([]);
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
- const isFontQCF = (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__/* .isQCFFont */ .Fy)(quranFont);
- const loadedFonts = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(_redux_slices_QuranReader_font_faces__WEBPACK_IMPORTED_MODULE_2__/* .selectLoadedFontFaces */ .$Z);
- const onFontLoaded = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((fontFace)=>{
- dispatch((0,_redux_slices_QuranReader_font_faces__WEBPACK_IMPORTED_MODULE_2__/* .addLoadedFontFace */ .wC)(fontFace));
- }, [
- dispatch
- ]);
- // listen to changes in verses (this is due to infinite scrolling fetching more verses).
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
- if (isFontQCF && verses.length > 0) {
- // loop through unique page numbers of the current verses
- (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__/* .getPagesByVerses */ .AX)(verses).forEach((pageNumber)=>{
- const isV1 = quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_4__/* .QuranFont.MadaniV1 */ .fr.MadaniV1;
- const fontFaceName = (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__/* .getFontFaceNameForPage */ .r$)(isV1, pageNumber);
- const fontFace = new FontFace(fontFaceName, (0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_3__/* .getV1OrV2FontFaceSource */ .nA)(isV1, pageNumber));
- // we only want to load fonts that were not loaded and also are not currently being loaded
- if (!currentlyFetchingFonts.current.includes(fontFaceName) && !loadedFonts.includes(fontFaceName)) {
- currentlyFetchingFonts.current = [
- ...currentlyFetchingFonts.current,
- fontFaceName
- ];
- fontFace.display = "block";
- document.fonts.add(fontFace);
- // load the font-face programmatically
- fontFace.load().then(()=>{
- // store the font face in Redux slice
- onFontLoaded(fontFaceName);
- }).finally(()=>{
- // whether we failed or succeeded to fetch the fontFace, we remove it from currently fetching array
- currentlyFetchingFonts.current = (0,_utils_array__WEBPACK_IMPORTED_MODULE_5__/* .removeItemFromArray */ .sj)(fontFaceName, currentlyFetchingFonts.current);
- });
- }
- });
- }
- }, [
- quranFont,
- verses,
- loadedFonts,
- isFontQCF,
- currentlyFetchingFonts,
- onFontLoaded
- ]);
- };
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useQcfFont);
- /***/ }),
- /***/ 17339:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Kr": () => (/* binding */ makeCDNUrl)
- /* harmony export */ });
- /* unused harmony exports CDN_HOST, CDN_ASSETS_VERSION */
- const CDN_HOST = "https://static.qurancdn.com";
- const CDN_ASSETS_VERSION = "1";
- /**
- * Generate versioned URL of static asset
- *
- * @param {string} path the path of static asset
- * @returns {string}
- */ const makeCDNUrl = (path)=>{
- return `${CDN_HOST}/${path}?v=${CDN_ASSETS_VERSION}`;
- };
- /***/ }),
- /***/ 64198:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "AX": () => (/* binding */ getPagesByVerses),
- /* harmony export */ "Fy": () => (/* binding */ isQCFFont),
- /* harmony export */ "bZ": () => (/* binding */ getFontClassName),
- /* harmony export */ "nA": () => (/* binding */ getV1OrV2FontFaceSource),
- /* harmony export */ "oj": () => (/* binding */ getLineWidthClassName),
- /* harmony export */ "r$": () => (/* binding */ getFontFaceNameForPage)
- /* harmony export */ });
- /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64042);
- /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50467);
- const QCFFontCodes = [
- types_QuranReader__WEBPACK_IMPORTED_MODULE_1__/* .QuranFont.MadaniV1 */ .fr.MadaniV1,
- types_QuranReader__WEBPACK_IMPORTED_MODULE_1__/* .QuranFont.MadaniV2 */ .fr.MadaniV2
- ];
- const isQCFFont = (font)=>QCFFontCodes.includes(font);
- /**
- * Get the page numbers of a group of verses by getting
- * the page number of the first verse, the page number of the last verse
- * and generating the range between both of them.
- *
- * @param {Verse[]} verses
- * @returns {number[]}
- */ const getPagesByVerses = (verses)=>{
- const firstPage = verses[0].pageNumber;
- const lastPage = verses[verses.length - 1].pageNumber;
- return lodash_range__WEBPACK_IMPORTED_MODULE_0___default()(firstPage, lastPage + 1);
- };
- /**
- * A function that will return the value of the src of QCF's font V1 and V2.
- * This will be used when we create a new instance of FontFace inside useQcfFont
- * hook.
- *
- * @param {boolean} isV1
- * @param {number} pageNumber
- * @returns {string}
- */ const getV1OrV2FontFaceSource = (isV1, pageNumber)=>{
- const pageName = String(pageNumber).padStart(3, "0");
- if (isV1) {
- const woff2 = `/fonts/quran/hafs/v1/woff2/p${pageNumber}.woff2`;
- const woff = `/fonts/quran/hafs/v1/woff/p${pageNumber}.woff`;
- const ttf = `/fonts/quran/hafs/v1/ttf/p${pageNumber}.ttf`;
- return `local(QCF_P${pageName}), url('${woff2}') format('woff2'), url('${woff}') format('woff'), url('${ttf}') format('truetype')`;
- }
- const woff21 = `/fonts/quran/hafs/v2/woff2/p${pageNumber}.woff2`;
- const woff1 = `/fonts/quran/hafs/v2/woff/p${pageNumber}.woff`;
- const ttf1 = `/fonts/quran/hafs/v2/ttf/p${pageNumber}.ttf`;
- return `local(QCF2${pageName}), url('${woff21}') format('woff2'), url('${woff1}') format('woff'), url('${ttf1}') format('truetype')`;
- };
- /**
- * A function that will return the value of the font-face of QCF's font V1 and V2.
- * This will be used when we create a new instance of FontFace inside useQcfFont
- * hook.
- *
- * @param {boolean} isV1
- * @param {number} pageNumber
- * @returns {string}
- */ const getFontFaceNameForPage = (isV1, pageNumber)=>isV1 ? `p${pageNumber}-v1` : `p${pageNumber}-v2`;
- /**
- * Dynamically generate the className of the combination between the font
- * name + size + mushafLines(when its Indopak) that will match the output of
- * generate-font-scales function inside {@see _utility.scss}.
- *
- * @param {QuranFont} quranFont
- * @param {number} fontScale
- * @param {MushafLines} mushafLines
- * @param {boolean} isFallbackFont
- * @returns {string}
- */ const getFontClassName = (quranFont, fontScale, mushafLines, isFallbackFont = false)=>{
- if (quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_1__/* .QuranFont.IndoPak */ .fr.IndoPak) {
- return `${quranFont}_${mushafLines}-font-size-${fontScale}`;
- }
- return isFallbackFont ? `fallback_${quranFont}-font-size-${fontScale}` : `${quranFont}-font-size-${fontScale}`;
- };
- /**
- * Dynamically generate the className of the combination between the font
- * name + size that will match the output of
- * generate-font-scales function inside {@see _utility.scss}.
- *
- * @param {QuranFont} quranFont
- * @param {number} fontScale
- * @param {MushafLines} mushafLines
- * @param {boolean} isFallbackFont
- * @returns {string}
- */ const getLineWidthClassName = (quranFont, fontScale, mushafLines, isFallbackFont = false)=>{
- if (quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_1__/* .QuranFont.IndoPak */ .fr.IndoPak) {
- return `${quranFont}_${mushafLines}-line-width-${fontScale}`;
- }
- return isFallbackFont ? `fallback_${quranFont}-line-width-${fontScale}` : `${quranFont}-line-width-${fontScale}`;
- };
- /***/ }),
- /***/ 42217:
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
- "use strict";
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "H": () => (/* binding */ CharType)
- /* harmony export */ });
- var CharType;
- (function(CharType) {
- CharType["Word"] = "word";
- CharType["End"] = "end";
- CharType["Pause"] = "pause";
- CharType["Sajdah"] = "sajdah";
- CharType["RubElHizb"] = "rub-el-hizb";
- })(CharType || (CharType = {}));
- /***/ })
- };
- ;
- //# sourceMappingURL=57072.js.map
|