17543.js 234 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008
  1. exports.id = 17543;
  2. exports.ids = [17543];
  3. exports.modules = {
  4. /***/ 29537:
  5. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  6. "use strict";
  7. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  9. /* harmony export */ });
  10. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  11. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  12. var _path;
  13. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  14. var SvgBookOpen = function SvgBookOpen(props) {
  15. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  16. xmlns: "http://www.w3.org/2000/svg",
  17. width: 24,
  18. height: 24,
  19. viewBox: "0 0 24 24",
  20. fill: "none",
  21. stroke: "currentColor",
  22. strokeWidth: 2,
  23. strokeLinecap: "round",
  24. strokeLinejoin: "round",
  25. className: "feather feather-book-open"
  26. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  27. d: "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2zM22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"
  28. })));
  29. };
  30. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgBookOpen);
  31. /***/ }),
  32. /***/ 85970:
  33. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  34. "use strict";
  35. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  36. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  37. /* harmony export */ });
  38. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  39. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  40. var _path;
  41. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  42. var SvgCaretDown = function SvgCaretDown(props) {
  43. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  44. viewBox: "0 0 24 24",
  45. width: 18,
  46. height: 18,
  47. stroke: "currentColor",
  48. strokeWidth: 1.5,
  49. strokeLinecap: "round",
  50. strokeLinejoin: "round",
  51. fill: "none",
  52. shapeRendering: "geometricPrecision",
  53. style: {
  54. color: "currentcolor"
  55. }
  56. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  57. d: "m6 9 6 6 6-6"
  58. })));
  59. };
  60. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgCaretDown);
  61. /***/ }),
  62. /***/ 44356:
  63. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  64. "use strict";
  65. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  66. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  67. /* harmony export */ });
  68. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  69. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  70. var _path;
  71. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  72. var SvgChat = function SvgChat(props) {
  73. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  74. width: 24,
  75. height: 24,
  76. viewBox: "0 0 24 24",
  77. fill: "none",
  78. xmlns: "http://www.w3.org/2000/svg"
  79. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  80. d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.379 8.379 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z",
  81. stroke: "currentColor",
  82. strokeWidth: 2,
  83. strokeLinecap: "round",
  84. strokeLinejoin: "round"
  85. })));
  86. };
  87. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgChat);
  88. /***/ }),
  89. /***/ 80275:
  90. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  91. "use strict";
  92. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  93. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  94. /* harmony export */ });
  95. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  96. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  97. var _path;
  98. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  99. var SvgMenuMoreHoriz = function SvgMenuMoreHoriz(props) {
  100. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  101. width: 24,
  102. height: 24,
  103. viewBox: "0 0 24 24",
  104. fill: "currentColor",
  105. xmlns: "http://www.w3.org/2000/svg"
  106. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  107. d: "M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM19 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM5 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",
  108. stroke: "currentColor",
  109. strokeWidth: 2,
  110. strokeLinecap: "round",
  111. strokeLinejoin: "round"
  112. })));
  113. };
  114. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgMenuMoreHoriz);
  115. /***/ }),
  116. /***/ 49039:
  117. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  118. "use strict";
  119. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  120. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  121. /* harmony export */ });
  122. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  123. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  124. var _path;
  125. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  126. var SvgMinus = function SvgMinus(props) {
  127. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  128. width: 15,
  129. height: 15,
  130. viewBox: "0 0 15 15",
  131. fill: "none",
  132. xmlns: "http://www.w3.org/2000/svg"
  133. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  134. d: "M2.25 7.5a.5.5 0 0 1 .5-.5h9.5a.5.5 0 0 1 0 1h-9.5a.5.5 0 0 1-.5-.5Z",
  135. fill: "currentColor",
  136. fillRule: "evenodd",
  137. clipRule: "evenodd"
  138. })));
  139. };
  140. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgMinus);
  141. /***/ }),
  142. /***/ 68973:
  143. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  144. "use strict";
  145. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  146. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  147. /* harmony export */ });
  148. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  149. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  150. var _path;
  151. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  152. var SvgPlayOutline = function SvgPlayOutline(props) {
  153. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  154. width: 24,
  155. height: 24,
  156. viewBox: "0 0 24 24",
  157. fill: "none",
  158. xmlns: "http://www.w3.org/2000/svg"
  159. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  160. d: "m5 3 14 9-14 9V3Z",
  161. stroke: "currentColor",
  162. strokeWidth: 2,
  163. strokeLinecap: "round",
  164. strokeLinejoin: "round"
  165. })));
  166. };
  167. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgPlayOutline);
  168. /***/ }),
  169. /***/ 4474:
  170. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  171. "use strict";
  172. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  173. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  174. /* harmony export */ });
  175. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  176. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  177. var _path;
  178. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  179. var SvgPlus = function SvgPlus(props) {
  180. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  181. width: 15,
  182. height: 15,
  183. viewBox: "0 0 15 15",
  184. fill: "none",
  185. xmlns: "http://www.w3.org/2000/svg"
  186. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  187. d: "M8 2.75a.5.5 0 0 0-1 0V7H2.75a.5.5 0 0 0 0 1H7v4.25a.5.5 0 0 0 1 0V8h4.25a.5.5 0 0 0 0-1H8V2.75Z",
  188. fill: "currentColor",
  189. fillRule: "evenodd",
  190. clipRule: "evenodd"
  191. })));
  192. };
  193. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgPlus);
  194. /***/ }),
  195. /***/ 14133:
  196. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  197. "use strict";
  198. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  199. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  200. /* harmony export */ });
  201. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  202. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  203. var _path, _path2, _path3, _path4;
  204. function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
  205. var SvgTranslation = function SvgTranslation(props) {
  206. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  207. width: 21,
  208. height: 21,
  209. viewBox: "0 0 21 21",
  210. fill: "none",
  211. xmlns: "http://www.w3.org/2000/svg"
  212. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  213. clipRule: "evenodd",
  214. d: "M20 10.499V3.374A2.375 2.375 0 0 0 17.625.999H10.5a2.375 2.375 0 0 0-2.375 2.375v7.125a2.375 2.375 0 0 0 2.375 2.375h7.125A2.375 2.375 0 0 0 20 10.499Z",
  215. stroke: "currentColor",
  216. strokeWidth: 1.188,
  217. strokeLinecap: "round",
  218. strokeLinejoin: "round"
  219. })), _path2 || (_path2 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  220. d: "M6.938 12.878H3.374m2.375-4.75H3.375A2.375 2.375 0 0 0 1 10.503v7.125a2.375 2.375 0 0 0 2.375 2.375h.004l7.125-.012a2.375 2.375 0 0 0 2.371-2.375V15.25L5.75 8.128Z",
  221. stroke: "currentColor",
  222. strokeWidth: 1.188,
  223. strokeLinecap: "round",
  224. strokeLinejoin: "round"
  225. })), _path3 || (_path3 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  226. d: "M8.719 14.655 7.53 15.843c-.396.395-1.384.989-2.968 1.781",
  227. stroke: "currentColor",
  228. strokeWidth: 1.188,
  229. strokeLinecap: "round",
  230. strokeLinejoin: "round"
  231. })), _path4 || (_path4 = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  232. d: "M16.438 8.124h-4.75m-7.126 4.754c.397 1.384.99 2.375 1.782 2.967.79.593 1.781 1.185 2.968 1.779l-4.75-4.746Zm9.5-9.504L10.5 10.499l3.563-7.125Zm0 0 3.563 7.125-3.563-7.125Z",
  233. stroke: "currentColor",
  234. strokeWidth: 1.188,
  235. strokeLinecap: "round",
  236. strokeLinejoin: "round"
  237. })));
  238. };
  239. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgTranslation);
  240. /***/ }),
  241. /***/ 92337:
  242. /***/ ((module) => {
  243. // Exports
  244. module.exports = {
  245. "header": "TranslationsButton_header__j_OPB",
  246. "iconContainer": "TranslationsButton_iconContainer__pukLN",
  247. "verseAction": "TranslationsButton_verseAction__JoZly",
  248. "icon": "TranslationsButton_icon__eqexD"
  249. };
  250. /***/ }),
  251. /***/ 29367:
  252. /***/ ((module) => {
  253. // Exports
  254. module.exports = {
  255. "separatorContainer": "TranslationsView_separatorContainer__oM4LZ",
  256. "arabicVerseContainer": "TranslationsView_arabicVerseContainer__VriiJ",
  257. "verseTranslationContainer": "TranslationsView_verseTranslationContainer__kDX0e"
  258. };
  259. /***/ }),
  260. /***/ 6222:
  261. /***/ ((module) => {
  262. // Exports
  263. module.exports = {
  264. "readingViewOverflowVerseActionsMenu": "WordActionsMenu_readingViewOverflowVerseActionsMenu__hYXeV",
  265. "container": "WordActionsMenu_container__fBtQg"
  266. };
  267. /***/ }),
  268. /***/ 41921:
  269. /***/ ((module) => {
  270. // Exports
  271. module.exports = {
  272. "content": "WordPopover_content__Qf_Ne",
  273. "trigger": "WordPopover_trigger__aNSSt"
  274. };
  275. /***/ }),
  276. /***/ 40574:
  277. /***/ ((module) => {
  278. // Exports
  279. module.exports = {
  280. "container": "TafsirEndOfScrollingActions_container__tcWLj"
  281. };
  282. /***/ }),
  283. /***/ 43576:
  284. /***/ ((module) => {
  285. // Exports
  286. module.exports = {
  287. "tafsirMessage": "TafsirMessage_tafsirMessage__Gr_S9"
  288. };
  289. /***/ }),
  290. /***/ 99719:
  291. /***/ ((module) => {
  292. // Exports
  293. module.exports = {
  294. "counter": "TafsirText_counter__xlNaF",
  295. "xs": "TafsirText_xs__P5Qjv",
  296. "sm": "TafsirText_sm__BbfQ0",
  297. "md": "TafsirText_md__mJWtv",
  298. "lg": "TafsirText_lg__t_oGB",
  299. "xl": "TafsirText_xl__3hmwr"
  300. };
  301. /***/ }),
  302. /***/ 5293:
  303. /***/ ((module) => {
  304. // Exports
  305. module.exports = {
  306. "container": "TafsirView_container__R9G7I",
  307. "tafsirName": "TafsirView_tafsirName__QPOiO",
  308. "tafsirContainer": "TafsirView_tafsirContainer__g2rhW",
  309. "rtl": "TafsirView_rtl__8pRLP",
  310. "surahAndAyahSelectionContainer": "TafsirView_surahAndAyahSelectionContainer__W96nf",
  311. "tafsirSelectionContainer": "TafsirView_tafsirSelectionContainer__QSkE3",
  312. "tafsirSelectionItem": "TafsirView_tafsirSelectionItem__GTJvw",
  313. "tafsirItemSelected": "TafsirView_tafsirItemSelected__SXceL",
  314. "separatorContainer": "TafsirView_separatorContainer__diS8n",
  315. "verseTextContainer": "TafsirView_verseTextContainer__A7tZ_",
  316. "selectionItem": "TafsirView_selectionItem__FJdhi",
  317. "ayahSelection": "TafsirView_ayahSelection__jWULb",
  318. "tafsirSkeletonItem": "TafsirView_tafsirSkeletonItem__q5sNk",
  319. "ayahSekletonItem": "TafsirView_ayahSekletonItem__B_nJN",
  320. "tafsirSkeletonItem1": "TafsirView_tafsirSkeletonItem1__nLGRk",
  321. "tafsirSkeletonItem2": "TafsirView_tafsirSkeletonItem2__aaEJy",
  322. "tafsirSkeletonItem3": "TafsirView_tafsirSkeletonItem3__NqYKV",
  323. "tafsirSelectionSkeleton": "TafsirView_tafsirSelectionSkeleton__3oq7k",
  324. "languageSelection": "TafsirView_languageSelection__8EFqZ",
  325. "tafsir-font-size-1": "TafsirView_tafsir-font-size-1__sLRnq",
  326. "tafsir-font-size-2": "TafsirView_tafsir-font-size-2__JLiR2",
  327. "tafsir-font-size-3": "TafsirView_tafsir-font-size-3__K0LBa",
  328. "tafsir-font-size-4": "TafsirView_tafsir-font-size-4__KrD1k",
  329. "tafsir-font-size-5": "TafsirView_tafsir-font-size-5__ri_Mr",
  330. "tafsir-font-size-6": "TafsirView_tafsir-font-size-6__FvBko",
  331. "tafsir-font-size-7": "TafsirView_tafsir-font-size-7__oS0XU",
  332. "tafsir-font-size-8": "TafsirView_tafsir-font-size-8__1U_43",
  333. "tafsir-font-size-9": "TafsirView_tafsir-font-size-9__6VJC2",
  334. "tafsir-font-size-10": "TafsirView_tafsir-font-size-10__zRYWI"
  335. };
  336. /***/ }),
  337. /***/ 61821:
  338. /***/ ((module) => {
  339. // Exports
  340. module.exports = {
  341. "footnoteContainer": "FootnoteText_footnoteContainer__2GrJa",
  342. "text": "FootnoteText_text__o_c03",
  343. "header": "FootnoteText_header__M_Q2C"
  344. };
  345. /***/ }),
  346. /***/ 68505:
  347. /***/ ((module) => {
  348. // Exports
  349. module.exports = {
  350. "text": "TranslationText_text__4atf8",
  351. "translation-font-size-1": "TranslationText_translation-font-size-1__TqSPj",
  352. "translation-font-size-2": "TranslationText_translation-font-size-2__AW2i1",
  353. "translation-font-size-3": "TranslationText_translation-font-size-3__ww3t4",
  354. "translation-font-size-4": "TranslationText_translation-font-size-4__TKdKv",
  355. "translation-font-size-5": "TranslationText_translation-font-size-5__5bjGX",
  356. "translation-font-size-6": "TranslationText_translation-font-size-6__6SMJi",
  357. "translation-font-size-7": "TranslationText_translation-font-size-7__03ez5",
  358. "translation-font-size-8": "TranslationText_translation-font-size-8__IA0Tr",
  359. "translation-font-size-9": "TranslationText_translation-font-size-9__tq3IG",
  360. "translation-font-size-10": "TranslationText_translation-font-size-10__A9YEa",
  361. "ltr": "TranslationText_ltr__146rZ",
  362. "rtl": "TranslationText_rtl__ytrpw",
  363. "urdu": "TranslationText_urdu__9N37Y",
  364. "kurdish": "TranslationText_kurdish__je0yf",
  365. "divehi": "TranslationText_divehi__e3rqQ",
  366. "translationName": "TranslationText_translationName__Vm9Sj"
  367. };
  368. /***/ }),
  369. /***/ 40608:
  370. /***/ ((module) => {
  371. // Exports
  372. module.exports = {
  373. "cellContainer": "TranslationViewCell_cellContainer__rhs1_",
  374. "highlightedContainer": "TranslationViewCell_highlightedContainer__iR1i_",
  375. "contentContainer": "TranslationViewCell_contentContainer__MzrKa",
  376. "actionContainer": "TranslationViewCell_actionContainer__HsBR4",
  377. "arabicVerseContainer": "TranslationViewCell_arabicVerseContainer__1PutS",
  378. "verseTranslationsContainer": "TranslationViewCell_verseTranslationsContainer__TrT0u",
  379. "verseTranslationContainer": "TranslationViewCell_verseTranslationContainer__FzCJX",
  380. "actionContainerLeft": "TranslationViewCell_actionContainerLeft__W_dFh",
  381. "actionContainerRight": "TranslationViewCell_actionContainerRight__PYURw",
  382. "iconContainer": "TranslationViewCell_iconContainer__7hDOA",
  383. "verseAction": "TranslationViewCell_verseAction__oJZAI",
  384. "fadedVerseAction": "TranslationViewCell_fadedVerseAction__5D_Z9",
  385. "icon": "TranslationViewCell_icon__x_dPx",
  386. "playIcon": "TranslationViewCell_playIcon__ON4ZG",
  387. "priorityAction": "TranslationViewCell_priorityAction__YBhF5",
  388. "actionItem": "TranslationViewCell_actionItem__joebg"
  389. };
  390. /***/ }),
  391. /***/ 24791:
  392. /***/ ((module) => {
  393. // Exports
  394. module.exports = {
  395. "cellContainer": "TranslationViewSkeleton_cellContainer__sBy6V",
  396. "verseContainer": "TranslationViewSkeleton_verseContainer__VxNMX",
  397. "translationText": "TranslationViewSkeleton_translationText__x_kjw",
  398. "translationAuthor": "TranslationViewSkeleton_translationAuthor__xU1HK",
  399. "actionItem": "TranslationViewSkeleton_actionItem__QsY3x",
  400. "translation-font-size-1": "TranslationViewSkeleton_translation-font-size-1__kGXZP",
  401. "translation-font-size-2": "TranslationViewSkeleton_translation-font-size-2__LnbhT",
  402. "translation-font-size-3": "TranslationViewSkeleton_translation-font-size-3__1GsaL",
  403. "translation-font-size-4": "TranslationViewSkeleton_translation-font-size-4__87NbS",
  404. "translation-font-size-5": "TranslationViewSkeleton_translation-font-size-5__eMUdE",
  405. "translation-font-size-6": "TranslationViewSkeleton_translation-font-size-6__lNNK7",
  406. "translation-font-size-7": "TranslationViewSkeleton_translation-font-size-7__It5hp",
  407. "translation-font-size-8": "TranslationViewSkeleton_translation-font-size-8___c0mR",
  408. "translation-font-size-9": "TranslationViewSkeleton_translation-font-size-9__AYCn0",
  409. "translation-font-size-10": "TranslationViewSkeleton_translation-font-size-10__WpttO"
  410. };
  411. /***/ }),
  412. /***/ 89019:
  413. /***/ ((module) => {
  414. // Exports
  415. module.exports = {
  416. "container": "OverflowVerseActionsMenuBody_container__MmTNa"
  417. };
  418. /***/ }),
  419. /***/ 19426:
  420. /***/ ((module) => {
  421. // Exports
  422. module.exports = {
  423. "modalContainer": "ContentModal_modalContainer__i7bo0",
  424. "contentContainer": "ContentModal_contentContainer___ciX5",
  425. "overlay": "ContentModal_overlay__qZfQY",
  426. "contentWrapper": "ContentModal_contentWrapper__VaiRB",
  427. "autoHeight": "ContentModal_autoHeight__A3IW7",
  428. "medium": "ContentModal_medium__EKB5h",
  429. "small": "ContentModal_small__YBKtM",
  430. "fadeIn": "ContentModal_fadeIn__JGh_A",
  431. "fadeOut": "ContentModal_fadeOut__36m_B",
  432. "contentIn": "ContentModal_contentIn__EAwQw",
  433. "contentOut": "ContentModal_contentOut__2x8WN",
  434. "closeIcon": "ContentModal_closeIcon__xppin",
  435. "header": "ContentModal_header__384F2",
  436. "content": "ContentModal_content__9M2Iy"
  437. };
  438. /***/ }),
  439. /***/ 16962:
  440. /***/ ((module) => {
  441. // Exports
  442. module.exports = {
  443. "container": "Counter_container__WfR1A",
  444. "count": "Counter_count__Q6LdA"
  445. };
  446. /***/ }),
  447. /***/ 40458:
  448. /***/ ((module) => {
  449. // Exports
  450. module.exports = {
  451. "container": "Select_container___DCC_",
  452. "withBackground": "Select_withBackground__rpdEL",
  453. "defaultStyledContainer": "Select_defaultStyledContainer__b32Mm",
  454. "smallContainer": "Select_smallContainer__L2Lff",
  455. "mediumContainer": "Select_mediumContainer__MF_Vq",
  456. "largeContainer": "Select_largeContainer___qGs0",
  457. "disabledContainer": "Select_disabledContainer__gi7YD",
  458. "arrow": "Select_arrow__WAbAk",
  459. "disabledArrow": "Select_disabledArrow__V4nEO",
  460. "select": "Select_select__BnH2G",
  461. "defaultStyledSelect": "Select_defaultStyledSelect__LmeKj",
  462. "disabledSelect": "Select_disabledSelect___R3Jd"
  463. };
  464. /***/ }),
  465. /***/ 29267:
  466. /***/ ((module) => {
  467. // Exports
  468. module.exports = {
  469. "container": "Popover_container__GOha0",
  470. "trigger": "Popover_trigger__qKXNN",
  471. "content": "Popover_content__gu5L4",
  472. "tooltipContent": "Popover_tooltipContent__AMPpT"
  473. };
  474. /***/ }),
  475. /***/ 16527:
  476. /***/ ((module) => {
  477. // Exports
  478. module.exports = {
  479. "container": "QuranWord_container__lmBE_",
  480. "additionalWordGap": "QuranWord_additionalWordGap__wEsc5",
  481. "tajweedWord": "QuranWord_tajweedWord__gTxER",
  482. "highlighted": "QuranWord_highlighted__YfsNt",
  483. "secondaryHighlight": "QuranWord_secondaryHighlight__rOvv4",
  484. "wbwContainer": "QuranWord_wbwContainer__REUuI",
  485. "highlightOnHover": "QuranWord_highlightOnHover__l3KmK",
  486. "tooltipText": "QuranWord_tooltipText___d04R",
  487. "popoverTrigger": "QuranWord_popoverTrigger__fGtvj"
  488. };
  489. /***/ }),
  490. /***/ 87920:
  491. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  492. "use strict";
  493. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  494. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  495. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  496. /* harmony export */ });
  497. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  498. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  499. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  500. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  501. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  502. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  503. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
  504. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
  505. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  506. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  507. /* harmony import */ var _components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(66606);
  508. /* harmony import */ var _components_QuranReader_ReflectionView_ReflectionBodyContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86325);
  509. /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(40608);
  510. /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12__);
  511. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50497);
  512. /* harmony import */ var _icons_chat_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(44356);
  513. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55943);
  514. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(57933);
  515. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(44519);
  516. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_ReflectionView_ReflectionBodyContainer__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_10__]);
  517. ([_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_ReflectionView_ReflectionBodyContainer__WEBPACK_IMPORTED_MODULE_6__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  518. const QuranReflectButton = ({ verseKey , isTranslationView =true , onActionTriggered })=>{
  519. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
  520. const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
  521. const { 0: isContentModalOpen , 1: setIsContentModalOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  522. const onButtonClicked = ()=>{
  523. // eslint-disable-next-line i18next/no-literal-string
  524. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logButtonClick */ .MY)(`${isTranslationView ? "translation_view" : "reading_view"}_reflect`);
  525. setIsContentModalOpen(true);
  526. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_10__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_10__/* .getVerseReflectionNavigationUrl */ .HT)(verseKey), lang);
  527. };
  528. const contentModalRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
  529. const onModalClose = ()=>{
  530. setIsContentModalOpen(false);
  531. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_10__/* .fakeNavigate */ ._V)(router.asPath, lang);
  532. if (onActionTriggered) {
  533. onActionTriggered();
  534. }
  535. };
  536. const [initialChapterId, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_11__/* .getVerseAndChapterNumbersFromKey */ .bV)(verseKey);
  537. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  538. children: [
  539. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
  540. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  541. onClick: onButtonClicked,
  542. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonSize.Small */ .qE.Small,
  543. tooltip: t("reflections"),
  544. shouldFlipOnRTL: false,
  545. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_7__/* .ButtonShape.Circle */ .jL.Circle,
  546. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12___default().iconContainer), (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12___default().verseAction), {
  547. [(_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12___default().fadedVerseAction)]: isTranslationView
  548. }, "reflection-verse-button"),
  549. ariaLabel: t("quran-reader:aria.read-ayah-refls"),
  550. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  551. className: (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_12___default().icon),
  552. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chat_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
  553. })
  554. }),
  555. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_ReflectionView_ReflectionBodyContainer__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  556. initialChapterId: initialChapterId,
  557. initialVerseNumber: verseNumber,
  558. scrollToTop: ()=>{
  559. contentModalRef.current.scrollToTop();
  560. },
  561. render: ({ surahAndAyahSelection , body })=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  562. innerRef: contentModalRef,
  563. isOpen: isContentModalOpen,
  564. hasCloseButton: true,
  565. onClose: onModalClose,
  566. onEscapeKeyDown: onModalClose,
  567. header: surahAndAyahSelection,
  568. children: body
  569. })
  570. })
  571. ]
  572. });
  573. };
  574. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (QuranReflectButton);
  575. __webpack_async_result__();
  576. } catch(e) { __webpack_async_result__(e); } });
  577. /***/ }),
  578. /***/ 96886:
  579. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  580. "use strict";
  581. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  582. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  583. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  584. /* harmony export */ });
  585. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  586. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  587. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  588. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  589. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  590. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  591. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96954);
  592. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_3__);
  593. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  594. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  595. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6022);
  596. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__);
  597. /* harmony import */ var _TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(92337);
  598. /* harmony import */ var _TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16__);
  599. /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12951);
  600. /* harmony import */ var _components_QuranReader_ReadingView_TranslationsView__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(45951);
  601. /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80587);
  602. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(50497);
  603. /* harmony import */ var _icons_translation_svg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(14133);
  604. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(62093);
  605. /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(88548);
  606. /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4917);
  607. /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(46127);
  608. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(55943);
  609. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_6__, _components_QuranReader_ReadingView_TranslationsView__WEBPACK_IMPORTED_MODULE_7__, _components_QuranReader_TranslationView_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_8__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__]);
  610. ([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_6__, _components_QuranReader_ReadingView_TranslationsView__WEBPACK_IMPORTED_MODULE_7__, _components_QuranReader_TranslationView_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_8__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  611. const ContentModal = next_dynamic__WEBPACK_IMPORTED_MODULE_3___default()(null, {
  612. loadableGenerated: {
  613. modules: [
  614. "../components/QuranReader/ReadingView/TranslationsButton/index.tsx -> " + "@/dls/ContentModal/ContentModal"
  615. ]
  616. },
  617. ssr: false
  618. });
  619. const CLOSE_POPOVER_AFTER_MS = 200;
  620. const TranslationsButton = ({ verse , onActionTriggered })=>{
  621. const { 0: isContentModalOpen , 1: setIsContentModalOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  622. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
  623. const selectedTranslations = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_12__/* .selectSelectedTranslations */ .qw);
  624. const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_11__/* .selectQuranReaderStyles */ .Pt);
  625. const contentModalRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
  626. const translationsQueryKey = (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_14__/* .makeByVerseKeyUrl */ .v2)(`${verse.chapterId}:${verse.verseNumber}`, {
  627. words: true,
  628. translationFields: "resource_name,language_id",
  629. translations: selectedTranslations.join(","),
  630. ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_13__/* .getDefaultWordFields */ .hD)(quranReaderStyles.quranFont),
  631. ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_13__/* .getMushafId */ .$P)(quranReaderStyles.quranFont, quranReaderStyles.mushafLines)
  632. });
  633. const renderTranslationsView = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((data)=>{
  634. if (!data) return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
  635. hasActionMenuItems: false
  636. });
  637. const { verse: responseVerse } = data;
  638. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_ReadingView_TranslationsView__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
  639. verse: responseVerse,
  640. quranReaderStyles: quranReaderStyles
  641. });
  642. }, [
  643. quranReaderStyles
  644. ]);
  645. const onButtonClicked = ()=>{
  646. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logButtonClick */ .MY)(// eslint-disable-next-line i18next/no-literal-string
  647. `reading_view_translations_modal_open`);
  648. setIsContentModalOpen(true);
  649. };
  650. const onModalClosed = ()=>{
  651. // eslint-disable-next-line i18next/no-literal-string
  652. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_15__/* .logEvent */ .Kz)(`reading_view_translations_modal_close`);
  653. setIsContentModalOpen(false);
  654. setTimeout(()=>{
  655. // we set a really short timeout to close the popover after the modal has been closed to allow enough time for the fadeout css effect to apply.
  656. onActionTriggered();
  657. }, CLOSE_POPOVER_AFTER_MS);
  658. };
  659. const loading = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_TranslationViewCellSkeleton__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
  660. hasActionMenuItems: false
  661. }), []);
  662. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  663. children: [
  664. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
  665. onClick: onButtonClicked,
  666. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  667. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonSize.Small */ .qE.Small,
  668. tooltip: t("translations"),
  669. shouldFlipOnRTL: false,
  670. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_9__/* .ButtonShape.Circle */ .jL.Circle,
  671. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16___default().iconContainer), (_TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16___default().verseAction)),
  672. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  673. className: (_TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16___default().icon),
  674. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_translation_svg__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {})
  675. })
  676. }),
  677. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(ContentModal, {
  678. innerRef: contentModalRef,
  679. isOpen: isContentModalOpen,
  680. header: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  681. className: (_TranslationsButton_module_scss__WEBPACK_IMPORTED_MODULE_16___default().header),
  682. children: t("translations")
  683. }),
  684. hasCloseButton: true,
  685. onClose: onModalClosed,
  686. onEscapeKeyDown: onModalClosed,
  687. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  688. loading: loading,
  689. queryKey: translationsQueryKey,
  690. render: renderTranslationsView
  691. })
  692. })
  693. ]
  694. });
  695. };
  696. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationsButton);
  697. __webpack_async_result__();
  698. } catch(e) { __webpack_async_result__(e); } });
  699. /***/ }),
  700. /***/ 45951:
  701. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  702. "use strict";
  703. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  704. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  705. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  706. /* harmony export */ });
  707. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  708. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  709. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  710. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  711. /* harmony import */ var _TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29367);
  712. /* harmony import */ var _TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6__);
  713. /* harmony import */ var _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18809);
  714. /* harmony import */ var _components_Verse_PlainVerseText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21044);
  715. /* harmony import */ var _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94400);
  716. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44519);
  717. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_2__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_4__]);
  718. ([_components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_2__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_4__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  719. const TranslationsView = ({ verse , quranReaderStyles })=>{
  720. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  721. children: [
  722. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  723. className: (_TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6___default().arabicVerseContainer),
  724. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_PlainVerseText__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  725. words: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .getVerseWords */ .LQ)(verse)
  726. })
  727. }),
  728. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  729. className: (_TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6___default().separatorContainer),
  730. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
  731. }),
  732. verse.translations?.map((translation)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  733. className: (_TranslationsView_module_scss__WEBPACK_IMPORTED_MODULE_6___default().verseTranslationContainer),
  734. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
  735. translationFontScale: quranReaderStyles.translationFontScale,
  736. text: translation.text,
  737. languageId: translation.languageId,
  738. resourceName: translation.resourceName
  739. })
  740. }, translation.id))
  741. ]
  742. });
  743. };
  744. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationsView);
  745. __webpack_async_result__();
  746. } catch(e) { __webpack_async_result__(e); } });
  747. /***/ }),
  748. /***/ 28472:
  749. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  750. "use strict";
  751. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  752. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  753. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  754. /* harmony export */ });
  755. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  756. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  757. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  758. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  759. /* harmony import */ var _QuranReflectButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87920);
  760. /* harmony import */ var _WordActionsMenu_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6222);
  761. /* harmony import */ var _WordActionsMenu_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_WordActionsMenu_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  762. /* harmony import */ var _components_QuranReader_ReadingView_TranslationsButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96886);
  763. /* harmony import */ var _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5369);
  764. /* harmony import */ var _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35527);
  765. /* harmony import */ var _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70256);
  766. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_QuranReflectButton__WEBPACK_IMPORTED_MODULE_2__, _components_QuranReader_ReadingView_TranslationsButton__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_4__, _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_5__, _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_6__]);
  767. ([_QuranReflectButton__WEBPACK_IMPORTED_MODULE_2__, _components_QuranReader_ReadingView_TranslationsButton__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_4__, _components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_5__, _components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  768. const ReadingViewWordActionsMenu = ({ word , onActionTriggered })=>{
  769. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  770. className: (_WordActionsMenu_module_scss__WEBPACK_IMPORTED_MODULE_7___default().container),
  771. children: [
  772. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TafsirButton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  773. verseKey: word.verseKey,
  774. isTranslationView: false,
  775. onActionTriggered: onActionTriggered
  776. }),
  777. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_QuranReflectButton__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
  778. verseKey: word.verseKey,
  779. isTranslationView: false,
  780. onActionTriggered: onActionTriggered
  781. }),
  782. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_ReadingView_TranslationsButton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  783. verse: word.verse,
  784. onActionTriggered: onActionTriggered
  785. }),
  786. word?.verse?.timestamps && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_PlayVerseAudioButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  787. verseKey: word.verseKey,
  788. isTranslationView: false,
  789. onActionTriggered: onActionTriggered
  790. }),
  791. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  792. className: (_WordActionsMenu_module_scss__WEBPACK_IMPORTED_MODULE_7___default().readingViewOverflowVerseActionsMenu),
  793. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Verse_OverflowVerseActionsMenu__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  794. isTranslationView: false,
  795. verse: word.verse,
  796. onActionTriggered: onActionTriggered
  797. })
  798. })
  799. ]
  800. });
  801. };
  802. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingViewWordActionsMenu);
  803. __webpack_async_result__();
  804. } catch(e) { __webpack_async_result__(e); } });
  805. /***/ }),
  806. /***/ 90127:
  807. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  808. "use strict";
  809. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  810. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  811. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  812. /* harmony export */ });
  813. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  814. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  815. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  816. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  817. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
  818. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
  819. /* harmony import */ var _WordActionsMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(28472);
  820. /* harmony import */ var _WordPopover_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(41921);
  821. /* harmony import */ var _WordPopover_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_WordPopover_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  822. /* harmony import */ var _dls_Popover__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25914);
  823. /* harmony import */ var _redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31922);
  824. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55943);
  825. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_WordActionsMenu__WEBPACK_IMPORTED_MODULE_3__, _dls_Popover__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__]);
  826. ([_WordActionsMenu__WEBPACK_IMPORTED_MODULE_3__, _dls_Popover__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  827. const ReadingViewWordPopover = ({ word , children })=>{
  828. const { 0: isTooltipOpened , 1: setIsTooltipOpened } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  829. const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
  830. const onOpenChange = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((isOpen)=>{
  831. setIsTooltipOpened(isOpen);
  832. // eslint-disable-next-line i18next/no-literal-string
  833. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_6__/* .logEvent */ .Kz)(`reading_view_overflow_menu_${isOpen ? "open" : "close"}`);
  834. dispatch((0,_redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_5__/* .setReadingViewSelectedVerseKey */ .E9)(isOpen ? word.verseKey : null));
  835. }, [
  836. dispatch,
  837. word.verseKey
  838. ]);
  839. const onHoverChange = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((isHovering)=>{
  840. dispatch((0,_redux_slices_QuranReader_readingViewVerse__WEBPACK_IMPORTED_MODULE_5__/* .setReadingViewHoveredVerseKey */ .Ob)(isHovering ? word.verseKey : null));
  841. }, [
  842. dispatch,
  843. word.verseKey
  844. ]);
  845. const onActionTriggered = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
  846. onOpenChange(false);
  847. }, [
  848. onOpenChange
  849. ]);
  850. const onMouseEnter = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
  851. onHoverChange(true);
  852. }, [
  853. onHoverChange
  854. ]);
  855. const onMouseLeave = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
  856. onHoverChange(false);
  857. }, [
  858. onHoverChange
  859. ]);
  860. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Popover__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, {
  861. contentSide: _dls_Popover__WEBPACK_IMPORTED_MODULE_4__/* .ContentSide.TOP */ .iw.TOP,
  862. contentSideOffset: -10,
  863. trigger: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  864. onMouseEnter: onMouseEnter,
  865. onMouseLeave: onMouseLeave,
  866. children: children
  867. }),
  868. tip: true,
  869. isModal: true,
  870. open: isTooltipOpened,
  871. onOpenChange: onOpenChange,
  872. triggerStyles: (_WordPopover_module_scss__WEBPACK_IMPORTED_MODULE_7___default().trigger),
  873. contentStyles: (_WordPopover_module_scss__WEBPACK_IMPORTED_MODULE_7___default().content),
  874. defaultStyling: false,
  875. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_WordActionsMenu__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  876. word: word,
  877. onActionTriggered: onActionTriggered
  878. })
  879. });
  880. };
  881. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReadingViewWordPopover);
  882. __webpack_async_result__();
  883. } catch(e) { __webpack_async_result__(e); } });
  884. /***/ }),
  885. /***/ 86325:
  886. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  887. "use strict";
  888. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  889. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  890. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  891. /* harmony export */ });
  892. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  893. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  894. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  895. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  896. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96954);
  897. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_2__);
  898. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  899. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  900. /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12951);
  901. /* harmony import */ var _components_QuranReader_observer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(94082);
  902. /* harmony import */ var _components_QuranReader_TafsirView_TafsirSkeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1627);
  903. /* harmony import */ var _hooks_useGlobalIntersectionObserverWithDelay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(91398);
  904. /* harmony import */ var _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(22197);
  905. /* harmony import */ var _utils_auth_qf_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(91450);
  906. /* harmony import */ var _utils_quranReflect_apiPaths__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(36342);
  907. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_4__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__]);
  908. ([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_4__, _utils_auth_login__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  909. const ReflectionSurahAndAyahSelection = next_dynamic__WEBPACK_IMPORTED_MODULE_2___default()(null, {
  910. loadableGenerated: {
  911. modules: [
  912. "../components/QuranReader/ReflectionView/ReflectionBodyContainer/index.tsx -> " + "./ReflectionSurahAndAyahSelection"
  913. ]
  914. },
  915. ssr: false
  916. });
  917. const ReflectionBody = next_dynamic__WEBPACK_IMPORTED_MODULE_2___default()(null, {
  918. loadableGenerated: {
  919. modules: [
  920. "../components/QuranReader/ReflectionView/ReflectionBodyContainer/index.tsx -> " + "./ReflectionBody"
  921. ]
  922. },
  923. ssr: false,
  924. loading: _components_QuranReader_TafsirView_TafsirSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z
  925. });
  926. const ReflectionBodyContainer = ({ render , initialChapterId , initialVerseNumber , scrollToTop })=>{
  927. const { 0: selectedChapterId , 1: setSelectedChapterId } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialChapterId);
  928. const { 0: selectedVerseNumber , 1: setSelectedVerseNumber } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialVerseNumber);
  929. const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()();
  930. /**
  931. * Handle when the reflection is viewed:
  932. *
  933. * 1. If the user is logged in, we will call QDC's backend API.
  934. * 2. Otherwise, we will call QR's API directly.
  935. */ const onReflectionViewed = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((reflectionContainer)=>{
  936. const postId = reflectionContainer.getAttribute("data-post-id");
  937. if ((0,_utils_auth_login__WEBPACK_IMPORTED_MODULE_7__/* .isLoggedIn */ .jl)()) {
  938. // eslint-disable-next-line @typescript-eslint/no-empty-function
  939. (0,_utils_auth_qf_api__WEBPACK_IMPORTED_MODULE_8__/* .postReflectionViews */ .GG)(postId).catch(()=>{});
  940. } else {
  941. // eslint-disable-next-line @typescript-eslint/no-empty-function
  942. (0,_utils_quranReflect_apiPaths__WEBPACK_IMPORTED_MODULE_9__/* .postReflectionViews */ .GG)(postId).catch(()=>{});
  943. }
  944. }, []);
  945. (0,_hooks_useGlobalIntersectionObserverWithDelay__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)({
  946. threshold: 1
  947. }, onReflectionViewed, _components_QuranReader_observer__WEBPACK_IMPORTED_MODULE_10__/* .REFLECTIONS_OBSERVER_ID */ .yG, "postId", "countAsViewedAfter");
  948. const renderBody = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((data)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(ReflectionBody, {
  949. data: data,
  950. selectedChapterId: selectedChapterId,
  951. selectedVerseNumber: selectedVerseNumber,
  952. setSelectedVerseNumber: setSelectedVerseNumber,
  953. scrollToTop: scrollToTop
  954. }), [
  955. scrollToTop,
  956. selectedChapterId,
  957. selectedVerseNumber
  958. ]);
  959. const body = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  960. loading: _components_QuranReader_TafsirView_TafsirSkeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z,
  961. queryKey: (0,_utils_quranReflect_apiPaths__WEBPACK_IMPORTED_MODULE_9__/* .makeAyahReflectionsUrl */ .pZ)({
  962. surahId: selectedChapterId,
  963. ayahNumber: selectedVerseNumber,
  964. locale: lang
  965. }),
  966. render: renderBody
  967. });
  968. return render({
  969. surahAndAyahSelection: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(ReflectionSurahAndAyahSelection, {
  970. selectedChapterId: selectedChapterId,
  971. selectedVerseNumber: selectedVerseNumber,
  972. setSelectedChapterId: setSelectedChapterId,
  973. setSelectedVerseNumber: setSelectedVerseNumber
  974. }),
  975. body
  976. });
  977. };
  978. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ReflectionBodyContainer);
  979. __webpack_async_result__();
  980. } catch(e) { __webpack_async_result__(e); } });
  981. /***/ }),
  982. /***/ 5369:
  983. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  984. "use strict";
  985. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  986. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  987. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  988. /* harmony export */ });
  989. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  990. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  991. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  992. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  993. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  994. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  995. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71853);
  996. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_3__);
  997. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  998. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  999. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6022);
  1000. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__);
  1001. /* harmony import */ var _components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(66606);
  1002. /* harmony import */ var _components_QuranReader_TafsirView_TafsirBody__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(47261);
  1003. /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(40608);
  1004. /* harmony import */ var _components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14__);
  1005. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(50497);
  1006. /* harmony import */ var _icons_book_open_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(29537);
  1007. /* harmony import */ var _redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(11983);
  1008. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55943);
  1009. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(57933);
  1010. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(44519);
  1011. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_6__, _components_QuranReader_TafsirView_TafsirBody__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__]);
  1012. ([_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_6__, _components_QuranReader_TafsirView_TafsirBody__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1013. const TafsirButton = ({ verseKey , isTranslationView =true , onActionTriggered , })=>{
  1014. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
  1015. const router = (0,next_router__WEBPACK_IMPORTED_MODULE_3__.useRouter)();
  1016. const tafsirs = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_10__/* .selectSelectedTafsirs */ .XG);
  1017. const { 0: isContentModalOpen , 1: setIsContentModalOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  1018. const [chapterId, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .getVerseAndChapterNumbersFromKey */ .bV)(verseKey);
  1019. const onButtonClicked = ()=>{
  1020. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logButtonClick */ .MY)(`${isTranslationView ? "translation_view" : "reading_view"}_verse_actions_menu_tafsir`);
  1021. setIsContentModalOpen(true);
  1022. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(chapterId, Number(verseNumber), tafsirs[0]), lang);
  1023. };
  1024. const contentModalRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
  1025. const onModalClose = ()=>{
  1026. if (isTranslationView) {
  1027. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logEvent */ .Kz)("translation_view_tafsir_modal_close");
  1028. } else {
  1029. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_11__/* .logEvent */ .Kz)("reading_view_tafsir_modal_close");
  1030. }
  1031. setIsContentModalOpen(false);
  1032. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .fakeNavigate */ ._V)(router.asPath, router.locale);
  1033. if (onActionTriggered) {
  1034. onActionTriggered();
  1035. }
  1036. };
  1037. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  1038. children: [
  1039. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .ZP, {
  1040. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  1041. onClick: onButtonClicked,
  1042. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonSize.Small */ .qE.Small,
  1043. tooltip: t("quran-reader:tafsirs"),
  1044. shouldFlipOnRTL: false,
  1045. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonShape.Circle */ .jL.Circle,
  1046. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14___default().iconContainer), (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14___default().verseAction), {
  1047. [(_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14___default().fadedVerseAction)]: isTranslationView
  1048. }, "tafsir-verse-button"),
  1049. ariaLabel: t("quran-reader:aria.read-tafsirs"),
  1050. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  1051. className: (_components_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_14___default().icon),
  1052. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_book_open_svg__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {})
  1053. })
  1054. }),
  1055. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TafsirView_TafsirBody__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
  1056. shouldRender: isContentModalOpen,
  1057. initialChapterId: chapterId.toString(),
  1058. initialVerseNumber: verseNumber.toString(),
  1059. scrollToTop: ()=>{
  1060. contentModalRef.current.scrollToTop();
  1061. },
  1062. render: ({ body , languageAndTafsirSelection , surahAndAyahSelection })=>{
  1063. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components_dls_ContentModal_ContentModal__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  1064. innerRef: contentModalRef,
  1065. isOpen: isContentModalOpen,
  1066. hasCloseButton: true,
  1067. onClose: onModalClose,
  1068. onEscapeKeyDown: onModalClose,
  1069. header: surahAndAyahSelection,
  1070. children: [
  1071. languageAndTafsirSelection,
  1072. body
  1073. ]
  1074. });
  1075. }
  1076. })
  1077. ]
  1078. });
  1079. };
  1080. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirButton);
  1081. __webpack_async_result__();
  1082. } catch(e) { __webpack_async_result__(e); } });
  1083. /***/ }),
  1084. /***/ 28137:
  1085. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1086. "use strict";
  1087. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1088. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1089. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1090. /* harmony export */ });
  1091. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1092. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1093. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
  1094. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
  1095. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5293);
  1096. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  1097. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50497);
  1098. /* harmony import */ var _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58087);
  1099. /* harmony import */ var _dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77048);
  1100. /* harmony import */ var _dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18470);
  1101. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24709);
  1102. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__]);
  1103. _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  1104. const LanguageAndTafsirSelection = ({ selectedTafsirIdOrSlug , onTafsirSelected , selectedLanguage , onSelectLanguage , languageOptions , data , isLoading })=>{
  1105. if (!data) {
  1106. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  1107. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSkeletonItem), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionSkeleton))
  1108. });
  1109. }
  1110. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1111. isLoading: isLoading,
  1112. children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1113. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionContainer),
  1114. children: [
  1115. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1116. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().languageSelection),
  1117. size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
  1118. id: "lang-selection",
  1119. name: "lang-selection",
  1120. options: languageOptions.map((lng)=>({
  1121. label: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_6__/* .getLocaleNameByFullName */ .Dl)(lng),
  1122. value: lng
  1123. })),
  1124. onChange: onSelectLanguage,
  1125. value: selectedLanguage
  1126. }),
  1127. data.tafsirs.filter((tafsir)=>tafsir.languageName === selectedLanguage || selectedTafsirIdOrSlug === tafsir.slug || Number(selectedTafsirIdOrSlug) === tafsir.id).map((tafsir)=>{
  1128. const selected = selectedTafsirIdOrSlug === tafsir.slug || Number(selectedTafsirIdOrSlug) === tafsir.id;
  1129. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
  1130. onClick: ()=>onTafsirSelected(tafsir.id, tafsir.slug),
  1131. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonSize.Small */ .qE.Small,
  1132. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirSelectionItem), {
  1133. [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tafsirItemSelected)]: selected
  1134. }),
  1135. children: tafsir.translatedName.name
  1136. }, tafsir.id);
  1137. })
  1138. ]
  1139. })
  1140. });
  1141. };
  1142. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LanguageAndTafsirSelection);
  1143. __webpack_async_result__();
  1144. } catch(e) { __webpack_async_result__(e); } });
  1145. /***/ }),
  1146. /***/ 62727:
  1147. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1148. "use strict";
  1149. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1150. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1151. /* harmony export */ });
  1152. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1153. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1154. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1155. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1156. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  1157. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  1158. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5293);
  1159. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  1160. /* harmony import */ var _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58087);
  1161. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24709);
  1162. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44519);
  1163. /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70813);
  1164. const SurahAndAyahSelection = ({ selectedChapterId , selectedVerseNumber , onChapterIdChange , onVerseNumberChange , })=>{
  1165. const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
  1166. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z);
  1167. const verses = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .generateChapterVersesKeys */ .qB)(chaptersData, selectedChapterId);
  1168. const surahOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Object.entries(chaptersData).map(([id, chapter])=>({
  1169. label: chapter.transliteratedName,
  1170. value: id
  1171. })), [
  1172. chaptersData
  1173. ]);
  1174. const ayahOptions = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>verses.map((verseKey)=>{
  1175. const verseNumber = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_5__/* .getVerseNumberFromKey */ .tR)(verseKey).toString();
  1176. return {
  1177. label: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_4__/* .toLocalizedNumber */ .rQ)(Number(verseNumber), lang),
  1178. value: verseNumber
  1179. };
  1180. }), [
  1181. lang,
  1182. verses
  1183. ]);
  1184. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1185. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().surahAndAyahSelectionContainer),
  1186. children: [
  1187. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1188. size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
  1189. id: "surah-selection",
  1190. name: "surah-selection",
  1191. options: surahOptions,
  1192. onChange: onChapterIdChange,
  1193. value: selectedChapterId
  1194. }),
  1195. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1196. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().selectionItem),
  1197. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1198. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_7___default().ayahSelection),
  1199. size: _dls_Forms_Select__WEBPACK_IMPORTED_MODULE_3__/* .SelectSize.Small */ .h.Small,
  1200. id: "ayah-selection",
  1201. name: "ayah-selection",
  1202. options: ayahOptions,
  1203. onChange: onVerseNumberChange,
  1204. value: selectedVerseNumber
  1205. })
  1206. })
  1207. ]
  1208. });
  1209. };
  1210. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SurahAndAyahSelection);
  1211. /***/ }),
  1212. /***/ 47261:
  1213. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1214. "use strict";
  1215. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1216. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1217. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1218. /* harmony export */ });
  1219. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1220. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1221. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1222. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1223. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  1224. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  1225. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  1226. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  1227. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
  1228. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
  1229. /* harmony import */ var swr_immutable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79847);
  1230. /* harmony import */ var _VerseTextPreview__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57072);
  1231. /* harmony import */ var _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(28137);
  1232. /* harmony import */ var _SurahAndAyahSelection__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62727);
  1233. /* harmony import */ var _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(52760);
  1234. /* harmony import */ var _TafsirGroupMessage__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(78153);
  1235. /* harmony import */ var _TafsirMessage__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(32068);
  1236. /* harmony import */ var _TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1627);
  1237. /* harmony import */ var _TafsirText__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(20301);
  1238. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(5293);
  1239. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28__);
  1240. /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(12951);
  1241. /* harmony import */ var _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(94400);
  1242. /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(19583);
  1243. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(62093);
  1244. /* harmony import */ var _redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(11983);
  1245. /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(46127);
  1246. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(55943);
  1247. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(24709);
  1248. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(57933);
  1249. /* harmony import */ var _utils_tafsir__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(17773);
  1250. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(44519);
  1251. /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(92684);
  1252. /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(70813);
  1253. /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(13591);
  1254. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__, _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__, _TafsirText__WEBPACK_IMPORTED_MODULE_13__, _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__, _utils_navigation__WEBPACK_IMPORTED_MODULE_22__]);
  1255. ([swr_immutable__WEBPACK_IMPORTED_MODULE_5__, _LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__, _TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__, _TafsirText__WEBPACK_IMPORTED_MODULE_13__, _components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__, _dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__, _utils_navigation__WEBPACK_IMPORTED_MODULE_22__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1256. /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable max-lines */ /* eslint-disable i18next/no-literal-string */
  1257. const TafsirBody = ({ initialChapterId , initialVerseNumber , initialTafsirIdOrSlug , render , scrollToTop , shouldRender })=>{
  1258. const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_17__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
  1259. const { lang , t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("common");
  1260. const tafsirsState = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .selectTafsirs */ .OW);
  1261. const { selectedTafsirs: userPreferredTafsirIds } = tafsirsState;
  1262. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_26__/* ["default"] */ .Z);
  1263. const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z)();
  1264. const { 0: selectedChapterId , 1: setSelectedChapterId } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialChapterId);
  1265. const { 0: selectedVerseNumber , 1: setSelectedVerseNumber } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialVerseNumber);
  1266. const { 0: selectedLanguage , 1: setSelectedLanguage } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)("");
  1267. const selectedVerseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .makeVerseKey */ .u)(Number(selectedChapterId), Number(selectedVerseNumber));
  1268. const { 0: selectedTafsirIdOrSlug , 1: setSelectedTafsirIdOrSlug } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialTafsirIdOrSlug || userPreferredTafsirIds?.[0]);
  1269. // if user opened tafsirBody via a url, we will have initialTafsirIdOrSlug
  1270. // we need to set this `initialTafsirIdOrSlug` as a selectedTafsirIdOrSlug
  1271. // we did not use `useState(initialTafsirIdOrSlug)` because `useRouter`'s query string is undefined on first render
  1272. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  1273. if (initialTafsirIdOrSlug) {
  1274. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logEvent */ .Kz)("tafsir_url_access");
  1275. setSelectedTafsirIdOrSlug(initialTafsirIdOrSlug);
  1276. }
  1277. }, [
  1278. initialTafsirIdOrSlug
  1279. ]);
  1280. const onTafsirSelected = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id, slug)=>{
  1281. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir", id);
  1282. setSelectedTafsirIdOrSlug(slug);
  1283. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(selectedVerseNumber), slug), lang);
  1284. onSettingsChange("selectedTafsirs", [
  1285. slug
  1286. ], (0,_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .setSelectedTafsirs */ .ZY)({
  1287. tafsirs: [
  1288. slug
  1289. ],
  1290. locale: lang
  1291. }), (0,_redux_slices_QuranReader_tafsirs__WEBPACK_IMPORTED_MODULE_18__/* .setSelectedTafsirs */ .ZY)({
  1292. tafsirs: tafsirsState.selectedTafsirs,
  1293. locale: lang
  1294. }), types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_27__/* ["default"].TAFSIRS */ .Z.TAFSIRS);
  1295. }, [
  1296. lang,
  1297. onSettingsChange,
  1298. selectedChapterId,
  1299. selectedVerseNumber,
  1300. tafsirsState
  1301. ]);
  1302. const { data: tafsirSelectionList } = (0,swr_immutable__WEBPACK_IMPORTED_MODULE_5__["default"])(shouldRender ? (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__/* .makeTafsirsUrl */ .A9)(lang) : null, src_api__WEBPACK_IMPORTED_MODULE_25__/* .fetcher */ ._i);
  1303. // selectedLanguage is based on selectedTafsir's language
  1304. // but we need to fetch the data from the API first to know what is the language of `selectedTafsirIdOrSlug`
  1305. // so we get the data from the API and set the selectedLanguage once it is loaded
  1306. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  1307. if (tafsirSelectionList) {
  1308. setSelectedLanguage((prevSelectedLanguage)=>{
  1309. // if we haven't set the language already, we need to detect which language the current tafsir is in.
  1310. return prevSelectedLanguage || (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getSelectedTafsirLanguage */ .BF)(tafsirSelectionList, selectedTafsirIdOrSlug);
  1311. });
  1312. }
  1313. }, [
  1314. onTafsirSelected,
  1315. selectedTafsirIdOrSlug,
  1316. tafsirSelectionList
  1317. ]);
  1318. // there's no 1:1 data that can map our locale options to the tafsir language options
  1319. // so we're using options that's available from tafsir for now
  1320. // TODO: update language options, to use the same options as our LanguageSelector
  1321. const languageOptions = tafsirSelectionList ? (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getTafsirsLanguageOptions */ .O3)(tafsirSelectionList.tafsirs) : [];
  1322. /**
  1323. * Handle when the language of the Tafsir is changed. When it does,
  1324. * we auto-select the first Tafsir of the new language based on the
  1325. * response from BE.
  1326. *
  1327. * @param {string} newLang
  1328. */ const onLanguageSelected = (newLang)=>{
  1329. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logValueChange */ .Q8)("tafsir_locale", selectedLanguage, newLang);
  1330. setSelectedLanguage(newLang);
  1331. if (tafsirSelectionList) {
  1332. const firstTafsirOfLanguage = (0,_utils_tafsir__WEBPACK_IMPORTED_MODULE_23__/* .getFirstTafsirOfLanguage */ .K8)(tafsirSelectionList, newLang);
  1333. if (firstTafsirOfLanguage) {
  1334. const { id , slug } = firstTafsirOfLanguage;
  1335. onTafsirSelected(id, slug);
  1336. }
  1337. }
  1338. };
  1339. const renderTafsir = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((data)=>{
  1340. if (!data || !data.tafsir) return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {});
  1341. const { verses , text , languageId } = data.tafsir;
  1342. const langData = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_21__/* .getLanguageDataById */ .j2)(languageId);
  1343. const [firstVerseKey, lastVerseKey] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getFirstAndLastVerseKeys */ .cI)(verses);
  1344. const [chapterNumber, verseNumber] = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseAndChapterNumbersFromKey */ .bV)(lastVerseKey);
  1345. const hasNextVerseGroup = !(0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .isLastVerseOfSurah */ .kC)(chaptersData, chapterNumber, Number(verseNumber));
  1346. const hasPrevVerseGroup = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(firstVerseKey) !== 1;
  1347. const loadNextVerseGroup = ()=>{
  1348. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logButtonClick */ .MY)("tafsir_next_verse");
  1349. scrollToTop();
  1350. const newVerseNumber = String(Number((0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(lastVerseKey)) + 1);
  1351. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
  1352. setSelectedVerseNumber(newVerseNumber);
  1353. };
  1354. const loadPrevVerseGroup = ()=>{
  1355. const newVerseNumber = String(Number((0,_utils_verse__WEBPACK_IMPORTED_MODULE_24__/* .getVerseNumberFromKey */ .tR)(firstVerseKey)) - 1);
  1356. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logButtonClick */ .MY)("tafsir_prev_verse");
  1357. scrollToTop();
  1358. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
  1359. setSelectedVerseNumber(newVerseNumber);
  1360. };
  1361. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1362. children: [
  1363. !text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirMessage__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
  1364. children: t("tafsir.no-text", {
  1365. tafsirName: data.tafsir.translatedName.name
  1366. })
  1367. }),
  1368. Object.values(verses).length > 1 && !!text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirGroupMessage__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
  1369. from: firstVerseKey,
  1370. to: lastVerseKey
  1371. }),
  1372. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1373. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().verseTextContainer),
  1374. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_VerseTextPreview__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  1375. verses: Object.values(verses)
  1376. })
  1377. }),
  1378. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1379. className: (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().separatorContainer),
  1380. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Separator_Separator__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {})
  1381. }),
  1382. !!text && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirText__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
  1383. direction: langData.direction,
  1384. languageCode: langData.code,
  1385. text: text
  1386. }),
  1387. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirEndOfScrollingActions__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
  1388. hasNextVerseGroup: hasNextVerseGroup,
  1389. hasPrevVerseGroup: hasPrevVerseGroup,
  1390. onNextButtonClicked: loadNextVerseGroup,
  1391. onPreviousButtonClicked: loadPrevVerseGroup
  1392. })
  1393. ]
  1394. });
  1395. }, [
  1396. chaptersData,
  1397. lang,
  1398. scrollToTop,
  1399. selectedChapterId,
  1400. selectedTafsirIdOrSlug,
  1401. t
  1402. ]);
  1403. const onChapterIdChange = (newChapterId)=>{
  1404. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir_chapter_id", newChapterId);
  1405. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(newChapterId), Number(1), selectedTafsirIdOrSlug), lang);
  1406. setSelectedChapterId(newChapterId.toString());
  1407. setSelectedVerseNumber("1"); // reset verse number to 1 every time chapter changes
  1408. };
  1409. const onVerseNumberChange = (newVerseNumber)=>{
  1410. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_20__/* .logItemSelectionChange */ .u8)("tafsir_verse_number", newVerseNumber);
  1411. setSelectedVerseNumber(newVerseNumber);
  1412. (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .fakeNavigate */ ._V)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_22__/* .getVerseSelectedTafsirNavigationUrl */ .I8)(Number(selectedChapterId), Number(newVerseNumber), selectedTafsirIdOrSlug), lang);
  1413. };
  1414. const surahAndAyahSelection = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SurahAndAyahSelection__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
  1415. selectedChapterId: selectedChapterId,
  1416. selectedVerseNumber: selectedVerseNumber,
  1417. onChapterIdChange: onChapterIdChange,
  1418. onVerseNumberChange: onVerseNumberChange
  1419. });
  1420. const languageAndTafsirSelection = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_LanguageAndTafsirSelection__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
  1421. selectedTafsirIdOrSlug: selectedTafsirIdOrSlug,
  1422. selectedLanguage: selectedLanguage,
  1423. onTafsirSelected: onTafsirSelected,
  1424. onSelectLanguage: onLanguageSelected,
  1425. languageOptions: languageOptions,
  1426. data: tafsirSelectionList,
  1427. isLoading: isLoading
  1428. });
  1429. const body = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1430. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default().tafsirContainer), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_28___default())[`tafsir-font-size-${quranReaderStyles.tafsirFontScale}`]),
  1431. // disable browser translation for tafsir content
  1432. // @see {https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/translate}
  1433. translate: "no",
  1434. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
  1435. loading: _TafsirSkeleton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z,
  1436. queryKey: (0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_19__/* .makeTafsirContentUrl */ .Wy)(selectedTafsirIdOrSlug, selectedVerseKey, {
  1437. lang,
  1438. quranFont: quranReaderStyles.quranFont,
  1439. mushafLines: quranReaderStyles.mushafLines
  1440. }),
  1441. render: renderTafsir
  1442. })
  1443. });
  1444. return render({
  1445. surahAndAyahSelection,
  1446. languageAndTafsirSelection,
  1447. body
  1448. });
  1449. };
  1450. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirBody);
  1451. __webpack_async_result__();
  1452. } catch(e) { __webpack_async_result__(e); } });
  1453. /***/ }),
  1454. /***/ 52760:
  1455. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1456. "use strict";
  1457. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1458. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1459. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1460. /* harmony export */ });
  1461. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1462. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1463. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
  1464. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
  1465. /* harmony import */ var _TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40574);
  1466. /* harmony import */ var _TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3__);
  1467. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50497);
  1468. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__]);
  1469. _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  1470. const TafsirEndOfScrollingActions = ({ hasNextVerseGroup , hasPrevVerseGroup , onNextButtonClicked , onPreviousButtonClicked })=>{
  1471. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
  1472. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1473. className: (_TafsirEndOfScrollingActions_module_scss__WEBPACK_IMPORTED_MODULE_3___default().container),
  1474. children: [
  1475. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1476. children: hasPrevVerseGroup && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
  1477. type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonType.Secondary */ .L$.Secondary,
  1478. onClick: onPreviousButtonClicked,
  1479. children: t("previous-ayah")
  1480. })
  1481. }),
  1482. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1483. children: hasNextVerseGroup && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
  1484. type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_2__/* .ButtonType.Secondary */ .L$.Secondary,
  1485. onClick: onNextButtonClicked,
  1486. children: t("next-ayah")
  1487. })
  1488. })
  1489. ]
  1490. });
  1491. };
  1492. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirEndOfScrollingActions);
  1493. __webpack_async_result__();
  1494. } catch(e) { __webpack_async_result__(e); } });
  1495. /***/ }),
  1496. /***/ 78153:
  1497. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1498. "use strict";
  1499. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1500. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1501. /* harmony export */ });
  1502. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1503. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1504. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60866);
  1505. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1__);
  1506. /* harmony import */ var _TafsirMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32068);
  1507. const TafsirGroupMessage = ({ from , to })=>{
  1508. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_1___default()("common");
  1509. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TafsirMessage__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
  1510. children: t("tafsir.group-message", {
  1511. from,
  1512. to
  1513. })
  1514. });
  1515. };
  1516. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirGroupMessage);
  1517. /***/ }),
  1518. /***/ 32068:
  1519. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1520. "use strict";
  1521. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1522. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1523. /* harmony export */ });
  1524. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1525. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1526. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1527. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1528. /* harmony import */ var _TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43576);
  1529. /* harmony import */ var _TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2__);
  1530. const TafsirMessage = ({ children })=>{
  1531. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1532. className: (_TafsirMessage_module_scss__WEBPACK_IMPORTED_MODULE_2___default().tafsirMessage),
  1533. children: children
  1534. });
  1535. };
  1536. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirMessage);
  1537. /***/ }),
  1538. /***/ 1627:
  1539. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  1540. "use strict";
  1541. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1542. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1543. /* harmony export */ });
  1544. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1545. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1546. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
  1547. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
  1548. /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64042);
  1549. /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_2__);
  1550. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5293);
  1551. /* harmony import */ var _TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  1552. /* harmony import */ var _dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77048);
  1553. const TafsirSkeleton = ()=>{
  1554. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  1555. children: [
  1556. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1557. className: ((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem), (_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().ayahSekletonItem))
  1558. }),
  1559. lodash_range__WEBPACK_IMPORTED_MODULE_2___default()(1, 15).map((i)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1560. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem), {
  1561. [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem1)]: i % 1 === 0,
  1562. [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem2)]: i % 2 === 0,
  1563. [(_TafsirView_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tafsirSkeletonItem3)]: i % 3 === 0
  1564. })
  1565. }, i))
  1566. ]
  1567. });
  1568. };
  1569. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirSkeleton);
  1570. /***/ }),
  1571. /***/ 20301:
  1572. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1573. "use strict";
  1574. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1575. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1576. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1577. /* harmony export */ });
  1578. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1579. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1580. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1581. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1582. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
  1583. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
  1584. /* harmony import */ var _TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(99719);
  1585. /* harmony import */ var _TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9__);
  1586. /* harmony import */ var _dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12550);
  1587. /* harmony import */ var _dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18470);
  1588. /* harmony import */ var _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(19583);
  1589. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(62093);
  1590. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55943);
  1591. /* harmony import */ var types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(13591);
  1592. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__]);
  1593. ([_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__, _hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1594. /* eslint-disable react/no-danger */
  1595. const FONT_SIZE_CLASS_MAP = {
  1596. 1: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().xs),
  1597. 2: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().sm),
  1598. 3: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().md),
  1599. 4: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().lg),
  1600. 5: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().xl)
  1601. };
  1602. const TafsirText = ({ direction , languageCode , text })=>{
  1603. const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .selectQuranReaderStyles */ .Pt);
  1604. const { actions: { onSettingsChange } , isLoading , } = (0,_hooks_auth_usePersistPreferenceGroup__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)();
  1605. const { tafsirFontScale } = quranReaderStyles;
  1606. /**
  1607. * Persist settings in the DB if the user is logged in before dispatching
  1608. * Redux action, otherwise just dispatch it.
  1609. *
  1610. * @param {string} key
  1611. * @param {number} value
  1612. * @param {Action} action
  1613. */ const onTafsirsSettingsChange = (key, value, action, undoAction)=>{
  1614. onSettingsChange(key, value, action, undoAction, types_auth_PreferenceGroup__WEBPACK_IMPORTED_MODULE_8__/* ["default"].QURAN_READER_STYLES */ .Z.QURAN_READER_STYLES);
  1615. };
  1616. const onFontScaleDecreaseClicked = ()=>{
  1617. const newValue = tafsirFontScale - 1;
  1618. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__/* .logValueChange */ .Q8)("tafsir_font_scale", tafsirFontScale, newValue);
  1619. onTafsirsSettingsChange("tafsirFontScale", newValue, (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .decreaseTafsirFontScale */ .fT)(), (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .increaseTafsirFontScale */ .$U)());
  1620. };
  1621. const onFontScaleIncreaseClicked = ()=>{
  1622. const newValue = tafsirFontScale + 1;
  1623. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_7__/* .logValueChange */ .Q8)("tafsir_font_scale", tafsirFontScale, newValue);
  1624. onTafsirsSettingsChange("tafsirFontScale", newValue, (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .increaseTafsirFontScale */ .$U)(), (0,_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .decreaseTafsirFontScale */ .fT)());
  1625. };
  1626. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  1627. children: [
  1628. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1629. dir: direction,
  1630. className: (_TafsirText_module_scss__WEBPACK_IMPORTED_MODULE_9___default().counter),
  1631. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_SpinnerContainer__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  1632. isLoading: isLoading,
  1633. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Counter_Counter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  1634. count: tafsirFontScale,
  1635. onDecrement: tafsirFontScale === _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .MINIMUM_FONT_STEP */ .P0 ? null : onFontScaleDecreaseClicked,
  1636. onIncrement: tafsirFontScale === _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_6__/* .MAXIMUM_TAFSIR_FONT_STEP */ .Jf ? null : onFontScaleIncreaseClicked
  1637. })
  1638. })
  1639. }),
  1640. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1641. className: FONT_SIZE_CLASS_MAP[tafsirFontScale],
  1642. dir: direction,
  1643. lang: languageCode,
  1644. dangerouslySetInnerHTML: {
  1645. __html: text
  1646. }
  1647. })
  1648. ]
  1649. });
  1650. };
  1651. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TafsirText);
  1652. __webpack_async_result__();
  1653. } catch(e) { __webpack_async_result__(e); } });
  1654. /***/ }),
  1655. /***/ 23575:
  1656. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1657. "use strict";
  1658. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1659. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1660. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1661. /* harmony export */ });
  1662. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1663. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1664. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1665. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1666. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  1667. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  1668. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  1669. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  1670. /* harmony import */ var _FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(61821);
  1671. /* harmony import */ var _FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8__);
  1672. /* harmony import */ var _TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(68505);
  1673. /* harmony import */ var _TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_9__);
  1674. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50497);
  1675. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7190);
  1676. /* harmony import */ var _icons_close_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51053);
  1677. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24709);
  1678. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__]);
  1679. _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  1680. /* eslint-disable react/no-danger */
  1681. const FootnoteText = ({ footnoteName , footnote , onCloseClicked , onTextClicked , isLoading , })=>{
  1682. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("quran-reader");
  1683. const languageId = footnote?.languageId || (0,_utils_locale__WEBPACK_IMPORTED_MODULE_7__/* .findLanguageIdByLocale */ .zi)(lang);
  1684. const landData = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_7__/* .getLanguageDataById */ .j2)(languageId);
  1685. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1686. className: (_FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8___default().footnoteContainer),
  1687. children: [
  1688. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1689. className: (_FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8___default().header),
  1690. children: [
  1691. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
  1692. children: [
  1693. t("footnote"),
  1694. " ",
  1695. footnoteName ? `- ${footnoteName}` : null
  1696. ]
  1697. }),
  1698. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, {
  1699. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonSize.Small */ .qE.Small,
  1700. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  1701. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonShape.Circle */ .jL.Circle,
  1702. onClick: onCloseClicked,
  1703. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_close_svg__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {})
  1704. })
  1705. ]
  1706. }),
  1707. isLoading ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {}) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1708. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_FootnoteText_module_scss__WEBPACK_IMPORTED_MODULE_8___default().text), (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_9___default())[landData.direction], (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_9___default())[landData.font]),
  1709. dangerouslySetInnerHTML: {
  1710. __html: footnote.text
  1711. },
  1712. ...onTextClicked && {
  1713. onClick: onTextClicked
  1714. }
  1715. })
  1716. ]
  1717. });
  1718. };
  1719. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FootnoteText);
  1720. __webpack_async_result__();
  1721. } catch(e) { __webpack_async_result__(e); } });
  1722. /***/ }),
  1723. /***/ 18809:
  1724. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1725. "use strict";
  1726. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1727. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1728. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1729. /* harmony export */ });
  1730. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1731. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1732. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  1733. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  1734. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  1735. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  1736. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  1737. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  1738. /* harmony import */ var _FootnoteText__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23575);
  1739. /* harmony import */ var _TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68505);
  1740. /* harmony import */ var _TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8__);
  1741. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55943);
  1742. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24709);
  1743. /* harmony import */ var src_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(92684);
  1744. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_FootnoteText__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__]);
  1745. ([_FootnoteText__WEBPACK_IMPORTED_MODULE_4__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  1746. /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */ /* eslint-disable react/no-danger */
  1747. const TranslationText = ({ translationFontScale , text , languageId , resourceName , })=>{
  1748. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()("quran-reader");
  1749. const { 0: isLoading , 1: setIsLoading } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  1750. const { 0: showFootnote , 1: setShowFootnote } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);
  1751. const { 0: footnote , 1: setFootnote } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
  1752. const { 0: activeFootnoteName , 1: setActiveFootnoteName } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
  1753. const { 0: activeSubFootnoteName , 1: setActiveSubFootnoteName } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
  1754. const { 0: subFootnote , 1: setSubFootnote } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);
  1755. const PRE_DEFINED_FOOTNOTES = {
  1756. sg: t("footnote-sg"),
  1757. pl: t("footnote-pl"),
  1758. dl: t("footnote-dl")
  1759. };
  1760. const resetFootnote = ()=>{
  1761. setFootnote(null);
  1762. setSubFootnote(null);
  1763. setIsLoading(false);
  1764. setActiveFootnoteName(null);
  1765. setActiveSubFootnoteName(null);
  1766. };
  1767. const resetSubFootnote = ()=>{
  1768. setSubFootnote(null);
  1769. setActiveSubFootnoteName(null);
  1770. };
  1771. /**
  1772. * Handle when the translation text is clicked. This is needed to handle when a footnote
  1773. * is clicked since we receive the translation text as HTML from BE. Any footnote will
  1774. * be inside an <sup>...</sup> element. so when the translation container is clicked
  1775. * we check whether the clicked element is of tag name SUP and if so, we handle showing the
  1776. * footnote as following:
  1777. *
  1778. * 1. If it's not a sub-footnote (a footnote inside a footnote) which is all translations
  1779. * except Bridge's Foundation translation:
  1780. * 1. check if the sup element has foot_note attribute (the ID) and if it has:
  1781. * 1. Check if we already have a footnote in the local state with the same ID:
  1782. * 1. if yes, it means this is the second time the user clicks on the
  1783. * footnote so we should close the footnote.
  1784. * 2. if no, it means we need to call BE to fetch the footnote text by its ID.
  1785. * 2. if not, it means it's a pre-defined footnote and in this case, we access the text
  1786. * inside the element and check if it's in the list of pre-defined footnotes and if it
  1787. * is, we get the value from the pre-defined footnotes and assign it as the footnote
  1788. * text without having to call BE (only happens with Bridge's Foundation translation)
  1789. * 2. If it's a sub-footnote it will only have pre-defined footnotes so we handle it the same
  1790. * way as above (only happens with Bridge's Foundation translation, ex: Surah 30, Verse 11).
  1791. *
  1792. * @param {MouseEvent} event
  1793. * @param {boolean} isSubFootnote whether we are handling a footnote or a sub-footnote (only happens
  1794. * with Bridge's Foundation translation).
  1795. */ const onTextClicked = (event, isSubFootnote = false)=>{
  1796. const target = event.target;
  1797. // if we just clicked on anything other than a footnote element, return early.
  1798. if (target.tagName !== "SUP") {
  1799. return;
  1800. }
  1801. // we get the text inside the sup element and trim the extra spaces.
  1802. const footnoteText = target.innerText.trim();
  1803. // if it's the main footnote and not the sub footnote.
  1804. if (!isSubFootnote) {
  1805. const footNoteId = target.getAttribute("foot_note");
  1806. // Set the activeFootnoteNumber to the current number of the footnote from the <sup> innerHTML
  1807. setActiveFootnoteName(footnoteText);
  1808. // if it's the normal case that needs us to call BE and not a fixed footnote like the ones found for Bridge's translation.
  1809. if (footNoteId) {
  1810. // if this is the second time to click the footnote, close it
  1811. if (showFootnote && footnote && footnote.id === Number(footNoteId)) {
  1812. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_footnote_double_click_to_close");
  1813. resetFootnote();
  1814. } else {
  1815. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_show_footnote");
  1816. resetSubFootnote();
  1817. setShowFootnote(true);
  1818. setIsLoading(true);
  1819. (0,src_api__WEBPACK_IMPORTED_MODULE_7__/* .getFootnote */ .ei)(footNoteId).then((res)=>{
  1820. if (res.status !== 500) {
  1821. setFootnote(res.footNote);
  1822. }
  1823. }).finally(()=>{
  1824. setIsLoading(false);
  1825. });
  1826. }
  1827. } else if (footnote && footnote.id === footnoteText) {
  1828. // if this is the second time we are clicking on the footnote, we close it.
  1829. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_pre_defined_footnote_double_click_to_close");
  1830. resetFootnote();
  1831. } else if (PRE_DEFINED_FOOTNOTES[footnoteText]) {
  1832. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_pre_defined_footnote");
  1833. resetSubFootnote();
  1834. setFootnote({
  1835. id: footnoteText,
  1836. text: PRE_DEFINED_FOOTNOTES[footnoteText]
  1837. });
  1838. }
  1839. } else {
  1840. // Set the activeSubFootnoteNumber to the current number of the footnote from the <sup> innerHTML
  1841. setActiveSubFootnoteName(footnoteText);
  1842. const subFootnoteId = `${footnote.id} - ${footnoteText}`;
  1843. // if this is the second time we are clicking on the sub footnote, we close it.
  1844. if (subFootnote && subFootnote.id === subFootnoteId) {
  1845. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_sub_footnote_double_click_to_close");
  1846. resetSubFootnote();
  1847. } else if (PRE_DEFINED_FOOTNOTES[footnoteText]) {
  1848. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_show_sub_footnote");
  1849. setSubFootnote({
  1850. id: subFootnoteId,
  1851. text: PRE_DEFINED_FOOTNOTES[footnoteText]
  1852. });
  1853. }
  1854. }
  1855. };
  1856. const hideFootnote = ()=>setShowFootnote(false);
  1857. const langData = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_6__/* .getLanguageDataById */ .j2)(languageId);
  1858. const shouldShowFootnote = showFootnote && (footnote || isLoading);
  1859. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1860. className: (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default())[`translation-font-size-${translationFontScale}`],
  1861. children: [
  1862. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1863. onClick: (event)=>onTextClicked(event),
  1864. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default().text), (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default())[langData.direction], (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default())[langData.font]),
  1865. dangerouslySetInnerHTML: {
  1866. __html: text
  1867. }
  1868. }),
  1869. shouldShowFootnote && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_FootnoteText__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  1870. footnoteName: activeFootnoteName || undefined,
  1871. footnote: footnote,
  1872. isLoading: isLoading,
  1873. onCloseClicked: ()=>{
  1874. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_5__/* .logButtonClick */ .MY)("translation_footnote_close");
  1875. if (isLoading) {
  1876. hideFootnote();
  1877. } else {
  1878. resetFootnote();
  1879. }
  1880. },
  1881. onTextClicked: (event)=>onTextClicked(event, true)
  1882. }),
  1883. subFootnote && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_FootnoteText__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  1884. footnoteName: activeSubFootnoteName || undefined,
  1885. footnote: subFootnote,
  1886. onCloseClicked: resetSubFootnote
  1887. }),
  1888. resourceName && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("p", {
  1889. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default().translationName), (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default())[langData.direction], (_TranslationText_module_scss__WEBPACK_IMPORTED_MODULE_8___default())[langData.font]),
  1890. children: [
  1891. "— ",
  1892. resourceName
  1893. ]
  1894. })
  1895. ]
  1896. });
  1897. };
  1898. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationText);
  1899. __webpack_async_result__();
  1900. } catch(e) { __webpack_async_result__(e); } });
  1901. /***/ }),
  1902. /***/ 80587:
  1903. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  1904. "use strict";
  1905. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  1906. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1907. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  1908. /* harmony export */ });
  1909. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  1910. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  1911. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
  1912. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
  1913. /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64042);
  1914. /* harmony import */ var lodash_range__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_range__WEBPACK_IMPORTED_MODULE_2__);
  1915. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
  1916. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
  1917. /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(40608);
  1918. /* harmony import */ var _TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11__);
  1919. /* harmony import */ var _TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(24791);
  1920. /* harmony import */ var _TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12__);
  1921. /* harmony import */ var _components_Verse_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(29702);
  1922. /* harmony import */ var _components_Verse_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_components_Verse_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_13__);
  1923. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50497);
  1924. /* harmony import */ var _dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77048);
  1925. /* harmony import */ var _hooks_useGetQueryParamOrReduxValue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80211);
  1926. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62093);
  1927. /* harmony import */ var _utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(64198);
  1928. /* harmony import */ var types_QueryParam__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(11721);
  1929. /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(50467);
  1930. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__]);
  1931. _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  1932. const TRANSLATION_TEXT_SAMPLE = "He has revealed to you ˹O Prophet˺ the Book in truth, confirming what came before it, as He revealed the Torah and the Gospel";
  1933. const TRANSLATION_AUTHOR_SAMPLE = "— Dr. Mustafa Khattab, the Clear Quran";
  1934. const TranslationViewCellSkeleton = ({ hasActionMenuItems =true })=>{
  1935. const { value: selectedTranslations } = (0,_hooks_useGetQueryParamOrReduxValue__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(types_QueryParam__WEBPACK_IMPORTED_MODULE_9__/* ["default"].Translations */ .Z.Translations);
  1936. const { quranFont , quranTextFontScale , translationFontScale , mushafLines } = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_7__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_3__.shallowEqual);
  1937. const isTajweedFont = quranFont === types_QuranReader__WEBPACK_IMPORTED_MODULE_10__/* .QuranFont.Tajweed */ .fr.Tajweed;
  1938. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1939. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().cellContainer), (_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default().cellContainer)),
  1940. children: [
  1941. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1942. className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().actionContainer),
  1943. children: [
  1944. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1945. className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().actionContainerLeft),
  1946. children: lodash_range__WEBPACK_IMPORTED_MODULE_2___default()(0, 4).map((index)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1947. className: (_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default().actionItem),
  1948. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, {
  1949. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonSize.Small */ .qE.Small
  1950. })
  1951. }, index))
  1952. }),
  1953. hasActionMenuItems && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1954. className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().actionContainerRight),
  1955. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1956. className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().actionItem),
  1957. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, {
  1958. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_4__/* .ButtonSize.Small */ .qE.Small
  1959. })
  1960. })
  1961. })
  1962. ]
  1963. }),
  1964. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  1965. className: (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().contentContainer),
  1966. children: [
  1967. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1968. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default().verseContainer), (_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().arabicVerseContainer), {
  1969. [(_components_Verse_VerseText_module_scss__WEBPACK_IMPORTED_MODULE_13___default())[(0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_8__/* .getFontClassName */ .bZ)(quranFont, quranTextFontScale, mushafLines)]]: !isTajweedFont
  1970. })
  1971. }),
  1972. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1973. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().verseTranslationsContainer), (_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default())[`translation-font-size-${translationFontScale}`]),
  1974. children: selectedTranslations.map((translation)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
  1975. children: [
  1976. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1977. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1978. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default().translationText)),
  1979. children: TRANSLATION_TEXT_SAMPLE
  1980. })
  1981. }),
  1982. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  1983. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Skeleton_Skeleton__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  1984. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_TranslationViewSkeleton_module_scss__WEBPACK_IMPORTED_MODULE_12___default().translationAuthor)),
  1985. children: TRANSLATION_AUTHOR_SAMPLE
  1986. })
  1987. })
  1988. ]
  1989. }, translation))
  1990. })
  1991. ]
  1992. })
  1993. ]
  1994. });
  1995. };
  1996. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TranslationViewCellSkeleton);
  1997. __webpack_async_result__();
  1998. } catch(e) { __webpack_async_result__(e); } });
  1999. /***/ }),
  2000. /***/ 94082:
  2001. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  2002. "use strict";
  2003. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2004. /* harmony export */ "FW": () => (/* binding */ getOptions),
  2005. /* harmony export */ "NM": () => (/* binding */ QURAN_READER_OBSERVER_ID),
  2006. /* harmony export */ "s$": () => (/* binding */ getObservedVersePayload),
  2007. /* harmony export */ "yG": () => (/* binding */ REFLECTIONS_OBSERVER_ID)
  2008. /* harmony export */ });
  2009. /**
  2010. * The top -131.6px was calculated based on:
  2011. *
  2012. * 1. the height of emptySpacePlaceholder of navbar (3.6rem).
  2013. * 2. the top padding of the QuranReader container (2rem).
  2014. * 3. the top and bottom margin of the ReadingPreferenceSwitcher container (1.625rem).
  2015. * 4. the top margin of the TranslationView container (1rem).
  2016. *
  2017. * and the total is 8.225rem around 131.6 pixels.
  2018. */ const DEFAULT_ROOT_MARGIN = "-131.6px 0px -68% 0px";
  2019. const OBSERVER_THRESHOLD = 0.1;
  2020. const QURAN_READER_OBSERVER_ID = "quranReaderObserver";
  2021. const REFLECTIONS_OBSERVER_ID = "reflectionsObserver";
  2022. /**
  2023. * the top -115.6px was calculated based on:
  2024. *
  2025. * 1. the height of emptySpacePlaceholder of navbar (3.6rem).
  2026. * 2. the top padding of the QuranReader container (2rem).
  2027. * 3. the top and bottom margin of the ReadingPreferenceSwitcher container (1.625rem).
  2028. *
  2029. * and the total is 7.225rem around 115.6 pixels.
  2030. */ const READING_MODE_ROOT_MARGIN = "-115.6px 0px -70% 0px";
  2031. /**
  2032. * Get the observer options based on the reading preference.
  2033. *
  2034. * @param {boolean} isReadingPreference
  2035. * @returns {{rootMargin: string, threshold: number | number[]}}
  2036. */ const getOptions = (isReadingPreference)=>({
  2037. rootMargin: isReadingPreference ? READING_MODE_ROOT_MARGIN : DEFAULT_ROOT_MARGIN,
  2038. threshold: OBSERVER_THRESHOLD
  2039. });
  2040. /**
  2041. * Get the payload that will be dispatched to Redux to set the last read verse.
  2042. *
  2043. * @param {Element} element
  2044. * @returns {{verseKey: string,chapterId: string,page: string,hizb: string}}
  2045. */ const getObservedVersePayload = (element)=>({
  2046. verseKey: element.getAttribute("data-verse-key"),
  2047. chapterId: element.getAttribute("data-chapter-id"),
  2048. page: element.getAttribute("data-page"),
  2049. hizb: element.getAttribute("data-hizb")
  2050. });
  2051. /***/ }),
  2052. /***/ 35527:
  2053. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2054. "use strict";
  2055. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2056. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2057. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2058. /* harmony export */ });
  2059. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2060. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2061. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2062. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2063. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  2064. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  2065. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96954);
  2066. /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dynamic__WEBPACK_IMPORTED_MODULE_3__);
  2067. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  2068. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  2069. /* harmony import */ var _QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(40608);
  2070. /* harmony import */ var _QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11__);
  2071. /* harmony import */ var _OverflowVerseActionsMenuBody_module_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(89019);
  2072. /* harmony import */ var _OverflowVerseActionsMenuBody_module_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_OverflowVerseActionsMenuBody_module_scss__WEBPACK_IMPORTED_MODULE_10__);
  2073. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50497);
  2074. /* harmony import */ var _dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(99163);
  2075. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7190);
  2076. /* harmony import */ var _icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80275);
  2077. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55943);
  2078. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__]);
  2079. ([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__, _dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_6__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  2080. /* eslint-disable react/no-multi-comp */
  2081. const OverflowVerseActionsMenuBody = next_dynamic__WEBPACK_IMPORTED_MODULE_3___default()(null, {
  2082. loadableGenerated: {
  2083. modules: [
  2084. "../components/Verse/OverflowVerseActionsMenu.tsx -> " + "./OverflowVerseActionsMenuBody"
  2085. ]
  2086. },
  2087. ssr: false,
  2088. loading: ()=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {})
  2089. });
  2090. const OverflowVerseActionsMenu = ({ verse , isTranslationView =true , onActionTriggered , bookmarksRangeUrl , })=>{
  2091. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
  2092. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  2093. className: (_OverflowVerseActionsMenuBody_module_scss__WEBPACK_IMPORTED_MODULE_10___default().container),
  2094. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  2095. trigger: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
  2096. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSize.Small */ .qE.Small,
  2097. tooltip: t("more"),
  2098. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2099. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonShape.Circle */ .jL.Circle,
  2100. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().iconContainer), (_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().verseAction), {
  2101. [(_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().fadedVerseAction)]: isTranslationView
  2102. }, "overflow-verse-actions-menu-trigger"),
  2103. ariaLabel: t("more"),
  2104. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  2105. className: (_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_11___default().icon),
  2106. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
  2107. })
  2108. }),
  2109. isModal: true,
  2110. isPortalled: true,
  2111. onOpenChange: (open)=>{
  2112. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logEvent */ .Kz)(`${isTranslationView ? "translation_view" : "reading_view"}_verse_actions_menu_${open ? "open" : "close"}`);
  2113. },
  2114. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(OverflowVerseActionsMenuBody, {
  2115. verse: verse,
  2116. isTranslationView: isTranslationView,
  2117. onActionTriggered: onActionTriggered,
  2118. bookmarksRangeUrl: bookmarksRangeUrl
  2119. })
  2120. })
  2121. });
  2122. };
  2123. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OverflowVerseActionsMenu);
  2124. __webpack_async_result__();
  2125. } catch(e) { __webpack_async_result__(e); } });
  2126. /***/ }),
  2127. /***/ 70256:
  2128. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2129. "use strict";
  2130. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2131. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2132. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2133. /* harmony export */ });
  2134. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2135. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2136. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2137. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2138. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59456);
  2139. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_2__);
  2140. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  2141. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  2142. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(60866);
  2143. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4__);
  2144. /* harmony import */ var _QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(40608);
  2145. /* harmony import */ var _QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19__);
  2146. /* harmony import */ var _components_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7190);
  2147. /* harmony import */ var _components_Onboarding_OnboardingChecklist_hooks_OnboardingEvent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(74008);
  2148. /* harmony import */ var _components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51879);
  2149. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(50497);
  2150. /* harmony import */ var _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(93134);
  2151. /* harmony import */ var _icons_play_outline_svg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(68973);
  2152. /* harmony import */ var _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(20661);
  2153. /* harmony import */ var _types_QueryParam__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(11721);
  2154. /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(95892);
  2155. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(55943);
  2156. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(44519);
  2157. /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(70813);
  2158. /* harmony import */ var src_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(16119);
  2159. /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(64564);
  2160. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_14__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_18__]);
  2161. ([_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_7__, _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__, _hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_9__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_14__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_18__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  2162. const PlayVerseAudioButton = ({ verseKey , isTranslationView =true , onActionTriggered , })=>{
  2163. const audioService = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_18__/* .AudioPlayerMachineContext */ .c);
  2164. const { t } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_4___default()("common");
  2165. const { value: reciterId , isQueryParamDifferent: reciterQueryParamDifferent , } = (0,_hooks_useGetQueryParamOrXstateValue__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)(_types_QueryParam__WEBPACK_IMPORTED_MODULE_12__/* ["default"].Reciter */ .Z.Reciter);
  2166. const isVisible = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>state.matches("VISIBLE"));
  2167. const { isActive , activeStepGroup , nextStep } = (0,_components_Onboarding_OnboardingProvider__WEBPACK_IMPORTED_MODULE_7__/* .useOnboarding */ .P)();
  2168. const isVerseLoading = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>(0,src_xstate_actors_audioPlayer_selectors__WEBPACK_IMPORTED_MODULE_17__/* .selectIsVerseLoading */ .eU)(state, verseKey));
  2169. const chapterId = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_15__/* .getChapterNumberFromKey */ .Tc)(verseKey);
  2170. const verseNumber = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_15__/* .getVerseNumberFromKey */ .tR)(verseKey);
  2171. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z);
  2172. const chapterData = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_13__/* .getChapterData */ .dy)(chaptersData, chapterId.toString());
  2173. const onPlayClicked = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
  2174. // eslint-disable-next-line i18next/no-literal-string
  2175. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_14__/* .logButtonClick */ .MY)(`${isTranslationView ? "translation_view" : "reading_view"}_play_verse`);
  2176. audioService.send({
  2177. type: "PLAY_AYAH",
  2178. surah: chapterId,
  2179. ayahNumber: verseNumber,
  2180. reciterId: reciterQueryParamDifferent ? reciterId : undefined
  2181. });
  2182. if (onActionTriggered) {
  2183. onActionTriggered();
  2184. }
  2185. // if the user clicks on the play button while the onboarding is active, we should automatically go to the next step
  2186. if (isActive && activeStepGroup === _types_OnboardingGroup__WEBPACK_IMPORTED_MODULE_11__/* ["default"].READING_EXPERIENCE */ .Z.READING_EXPERIENCE && isVisible) {
  2187. // audio player menu item step
  2188. nextStep();
  2189. }
  2190. }, [
  2191. activeStepGroup,
  2192. audioService,
  2193. chapterId,
  2194. isActive,
  2195. isTranslationView,
  2196. isVisible,
  2197. nextStep,
  2198. onActionTriggered,
  2199. reciterId,
  2200. reciterQueryParamDifferent,
  2201. verseNumber,
  2202. ]);
  2203. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  2204. const handlePlayAudioStep = ()=>{
  2205. onPlayClicked();
  2206. };
  2207. window.addEventListener(_components_Onboarding_OnboardingChecklist_hooks_OnboardingEvent__WEBPACK_IMPORTED_MODULE_6__/* ["default"].STEP_AFTER_PLAY_AUDIO_CLICK */ .Z.STEP_AFTER_PLAY_AUDIO_CLICK, handlePlayAudioStep);
  2208. return ()=>{
  2209. window.removeEventListener(_components_Onboarding_OnboardingChecklist_hooks_OnboardingEvent__WEBPACK_IMPORTED_MODULE_6__/* ["default"].STEP_AFTER_PLAY_AUDIO_CLICK */ .Z.STEP_AFTER_PLAY_AUDIO_CLICK, handlePlayAudioStep);
  2210. };
  2211. }, [
  2212. nextStep,
  2213. onPlayClicked
  2214. ]);
  2215. if (isVerseLoading) {
  2216. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .ZP, {
  2217. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonSize.Small */ .qE.Small,
  2218. tooltip: t("loading"),
  2219. type: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonType.Success */ .L$.Success,
  2220. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonShape.Circle */ .jL.Circle,
  2221. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2222. className: "play-audio-button" // this class is for onboarding
  2223. ,
  2224. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
  2225. });
  2226. }
  2227. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .ZP, {
  2228. size: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonSize.Small */ .qE.Small,
  2229. tooltip: t("audio.player.play"),
  2230. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2231. onClick: onPlayClicked,
  2232. shouldFlipOnRTL: false,
  2233. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_8__/* .ButtonShape.Circle */ .jL.Circle,
  2234. id: "play-verse-button" // this ID is for onboarding
  2235. ,
  2236. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default().iconContainer), (_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default().verseAction), {
  2237. [(_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default().fadedVerseAction)]: isTranslationView
  2238. }),
  2239. ariaLabel: t("aria.play-surah", {
  2240. surahName: chapterData.transliteratedName
  2241. }),
  2242. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  2243. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default().icon), (_QuranReader_TranslationView_TranslationViewCell_module_scss__WEBPACK_IMPORTED_MODULE_19___default().playIcon)),
  2244. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_play_outline_svg__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {})
  2245. })
  2246. });
  2247. };
  2248. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlayVerseAudioButton);
  2249. __webpack_async_result__();
  2250. } catch(e) { __webpack_async_result__(e); } });
  2251. /***/ }),
  2252. /***/ 66606:
  2253. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2254. "use strict";
  2255. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2256. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2257. /* harmony export */ "S": () => (/* binding */ ContentModalSize),
  2258. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2259. /* harmony export */ });
  2260. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2261. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2262. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2263. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2264. /* harmony import */ var _radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77715);
  2265. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  2266. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  2267. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71853);
  2268. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_4__);
  2269. /* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50497);
  2270. /* harmony import */ var _ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(19426);
  2271. /* harmony import */ var _ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8__);
  2272. /* harmony import */ var _icons_close_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51053);
  2273. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24709);
  2274. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__, _Button_Button__WEBPACK_IMPORTED_MODULE_5__]);
  2275. ([_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__, _Button_Button__WEBPACK_IMPORTED_MODULE_5__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  2276. var ContentModalSize;
  2277. (function(ContentModalSize) {
  2278. ContentModalSize["SMALL"] = "small";
  2279. ContentModalSize["MEDIUM"] = "medium";
  2280. })(ContentModalSize || (ContentModalSize = {}));
  2281. const SCROLLBAR_WIDTH = 15;
  2282. const ContentModal = ({ isOpen , onClose , onEscapeKeyDown , hasCloseButton , children , header , innerRef , contentClassName , size =ContentModalSize.MEDIUM , isFixedHeight , hasHeader =true })=>{
  2283. const overlayRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)();
  2284. const { locale } = (0,next_router__WEBPACK_IMPORTED_MODULE_4__.useRouter)();
  2285. (0,react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle)(innerRef, ()=>({
  2286. scrollToTop: ()=>{
  2287. if (overlayRef.current) overlayRef.current.scrollTop = 0;
  2288. }
  2289. }));
  2290. /**
  2291. * We need to manually check what the user is targeting. If it lies at the
  2292. * area where the scroll bar is (assuming the scrollbar width is equivalent
  2293. * to SCROLLBAR_WIDTH), then we don't close the Modal, otherwise we do.
  2294. * We also need to check if the current locale is RTL or LTR because the side
  2295. * where the scrollbar is will be different and therefor the value of
  2296. * {e.detail.originalEvent.offsetX} will be different.
  2297. *
  2298. * inspired by {@see https://github.com/radix-ui/primitives/issues/1280#issuecomment-1198248523}
  2299. *
  2300. * @param {any} e
  2301. */ const onPointerDownOutside = (e)=>{
  2302. const currentTarget = e.currentTarget;
  2303. const shouldPreventOnClose = (0,_utils_locale__WEBPACK_IMPORTED_MODULE_7__/* .isRTLLocale */ .iS)(locale) ? e.detail.originalEvent.offsetX < SCROLLBAR_WIDTH // left side of the screen clicked
  2304. : e.detail.originalEvent.offsetX > currentTarget.clientWidth - SCROLLBAR_WIDTH; // right side of the screen clicked
  2305. if (shouldPreventOnClose) {
  2306. e.preventDefault();
  2307. return;
  2308. }
  2309. if (onClose) {
  2310. onClose();
  2311. }
  2312. };
  2313. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__.Root, {
  2314. open: isOpen,
  2315. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__.Portal, {
  2316. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__.Overlay, {
  2317. className: (_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().overlay),
  2318. ref: overlayRef,
  2319. children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__.Content, {
  2320. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().contentWrapper), {
  2321. [contentClassName]: contentClassName,
  2322. [(_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().small)]: size === ContentModalSize.SMALL,
  2323. [(_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().medium)]: size === ContentModalSize.MEDIUM,
  2324. [(_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().autoHeight)]: !isFixedHeight
  2325. }),
  2326. onEscapeKeyDown: onEscapeKeyDown,
  2327. onPointerDownOutside: onPointerDownOutside,
  2328. children: [
  2329. hasHeader && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  2330. className: (_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().header),
  2331. children: [
  2332. hasCloseButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_dialog__WEBPACK_IMPORTED_MODULE_2__.Close, {
  2333. className: (_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().closeIcon),
  2334. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .ZP, {
  2335. variant: _Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2336. shape: _Button_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonShape.Circle */ .jL.Circle,
  2337. onClick: onClose,
  2338. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_close_svg__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {})
  2339. })
  2340. }),
  2341. header
  2342. ]
  2343. }),
  2344. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  2345. className: (_ContentModal_module_scss__WEBPACK_IMPORTED_MODULE_8___default().content),
  2346. children: children
  2347. })
  2348. ]
  2349. })
  2350. })
  2351. })
  2352. });
  2353. };
  2354. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ContentModal);
  2355. __webpack_async_result__();
  2356. } catch(e) { __webpack_async_result__(e); } });
  2357. /***/ }),
  2358. /***/ 12550:
  2359. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2360. "use strict";
  2361. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2362. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2363. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2364. /* harmony export */ });
  2365. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2366. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2367. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2368. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2369. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  2370. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  2371. /* harmony import */ var _Counter_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(16962);
  2372. /* harmony import */ var _Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7__);
  2373. /* harmony import */ var _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50497);
  2374. /* harmony import */ var _icons_minus_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49039);
  2375. /* harmony import */ var _icons_plus_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4474);
  2376. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24709);
  2377. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__]);
  2378. _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  2379. /**
  2380. *
  2381. * @param {CounterProps} props - the props of the this component
  2382. * @param {number} props.count - the current count
  2383. * @param {() => void} props.onIncrement - the function to call when the increment button is clicked.
  2384. * Button is disabled when the value is `undefined` or `null`
  2385. * @param {() => void} props.onDecrement - the function to call when the decrement button is clicked.
  2386. * Button is disabled when the value is `undefined` or `null`
  2387. * @returns {JSX.Element}
  2388. */ const Counter = ({ count , onIncrement , onDecrement })=>{
  2389. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()("common");
  2390. const localizedCount = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_utils_locale__WEBPACK_IMPORTED_MODULE_6__/* .toLocalizedNumber */ .rQ)(Number(count), lang), [
  2391. count,
  2392. lang
  2393. ]);
  2394. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  2395. className: (_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default().container),
  2396. children: [
  2397. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
  2398. tooltip: t("counter.decrease"),
  2399. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
  2400. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2401. isDisabled: !onDecrement,
  2402. onClick: onDecrement,
  2403. ariaLabel: t("counter.decrease"),
  2404. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_minus_svg__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
  2405. }),
  2406. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  2407. className: (_Counter_module_scss__WEBPACK_IMPORTED_MODULE_7___default().count),
  2408. children: localizedCount
  2409. }),
  2410. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
  2411. tooltip: t("counter.increase"),
  2412. variant: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  2413. shape: _dls_Button_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonShape.Circle */ .jL.Circle,
  2414. isDisabled: !onIncrement,
  2415. onClick: onIncrement,
  2416. ariaLabel: t("counter.increase"),
  2417. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_plus_svg__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
  2418. })
  2419. ]
  2420. });
  2421. };
  2422. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Counter);
  2423. __webpack_async_result__();
  2424. } catch(e) { __webpack_async_result__(e); } });
  2425. /***/ }),
  2426. /***/ 58087:
  2427. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  2428. "use strict";
  2429. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2430. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
  2431. /* harmony export */ "h": () => (/* binding */ SelectSize)
  2432. /* harmony export */ });
  2433. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2434. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2435. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2436. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2437. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59003);
  2438. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
  2439. /* harmony import */ var _Select_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(40458);
  2440. /* harmony import */ var _Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  2441. /* harmony import */ var _icons_caret_down_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(85970);
  2442. var SelectSize;
  2443. (function(SelectSize) {
  2444. SelectSize["Small"] = "small";
  2445. SelectSize["Medium"] = "medium";
  2446. SelectSize["Large"] = "large";
  2447. })(SelectSize || (SelectSize = {}));
  2448. const Select = ({ name , id , onChange , options , value , disabled =false , required =false , size =SelectSize.Medium , placeholder ="Select an option" , defaultStyle =true , className , withBackground =true , })=>{
  2449. const onSelectChange = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((e)=>{
  2450. if (onChange) {
  2451. onChange(e.target.value);
  2452. }
  2453. }, [
  2454. onChange
  2455. ]);
  2456. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  2457. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().container), {
  2458. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().defaultStyledContainer)]: defaultStyle,
  2459. [className]: className,
  2460. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledContainer)]: disabled,
  2461. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().smallContainer)]: size === SelectSize.Small,
  2462. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().mediumContainer)]: size === SelectSize.Medium,
  2463. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().largeContainer)]: size === SelectSize.Large,
  2464. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().withBackground)]: withBackground
  2465. }),
  2466. children: [
  2467. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
  2468. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().select), {
  2469. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().defaultStyledSelect)]: defaultStyle,
  2470. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledSelect)]: disabled
  2471. }),
  2472. name: name,
  2473. id: id,
  2474. onChange: onSelectChange,
  2475. disabled: disabled,
  2476. required: required,
  2477. ...value ? {
  2478. value
  2479. } : {
  2480. defaultValue: ""
  2481. },
  2482. children: [
  2483. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("option", {
  2484. value: "",
  2485. disabled: true,
  2486. hidden: true,
  2487. children: placeholder
  2488. }),
  2489. options.map((option)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("option", {
  2490. value: option.value,
  2491. disabled: option.disabled || false,
  2492. children: option.label
  2493. }, option.value))
  2494. ]
  2495. }),
  2496. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  2497. className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().arrow), {
  2498. [(_Select_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabledArrow)]: disabled
  2499. }),
  2500. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_caret_down_svg__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {})
  2501. })
  2502. ]
  2503. });
  2504. };
  2505. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Select);
  2506. /***/ }),
  2507. /***/ 74306:
  2508. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2509. "use strict";
  2510. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2511. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2512. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2513. /* harmony export */ });
  2514. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2515. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2516. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2517. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2518. /* harmony import */ var _dls_Popover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25914);
  2519. /* harmony import */ var _dls_Tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8884);
  2520. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_dls_Popover__WEBPACK_IMPORTED_MODULE_2__, _dls_Tooltip__WEBPACK_IMPORTED_MODULE_3__]);
  2521. ([_dls_Popover__WEBPACK_IMPORTED_MODULE_2__, _dls_Tooltip__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  2522. /**
  2523. * A component that combines the functionality of a Popover and a Tooltip together.
  2524. * This is needed to handle the case when we want to show a Tooltip on mobile but
  2525. * since Tooltip is only hoverable and there is no hovering on mobile devices,
  2526. * we provide the same functionality by using a Popover which handles clicking.
  2527. *
  2528. * @param {Props} props
  2529. * @returns {JSX.Element}
  2530. */ const HoverablePopover = ({ content , children , onOpenChange , contentSide =_dls_Popover__WEBPACK_IMPORTED_MODULE_2__/* .ContentSide.TOP */ .iw.TOP , tip =true , tooltipDelay =0 , defaultStyling =true , isOpen , triggerStyles , isContainerSpan =false })=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Popover__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, {
  2531. open: isOpen,
  2532. triggerStyles: triggerStyles,
  2533. contentSide: contentSide,
  2534. useTooltipStyles: true,
  2535. ...onOpenChange && {
  2536. onOpenChange
  2537. },
  2538. defaultStyling: defaultStyling,
  2539. isContainerSpan: isContainerSpan,
  2540. trigger: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Tooltip__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {
  2541. open: isOpen,
  2542. tip: tip,
  2543. text: content,
  2544. contentSide: contentSide,
  2545. delay: tooltipDelay,
  2546. ...onOpenChange && {
  2547. onOpenChange
  2548. },
  2549. children: children
  2550. }),
  2551. tip: tip,
  2552. children: content
  2553. });
  2554. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HoverablePopover);
  2555. __webpack_async_result__();
  2556. } catch(e) { __webpack_async_result__(e); } });
  2557. /***/ }),
  2558. /***/ 25914:
  2559. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2560. "use strict";
  2561. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2562. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2563. /* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
  2564. /* harmony export */ "iw": () => (/* binding */ ContentSide)
  2565. /* harmony export */ });
  2566. /* unused harmony export ContentAlign */
  2567. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2568. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2569. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2570. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2571. /* harmony import */ var _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98680);
  2572. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  2573. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  2574. /* harmony import */ var _Popover_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29267);
  2575. /* harmony import */ var _Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  2576. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__]);
  2577. _radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  2578. var ContentSide;
  2579. (function(ContentSide) {
  2580. ContentSide["TOP"] = "top";
  2581. ContentSide["RIGHT"] = "right";
  2582. ContentSide["BOTTOM"] = "bottom";
  2583. ContentSide["LEFT"] = "left";
  2584. })(ContentSide || (ContentSide = {}));
  2585. var ContentAlign;
  2586. (function(ContentAlign) {
  2587. ContentAlign["START"] = "start";
  2588. ContentAlign["CENTER"] = "center";
  2589. ContentAlign["END"] = "end";
  2590. })(ContentAlign || (ContentAlign = {}));
  2591. const Popover = ({ children , trigger , onOpenChange , open , isModal =false , contentSide =ContentSide.BOTTOM , contentAlign =ContentAlign.CENTER , avoidCollisions =true , tip =false , useTooltipStyles =false , defaultStyling =true , isPortalled =true , contentSideOffset =2 , triggerStyles , contentStyles , isContainerSpan =false , })=>{
  2592. const content = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Content, {
  2593. sideOffset: contentSideOffset,
  2594. side: contentSide,
  2595. align: contentAlign,
  2596. avoidCollisions: avoidCollisions,
  2597. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default().content), {
  2598. [(_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tooltipContent)]: useTooltipStyles,
  2599. [contentStyles]: contentStyles
  2600. }),
  2601. children: [
  2602. children,
  2603. tip && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Arrow, {})
  2604. ]
  2605. });
  2606. const containerChild = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Root, {
  2607. modal: isModal,
  2608. ...typeof open !== "undefined" && {
  2609. open
  2610. },
  2611. ...onOpenChange && {
  2612. onOpenChange
  2613. },
  2614. children: [
  2615. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Trigger, {
  2616. "aria-label": "Open popover",
  2617. asChild: true,
  2618. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  2619. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default().trigger), {
  2620. [triggerStyles]: triggerStyles
  2621. }),
  2622. children: trigger
  2623. })
  2624. }),
  2625. isPortalled ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_popover__WEBPACK_IMPORTED_MODULE_2__.Portal, {
  2626. children: content
  2627. }) : content
  2628. ]
  2629. });
  2630. if (isContainerSpan) {
  2631. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  2632. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()({
  2633. [(_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default().container)]: defaultStyling
  2634. }),
  2635. children: containerChild
  2636. });
  2637. }
  2638. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  2639. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()({
  2640. [(_Popover_module_scss__WEBPACK_IMPORTED_MODULE_4___default().container)]: defaultStyling
  2641. }),
  2642. children: containerChild
  2643. });
  2644. };
  2645. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Popover);
  2646. __webpack_async_result__();
  2647. } catch(e) { __webpack_async_result__(e); } });
  2648. /***/ }),
  2649. /***/ 17543:
  2650. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2651. "use strict";
  2652. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2653. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2654. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
  2655. /* harmony export */ "q": () => (/* binding */ DATA_ATTRIBUTE_WORD_LOCATION)
  2656. /* harmony export */ });
  2657. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2658. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2659. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  2660. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  2661. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59456);
  2662. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_2__);
  2663. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  2664. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  2665. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
  2666. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
  2667. /* harmony import */ var _InlineWordByWord__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77296);
  2668. /* harmony import */ var _getToolTipText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(99600);
  2669. /* harmony import */ var _GlyphWord__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(72214);
  2670. /* harmony import */ var _playWordAudio__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(72898);
  2671. /* harmony import */ var _QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(16527);
  2672. /* harmony import */ var _QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24__);
  2673. /* harmony import */ var _TajweedWordImage__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(28542);
  2674. /* harmony import */ var _TextWord__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(72816);
  2675. /* harmony import */ var _components_QuranReader_ReadingView_WordPopover__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(90127);
  2676. /* harmony import */ var _components_Wrapper_Wrapper__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(41701);
  2677. /* harmony import */ var _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(74306);
  2678. /* harmony import */ var _redux_slices_AudioPlayer_state__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(53800);
  2679. /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(90264);
  2680. /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(5639);
  2681. /* harmony import */ var _utils_datetime__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(76410);
  2682. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(55943);
  2683. /* harmony import */ var _utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(64198);
  2684. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(44519);
  2685. /* harmony import */ var src_xstate_actors_audioPlayer_audioPlayerMachineHelper__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(93608);
  2686. /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(64564);
  2687. /* harmony import */ var types_QuranReader__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(50467);
  2688. /* harmony import */ var types_Word__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(42217);
  2689. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_playWordAudio__WEBPACK_IMPORTED_MODULE_8__, _components_QuranReader_ReadingView_WordPopover__WEBPACK_IMPORTED_MODULE_11__, _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_12__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__]);
  2690. ([_playWordAudio__WEBPACK_IMPORTED_MODULE_8__, _components_QuranReader_ReadingView_WordPopover__WEBPACK_IMPORTED_MODULE_11__, _dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_12__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__, src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  2691. /* eslint-disable max-lines */
  2692. const DATA_ATTRIBUTE_WORD_LOCATION = "data-word-location";
  2693. const QuranWord = ({ word , font , isWordByWordAllowed =true , isAudioHighlightingAllowed =true , isHighlighted , shouldShowSecondaryHighlight =false , isFontLoaded =true })=>{
  2694. const wordClickFunctionality = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_14__/* .selectWordClickFunctionality */ .N9);
  2695. const audioService = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_20__/* .AudioPlayerMachineContext */ .c);
  2696. const showTooltipWhenPlayingAudio = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_AudioPlayer_state__WEBPACK_IMPORTED_MODULE_13__/* .selectShowTooltipWhenPlayingAudio */ .ow);
  2697. const { 0: isTooltipOpened , 1: setIsTooltipOpened } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  2698. const { showWordByWordTranslation , showWordByWordTransliteration } = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_14__/* .selectInlineDisplayWordByWordPreferences */ .eB, react_redux__WEBPACK_IMPORTED_MODULE_4__.shallowEqual);
  2699. const readingPreference = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_14__/* .selectReadingPreference */ .EA);
  2700. const showTooltipFor = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useSelector)(_redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_14__/* .selectTooltipContentType */ .SV, _utils_array__WEBPACK_IMPORTED_MODULE_23__/* .areArraysEqual */ .Hj);
  2701. // creating wordLocation instead of using `word.location` because
  2702. // the value of `word.location` is `1:3:5-7`, but we want `1:3:5`
  2703. const wordLocation = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_18__/* .makeWordLocation */ .G$)(word.verseKey, word.position);
  2704. // Determine if the audio player is currently playing the word
  2705. const isAudioPlayingWord = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_2__.useSelector)(audioService, (state)=>{
  2706. const { surah , ayahNumber , wordLocation: wordPosition } = state.context;
  2707. return `${surah}:${ayahNumber}:${wordPosition}` === wordLocation;
  2708. });
  2709. const isWordByWordLayout = showWordByWordTranslation || showWordByWordTransliteration;
  2710. let wordText = null;
  2711. if ((0,_utils_fontFaceHelper__WEBPACK_IMPORTED_MODULE_17__/* .isQCFFont */ .Fy)(font)) {
  2712. wordText = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_GlyphWord__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
  2713. font: font,
  2714. qpcUthmaniHafs: word.qpcUthmaniHafs,
  2715. pageNumber: word.pageNumber,
  2716. textCodeV1: word.codeV1,
  2717. textCodeV2: word.codeV2,
  2718. isFontLoaded: isFontLoaded
  2719. });
  2720. } else if (font === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .QuranFont.Tajweed */ .fr.Tajweed) {
  2721. wordText = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TajweedWordImage__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
  2722. path: word.text,
  2723. alt: word.textUthmani
  2724. });
  2725. } else if (word.charTypeName !== types_Word__WEBPACK_IMPORTED_MODULE_22__/* .CharType.Pause */ .H.Pause) {
  2726. wordText = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_TextWord__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
  2727. font: font,
  2728. text: word.text,
  2729. charType: word.charTypeName
  2730. });
  2731. }
  2732. /*
  2733. Only show the tooltip when the following conditions are met:
  2734. 1. When the current character is of type Word.
  2735. 2. When it's allowed to have word by word (won't be allowed for search results as of now).
  2736. 3. When the tooltip settings are set to either translation or transliteration or both.
  2737. */ const showTooltip = word.charTypeName === types_Word__WEBPACK_IMPORTED_MODULE_22__/* .CharType.Word */ .H.Word && isWordByWordAllowed && !!showTooltipFor.length;
  2738. const shouldBeHighLighted = isHighlighted || isTooltipOpened || isAudioHighlightingAllowed && isAudioPlayingWord;
  2739. const translationViewTooltipContent = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>isWordByWordAllowed ? (0,_getToolTipText__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(showTooltipFor, word) : null, [
  2740. isWordByWordAllowed,
  2741. showTooltipFor,
  2742. word
  2743. ]);
  2744. const isRecitationEnabled = wordClickFunctionality === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .WordClickFunctionality.PlayAudio */ .MB.PlayAudio;
  2745. const onClick = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{
  2746. if (isRecitationEnabled) {
  2747. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__/* .logButtonClick */ .MY)("quran_word_pronounce");
  2748. const currentState = audioService.getSnapshot();
  2749. const isPlaying = currentState.matches("VISIBLE.AUDIO_PLAYER_INITIATED.PLAYING");
  2750. const currentSurah = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_18__/* .getChapterNumberFromKey */ .Tc)(word.verseKey);
  2751. const isSameSurah = currentState.context.surah === Number(currentSurah);
  2752. const shouldSeekTo = isPlaying && isSameSurah;
  2753. if (shouldSeekTo) {
  2754. const wordSegment = (0,src_xstate_actors_audioPlayer_audioPlayerMachineHelper__WEBPACK_IMPORTED_MODULE_19__/* .getWordTimeSegment */ .Po)(currentState.context.audioData.verseTimings, word);
  2755. if (!wordSegment) return;
  2756. const [startTime] = wordSegment;
  2757. audioService.send({
  2758. type: "SEEK_TO",
  2759. timestamp: (0,_utils_datetime__WEBPACK_IMPORTED_MODULE_15__/* .milliSecondsToSeconds */ .Rp)(startTime)
  2760. });
  2761. } else {
  2762. (0,_playWordAudio__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)(word);
  2763. }
  2764. } else {
  2765. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_16__/* .logButtonClick */ .MY)("quran_word");
  2766. }
  2767. }, [
  2768. audioService,
  2769. isRecitationEnabled,
  2770. word
  2771. ]);
  2772. const shouldHandleWordClicking = readingPreference === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .ReadingPreference.Translation */ .m3.Translation && word.charTypeName !== types_Word__WEBPACK_IMPORTED_MODULE_22__/* .CharType.End */ .H.End;
  2773. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  2774. ...shouldHandleWordClicking && {
  2775. onClick,
  2776. onKeyPress: onClick
  2777. },
  2778. role: "button",
  2779. tabIndex: 0,
  2780. [DATA_ATTRIBUTE_WORD_LOCATION]: wordLocation,
  2781. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().container), {
  2782. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().highlightOnHover)]: isRecitationEnabled,
  2783. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().highlighted)]: shouldBeHighLighted,
  2784. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().secondaryHighlight)]: shouldShowSecondaryHighlight,
  2785. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().wbwContainer)]: isWordByWordLayout,
  2786. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().additionalWordGap)]: readingPreference === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .ReadingPreference.Translation */ .m3.Translation,
  2787. [(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_24___default().tajweedWord)]: font === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .QuranFont.Tajweed */ .fr.Tajweed
  2788. }),
  2789. children: [
  2790. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_Wrapper_Wrapper__WEBPACK_IMPORTED_MODULE_25__/* ["default"] */ .Z, {
  2791. shouldWrap: showTooltip,
  2792. wrapper: (children)=>readingPreference === types_QuranReader__WEBPACK_IMPORTED_MODULE_21__/* .ReadingPreference.Translation */ .m3.Translation ? /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Popover_HoverablePopover__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
  2793. isOpen: isAudioPlayingWord && showTooltipWhenPlayingAudio ? true : undefined,
  2794. defaultStyling: false,
  2795. content: translationViewTooltipContent,
  2796. onOpenChange: setIsTooltipOpened,
  2797. children: children
  2798. }) : /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_ReadingView_WordPopover__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
  2799. word: word,
  2800. children: children
  2801. }),
  2802. children: wordText
  2803. }),
  2804. isWordByWordAllowed && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  2805. children: [
  2806. showWordByWordTransliteration && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_InlineWordByWord__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  2807. text: word.transliteration?.text
  2808. }),
  2809. showWordByWordTranslation && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_InlineWordByWord__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  2810. text: word.translation?.text
  2811. })
  2812. ]
  2813. })
  2814. ]
  2815. });
  2816. };
  2817. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(QuranWord));
  2818. __webpack_async_result__();
  2819. } catch(e) { __webpack_async_result__(e); } });
  2820. /***/ }),
  2821. /***/ 99600:
  2822. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  2823. "use strict";
  2824. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2825. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2826. /* harmony export */ });
  2827. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  2828. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  2829. /* harmony import */ var _QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16527);
  2830. /* harmony import */ var _QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_1__);
  2831. /**
  2832. * Generate the Tooltip content based on the settings.
  2833. *
  2834. * @param {WordByWordType[]} showTooltipFor
  2835. * @param {Word} word
  2836. * @returns {ReactNode}
  2837. */ const getTooltipText = (showTooltipFor, word)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  2838. children: showTooltipFor.map((tooltipTextType)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("p", {
  2839. className: (_QuranWord_module_scss__WEBPACK_IMPORTED_MODULE_1___default().tooltipText),
  2840. children: word[tooltipTextType].text
  2841. }, tooltipTextType))
  2842. });
  2843. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getTooltipText);
  2844. /***/ }),
  2845. /***/ 72898:
  2846. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2847. "use strict";
  2848. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2849. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2850. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2851. /* harmony export */ });
  2852. /* harmony import */ var _utils_audio__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83073);
  2853. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55943);
  2854. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_utils_eventLogger__WEBPACK_IMPORTED_MODULE_0__]);
  2855. _utils_eventLogger__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  2856. const playWordAudio = (word)=>{
  2857. playWordByWordAudio(`${_utils_audio__WEBPACK_IMPORTED_MODULE_1__/* .QURANCDN_AUDIO_BASE_URL */ .HN}${word.audioUrl}`);
  2858. };
  2859. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (playWordAudio);
  2860. /**
  2861. * Given an audio url
  2862. * 1) stop the word by word audio player if it's currently playing
  2863. * 2) pause the main audio player if it's currently playing
  2864. * 3) play the word by word audio
  2865. * 4) resume the main audio player it it's previously was playing
  2866. *
  2867. * Terms
  2868. * - main audio player refer to the audio player in the bottom navbar, this audio player plays the entire chapter
  2869. * - word by word audio player refer to the audio player that play the clicked word
  2870. *
  2871. * @param {string} url
  2872. */ const playWordByWordAudio = (url)=>{
  2873. // stop the audio and remove the DOM if it exists
  2874. if (window.wordByWordAudioPlayerEl) {
  2875. window.wordByWordAudioPlayerEl.pause();
  2876. window.wordByWordAudioPlayerEl.remove();
  2877. window.wordByWordAudioPlayerEl = null;
  2878. }
  2879. const removeDOM = ()=>{
  2880. window.wordByWordAudioPlayerEl.removeEventListener("ended", removeDOM);
  2881. window.wordByWordAudioPlayerEl.remove();
  2882. };
  2883. window.wordByWordAudioPlayerEl = new Audio(url);
  2884. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_0__/* .logEvent */ .Kz)("load_audio_file", {
  2885. audioUrl: url
  2886. });
  2887. window.wordByWordAudioPlayerEl.play();
  2888. window.wordByWordAudioPlayerEl.addEventListener("ended", removeDOM);
  2889. };
  2890. __webpack_async_result__();
  2891. } catch(e) { __webpack_async_result__(e); } });
  2892. /***/ }),
  2893. /***/ 80211:
  2894. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  2895. "use strict";
  2896. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2897. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2898. /* harmony export */ });
  2899. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71853);
  2900. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_0__);
  2901. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
  2902. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
  2903. /* harmony import */ var _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90264);
  2904. /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88548);
  2905. /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5639);
  2906. /* harmony import */ var _utils_query_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61927);
  2907. /* harmony import */ var _utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(88584);
  2908. /* harmony import */ var types_QueryParam__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11721);
  2909. /* eslint-disable @typescript-eslint/no-explicit-any */
  2910. const QUERY_PARAMS_DATA = {
  2911. [types_QueryParam__WEBPACK_IMPORTED_MODULE_5__/* ["default"].Translations */ .Z.Translations]: {
  2912. reduxSelector: _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_3__/* .selectSelectedTranslations */ .qw,
  2913. reduxEqualityFunction: _utils_array__WEBPACK_IMPORTED_MODULE_6__/* .areArraysEqual */ .Hj,
  2914. valueType: _utils_query_params__WEBPACK_IMPORTED_MODULE_4__/* .QueryParamValueType.ArrayOfNumbers */ .dp.ArrayOfNumbers,
  2915. validate: (val)=>(0,_utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_7__/* .isValidTranslationsQueryParamValue */ .W)(val)
  2916. },
  2917. [types_QueryParam__WEBPACK_IMPORTED_MODULE_5__/* ["default"].WBW_LOCALE */ .Z.WBW_LOCALE]: {
  2918. reduxSelector: _redux_slices_QuranReader_readingPreferences__WEBPACK_IMPORTED_MODULE_2__/* .selectWordByWordLocale */ .lt,
  2919. reduxEqualityFunction: react_redux__WEBPACK_IMPORTED_MODULE_1__.shallowEqual,
  2920. valueType: _utils_query_params__WEBPACK_IMPORTED_MODULE_4__/* .QueryParamValueType.String */ .dp.String,
  2921. // eslint-disable-next-line @typescript-eslint/no-unused-vars
  2922. validate: (val)=>true
  2923. }
  2924. };
  2925. /**
  2926. * A hook that searches the query params of the url for specific values,
  2927. * parses them if found and if not, falls back to the Redux value and detects
  2928. * when there is a mismatch between the query param value and the Redux value.
  2929. *
  2930. * @param {QueryParam} queryParam
  2931. * @returns {{value: any, isQueryParamDifferent: boolean}}
  2932. */ const useGetQueryParamOrReduxValue = (queryParam)=>{
  2933. const { query , isReady } = (0,next_router__WEBPACK_IMPORTED_MODULE_0__.useRouter)();
  2934. let useSelectorArguments = [
  2935. QUERY_PARAMS_DATA[queryParam].reduxSelector
  2936. ];
  2937. if (QUERY_PARAMS_DATA[queryParam].reduxEqualityFunction) {
  2938. useSelectorArguments = [
  2939. QUERY_PARAMS_DATA[queryParam].reduxSelector,
  2940. // @ts-ignore
  2941. QUERY_PARAMS_DATA[queryParam].reduxEqualityFunction,
  2942. ];
  2943. }
  2944. // @ts-ignore
  2945. const selectedValue = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(...useSelectorArguments);
  2946. const valueDetails = {
  2947. value: selectedValue,
  2948. isQueryParamDifferent: false
  2949. };
  2950. // TODO: this bit is identical to the one in useGetQueryParamOrXstateValue.ts, keep it DRY
  2951. // if the param exists in the url
  2952. if (isReady && query[queryParam]) {
  2953. const { validate , valueType } = QUERY_PARAMS_DATA[queryParam];
  2954. const paramStringValue = String(query[queryParam]);
  2955. const isValidValue = validate(paramStringValue);
  2956. if (!isValidValue) {
  2957. return {
  2958. isQueryParamDifferent: false,
  2959. value: selectedValue
  2960. };
  2961. }
  2962. const parsedQueryParamValue = (0,_utils_query_params__WEBPACK_IMPORTED_MODULE_4__/* .getQueryParamValueByType */ .jr)(paramStringValue, valueType);
  2963. const checkEquality = _utils_query_params__WEBPACK_IMPORTED_MODULE_4__/* .equalityCheckerByType */ .bq[valueType];
  2964. const isQueryParamDifferent = !checkEquality(parsedQueryParamValue, selectedValue);
  2965. return {
  2966. value: parsedQueryParamValue,
  2967. isQueryParamDifferent
  2968. };
  2969. }
  2970. return valueDetails;
  2971. };
  2972. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useGetQueryParamOrReduxValue);
  2973. /***/ }),
  2974. /***/ 93134:
  2975. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  2976. "use strict";
  2977. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  2978. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  2979. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  2980. /* harmony export */ });
  2981. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  2982. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  2983. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59456);
  2984. /* harmony import */ var _xstate_react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_xstate_react__WEBPACK_IMPORTED_MODULE_1__);
  2985. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71853);
  2986. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);
  2987. /* harmony import */ var _utils_query_params__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61927);
  2988. /* harmony import */ var _utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(88584);
  2989. /* harmony import */ var src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64564);
  2990. /* harmony import */ var types_QueryParam__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11721);
  2991. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_4__]);
  2992. src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  2993. /* eslint-disable @typescript-eslint/no-explicit-any */
  2994. const QUERY_PARAMS_DATA = {
  2995. [types_QueryParam__WEBPACK_IMPORTED_MODULE_5__/* ["default"].Reciter */ .Z.Reciter]: {
  2996. selector: (state)=>state.context.reciterId,
  2997. valueType: _utils_query_params__WEBPACK_IMPORTED_MODULE_3__/* .QueryParamValueType.Number */ .dp.Number,
  2998. validate: _utils_queryParamValidator__WEBPACK_IMPORTED_MODULE_6__/* .isValidReciterId */ .o
  2999. }
  3000. };
  3001. /**
  3002. * A hook that searches the query params of the url for specific values,
  3003. * parses them if found and if not, falls back to the Redux value and detects
  3004. * when there is a mismatch between the query param value and the Redux value.
  3005. *
  3006. * @param {QueryParam} queryParam
  3007. * @returns {{value: any, isQueryParamDifferent: boolean}}
  3008. */ const useGetQueryParamOrXstateValue = (queryParam)=>{
  3009. const { query , isReady } = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();
  3010. const audioService = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(src_xstate_AudioPlayerMachineContext__WEBPACK_IMPORTED_MODULE_4__/* .AudioPlayerMachineContext */ .c);
  3011. const { selector } = QUERY_PARAMS_DATA[queryParam];
  3012. const selectedValue = (0,_xstate_react__WEBPACK_IMPORTED_MODULE_1__.useSelector)(audioService, selector);
  3013. const defaultValueDetails = {
  3014. value: selectedValue,
  3015. isQueryParamDifferent: false
  3016. };
  3017. // if the param exists in the url
  3018. if (isReady && query[queryParam]) {
  3019. const { validate , valueType } = QUERY_PARAMS_DATA[queryParam];
  3020. const paramStringValue = String(query[queryParam]);
  3021. const isValidValue = validate(paramStringValue);
  3022. if (!isValidValue) {
  3023. return {
  3024. isQueryParamDifferent: false,
  3025. value: selectedValue
  3026. };
  3027. }
  3028. const parsedQueryParamValue = (0,_utils_query_params__WEBPACK_IMPORTED_MODULE_3__/* .getQueryParamValueByType */ .jr)(paramStringValue, valueType);
  3029. const checkEquality = _utils_query_params__WEBPACK_IMPORTED_MODULE_3__/* .equalityCheckerByType */ .bq[valueType];
  3030. const isQueryParamDifferent = !checkEquality(parsedQueryParamValue, selectedValue);
  3031. return {
  3032. value: parsedQueryParamValue,
  3033. isQueryParamDifferent
  3034. };
  3035. }
  3036. return defaultValueDetails;
  3037. };
  3038. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useGetQueryParamOrXstateValue);
  3039. __webpack_async_result__();
  3040. } catch(e) { __webpack_async_result__(e); } });
  3041. /***/ }),
  3042. /***/ 91398:
  3043. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3044. "use strict";
  3045. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3046. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  3047. /* harmony export */ });
  3048. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
  3049. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  3050. /* harmony import */ var _hooks_useBrowserLayoutEffect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44063);
  3051. /* eslint-disable react-func/max-lines-per-function */
  3052. const isDev = process.env.NEXT_PUBLIC_VERCEL_ENV === "development";
  3053. /**
  3054. * Sets a debugging text to element debugger node if we are in a dev environment
  3055. * and the element debugger paragraph node exists.
  3056. *
  3057. * @param {string} text
  3058. * @param {HTMLElement} intersectionDebuggerNode
  3059. *
  3060. */ const setIntersectionDebuggerNodeText = (text, intersectionDebuggerNode)=>{
  3061. if (!isDev || !intersectionDebuggerNode) {
  3062. return;
  3063. }
  3064. // eslint-disable-next-line no-param-reassign
  3065. intersectionDebuggerNode.textContent = `OBSERVER DEBUGGER: ${text}`;
  3066. };
  3067. /**
  3068. * A hook that will create a global observer and inject it into window so that it's
  3069. * globally available. Once it's created, it can be used by any element that would like
  3070. * to be observed using that observer using {@see useObserverElement} hook. This hook
  3071. * is meant to be used for delayed element visibility callback.
  3072. *
  3073. * @param {IntersectionObserverInit} options
  3074. * @param {(element:Element)=>void} onElementVisible
  3075. * @param {string} observerId the name of the observer
  3076. * @param {string} elementIdKey the key of the unique identifier of each element.
  3077. * @param {string} delayForMSKey the key holding the number of milliseconds after which the observer should trigger the callback
  3078. */ const useGlobalIntersectionObserverWithDelay = ({ threshold =1 , root =null , rootMargin ="0%" }, onElementVisible, observerId, elementIdKey, delayForMSKey)=>{
  3079. /**
  3080. * An object that will hold a reference of each unique identifier and
  3081. * the ID of the timeout function that will trigger when the element
  3082. * is visible for delayForMS number of seconds.
  3083. */ const timeouts = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(new Map());
  3084. const updateEntry = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((entries)=>{
  3085. entries.forEach((visibleEntry)=>{
  3086. let elementIntersectionDebuggerNode;
  3087. if (isDev) {
  3088. const nodes = visibleEntry.target.getElementsByClassName("debugger");
  3089. // if at least one debugger node was found (should always be there but just to be extra sure)
  3090. if (nodes.length) {
  3091. elementIntersectionDebuggerNode = nodes[0];
  3092. }
  3093. }
  3094. const targetNode = visibleEntry.target;
  3095. const elementId = targetNode.dataset[elementIdKey];
  3096. const delayForMS = Number(targetNode.dataset[delayForMSKey]);
  3097. // if the element content container is interacting
  3098. if (visibleEntry.isIntersecting) {
  3099. setIntersectionDebuggerNodeText(`Element is fully visible, triggering callback in ${delayForMS / 1000} seconds...`, elementIntersectionDebuggerNode);
  3100. // Call the API after delayForMS
  3101. timeouts.current.set(elementId, window.setTimeout(()=>{
  3102. onElementVisible(visibleEntry.target);
  3103. setIntersectionDebuggerNodeText(`Element callback triggered`, elementIntersectionDebuggerNode);
  3104. }, delayForMS));
  3105. } else {
  3106. // if it's no longer intersecting, clear the timeout
  3107. clearTimeout(timeouts.current.get(elementId));
  3108. /**
  3109. * Delete the timeout function's ID from the global array since it's no longer
  3110. * needed and next time if the same element intersects, a new ID will be generated
  3111. * for that element.
  3112. */ timeouts.current.delete(elementId);
  3113. setIntersectionDebuggerNodeText(`Element is not fully visible, won't trigger callback`, elementIntersectionDebuggerNode);
  3114. }
  3115. });
  3116. }, [
  3117. delayForMSKey,
  3118. elementIdKey,
  3119. onElementVisible
  3120. ]);
  3121. /**
  3122. * We need to assign to window before render is done since we want to the observer to be available by the time rendering is done so that the elements to be observed can use it.
  3123. * {@see https://kentcdodds.com/blog/useeffect-vs-uselayouteffect}
  3124. */ (0,_hooks_useBrowserLayoutEffect__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(()=>{
  3125. const hasIOSupport = !!window.IntersectionObserver;
  3126. if (!hasIOSupport) return undefined;
  3127. // no need to create a new observer if it already exists.
  3128. if (!window[observerId]) {
  3129. window[observerId] = new IntersectionObserver(updateEntry, {
  3130. threshold,
  3131. root,
  3132. rootMargin
  3133. });
  3134. }
  3135. return ()=>{
  3136. // manually clear all the timeouts (if any are still around)
  3137. timeouts.current.forEach((value)=>{
  3138. clearTimeout(value);
  3139. });
  3140. if (window[observerId]) {
  3141. window[observerId].disconnect();
  3142. window[observerId] = undefined;
  3143. }
  3144. };
  3145. }, [
  3146. root,
  3147. rootMargin,
  3148. threshold,
  3149. updateEntry,
  3150. observerId
  3151. ]);
  3152. };
  3153. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useGlobalIntersectionObserverWithDelay);
  3154. /***/ }),
  3155. /***/ 83073:
  3156. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3157. "use strict";
  3158. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3159. /* harmony export */ "HN": () => (/* binding */ QURANCDN_AUDIO_BASE_URL)
  3160. /* harmony export */ });
  3161. /* unused harmony exports getVerseTimingByVerseKey, getWordByWordAudioUrl */
  3162. const getVerseTimingByVerseKey = (verseKey, verseTimings)=>{
  3163. return verseTimings.find((verseTiming)=>verseTiming.verseKey === verseKey);
  3164. };
  3165. // format the number to match the the mp3 file name structure
  3166. // e.g formatNumber(3) => '003'
  3167. // formatNumber(10) => '010'
  3168. const formatNumber = (num)=>num.toString().padStart(3, "0");
  3169. const QURANCDN_AUDIO_BASE_URL = "https://audio.qurancdn.com/";
  3170. /**
  3171. * Given chapter, verse, and wordLocation. Get the mp3 audio url
  3172. * For example
  3173. * getWordByWordAudioUrl(1,2,1) => `'https://audio.qurancdn.com/wbw/001_002_001.mp3';
  3174. *
  3175. * @param {number} chapter the chapterId
  3176. * @param {number} verse the verse number
  3177. * @param {number} wordLocation the location of the word within a verse
  3178. * @returns {string} audio url
  3179. */ const getWordByWordAudioUrl = (chapter, verse, wordLocation)=>{
  3180. const formattedChapter = formatNumber(chapter);
  3181. const formattedVerse = formatNumber(verse);
  3182. const formattedWordLocation = formatNumber(wordLocation);
  3183. return `${QURANCDN_AUDIO_BASE_URL}wbw/${formattedChapter}_${formattedVerse}_${formattedWordLocation}.mp3`;
  3184. };
  3185. /***/ }),
  3186. /***/ 91450:
  3187. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3188. "use strict";
  3189. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3190. /* harmony export */ "Fp": () => (/* binding */ getQuranicCalendarPostOfWeek),
  3191. /* harmony export */ "GG": () => (/* binding */ postReflectionViews),
  3192. /* harmony export */ "P_": () => (/* binding */ followUser),
  3193. /* harmony export */ "ST": () => (/* binding */ isUserFollowed)
  3194. /* harmony export */ });
  3195. /* unused harmony export getAllUserReflections */
  3196. /* harmony import */ var _apiPaths__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65899);
  3197. /* harmony import */ var _utils_auth_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37883);
  3198. const postReflectionViews = async (postId)=>(0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_1__/* .postRequest */ .j0)((0,_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makePostReflectionViewsUrl */ .PI)(postId), {});
  3199. const followUser = async (usernameOrId)=>(0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_1__/* .postRequest */ .j0)((0,_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeFollowUserUrl */ .bE)(usernameOrId), {});
  3200. const isUserFollowed = async (usernameOrId)=>{
  3201. return (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_1__/* .privateFetcher */ .UK)((0,_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeIsUserFollowedUrl */ .BC)(usernameOrId));
  3202. };
  3203. const getAllUserReflections = async (params)=>{
  3204. return privateFetcher(makeGetUserReflectionsUrl(params));
  3205. };
  3206. const getQuranicCalendarPostOfWeek = async (weekNumber)=>{
  3207. return (0,_utils_auth_api__WEBPACK_IMPORTED_MODULE_1__/* .privateFetcher */ .UK)((0,_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeQuranicCalendarPostOfWeekUrl */ .Sv)(weekNumber));
  3208. };
  3209. /***/ }),
  3210. /***/ 65899:
  3211. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3212. "use strict";
  3213. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3214. /* harmony export */ "BC": () => (/* binding */ makeIsUserFollowedUrl),
  3215. /* harmony export */ "PI": () => (/* binding */ makePostReflectionViewsUrl),
  3216. /* harmony export */ "Sv": () => (/* binding */ makeQuranicCalendarPostOfWeekUrl),
  3217. /* harmony export */ "YV": () => (/* binding */ makeGetUserReflectionsUrl),
  3218. /* harmony export */ "bE": () => (/* binding */ makeFollowUserUrl)
  3219. /* harmony export */ });
  3220. /* harmony import */ var _utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13830);
  3221. const getPrefixedUrl = (url)=>`qf/${url}`;
  3222. const makePostReflectionViewsUrl = (postId)=>(0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeUrl */ .bf)(getPrefixedUrl(`posts/${postId}/views`));
  3223. const makeFollowUserUrl = (userNameOrId)=>(0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeUrl */ .bf)(getPrefixedUrl(`users/${userNameOrId}/follow`));
  3224. const makeIsUserFollowedUrl = (userNameOrId)=>(0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeUrl */ .bf)(getPrefixedUrl(`users/${userNameOrId}/is-followed`));
  3225. const makeGetUserReflectionsUrl = (params)=>(0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeUrl */ .bf)(getPrefixedUrl("posts"), params);
  3226. const makeQuranicCalendarPostOfWeekUrl = (weekNumber)=>(0,_utils_auth_apiPaths__WEBPACK_IMPORTED_MODULE_0__/* .makeUrl */ .bf)(getPrefixedUrl(`quranic-calendar/${weekNumber}`));
  3227. /***/ }),
  3228. /***/ 61927:
  3229. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3230. "use strict";
  3231. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3232. /* harmony export */ "bq": () => (/* binding */ equalityCheckerByType),
  3233. /* harmony export */ "dp": () => (/* binding */ QueryParamValueType),
  3234. /* harmony export */ "jr": () => (/* binding */ getQueryParamValueByType)
  3235. /* harmony export */ });
  3236. /* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5639);
  3237. var QueryParamValueType;
  3238. (function(QueryParamValueType) {
  3239. QueryParamValueType["String"] = "String";
  3240. QueryParamValueType["Number"] = "Number";
  3241. QueryParamValueType["ArrayOfNumbers"] = "ArrayOfNumbers";
  3242. QueryParamValueType["ArrayOfStrings"] = "ArrayOfStrings";
  3243. })(QueryParamValueType || (QueryParamValueType = {}));
  3244. const paramValueParser = {
  3245. [QueryParamValueType.ArrayOfNumbers]: (paramStringValue)=>paramStringValue.split(",").map((stringValue)=>Number(stringValue)),
  3246. [QueryParamValueType.ArrayOfStrings]: (paramStringValue)=>paramStringValue.split(",").map((stringValue)=>stringValue),
  3247. [QueryParamValueType.Number]: (paramStringValue)=>Number(paramStringValue),
  3248. [QueryParamValueType.String]: (paramStringValue)=>paramStringValue
  3249. };
  3250. const equalityCheckerByType = {
  3251. [QueryParamValueType.ArrayOfNumbers]: _array__WEBPACK_IMPORTED_MODULE_0__/* .areArraysEqual */ .Hj,
  3252. [QueryParamValueType.ArrayOfStrings]: _array__WEBPACK_IMPORTED_MODULE_0__/* .areArraysEqual */ .Hj,
  3253. [QueryParamValueType.String]: (a, b)=>a === b,
  3254. [QueryParamValueType.Number]: (a, b)=>a === b
  3255. };
  3256. const getQueryParamValueByType = (paramStringValue, valueType)=>{
  3257. const parse = paramValueParser[valueType];
  3258. const parsedValue = parse(paramStringValue);
  3259. return parsedValue;
  3260. };
  3261. /***/ }),
  3262. /***/ 88584:
  3263. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3264. "use strict";
  3265. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3266. /* harmony export */ "W": () => (/* binding */ isValidTranslationsQueryParamValue),
  3267. /* harmony export */ "o": () => (/* binding */ isValidReciterId)
  3268. /* harmony export */ });
  3269. const isValidTranslationsQueryParamValue = (value)=>{
  3270. // if it's empty string, we shouldn't consider it as a valid translation
  3271. if (!value) {
  3272. return false;
  3273. }
  3274. const translationIds = value.split(",");
  3275. let isValid = true;
  3276. for(let index = 0; index < translationIds.length; index += 1){
  3277. // if the value is empty
  3278. if (!translationIds[index]) {
  3279. isValid = false;
  3280. break;
  3281. }
  3282. const translationId = Number(translationIds[index]);
  3283. // if the translation Id is empty or is not a number
  3284. if (!translationId && Number.isNaN(translationId)) {
  3285. isValid = false;
  3286. break;
  3287. }
  3288. }
  3289. return isValid;
  3290. };
  3291. /**
  3292. * Check whether the value of the query param is a valid
  3293. * reciter Id.
  3294. *
  3295. * @param {string} value
  3296. * @returns {boolean}
  3297. */ const isValidReciterId = (value)=>{
  3298. // if it's empty string, we shouldn't consider it as a valid reciter id
  3299. if (!value) {
  3300. return false;
  3301. }
  3302. const reciterId = Number(value);
  3303. if (reciterId === 0 || Number.isNaN(reciterId)) {
  3304. return false;
  3305. }
  3306. return true;
  3307. };
  3308. /***/ }),
  3309. /***/ 36342:
  3310. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3311. "use strict";
  3312. // EXPORTS
  3313. __webpack_require__.d(__webpack_exports__, {
  3314. "Jc": () => (/* binding */ getAyahReflections),
  3315. "pZ": () => (/* binding */ makeAyahReflectionsUrl),
  3316. "GG": () => (/* binding */ postReflectionViews)
  3317. });
  3318. // UNUSED EXPORTS: API_HOST, makeQuranReflectApiUrl
  3319. // EXTERNAL MODULE: ./src/api.ts
  3320. var api = __webpack_require__(92684);
  3321. // EXTERNAL MODULE: ./src/utils/qs-stringify.ts
  3322. var qs_stringify = __webpack_require__(99921);
  3323. ;// CONCATENATED MODULE: ./types/QuranReflect/Tab.ts
  3324. var Tab;
  3325. (function(Tab) {
  3326. Tab["MostPopular"] = "most_popular";
  3327. Tab["Newest"] = "newest";
  3328. Tab["Feed"] = "feed";
  3329. Tab["Public"] = "public";
  3330. })(Tab || (Tab = {}));
  3331. /* harmony default export */ const QuranReflect_Tab = (Tab);
  3332. ;// CONCATENATED MODULE: ./src/utils/quranReflect/apiPaths.ts
  3333. /* eslint-disable @typescript-eslint/naming-convention */
  3334. const STAGING_API_HOST = "https://quranreflect.org";
  3335. const PRODUCTION_API_HOST = "https://quranreflect.com";
  3336. const isProd = process.env.NEXT_PUBLIC_VERCEL_ENV === "production";
  3337. // env variables in Vercel can't be dynamic, we have to hardcode the urls here. https://stackoverflow.com/questions/44342226/next-js-error-only-absolute-urls-are-supported
  3338. const API_HOST = isProd ? PRODUCTION_API_HOST : STAGING_API_HOST;
  3339. const makeQuranReflectApiUrl = (path, parameters = {})=>{
  3340. const params = {
  3341. client_auth_token: process.env.NEXT_PUBLIC_QURAN_REFLECT_TOKEN,
  3342. ...parameters
  3343. };
  3344. return `${API_HOST}/${path}?${(0,qs_stringify/* default */.Z)(params)}`;
  3345. };
  3346. /* eslint-disable import/prefer-default-export */ const makeAyahReflectionsUrl = ({ surahId , ayahNumber , locale , page =1 , tab =QuranReflect_Tab.MostPopular })=>{
  3347. const surahNumber = Number(surahId) + 1;
  3348. return makeQuranReflectApiUrl("posts.json", {
  3349. "q[filters_attributes][0][chapter_id]": surahNumber,
  3350. "q[filters_attributes][0][from]": ayahNumber,
  3351. "q[filters_attributes][0][to]": ayahNumber,
  3352. "q[filters_operation]": "OR",
  3353. page,
  3354. tab,
  3355. lang: locale,
  3356. feed: true
  3357. });
  3358. };
  3359. const makeReflectionViewsUrl = (postId)=>{
  3360. return makeQuranReflectApiUrl(`v1/posts/${postId}/views`);
  3361. };
  3362. const postReflectionViews = async (postId)=>(0,api/* fetcher */._i)(makeReflectionViewsUrl(postId), {
  3363. method: "POST",
  3364. headers: {
  3365. "Content-Type": "application/json"
  3366. }
  3367. });
  3368. const getAyahReflections = async (ayahReflectionsUrl)=>(0,api/* fetcher */._i)(ayahReflectionsUrl);
  3369. /***/ }),
  3370. /***/ 17773:
  3371. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3372. "use strict";
  3373. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3374. /* harmony export */ "BF": () => (/* binding */ getSelectedTafsirLanguage),
  3375. /* harmony export */ "K8": () => (/* binding */ getFirstTafsirOfLanguage),
  3376. /* harmony export */ "O3": () => (/* binding */ getTafsirsLanguageOptions)
  3377. /* harmony export */ });
  3378. /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18459);
  3379. /* harmony import */ var lodash_uniq__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_uniq__WEBPACK_IMPORTED_MODULE_0__);
  3380. /**
  3381. * Get the language of the selected Tafsir.
  3382. *
  3383. * @param {TafsirsResponse} tafsirListData
  3384. * @param {number|string} selectedTafsirIdOrSlug
  3385. * @returns {string}
  3386. */ const getSelectedTafsirLanguage = (tafsirListData, selectedTafsirIdOrSlug)=>{
  3387. const selectedTafsir = tafsirListData?.tafsirs.find((tafsir)=>tafsir.slug === selectedTafsirIdOrSlug || tafsir.id === Number(selectedTafsirIdOrSlug));
  3388. return selectedTafsir?.languageName;
  3389. };
  3390. /**
  3391. * Get the first Tafsir of a language.
  3392. *
  3393. * @param {TafsirsResponse} tafsirListData
  3394. * @param {string} language
  3395. * @returns {TafsirInfo}
  3396. */ const getFirstTafsirOfLanguage = (tafsirListData, language)=>{
  3397. const selectedTafsir = tafsirListData?.tafsirs.find((tafsir)=>tafsir.languageName === language);
  3398. return selectedTafsir;
  3399. };
  3400. /**
  3401. * Given list of tafsirs, get all available language options
  3402. *
  3403. * @param {Tafsir[]} tafsirs
  3404. * @returns {string[]} list of available language options
  3405. */ const getTafsirsLanguageOptions = (tafsirs)=>lodash_uniq__WEBPACK_IMPORTED_MODULE_0___default()(tafsirs.map((tafsir)=>tafsir.languageName));
  3406. /***/ }),
  3407. /***/ 16119:
  3408. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  3409. "use strict";
  3410. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3411. /* harmony export */ "BP": () => (/* binding */ selectCurrentAudioReciterId),
  3412. /* harmony export */ "XL": () => (/* binding */ selectIsLoadingCurrentChapter),
  3413. /* harmony export */ "eU": () => (/* binding */ selectIsVerseLoading),
  3414. /* harmony export */ "iX": () => (/* binding */ selectIsUsingDefaultReciter),
  3415. /* harmony export */ "sI": () => (/* binding */ selectIsPlayingCurrentChapter),
  3416. /* harmony export */ "xU": () => (/* binding */ selectIsLoading)
  3417. /* harmony export */ });
  3418. /* unused harmony exports selectIsAudioPlaying, selectIsVerseBeingPlayed */
  3419. /* harmony import */ var _redux_defaultSettings_defaultSettings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11854);
  3420. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44519);
  3421. /* eslint-disable import/prefer-default-export */
  3422. const selectIsUsingDefaultReciter = (state)=>state.context.reciterId === _redux_defaultSettings_defaultSettings__WEBPACK_IMPORTED_MODULE_0__/* .DEFAULT_RECITER.id */ .YS.id;
  3423. const selectCurrentAudioReciterId = (state)=>state.context.audioData?.reciterId;
  3424. const selectIsLoading = (state)=>state.hasTag("loading");
  3425. const selectIsAudioPlaying = (state)=>state.matches("VISIBLE.AUDIO_PLAYER_INITIATED.PLAYING");
  3426. const selectIsPlayingCurrentChapter = (state, chapterId)=>{
  3427. const isAudioPlaying = selectIsAudioPlaying(state);
  3428. const currentSurah = state.context.surah;
  3429. return isAudioPlaying && currentSurah === chapterId;
  3430. };
  3431. const selectIsLoadingCurrentChapter = (state, chapterId)=>{
  3432. const isLoading = selectIsLoading(state);
  3433. const currentSurah = state.context.surah;
  3434. return isLoading && currentSurah === chapterId;
  3435. };
  3436. const selectIsVerseBeingPlayed = (state, verseKey)=>{
  3437. const { surah , ayahNumber } = state.context;
  3438. return state.matches("VISIBLE.AUDIO_PLAYER_INITIATED.PLAYING") && makeVerseKey(surah, ayahNumber) === verseKey;
  3439. };
  3440. const selectIsVerseLoading = (state, verseKey)=>{
  3441. const { surah , ayahNumber } = state.context;
  3442. return selectIsLoading(state) && (0,_utils_verse__WEBPACK_IMPORTED_MODULE_1__/* .makeVerseKey */ .u)(surah, ayahNumber) === verseKey;
  3443. };
  3444. /***/ })
  3445. };
  3446. ;
  3447. //# sourceMappingURL=17543.js.map