45865.js 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. exports.id = 45865;
  2. exports.ids = [45865];
  3. exports.modules = {
  4. /***/ 58421:
  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 SvgWest = function SvgWest(props) {
  15. return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
  16. width: 24,
  17. height: 24,
  18. viewBox: "0 0 24 24",
  19. fill: "none",
  20. xmlns: "http://www.w3.org/2000/svg"
  21. }, props), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
  22. d: "m9 19 1.41-1.41L5.83 13H22v-2H5.83l4.59-4.59L9 5l-7 7 7 7Z",
  23. fill: "currentColor"
  24. })));
  25. };
  26. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SvgWest);
  27. /***/ }),
  28. /***/ 5782:
  29. /***/ ((module) => {
  30. // Exports
  31. module.exports = {
  32. "header": "CollectionDetail_header__mLL6m",
  33. "title": "CollectionDetail_title__QN2uH",
  34. "sorter": "CollectionDetail_sorter__TDDjt",
  35. "sorterIcon": "CollectionDetail_sorterIcon__RYGFI",
  36. "collectionItemsContainer": "CollectionDetail_collectionItemsContainer__PQkgK",
  37. "verseContainer": "CollectionDetail_verseContainer__ImQEQ",
  38. "emptyCollectionContainer": "CollectionDetail_emptyCollectionContainer__fmU40",
  39. "backToCollectionButtonContainer": "CollectionDetail_backToCollectionButtonContainer__G_Qmt",
  40. "bookmarkLink": "CollectionDetail_bookmarkLink__0Q4jb",
  41. "linkContainer": "CollectionDetail_linkContainer__eTUAG"
  42. };
  43. /***/ }),
  44. /***/ 82642:
  45. /***/ ((module) => {
  46. // Exports
  47. module.exports = {
  48. "container": "CollectionDetailContainer_container__ZDXCw",
  49. "loadMoreContainer": "CollectionDetailContainer_loadMoreContainer__z09WI",
  50. "loadingContainer": "CollectionDetailContainer_loadingContainer__2i3JF",
  51. "emptyContainer": "CollectionDetailContainer_emptyContainer__qygbi"
  52. };
  53. /***/ }),
  54. /***/ 31246:
  55. /***/ ((module) => {
  56. // Exports
  57. module.exports = {
  58. "verseContainer": "EmbeddableVerseCell_verseContainer__GCj_d"
  59. };
  60. /***/ }),
  61. /***/ 81670:
  62. /***/ ((module) => {
  63. // Exports
  64. module.exports = {
  65. "header": "Collapsible_header__CmhJq",
  66. "headerLeft": "Collapsible_headerLeft__Xh00n",
  67. "prefixContainer": "Collapsible_prefixContainer__AVHUT",
  68. "prefixRotated": "Collapsible_prefixRotated__bjKLn",
  69. "suffixContainer": "Collapsible_suffixContainer__uZ1IW"
  70. };
  71. /***/ }),
  72. /***/ 59639:
  73. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  74. "use strict";
  75. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  76. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  77. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  78. /* harmony export */ });
  79. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  80. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  81. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  82. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  83. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  84. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  85. /* harmony import */ var _CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56321);
  86. /* harmony import */ var _CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5782);
  87. /* harmony import */ var _CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20__);
  88. /* harmony import */ var _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43749);
  89. /* harmony import */ var _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11817);
  90. /* harmony import */ var _dls_ConfirmationModal_hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77843);
  91. /* harmony import */ var _icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24868);
  92. /* harmony import */ var _icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80275);
  93. /* harmony import */ var _utils_chapter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(95892);
  94. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(55943);
  95. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(24709);
  96. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(57933);
  97. /* harmony import */ var _utils_url__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(69663);
  98. /* harmony import */ var _utils_verse__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(44519);
  99. /* harmony import */ var src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(50497);
  100. /* harmony import */ var src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(92775);
  101. /* harmony import */ var src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(99163);
  102. /* harmony import */ var src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(70813);
  103. /* harmony import */ var types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(6059);
  104. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__, _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__, src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__, src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__]);
  105. ([_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__, _components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__, _dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__, _utils_navigation__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__, src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__, src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  106. /* eslint-disable max-lines */
  107. const CollectionDetail = ({ id , title , bookmarks , sortBy , onSortByChange , onItemDeleted , isOwner })=>{
  108. const { 0: isOpen , 1: setIsOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
  109. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
  110. const confirm = (0,_dls_ConfirmationModal_hooks__WEBPACK_IMPORTED_MODULE_6__/* .useConfirm */ .N)();
  111. const sortOptions = [
  112. {
  113. id: types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__/* .CollectionDetailSortOption.RecentlyAdded */ .l.RecentlyAdded,
  114. label: t("collection:recently-added")
  115. },
  116. {
  117. id: types_CollectionSortOptions__WEBPACK_IMPORTED_MODULE_18__/* .CollectionDetailSortOption.VerseKey */ .l.VerseKey,
  118. label: t("collection:verse-key")
  119. },
  120. ];
  121. const chaptersData = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(src_contexts_DataContext__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z);
  122. const isCollectionEmpty = bookmarks.length === 0;
  123. const handleDeleteMenuClicked = (bookmark)=>async ()=>{
  124. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_detail_delete_menu");
  125. const bookmarkName = getBookmarkName(bookmark);
  126. const isConfirmed = await confirm({
  127. confirmText: t("common:delete"),
  128. cancelText: t("common:cancel"),
  129. title: t("collection:delete-bookmark.title"),
  130. subtitle: t("collection:delete-bookmark.subtitle", {
  131. bookmarkName,
  132. collectionName: title
  133. })
  134. });
  135. const eventData = {
  136. verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber),
  137. collectionId: id
  138. };
  139. if (isConfirmed) {
  140. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("bookmark_delete_confirm", eventData);
  141. onItemDeleted(bookmark.id);
  142. } else {
  143. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("bookmark_delete_confirm_cancel", eventData);
  144. }
  145. };
  146. const handleGoToAyah = (bookmark)=>()=>{
  147. const verseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber);
  148. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_detail_go_to_ayah_menu", {
  149. verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber),
  150. collectionId: id
  151. });
  152. (0,_utils_url__WEBPACK_IMPORTED_MODULE_19__/* .navigateToExternalUrl */ .R)((0,_utils_navigation__WEBPACK_IMPORTED_MODULE_12__/* .getVerseNavigationUrlByVerseKey */ .qs)(verseKey));
  153. };
  154. const getBookmarkName = (bookmark)=>{
  155. const chapterData = (0,_utils_chapter__WEBPACK_IMPORTED_MODULE_9__/* .getChapterData */ .dy)(chaptersData, bookmark.key.toString());
  156. const verseKey = (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber);
  157. return `${chapterData.transliteratedName} ${(0,_utils_locale__WEBPACK_IMPORTED_MODULE_11__/* .toLocalizedVerseKey */ .Tj)(verseKey, lang)}`;
  158. };
  159. const onToggleAllClicked = ()=>{
  160. setIsOpen((currentIsOpen)=>{
  161. if (currentIsOpen) {
  162. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_collapse_all", {
  163. collectionId: id
  164. });
  165. } else {
  166. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("collection_expand_all", {
  167. collectionId: id
  168. });
  169. }
  170. return !currentIsOpen;
  171. });
  172. };
  173. const onBackToCollectionsClicked = ()=>{
  174. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logButtonClick */ .MY)("back_to_collections_button", {
  175. collectionId: id
  176. });
  177. };
  178. const onBookmarkMenuOpenChange = (isMenuOpen, bookmark)=>{
  179. const eventData = {
  180. verseKey: (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber),
  181. collectionId: id
  182. };
  183. if (isMenuOpen) {
  184. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_popover_menu_opened", eventData);
  185. } else {
  186. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_popover_menu_closed", eventData);
  187. }
  188. };
  189. const onCollapseOpenChange = (isCollapseOpen, verseKey)=>{
  190. const eventData = {
  191. verseKey,
  192. collectionId: id
  193. };
  194. if (isCollapseOpen) {
  195. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_collapse_opened", eventData);
  196. } else {
  197. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_10__/* .logEvent */ .Kz)("collection_bookmark_collapse_closed", eventData);
  198. }
  199. };
  200. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  201. children: [
  202. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  203. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().container),
  204. children: [
  205. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  206. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().header),
  207. children: [
  208. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  209. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().title),
  210. children: title
  211. }),
  212. isOwner && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_CollectionSorter_CollectionSorter__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
  213. selectedOptionId: sortBy,
  214. onChange: onSortByChange,
  215. options: sortOptions,
  216. isSingleCollection: true,
  217. collectionId: id
  218. })
  219. ]
  220. }),
  221. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, {
  222. variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  223. onClick: onToggleAllClicked,
  224. children: isOpen ? t("collection:collapse-all") : t("collection:expand-all")
  225. }),
  226. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  227. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().collectionItemsContainer),
  228. children: isCollectionEmpty ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  229. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().emptyCollectionContainer),
  230. children: [
  231. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
  232. children: t("collection:empty")
  233. }),
  234. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  235. className: (_CollectionDetail_module_scss__WEBPACK_IMPORTED_MODULE_20___default().backToCollectionButtonContainer),
  236. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, {
  237. onClick: onBackToCollectionsClicked,
  238. href: "/profile",
  239. children: t("collection:back-to-collection-list")
  240. })
  241. })
  242. ]
  243. }) : bookmarks.map((bookmark)=>{
  244. const bookmarkName = getBookmarkName(bookmark);
  245. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Collapsible_Collapsible__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
  246. onOpenChange: (isCollapseOpen)=>onCollapseOpenChange(isCollapseOpen, (0,_utils_verse__WEBPACK_IMPORTED_MODULE_13__/* .makeVerseKey */ .u)(bookmark.key, bookmark.verseNumber)),
  247. shouldOpen: isOpen,
  248. title: bookmarkName,
  249. prefix: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_chevron_down_svg__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {}),
  250. shouldRotatePrefixOnToggle: true,
  251. suffix: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
  252. trigger: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP, {
  253. variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_14__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  254. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_menu_more_horiz_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
  255. }),
  256. onOpenChange: (isMenuOpen)=>onBookmarkMenuOpenChange(isMenuOpen, bookmark),
  257. children: [
  258. isOwner && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Item */ .Z.Item, {
  259. onClick: handleDeleteMenuClicked(bookmark),
  260. children: t("common:delete")
  261. }),
  262. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_PopoverMenu_PopoverMenu__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Item */ .Z.Item, {
  263. onClick: handleGoToAyah(bookmark),
  264. shouldCloseMenuAfterClick: true,
  265. children: t("collection:go-to-ayah")
  266. })
  267. ]
  268. }),
  269. children: ({ isOpen: isOpenRenderProp })=>{
  270. if (!isOpenRenderProp) return null;
  271. const chapterId = bookmark.key;
  272. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_EmbeddableVerseCell__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
  273. chapterId: chapterId,
  274. verseNumber: bookmark.verseNumber
  275. });
  276. }
  277. }, bookmark.id);
  278. })
  279. })
  280. ]
  281. }),
  282. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_ConfirmationModal_ConfirmationModal__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
  283. ]
  284. });
  285. };
  286. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CollectionDetail);
  287. __webpack_async_result__();
  288. } catch(e) { __webpack_async_result__(e); } });
  289. /***/ }),
  290. /***/ 45865:
  291. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  292. "use strict";
  293. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  294. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  295. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  296. /* harmony export */ });
  297. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  298. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  299. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
  300. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
  301. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71853);
  302. /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);
  303. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(60866);
  304. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3__);
  305. /* harmony import */ var swr_infinite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91448);
  306. /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(23848);
  307. /* harmony import */ var _pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18__);
  308. /* harmony import */ var _CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(82642);
  309. /* harmony import */ var _CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16__);
  310. /* harmony import */ var _components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(25869);
  311. /* harmony import */ var _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7190);
  312. /* harmony import */ var _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79717);
  313. /* harmony import */ var _icons_west_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58421);
  314. /* harmony import */ var _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(55943);
  315. /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(24709);
  316. /* harmony import */ var _utils_navigation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(57933);
  317. /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(96174);
  318. /* harmony import */ var src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(59639);
  319. /* harmony import */ var src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(50497);
  320. /* harmony import */ var src_pages_error__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(36049);
  321. /* harmony import */ var src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(37883);
  322. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([swr_infinite__WEBPACK_IMPORTED_MODULE_4__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__, src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__, src_pages_error__WEBPACK_IMPORTED_MODULE_14__]);
  323. ([swr_infinite__WEBPACK_IMPORTED_MODULE_4__, _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__, _utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__, _utils_navigation__WEBPACK_IMPORTED_MODULE_11__, src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__, src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__, src_pages_error__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  324. const CollectionDetailContainer = ({ title , getSWRKey , onSortByChange , sortBy , shouldDeleteBookmark })=>{
  325. const { t , lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_3___default()();
  326. const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();
  327. const collectionId = router.query.collectionId;
  328. const toast = (0,_dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .useToast */ .pm)();
  329. const { data , size , setSize , mutate , isValidating , error } = (0,swr_infinite__WEBPACK_IMPORTED_MODULE_4__["default"])(getSWRKey, src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .privateFetcher */ .UK);
  330. if (error) {
  331. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_pages_error__WEBPACK_IMPORTED_MODULE_14__["default"], {
  332. statusCode: 403
  333. });
  334. }
  335. if (!data) {
  336. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  337. className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().container), (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().loadingContainer)),
  338. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  339. shouldDelayVisibility: true,
  340. size: _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* .SpinnerSize.Large */ .E.Large
  341. })
  342. });
  343. }
  344. const onUpdated = ()=>{
  345. mutate();
  346. };
  347. const lastPageData = data[data.length - 1];
  348. const { hasNextPage } = lastPageData.pagination;
  349. const bookmarks = data.map((response)=>response.data.bookmarks).flat();
  350. const collectionTitle = title || data[0].data.collection.name;
  351. const isOwner = data[0]?.data?.isOwner;
  352. const loadMore = ()=>{
  353. setSize(size + 1);
  354. (0,_utils_eventLogger__WEBPACK_IMPORTED_MODULE_9__/* .logButtonClick */ .MY)("collection_detail_page_load_more", {
  355. collectionId: (0,_utils_string__WEBPACK_IMPORTED_MODULE_17__/* .slugifiedCollectionIdToCollectionId */ .Nl)(collectionId),
  356. page: size + 1
  357. });
  358. };
  359. const navigationUrl = (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getCollectionNavigationUrl */ .pg)(collectionId);
  360. const onItemDeleted = (bookmarkId)=>{
  361. if (shouldDeleteBookmark) {
  362. (0,src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .deleteBookmarkById */ .ez)(bookmarkId).then(()=>{
  363. onUpdated();
  364. }).catch(()=>{
  365. toast(t("common:error.general"), {
  366. status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error
  367. });
  368. });
  369. } else {
  370. (0,src_utils_auth_api__WEBPACK_IMPORTED_MODULE_15__/* .deleteCollectionBookmarkById */ .Qd)(collectionId, bookmarkId).then(()=>{
  371. onUpdated();
  372. }).catch(()=>{
  373. toast(t("common:error.general"), {
  374. status: _dls_Toast_Toast__WEBPACK_IMPORTED_MODULE_7__/* .ToastStatus.Error */ .YZ.Error
  375. });
  376. });
  377. }
  378. };
  379. const isLoadingMoreData = bookmarks?.length > 0 && size > 1 && isValidating;
  380. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  381. children: [
  382. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_NextSeoWrapper__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  383. title: collectionTitle,
  384. canonical: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getCanonicalUrl */ .Z2)(lang, navigationUrl),
  385. languageAlternates: (0,_utils_locale__WEBPACK_IMPORTED_MODULE_10__/* .getLanguageAlternates */ .qc)(navigationUrl),
  386. nofollow: true,
  387. noindex: true
  388. }),
  389. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  390. className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().pageContainer),
  391. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  392. className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().flow),
  393. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  394. className: (_pages_index_module_scss__WEBPACK_IMPORTED_MODULE_18___default().flowItem),
  395. children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  396. className: (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().container),
  397. children: [
  398. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, {
  399. href: (0,_utils_navigation__WEBPACK_IMPORTED_MODULE_11__/* .getProfileNavigationUrl */ .kJ)(),
  400. variant: src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* .ButtonVariant.Ghost */ .Wu.Ghost,
  401. hasSidePadding: false,
  402. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_icons_west_svg__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})
  403. }),
  404. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_Collection_CollectionDetail_CollectionDetail__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
  405. id: (0,_utils_string__WEBPACK_IMPORTED_MODULE_17__/* .slugifiedCollectionIdToCollectionId */ .Nl)(collectionId),
  406. title: collectionTitle,
  407. bookmarks: bookmarks,
  408. sortBy: sortBy,
  409. onSortByChange: onSortByChange,
  410. onItemDeleted: onItemDeleted,
  411. isOwner: isOwner
  412. }),
  413. isLoadingMoreData && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  414. size: _dls_Spinner_Spinner__WEBPACK_IMPORTED_MODULE_6__/* .SpinnerSize.Large */ .E.Large
  415. }),
  416. hasNextPage && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  417. className: (_CollectionDetailContainer_module_scss__WEBPACK_IMPORTED_MODULE_16___default().loadMoreContainer),
  418. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(src_components_dls_Button_Button__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .ZP, {
  419. onClick: loadMore,
  420. children: t("collection:load-more")
  421. })
  422. })
  423. ]
  424. })
  425. })
  426. })
  427. })
  428. ]
  429. });
  430. };
  431. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CollectionDetailContainer);
  432. __webpack_async_result__();
  433. } catch(e) { __webpack_async_result__(e); } });
  434. /***/ }),
  435. /***/ 43749:
  436. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  437. "use strict";
  438. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  439. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  440. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
  441. /* harmony export */ });
  442. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  443. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  444. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  445. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  446. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60866);
  447. /* harmony import */ var next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2__);
  448. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
  449. /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
  450. /* harmony import */ var _EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(31246);
  451. /* harmony import */ var _EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13__);
  452. /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92684);
  453. /* harmony import */ var _components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12951);
  454. /* harmony import */ var _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18809);
  455. /* harmony import */ var _components_QuranReader_VerseTextPreview__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57072);
  456. /* harmony import */ var _redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62093);
  457. /* harmony import */ var _redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(88548);
  458. /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4917);
  459. /* harmony import */ var _utils_apiPaths__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(46127);
  460. /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5639);
  461. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__]);
  462. ([_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__, _components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
  463. const EmbeddableVerseCell = ({ chapterId , verseNumber , fontScale })=>{
  464. const quranReaderStyles = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_styles__WEBPACK_IMPORTED_MODULE_8__/* .selectQuranReaderStyles */ .Pt, react_redux__WEBPACK_IMPORTED_MODULE_3__.shallowEqual);
  465. const { quranFont , mushafLines } = quranReaderStyles;
  466. const { mushaf } = (0,_utils_api__WEBPACK_IMPORTED_MODULE_10__/* .getMushafId */ .$P)(quranFont, mushafLines);
  467. const selectedTranslations = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(_redux_slices_QuranReader_translations__WEBPACK_IMPORTED_MODULE_9__/* .selectSelectedTranslations */ .qw, _utils_array__WEBPACK_IMPORTED_MODULE_12__/* .areArraysEqual */ .Hj);
  468. const { lang } = next_translate_useTranslation__WEBPACK_IMPORTED_MODULE_2___default()();
  469. const apiParams = {
  470. words: true,
  471. perPage: 1,
  472. translations: selectedTranslations.join(","),
  473. page: verseNumber,
  474. ...(0,_utils_api__WEBPACK_IMPORTED_MODULE_10__/* .getDefaultWordFields */ .hD)(quranReaderStyles.quranFont),
  475. mushaf
  476. };
  477. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_DataFetcher__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
  478. // TODO: if we want to make this more optimized, we can use a shared cache with the QuranReader
  479. queryKey: `embeddable-verse-${chapterId}:${verseNumber}`,
  480. fetcher: ()=>(0,_api__WEBPACK_IMPORTED_MODULE_4__/* .fetcher */ ._i)((0,_utils_apiPaths__WEBPACK_IMPORTED_MODULE_11__/* .makeVersesUrl */ .ML)(chapterId.toString(), lang, apiParams)),
  481. render: (data)=>{
  482. if (!data) return null;
  483. const firstVerse = data.verses?.[0];
  484. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  485. className: (_EmbeddableVerseCell_module_scss__WEBPACK_IMPORTED_MODULE_13___default().verseContainer),
  486. children: [
  487. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_VerseTextPreview__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
  488. verses: data.verses,
  489. fontScale: fontScale
  490. }),
  491. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  492. children: firstVerse.translations?.map((translation)=>{
  493. return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components_QuranReader_TranslationView_TranslationText__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
  494. translationFontScale: quranReaderStyles.translationFontScale,
  495. text: translation.text,
  496. languageId: translation.languageId,
  497. resourceName: translation.resourceName
  498. }, translation.id);
  499. })
  500. })
  501. ]
  502. });
  503. }
  504. });
  505. };
  506. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EmbeddableVerseCell);
  507. __webpack_async_result__();
  508. } catch(e) { __webpack_async_result__(e); } });
  509. /***/ }),
  510. /***/ 92775:
  511. /***/ ((module, __webpack_exports__, __webpack_require__) => {
  512. "use strict";
  513. __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
  514. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  515. /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__),
  516. /* harmony export */ "a": () => (/* binding */ CollapsibleDirection)
  517. /* harmony export */ });
  518. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
  519. /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
  520. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
  521. /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
  522. /* harmony import */ var _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74973);
  523. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(59003);
  524. /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  525. /* harmony import */ var _Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81670);
  526. /* harmony import */ var _Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4__);
  527. var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__]);
  528. _radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
  529. /* eslint-disable jsx-a11y/no-static-element-interactions */ /* eslint-disable jsx-a11y/click-events-have-key-events */
  530. var CollapsibleDirection;
  531. (function(CollapsibleDirection) {
  532. CollapsibleDirection["Left"] = "left";
  533. CollapsibleDirection["Right"] = "right";
  534. })(CollapsibleDirection || (CollapsibleDirection = {}));
  535. const Collapsible = ({ isDefaultOpen =false , prefix , title , suffix , children , shouldRotatePrefixOnToggle , shouldOpen , onOpenChange , direction =CollapsibleDirection.Left })=>{
  536. const { 0: isOpen , 1: setIsOpen } = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(isDefaultOpen);
  537. (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{
  538. setIsOpen(shouldOpen);
  539. }, [
  540. shouldOpen
  541. ]);
  542. const onSuffixClicked = (e)=>{
  543. e.preventDefault();
  544. e.stopPropagation();
  545. };
  546. const onHeaderClicked = ()=>setIsOpen((preValue)=>!preValue);
  547. return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.Root, {
  548. onOpenChange: onOpenChange,
  549. open: isOpen,
  550. children: [
  551. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.Trigger, {
  552. asChild: true,
  553. children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  554. className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().header),
  555. onClick: onHeaderClicked,
  556. children: direction === CollapsibleDirection.Left ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  557. children: [
  558. /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
  559. className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().headerLeft),
  560. children: [
  561. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  562. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixContainer), {
  563. [(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixRotated)]: shouldRotatePrefixOnToggle && isOpen
  564. }),
  565. children: prefix
  566. }),
  567. title
  568. ]
  569. }),
  570. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  571. className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().suffixContainer),
  572. onClick: onSuffixClicked,
  573. children: suffix
  574. })
  575. ]
  576. }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
  577. children: [
  578. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  579. className: (_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().headerLeft),
  580. children: title
  581. }),
  582. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
  583. className: classnames__WEBPACK_IMPORTED_MODULE_3___default()((_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixContainer), {
  584. [(_Collapsible_module_scss__WEBPACK_IMPORTED_MODULE_4___default().prefixRotated)]: shouldRotatePrefixOnToggle && isOpen
  585. }),
  586. children: prefix
  587. })
  588. ]
  589. })
  590. })
  591. }),
  592. /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_radix_ui_react_collapsible__WEBPACK_IMPORTED_MODULE_2__.CollapsibleContent, {
  593. children: isOpen && children({
  594. isOpen
  595. })
  596. })
  597. ]
  598. });
  599. };
  600. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Collapsible);
  601. __webpack_async_result__();
  602. } catch(e) { __webpack_async_result__(e); } });
  603. /***/ })
  604. };
  605. ;
  606. //# sourceMappingURL=45865.js.map