codex 1.7.0a0__py3-none-any.whl → 1.7.0a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (715) hide show
  1. codex/choices.py +404 -0
  2. codex/choices_to_json.py +122 -0
  3. codex/db.py +31 -15
  4. codex/exceptions.py +2 -3
  5. codex/librarian/bookmark/__init__.py +1 -0
  6. codex/librarian/bookmark/bookmarkd.py +38 -0
  7. codex/librarian/bookmark/tasks.py +19 -0
  8. codex/librarian/bookmark/update.py +154 -0
  9. codex/librarian/covers/coverd.py +3 -4
  10. codex/librarian/covers/create.py +8 -7
  11. codex/librarian/covers/path.py +1 -2
  12. codex/librarian/covers/purge.py +2 -2
  13. codex/librarian/janitor/integrity.py +1 -0
  14. codex/librarian/librariand.py +5 -0
  15. codex/librarian/watchdog/emitter.py +21 -19
  16. codex/librarian/watchdog/event_batcherd.py +0 -1
  17. codex/migrations/0030_nocase_collation_day_month_indexes_status_types.py +4 -0
  18. codex/models/admin.py +0 -5
  19. codex/models/functions.py +6 -5
  20. codex/models/query.py +6 -0
  21. codex/run.py +11 -9
  22. codex/serializers/admin/tasks.py +2 -2
  23. codex/serializers/browser/mixins.py +18 -14
  24. codex/serializers/browser/settings.py +4 -4
  25. codex/serializers/fields.py +9 -5
  26. codex/startup.py +6 -4
  27. codex/static_root/assets/VCheckbox-B38iL9f_.81d9c00753e7.js +1 -0
  28. codex/static_root/assets/VCheckbox-B38iL9f_.81d9c00753e7.js.br +0 -0
  29. codex/static_root/assets/VCheckbox-B38iL9f_.81d9c00753e7.js.gz +0 -0
  30. codex/static_root/assets/VCheckbox-B38iL9f_.js +1 -0
  31. codex/static_root/assets/VCheckbox-B38iL9f_.js.br +0 -0
  32. codex/static_root/assets/VCheckbox-B38iL9f_.js.gz +0 -0
  33. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.aa7fa886f86a.js +1 -0
  34. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.aa7fa886f86a.js.br +0 -0
  35. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.aa7fa886f86a.js.gz +0 -0
  36. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.js +1 -0
  37. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.js.br +0 -0
  38. codex/static_root/assets/VCheckboxBtn-BbNnqvzj.js.gz +0 -0
  39. codex/static_root/assets/VCombobox-BaV3XhIr.bf0c945d80a9.js +1 -0
  40. codex/static_root/assets/VCombobox-BaV3XhIr.bf0c945d80a9.js.br +0 -0
  41. codex/static_root/assets/VCombobox-BaV3XhIr.bf0c945d80a9.js.gz +0 -0
  42. codex/static_root/assets/VCombobox-BaV3XhIr.js +1 -0
  43. codex/static_root/assets/VCombobox-BaV3XhIr.js.br +0 -0
  44. codex/static_root/assets/VCombobox-BaV3XhIr.js.gz +0 -0
  45. codex/static_root/assets/VDialog-CSvrKKb2.css +1 -0
  46. codex/static_root/assets/VDialog-CSvrKKb2.css.br +0 -0
  47. codex/static_root/assets/VDialog-CSvrKKb2.css.gz +0 -0
  48. codex/static_root/assets/VDialog-CSvrKKb2.fd4d50904b17.css +1 -0
  49. codex/static_root/assets/VDialog-CSvrKKb2.fd4d50904b17.css.br +0 -0
  50. codex/static_root/assets/VDialog-CSvrKKb2.fd4d50904b17.css.gz +0 -0
  51. codex/static_root/assets/VDialog-DJR54d5g.9d6a52f62db3.js +1 -0
  52. codex/static_root/assets/VDialog-DJR54d5g.9d6a52f62db3.js.br +0 -0
  53. codex/static_root/assets/VDialog-DJR54d5g.9d6a52f62db3.js.gz +0 -0
  54. codex/static_root/assets/VDialog-DJR54d5g.js +1 -0
  55. codex/static_root/assets/VDialog-DJR54d5g.js.br +0 -0
  56. codex/static_root/assets/VDialog-DJR54d5g.js.gz +0 -0
  57. codex/static_root/assets/VExpansionPanels-CJWqDA9d.acf5acdb3a81.js +1 -0
  58. codex/static_root/assets/VExpansionPanels-CJWqDA9d.acf5acdb3a81.js.br +0 -0
  59. codex/static_root/assets/VExpansionPanels-CJWqDA9d.acf5acdb3a81.js.gz +0 -0
  60. codex/static_root/assets/VExpansionPanels-CJWqDA9d.js +1 -0
  61. codex/static_root/assets/VExpansionPanels-CJWqDA9d.js.br +0 -0
  62. codex/static_root/assets/VExpansionPanels-CJWqDA9d.js.gz +0 -0
  63. codex/static_root/assets/VRadioGroup-BFLE3yCT.8b78cefe4206.js +1 -0
  64. codex/static_root/assets/VRadioGroup-BFLE3yCT.8b78cefe4206.js.br +0 -0
  65. codex/static_root/assets/VRadioGroup-BFLE3yCT.8b78cefe4206.js.gz +0 -0
  66. codex/static_root/assets/VRadioGroup-BFLE3yCT.js +1 -0
  67. codex/static_root/assets/VRadioGroup-BFLE3yCT.js.br +0 -0
  68. codex/static_root/assets/VRadioGroup-BFLE3yCT.js.gz +0 -0
  69. codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css +1 -0
  70. codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css.br +0 -0
  71. codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css.gz +0 -0
  72. codex/static_root/assets/VSelect-DLu8bpcs.css +1 -0
  73. codex/static_root/assets/VSelect-DLu8bpcs.css.br +0 -0
  74. codex/static_root/assets/VSelect-DLu8bpcs.css.gz +0 -0
  75. codex/static_root/assets/VSelect-Dvsi19pi.6d38dc99e0a8.js +1 -0
  76. codex/static_root/assets/VSelect-Dvsi19pi.6d38dc99e0a8.js.br +0 -0
  77. codex/static_root/assets/VSelect-Dvsi19pi.6d38dc99e0a8.js.gz +0 -0
  78. codex/static_root/assets/VSelect-Dvsi19pi.js +1 -0
  79. codex/static_root/assets/VSelect-Dvsi19pi.js.br +0 -0
  80. codex/static_root/assets/VSelect-Dvsi19pi.js.gz +0 -0
  81. codex/static_root/assets/VSelectionControl-BioGLzkQ.106c3be4b6d4.js +1 -0
  82. codex/static_root/assets/VSelectionControl-BioGLzkQ.106c3be4b6d4.js.br +0 -0
  83. codex/static_root/assets/VSelectionControl-BioGLzkQ.106c3be4b6d4.js.gz +0 -0
  84. codex/static_root/assets/VSelectionControl-BioGLzkQ.js +1 -0
  85. codex/static_root/assets/VSelectionControl-BioGLzkQ.js.br +0 -0
  86. codex/static_root/assets/VSelectionControl-BioGLzkQ.js.gz +0 -0
  87. codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css +1 -0
  88. codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css.br +0 -0
  89. codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css.gz +0 -0
  90. codex/static_root/assets/VSlideGroup-BtXPhMOT.css +1 -0
  91. codex/static_root/assets/VSlideGroup-BtXPhMOT.css.br +0 -0
  92. codex/static_root/assets/VSlideGroup-BtXPhMOT.css.gz +0 -0
  93. codex/static_root/assets/VSlideGroup-CFkaPBuS.1d168fc87687.js +1 -0
  94. codex/static_root/assets/VSlideGroup-CFkaPBuS.1d168fc87687.js.br +0 -0
  95. codex/static_root/assets/VSlideGroup-CFkaPBuS.1d168fc87687.js.gz +0 -0
  96. codex/static_root/assets/VSlideGroup-CFkaPBuS.js +1 -0
  97. codex/static_root/assets/VSlideGroup-CFkaPBuS.js.br +0 -0
  98. codex/static_root/assets/VSlideGroup-CFkaPBuS.js.gz +0 -0
  99. codex/static_root/assets/VTable-B7x3Oih2.d0010dab39ce.js +1 -0
  100. codex/static_root/assets/VTable-B7x3Oih2.d0010dab39ce.js.br +0 -0
  101. codex/static_root/assets/VTable-B7x3Oih2.d0010dab39ce.js.gz +0 -0
  102. codex/static_root/assets/VTable-B7x3Oih2.js +1 -0
  103. codex/static_root/assets/VTable-B7x3Oih2.js.br +0 -0
  104. codex/static_root/assets/VTable-B7x3Oih2.js.gz +0 -0
  105. codex/static_root/assets/VTextField-BnCEPZIq.b0c32b2c0b14.css +1 -0
  106. codex/static_root/assets/VTextField-BnCEPZIq.b0c32b2c0b14.css.br +0 -0
  107. codex/static_root/assets/VTextField-BnCEPZIq.b0c32b2c0b14.css.gz +0 -0
  108. codex/static_root/assets/VTextField-BnCEPZIq.css +1 -0
  109. codex/static_root/assets/VTextField-BnCEPZIq.css.br +0 -0
  110. codex/static_root/assets/VTextField-BnCEPZIq.css.gz +0 -0
  111. codex/static_root/assets/VTextField-rsRdtAxl.488a06f530fe.js +1 -0
  112. codex/static_root/assets/VTextField-rsRdtAxl.488a06f530fe.js.br +0 -0
  113. codex/static_root/assets/VTextField-rsRdtAxl.488a06f530fe.js.gz +0 -0
  114. codex/static_root/assets/VTextField-rsRdtAxl.js +1 -0
  115. codex/static_root/assets/VTextField-rsRdtAxl.js.br +0 -0
  116. codex/static_root/assets/VTextField-rsRdtAxl.js.gz +0 -0
  117. codex/static_root/assets/VWindowItem-CibnlNHs.75a48ded87d5.js +1 -0
  118. codex/static_root/assets/VWindowItem-CibnlNHs.75a48ded87d5.js.br +0 -0
  119. codex/static_root/assets/VWindowItem-CibnlNHs.75a48ded87d5.js.gz +0 -0
  120. codex/static_root/assets/VWindowItem-CibnlNHs.js +1 -0
  121. codex/static_root/assets/VWindowItem-CibnlNHs.js.br +0 -0
  122. codex/static_root/assets/VWindowItem-CibnlNHs.js.gz +0 -0
  123. codex/static_root/assets/admin-CaVmJ-fa.251f5d3cc755.js +1 -0
  124. codex/static_root/assets/admin-CaVmJ-fa.251f5d3cc755.js.br +0 -0
  125. codex/static_root/assets/admin-CaVmJ-fa.251f5d3cc755.js.gz +0 -0
  126. codex/static_root/assets/admin-CaVmJ-fa.js +1 -0
  127. codex/static_root/assets/admin-CaVmJ-fa.js.br +0 -0
  128. codex/static_root/assets/admin-CaVmJ-fa.js.gz +0 -0
  129. codex/static_root/assets/{admin-CWEjaFr5.7d4523387384.css → admin-DJ7pIXDQ.css} +1 -1
  130. codex/static_root/assets/admin-DJ7pIXDQ.css.br +0 -0
  131. codex/static_root/assets/admin-DJ7pIXDQ.css.gz +0 -0
  132. codex/static_root/assets/{admin-CWEjaFr5.css → admin-DJ7pIXDQ.e2a77af73ef2.css} +1 -1
  133. codex/static_root/assets/admin-DJ7pIXDQ.e2a77af73ef2.css.br +0 -0
  134. codex/static_root/assets/admin-DJ7pIXDQ.e2a77af73ef2.css.gz +0 -0
  135. codex/static_root/assets/admin-menu-B9bzD6hV.c13b7df2ff57.css +1 -0
  136. codex/static_root/assets/admin-menu-B9bzD6hV.c13b7df2ff57.css.br +0 -0
  137. codex/static_root/assets/admin-menu-B9bzD6hV.c13b7df2ff57.css.gz +0 -0
  138. codex/static_root/assets/admin-menu-B9bzD6hV.css +1 -0
  139. codex/static_root/assets/admin-menu-B9bzD6hV.css.br +0 -0
  140. codex/static_root/assets/admin-menu-B9bzD6hV.css.gz +0 -0
  141. codex/static_root/assets/admin-menu-Cb7A0Ilo.ddf1e9339257.js +1 -0
  142. codex/static_root/assets/admin-menu-Cb7A0Ilo.ddf1e9339257.js.br +0 -0
  143. codex/static_root/assets/admin-menu-Cb7A0Ilo.ddf1e9339257.js.gz +0 -0
  144. codex/static_root/assets/admin-menu-Cb7A0Ilo.js +1 -0
  145. codex/static_root/assets/admin-menu-Cb7A0Ilo.js.br +0 -0
  146. codex/static_root/assets/admin-menu-Cb7A0Ilo.js.gz +0 -0
  147. codex/static_root/assets/admin-settings-button-progress-DID-drll.979420762aea.js +1 -0
  148. codex/static_root/assets/admin-settings-button-progress-DID-drll.979420762aea.js.br +0 -0
  149. codex/static_root/assets/admin-settings-button-progress-DID-drll.979420762aea.js.gz +0 -0
  150. codex/static_root/assets/admin-settings-button-progress-DID-drll.js +1 -0
  151. codex/static_root/assets/admin-settings-button-progress-DID-drll.js.br +0 -0
  152. codex/static_root/assets/admin-settings-button-progress-DID-drll.js.gz +0 -0
  153. codex/static_root/assets/admin-settings-button-progress-DUUQfVsZ.2548c49a853e.css +1 -0
  154. codex/static_root/assets/admin-settings-button-progress-DUUQfVsZ.css +1 -0
  155. codex/static_root/assets/browser-Br5CorL4.6e2a416309d5.css +1 -0
  156. codex/static_root/assets/browser-Br5CorL4.6e2a416309d5.css.br +0 -0
  157. codex/static_root/assets/browser-Br5CorL4.6e2a416309d5.css.gz +0 -0
  158. codex/static_root/assets/browser-Br5CorL4.css +1 -0
  159. codex/static_root/assets/browser-Br5CorL4.css.br +0 -0
  160. codex/static_root/assets/browser-Br5CorL4.css.gz +0 -0
  161. codex/static_root/assets/browser-xxQTUEuu.1686c20dc492.js +1 -0
  162. codex/static_root/assets/browser-xxQTUEuu.1686c20dc492.js.br +0 -0
  163. codex/static_root/assets/browser-xxQTUEuu.1686c20dc492.js.gz +0 -0
  164. codex/static_root/assets/browser-xxQTUEuu.js +1 -0
  165. codex/static_root/assets/browser-xxQTUEuu.js.br +0 -0
  166. codex/static_root/assets/browser-xxQTUEuu.js.gz +0 -0
  167. codex/static_root/assets/change-password-dialog-DXY2Xg9k.4a7ca6108810.js +1 -0
  168. codex/static_root/assets/change-password-dialog-DXY2Xg9k.4a7ca6108810.js.br +0 -0
  169. codex/static_root/assets/change-password-dialog-DXY2Xg9k.4a7ca6108810.js.gz +0 -0
  170. codex/static_root/assets/change-password-dialog-DXY2Xg9k.js +1 -0
  171. codex/static_root/assets/change-password-dialog-DXY2Xg9k.js.br +0 -0
  172. codex/static_root/assets/change-password-dialog-DXY2Xg9k.js.gz +0 -0
  173. codex/static_root/assets/change-password-dialog-DrIXdKUC.217574b45b02.css +1 -0
  174. codex/static_root/assets/change-password-dialog-DrIXdKUC.217574b45b02.css.br +0 -0
  175. codex/static_root/assets/change-password-dialog-DrIXdKUC.217574b45b02.css.gz +0 -0
  176. codex/static_root/assets/change-password-dialog-DrIXdKUC.css +1 -0
  177. codex/static_root/assets/change-password-dialog-DrIXdKUC.css.br +0 -0
  178. codex/static_root/assets/change-password-dialog-DrIXdKUC.css.gz +0 -0
  179. codex/static_root/assets/confirm-dialog-B7w6z2rf.472011c06253.css +1 -0
  180. codex/static_root/assets/confirm-dialog-B7w6z2rf.css +1 -0
  181. codex/static_root/assets/confirm-dialog-BEVEU-kA.281b6e877fb5.js +1 -0
  182. codex/static_root/assets/confirm-dialog-BEVEU-kA.281b6e877fb5.js.br +0 -0
  183. codex/static_root/assets/confirm-dialog-BEVEU-kA.281b6e877fb5.js.gz +0 -0
  184. codex/static_root/assets/confirm-dialog-BEVEU-kA.js +1 -0
  185. codex/static_root/assets/confirm-dialog-BEVEU-kA.js.br +0 -0
  186. codex/static_root/assets/confirm-dialog-BEVEU-kA.js.gz +0 -0
  187. codex/static_root/assets/datetime-column-DhrZEHwa.80e95aef7bdb.js +1 -0
  188. codex/static_root/assets/datetime-column-DhrZEHwa.80e95aef7bdb.js.br +1 -0
  189. codex/static_root/assets/datetime-column-DhrZEHwa.80e95aef7bdb.js.gz +0 -0
  190. codex/static_root/assets/datetime-column-DhrZEHwa.js +1 -0
  191. codex/static_root/assets/datetime-column-DhrZEHwa.js.br +1 -0
  192. codex/static_root/assets/datetime-column-DhrZEHwa.js.gz +0 -0
  193. codex/static_root/assets/filter-BJ7TmFiU.3cefe2d609c7.js +1 -0
  194. codex/static_root/assets/filter-BJ7TmFiU.3cefe2d609c7.js.br +0 -0
  195. codex/static_root/assets/filter-BJ7TmFiU.3cefe2d609c7.js.gz +0 -0
  196. codex/static_root/assets/filter-BJ7TmFiU.js +1 -0
  197. codex/static_root/assets/filter-BJ7TmFiU.js.br +0 -0
  198. codex/static_root/assets/filter-BJ7TmFiU.js.gz +0 -0
  199. codex/static_root/assets/flag-tab-AJj0sesB.2ab1be15d10f.js +1 -0
  200. codex/static_root/assets/flag-tab-AJj0sesB.2ab1be15d10f.js.br +0 -0
  201. codex/static_root/assets/flag-tab-AJj0sesB.2ab1be15d10f.js.gz +0 -0
  202. codex/static_root/assets/flag-tab-AJj0sesB.js +1 -0
  203. codex/static_root/assets/flag-tab-AJj0sesB.js.br +0 -0
  204. codex/static_root/assets/flag-tab-AJj0sesB.js.gz +0 -0
  205. codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css +1 -0
  206. codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css.br +0 -0
  207. codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css.gz +0 -0
  208. codex/static_root/assets/flag-tab-CqWovuBu.css +1 -0
  209. codex/static_root/assets/flag-tab-CqWovuBu.css.br +0 -0
  210. codex/static_root/assets/flag-tab-CqWovuBu.css.gz +0 -0
  211. codex/static_root/assets/group-tab-DkIN1Heu.948e907b1e6b.css +1 -0
  212. codex/static_root/assets/group-tab-DkIN1Heu.948e907b1e6b.css.br +0 -0
  213. codex/static_root/assets/group-tab-DkIN1Heu.948e907b1e6b.css.gz +0 -0
  214. codex/static_root/assets/group-tab-DkIN1Heu.css +1 -0
  215. codex/static_root/assets/group-tab-DkIN1Heu.css.br +0 -0
  216. codex/static_root/assets/group-tab-DkIN1Heu.css.gz +0 -0
  217. codex/static_root/assets/group-tab-DuxOH4Hn.8ac96cfe7c43.js +1 -0
  218. codex/static_root/assets/group-tab-DuxOH4Hn.8ac96cfe7c43.js.br +0 -0
  219. codex/static_root/assets/group-tab-DuxOH4Hn.8ac96cfe7c43.js.gz +0 -0
  220. codex/static_root/assets/group-tab-DuxOH4Hn.js +1 -0
  221. codex/static_root/assets/group-tab-DuxOH4Hn.js.br +0 -0
  222. codex/static_root/assets/group-tab-DuxOH4Hn.js.gz +0 -0
  223. codex/static_root/assets/http-error-DIeFpbQV.086e1dd09555.js +1 -0
  224. codex/static_root/assets/http-error-DIeFpbQV.086e1dd09555.js.br +0 -0
  225. codex/static_root/assets/http-error-DIeFpbQV.086e1dd09555.js.gz +0 -0
  226. codex/static_root/assets/http-error-DIeFpbQV.js +1 -0
  227. codex/static_root/assets/http-error-DIeFpbQV.js.br +0 -0
  228. codex/static_root/assets/http-error-DIeFpbQV.js.gz +0 -0
  229. codex/static_root/assets/index-CL_6g4tJ.523d7b3d350f.css +1 -0
  230. codex/static_root/assets/index-CL_6g4tJ.523d7b3d350f.css.br +0 -0
  231. codex/static_root/assets/index-CL_6g4tJ.523d7b3d350f.css.gz +0 -0
  232. codex/static_root/assets/index-CL_6g4tJ.css +1 -0
  233. codex/static_root/assets/index-CL_6g4tJ.css.br +0 -0
  234. codex/static_root/assets/index-CL_6g4tJ.css.gz +0 -0
  235. codex/static_root/assets/index-MN9BB_He.201e30aa00ef.js +1 -0
  236. codex/static_root/assets/index-MN9BB_He.201e30aa00ef.js.br +0 -0
  237. codex/static_root/assets/index-MN9BB_He.201e30aa00ef.js.gz +0 -0
  238. codex/static_root/assets/index-MN9BB_He.js +1 -0
  239. codex/static_root/assets/index-MN9BB_He.js.br +0 -0
  240. codex/static_root/assets/index-MN9BB_He.js.gz +0 -0
  241. codex/static_root/assets/{library-tab-Bh7ErAk7.7c44200ee727.css → library-tab-Wew8YOLv.0c1780a6b68e.css} +1 -1
  242. codex/static_root/assets/library-tab-Wew8YOLv.0c1780a6b68e.css.br +0 -0
  243. codex/static_root/assets/library-tab-Wew8YOLv.0c1780a6b68e.css.gz +0 -0
  244. codex/static_root/assets/{library-tab-Bh7ErAk7.css → library-tab-Wew8YOLv.css} +1 -1
  245. codex/static_root/assets/library-tab-Wew8YOLv.css.br +0 -0
  246. codex/static_root/assets/library-tab-Wew8YOLv.css.gz +0 -0
  247. codex/static_root/assets/library-tab-jpeUUWzV.70dae13f6dab.js +1 -0
  248. codex/static_root/assets/library-tab-jpeUUWzV.70dae13f6dab.js.br +0 -0
  249. codex/static_root/assets/library-tab-jpeUUWzV.70dae13f6dab.js.gz +0 -0
  250. codex/static_root/assets/library-tab-jpeUUWzV.js +1 -0
  251. codex/static_root/assets/library-tab-jpeUUWzV.js.br +0 -0
  252. codex/static_root/assets/library-tab-jpeUUWzV.js.gz +0 -0
  253. codex/static_root/assets/main-Cs7q8tob.86ef2567544d.js +35 -0
  254. codex/static_root/assets/main-Cs7q8tob.86ef2567544d.js.br +0 -0
  255. codex/static_root/assets/main-Cs7q8tob.86ef2567544d.js.gz +0 -0
  256. codex/static_root/assets/main-Cs7q8tob.js +35 -0
  257. codex/static_root/assets/main-Cs7q8tob.js.br +0 -0
  258. codex/static_root/assets/main-Cs7q8tob.js.gz +0 -0
  259. codex/static_root/assets/pager-full-pdf-D_ecZhu-.ff93ca6c55e0.js +1 -0
  260. codex/static_root/assets/pager-full-pdf-D_ecZhu-.ff93ca6c55e0.js.br +0 -0
  261. codex/static_root/assets/pager-full-pdf-D_ecZhu-.ff93ca6c55e0.js.gz +0 -0
  262. codex/static_root/assets/pager-full-pdf-D_ecZhu-.js +1 -0
  263. codex/static_root/assets/pager-full-pdf-D_ecZhu-.js.br +0 -0
  264. codex/static_root/assets/pager-full-pdf-D_ecZhu-.js.gz +0 -0
  265. codex/static_root/assets/pagination-toolbar-yeU7sPiY.ce0751d6009d.js +1 -0
  266. codex/static_root/assets/pagination-toolbar-yeU7sPiY.ce0751d6009d.js.br +0 -0
  267. codex/static_root/assets/pagination-toolbar-yeU7sPiY.ce0751d6009d.js.gz +0 -0
  268. codex/static_root/assets/pagination-toolbar-yeU7sPiY.js +1 -0
  269. codex/static_root/assets/pagination-toolbar-yeU7sPiY.js.br +0 -0
  270. codex/static_root/assets/pagination-toolbar-yeU7sPiY.js.gz +0 -0
  271. codex/static_root/assets/{pdf-doc-BcRNpoaW.882f6e967869.js → pdf-doc-Czi9tnhD.4d4b8b7ff5d7.js} +3 -3
  272. codex/static_root/assets/pdf-doc-Czi9tnhD.4d4b8b7ff5d7.js.br +0 -0
  273. codex/static_root/assets/pdf-doc-Czi9tnhD.4d4b8b7ff5d7.js.gz +0 -0
  274. codex/static_root/assets/{pdf-doc-BcRNpoaW.js → pdf-doc-Czi9tnhD.js} +3 -3
  275. codex/static_root/assets/pdf-doc-Czi9tnhD.js.br +0 -0
  276. codex/static_root/assets/pdf-doc-Czi9tnhD.js.gz +0 -0
  277. codex/static_root/assets/reader-DQKMY8MS.d9d3451f2cff.js +2 -0
  278. codex/static_root/assets/reader-DQKMY8MS.d9d3451f2cff.js.br +0 -0
  279. codex/static_root/assets/reader-DQKMY8MS.d9d3451f2cff.js.gz +0 -0
  280. codex/static_root/assets/reader-DQKMY8MS.js +2 -0
  281. codex/static_root/assets/reader-DQKMY8MS.js.br +0 -0
  282. codex/static_root/assets/reader-DQKMY8MS.js.gz +0 -0
  283. codex/static_root/assets/{reader-DveZZr9x.7b21b9f8f628.css → reader-OpKdTZ_B.css} +1 -1
  284. codex/static_root/assets/reader-OpKdTZ_B.css.br +0 -0
  285. codex/static_root/assets/reader-OpKdTZ_B.css.gz +0 -0
  286. codex/static_root/assets/{reader-DveZZr9x.css → reader-OpKdTZ_B.ebd1512b7014.css} +1 -1
  287. codex/static_root/assets/reader-OpKdTZ_B.ebd1512b7014.css.br +0 -0
  288. codex/static_root/assets/reader-OpKdTZ_B.ebd1512b7014.css.gz +0 -0
  289. codex/static_root/assets/relation-chips-CFH0Xf78.62ded2739a22.js +1 -0
  290. codex/static_root/assets/relation-chips-CFH0Xf78.62ded2739a22.js.br +0 -0
  291. codex/static_root/assets/relation-chips-CFH0Xf78.62ded2739a22.js.gz +0 -0
  292. codex/static_root/assets/relation-chips-CFH0Xf78.js +1 -0
  293. codex/static_root/assets/relation-chips-CFH0Xf78.js.br +0 -0
  294. codex/static_root/assets/relation-chips-CFH0Xf78.js.gz +0 -0
  295. codex/static_root/assets/settings-drawer-DbOztp2R.b6f981108782.js +2 -0
  296. codex/static_root/assets/settings-drawer-DbOztp2R.b6f981108782.js.br +0 -0
  297. codex/static_root/assets/settings-drawer-DbOztp2R.b6f981108782.js.gz +0 -0
  298. codex/static_root/assets/settings-drawer-DbOztp2R.js +2 -0
  299. codex/static_root/assets/settings-drawer-DbOztp2R.js.br +0 -0
  300. codex/static_root/assets/settings-drawer-DbOztp2R.js.gz +0 -0
  301. codex/static_root/assets/{stats-tab-DpfGsVX3.1cb66f2649a9.css → stats-tab-BAYTqQNg.5f715428c394.css} +1 -1
  302. codex/static_root/assets/stats-tab-BAYTqQNg.5f715428c394.css.br +0 -0
  303. codex/static_root/assets/stats-tab-BAYTqQNg.5f715428c394.css.gz +0 -0
  304. codex/static_root/assets/{stats-tab-DpfGsVX3.css → stats-tab-BAYTqQNg.css} +1 -1
  305. codex/static_root/assets/stats-tab-BAYTqQNg.css.br +0 -0
  306. codex/static_root/assets/stats-tab-BAYTqQNg.css.gz +0 -0
  307. codex/static_root/assets/stats-tab-DWktIwEj.42666baa0d93.js +1 -0
  308. codex/static_root/assets/stats-tab-DWktIwEj.42666baa0d93.js.br +0 -0
  309. codex/static_root/assets/stats-tab-DWktIwEj.42666baa0d93.js.gz +0 -0
  310. codex/static_root/assets/stats-tab-DWktIwEj.js +1 -0
  311. codex/static_root/assets/stats-tab-DWktIwEj.js.br +0 -0
  312. codex/static_root/assets/stats-tab-DWktIwEj.js.gz +0 -0
  313. codex/static_root/assets/task-tab--cXi48kg.5dfd6890a1c2.css +1 -0
  314. codex/static_root/assets/{task-tab-1XiWn9xP.06cb8e1b794d.css.br → task-tab--cXi48kg.5dfd6890a1c2.css.br} +1 -1
  315. codex/static_root/assets/task-tab--cXi48kg.5dfd6890a1c2.css.gz +0 -0
  316. codex/static_root/assets/task-tab--cXi48kg.css +1 -0
  317. codex/static_root/assets/{task-tab-1XiWn9xP.css.br → task-tab--cXi48kg.css.br} +1 -1
  318. codex/static_root/assets/task-tab--cXi48kg.css.gz +0 -0
  319. codex/static_root/assets/task-tab-BtTtKJP6.421692e51e82.js +1 -0
  320. codex/static_root/assets/task-tab-BtTtKJP6.421692e51e82.js.br +0 -0
  321. codex/static_root/assets/task-tab-BtTtKJP6.421692e51e82.js.gz +0 -0
  322. codex/static_root/assets/task-tab-BtTtKJP6.js +1 -0
  323. codex/static_root/assets/task-tab-BtTtKJP6.js.br +0 -0
  324. codex/static_root/assets/task-tab-BtTtKJP6.js.gz +0 -0
  325. codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css +1 -0
  326. codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css.br +4 -0
  327. codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css.gz +0 -0
  328. codex/static_root/assets/transition-5LRFTPo5.css +1 -0
  329. codex/static_root/assets/transition-5LRFTPo5.css.br +4 -0
  330. codex/static_root/assets/transition-5LRFTPo5.css.gz +0 -0
  331. codex/static_root/assets/transition-A__CJ90w.970355913cb9.js +1 -0
  332. codex/static_root/assets/transition-A__CJ90w.970355913cb9.js.br +0 -0
  333. codex/static_root/assets/transition-A__CJ90w.970355913cb9.js.gz +0 -0
  334. codex/static_root/assets/transition-A__CJ90w.js +1 -0
  335. codex/static_root/assets/transition-A__CJ90w.js.br +0 -0
  336. codex/static_root/assets/transition-A__CJ90w.js.gz +0 -0
  337. codex/static_root/assets/unauthorized-FF1nwDKt.b3d6255ddb7f.js +1 -0
  338. codex/static_root/assets/unauthorized-FF1nwDKt.b3d6255ddb7f.js.br +0 -0
  339. codex/static_root/assets/unauthorized-FF1nwDKt.b3d6255ddb7f.js.gz +0 -0
  340. codex/static_root/assets/unauthorized-FF1nwDKt.js +1 -0
  341. codex/static_root/assets/unauthorized-FF1nwDKt.js.br +0 -0
  342. codex/static_root/assets/unauthorized-FF1nwDKt.js.gz +0 -0
  343. codex/static_root/assets/user-tab-RwMqZeSN.d4ed24177855.js +1 -0
  344. codex/static_root/assets/user-tab-RwMqZeSN.d4ed24177855.js.br +0 -0
  345. codex/static_root/assets/user-tab-RwMqZeSN.d4ed24177855.js.gz +0 -0
  346. codex/static_root/assets/user-tab-RwMqZeSN.js +1 -0
  347. codex/static_root/assets/user-tab-RwMqZeSN.js.br +0 -0
  348. codex/static_root/assets/user-tab-RwMqZeSN.js.gz +0 -0
  349. codex/static_root/manifest.8dff5f2fb15e.json +712 -0
  350. codex/static_root/manifest.8dff5f2fb15e.json.br +0 -0
  351. codex/static_root/manifest.8dff5f2fb15e.json.gz +0 -0
  352. codex/static_root/manifest.json +377 -300
  353. codex/static_root/manifest.json.br +0 -0
  354. codex/static_root/manifest.json.gz +0 -0
  355. codex/static_root/staticfiles.json +1 -1
  356. codex/status_controller.py +5 -6
  357. codex/threads.py +1 -1
  358. codex/urls/api/auth.py +1 -1
  359. codex/urls/api/browser.py +1 -1
  360. codex/views/admin/library.py +18 -13
  361. codex/views/admin/stats.py +23 -16
  362. codex/views/auth.py +42 -77
  363. codex/views/bookmark.py +16 -153
  364. codex/views/browser/annotate/__init__.py +1 -0
  365. codex/views/browser/annotate/bookmark.py +112 -0
  366. codex/views/browser/annotate/card.py +61 -0
  367. codex/views/browser/annotate/order.py +247 -0
  368. codex/views/browser/breadcrumbs.py +90 -11
  369. codex/views/browser/browser.py +44 -110
  370. codex/views/browser/choices.py +15 -18
  371. codex/views/browser/cover.py +10 -20
  372. codex/views/browser/filters/bookmark.py +18 -19
  373. codex/views/browser/filters/field.py +8 -3
  374. codex/views/browser/filters/filter.py +69 -0
  375. codex/views/browser/filters/group.py +9 -6
  376. codex/views/browser/filters/search/fts.py +5 -19
  377. codex/views/browser/filters/search/parse.py +54 -24
  378. codex/views/browser/group_mtime.py +83 -0
  379. codex/views/browser/metadata/__init__.py +1 -0
  380. codex/views/browser/metadata/annotate.py +109 -0
  381. codex/views/browser/metadata/copy_intersections.py +90 -0
  382. codex/views/browser/metadata/metadata.py +83 -0
  383. codex/views/browser/metadata/query_intersections.py +114 -0
  384. codex/views/browser/mtime.py +2 -10
  385. codex/views/browser/order_by.py +22 -22
  386. codex/views/browser/page_in_bounds.py +2 -2
  387. codex/views/browser/paginate.py +9 -15
  388. codex/views/browser/params.py +64 -0
  389. codex/views/browser/title.py +1 -6
  390. codex/views/browser/validate.py +68 -33
  391. codex/views/download.py +1 -1
  392. codex/views/mixins.py +27 -15
  393. codex/views/opds/const.py +2 -3
  394. codex/views/opds/urls.py +2 -2
  395. codex/views/opds/util.py +2 -3
  396. codex/views/opds/v1/entry/links.py +3 -1
  397. codex/views/opds/v1/facets.py +65 -12
  398. codex/views/opds/v1/feed.py +5 -64
  399. codex/views/opds/v1/links.py +5 -4
  400. codex/views/opds/v2/feed.py +1 -28
  401. codex/views/opds/v2/links.py +26 -1
  402. codex/views/opds/v2/publications.py +5 -6
  403. codex/views/opds/v2/top_links.py +3 -6
  404. codex/views/public.py +2 -2
  405. codex/views/reader/arcs.py +0 -3
  406. codex/views/reader/books.py +57 -41
  407. codex/views/reader/page.py +10 -4
  408. codex/views/reader/{init.py → params.py} +37 -31
  409. codex/views/reader/reader.py +1 -2
  410. codex/views/session.py +43 -54
  411. codex/views/timezone.py +54 -0
  412. codex/views/version.py +1 -1
  413. {codex-1.7.0a0.dist-info → codex-1.7.0a1.dist-info}/METADATA +1 -1
  414. {codex-1.7.0a0.dist-info → codex-1.7.0a1.dist-info}/RECORD +417 -383
  415. codex/serializers/choices.py +0 -196
  416. codex/static_root/assets/VCheckbox-CWiqcZ7a.3feebd47daab.js +0 -1
  417. codex/static_root/assets/VCheckbox-CWiqcZ7a.3feebd47daab.js.br +0 -0
  418. codex/static_root/assets/VCheckbox-CWiqcZ7a.3feebd47daab.js.gz +0 -0
  419. codex/static_root/assets/VCheckbox-CWiqcZ7a.js +0 -1
  420. codex/static_root/assets/VCheckbox-CWiqcZ7a.js.br +0 -0
  421. codex/static_root/assets/VCheckbox-CWiqcZ7a.js.gz +0 -0
  422. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.bc66d5351baa.js +0 -1
  423. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.bc66d5351baa.js.br +0 -0
  424. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.bc66d5351baa.js.gz +0 -0
  425. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.js +0 -1
  426. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.js.br +0 -0
  427. codex/static_root/assets/VCheckboxBtn-Dk3iB62X.js.gz +0 -0
  428. codex/static_root/assets/VCombobox-D1_KU27A.b1d30587a973.js +0 -1
  429. codex/static_root/assets/VCombobox-D1_KU27A.b1d30587a973.js.br +0 -0
  430. codex/static_root/assets/VCombobox-D1_KU27A.b1d30587a973.js.gz +0 -0
  431. codex/static_root/assets/VCombobox-D1_KU27A.js +0 -1
  432. codex/static_root/assets/VCombobox-D1_KU27A.js.br +0 -0
  433. codex/static_root/assets/VCombobox-D1_KU27A.js.gz +0 -0
  434. codex/static_root/assets/VDialog-38np3TSA.5a0cb7a9e56d.css +0 -1
  435. codex/static_root/assets/VDialog-38np3TSA.5a0cb7a9e56d.css.br +0 -0
  436. codex/static_root/assets/VDialog-38np3TSA.5a0cb7a9e56d.css.gz +0 -0
  437. codex/static_root/assets/VDialog-38np3TSA.css +0 -1
  438. codex/static_root/assets/VDialog-38np3TSA.css.br +0 -0
  439. codex/static_root/assets/VDialog-38np3TSA.css.gz +0 -0
  440. codex/static_root/assets/VDialog-GbxvFMMN.594fb3a39ced.js +0 -1
  441. codex/static_root/assets/VDialog-GbxvFMMN.594fb3a39ced.js.br +0 -0
  442. codex/static_root/assets/VDialog-GbxvFMMN.594fb3a39ced.js.gz +0 -0
  443. codex/static_root/assets/VDialog-GbxvFMMN.js +0 -1
  444. codex/static_root/assets/VDialog-GbxvFMMN.js.br +0 -0
  445. codex/static_root/assets/VDialog-GbxvFMMN.js.gz +0 -0
  446. codex/static_root/assets/VExpansionPanels-Cywv_bEj.a762e63858e5.js +0 -1
  447. codex/static_root/assets/VExpansionPanels-Cywv_bEj.a762e63858e5.js.br +0 -0
  448. codex/static_root/assets/VExpansionPanels-Cywv_bEj.a762e63858e5.js.gz +0 -0
  449. codex/static_root/assets/VExpansionPanels-Cywv_bEj.js +0 -1
  450. codex/static_root/assets/VExpansionPanels-Cywv_bEj.js.br +0 -0
  451. codex/static_root/assets/VExpansionPanels-Cywv_bEj.js.gz +0 -0
  452. codex/static_root/assets/VRadioGroup-C0etmxpZ.0eb3009a6300.js +0 -1
  453. codex/static_root/assets/VRadioGroup-C0etmxpZ.0eb3009a6300.js.br +0 -0
  454. codex/static_root/assets/VRadioGroup-C0etmxpZ.0eb3009a6300.js.gz +0 -0
  455. codex/static_root/assets/VRadioGroup-C0etmxpZ.js +0 -1
  456. codex/static_root/assets/VRadioGroup-C0etmxpZ.js.br +0 -0
  457. codex/static_root/assets/VRadioGroup-C0etmxpZ.js.gz +0 -0
  458. codex/static_root/assets/VSelect-Ca2bIOso.6613989e4c45.css +0 -1
  459. codex/static_root/assets/VSelect-Ca2bIOso.6613989e4c45.css.br +0 -0
  460. codex/static_root/assets/VSelect-Ca2bIOso.6613989e4c45.css.gz +0 -0
  461. codex/static_root/assets/VSelect-Ca2bIOso.css +0 -1
  462. codex/static_root/assets/VSelect-Ca2bIOso.css.br +0 -0
  463. codex/static_root/assets/VSelect-Ca2bIOso.css.gz +0 -0
  464. codex/static_root/assets/VSelect-txrnRiNJ.a5625760018c.js +0 -1
  465. codex/static_root/assets/VSelect-txrnRiNJ.a5625760018c.js.br +0 -0
  466. codex/static_root/assets/VSelect-txrnRiNJ.a5625760018c.js.gz +0 -0
  467. codex/static_root/assets/VSelect-txrnRiNJ.js +0 -1
  468. codex/static_root/assets/VSelect-txrnRiNJ.js.br +0 -0
  469. codex/static_root/assets/VSelect-txrnRiNJ.js.gz +0 -0
  470. codex/static_root/assets/VSelectionControl-CY6RmcvW.7e8824224f6c.js +0 -1
  471. codex/static_root/assets/VSelectionControl-CY6RmcvW.7e8824224f6c.js.br +0 -0
  472. codex/static_root/assets/VSelectionControl-CY6RmcvW.7e8824224f6c.js.gz +0 -0
  473. codex/static_root/assets/VSelectionControl-CY6RmcvW.js +0 -1
  474. codex/static_root/assets/VSelectionControl-CY6RmcvW.js.br +0 -0
  475. codex/static_root/assets/VSelectionControl-CY6RmcvW.js.gz +0 -0
  476. codex/static_root/assets/VSlideGroup-Dk_1upHt.2c836070ec75.css +0 -1
  477. codex/static_root/assets/VSlideGroup-Dk_1upHt.2c836070ec75.css.br +0 -0
  478. codex/static_root/assets/VSlideGroup-Dk_1upHt.2c836070ec75.css.gz +0 -0
  479. codex/static_root/assets/VSlideGroup-Dk_1upHt.css +0 -1
  480. codex/static_root/assets/VSlideGroup-Dk_1upHt.css.br +0 -0
  481. codex/static_root/assets/VSlideGroup-Dk_1upHt.css.gz +0 -0
  482. codex/static_root/assets/VSlideGroup-DtEQMwY1.6c72325635ed.js +0 -1
  483. codex/static_root/assets/VSlideGroup-DtEQMwY1.6c72325635ed.js.br +0 -0
  484. codex/static_root/assets/VSlideGroup-DtEQMwY1.6c72325635ed.js.gz +0 -0
  485. codex/static_root/assets/VSlideGroup-DtEQMwY1.js +0 -1
  486. codex/static_root/assets/VSlideGroup-DtEQMwY1.js.br +0 -0
  487. codex/static_root/assets/VSlideGroup-DtEQMwY1.js.gz +0 -0
  488. codex/static_root/assets/VTable-2af995xo.6c5bf36631b2.js +0 -1
  489. codex/static_root/assets/VTable-2af995xo.6c5bf36631b2.js.br +0 -0
  490. codex/static_root/assets/VTable-2af995xo.6c5bf36631b2.js.gz +0 -0
  491. codex/static_root/assets/VTable-2af995xo.js +0 -1
  492. codex/static_root/assets/VTable-2af995xo.js.br +0 -0
  493. codex/static_root/assets/VTable-2af995xo.js.gz +0 -0
  494. codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css +0 -1
  495. codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css.br +0 -0
  496. codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css.gz +0 -0
  497. codex/static_root/assets/VTextField-Crc3gdNh.css +0 -1
  498. codex/static_root/assets/VTextField-Crc3gdNh.css.br +0 -0
  499. codex/static_root/assets/VTextField-Crc3gdNh.css.gz +0 -0
  500. codex/static_root/assets/VTextField-G6CMj7yO.657a130dd302.js +0 -1
  501. codex/static_root/assets/VTextField-G6CMj7yO.657a130dd302.js.br +0 -0
  502. codex/static_root/assets/VTextField-G6CMj7yO.657a130dd302.js.gz +0 -0
  503. codex/static_root/assets/VTextField-G6CMj7yO.js +0 -1
  504. codex/static_root/assets/VTextField-G6CMj7yO.js.br +0 -0
  505. codex/static_root/assets/VTextField-G6CMj7yO.js.gz +0 -0
  506. codex/static_root/assets/VWindowItem-CzoGd6Ul.721e5da11ad4.js +0 -1
  507. codex/static_root/assets/VWindowItem-CzoGd6Ul.721e5da11ad4.js.br +0 -0
  508. codex/static_root/assets/VWindowItem-CzoGd6Ul.721e5da11ad4.js.gz +0 -0
  509. codex/static_root/assets/VWindowItem-CzoGd6Ul.js +0 -1
  510. codex/static_root/assets/VWindowItem-CzoGd6Ul.js.br +0 -0
  511. codex/static_root/assets/VWindowItem-CzoGd6Ul.js.gz +0 -0
  512. codex/static_root/assets/admin-CWEjaFr5.7d4523387384.css.br +0 -0
  513. codex/static_root/assets/admin-CWEjaFr5.7d4523387384.css.gz +0 -0
  514. codex/static_root/assets/admin-CWEjaFr5.css.br +0 -0
  515. codex/static_root/assets/admin-CWEjaFr5.css.gz +0 -0
  516. codex/static_root/assets/admin-CsPAIQeG.5175467148a3.js +0 -1
  517. codex/static_root/assets/admin-CsPAIQeG.5175467148a3.js.br +0 -0
  518. codex/static_root/assets/admin-CsPAIQeG.5175467148a3.js.gz +0 -0
  519. codex/static_root/assets/admin-CsPAIQeG.js +0 -1
  520. codex/static_root/assets/admin-CsPAIQeG.js.br +0 -0
  521. codex/static_root/assets/admin-CsPAIQeG.js.gz +0 -0
  522. codex/static_root/assets/admin-drawer-panel-BAT7GA64.73a064628c19.js +0 -30
  523. codex/static_root/assets/admin-drawer-panel-BAT7GA64.73a064628c19.js.br +0 -0
  524. codex/static_root/assets/admin-drawer-panel-BAT7GA64.73a064628c19.js.gz +0 -0
  525. codex/static_root/assets/admin-drawer-panel-BAT7GA64.js +0 -30
  526. codex/static_root/assets/admin-drawer-panel-BAT7GA64.js.br +0 -0
  527. codex/static_root/assets/admin-drawer-panel-BAT7GA64.js.gz +0 -0
  528. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css +0 -1
  529. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css.br +0 -0
  530. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css.gz +0 -0
  531. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css +0 -1
  532. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css.br +0 -0
  533. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css.gz +0 -0
  534. codex/static_root/assets/browser-C18l93yc.923860009ef4.js +0 -1
  535. codex/static_root/assets/browser-C18l93yc.923860009ef4.js.br +0 -0
  536. codex/static_root/assets/browser-C18l93yc.923860009ef4.js.gz +0 -0
  537. codex/static_root/assets/browser-C18l93yc.js +0 -1
  538. codex/static_root/assets/browser-C18l93yc.js.br +0 -0
  539. codex/static_root/assets/browser-C18l93yc.js.gz +0 -0
  540. codex/static_root/assets/browser-DaAqlBYO.708ecf0904bb.css +0 -1
  541. codex/static_root/assets/browser-DaAqlBYO.708ecf0904bb.css.br +0 -0
  542. codex/static_root/assets/browser-DaAqlBYO.708ecf0904bb.css.gz +0 -0
  543. codex/static_root/assets/browser-DaAqlBYO.css +0 -1
  544. codex/static_root/assets/browser-DaAqlBYO.css.br +0 -0
  545. codex/static_root/assets/browser-DaAqlBYO.css.gz +0 -0
  546. codex/static_root/assets/change-password-dialog-BazJdNs9.0a4e02656a35.js +0 -1
  547. codex/static_root/assets/change-password-dialog-BazJdNs9.0a4e02656a35.js.br +0 -0
  548. codex/static_root/assets/change-password-dialog-BazJdNs9.0a4e02656a35.js.gz +0 -0
  549. codex/static_root/assets/change-password-dialog-BazJdNs9.js +0 -1
  550. codex/static_root/assets/change-password-dialog-BazJdNs9.js.br +0 -0
  551. codex/static_root/assets/change-password-dialog-BazJdNs9.js.gz +0 -0
  552. codex/static_root/assets/change-password-dialog-Mlmvz8_4.111421f51e79.css +0 -1
  553. codex/static_root/assets/change-password-dialog-Mlmvz8_4.111421f51e79.css.br +0 -0
  554. codex/static_root/assets/change-password-dialog-Mlmvz8_4.111421f51e79.css.gz +0 -0
  555. codex/static_root/assets/change-password-dialog-Mlmvz8_4.css +0 -1
  556. codex/static_root/assets/change-password-dialog-Mlmvz8_4.css.br +0 -0
  557. codex/static_root/assets/change-password-dialog-Mlmvz8_4.css.gz +0 -0
  558. codex/static_root/assets/confirm-dialog-BmhedLCx.7c2103d319d4.css +0 -1
  559. codex/static_root/assets/confirm-dialog-BmhedLCx.css +0 -1
  560. codex/static_root/assets/confirm-dialog-CbW3hlOp.9dd39b443c31.js +0 -1
  561. codex/static_root/assets/confirm-dialog-CbW3hlOp.9dd39b443c31.js.br +0 -0
  562. codex/static_root/assets/confirm-dialog-CbW3hlOp.9dd39b443c31.js.gz +0 -0
  563. codex/static_root/assets/confirm-dialog-CbW3hlOp.js +0 -1
  564. codex/static_root/assets/confirm-dialog-CbW3hlOp.js.br +0 -0
  565. codex/static_root/assets/confirm-dialog-CbW3hlOp.js.gz +0 -0
  566. codex/static_root/assets/datetime-column-uSqKZU37.b157b0743db5.js +0 -1
  567. codex/static_root/assets/datetime-column-uSqKZU37.b157b0743db5.js.br +0 -0
  568. codex/static_root/assets/datetime-column-uSqKZU37.b157b0743db5.js.gz +0 -0
  569. codex/static_root/assets/datetime-column-uSqKZU37.js +0 -1
  570. codex/static_root/assets/datetime-column-uSqKZU37.js.br +0 -0
  571. codex/static_root/assets/datetime-column-uSqKZU37.js.gz +0 -0
  572. codex/static_root/assets/filter-CBl5KEsB.845a81573c2e.js +0 -1
  573. codex/static_root/assets/filter-CBl5KEsB.845a81573c2e.js.br +0 -0
  574. codex/static_root/assets/filter-CBl5KEsB.845a81573c2e.js.gz +0 -0
  575. codex/static_root/assets/filter-CBl5KEsB.js +0 -1
  576. codex/static_root/assets/filter-CBl5KEsB.js.br +0 -0
  577. codex/static_root/assets/filter-CBl5KEsB.js.gz +0 -0
  578. codex/static_root/assets/flag-tab-CT8pqM4r.ecb6eee2e7a0.js +0 -1
  579. codex/static_root/assets/flag-tab-CT8pqM4r.ecb6eee2e7a0.js.br +0 -0
  580. codex/static_root/assets/flag-tab-CT8pqM4r.ecb6eee2e7a0.js.gz +0 -0
  581. codex/static_root/assets/flag-tab-CT8pqM4r.js +0 -1
  582. codex/static_root/assets/flag-tab-CT8pqM4r.js.br +0 -0
  583. codex/static_root/assets/flag-tab-CT8pqM4r.js.gz +0 -0
  584. codex/static_root/assets/flag-tab-DBqpLKi7.css +0 -1
  585. codex/static_root/assets/flag-tab-DBqpLKi7.css.br +0 -0
  586. codex/static_root/assets/flag-tab-DBqpLKi7.css.gz +0 -0
  587. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css +0 -1
  588. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.br +0 -0
  589. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.gz +0 -0
  590. codex/static_root/assets/group-tab-BOW9kigw.7e5007596367.js +0 -1
  591. codex/static_root/assets/group-tab-BOW9kigw.7e5007596367.js.br +0 -0
  592. codex/static_root/assets/group-tab-BOW9kigw.7e5007596367.js.gz +0 -0
  593. codex/static_root/assets/group-tab-BOW9kigw.js +0 -1
  594. codex/static_root/assets/group-tab-BOW9kigw.js.br +0 -0
  595. codex/static_root/assets/group-tab-BOW9kigw.js.gz +0 -0
  596. codex/static_root/assets/group-tab-CBKuS3Iv.7e4746634782.css +0 -1
  597. codex/static_root/assets/group-tab-CBKuS3Iv.7e4746634782.css.br +0 -0
  598. codex/static_root/assets/group-tab-CBKuS3Iv.7e4746634782.css.gz +0 -0
  599. codex/static_root/assets/group-tab-CBKuS3Iv.css +0 -1
  600. codex/static_root/assets/group-tab-CBKuS3Iv.css.br +0 -0
  601. codex/static_root/assets/group-tab-CBKuS3Iv.css.gz +0 -0
  602. codex/static_root/assets/http-error-C6yuLApo.45cf99eb7a70.js +0 -1
  603. codex/static_root/assets/http-error-C6yuLApo.45cf99eb7a70.js.br +0 -4
  604. codex/static_root/assets/http-error-C6yuLApo.45cf99eb7a70.js.gz +0 -0
  605. codex/static_root/assets/http-error-C6yuLApo.js +0 -1
  606. codex/static_root/assets/http-error-C6yuLApo.js.br +0 -4
  607. codex/static_root/assets/http-error-C6yuLApo.js.gz +0 -0
  608. codex/static_root/assets/library-tab-Bh7ErAk7.7c44200ee727.css.br +0 -2
  609. codex/static_root/assets/library-tab-Bh7ErAk7.7c44200ee727.css.gz +0 -0
  610. codex/static_root/assets/library-tab-Bh7ErAk7.css.br +0 -2
  611. codex/static_root/assets/library-tab-Bh7ErAk7.css.gz +0 -0
  612. codex/static_root/assets/library-tab-D3WOtpE0.9af34e6e7235.js +0 -1
  613. codex/static_root/assets/library-tab-D3WOtpE0.9af34e6e7235.js.br +0 -0
  614. codex/static_root/assets/library-tab-D3WOtpE0.9af34e6e7235.js.gz +0 -0
  615. codex/static_root/assets/library-tab-D3WOtpE0.js +0 -1
  616. codex/static_root/assets/library-tab-D3WOtpE0.js.br +0 -0
  617. codex/static_root/assets/library-tab-D3WOtpE0.js.gz +0 -0
  618. codex/static_root/assets/main-CmjU2oTp.6a471f6900e5.js +0 -6
  619. codex/static_root/assets/main-CmjU2oTp.6a471f6900e5.js.br +0 -0
  620. codex/static_root/assets/main-CmjU2oTp.6a471f6900e5.js.gz +0 -0
  621. codex/static_root/assets/main-CmjU2oTp.js +0 -6
  622. codex/static_root/assets/main-CmjU2oTp.js.br +0 -0
  623. codex/static_root/assets/main-CmjU2oTp.js.gz +0 -0
  624. codex/static_root/assets/pager-full-pdf-BH54_5f6.6e92d0555cd7.js +0 -1
  625. codex/static_root/assets/pager-full-pdf-BH54_5f6.6e92d0555cd7.js.br +0 -0
  626. codex/static_root/assets/pager-full-pdf-BH54_5f6.6e92d0555cd7.js.gz +0 -0
  627. codex/static_root/assets/pager-full-pdf-BH54_5f6.js +0 -1
  628. codex/static_root/assets/pager-full-pdf-BH54_5f6.js.br +0 -0
  629. codex/static_root/assets/pager-full-pdf-BH54_5f6.js.gz +0 -0
  630. codex/static_root/assets/pagination-toolbar-JH3Kbffr.451171f7ac33.js +0 -1
  631. codex/static_root/assets/pagination-toolbar-JH3Kbffr.451171f7ac33.js.br +0 -0
  632. codex/static_root/assets/pagination-toolbar-JH3Kbffr.451171f7ac33.js.gz +0 -0
  633. codex/static_root/assets/pagination-toolbar-JH3Kbffr.js +0 -1
  634. codex/static_root/assets/pagination-toolbar-JH3Kbffr.js.br +0 -0
  635. codex/static_root/assets/pagination-toolbar-JH3Kbffr.js.gz +0 -0
  636. codex/static_root/assets/pdf-doc-BcRNpoaW.882f6e967869.js.br +0 -0
  637. codex/static_root/assets/pdf-doc-BcRNpoaW.882f6e967869.js.gz +0 -0
  638. codex/static_root/assets/pdf-doc-BcRNpoaW.js.br +0 -0
  639. codex/static_root/assets/pdf-doc-BcRNpoaW.js.gz +0 -0
  640. codex/static_root/assets/reader-DIPRg2VB.900370e097aa.js +0 -2
  641. codex/static_root/assets/reader-DIPRg2VB.900370e097aa.js.br +0 -0
  642. codex/static_root/assets/reader-DIPRg2VB.900370e097aa.js.gz +0 -0
  643. codex/static_root/assets/reader-DIPRg2VB.js +0 -2
  644. codex/static_root/assets/reader-DIPRg2VB.js.br +0 -0
  645. codex/static_root/assets/reader-DIPRg2VB.js.gz +0 -0
  646. codex/static_root/assets/reader-DveZZr9x.7b21b9f8f628.css.br +0 -0
  647. codex/static_root/assets/reader-DveZZr9x.7b21b9f8f628.css.gz +0 -0
  648. codex/static_root/assets/reader-DveZZr9x.css.br +0 -0
  649. codex/static_root/assets/reader-DveZZr9x.css.gz +0 -0
  650. codex/static_root/assets/relation-chips-3tTlR5QH.71f18bc92adc.js +0 -1
  651. codex/static_root/assets/relation-chips-3tTlR5QH.71f18bc92adc.js.br +0 -0
  652. codex/static_root/assets/relation-chips-3tTlR5QH.71f18bc92adc.js.gz +0 -0
  653. codex/static_root/assets/relation-chips-3tTlR5QH.js +0 -1
  654. codex/static_root/assets/relation-chips-3tTlR5QH.js.br +0 -0
  655. codex/static_root/assets/relation-chips-3tTlR5QH.js.gz +0 -0
  656. codex/static_root/assets/settings-drawer-BdyFhA_r.151f4c3061ed.js +0 -2
  657. codex/static_root/assets/settings-drawer-BdyFhA_r.151f4c3061ed.js.br +0 -0
  658. codex/static_root/assets/settings-drawer-BdyFhA_r.151f4c3061ed.js.gz +0 -0
  659. codex/static_root/assets/settings-drawer-BdyFhA_r.js +0 -2
  660. codex/static_root/assets/settings-drawer-BdyFhA_r.js.br +0 -0
  661. codex/static_root/assets/settings-drawer-BdyFhA_r.js.gz +0 -0
  662. codex/static_root/assets/stats-tab-DeKjwvmh.7557c71b4cfa.js +0 -1
  663. codex/static_root/assets/stats-tab-DeKjwvmh.7557c71b4cfa.js.br +0 -0
  664. codex/static_root/assets/stats-tab-DeKjwvmh.7557c71b4cfa.js.gz +0 -0
  665. codex/static_root/assets/stats-tab-DeKjwvmh.js +0 -1
  666. codex/static_root/assets/stats-tab-DeKjwvmh.js.br +0 -0
  667. codex/static_root/assets/stats-tab-DeKjwvmh.js.gz +0 -0
  668. codex/static_root/assets/stats-tab-DpfGsVX3.1cb66f2649a9.css.br +0 -0
  669. codex/static_root/assets/stats-tab-DpfGsVX3.1cb66f2649a9.css.gz +0 -0
  670. codex/static_root/assets/stats-tab-DpfGsVX3.css.br +0 -0
  671. codex/static_root/assets/stats-tab-DpfGsVX3.css.gz +0 -0
  672. codex/static_root/assets/task-tab-1XiWn9xP.06cb8e1b794d.css +0 -1
  673. codex/static_root/assets/task-tab-1XiWn9xP.06cb8e1b794d.css.gz +0 -0
  674. codex/static_root/assets/task-tab-1XiWn9xP.css +0 -1
  675. codex/static_root/assets/task-tab-1XiWn9xP.css.gz +0 -0
  676. codex/static_root/assets/task-tab-C8D0qRP_.d4ab174c69a3.js +0 -1
  677. codex/static_root/assets/task-tab-C8D0qRP_.d4ab174c69a3.js.br +0 -0
  678. codex/static_root/assets/task-tab-C8D0qRP_.d4ab174c69a3.js.gz +0 -0
  679. codex/static_root/assets/task-tab-C8D0qRP_.js +0 -1
  680. codex/static_root/assets/task-tab-C8D0qRP_.js.br +0 -0
  681. codex/static_root/assets/task-tab-C8D0qRP_.js.gz +0 -0
  682. codex/static_root/assets/unauthorized-BHgBRF4z.8e5c1b9e52b0.js +0 -1
  683. codex/static_root/assets/unauthorized-BHgBRF4z.8e5c1b9e52b0.js.br +0 -0
  684. codex/static_root/assets/unauthorized-BHgBRF4z.8e5c1b9e52b0.js.gz +0 -0
  685. codex/static_root/assets/unauthorized-BHgBRF4z.js +0 -1
  686. codex/static_root/assets/unauthorized-BHgBRF4z.js.br +0 -0
  687. codex/static_root/assets/unauthorized-BHgBRF4z.js.gz +0 -0
  688. codex/static_root/assets/user-tab-BU31Z92y.35613c713faf.js +0 -1
  689. codex/static_root/assets/user-tab-BU31Z92y.35613c713faf.js.br +0 -0
  690. codex/static_root/assets/user-tab-BU31Z92y.35613c713faf.js.gz +0 -0
  691. codex/static_root/assets/user-tab-BU31Z92y.js +0 -1
  692. codex/static_root/assets/user-tab-BU31Z92y.js.br +0 -0
  693. codex/static_root/assets/user-tab-BU31Z92y.js.gz +0 -0
  694. codex/static_root/js/choices-admin.8aa64c911203.json +0 -1
  695. codex/static_root/js/choices-admin.8aa64c911203.json.br +0 -0
  696. codex/static_root/js/choices-admin.8aa64c911203.json.gz +0 -0
  697. codex/static_root/js/choices-admin.json +0 -1
  698. codex/static_root/js/choices-admin.json.br +0 -0
  699. codex/static_root/js/choices-admin.json.gz +0 -0
  700. codex/static_root/js/choices.2f6b0359e1ef.json +0 -1
  701. codex/static_root/js/choices.2f6b0359e1ef.json.br +0 -0
  702. codex/static_root/js/choices.2f6b0359e1ef.json.gz +0 -0
  703. codex/static_root/js/choices.json +0 -1
  704. codex/static_root/js/choices.json.br +0 -0
  705. codex/static_root/js/choices.json.gz +0 -0
  706. codex/static_root/manifest.45cb46e19686.json +0 -635
  707. codex/static_root/manifest.45cb46e19686.json.br +0 -0
  708. codex/static_root/manifest.45cb46e19686.json.gz +0 -0
  709. codex/views/browser/annotations.py +0 -339
  710. codex/views/browser/base.py +0 -139
  711. codex/views/browser/filters/annotations.py +0 -125
  712. codex/views/browser/metadata.py +0 -332
  713. {codex-1.7.0a0.dist-info → codex-1.7.0a1.dist-info}/LICENSE +0 -0
  714. {codex-1.7.0a0.dist-info → codex-1.7.0a1.dist-info}/WHEEL +0 -0
  715. {codex-1.7.0a0.dist-info → codex-1.7.0a1.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{B as re,K as ge,c1 as Ke,M as me,ax as We,av as F,P as ve,Q as r,az as De,_ as U,V as d,aA as b,ag as ae,c2 as Ze,aE as N,aC as I,c3 as Qe,a$ as Oe,R as se,S as pe,aJ as f,W as V,al as J,aB as z,T as S,af as j,aN as ce,U as Q,l as Xe,c4 as Je,bD as et,c5 as tt,m as at,aP as lt,aQ as st,aT as Ce,aS as rt,bF as it,am as Y,aM as nt,ak as de,a_ as ot,bf as ut,bd as ye,bs as ke,aO as dt,c6 as ct,b5 as mt,c7 as vt,h,c8 as Te,O as Se,s as Ve,r as be,X as ft,p as ht,$ as Ge,c9 as pt,i as $e,ca as bt,aj as gt,G as X,aH as Be,aY as yt,cb as kt,bR as St,cc as _t,b6 as wt,au as Ne,aq as Ct}from"./admin-drawer-panel-BAT7GA64.js";import{u as K,k as Tt,C as Vt,c as Bt,l as Nt,G as Me,A as Mt,h as It,g as Pt,m as Rt}from"./main-CmjU2oTp.js";import{b as Lt,c as Ft,d as Et}from"./VSelect-txrnRiNJ.js";import{P as Dt}from"./unauthorized-BHgBRF4z.js";import{V as Ot}from"./VDialog-GbxvFMMN.js";import{m as Gt,a as $t,u as At,V as Ie,b as zt}from"./VSelectionControl-CY6RmcvW.js";import{a as jt}from"./settings-drawer-BdyFhA_r.js";const Ut=re({...ge(),...Ke({variant:"text"})},"VToolbarItems"),kl=me()({name:"VToolbarItems",props:Ut(),setup(e,t){let{slots:a}=t;return We({VBtn:{color:F(e,"color"),height:"inherit",variant:F(e,"variant")}}),ve(()=>{var i;return r("div",{class:["v-toolbar-items",e.class],style:e.style},[(i=a.default)==null?void 0:i.call(a)])}),{}}}),qt={name:"BookCover",props:{group:{type:String,required:!0},pks:{type:Array,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},mtime:{type:Number,default:Date.now()}},data(){return{showPlaceholder:!1}},computed:{...De(K,["coverSettings"]),coverSrc(){return Tt({group:this.group,pks:this.pks},this.coverSettings,this.mtime)},multiPkClasses(){const e=this.pks.length,t={};return e>=4?t.stack4=!0:e>1&&(t[`stack${e}`]=!0),t}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},xt={class:"bookCover"},Ht={key:1,class:"childCount"};function Yt(e,t,a,i,n,l){return d(),b("div",xt,[r(Ze,{src:l.coverSrc,class:ae(["coverImg",l.multiPkClasses])},null,8,["src","class"]),a.finished!==!0?(d(),b("div",{key:0,class:ae({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):N("",!0),a.group!=="c"?(d(),b("span",Ht,I(a.childCount),1)):N("",!0)])}const Kt=U(qt,[["render",Yt],["__scopeId","data-v-31ac8578"]]),Wt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Zt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Qt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Xt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Pe=(e,t,a)=>{let i=e;return typeof t=="string"||Array.isArray(t)?i=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(i=e.toLocaleString(void 0,a)),i};function Jt(e,t){if(!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);t={bits:!1,binary:!1,space:!0,...t};const a=t.bits?t.binary?Xt:Qt:t.binary?Zt:Wt,i=t.space?" ":"";if(t.signed&&e===0)return` 0${i}${a[0]}`;const n=e<0,l=n?"-":t.signed?"+":"";n&&(e=-e);let o;if(t.minimumFractionDigits!==void 0&&(o={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(o={maximumFractionDigits:t.maximumFractionDigits,...o}),e<1){const B=Pe(e,t.locale,o);return l+B+i+a[0]}const s=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**s,o||(e=e.toPrecision(3));const v=Pe(Number(e),t.locale,o),m=a[s];return l+v+i+m}const Re=Vt.browser.vuetifyNullCode,Le=new Set(["",Re,Re.toString(),void 0]),ea=function(e){let t;return Le.has(e)?t=e:e instanceof Object?Le.has(e.pk)?t=void 0:t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e!=null&&e.url&&(t.url=e.url),t},ta=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},aa=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},la=function(e,t,a=!1){var s;const i=e||[],n=t&&t.toLowerCase();let l=[];for(const v of i){const m=ea(v);m!=null&&(!n||(s=m==null?void 0:m.title)!=null&&s.toLowerCase().includes(n))&&l.push(m)}const o=a?aa:ta;return l.sort(o)},sa={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:Qe,mdiOpenInNew:Oe}},computed:{...se(K,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return la(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...pe(K,["setSettings"]),chipColor(e){return this.filterValues&&this.filterValues.includes(e)?this.$vuetify.theme.current.colors["primary-darken-1"]:""},onClick(e){if(!this.filter||!e)return;const t=["f","s"].includes(this.topGroup)?this.topGroup:"r",a=t==="s"&&this.filter==="storyArcs";if(!a){const o={filters:{[this.filter]:[e]}};this.setSettings(o)}const l={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(l)}}},ra={key:0,class:"tags"},ia={class:"chipGroupLabel"},na=["href"];function oa(e,t,a,i,n,l){return l.model&&l.model.length>0?(d(),b("div",ra,[f("div",ia,I(a.label),1),r(Ft,{column:!0,multiple:"",value:l.model},{default:V(()=>[(d(!0),b(J,null,z(l.model,o=>(d(),S(Lt,{key:`${a.label}/${o.value}`,color:l.chipColor(o.value),value:o.value,onClick:s=>l.onClick(o.value)},{default:V(()=>[o.url?(d(),b("a",{key:0,href:o.url,target:"_blank"},[j(I(o.title),1),r(ce,null,{default:V(()=>[j(I(n.mdiOpenInNew),1)]),_:1})],8,na)):(d(),b("span",{key:1,class:ae(l.chipClass)},I(o.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):N("",!0)}const Ae=U(sa,[["render",oa],["__scopeId","data-v-75fd687b"]]),ua={name:"MetadataContributorsTable",components:{MetadataTags:Ae},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:i,person:n}of this.value){const l=Bt(i.name)+"s";e[l]||(e[l]=[]),e[l].push(n)}const t=Object.keys(e).sort((i,n)=>i.localeCompare(n)),a={};for(const i of t)a[i]=e[i].sort((n,l)=>n.name.localeCompare(l.name));return a}}},da={key:0};function ca(e,t,a,i,n,l){const o=Q("MetadataTags");return Object.keys(l.contributorsDict).length>0?(d(),b("div",da,[t[0]||(t[0]=f("h3",null,"Contributors",-1)),(d(!0),b(J,null,z(Object.entries(l.contributorsDict),([s,v])=>(d(),S(o,{key:s,values:v,label:s,filter:"contributors"},null,8,["values","label"]))),128))])):N("",!0)}const ma=U(ua,[["render",ca]]),Fe="(Empty)",va={name:"MetadataTextBox",props:{label:{type:String,required:!0},value:{type:[Object,String,Number,Boolean],default:void 0},link:{type:[Boolean,String],default:!1},group:{type:String,default:""},obj:{type:Object,default:void 0}},data(){return{mdiOpenInNew:Oe}},computed:{...se(K,{browserShow:e=>e.settings.show,browserTopGroup:e=>e.settings.topGroup,folderViewEnabled:e=>e.page.adminFlags.folderView}),computedValue(){return this.value&&this.value.name!==void 0?this.value.name:this.value},lastSlashIndex(){return this.computedValue.lastIndexOf("/")+1},displayValue(){let e;return this.group&&this.computedValue===""?e=Fe:this.group==="f"&&this.computedValue?e=this.computedValue.substring(0,this.lastSlashIndex):e=this.computedValue,e},empty(){return this.displayValue===Fe},_browserGroupHref(){const e=this.group,t=this.$router.currentRoute.value.params;if(!e||t.group===e||e==="f"&&!this.folderViewEnabled||!["a","f"].includes(e)&&!this.browserShow[e])return;const a=this.value.ids?this.value.ids:[this.value.pk];if(!a||!a.length)return;const n={topGroup:this.getTopGroup(e)};return Nt({group:e,pks:a,query:n})},_linkHref(){return this.link===!0?this.displayValue:this.link?this.link:!1},href(){return this._browserGroupHref?this._browserGroupHref:this._linkHref},target(){return this.link?"_blank":""},title(){return this._browserGroupHref?`Browse to ${this.label}`:this.label},baseName(){return this.group==="f"?this.computedValue.substring(this.lastSlashIndex):""},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group}},methods:{getTopGroup(e){let t;if(this.browserTopGroup===e||["a","f"].includes(e))t=e;else{const a=Me.indexOf(e);for(const i of Me.slice(a))if(i!=="r"&&this.browserShow[i]){t=i;break}}return t}}},fa={class:"textLabel"},ha=["href","title","target"],pa={key:1,class:"textContent"},ba={key:2};function ga(e,t,a,i,n,l){return l.displayValue?(d(),b("div",{key:0,class:ae(["text",{highlight:l.highlight}])},[f("div",fa,I(a.label),1),f("div",{class:ae(["textValue",{empty:l.empty}])},[l.href?(d(),b("a",{key:0,href:l.href,title:l.title,target:l.target},[j(I(l.displayValue)+" ",1),a.link?(d(),S(ce,{key:0,size:"small"},{default:V(()=>[j(I(n.mdiOpenInNew),1)]),_:1})):N("",!0)],8,ha)):(d(),b("div",pa,I(l.displayValue),1)),l.baseName?(d(),b("span",ba,I(l.baseName),1)):N("",!0)],2)],2)):N("",!0)}const ya=U(va,[["render",ga],["__scopeId","data-v-3a00dd0e"]]),ze=new Set("rtl","btt");Object.freeze(ze);const ka=({ids:e,page:t,readingDirection:a,pageCount:i},n)=>{if(e.length<1||n&&!i)return"";const l=e[0];if(t)t=Number(t);else if(ze.has(a)){const o=Number(i)-1;t=Math.max(o,0)}else t=0;return{name:"reader",params:{pk:l,page:t}}},Ee=Xe("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){await Mt.getMetadata({group:e,pks:t},K().metadataSettings).then(a=>{const i={...a.data};return i.loaded=!0,this.md=i,!0}).catch(a=>{console.error(a),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Sa=1160,_a=.05,wa=250,Ca={name:"MetadataButton",components:{BookCover:Kt,CloseButton:Je,MetadataContributorsTable:ma,MetadataTags:Ae,MetadataText:ya,PlaceholderLoading:Dt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:et,mdiTagOutline:tt,dialog:!1,progress:0}},computed:{...De(at,["isUserAdmin"]),...se(K,{twentyFourHourTime:e=>{var t;return(t=e.settings)==null?void 0:t.twentyFourHourTime},readingDirectionTitles:e=>e.choices.static.readingDirection,identifierTypes:e=>e.choices.static.identifierType,importMetadata:e=>{var t,a;return(a=(t=e.page)==null?void 0:t.adminFlags)==null?void 0:a.importMetadata}}),...se(Ee,{md:e=>e.md}),...se(K,{q:e=>e.settings.q}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},buttonVariant(){return this.toolbar?"plain":"text"},downloadURL(){return this.book?It(this.book):""},downloadFilename(){const e=this.md;if(!e)return"Unknown.cbz";if(e.filename)return e.filename;const t=Pt({seriesName:this.firstNameFromList(e.seriesList),volumeName:this.firstNameFromList(e.volumeList),issueNumber:e.issueNumber,issueSuffix:e.issueSuffix}),a="."+this.fileType.toLowerCase();return t+a},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?lt:st},readerRoute(){var e;return(e=this.md)!=null&&e.ids?ka(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return Rt(this.md)},readingDirectionText(){return this.md?this.readingDirectionTitles[this.md.readingDirection]:"Unknown"},pages(){let e="";if(!this.md)return e;if(this.md.page){const a=Ce.format(this.md.page);e+=`Read ${a} of `}const t=Ce.format(this.md.pageCount);return e+=`${t} pages`,this.md.progress>0&&(e+=` (${Math.round(this.md.progress)}%)`),e},size(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.size)>0?Jt(this.md.size):0},fileType(){var e;return((e=this==null?void 0:this.md)==null?void 0:e.fileType)||"Unknown"},titledIdentifiers(){var t;const e=[];if(!((t=this==null?void 0:this.md)!=null&&t.identifiers))return e;for(const a of this.md.identifiers){const i=a.name.split(":"),n=i[0],l=i[1],o=this.identifierTypeTitle(n);let s="";o&&o!=="None"&&(s+=o+":"),s+=l,e.push({...a,name:s})}return e},multiGroup(){var e;return(e=this.md)!=null&&e.ids?this.md.ids.length>1:!1}},watch:{dialog(e){e?this.dialogOpened():this.clearMetadata()}},methods:{...pe(Ee,["clearMetadata","loadMetadata"]),...pe(K,["identifierTypeTitle"]),dialogOpened(){const e=this.book.ids?this.book.ids:[this.book.pk],t={group:this.group,pks:e};this.loadMetadata(t),this.startProgress()},startProgress(){this.startTime=Date.now(),this.estimatedMS=Math.max(_a,this.children/Sa)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},wa)},formatDateTime(e){return rt(e,this.twentyFourHourTime)},download(){it(this.downloadURL,this.downloadFilename)},firstNameFromList(e){let t="";if(e){for(const a of Object.values(e))if(a.name){t=a.name;break}}return t}}},Ta={id:"metadataHeader"},Va={id:"metadataBookCoverWrapper"},Ba={class:"inlineRow"},Na={class:"inlineRow"},Ma={class:"inlineRow"},Ia={key:1,class:"inlineRow"},Pa={id:"metadataBody"},Ra={class:"mdSection"},La={class:"quintRow"},Fa={class:"mdSection"},Ea={class:"quarterRow"},Da={class:"lastSmallRow"},Oa={class:"halfRow mdSection"},Ga={class:"mdSection"},$a={class:"mdSection"},Aa={class:"mdSection"},za={class:"mdSection"},ja={class:"mdSection"},Ua={class:"mdSection inlineRow"},qa={class:"inlineRow"},xa={id:"footerLinks"},Ha={key:1,id:"placeholderContainer"};function Ya(e,t,a,i,n,l){const o=Q("CloseButton"),s=Q("MetadataText"),v=Q("BookCover"),m=Q("MetadataTags"),B=Q("MetadataContributorsTable"),_=Q("PlaceholderLoading");return d(),S(Ot,{modelValue:n.dialog,"onUpdate:modelValue":t[3]||(t[3]=c=>n.dialog=c),fullscreen:"",transition:"dialog-bottom-transition"},{activator:V(({props:c})=>[r(de,Y({"aria-label":"tags",class:"tagButton cardControlButton",variant:l.buttonVariant,icon:n.mdiTagOutline,title:"Tags"},c,{onClick:t[0]||(t[0]=nt(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:V(()=>[l.showContainer?(d(),b("div",{key:0,id:"metadataContainer",onKeyup:t[2]||(t[2]=ut(c=>n.dialog=!1,["esc"]))},[r(o,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=c=>n.dialog=!1)}),f("header",Ta,[e.q?(d(),S(s,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):N("",!0),f("div",Va,[r(v,{id:"bookCover",group:a.group,pks:e.md.ids,"child-count":e.md.childCount,finished:e.md.finished,mtime:e.md.mtime},null,8,["group","pks","child-count","finished","mtime"]),r(ot,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),f("div",Ba,[(d(!0),b(J,null,z(e.md.publisherList,c=>(d(),S(s,{id:"publisher",key:c.ids,value:c,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),(d(!0),b(J,null,z(e.md.imprintList,c=>(d(),S(s,{id:"imprint",key:c.ids,value:c,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),f("div",Na,[(d(!0),b(J,null,z(e.md.seriesList,c=>(d(),S(s,{id:"series",key:c.ids,value:c,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128))]),f("div",Ma,[(d(!0),b(J,null,z(e.md.volumeList,c=>(d(),S(s,{id:"volume",key:c.ids,value:c,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]))),128)),r(s,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),r(s,{id:"issue",value:l.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),r(s,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),r(s,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),b("div",Ia,[r(s,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),r(s,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),r(s,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):N("",!0)]),f("div",Pa,[f("section",Ra,[f("div",La,[r(s,{value:l.pages,label:"Pages"},null,8,["value"]),r(s,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),r(s,{label:"Reading Direction",value:l.readingDirectionText},null,8,["value"]),r(s,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),r(s,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),f("section",Fa,[f("div",Ea,[e.md.createdAt?(d(),S(s,{key:0,value:l.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):N("",!0),e.md.updatedAt?(d(),S(s,{key:1,value:l.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):N("",!0),r(s,{value:l.size,label:"Size"},null,8,["value"]),r(s,{value:l.fileType,label:"File Type"},null,8,["value"])]),f("div",Da,[r(s,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),f("section",Oa,[r(s,{value:e.md.country,label:"Country"},null,8,["value"]),r(s,{value:e.md.language,label:"Language"},null,8,["value"])]),f("section",Ga,[r(m,{values:l.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),f("section",$a,[r(s,{value:e.md.summary,label:"Summary"},null,8,["value"]),r(s,{value:e.md.review,label:"Review"},null,8,["value"])]),f("section",Aa,[r(s,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),r(s,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),r(s,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),f("section",za,[r(m,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),r(m,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),r(m,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),r(m,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),r(m,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),r(m,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),r(m,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),r(m,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),f("section",ja,[r(B,{value:e.md.contributors},null,8,["value"])]),f("section",Ua,[r(s,{value:e.md.notes,label:"Notes"},null,8,["value"])]),f("section",qa,[r(s,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),r(s,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),f("footer",xa,[a.group==="c"?(d(),S(de,{key:0,id:"downloadButton",title:"Download Comic Archive",onClick:l.download},{default:V(()=>[a.group==="c"?(d(),S(ce,{key:0},{default:V(()=>[j(I(n.mdiDownload),1)]),_:1})):N("",!0),t[4]||(t[4]=j(" Download "))]),_:1},8,["onClick"])):N("",!0),l.isReadButtonShown?(d(),S(de,{key:1,to:l.readerRoute,title:"Read Comic",disabled:!l.isReadButtonEnabled},{default:V(()=>[r(ce,null,{default:V(()=>[j(I(l.readButtonIcon),1)]),_:1}),t[5]||(t[5]=j(" Read "))]),_:1},8,["to","disabled"])):N("",!0)])],32)):(d(),b("div",Ha,[t[6]||(t[6]=f("div",{id:"placeholderTitle"},"Tags Loading",-1)),r(_,{"model-value":n.progress,indeterminate:n.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Sl=U(Ca,[["render",Ya],["__scopeId","data-v-6a6504d8"]]),Ka={name:"ToolbarSelect",props:{selectLabel:{type:String,default:""},maxSelectLen:{type:Number,default:0}},computed:{style(){if(this.maxSelectLen){const e=this.$vuetify.display.xs?"max-width":"width",t=this.maxSelectLen*.7+"em";return`${e}: ${t}`}return""}}};function Wa(e,t,a,i,n,l){return d(),S(Et,Y(e.$attrs,{label:a.selectLabel,"aria-label":a.selectLabel,class:"toolbarSelect",density:"compact","full-width":"","menu-props":{maxHeight:void 0},"hide-details":"auto",style:l.style,variant:"plain"}),ye({item:V(({item:o,props:s})=>[r(dt,Y(s,{density:"compact",variant:"plain",title:o.title,value:o.value}),null,16,["title","value"])]),_:2},[z(e.$slots,(o,s)=>({name:s,fn:V(v=>[ke(e.$slots,s,Y({props:o},v),void 0,!0)])}))]),1040,["label","aria-label","style"])}const _l=U(Ka,[["render",Wa],["__scopeId","data-v-e88da460"]]),wl=ct("v-spacer","div","VSpacer"),Za={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function Qa(e,t,a,i,n,l){return d(),S(de,{variant:"plain",density:"compact",class:ae(["paginationNavButton",l.classes]),size:"medium"},ye({_:2},[z(e.$slots,(o,s)=>({name:s,fn:V(v=>[ke(e.$slots,s,Y({props:o},v),void 0,!0)])}))]),1032,["class"])}const Cl=U(Za,[["render",Qa],["__scopeId","data-v-0450dab6"]]),_e=Symbol.for("vuetify:v-slider");function Xa(e,t,a){const i=a==="vertical",n=t.getBoundingClientRect(),l="touches"in e?e.touches[0]:e;return i?l.clientY-(n.top+n.height/2):l.clientX-(n.left+n.width/2)}function Ja(e,t){return"touches"in e&&e.touches.length?e.touches[0][t]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][t]:e[t]}const el=re({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,...mt(),...vt({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),tl=e=>{const t=h(()=>parseFloat(e.min)),a=h(()=>parseFloat(e.max)),i=h(()=>+e.step>0?parseFloat(e.step):0),n=h(()=>Math.max(Te(i.value),Te(t.value)));function l(o){if(o=parseFloat(o),i.value<=0)return o;const s=Ge(o,t.value,a.value),v=t.value%i.value,m=Math.round((s-v)/i.value)*i.value+v;return parseFloat(Math.min(m,a.value).toFixed(n.value))}return{min:t,max:a,step:i,decimals:n,roundValue:l}},al=e=>{let{props:t,steps:a,onSliderStart:i,onSliderMove:n,onSliderEnd:l,getActiveThumb:o}=e;const{isRtl:s}=Se(),v=F(t,"reverse"),m=h(()=>t.direction==="vertical"),B=h(()=>m.value!==v.value),{min:_,max:c,step:E,decimals:q,roundValue:G}=a,W=h(()=>parseInt(t.thumbSize,10)),x=h(()=>parseInt(t.tickSize,10)),$=h(()=>parseInt(t.trackSize,10)),D=h(()=>(c.value-_.value)/E.value),Z=F(t,"disabled"),O=h(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),g=h(()=>t.error||t.disabled?void 0:t.trackColor??t.color),P=h(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),w=Ve(!1),C=Ve(0),R=be(),L=be();function p(u){var we;const k=t.direction==="vertical",je=k?"top":"left",Ue=k?"height":"width",qe=k?"clientY":"clientX",{[je]:xe,[Ue]:He}=(we=R.value)==null?void 0:we.$el.getBoundingClientRect(),Ye=Ja(u,qe);let he=Math.min(Math.max((Ye-xe-C.value)/He,0),1)||0;return(k?B.value:B.value!==s.value)&&(he=1-he),G(_.value+he*(c.value-_.value))}const A=u=>{l({value:p(u)}),w.value=!1,C.value=0},H=u=>{L.value=o(u),L.value&&(L.value.focus(),w.value=!0,L.value.contains(u.target)?C.value=Xa(u,L.value,t.direction):(C.value=0,n({value:p(u)})),i({value:p(u)}))},M={passive:!0,capture:!0};function ee(u){n({value:p(u)})}function ie(u){u.stopPropagation(),u.preventDefault(),A(u),window.removeEventListener("mousemove",ee,M),window.removeEventListener("mouseup",ie)}function ne(u){var k;A(u),window.removeEventListener("touchmove",ee,M),(k=u.target)==null||k.removeEventListener("touchend",ne)}function fe(u){var k;H(u),window.addEventListener("touchmove",ee,M),(k=u.target)==null||k.addEventListener("touchend",ne,{passive:!1})}function T(u){u.preventDefault(),H(u),window.addEventListener("mousemove",ee,M),window.addEventListener("mouseup",ie,{passive:!1})}const y=u=>{const k=(u-_.value)/(c.value-_.value)*100;return Ge(isNaN(k)?0:k,0,100)},te=F(t,"showTicks"),le=h(()=>te.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:y(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:y(parseFloat(u)),label:t.ticks[u]})):D.value!==1/0?ft(D.value+1).map(u=>{const k=_.value+u*E.value;return{value:k,position:y(k)}}):[]:[]),oe=h(()=>le.value.some(u=>{let{label:k}=u;return!!k})),ue={activeThumbRef:L,color:F(t,"color"),decimals:q,disabled:Z,direction:F(t,"direction"),elevation:F(t,"elevation"),hasLabels:oe,isReversed:v,indexFromEnd:B,min:_,max:c,mousePressed:w,numTicks:D,onSliderMousedown:T,onSliderTouchstart:fe,parsedTicks:le,parseMouseMove:p,position:y,readonly:F(t,"readonly"),rounded:F(t,"rounded"),roundValue:G,showTicks:te,startOffset:C,step:E,thumbSize:W,thumbColor:O,thumbLabel:F(t,"thumbLabel"),ticks:F(t,"ticks"),tickSize:x,trackColor:g,trackContainerRef:R,trackFillColor:P,trackSize:$,vertical:m};return ht(_e,ue),ue},ll=re({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,...ge()},"VSliderThumb"),sl=me()({name:"VSliderThumb",directives:{Ripple:pt},props:ll(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=$e(_e),{isRtl:l,rtlClasses:o}=Se();if(!n)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:s,step:v,disabled:m,thumbSize:B,thumbLabel:_,direction:c,isReversed:E,vertical:q,readonly:G,elevation:W,mousePressed:x,decimals:$,indexFromEnd:D}=n,Z=h(()=>m.value?void 0:W.value),{elevationClasses:O}=bt(Z),{textColorClasses:g,textColorStyles:P}=gt(s),{pageup:w,pagedown:C,end:R,home:L,left:p,right:A,down:H,up:M}=_t,ee=[w,C,R,L,p,A,H,M],ie=h(()=>v.value?[1,2,3]:[1,5,10]);function ne(T,y){if(!ee.includes(T.key))return;T.preventDefault();const te=v.value||.1,le=(e.max-e.min)/te;if([p,A,H,M].includes(T.key)){const ue=(q.value?[l.value?p:A,E.value?H:M]:D.value!==l.value?[p,M]:[A,M]).includes(T.key)?1:-1,u=T.shiftKey?2:T.ctrlKey?1:0;y=y+ue*te*ie.value[u]}else if(T.key===L)y=e.min;else if(T.key===R)y=e.max;else{const oe=T.key===C?1:-1;y=y-oe*te*(le>100?le/10:10)}return Math.max(e.min,Math.min(e.max,y))}function fe(T){const y=ne(T,e.modelValue);y!=null&&i("update:modelValue",y)}return ve(()=>{const T=X(D.value?100-e.position:e.position,"%");return r("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&x.value},e.class,o.value],style:[{"--v-slider-thumb-position":T,"--v-slider-thumb-size":X(B.value)},e.style],role:"slider",tabindex:m.value?-1:0,"aria-label":e.name,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!G.value,"aria-orientation":c.value,onKeydown:G.value?void 0:fe},[r("div",{class:["v-slider-thumb__surface",g.value,O.value],style:{...P.value}},null),Be(r("div",{class:["v-slider-thumb__ripple",g.value],style:P.value},null),[[yt("ripple"),e.ripple,null,{circle:!0,center:!0}]]),r(kt,{origin:"bottom center"},{default:()=>{var y;return[Be(r("div",{class:"v-slider-thumb__label-container"},[r("div",{class:["v-slider-thumb__label"]},[r("div",null,[((y=a["thumb-label"])==null?void 0:y.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(v.value?$.value:1)])])]),[[St,_.value&&e.focused||_.value==="always"]])]}})])}),{}}}),rl=re({start:{type:Number,required:!0},stop:{type:Number,required:!0},...ge()},"VSliderTrack"),il=me()({name:"VSliderTrack",props:rl(),emits:{},setup(e,t){let{slots:a}=t;const i=$e(_e);if(!i)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:n,parsedTicks:l,rounded:o,showTicks:s,tickSize:v,trackColor:m,trackFillColor:B,trackSize:_,vertical:c,min:E,max:q,indexFromEnd:G}=i,{roundedClasses:W}=wt(o),{backgroundColorClasses:x,backgroundColorStyles:$}=Ne(B),{backgroundColorClasses:D,backgroundColorStyles:Z}=Ne(m),O=h(()=>`inset-${c.value?"block":"inline"}-${G.value?"end":"start"}`),g=h(()=>c.value?"height":"width"),P=h(()=>({[O.value]:"0%",[g.value]:"100%"})),w=h(()=>e.stop-e.start),C=h(()=>({[O.value]:X(e.start,"%"),[g.value]:X(w.value,"%")})),R=h(()=>s.value?(c.value?l.value.slice().reverse():l.value).map((p,A)=>{var M;const H=p.value!==E.value&&p.value!==q.value?X(p.position,"%"):void 0;return r("div",{key:p.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":p.position>=e.start&&p.position<=e.stop,"v-slider-track__tick--first":p.value===E.value,"v-slider-track__tick--last":p.value===q.value}],style:{[O.value]:H}},[(p.label||a["tick-label"])&&r("div",{class:"v-slider-track__tick-label"},[((M=a["tick-label"])==null?void 0:M.call(a,{tick:p,index:A}))??p.label])])}):[]);return ve(()=>r("div",{class:["v-slider-track",W.value,e.class],style:[{"--v-slider-track-size":X(_.value),"--v-slider-tick-size":X(v.value)},e.style]},[r("div",{class:["v-slider-track__background",D.value,{"v-slider-track__background--opacity":!!n.value||!B.value}],style:{...P.value,...Z.value}},null),r("div",{class:["v-slider-track__fill",x.value],style:{...C.value,...$.value}},null),s.value&&r("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":s.value==="always"}]},[R.value])])),{}}}),nl=re({...Gt(),...el(),...$t(),modelValue:{type:[Number,String],default:0}},"VSlider"),ol=me()({name:"VSlider",props:nl(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:i}=t;const n=be(),{rtlClasses:l}=Se(),o=tl(e),s=Ct(e,"modelValue",void 0,g=>o.roundValue(g??o.min.value)),{min:v,max:m,mousePressed:B,roundValue:_,onSliderMousedown:c,onSliderTouchstart:E,trackContainerRef:q,position:G,hasLabels:W,readonly:x}=al({props:e,steps:o,onSliderStart:()=>{i("start",s.value)},onSliderEnd:g=>{let{value:P}=g;const w=_(P);s.value=w,i("end",w)},onSliderMove:g=>{let{value:P}=g;return s.value=_(P)},getActiveThumb:()=>{var g;return(g=n.value)==null?void 0:g.$el}}),{isFocused:$,focus:D,blur:Z}=At(e),O=h(()=>G(s.value));return ve(()=>{const g=Ie.filterProps(e),P=!!(e.label||a.label||a.prepend);return r(Ie,Y({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||W.value,"v-slider--focused":$.value,"v-slider--pressed":B.value,"v-slider--disabled":e.disabled},l.value,e.class],style:e.style},g,{focused:$.value}),{...a,prepend:P?w=>{var C,R;return r(J,null,[((C=a.label)==null?void 0:C.call(a,w))??(e.label?r(zt,{id:w.id.value,class:"v-slider__label",text:e.label},null):void 0),(R=a.prepend)==null?void 0:R.call(a,w)])}:void 0,default:w=>{let{id:C,messagesId:R}=w;return r("div",{class:"v-slider__container",onMousedown:x.value?void 0:c,onTouchstartPassive:x.value?void 0:E},[r("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:s.value},null),r(il,{ref:q,start:0,stop:O.value},{"tick-label":a["tick-label"]}),r(sl,{ref:n,"aria-describedby":R.value,focused:$.value,min:v.value,max:m.value,modelValue:s.value,"onUpdate:modelValue":L=>s.value=L,position:O.value,elevation:e.elevation,onFocus:D,onBlur:Z,ripple:e.ripple,name:e.name},{"thumb-label":a["thumb-label"]})])}})}),{}}}),ul={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function dl(e,t,a,i,n,l){return d(),S(ol,Y({"thumb-size":"36",class:"paginationSlider",density:"compact","hide-details":"auto",min:a.min,rounded:!0,"show-ticks":"always",step:1,"thumb-label":"always"},e.$attrs),{"tick-label":V(({index:o})=>[j(I(o+a.min),1)]),_:1},16,["min"])}const Tl=U(ul,[["render",dl],["__scopeId","data-v-01b67afd"]]),cl={name:"PaginationToolbar"};function ml(e,t,a,i,n,l){return d(),S(jt,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},ye({_:2},[z(e.$slots,(o,s)=>({name:s,fn:V(v=>[ke(e.$slots,s,Y({props:o},v),void 0,!0)])}))]),1024)}const Vl=U(cl,[["render",ml],["__scopeId","data-v-cfa8cce0"]]);export{Kt as B,Sl as M,Le as N,Cl as P,_l as T,kl as V,wl as a,Tl as b,Vl as c,ka as g,Jt as p,la as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-BcRNpoaW.js","assets/admin-drawer-panel-BAT7GA64.js","assets/admin-drawer-panel-Bs2wgKj3.css","assets/main-CmjU2oTp.js","assets/main-BZ73p_WW.css","assets/pdf-doc-CG5-AZ2M.css","assets/pager-full-pdf-BH54_5f6.js","assets/settings-drawer-BdyFhA_r.js","assets/unauthorized-BHgBRF4z.js","assets/change-password-dialog-BazJdNs9.js","assets/VTextField-G6CMj7yO.js","assets/VDialog-GbxvFMMN.js","assets/VDialog-38np3TSA.css","assets/VSelectionControl-CY6RmcvW.js","assets/VSelectionControl-CiViEYoC.css","assets/VTextField-Crc3gdNh.css","assets/change-password-dialog-Mlmvz8_4.css","assets/unauthorized-BjhIc97q.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/settings-drawer-DKncO_vX.css","assets/VWindowItem-CzoGd6Ul.js","assets/VWindowItem-ByIod57Y.css","assets/VSelect-txrnRiNJ.js","assets/VCheckboxBtn-Dk3iB62X.js","assets/VSlideGroup-DtEQMwY1.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-Ca2bIOso.css","assets/VExpansionPanels-Cywv_bEj.js","assets/VExpansionPanels-6G1AUajL.css","assets/VRadioGroup-C0etmxpZ.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-CWiqcZ7a.js","assets/VCheckbox-CMKdyl0R.css","assets/pagination-toolbar-JH3Kbffr.js","assets/pagination-toolbar-DGrxp2OD.css"])))=>i.map(i=>d[i]);
2
- import{az as P,R as v,S as b,_ as k,U as u,V as l,T as p,W as c,Q as r,aN as y,af as f,aC as w,ag as C,aE as S,aA as _,aM as ee,al as R,bv as ve,bw as _e,am as U,bx as te,by as oe,aD as ae,bz as re,bA as Pe,aY as we,aH as B,bs as Se,aB as O,bl as se,bB as ye,aJ as g,aW as Re,bC as M,bD as Ce,bE as Be,A as W,bF as H,bG as Te,bH as De,bI as Ie,bJ as Le,bg as $e,bK as Oe,a$ as Ve,aP as Ne,m as T,ak as ne,aI as K,bL as Ae,aK as F,bM as Ee,bN as xe,bO as Ue,b9 as Fe,ba as ze,bb as Me,bc as We,bP as He,aO as Ke,bQ as qe,bR as ie,bd as je,bi as Ge,bS as Ye,bT as Je}from"./admin-drawer-panel-BAT7GA64.js";import{b as d,e as Qe,_ as le,S as A,r as ce,h as Xe,i as Ze,j as et,d as z}from"./main-CmjU2oTp.js";import{d as tt,b as ot,S as at,V as rt,a as st}from"./settings-drawer-BdyFhA_r.js";import{P as nt,E as de,U as it,V as lt}from"./unauthorized-BHgBRF4z.js";import{b as ue,V as he}from"./VWindowItem-CzoGd6Ul.js";import{a as ct}from"./VSelect-txrnRiNJ.js";import{V as dt,a as ut,b as ht,c as pt}from"./VExpansionPanels-Cywv_bEj.js";import{V as D,a as E}from"./VRadioGroup-C0etmxpZ.js";import{V as I}from"./VCheckbox-CWiqcZ7a.js";import{T as gt,M as mt,V as x,a as kt,P as pe,b as bt,c as ft}from"./pagination-toolbar-JH3Kbffr.js";const vt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(d,["isBTT"]),...v(d,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function _t(e,t,a,h,i,o){const n=u("router-link");return o.show?(l(),p(tt,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[r(n,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:c(()=>[r(y,{class:"bookChangeIcon"},{default:c(()=>[f(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(vt,[["render",_t],["__scopeId","data-v-bd4115bf"]]),wt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...b(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function St(e,t,a,h,i,o){const n=u("BookChangeDrawer");return l(),_(R,null,[o.show?(l(),_("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=ee(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(n,{direction:a.direction},null,8,["direction"])],64)}const yt=k(wt,[["render",St],["__scopeId","data-v-a8fdaab3"]]),Rt={name:"LoadingPage",components:{Placeholder:nt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,h,i,o){const n=u("Placeholder");return l(),_("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(n,{class:"pagePlaceholder"})],2)}const Bt=k(Rt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Tt={name:"ErrorPage",components:{EmptyState:de},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ve:_e}},methods:{onAction(e){this.$emit("retry",e)}}};function Dt(e,t,a,h,i,o){const n=u("EmptyState");return l(),p(n,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const It=k(Tt,[["render",Dt],["__scopeId","data-v-97fa48e8"]]),Lt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(d,["getBookSettings"])}},$t=["src"];function Ot(e,t,a,h,i,o){return l(),_("img",U({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=n=>e.$emit("error",n)),onLoad:t[1]||(t[1]=n=>e.$emit("load",n))}),null,16,$t)}const j=k(Lt,[["render",Ot],["__scopeId","data-v-f0601a0d"]]),G=te(oe(()=>le(()=>import("./pdf-doc-BcRNpoaW.js"),__vite__mapDeps([0,1,2,3,4,5])))),Vt=333,Nt={name:"BookPage",components:{ErrorPage:It,LoadingPage:Bt,PDFDoc:G,ImgPage:j},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(d,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Qe(t)},component(){return this.book.fileType==="PDF"?G:j}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},At=["id","data-page"];function Et(e,t,a,h,i,o){const n=u("ErrorPage"),s=u("LoadingPage");return l(),_("div",{id:`page${a.page}`,key:i.ts,"data-page":a.page,class:"page",style:re(o.style)},[i.error?(l(),p(n,{key:0,"two-pages":e.settings.twoPages,type:i.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):i.showProgress&&!i.loaded?(l(),p(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),p(ae(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,At)}const ge=k(Nt,[["render",Et],["__scopeId","data-v-ea178cb3"]]),xt=.5,Ut={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Pe}},computed:{...v(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=A},style(){return{cursor:this.scale==A?"zoom-in":"all-scroll"}}},methods:{...b(d,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+xt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:A})}}};function Ft(e,t,a,h,i,o){const n=we("drag-scroller");return B((l(),_("div",{class:"scaleForScroll",style:re(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Se(e.$slots,"default",{},void 0,!0),o.showReset?(l(),p(y,{key:0,class:"resetIcon",onClick:ee(o.scaleReset,["stop"])},{default:c(()=>[f(w(i.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[n,,void 0,{onlyX:!0}]])}const me=k(Ut,[["render",Ft],["__scopeId","data-v-a222c504"]]),zt={name:"HorizontalPages",components:{BookPage:ge,ScaleForScroll:me},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...b(d,["getBookSettings","isCoverPage"])}};function Mt(e,t,a,h,i,o){const n=u("BookPage"),s=u("ScaleForScroll");return l(),p(s,{class:"noWrap"},{default:c(()=>[o.showPageOne?(l(),p(n,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),p(n,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Wt=k(zt,[["render",Mt],["__scopeId","data-v-ce77a1b1"]]),Ht={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(d,["isFirstPage","isLastPage"]),...v(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...b(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Kt(e,t,a,h,i,o){const n=u("router-link");return o.show?(l(),p(n,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Ht,[["render",Kt],["__scopeId","data-v-349ebac6"]]),jt=48,Gt=48,Yt={name:"PagerHorizontal",components:{HorizontalPages:Wt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(d,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-jt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=ce(e,t+1)}}};function Jt(e,t,a,h,i,o){const n=u("PageChangeLink"),s=u("HorizontalPages");return l(),p(he,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:c(()=>[r(n,{direction:"prev"})]),next:c(()=>[r(n,{direction:"next"})]),default:c(()=>[(l(!0),_(R,null,O(i.pages,m=>(l(),p(ue,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const Y=k(Yt,[["render",Jt],["__scopeId","data-v-17343bd0"]]),J=250,Qt={name:"PagerVertical",components:{BookPage:ge,ScaleForScroll:me},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...v(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=ce(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},J)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const h=+t[0].target.dataset.page;this.setActivePage(h,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},J)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xt=["data-page"];function Zt(e,t,a,h,i,o){const n=u("BookPage"),s=u("ScaleForScroll");return l(),p(s,null,{default:c(()=>[B((l(),p(ct,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:i.innerHeight,width:i.innerWidth},{default:c(({item:m})=>[r(n,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(g("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Xt),[[Re,i.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ye,o.onScroll,"#verticalScroll"]])]),_:1})}const Q=k(Qt,[["render",Zt],["__scopeId","data-v-17541277"]]),X=te(oe(()=>le(()=>import("./pager-full-pdf-BH54_5f6.js"),__vite__mapDeps([6,1,2,3,4,0,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),eo={name:"PagerSelector",components:{PagerHorizontal:Y,PagerPDF:X,PagerVertical:Q},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(d,["cacheBook"]),...v(d,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=X:this.bookSettings.isVertical?e=Q:e=Y,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...b(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function to(e,t,a,h,i,o){return l(),p(ae(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:yt,Pager:oo},computed:{...P(d,["isBTT"]),...v(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...b(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function ro(e,t,a,h,i,o){const n=u("BookChangeActivator"),s=u("Pager");return l(),p(he,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:c(()=>[r(n,{direction:"prev"})]),next:c(()=>[r(n,{direction:"next"})]),default:c(()=>[(l(!0),_(R,null,O(e.books,m=>(l(),p(ue,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const so=k(ao,[["render",ro],["__scopeId","data-v-36f4263b"]]),no={name:"DownloadPanel",components:{DrawerItem:M},data(){return{mdiDownload:Ce,mdiFileImage:Be}},computed:{...P(d,["activeTitle","routeParams"]),...v(d,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Xe(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Ze({pk:e,page:this.storePage,mtime:t})},pageName(){const e=this.currentBook.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(W,["downloadIOSPWAFix"]),downloadPage(){H(this.pageSrc,this.pageName)},downloadBook(){H(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,h,i,o){const n=u("DrawerItem");return e.currentBook?(l(),_("div",io,[r(n,{"prepend-icon":i.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(n,{"prepend-icon":i.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-5eb3869f"]]),uo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Te,mdiMenuRight:De,mdiKeyboardSpace:Ie,mdiAppleKeyboardShift:Le}}},ho={class:"highlight-table"};function po(e,t,a,h,i,o){return l(),_(R,null,[t[9]||(t[9]=g("h4",null,"Navigation",-1)),g("table",ho,[g("tbody",null,[g("tr",null,[g("td",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=f(", j, ")),g("div",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiAppleKeyboardShift),1)]),_:1}),r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=g("td",null,"Previous page",-1))]),g("tr",null,[g("td",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=f(", k, ")),r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=g("td",null,"Next page",-1))]),t[4]||(t[4]=g("tr",null,[g("td",null,","),g("td",null,[f("Next "),g("em",null,"only"),f(" one page in two page mode.")])],-1)),t[5]||(t[5]=g("tr",null,[g("td",null,"."),g("td",null,[f("Previous "),g("em",null,"only"),f(" one page in two page mode.")])],-1)),t[6]||(t[6]=g("tr",null,[g("td",null,"p"),g("td",null,"Previous Book")],-1)),t[7]||(t[7]=g("tr",null,[g("td",null,"n"),g("td",null,"Next Book")],-1)),t[8]||(t[8]=g("tr",null,[g("td",null,"esc"),g("td",null,"Close book")],-1))])]),t[10]||(t[10]=$e('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic&#39;s metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const go=k(uo,[["render",po],["__scopeId","data-v-1624cd48"]]),mo={name:"KeyboardShortcutsPanel",components:{DrawerItem:M,KeyboardShortcutsTable:go},data(){return{mdiKeyboardOutline:Oe}},computed:{...P(W,["isMobile"])}};function ko(e,t,a,h,i,o){const n=u("DrawerItem"),s=u("KeyboardShortcutsTable");return e.isMobile?S("",!0):(l(),p(pt,{key:0},{default:c(()=>[r(dt,{id:"readerKeyboardShortcuts"},{default:c(()=>[r(ut,{id:"shortcutsTitle"},{default:c(()=>[r(n,{id:"keyboardShortcutsItem","prepend-icon":i.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(ht,null,{default:c(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const bo=k(mo,[["render",ko],["__scopeId","data-v-699651a3"]]),ke=["fitTo","readingDirection","twoPages"];Object.freeze(ke);const fo={name:"ReaderSettingsPanel",components:{DrawerItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ve,mdiEye:Ne,openDelay:2e3}},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["isVertical","isPDF","cacheBook"]),...v(d,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const h of ke){const i=(a=e.books)==null?void 0:a.current.settings[h];if(!e.choices.nullValues.has(i))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?et((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(d,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},vo={id:"readerScopedSettings",class:"readerDrawerItem"};function _o(e,t,a,h,i,o){const n=u("DrawerItem");return l(),_(R,null,[r(E,{modelValue:i.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>i.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[r(D,{label:"Only this comic",value:!1}),r(D,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),r(Ae,null,{default:c(()=>[g("div",vo,[r(E,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:c(()=>[(l(!0),_(R,null,O(o.fitToChoices,s=>(l(),p(D,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(I,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(E,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:c(()=>[(l(!0),_(R,null,O(o.readingDirectionChoices,s=>(l(),p(D,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),i.isGlobalScope?S("",!0):B((l(),p(ne,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:c(()=>t[7]||(t[7]=[f(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[K,{openDelay:i.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(F),r(I,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(I,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(I,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[K,{openDelay:i.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),p(n,{key:0,"prepend-icon":i.mdiEye,"append-icon":i.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const Po=k(fo,[["render",_o],["__scopeId","data-v-42dbb202"]]),wo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:bo,ReaderSettingsPanel:Po}};function So(e,t,a,h,i,o){const n=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),_(R,null,[r(n),r(F),r(s),r(F),r(m)],64)}const yo=k(wo,[["render",So]]),Ro={name:"ReaderSettingsDrawer",components:{SettingsDrawer:ot,ReaderSettingsSuperPanel:yo}};function Co(e,t,a,h,i,o){const n=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),p(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[r(n)]),_:1})}const Bo=k(Ro,[["render",Co]]),Z={a:Ue,f:Fe,p:ze,i:Me,s:We,v:He},To={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Do={name:"ReaderArcSelect",components:{ToolbarSelect:gt},data(){return{mdiFilterOutline:Ee}},computed:{...v(d,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const h={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:To[a.group],prependIcon:Z[a.group]};t.push(h)}return t}})},methods:{...b(d,["loadBooks"]),arcIcon(e){return Z[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?xe:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Io={id:"arcPos"};function Lo(e,t,a,h,i,o){const n=u("ToolbarSelect");return l(),p(n,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:c(({item:s,props:m})=>[r(Ke,U(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:s,props:m})=>[r(y,U({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[f(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),g("span",Io,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const $o=k(Do,[["render",Lo],["__scopeId","data-v-62bf79bd"]]),Oo={name:"ReaderTitleToolbar",components:{MetadataDialog:mt,ReaderArcSelect:$o,SettingsDrawerButton:at},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["activeTitle","closeBookRoute"]),...v(d,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=z(this.closeBookRoute),t=z(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(W,["setTimestamp"]),...b(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Vo={id:"title"},No={key:0,id:"subtitle"};function Ao(e,t,a,h,i,o){const n=u("ReaderArcSelect"),s=u("MetadataDialog"),m=u("SettingsDrawerButton");return l(),p(Ge,null,{default:c(()=>[B(r(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},je({default:c(()=>[r(x,null,{default:c(()=>[r(ne,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:c(()=>t[0]||(t[0]=[f(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(kt),e.empty?S("",!0):(l(),p(x,{key:0},{default:c(()=>[r(n),r(s,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(x,null,{default:c(()=>[r(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:c(()=>[r(rt,{class:"readerTitle"},{default:c(()=>[g("div",Vo,w(o.title),1),e.subtitle?(l(),_("div",No,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ie,e.showToolbars]])]),_:1})}const be=k(Oo,[["render",Ao],["__scopeId","data-v-dc4c0fde"]]),Eo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:be,EmptyState:de},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(d,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function xo(e,t,a,h,i,o){const n=u("ReaderTopToolbar"),s=u("EmptyState");return l(),_(R,null,[r(n),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:i.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Uo=k(Eo,[["render",xo]]),Fo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(d,["isBTT"]),...v(d,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:z(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(d,["bookChangeIcon"])}};function zo(e,t,a,h,i,o){const n=u("PaginationNavButton");return e.toRoute?(l(),p(n,{key:0,class:C(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:c(()=>[r(y,null,{default:c(()=>[f(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Mo=k(Fo,[["render",zo],["__scopeId","data-v-f8015577"]]),Wo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(d,["isVertical"]),...v(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...b(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Ho(e,t,a,h,i,o){const n=u("PaginationNavButton");return l(),p(n,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:c(()=>[f(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Ko=k(Wo,[["render",Ho],["__scopeId","data-v-530fba8c"]]),L="prev",$="next",qo={name:"ReaderNavToolbar",components:{PaginationSlider:bt,ReaderNavButton:Ko,PaginationToolbar:ft,ReaderBookChangeNavButton:Mo},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["activeSettings","isReadInReverse","isVertical"]),...v(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,h;return`${(h=(a=e.books)==null?void 0:a.current)==null?void 0:h.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(L);break}}}};function jo(e,t,a,h,i,o){const n=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),V=u("PaginationToolbar");return l(),p(Je,null,{default:c(()=>[e.maxPage?B((l(),p(V,{key:0,id:"readerToolbarNav"},{default:c(()=>[r(n,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=N=>o.onSliderUpdate(N))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(n,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const Go=k(qo,[["render",jo],["__scopeId","data-v-955ab3ce"]]),Yo={name:"MainReader",components:{BooksWindow:so,ReaderEmpty:Uo,ReaderNavToolbar:Go,ReaderTopToolbar:be,ReaderSettingsDrawer:Bo,Unauthorized:it},data(){return{showToolbars:!1}},computed:{...P(T,["isAuthorized"]),...v(T,{user:e=>e.user}),...v(d,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(d,["loadReaderSettings","reset"])}},Jo={key:0},Qo={id:"readerContainer"};function Xo(e,t,a,h,i,o){const n=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),V=u("ReaderEmpty"),N=u("ReaderSettingsDrawer"),fe=u("Unauthorized");return e.isAuthorized?(l(),p(lt,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(l(),p(V,{key:1})):(l(),_("div",Jo,[g("div",Qo,[r(n),r(s),r(m)])])),r(N)]),_:1})):(l(),p(fe,{key:1}))}const Zo=k(Yo,[["render",Xo],["__scopeId","data-v-4f31abfa"]]),da=Object.freeze(Object.defineProperty({__proto__:null,default:Zo},Symbol.toStringTag,{value:"Module"}));export{qt as P,me as S,da as r};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-BcRNpoaW.js","assets/admin-drawer-panel-BAT7GA64.js","assets/admin-drawer-panel-Bs2wgKj3.css","assets/main-CmjU2oTp.js","assets/main-BZ73p_WW.css","assets/pdf-doc-CG5-AZ2M.css","assets/pager-full-pdf-BH54_5f6.js","assets/settings-drawer-BdyFhA_r.js","assets/unauthorized-BHgBRF4z.js","assets/change-password-dialog-BazJdNs9.js","assets/VTextField-G6CMj7yO.js","assets/VDialog-GbxvFMMN.js","assets/VDialog-38np3TSA.css","assets/VSelectionControl-CY6RmcvW.js","assets/VSelectionControl-CiViEYoC.css","assets/VTextField-Crc3gdNh.css","assets/change-password-dialog-Mlmvz8_4.css","assets/unauthorized-BjhIc97q.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/settings-drawer-DKncO_vX.css","assets/VWindowItem-CzoGd6Ul.js","assets/VWindowItem-ByIod57Y.css","assets/VSelect-txrnRiNJ.js","assets/VCheckboxBtn-Dk3iB62X.js","assets/VSlideGroup-DtEQMwY1.js","assets/VSlideGroup-Dk_1upHt.css","assets/VSelect-Ca2bIOso.css","assets/VExpansionPanels-Cywv_bEj.js","assets/VExpansionPanels-6G1AUajL.css","assets/VRadioGroup-C0etmxpZ.js","assets/VRadioGroup-i2qP9Wu9.css","assets/VCheckbox-CWiqcZ7a.js","assets/VCheckbox-CMKdyl0R.css","assets/pagination-toolbar-JH3Kbffr.js","assets/pagination-toolbar-DGrxp2OD.css"])))=>i.map(i=>d[i]);
2
- import{az as P,R as v,S as b,_ as k,U as u,V as l,T as p,W as c,Q as r,aN as y,af as f,aC as w,ag as C,aE as S,aA as _,aM as ee,al as R,bv as ve,bw as _e,am as U,bx as te,by as oe,aD as ae,bz as re,bA as Pe,aY as we,aH as B,bs as Se,aB as O,bl as se,bB as ye,aJ as g,aW as Re,bC as M,bD as Ce,bE as Be,A as W,bF as H,bG as Te,bH as De,bI as Ie,bJ as Le,bg as $e,bK as Oe,a$ as Ve,aP as Ne,m as T,ak as ne,aI as K,bL as Ae,aK as F,bM as Ee,bN as xe,bO as Ue,b9 as Fe,ba as ze,bb as Me,bc as We,bP as He,aO as Ke,bQ as qe,bR as ie,bd as je,bi as Ge,bS as Ye,bT as Je}from"./admin-drawer-panel-BAT7GA64.js";import{b as d,e as Qe,_ as le,S as A,r as ce,h as Xe,i as Ze,j as et,d as z}from"./main-CmjU2oTp.js";import{d as tt,b as ot,S as at,V as rt,a as st}from"./settings-drawer-BdyFhA_r.js";import{P as nt,E as de,U as it,V as lt}from"./unauthorized-BHgBRF4z.js";import{b as ue,V as he}from"./VWindowItem-CzoGd6Ul.js";import{a as ct}from"./VSelect-txrnRiNJ.js";import{V as dt,a as ut,b as ht,c as pt}from"./VExpansionPanels-Cywv_bEj.js";import{V as D,a as E}from"./VRadioGroup-C0etmxpZ.js";import{V as I}from"./VCheckbox-CWiqcZ7a.js";import{T as gt,M as mt,V as x,a as kt,P as pe,b as bt,c as ft}from"./pagination-toolbar-JH3Kbffr.js";const vt={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...P(d,["isBTT"]),...v(d,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...b(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function _t(e,t,a,h,i,o){const n=u("router-link");return o.show?(l(),p(tt,{key:0,class:C(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:c(()=>[r(n,{class:C({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},{default:c(()=>[r(y,{class:"bookChangeIcon"},{default:c(()=>[f(w(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):S("",!0)}const Pt=k(vt,[["render",_t],["__scopeId","data-v-bd4115bf"]]),wt={name:"BookChangeActivator",components:{BookChangeDrawer:Pt},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...b(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function St(e,t,a,h,i,o){const n=u("BookChangeDrawer");return l(),_(R,null,[o.show?(l(),_("div",{key:0,class:C(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=ee(s=>e.setBookChangeFlag(a.direction),["stop"]))},null,2)):S("",!0),r(n,{direction:a.direction},null,8,["direction"])],64)}const yt=k(wt,[["render",St],["__scopeId","data-v-a8fdaab3"]]),Rt={name:"LoadingPage",components:{Placeholder:nt},props:{twoPages:{type:Boolean,required:!0}}};function Ct(e,t,a,h,i,o){const n=u("Placeholder");return l(),_("div",{class:C(["pageLoading",{twoPages:a.twoPages}])},[r(n,{class:"pagePlaceholder"})],2)}const Bt=k(Rt,[["render",Ct],["__scopeId","data-v-04027168"]]),q="unauthorized",Tt={name:"ErrorPage",components:{EmptyState:de},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===q?"Protected page":"Failed to load page"},icon(){return this.type===q?ve:_e}},methods:{onAction(e){this.$emit("retry",e)}}};function Dt(e,t,a,h,i,o){const n=u("EmptyState");return l(),p(n,{class:C(["pageError",{twoPages:a.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const It=k(Tt,[["render",Dt],["__scopeId","data-v-97fa48e8"]]),Lt={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...v(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!(t!=null&&t.naturalWidth))return e;const a=t.naturalWidth/2;return e.transformOrigin=`${a}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...b(d,["getBookSettings"])}},$t=["src"];function Ot(e,t,a,h,i,o){return l(),_("img",U({class:[o.classes,"img"],draggable:"false",src:a.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=n=>e.$emit("error",n)),onLoad:t[1]||(t[1]=n=>e.$emit("load",n))}),null,16,$t)}const j=k(Lt,[["render",Ot],["__scopeId","data-v-f0601a0d"]]),G=te(oe(()=>le(()=>import("./pdf-doc-BcRNpoaW.js"),__vite__mapDeps([0,1,2,3,4,5])))),Vt=333,Nt={name:"BookPage",components:{ErrorPage:It,LoadingPage:Bt,PDFDoc:G,ImgPage:j},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...v(d,{scale:e=>e.clientSettings.scale}),style(){var a;const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=(a=this.$refs.pageComponent)==null?void 0:a.$el;return t!=null&&t.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return Qe(t)},component(){return this.book.fileType==="PDF"?G:j}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vt)},methods:{onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},At=["id","data-page"];function Et(e,t,a,h,i,o){const n=u("ErrorPage"),s=u("LoadingPage");return l(),_("div",{id:`page${a.page}`,key:i.ts,"data-page":a.page,class:"page",style:re(o.style)},[i.error?(l(),p(n,{key:0,"two-pages":e.settings.twoPages,type:i.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):i.showProgress&&!i.loaded?(l(),p(s,{key:1,"two-pages":e.settings.twoPages},null,8,["two-pages"])):(l(),p(ae(o.component),{key:2,ref:"pageComponent",book:a.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,At)}const ge=k(Nt,[["render",Et],["__scopeId","data-v-ea178cb3"]]),xt=.5,Ut={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:Pe}},computed:{...v(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=A},style(){return{cursor:this.scale==A?"zoom-in":"all-scroll"}}},methods:{...b(d,["setSettingsClient"]),clearSelection(){window.getSelection&&window.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+xt;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:A})}}};function Ft(e,t,a,h,i,o){const n=we("drag-scroller");return B((l(),_("div",{class:"scaleForScroll",style:re(o.style),onDblclick:t[0]||(t[0]=(...s)=>o.onDoubleClick&&o.onDoubleClick(...s))},[Se(e.$slots,"default",{},void 0,!0),o.showReset?(l(),p(y,{key:0,class:"resetIcon",onClick:ee(o.scaleReset,["stop"])},{default:c(()=>[f(w(i.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):S("",!0)],36)),[[n,,void 0,{onlyX:!0}]])}const me=k(Ut,[["render",Ft],["__scopeId","data-v-a222c504"]]),zt={name:"HorizontalPages",components:{BookPage:ge,ScaleForScroll:me},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...b(d,["getBookSettings","isCoverPage"])}};function Mt(e,t,a,h,i,o){const n=u("BookPage"),s=u("ScaleForScroll");return l(),p(s,{class:"noWrap"},{default:c(()=>[o.showPageOne?(l(),p(n,{key:0,ref:"pageOne",book:a.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):S("",!0),o.showPageTwo?(l(),p(n,{key:1,book:a.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):S("",!0)]),_:1})}const Wt=k(zt,[["render",Mt],["__scopeId","data-v-ce77a1b1"]]),Ht={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...P(d,["isFirstPage","isLastPage"]),...v(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...b(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Kt(e,t,a,h,i,o){const n=u("router-link");return o.show?(l(),p(n,{key:0,to:o.route,"aria-label":o.label,class:C(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=s=>s.stopImmediatePropagation())},null,8,["to","aria-label","class"])):S("",!0)}const qt=k(Ht,[["render",Kt],["__scopeId","data-v-349ebac6"]]),jt=48,Gt=48,Yt={name:"PagerHorizontal",components:{HorizontalPages:Wt,PageChangeLink:qt},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...v(d,{prevBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.prev},nextBook:e=>{var t;return(t=e.routes.books)==null?void 0:t.next},storePage:e=>e.page,storePk:e=>e.books.current.pk}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),a=this.pages.at(-1);(e<t||e>a)&&this.setPages()}},prevBook(e){this.book.pk===e.pk&&(this.activePage=this.book.maxPage)},nextBook(e){this.book.pk===e.pk&&(this.activePage=0)}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...b(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-jt,0),t=Math.min(this.activePage+Gt,this.book.maxPage);this.pages=ce(e,t+1)}}};function Jt(e,t,a,h,i,o){const n=u("PageChangeLink"),s=u("HorizontalPages");return l(),p(he,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:c(()=>[r(n,{direction:"prev"})]),next:c(()=>[r(n,{direction:"next"})]),default:c(()=>[(l(!0),_(R,null,O(i.pages,m=>(l(),p(ue,{key:`c/${a.book.pk}/${m}`,class:"windowItem",disabled:"",eager:m>=e.storePage-1&&m<=e.storePage+2,"model-value":m,transition:!0},{default:c(()=>[r(s,{book:a.book,page:m},null,8,["book","page"])]),_:2},1032,["eager","model-value"]))),128))]),_:1},8,["model-value","reverse"])}const Y=k(Yt,[["render",Jt],["__scopeId","data-v-17343bd0"]]),J=250,Qt={name:"PagerVertical",components:{BookPage:ge,ScaleForScroll:me},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...v(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...se(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){var a;const e=(a=this.book)!=null&&a.maxPage?this.book.maxPage+1:0,t=ce(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},J)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...b(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const h=+t[0].target.dataset.page;this.setActivePage(h,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const a=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=a&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},J)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xt=["data-page"];function Zt(e,t,a,h,i,o){const n=u("BookPage"),s=u("ScaleForScroll");return l(),p(s,null,{default:c(()=>[B((l(),p(ct,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:i.innerHeight,width:i.innerWidth},{default:c(({item:m})=>[r(n,{book:a.book,page:m,class:"verticalPage"},null,8,["book","page"]),B(g("div",{class:C(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":m},null,10,Xt),[[Re,i.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[ye,o.onScroll,"#verticalScroll"]])]),_:1})}const Q=k(Qt,[["render",Zt],["__scopeId","data-v-17541277"]]),X=te(oe(()=>le(()=>import("./pager-full-pdf-BH54_5f6.js"),__vite__mapDeps([6,1,2,3,4,0,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34])))),eo={name:"PagerSelector",components:{PagerHorizontal:Y,PagerPDF:X,PagerVertical:Q},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...P(d,["cacheBook"]),...v(d,{storePk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0}}),isActiveBook(){var e;return this.book&&this.storePk===((e=this.book)==null?void 0:e.pk)},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){var e;return((e=this.book)==null?void 0:e.fileType)=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=X:this.bookSettings.isVertical?e=Q:e=Y,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...b(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function to(e,t,a,h,i,o){return l(),p(ae(o.component),{book:a.book},null,8,["book"])}const oo=k(eo,[["render",to]]),ao={name:"BooksWindow",components:{BookChangeActivator:yt,Pager:oo},computed:{...P(d,["isBTT"]),...v(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.pk)||0},bookRoutes:e=>e.routes.books}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...b(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function ro(e,t,a,h,i,o){const n=u("BookChangeActivator"),s=u("Pager");return l(),p(he,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:c(()=>[r(n,{direction:"prev"})]),next:c(()=>[r(n,{direction:"next"})]),default:c(()=>[(l(!0),_(R,null,O(e.books,m=>(l(),p(ue,{key:`c/${m.pk}`,class:"windowItem",disabled:"",eager:o.eager(m.pk),value:m.pk,transition:!0},{default:c(()=>[r(s,{book:m,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const so=k(ao,[["render",ro],["__scopeId","data-v-36f4263b"]]),no={name:"DownloadPanel",components:{DrawerItem:M},data(){return{mdiDownload:Ce,mdiFileImage:Be}},computed:{...P(d,["activeTitle","routeParams"]),...v(d,{currentBook:e=>{var t;return(t=e.books)==null?void 0:t.current},storePage:e=>e.page}),downloadURL(){return Xe(this.currentBook)},filename(){var e;return(e=this.currentBook)==null?void 0:e.filename},pageSrc(){const{pk:e,mtime:t}=this.currentBook;return Ze({pk:e,page:this.storePage,mtime:t})},pageName(){const e=this.currentBook.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`}},methods:{...b(W,["downloadIOSPWAFix"]),downloadPage(){H(this.pageSrc,this.pageName)},downloadBook(){H(this.downloadURL,this.filename)}}},io={key:0,id:"downloadPanel"};function lo(e,t,a,h,i,o){const n=u("DrawerItem");return e.currentBook?(l(),_("div",io,[r(n,{"prepend-icon":i.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(n,{"prepend-icon":i.mdiDownload,title:"Download Book",onClick:o.downloadBook},null,8,["prepend-icon","onClick"])])):S("",!0)}const co=k(no,[["render",lo],["__scopeId","data-v-5eb3869f"]]),uo={name:"KeyboardShortcutsTable",data(){return{mdiMenuLeft:Te,mdiMenuRight:De,mdiKeyboardSpace:Ie,mdiAppleKeyboardShift:Le}}},ho={class:"highlight-table"};function po(e,t,a,h,i,o){return l(),_(R,null,[t[9]||(t[9]=g("h4",null,"Navigation",-1)),g("table",ho,[g("tbody",null,[g("tr",null,[g("td",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiMenuLeft),1)]),_:1}),t[0]||(t[0]=f(", j, ")),g("div",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiAppleKeyboardShift),1)]),_:1}),r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiKeyboardSpace),1)]),_:1})])]),t[1]||(t[1]=g("td",null,"Previous page",-1))]),g("tr",null,[g("td",null,[r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiMenuRight),1)]),_:1}),t[2]||(t[2]=f(", k, ")),r(y,{class:"keyIcon",density:"compact"},{default:c(()=>[f(w(i.mdiKeyboardSpace),1)]),_:1})]),t[3]||(t[3]=g("td",null,"Next page",-1))]),t[4]||(t[4]=g("tr",null,[g("td",null,","),g("td",null,[f("Next "),g("em",null,"only"),f(" one page in two page mode.")])],-1)),t[5]||(t[5]=g("tr",null,[g("td",null,"."),g("td",null,[f("Previous "),g("em",null,"only"),f(" one page in two page mode.")])],-1)),t[6]||(t[6]=g("tr",null,[g("td",null,"p"),g("td",null,"Previous Book")],-1)),t[7]||(t[7]=g("tr",null,[g("td",null,"n"),g("td",null,"Next Book")],-1)),t[8]||(t[8]=g("tr",null,[g("td",null,"esc"),g("td",null,"Close book")],-1))])]),t[10]||(t[10]=$e('<h4 data-v-1624cd48>Fit Page To</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>s</td><td data-v-1624cd48>screen</td></tr><tr data-v-1624cd48><td data-v-1624cd48>h</td><td data-v-1624cd48>screen height</td></tr><tr data-v-1624cd48><td data-v-1624cd48>w</td><td data-v-1624cd48>screen width</td></tr><tr data-v-1624cd48><td data-v-1624cd48>o</td><td data-v-1624cd48>Show page at original size</td></tr><tr data-v-1624cd48><td data-v-1624cd48>2</td><td data-v-1624cd48>Toggle two page view</td></tr><tr data-v-1624cd48><td data-v-1624cd48>r</td><td data-v-1624cd48>Read Right to Left</td></tr><tr data-v-1624cd48><td data-v-1624cd48>l</td><td data-v-1624cd48>Read Left to Right</td></tr><tr data-v-1624cd48><td data-v-1624cd48>t</td><td data-v-1624cd48>Read Top to Bottom</td></tr><tr data-v-1624cd48><td data-v-1624cd48>b</td><td data-v-1624cd48>Read in Bottom to Top</td></tr></tbody></table><h4 data-v-1624cd48>Other</h4><table class="highlight-table" data-v-1624cd48><tbody data-v-1624cd48><tr data-v-1624cd48><td data-v-1624cd48>m</td><td data-v-1624cd48>Show comic&#39;s metadata</td></tr><tr data-v-1624cd48><td data-v-1624cd48>double click</td><td data-v-1624cd48>Zoom page</td></tr></tbody></table>',4))],64)}const go=k(uo,[["render",po],["__scopeId","data-v-1624cd48"]]),mo={name:"KeyboardShortcutsPanel",components:{DrawerItem:M,KeyboardShortcutsTable:go},data(){return{mdiKeyboardOutline:Oe}},computed:{...P(W,["isMobile"])}};function ko(e,t,a,h,i,o){const n=u("DrawerItem"),s=u("KeyboardShortcutsTable");return e.isMobile?S("",!0):(l(),p(pt,{key:0},{default:c(()=>[r(dt,{id:"readerKeyboardShortcuts"},{default:c(()=>[r(ut,{id:"shortcutsTitle"},{default:c(()=>[r(n,{id:"keyboardShortcutsItem","prepend-icon":i.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(ht,null,{default:c(()=>[r(s)]),_:1})]),_:1})]),_:1}))}const bo=k(mo,[["render",ko],["__scopeId","data-v-699651a3"]]),ke=["fitTo","readingDirection","twoPages"];Object.freeze(ke);const fo={name:"ReaderSettingsPanel",components:{DrawerItem:M},data(){return{isGlobalScope:!1,mdiOpenInNew:Ve,mdiEye:Ne,openDelay:2e3}},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["isVertical","isPDF","cacheBook"]),...v(d,{choices:e=>e.choices,validBook:e=>{var t;return!!((t=e.books)!=null&&t.current)},selectedSettings(e){var t,a;return this.isGlobalScope||!((t=e.books)!=null&&t.current)?e.readerSettings:(a=e.books)==null?void 0:a.current.settings},isClearSettingsButtonDisabled(e){var t,a;if(this.isGlobalScope||!((t=e.books)!=null&&t.current))return!0;for(const h of ke){const i=(a=e.books)==null?void 0:a.current.settings[h];if(!e.choices.nullValues.has(i))return!1}return!0},pdfInBrowserURL(e){var t,a;return this.isPDF&&((t=e.books)!=null&&t.current)?et((a=e.books)==null?void 0:a.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage}),...se(d,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const a of this.choices[e])a.value&&t.push(a);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},vo={id:"readerScopedSettings",class:"readerDrawerItem"};function _o(e,t,a,h,i,o){const n=u("DrawerItem");return l(),_(R,null,[r(E,{modelValue:i.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=s=>i.isGlobalScope=s),class:"scopeRadioButton readerDrawerItem",density:"compact",label:"Scope","hide-details":"auto"},{default:c(()=>[r(D,{label:"Only this comic",value:!1}),r(D,{label:"Default for all comics",value:!0})]),_:1},8,["modelValue"]),r(Ae,null,{default:c(()=>[g("div",vo,[r(E,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=s=>o.settingsDialogChanged({fitTo:s}))},{default:c(()=>[(l(!0),_(R,null,O(o.fitToChoices,s=>(l(),p(D,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(I,{disabled:o.disableTwoPages,class:"displayTwoPages",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=s=>o.settingsDialogChanged({twoPages:s}))},null,8,["disabled","model-value","indeterminate"]),r(E,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=s=>o.settingsDialogChanged({readingDirection:s}))},{default:c(()=>[(l(!0),_(R,null,O(o.readingDirectionChoices,s=>(l(),p(D,{key:s.value,label:s.title,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),i.isGlobalScope?S("",!0):B((l(),p(ne,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:c(()=>t[7]||(t[7]=[f(" Clear Settings ")])),_:1},8,["disabled","onClick"])),[[K,{openDelay:i.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(F),r(I,{class:"readerDrawerItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=s=>o.settingsDialogChanged({finishOnLastPage:s}))},null,8,["model-value"]),r(I,{"model-value":e.selectedSettings.readRtlInReverse,class:"readerDrawerItem",density:"compact",label:"Read RTL Comics as LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=s=>o.settingsDialogChanged({readRtlInReverse:s}))},null,8,["model-value"]),B(r(I,{"model-value":e.cacheBook,class:"readerDrawerItem cacheBook",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=s=>e.setSettingsClient({cacheBook:s}))},null,8,["model-value","disabled"]),[[K,{openDelay:i.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(l(),p(n,{key:0,"prepend-icon":i.mdiEye,"append-icon":i.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):S("",!0)],64)}const Po=k(fo,[["render",_o],["__scopeId","data-v-42dbb202"]]),wo={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:co,ReaderKeyboardShortcutsPanel:bo,ReaderSettingsPanel:Po}};function So(e,t,a,h,i,o){const n=u("ReaderSettingsPanel"),s=u("ReaderKeyboardShortcutsPanel"),m=u("DownloadPanel");return l(),_(R,null,[r(n),r(F),r(s),r(F),r(m)],64)}const yo=k(wo,[["render",So]]),Ro={name:"ReaderSettingsDrawer",components:{SettingsDrawer:ot,ReaderSettingsSuperPanel:yo}};function Co(e,t,a,h,i,o){const n=u("ReaderSettingsSuperPanel"),s=u("SettingsDrawer");return l(),p(s,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:c(()=>[r(n)]),_:1})}const Bo=k(Ro,[["render",Co]]),Z={a:Ue,f:Fe,p:ze,i:Me,s:We,v:He},To={a:"Story Arc",f:"Folder",p:"Publisher",i:"Imprint",s:"Series",v:"Volume"},Do={name:"ReaderArcSelect",components:{ToolbarSelect:gt},data(){return{mdiFilterOutline:Ee}},computed:{...v(d,{arcGroup:e=>{var t;return((t=e.arc)==null?void 0:t.group)||"s"},arc:e=>e.arc,arcName:e=>{for(const t of e.arcs)if(e.arc.group===t.group&&e.arc.pks===t.pks)return t.name;return"Unknown"},arcItems:e=>{const t=[];for(const a of e.arcs){const h={value:a,title:a.name,group:a.group,filters:a.filters,subtitle:To[a.group],prependIcon:Z[a.group]};t.push(h)}return t}})},methods:{...b(d,["loadBooks"]),arcIcon(e){return Z[e]},checkIcon(e){return e.group===this.arc.group&&e.pks==this.arc.pks?xe:""},subtitle(e){let t=e.subtitle;return e.filters&&(t+=" (filtered)"),t},onUpdate(e){const t={group:e.group,pks:e.pks};this.loadBooks({arc:t})}}},Io={id:"arcPos"};function Lo(e,t,a,h,i,o){const n=u("ToolbarSelect");return l(),p(n,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:e.arcItems,disabled:!e.arcItems||e.arcItems.length<=1,"onUpdate:modelValue":o.onUpdate},{item:c(({item:s,props:m})=>[r(Ke,U(m,{density:"compact",variant:"plain","prepend-icon":s.raw.prependIcon,subtitle:o.subtitle(s.raw),"append-icon":o.checkIcon(m.value)}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:c(({item:s,props:m})=>[r(y,U({size:"large"},m,{class:"arcSelectIcon"}),{default:c(()=>[f(w(o.arcIcon(s.raw.group)),1)]),_:2},1040),g("span",Io,w(e.arc.index)+" / "+w(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const $o=k(Do,[["render",Lo],["__scopeId","data-v-62bf79bd"]]),Oo={name:"ReaderTitleToolbar",components:{MetadataDialog:mt,ReaderArcSelect:$o,SettingsDrawerButton:at},data(){return{mdiClose:qe,routeChanged:!1}},head(){return{meta:[{hid:"description",name:"description",content:`reader ${this.activeTitle} page ${this.storePage}`}]}},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["activeTitle","closeBookRoute"]),...v(d,{showToolbars:e=>e.showToolbars,currentBook:e=>{var t;return((t=e.books)==null?void 0:t.current)||{}},empty:e=>e.empty,subtitle:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.name)||""}}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=z(this.closeBookRoute),t=z(e.params);return delete t.name,e.params=t,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(W,["setTimestamp"]),...b(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Vo={id:"title"},No={key:0,id:"subtitle"};function Ao(e,t,a,h,i,o){const n=u("ReaderArcSelect"),s=u("MetadataDialog"),m=u("SettingsDrawerButton");return l(),p(Ge,null,{default:c(()=>[B(r(st,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},je({default:c(()=>[r(x,null,{default:c(()=>[r(ne,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:c(()=>t[0]||(t[0]=[f(" close book ")])),_:1},8,["to","onClick"])]),_:1}),r(kt),e.empty?S("",!0):(l(),p(x,{key:0},{default:c(()=>[r(n),r(s,{ref:"metadataDialog",group:"c",toolbar:!0,book:e.currentBook},null,8,["book"])]),_:1})),r(x,null,{default:c(()=>[r(m)]),_:1})]),_:2},[o.title?{name:"extension",fn:c(()=>[r(rt,{class:"readerTitle"},{default:c(()=>[g("div",Vo,w(o.title),1),e.subtitle?(l(),_("div",No,w(e.subtitle),1)):S("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"]),[[ie,e.showToolbars]])]),_:1})}const be=k(Oo,[["render",Ao],["__scopeId","data-v-dc4c0fde"]]),Eo={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:be,EmptyState:de},data(){return{mdiBookRemoveOutline:Ye}},methods:{...b(d,["loadBooks"]),onAction(){this.loadBooks({mtime:Date.now()})}}};function xo(e,t,a,h,i,o){const n=u("ReaderTopToolbar"),s=u("EmptyState");return l(),_(R,null,[r(n),r(s,{headline:"Book Not Found",title:"Close the reader and find another book",icon:i.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Uo=k(Eo,[["render",xo]]),Fo={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:pe},props:{direction:{type:String,required:!0}},computed:{...P(d,["isBTT"]),...v(d,{toRoute(e){var a;const t=(a=e==null?void 0:e.routes)==null?void 0:a.books[this.direction];return t?{params:z(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...b(d,["bookChangeIcon"])}};function zo(e,t,a,h,i,o){const n=u("PaginationNavButton");return e.toRoute?(l(),p(n,{key:0,class:C(o.classes),icon:"",variant:"plain",title:o.title,to:e.toRoute},{default:c(()=>[r(y,null,{default:c(()=>[f(w(o.icon),1)]),_:1})]),_:1},8,["class","title","to"])):S("",!0)}const Mo=k(Fo,[["render",zo],["__scopeId","data-v-f8015577"]]),Wo={name:"ReaderNavButton",components:{PaginationNavButton:pe},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...P(d,["isVertical"]),...v(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...b(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function Ho(e,t,a,h,i,o){const n=u("PaginationNavButton");return l(),p(n,{key:e.isVertical,disabled:o.disabled,class:C(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:c(()=>[f(w(a.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const Ko=k(Wo,[["render",Ho],["__scopeId","data-v-530fba8c"]]),L="prev",$="next",qo={name:"ReaderNavToolbar",components:{PaginationSlider:bt,ReaderNavButton:Ko,PaginationToolbar:ft,ReaderBookChangeNavButton:Mo},computed:{...P(T,["isAuthDialogOpen"]),...P(d,["activeSettings","isReadInReverse","isVertical"]),...v(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){var a,h;return`${(h=(a=e.books)==null?void 0:a.current)==null?void 0:h.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>{var t,a;return((a=(t=e.books)==null?void 0:t.current)==null?void 0:a.maxPage)||0}}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...b(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection($):e.shiftKey&&window.scrollY===0&&this.routeToDirection(L);break;case"j":case"ArrowRight":this.routeToDirection($);break;case"k":case"ArrowLeft":this.routeToDirection(L);break;case",":this.routeToDirectionOne(L);break;case".":this.routeToDirectionOne($);break;case"n":this.routeToBook($);break;case"p":this.routeToBook(L);break}}}};function jo(e,t,a,h,i,o){const n=u("ReaderBookChangeNavButton"),s=u("ReaderNavButton"),m=u("PaginationSlider"),V=u("PaginationToolbar");return l(),p(Je,null,{default:c(()=>[e.maxPage?B((l(),p(V,{key:0,id:"readerToolbarNav"},{default:c(()=>[r(n,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(s,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(l(),p(m,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=N=>o.onSliderUpdate(N))},null,8,["model-value","max","step","track-color","reverse"])),r(s,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(n,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[ie,e.showToolbars]]):S("",!0)]),_:1})}const Go=k(qo,[["render",jo],["__scopeId","data-v-955ab3ce"]]),Yo={name:"MainReader",components:{BooksWindow:so,ReaderEmpty:Uo,ReaderNavToolbar:Go,ReaderTopToolbar:be,ReaderSettingsDrawer:Bo,Unauthorized:it},data(){return{showToolbars:!1}},computed:{...P(T,["isAuthorized"]),...v(T,{user:e=>e.user}),...v(d,{empty:e=>e.empty,arc:e=>e.arc})},watch:{user(){this.loadReaderSettings()},isAuthorized(){this.loadReaderSettings()}},beforeMount(){this.reset(),this.loadReaderSettings()},methods:{...b(d,["loadReaderSettings","reset"])}},Jo={key:0},Qo={id:"readerContainer"};function Xo(e,t,a,h,i,o){const n=u("ReaderTopToolbar"),s=u("BooksWindow"),m=u("ReaderNavToolbar"),V=u("ReaderEmpty"),N=u("ReaderSettingsDrawer"),fe=u("Unauthorized");return e.isAuthorized?(l(),p(lt,{key:0,id:"readerWrapper"},{default:c(()=>[e.empty?(l(),p(V,{key:1})):(l(),_("div",Jo,[g("div",Qo,[r(n),r(s),r(m)])])),r(N)]),_:1})):(l(),p(fe,{key:1}))}const Zo=k(Yo,[["render",Xo],["__scopeId","data-v-4f31abfa"]]),da=Object.freeze(Object.defineProperty({__proto__:null,default:Zo},Symbol.toStringTag,{value:"Module"}));export{qt as P,me as S,da as r};
@@ -1 +0,0 @@
1
- import{q as ze,d as He}from"./main-CmjU2oTp.js";import{_ as J,cU as Ut,V as E,T as q,am as D,ak as H,W as ae,aJ as et,aC as Le,S as tt,z as at,U as ie,Q as i,aD as Kt,ag as Wt,r as Q,cV as Qt,B,b4 as G,ce as Xt,K as Yt,ar as Jt,c7 as Zt,b5 as ea,cB as ta,as as aa,L as la,c1 as na,M as K,aq as X,bV as ue,O as ra,N as sa,cr as pe,s as $e,ax as ve,F as oa,h as k,X as de,av as T,P as Z,cc as qe,n as Ue,w as lt,p as le,E as nt,a as rt,i as ne,$ as Re,cW as ia,G as L,cX as ua,cY as da,cZ as st,cQ as Fe,c_ as me,c$ as ce,cq as Ee,d0 as ca,cw as fa,au as va,cy as ma,al as Y,aN as Ke,af as We,d1 as Ae,aM as Qe,d2 as Xe,d3 as fe,d4 as ot,aK as ga,bd as ha,aB as it,bs as ba,d5 as ya,aA as Ye}from"./admin-drawer-panel-BAT7GA64.js";import{S as pa,a as xa}from"./VTextField-G6CMj7yO.js";import{V as Sa}from"./VDialog-GbxvFMMN.js";import{b as ut,d as Ne,e as wa,f as Pa,g as ka}from"./VSelect-txrnRiNJ.js";import{V as Ge}from"./VCheckboxBtn-Dk3iB62X.js";import{m as _a,V as ge}from"./VTable-2af995xo.js";import{m as dt,u as ct}from"./filter-CBl5KEsB.js";import{C as Da}from"./confirm-dialog-CbW3hlOp.js";const Ia={name:"AdminCreateUpdateButton",props:{update:{type:Boolean,default:!1},table:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{mdiPencil:Ut}}};function Ta(e,l,a,t,n,r){return a.update?(E(),q(H,D({key:0,icon:n.mdiPencil},e.$attrs,{size:a.size,density:a.density}),null,16,["icon","size","density"])):(E(),q(H,D({key:1},e.$attrs,{size:a.size,density:a.density}),{default:ae(()=>[et("span",null,"+ "+Le(a.table),1)]),_:1},16,["size","density"]))}const Va=J(Ia,[["render",Ta]]),Ca={name:"AdminCreateUpdateDialog",components:{AdminCreateUpdateButton:Va,SubmitFooter:pa},props:{table:{type:String,required:!0},label:{type:String,default:""},oldRow:{type:[Object,Boolean],default:!1},inputs:{type:Object,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{row:{},showDialog:!1,submitButtonEnabled:!1}},computed:{verb(){return this.oldRow?"Update":"Add"},title(){return this.label||this.table},buttonTitle(){return(this.oldRow?"Edit":"Add")+" "+this.title}},watch:{showDialog(e){this.row=this.getRow(e)}},methods:{...tt(at,["createRow","updateRow"]),validate(){let e=!1;for(const[a,t]of Object.entries(this.row))if(!ze(this.oldRow[a],t)){e=!0;break}if(!e)return!1;const l=this.$refs.form;return l?l.validate().then(({valid:a})=>a).catch(()=>!1):!1},change(e){this.row=e,this.submitButtonEnabled=this.validate()},getRow(e){if(!e||!this.oldRow)return He(this.inputs.EMPTY_ROW);const l={};for(const a of this.inputs.UPDATE_KEYS)l[a]=He(this.oldRow[a]);return l},doUpdate:function(){const e={};for(const[l,a]of Object.entries(this.row))ze(this.oldRow[l],a)||(e[l]=a);this.updateRow(this.table,this.oldRow.pk,e).then(()=>(this.showDialog=!1,!0)).catch(console.error)},doCreate:function(){this.createRow(this.table,this.row).then(()=>(this.showDialog=!1,!0)).catch(console.error)},submit:function(){const e=this.$refs.form;e&&e.validate().then(({valid:l})=>{if(l)return this.oldRow?this.doUpdate():this.doCreate()}).catch(console.warn)}}};function Ba(e,l,a,t,n,r){const o=ie("AdminCreateUpdateButton"),s=ie("SubmitFooter");return E(),q(Sa,D({modelValue:n.showDialog,"onUpdate:modelValue":l[1]||(l[1]=u=>n.showDialog=u),transition:"scale-transition"},e.$attrs),{activator:ae(({props:u})=>[i(o,D({update:!!a.oldRow,table:a.table,label:a.label},u,{size:a.size,density:a.density,title:r.buttonTitle}),null,16,["update","table","label","size","density","title"])]),default:ae(()=>[i(xa,{ref:"form",class:"cuForm"},{default:ae(()=>[et("h2",null,Le(r.title),1),(E(),q(Kt(a.inputs),{"old-row":a.oldRow,onChange:r.change},null,40,["old-row","onChange"])),i(s,{verb:r.verb,table:a.table,label:a.label,disabled:!n.submitButtonEnabled,onSubmit:r.submit,onCancel:l[0]||(l[0]=u=>n.showDialog=!1)},null,8,["verb","table","label","disabled","onSubmit"])]),_:1},512)]),_:1},16,["modelValue"])}const _l=J(Ca,[["render",Ba],["__scopeId","data-v-b61575f9"]]),Ra={name:"GroupChip",props:{titleKey:{type:String,default:""},groupType:{type:Boolean,default:void 0},item:{type:Object,default:void 0}},computed:{classes(){let e={};return this.groupType&&this.item&&(e.include=!this.item.exclude,e.exclude=this.item.exclude),e},text(){return this.item&&this.titleKey?this.item[this.titleKey]:""},value(){if(this.item)return this.groupType?this.item.exclude:this.item.value}}};function Fa(e,l,a,t,n,r){return E(),q(ut,{class:Wt(r.classes),text:r.text,value:r.value},null,8,["class","text","value"])}const ft=J(Ra,[["render",Fa],["__scopeId","data-v-495e15c6"]]),Aa={name:"AdminRelationPicker",components:{GroupChip:ft},props:{objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{vuetifyItems(){const e=[];for(const l of this.objs)e.push({...l,value:l.pk,title:l[this.titleKey]});return e}}};function $a(e,l,a,t,n,r){const o=ie("GroupChip");return E(),q(Ne,D({chips:!0,"closable-chips":!0,density:"compact",multiple:!0,items:r.vuetifyItems},e.$attrs),{chip:ae(({item:s})=>[i(o,{"title-key":"title",item:s,"group-type":a.groupType},null,8,["item","group-type"])]),_:1},16,["items"])}const Dl=J(Aa,[["render",$a]]);function Oa(){const e=Q([]);Qt(()=>e.value=[]);function l(a,t){e.value[t]=a}return{refs:e,updateRef:l}}const La=B({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:G,default:"$first"},prevIcon:{type:G,default:"$prev"},nextIcon:{type:G,default:"$next"},lastIcon:{type:G,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...Xt(),...Yt(),...Jt(),...Zt(),...ea(),...ta(),...aa({tag:"nav"}),...la(),...na({variant:"text"})},"VPagination"),Je=K()({name:"VPagination",props:La(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,l){let{slots:a,emit:t}=l;const n=X(e,"modelValue"),{t:r,n:o}=ue(),{isRtl:s}=ra(),{themeClasses:u}=sa(e),{width:c}=pe(),m=$e(-1);ve(void 0,{scoped:!0});const{resizeRef:y}=oa(b=>{if(!b.length)return;const{target:d,contentRect:w}=b[0],P=d.querySelector(".v-pagination__list > *");if(!P)return;const I=w.width,C=P.offsetWidth+parseFloat(getComputedStyle(P).marginRight)*2;m.value=S(I,C)}),v=k(()=>parseInt(e.length,10)),x=k(()=>parseInt(e.start,10)),h=k(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):m.value>=0?m.value:S(c.value,58));function S(b,d){const w=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(+((b-d*w)/d).toFixed(2)))}const g=k(()=>{if(v.value<=0||isNaN(v.value)||v.value>Number.MAX_SAFE_INTEGER)return[];if(h.value<=0)return[];if(h.value===1)return[n.value];if(v.value<=h.value)return de(v.value,x.value);const b=h.value%2===0,d=b?h.value/2:Math.floor(h.value/2),w=b?d:d+1,P=v.value-d;if(w-n.value>=0)return[...de(Math.max(1,h.value-1),x.value),e.ellipsis,v.value];if(n.value-P>=(b?1:0)){const I=h.value-1,C=v.value-I+x.value;return[x.value,e.ellipsis,...de(I,C)]}else{const I=Math.max(1,h.value-3),C=I===1?n.value:n.value-Math.ceil(I/2)+x.value;return[x.value,e.ellipsis,...de(I,C),e.ellipsis,v.value]}});function p(b,d,w){b.preventDefault(),n.value=d,w&&t(w,d)}const{refs:f,updateRef:V}=Oa();ve({VPaginationBtn:{color:T(e,"color"),border:T(e,"border"),density:T(e,"density"),size:T(e,"size"),variant:T(e,"variant"),rounded:T(e,"rounded"),elevation:T(e,"elevation")}});const R=k(()=>g.value.map((b,d)=>{const w=P=>V(P,d);if(typeof b=="string")return{isActive:!1,key:`ellipsis-${d}`,page:b,props:{ref:w,ellipsis:!0,icon:!0,disabled:!0}};{const P=b===n.value;return{isActive:P,key:b,page:o(b),props:{ref:w,ellipsis:!1,icon:!0,disabled:!!e.disabled||+e.length<2,color:P?e.activeColor:e.color,"aria-current":P,"aria-label":r(P?e.currentPageAriaLabel:e.pageAriaLabel,b),onClick:I=>p(I,b)}}}})),_=k(()=>{const b=!!e.disabled||n.value<=x.value,d=!!e.disabled||n.value>=x.value+v.value-1;return{first:e.showFirstLastPage?{icon:s.value?e.lastIcon:e.firstIcon,onClick:w=>p(w,x.value,"first"),disabled:b,"aria-label":r(e.firstAriaLabel),"aria-disabled":b}:void 0,prev:{icon:s.value?e.nextIcon:e.prevIcon,onClick:w=>p(w,n.value-1,"prev"),disabled:b,"aria-label":r(e.previousAriaLabel),"aria-disabled":b},next:{icon:s.value?e.prevIcon:e.nextIcon,onClick:w=>p(w,n.value+1,"next"),disabled:d,"aria-label":r(e.nextAriaLabel),"aria-disabled":d},last:e.showFirstLastPage?{icon:s.value?e.firstIcon:e.lastIcon,onClick:w=>p(w,x.value+v.value-1,"last"),disabled:d,"aria-label":r(e.lastAriaLabel),"aria-disabled":d}:void 0}});function N(){var d;const b=n.value-x.value;(d=f.value[b])==null||d.$el.focus()}function j(b){b.key===qe.left&&!e.disabled&&n.value>+e.start?(n.value=n.value-1,Ue(N)):b.key===qe.right&&!e.disabled&&n.value<x.value+v.value-1&&(n.value=n.value+1,Ue(N))}return Z(()=>i(e.tag,{ref:y,class:["v-pagination",u.value,e.class],style:e.style,role:"navigation","aria-label":r(e.ariaLabel),onKeydown:j,"data-test":"v-pagination-root"},{default:()=>[i("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&i("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[a.first?a.first(_.value.first):i(H,D({_as:"VPaginationBtn"},_.value.first),null)]),i("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[a.prev?a.prev(_.value.prev):i(H,D({_as:"VPaginationBtn"},_.value.prev),null)]),R.value.map((b,d)=>i("li",{key:b.key,class:["v-pagination__item",{"v-pagination__item--is-active":b.isActive}],"data-test":"v-pagination-item"},[a.item?a.item(b):i(H,D({_as:"VPaginationBtn"},b.props),{default:()=>[b.page]})])),i("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[a.next?a.next(_.value.next):i(H,D({_as:"VPaginationBtn"},_.value.next),null)]),e.showFirstLastPage&&i("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[a.last?a.last(_.value.last):i(H,D({_as:"VPaginationBtn"},_.value.last),null)])])]})),{}}}),Ea=B({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),vt=Symbol.for("vuetify:data-table-pagination");function Na(e){const l=X(e,"page",void 0,t=>+(t??1)),a=X(e,"itemsPerPage",void 0,t=>+(t??10));return{page:l,itemsPerPage:a}}function Ga(e){const{page:l,itemsPerPage:a,itemsLength:t}=e,n=k(()=>a.value===-1?0:a.value*(l.value-1)),r=k(()=>a.value===-1?t.value:Math.min(t.value,n.value+a.value)),o=k(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));lt(()=>{l.value>o.value&&(l.value=o.value)});function s(v){a.value=v,l.value=1}function u(){l.value=Re(l.value+1,1,o.value)}function c(){l.value=Re(l.value-1,1,o.value)}function m(v){l.value=Re(v,1,o.value)}const y={page:l,itemsPerPage:a,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:c,setPage:m,setItemsPerPage:s};return le(vt,y),y}function ja(){const e=ne(vt);if(!e)throw new Error("Missing pagination!");return e}function Ma(e){const l=nt("usePaginatedItems"),{items:a,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=k(()=>r.value<=0?a.value:a.value.slice(t.value,n.value));return rt(o,s=>{l.emit("update:currentItems",s)}),{paginatedItems:o}}const mt=B({prevIcon:{type:G,default:"$prev"},nextIcon:{type:G,default:"$next"},firstIcon:{type:G,default:"$first"},lastIcon:{type:G,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Ze=K()({name:"VDataTableFooter",props:mt(),setup(e,l){let{slots:a}=l;const{t}=ue(),{page:n,pageCount:r,startIndex:o,stopIndex:s,itemsLength:u,itemsPerPage:c,setItemsPerPage:m}=ja(),y=k(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return Z(()=>{var x;const v=Je.filterProps(e);return i("div",{class:"v-data-table-footer"},[(x=a.prepend)==null?void 0:x.call(a),i("div",{class:"v-data-table-footer__items-per-page"},[i("span",null,[t(e.itemsPerPageText)]),i(Ne,{items:y.value,modelValue:c.value,"onUpdate:modelValue":h=>m(Number(h)),density:"compact",variant:"outlined","hide-details":!0},null)]),i("div",{class:"v-data-table-footer__info"},[i("div",null,[t(e.pageText,u.value?o.value+1:0,s.value,u.value)])]),i("div",{class:"v-data-table-footer__pagination"},[i(Je,D({modelValue:n.value,"onUpdate:modelValue":h=>n.value=h,density:"comfortable","first-aria-label":e.firstPageLabel,"last-aria-label":e.lastPageLabel,length:r.value,"next-aria-label":e.nextPageLabel,"previous-aria-label":e.prevPageLabel,rounded:!0,"show-first-last-page":!0,"total-visible":e.showCurrentPage?1:0,variant:"plain"},v),null)])])}),{}}}),he=ia({align:{type:String,default:"start"},fixed:Boolean,fixedOffset:[Number,String],height:[Number,String],lastFixed:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:a}=l;const t=e.tag??"td";return i(t,{class:["v-data-table__td",{"v-data-table-column--fixed":e.fixed,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap},`v-data-table-column--align-${e.align}`],style:{height:L(e.height),width:L(e.width),maxWidth:L(e.maxWidth),left:L(e.fixedOffset||null)}},{default:()=>{var n;return[(n=a.default)==null?void 0:n.call(a)]}})}),za=B({headers:Array},"DataTable-header"),gt=Symbol.for("vuetify:data-table-headers"),ht={title:"",sortable:!1},Ha={...ht,width:48};function qa(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let n=!1;for(let r=0;r<l.length;r++)if(l[r].priority>t){l.splice(r,0,{element:a,priority:t}),n=!0;break}n||l.push({element:a,priority:t})},size:()=>l.length,count:()=>{let a=0;if(!l.length)return 0;const t=Math.floor(l[0].priority);for(let n=0;n<l.length;n++)Math.floor(l[n].priority)===t&&(a+=1);return a},dequeue:()=>l.shift()}}function Oe(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const a of e.children)Oe(a,l);return l}function bt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&l.add(a.key),a.children&&bt(a.children,l);return l}function Ua(e){if(e.key){if(e.key==="data-table-group")return ht;if(["data-table-expand","data-table-select"].includes(e.key))return Ha}}function je(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(a=>je(a,l+1))):l}function Ka(e){let l=!1;function a(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(r)if(o&&(r.fixed=!0),r.fixed)if(r.children)for(let s=r.children.length-1;s>=0;s--)a(r.children[s],!0);else l?isNaN(+r.width)&&da(`Multiple fixed columns should have a static width (key: ${r.key})`):r.lastFixed=!0,l=!0;else if(r.children)for(let s=r.children.length-1;s>=0;s--)a(r.children[s]);else l=!1}for(let r=e.length-1;r>=0;r--)a(e[r]);function t(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!r)return o;if(r.children){r.fixedOffset=o;for(const s of r.children)o=t(s,o)}else r.fixed&&(r.fixedOffset=o,o+=parseFloat(r.width||"0")||0);return o}let n=0;for(const r of e)n=t(r,n)}function Wa(e,l){const a=[];let t=0;const n=qa(e);for(;n.size()>0;){let o=n.count();const s=[];let u=1;for(;o>0;){const{element:c,priority:m}=n.dequeue(),y=l-t-je(c);if(s.push({...c,rowspan:y??1,colspan:c.children?Oe(c).length:1}),c.children)for(const v of c.children){const x=m%1+u/Math.pow(10,t+2);n.enqueue(v,t+y+x)}u+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>Oe(o)).flat(),headers:a}}function yt(e){const l=[];for(const a of e){const t={...Ua(a),...a},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?yt(t.children):void 0};l.push(o)}return l}function pt(e,l){const a=Q([]),t=Q([]),n=Q({}),r=Q({}),o=Q({});lt(()=>{var S,g,p;const c=(e.headers||Object.keys(e.items[0]??{}).map(f=>({key:f,title:ua(f)}))).slice(),m=bt(c);(S=l==null?void 0:l.groupBy)!=null&&S.value.length&&!m.has("data-table-group")&&c.unshift({key:"data-table-group",title:"Group"}),(g=l==null?void 0:l.showSelect)!=null&&g.value&&!m.has("data-table-select")&&c.unshift({key:"data-table-select"}),(p=l==null?void 0:l.showExpand)!=null&&p.value&&!m.has("data-table-expand")&&c.push({key:"data-table-expand"});const y=yt(c);Ka(y);const v=Math.max(...y.map(f=>je(f)))+1,x=Wa(y,v);a.value=x.headers,t.value=x.columns;const h=x.headers.flat(1);for(const f of h)f.key&&(f.sortable&&(f.sort&&(n.value[f.key]=f.sort),f.sortRaw&&(r.value[f.key]=f.sortRaw)),f.filter&&(o.value[f.key]=f.filter))});const s={headers:a,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return le(gt,s),s}function xe(){const e=ne(gt);if(!e)throw new Error("Missing headers!");return e}const Qa={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:l,value:a}=e;return new Set(a?[(t=l[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},xt={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,currentPage:a,selected:t}=e;return xt.select({items:a,value:l,selected:t})}},St={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,allItems:a,selected:t}=e;return St.select({items:a,value:l,selected:t})}},Xa=B({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:st}},"DataTable-select"),wt=Symbol.for("vuetify:data-table-selection");function Pt(e,l){let{allItems:a,currentPage:t}=l;const n=X(e,"modelValue",e.modelValue,p=>new Set(Fe(p).map(f=>{var V;return((V=a.value.find(R=>e.valueComparator(f,R.value)))==null?void 0:V.value)??f})),p=>[...p.values()]),r=k(()=>a.value.filter(p=>p.selectable)),o=k(()=>t.value.filter(p=>p.selectable)),s=k(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qa;case"all":return St;case"page":default:return xt}});function u(p){return Fe(p).every(f=>n.value.has(f.value))}function c(p){return Fe(p).some(f=>n.value.has(f.value))}function m(p,f){const V=s.value.select({items:p,value:f,selected:new Set(n.value)});n.value=V}function y(p){m([p],!u([p]))}function v(p){const f=s.value.selectAll({value:p,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=f}const x=k(()=>n.value.size>0),h=k(()=>{const p=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!p.length&&u(p)}),S=k(()=>s.value.showSelectAll),g={toggleSelect:y,select:m,selectAll:v,isSelected:u,isSomeSelected:c,someSelected:x,allSelected:h,showSelectAll:S};return le(wt,g),g}function Se(){const e=ne(wt);if(!e)throw new Error("Missing selection!");return e}const Ya=B({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),kt=Symbol.for("vuetify:data-table-sort");function _t(e){const l=X(e,"sortBy"),a=T(e,"mustSort"),t=T(e,"multiSort");return{sortBy:l,mustSort:a,multiSort:t}}function Dt(e){const{sortBy:l,mustSort:a,multiSort:t,page:n}=e,r=u=>{if(u.key==null)return;let c=l.value.map(y=>({...y}))??[];const m=c.find(y=>y.key===u.key);m?m.order==="desc"?a.value?m.order="asc":c=c.filter(y=>y.key!==u.key):m.order="desc":t.value?c=[...c,{key:u.key,order:"asc"}]:c=[{key:u.key,order:"asc"}],l.value=c,n&&(n.value=1)};function o(u){return!!l.value.find(c=>c.key===u.key)}const s={sortBy:l,toggleSort:r,isSorted:o};return le(kt,s),s}function It(){const e=ne(kt);if(!e)throw new Error("Missing sort!");return e}function Tt(e,l,a,t){const n=ue();return{sortedItems:k(()=>{var o,s;return a.value.length?Ja(l.value,a.value,n.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):l.value})}}function Ja(e,l,a,t){const n=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var u,c;for(let m=0;m<l.length;m++){let y=!1;const v=l[m].key,x=l[m].order??"asc";if(x===!1)continue;let h=me(o[1],v),S=me(s[1],v),g=o[0].raw,p=s[0].raw;if(x==="desc"&&([h,S]=[S,h],[g,p]=[p,g]),(u=t==null?void 0:t.sortRawFunctions)!=null&&u[v]){const f=t.sortRawFunctions[v](g,p);if(f==null)continue;if(y=!0,f)return f}if((c=t==null?void 0:t.sortFunctions)!=null&&c[v]){const f=t.sortFunctions[v](h,S);if(f==null)continue;if(y=!0,f)return f}if(!y){if(h instanceof Date&&S instanceof Date)return h.getTime()-S.getTime();if([h,S]=[h,S].map(f=>f!=null?f.toString().toLocaleLowerCase():f),h!==S)return ce(h)&&ce(S)?0:ce(h)?-1:ce(S)?1:!isNaN(h)&&!isNaN(S)?Number(h)-Number(S):n.compare(h,S)}}return 0}).map(o=>{let[s]=o;return s})}const Vt=B({color:String,sticky:Boolean,disableSort:Boolean,multiSort:Boolean,sortAscIcon:{type:G,default:"$sortAsc"},sortDescIcon:{type:G,default:"$sortDesc"},headerProps:{type:Object},...Ee(),...ca()},"VDataTableHeaders"),be=K()({name:"VDataTableHeaders",props:Vt(),setup(e,l){let{slots:a}=l;const{t}=ue(),{toggleSort:n,sortBy:r,isSorted:o}=It(),{someSelected:s,allSelected:u,selectAll:c,showSelectAll:m}=Se(),{columns:y,headers:v}=xe(),{loaderClasses:x}=fa(e);function h(b,d){if(!(!e.sticky&&!b.fixed))return{position:"sticky",left:b.fixed?L(b.fixedOffset):void 0,top:e.sticky?`calc(var(--v-table-header-height) * ${d})`:void 0}}function S(b){const d=r.value.find(w=>w.key===b.key);return d?d.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:g,backgroundColorStyles:p}=va(e,"color"),{displayClasses:f,mobile:V}=pe(e),R=k(()=>({headers:v.value,columns:y.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:u.value,selectAll:c,getSortIcon:S})),_=k(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky},f.value,x.value]),N=b=>{let{column:d,x:w,y:P}=b;const I=d.key==="data-table-select"||d.key==="data-table-expand",C=D(e.headerProps??{},d.headerProps??{});return i(he,D({tag:"th",align:d.align,class:[{"v-data-table__th--sortable":d.sortable&&!e.disableSort,"v-data-table__th--sorted":o(d),"v-data-table__th--fixed":d.fixed},..._.value],style:{width:L(d.width),minWidth:L(d.minWidth),maxWidth:L(d.maxWidth),...h(d,P)},colspan:d.colspan,rowspan:d.rowspan,onClick:d.sortable?()=>n(d):void 0,fixed:d.fixed,nowrap:d.nowrap,lastFixed:d.lastFixed,noPadding:I},C),{default:()=>{var U;const M=`header.${d.key}`,ee={column:d,selectAll:c,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:s.value,allSelected:u.value,getSortIcon:S};return a[M]?a[M](ee):d.key==="data-table-select"?((U=a["header.data-table-select"])==null?void 0:U.call(a,ee))??(m.value&&i(Ge,{modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":c},null)):i("div",{class:"v-data-table-header__content"},[i("span",null,[d.title]),d.sortable&&!e.disableSort&&i(Ke,{key:"icon",class:"v-data-table-header__sort-icon",icon:S(d)},null),e.multiSort&&o(d)&&i("div",{key:"badge",class:["v-data-table-header__sort-badge",...g.value],style:p.value},[r.value.findIndex(W=>W.key===d.key)+1])])}})},j=()=>{const b=D(e.headerProps??{}??{}),d=k(()=>y.value.filter(P=>(P==null?void 0:P.sortable)&&!e.disableSort)),w=k(()=>{if(y.value.find(I=>I.key==="data-table-select")!=null)return u.value?"$checkboxOn":s.value?"$checkboxIndeterminate":"$checkboxOff"});return i(he,D({tag:"th",class:[..._.value],colspan:v.value.length+1},b),{default:()=>[i("div",{class:"v-data-table-header__content"},[i(Ne,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:d.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:w.value,"onClick:append":()=>c(!u.value)},{...a,chip:P=>{var I;return i(ut,{onClick:(I=P.item.raw)!=null&&I.sortable?()=>n(P.item.raw):void 0,onMousedown:C=>{C.preventDefault(),C.stopPropagation()}},{default:()=>[P.item.title,i(Ke,{class:["v-data-table__td-sort-icon",o(P.item.raw)&&"v-data-table__td-sort-icon-active"],icon:S(P.item.raw),size:"small"},null)]})}})])]})};Z(()=>V.value?i("tr",null,[i(j,null,null)]):i(Y,null,[a.headers?a.headers(R.value):v.value.map((b,d)=>i("tr",null,[b.map((w,P)=>i(N,{column:w,x:P,y:d},null))])),e.loading&&i("tr",{class:"v-data-table-progress"},[i("th",{colspan:y.value.length},[i(ma,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ct=B({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Bt=Symbol.for("vuetify:data-table-group");function Rt(e){return{groupBy:X(e,"groupBy")}}function Ft(e){const{disableSort:l,groupBy:a,sortBy:t}=e,n=Q(new Set),r=k(()=>a.value.map(m=>({...m,order:m.order??!1})).concat(l!=null&&l.value?[]:t.value));function o(m){return n.value.has(m.id)}function s(m){const y=new Set(n.value);o(m)?y.delete(m.id):y.add(m.id),n.value=y}function u(m){function y(v){const x=[];for(const h of v.items)"type"in h&&h.type==="group"?x.push(...y(h)):x.push(h);return x}return y({type:"group",items:m,id:"dummy",key:"dummy",value:"dummy",depth:0})}const c={sortByWithGroups:r,toggleGroup:s,opened:n,groupBy:a,extractRows:u,isGroupOpen:o};return le(Bt,c),c}function At(){const e=ne(Bt);if(!e)throw new Error("Missing group!");return e}function Za(e,l){if(!e.length)return[];const a=new Map;for(const t of e){const n=me(t.raw,l);a.has(n)||a.set(n,[]),a.get(n).push(t)}return a}function $t(e,l){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=Za(e,l[0]),r=[],o=l.slice(1);return n.forEach((s,u)=>{const c=l[0],m=`${t}_${c}_${u}`;r.push({depth:a,id:m,key:c,value:u,items:o.length?$t(s,o,a+1,m):s,type:"group"})}),r}function Ot(e,l){const a=[];for(const t of e)"type"in t&&t.type==="group"?(t.value!=null&&a.push(t),(l.has(t.id)||t.value==null)&&a.push(...Ot(t.items,l))):a.push(t);return a}function Lt(e,l,a){return{flatItems:k(()=>{if(!l.value.length)return e.value;const n=$t(e.value,l.value.map(r=>r.key));return Ot(n,a.value)})}}const el=B({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),tl=K()({name:"VDataTableGroupHeaderRow",props:el(),setup(e,l){let{slots:a}=l;const{isGroupOpen:t,toggleGroup:n,extractRows:r}=At(),{isSelected:o,isSomeSelected:s,select:u}=Se(),{columns:c}=xe(),m=k(()=>r([e.item]));return()=>i("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[c.value.map(y=>{var v,x;if(y.key==="data-table-group"){const h=t(e.item)?"$expand":"$next",S=()=>n(e.item);return((v=a["data-table-group"])==null?void 0:v.call(a,{item:e.item,count:m.value.length,props:{icon:h,onClick:S}}))??i(he,{class:"v-data-table-group-header-row__column"},{default:()=>[i(H,{size:"small",variant:"text",icon:h,onClick:S},null),i("span",null,[e.item.value]),i("span",null,[We("("),m.value.length,We(")")])]})}if(y.key==="data-table-select"){const h=o(m.value),S=s(m.value)&&!h,g=p=>u(m.value,p);return((x=a["data-table-select"])==null?void 0:x.call(a,{props:{modelValue:h,indeterminate:S,"onUpdate:modelValue":g}}))??i("td",null,[i(Ge,{modelValue:h,indeterminate:S,"onUpdate:modelValue":g},null)])}return i("td",null,null)})])}}),al=B({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),Et=Symbol.for("vuetify:datatable:expanded");function Nt(e){const l=T(e,"expandOnClick"),a=X(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,u){const c=new Set(a.value);u?c.add(s.value):c.delete(s.value),a.value=c}function n(s){return a.value.has(s.value)}function r(s){t(s,!n(s))}const o={expand:t,expanded:a,expandOnClick:l,isExpanded:n,toggleExpand:r};return le(Et,o),o}function Gt(){const e=ne(Et);if(!e)throw new Error("foo");return e}const ll=B({index:Number,item:Object,cellProps:[Object,Function],onClick:Ae(),onContextmenu:Ae(),onDblclick:Ae(),...Ee()},"VDataTableRow"),jt=K()({name:"VDataTableRow",props:ll(),setup(e,l){let{slots:a}=l;const{displayClasses:t,mobile:n}=pe(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:u,selectAll:c}=Se(),{isExpanded:m,toggleExpand:y}=Gt(),{toggleSort:v,sortBy:x,isSorted:h}=It(),{columns:S}=xe();Z(()=>i("tr",{class:["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value],onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&S.value.map((g,p)=>{const f=e.item,V=`item.${g.key}`,R=`header.${g.key}`,_={index:e.index,item:f.raw,internalItem:f,value:me(f.columns,g.key),column:g,isSelected:r,toggleSelect:o,isExpanded:m,toggleExpand:y},N={column:g,selectAll:c,isSorted:h,toggleSort:v,sortBy:x.value,someSelected:s.value,allSelected:u.value,getSortIcon:()=>""},j=typeof e.cellProps=="function"?e.cellProps({index:_.index,item:_.item,internalItem:_.internalItem,value:_.value,column:g}):e.cellProps,b=typeof g.cellProps=="function"?g.cellProps({index:_.index,item:_.item,internalItem:_.internalItem,value:_.value}):g.cellProps;return i(he,D({align:g.align,class:{"v-data-table__td--expanded-row":g.key==="data-table-expand","v-data-table__td--select-row":g.key==="data-table-select"},fixed:g.fixed,fixedOffset:g.fixedOffset,lastFixed:g.lastFixed,maxWidth:n.value?void 0:g.maxWidth,noPadding:g.key==="data-table-select"||g.key==="data-table-expand",nowrap:g.nowrap,width:n.value?void 0:g.width},j,b),{default:()=>{var w,P,I,C,M;if(a[V]&&!n.value)return(w=a[V])==null?void 0:w.call(a,_);if(g.key==="data-table-select")return((P=a["item.data-table-select"])==null?void 0:P.call(a,_))??i(Ge,{disabled:!f.selectable,modelValue:r([f]),onClick:Qe(()=>o(f),["stop"])},null);if(g.key==="data-table-expand")return((I=a["item.data-table-expand"])==null?void 0:I.call(a,_))??i(H,{icon:m(f)?"$collapse":"$expand",size:"small",variant:"text",onClick:Qe(()=>y(f),["stop"])},null);const d=Le(_.value);return n.value?i(Y,null,[i("div",{class:"v-data-table__td-title"},[((C=a[R])==null?void 0:C.call(a,N))??g.title]),i("div",{class:"v-data-table__td-value"},[((M=a[V])==null?void 0:M.call(a,_))??d])]):d}})})]))}}),Mt=B({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Ee()},"VDataTableRows"),ye=K()({name:"VDataTableRows",inheritAttrs:!1,props:Mt(),setup(e,l){let{attrs:a,slots:t}=l;const{columns:n}=xe(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=Gt(),{isSelected:u,toggleSelect:c}=Se(),{toggleGroup:m,isGroupOpen:y}=At(),{t:v}=ue(),{mobile:x}=pe(e);return Z(()=>{var h,S;return e.loading&&(!e.items.length||t.loading)?i("tr",{class:"v-data-table-rows-loading",key:"loading"},[i("td",{colspan:n.value.length},[((h=t.loading)==null?void 0:h.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?i("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[i("td",{colspan:n.value.length},[((S=t["no-data"])==null?void 0:S.call(t))??v(e.noDataText)])]):i(Y,null,[e.items.map((g,p)=>{var R;if(g.type==="group"){const _={index:p,item:g,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:c,toggleGroup:m,isGroupOpen:y};return t["group-header"]?t["group-header"](_):i(tl,D({key:`group-header_${g.id}`,item:g},Xe(a,":group-header",()=>_)),t)}const f={index:p,item:g.raw,internalItem:g,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:c},V={...f,props:D({key:`item_${g.key??g.index}`,onClick:r.value?()=>{o(g)}:void 0,index:p,item:g,cellProps:e.cellProps,mobile:x.value},Xe(a,":row",()=>f),typeof e.rowProps=="function"?e.rowProps({item:f.item,index:f.index,internalItem:f.internalItem}):e.rowProps)};return i(Y,{key:V.props.key},[t.item?t.item(V):i(jt,V.props,t),s(g)&&((R=t["expanded-row"])==null?void 0:R.call(t,f))])})])}),{}}}),nl=B({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function rl(e,l,a,t){const n=e.returnObject?l:fe(l,e.itemValue),r=fe(l,e.itemSelectable,!0),o=t.reduce((s,u)=>(u.key!=null&&(s[u.key]=fe(l,u.value)),s),{});return{type:"item",key:e.returnObject?fe(l,e.itemValue):n,index:a,value:n,selectable:r,columns:o,raw:l}}function sl(e,l,a){return l.map((t,n)=>rl(e,t,n,a))}function zt(e,l){return{items:k(()=>sl(e,e.items,l.value))}}function Ht(e){let{page:l,itemsPerPage:a,sortBy:t,groupBy:n,search:r}=e;const o=nt("VDataTable"),s=k(()=>({page:l.value,itemsPerPage:a.value,sortBy:t.value,groupBy:n.value,search:r.value}));let u=null;rt(s,()=>{st(u,s.value)||(u&&u.search!==s.value.search&&(l.value=1),o.emit("update:options",s.value),u=s.value)},{deep:!0,immediate:!0})}const qt=B({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...al(),...Ct(),...za(),...nl(),...Xa(),...Ya(),...Vt(),..._a()},"DataTable"),ol=B({...Ea(),...qt(),...dt(),...mt()},"VDataTable");K()({name:"VDataTable",props:ol(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:a,slots:t}=l;const{groupBy:n}=Rt(e),{sortBy:r,multiSort:o,mustSort:s}=_t(e),{page:u,itemsPerPage:c}=Na(e),{disableSort:m}=ot(e),{columns:y,headers:v,sortFunctions:x,sortRawFunctions:h,filterFunctions:S}=pt(e,{groupBy:n,showSelect:T(e,"showSelect"),showExpand:T(e,"showExpand")}),{items:g}=zt(e,y),p=T(e,"search"),{filteredItems:f}=ct(e,g,p,{transform:F=>F.columns,customKeyFilter:S}),{toggleSort:V}=Dt({sortBy:r,multiSort:o,mustSort:s,page:u}),{sortByWithGroups:R,opened:_,extractRows:N,isGroupOpen:j,toggleGroup:b}=Ft({groupBy:n,sortBy:r,disableSort:m}),{sortedItems:d}=Tt(e,f,R,{transform:F=>({...F.raw,...F.columns}),sortFunctions:x,sortRawFunctions:h}),{flatItems:w}=Lt(d,n,_),P=k(()=>w.value.length),{startIndex:I,stopIndex:C,pageCount:M,setItemsPerPage:ee}=Ga({page:u,itemsPerPage:c,itemsLength:P}),{paginatedItems:U}=Ma({items:w,startIndex:I,stopIndex:C,itemsPerPage:c}),W=k(()=>N(U.value)),{isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,someSelected:De,allSelected:Ie}=Pt(e,{allItems:g,currentPage:W}),{isExpanded:Te,toggleExpand:Ve}=Nt(e);Ht({page:u,itemsPerPage:c,sortBy:r,groupBy:n,search:p}),ve({VDataTableRows:{hideNoData:T(e,"hideNoData"),noDataText:T(e,"noDataText"),loading:T(e,"loading"),loadingText:T(e,"loadingText")}});const $=k(()=>({page:u.value,itemsPerPage:c.value,sortBy:r.value,pageCount:M.value,toggleSort:V,setItemsPerPage:ee,someSelected:De.value,allSelected:Ie.value,isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,isExpanded:Te,toggleExpand:Ve,isGroupOpen:j,toggleGroup:b,items:W.value.map(F=>F.raw),internalItems:W.value,groupedItems:U.value,columns:y.value,headers:v.value}));return Z(()=>{const F=Ze.filterProps(e),O=be.filterProps(e),Ce=ye.filterProps(e),Be=ge.filterProps(e);return i(ge,D({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Be),{top:()=>{var A;return(A=t.top)==null?void 0:A.call(t,$.value)},default:()=>{var A,re,se,z,te,oe;return t.default?t.default($.value):i(Y,null,[(A=t.colgroup)==null?void 0:A.call(t,$.value),!e.hideDefaultHeader&&i("thead",{key:"thead"},[i(be,O,t)]),(re=t.thead)==null?void 0:re.call(t,$.value),!e.hideDefaultBody&&i("tbody",null,[(se=t["body.prepend"])==null?void 0:se.call(t,$.value),t.body?t.body($.value):i(ye,D(a,Ce,{items:U.value}),t),(z=t["body.append"])==null?void 0:z.call(t,$.value)]),(te=t.tbody)==null?void 0:te.call(t,$.value),(oe=t.tfoot)==null?void 0:oe.call(t,$.value)])},bottom:()=>t.bottom?t.bottom($.value):!e.hideDefaultFooter&&i(Y,null,[i(ga,null,null),i(Ze,F,{prepend:t["footer.prepend"]})])})}),{}}});const il=B({...qt(),...Ct(),...wa(),...dt()},"VDataTableVirtual"),ul=K()({name:"VDataTableVirtual",props:il(),emits:{"update:modelValue":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0},setup(e,l){let{attrs:a,slots:t}=l;const{groupBy:n}=Rt(e),{sortBy:r,multiSort:o,mustSort:s}=_t(e),{disableSort:u}=ot(e),{columns:c,headers:m,filterFunctions:y,sortFunctions:v,sortRawFunctions:x}=pt(e,{groupBy:n,showSelect:T(e,"showSelect"),showExpand:T(e,"showExpand")}),{items:h}=zt(e,c),S=T(e,"search"),{filteredItems:g}=ct(e,h,S,{transform:O=>O.columns,customKeyFilter:y}),{toggleSort:p}=Dt({sortBy:r,multiSort:o,mustSort:s}),{sortByWithGroups:f,opened:V,extractRows:R,isGroupOpen:_,toggleGroup:N}=Ft({groupBy:n,sortBy:r,disableSort:u}),{sortedItems:j}=Tt(e,g,f,{transform:O=>({...O.raw,...O.columns}),sortFunctions:v,sortRawFunctions:x}),{flatItems:b}=Lt(j,n,V),d=k(()=>R(b.value)),{isSelected:w,select:P,selectAll:I,toggleSelect:C,someSelected:M,allSelected:ee}=Pt(e,{allItems:d,currentPage:d}),{isExpanded:U,toggleExpand:W}=Nt(e),{containerRef:we,markerRef:Pe,paddingTop:ke,paddingBottom:_e,computedItems:De,handleItemResize:Ie,handleScroll:Te,handleScrollend:Ve}=Pa(e,b),$=k(()=>De.value.map(O=>O.raw));Ht({sortBy:r,page:$e(1),itemsPerPage:$e(-1),groupBy:n,search:S}),ve({VDataTableRows:{hideNoData:T(e,"hideNoData"),noDataText:T(e,"noDataText"),loading:T(e,"loading"),loadingText:T(e,"loadingText")}});const F=k(()=>({sortBy:r.value,toggleSort:p,someSelected:M.value,allSelected:ee.value,isSelected:w,select:P,selectAll:I,toggleSelect:C,isExpanded:U,toggleExpand:W,isGroupOpen:_,toggleGroup:N,items:d.value.map(O=>O.raw),internalItems:d.value,groupedItems:b.value,columns:c.value,headers:m.value}));Z(()=>{const O=be.filterProps(e),Ce=ye.filterProps(e),Be=ge.filterProps(e);return i(ge,D({class:["v-data-table",{"v-data-table--loading":e.loading},e.class],style:e.style},Be),{top:()=>{var A;return(A=t.top)==null?void 0:A.call(t,F.value)},wrapper:()=>{var A,re,se;return i("div",{ref:we,onScrollPassive:Te,onScrollend:Ve,class:"v-table__wrapper",style:{height:L(e.height)}},[i("table",null,[(A=t.colgroup)==null?void 0:A.call(t,F.value),!e.hideDefaultHeader&&i("thead",{key:"thead"},[i(be,D(O,{sticky:e.fixedHeader}),t)]),!e.hideDefaultBody&&i("tbody",null,[i("tr",{ref:Pe,style:{height:L(ke.value),border:0}},[i("td",{colspan:c.value.length,style:{height:0,border:0}},null)]),(re=t["body.prepend"])==null?void 0:re.call(t,F.value),i(ye,D(a,Ce,{items:$.value}),{...t,item:z=>i(ka,{key:z.internalItem.index,renderless:!0,"onUpdate:height":te=>Ie(z.internalItem.index,te)},{default:te=>{var Me;let{itemRef:oe}=te;return((Me=t.item)==null?void 0:Me.call(t,{...z,itemRef:oe}))??i(jt,D(z.props,{ref:oe,key:z.internalItem.index,index:z.internalItem.index}),t)}})}),(se=t["body.append"])==null?void 0:se.call(t,F.value),i("tr",{style:{height:L(_e.value),border:0}},[i("td",{colspan:c.value.length,style:{height:0,border:0}},null)])])])])},bottom:()=>{var A;return(A=t.bottom)==null?void 0:A.call(t,F.value)}})})}}),dl={name:"AdminTable"};function cl(e,l,a,t,n,r){return E(),q(ul,{"fixed-header":"","item-value":"pk",mobile:e.$vuetify.display.xs},ha({_:2},[it(e.$slots,(o,s)=>({name:s,fn:ae(u=>[ba(e.$slots,s,D({props:o},u),void 0,!0)])}))]),1032,["mobile"])}const Il=J(dl,[["render",cl],["__scopeId","data-v-8b5d9183"]]),fl={name:"AdminDeleteRowDialog",components:{ConfirmDialog:Da},props:{table:{type:String,required:!0},pk:{type:Number,required:!0},name:{type:String,required:!0}},data(){return{mdiTrashCan:ya}},computed:{titleText(){return`Delete ${this.table}`}},methods:{...tt(at,["deleteRow"]),confirm(){this.deleteRow(this.table,this.pk),this.showDialog=!1}}};function vl(e,l,a,t,n,r){const o=ie("ConfirmDialog");return E(),q(o,{icon:n.mdiTrashCan,"title-text":r.titleText,"object-name":a.name,"confirm-text":r.titleText,onConfirm:r.confirm},null,8,["icon","title-text","object-name","confirm-text","onConfirm"])}const Tl=J(fl,[["render",vl]]),ml={name:"RelationChips",components:{GroupChip:ft},props:{pks:{type:Array,required:!0},objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{map(){const e={};for(const l of this.objs)e[l.pk]=l;return e}}};function gl(e,l,a,t,n,r){const o=ie("GroupChip");return E(),Ye("span",null,[(E(!0),Ye(Y,null,it(a.pks,s=>(E(),q(o,{key:s,"title-key":a.titleKey,"group-type":a.groupType,item:r.map[s]},null,8,["title-key","group-type","item"]))),128))])}const Vl=J(ml,[["render",gl]]);export{Dl as A,ft as G,Vl as R,Il as a,Tl as b,_l as c};
@@ -1 +0,0 @@
1
- import{q as ze,d as He}from"./main-CmjU2oTp.js";import{_ as J,cU as Ut,V as E,T as q,am as D,ak as H,W as ae,aJ as et,aC as Le,S as tt,z as at,U as ie,Q as i,aD as Kt,ag as Wt,r as Q,cV as Qt,B,b4 as G,ce as Xt,K as Yt,ar as Jt,c7 as Zt,b5 as ea,cB as ta,as as aa,L as la,c1 as na,M as K,aq as X,bV as ue,O as ra,N as sa,cr as pe,s as $e,ax as ve,F as oa,h as k,X as de,av as T,P as Z,cc as qe,n as Ue,w as lt,p as le,E as nt,a as rt,i as ne,$ as Re,cW as ia,G as L,cX as ua,cY as da,cZ as st,cQ as Fe,c_ as me,c$ as ce,cq as Ee,d0 as ca,cw as fa,au as va,cy as ma,al as Y,aN as Ke,af as We,d1 as Ae,aM as Qe,d2 as Xe,d3 as fe,d4 as ot,aK as ga,bd as ha,aB as it,bs as ba,d5 as ya,aA as Ye}from"./admin-drawer-panel-BAT7GA64.js";import{S as pa,a as xa}from"./VTextField-G6CMj7yO.js";import{V as Sa}from"./VDialog-GbxvFMMN.js";import{b as ut,d as Ne,e as wa,f as Pa,g as ka}from"./VSelect-txrnRiNJ.js";import{V as Ge}from"./VCheckboxBtn-Dk3iB62X.js";import{m as _a,V as ge}from"./VTable-2af995xo.js";import{m as dt,u as ct}from"./filter-CBl5KEsB.js";import{C as Da}from"./confirm-dialog-CbW3hlOp.js";const Ia={name:"AdminCreateUpdateButton",props:{update:{type:Boolean,default:!1},table:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{mdiPencil:Ut}}};function Ta(e,l,a,t,n,r){return a.update?(E(),q(H,D({key:0,icon:n.mdiPencil},e.$attrs,{size:a.size,density:a.density}),null,16,["icon","size","density"])):(E(),q(H,D({key:1},e.$attrs,{size:a.size,density:a.density}),{default:ae(()=>[et("span",null,"+ "+Le(a.table),1)]),_:1},16,["size","density"]))}const Va=J(Ia,[["render",Ta]]),Ca={name:"AdminCreateUpdateDialog",components:{AdminCreateUpdateButton:Va,SubmitFooter:pa},props:{table:{type:String,required:!0},label:{type:String,default:""},oldRow:{type:[Object,Boolean],default:!1},inputs:{type:Object,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{row:{},showDialog:!1,submitButtonEnabled:!1}},computed:{verb(){return this.oldRow?"Update":"Add"},title(){return this.label||this.table},buttonTitle(){return(this.oldRow?"Edit":"Add")+" "+this.title}},watch:{showDialog(e){this.row=this.getRow(e)}},methods:{...tt(at,["createRow","updateRow"]),validate(){let e=!1;for(const[a,t]of Object.entries(this.row))if(!ze(this.oldRow[a],t)){e=!0;break}if(!e)return!1;const l=this.$refs.form;return l?l.validate().then(({valid:a})=>a).catch(()=>!1):!1},change(e){this.row=e,this.submitButtonEnabled=this.validate()},getRow(e){if(!e||!this.oldRow)return He(this.inputs.EMPTY_ROW);const l={};for(const a of this.inputs.UPDATE_KEYS)l[a]=He(this.oldRow[a]);return l},doUpdate:function(){const e={};for(const[l,a]of Object.entries(this.row))ze(this.oldRow[l],a)||(e[l]=a);this.updateRow(this.table,this.oldRow.pk,e).then(()=>(this.showDialog=!1,!0)).catch(console.error)},doCreate:function(){this.createRow(this.table,this.row).then(()=>(this.showDialog=!1,!0)).catch(console.error)},submit:function(){const e=this.$refs.form;e&&e.validate().then(({valid:l})=>{if(l)return this.oldRow?this.doUpdate():this.doCreate()}).catch(console.warn)}}};function Ba(e,l,a,t,n,r){const o=ie("AdminCreateUpdateButton"),s=ie("SubmitFooter");return E(),q(Sa,D({modelValue:n.showDialog,"onUpdate:modelValue":l[1]||(l[1]=u=>n.showDialog=u),transition:"scale-transition"},e.$attrs),{activator:ae(({props:u})=>[i(o,D({update:!!a.oldRow,table:a.table,label:a.label},u,{size:a.size,density:a.density,title:r.buttonTitle}),null,16,["update","table","label","size","density","title"])]),default:ae(()=>[i(xa,{ref:"form",class:"cuForm"},{default:ae(()=>[et("h2",null,Le(r.title),1),(E(),q(Kt(a.inputs),{"old-row":a.oldRow,onChange:r.change},null,40,["old-row","onChange"])),i(s,{verb:r.verb,table:a.table,label:a.label,disabled:!n.submitButtonEnabled,onSubmit:r.submit,onCancel:l[0]||(l[0]=u=>n.showDialog=!1)},null,8,["verb","table","label","disabled","onSubmit"])]),_:1},512)]),_:1},16,["modelValue"])}const _l=J(Ca,[["render",Ba],["__scopeId","data-v-b61575f9"]]),Ra={name:"GroupChip",props:{titleKey:{type:String,default:""},groupType:{type:Boolean,default:void 0},item:{type:Object,default:void 0}},computed:{classes(){let e={};return this.groupType&&this.item&&(e.include=!this.item.exclude,e.exclude=this.item.exclude),e},text(){return this.item&&this.titleKey?this.item[this.titleKey]:""},value(){if(this.item)return this.groupType?this.item.exclude:this.item.value}}};function Fa(e,l,a,t,n,r){return E(),q(ut,{class:Wt(r.classes),text:r.text,value:r.value},null,8,["class","text","value"])}const ft=J(Ra,[["render",Fa],["__scopeId","data-v-495e15c6"]]),Aa={name:"AdminRelationPicker",components:{GroupChip:ft},props:{objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{vuetifyItems(){const e=[];for(const l of this.objs)e.push({...l,value:l.pk,title:l[this.titleKey]});return e}}};function $a(e,l,a,t,n,r){const o=ie("GroupChip");return E(),q(Ne,D({chips:!0,"closable-chips":!0,density:"compact",multiple:!0,items:r.vuetifyItems},e.$attrs),{chip:ae(({item:s})=>[i(o,{"title-key":"title",item:s,"group-type":a.groupType},null,8,["item","group-type"])]),_:1},16,["items"])}const Dl=J(Aa,[["render",$a]]);function Oa(){const e=Q([]);Qt(()=>e.value=[]);function l(a,t){e.value[t]=a}return{refs:e,updateRef:l}}const La=B({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:G,default:"$first"},prevIcon:{type:G,default:"$prev"},nextIcon:{type:G,default:"$next"},lastIcon:{type:G,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...Xt(),...Yt(),...Jt(),...Zt(),...ea(),...ta(),...aa({tag:"nav"}),...la(),...na({variant:"text"})},"VPagination"),Je=K()({name:"VPagination",props:La(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,l){let{slots:a,emit:t}=l;const n=X(e,"modelValue"),{t:r,n:o}=ue(),{isRtl:s}=ra(),{themeClasses:u}=sa(e),{width:c}=pe(),m=$e(-1);ve(void 0,{scoped:!0});const{resizeRef:y}=oa(b=>{if(!b.length)return;const{target:d,contentRect:w}=b[0],P=d.querySelector(".v-pagination__list > *");if(!P)return;const I=w.width,C=P.offsetWidth+parseFloat(getComputedStyle(P).marginRight)*2;m.value=S(I,C)}),v=k(()=>parseInt(e.length,10)),x=k(()=>parseInt(e.start,10)),h=k(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):m.value>=0?m.value:S(c.value,58));function S(b,d){const w=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(+((b-d*w)/d).toFixed(2)))}const g=k(()=>{if(v.value<=0||isNaN(v.value)||v.value>Number.MAX_SAFE_INTEGER)return[];if(h.value<=0)return[];if(h.value===1)return[n.value];if(v.value<=h.value)return de(v.value,x.value);const b=h.value%2===0,d=b?h.value/2:Math.floor(h.value/2),w=b?d:d+1,P=v.value-d;if(w-n.value>=0)return[...de(Math.max(1,h.value-1),x.value),e.ellipsis,v.value];if(n.value-P>=(b?1:0)){const I=h.value-1,C=v.value-I+x.value;return[x.value,e.ellipsis,...de(I,C)]}else{const I=Math.max(1,h.value-3),C=I===1?n.value:n.value-Math.ceil(I/2)+x.value;return[x.value,e.ellipsis,...de(I,C),e.ellipsis,v.value]}});function p(b,d,w){b.preventDefault(),n.value=d,w&&t(w,d)}const{refs:f,updateRef:V}=Oa();ve({VPaginationBtn:{color:T(e,"color"),border:T(e,"border"),density:T(e,"density"),size:T(e,"size"),variant:T(e,"variant"),rounded:T(e,"rounded"),elevation:T(e,"elevation")}});const R=k(()=>g.value.map((b,d)=>{const w=P=>V(P,d);if(typeof b=="string")return{isActive:!1,key:`ellipsis-${d}`,page:b,props:{ref:w,ellipsis:!0,icon:!0,disabled:!0}};{const P=b===n.value;return{isActive:P,key:b,page:o(b),props:{ref:w,ellipsis:!1,icon:!0,disabled:!!e.disabled||+e.length<2,color:P?e.activeColor:e.color,"aria-current":P,"aria-label":r(P?e.currentPageAriaLabel:e.pageAriaLabel,b),onClick:I=>p(I,b)}}}})),_=k(()=>{const b=!!e.disabled||n.value<=x.value,d=!!e.disabled||n.value>=x.value+v.value-1;return{first:e.showFirstLastPage?{icon:s.value?e.lastIcon:e.firstIcon,onClick:w=>p(w,x.value,"first"),disabled:b,"aria-label":r(e.firstAriaLabel),"aria-disabled":b}:void 0,prev:{icon:s.value?e.nextIcon:e.prevIcon,onClick:w=>p(w,n.value-1,"prev"),disabled:b,"aria-label":r(e.previousAriaLabel),"aria-disabled":b},next:{icon:s.value?e.prevIcon:e.nextIcon,onClick:w=>p(w,n.value+1,"next"),disabled:d,"aria-label":r(e.nextAriaLabel),"aria-disabled":d},last:e.showFirstLastPage?{icon:s.value?e.firstIcon:e.lastIcon,onClick:w=>p(w,x.value+v.value-1,"last"),disabled:d,"aria-label":r(e.lastAriaLabel),"aria-disabled":d}:void 0}});function N(){var d;const b=n.value-x.value;(d=f.value[b])==null||d.$el.focus()}function j(b){b.key===qe.left&&!e.disabled&&n.value>+e.start?(n.value=n.value-1,Ue(N)):b.key===qe.right&&!e.disabled&&n.value<x.value+v.value-1&&(n.value=n.value+1,Ue(N))}return Z(()=>i(e.tag,{ref:y,class:["v-pagination",u.value,e.class],style:e.style,role:"navigation","aria-label":r(e.ariaLabel),onKeydown:j,"data-test":"v-pagination-root"},{default:()=>[i("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&i("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[a.first?a.first(_.value.first):i(H,D({_as:"VPaginationBtn"},_.value.first),null)]),i("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[a.prev?a.prev(_.value.prev):i(H,D({_as:"VPaginationBtn"},_.value.prev),null)]),R.value.map((b,d)=>i("li",{key:b.key,class:["v-pagination__item",{"v-pagination__item--is-active":b.isActive}],"data-test":"v-pagination-item"},[a.item?a.item(b):i(H,D({_as:"VPaginationBtn"},b.props),{default:()=>[b.page]})])),i("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[a.next?a.next(_.value.next):i(H,D({_as:"VPaginationBtn"},_.value.next),null)]),e.showFirstLastPage&&i("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[a.last?a.last(_.value.last):i(H,D({_as:"VPaginationBtn"},_.value.last),null)])])]})),{}}}),Ea=B({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),vt=Symbol.for("vuetify:data-table-pagination");function Na(e){const l=X(e,"page",void 0,t=>+(t??1)),a=X(e,"itemsPerPage",void 0,t=>+(t??10));return{page:l,itemsPerPage:a}}function Ga(e){const{page:l,itemsPerPage:a,itemsLength:t}=e,n=k(()=>a.value===-1?0:a.value*(l.value-1)),r=k(()=>a.value===-1?t.value:Math.min(t.value,n.value+a.value)),o=k(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));lt(()=>{l.value>o.value&&(l.value=o.value)});function s(v){a.value=v,l.value=1}function u(){l.value=Re(l.value+1,1,o.value)}function c(){l.value=Re(l.value-1,1,o.value)}function m(v){l.value=Re(v,1,o.value)}const y={page:l,itemsPerPage:a,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:c,setPage:m,setItemsPerPage:s};return le(vt,y),y}function ja(){const e=ne(vt);if(!e)throw new Error("Missing pagination!");return e}function Ma(e){const l=nt("usePaginatedItems"),{items:a,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=k(()=>r.value<=0?a.value:a.value.slice(t.value,n.value));return rt(o,s=>{l.emit("update:currentItems",s)}),{paginatedItems:o}}const mt=B({prevIcon:{type:G,default:"$prev"},nextIcon:{type:G,default:"$next"},firstIcon:{type:G,default:"$first"},lastIcon:{type:G,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Ze=K()({name:"VDataTableFooter",props:mt(),setup(e,l){let{slots:a}=l;const{t}=ue(),{page:n,pageCount:r,startIndex:o,stopIndex:s,itemsLength:u,itemsPerPage:c,setItemsPerPage:m}=ja(),y=k(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return Z(()=>{var x;const v=Je.filterProps(e);return i("div",{class:"v-data-table-footer"},[(x=a.prepend)==null?void 0:x.call(a),i("div",{class:"v-data-table-footer__items-per-page"},[i("span",null,[t(e.itemsPerPageText)]),i(Ne,{items:y.value,modelValue:c.value,"onUpdate:modelValue":h=>m(Number(h)),density:"compact",variant:"outlined","hide-details":!0},null)]),i("div",{class:"v-data-table-footer__info"},[i("div",null,[t(e.pageText,u.value?o.value+1:0,s.value,u.value)])]),i("div",{class:"v-data-table-footer__pagination"},[i(Je,D({modelValue:n.value,"onUpdate:modelValue":h=>n.value=h,density:"comfortable","first-aria-label":e.firstPageLabel,"last-aria-label":e.lastPageLabel,length:r.value,"next-aria-label":e.nextPageLabel,"previous-aria-label":e.prevPageLabel,rounded:!0,"show-first-last-page":!0,"total-visible":e.showCurrentPage?1:0,variant:"plain"},v),null)])])}),{}}}),he=ia({align:{type:String,default:"start"},fixed:Boolean,fixedOffset:[Number,String],height:[Number,String],lastFixed:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:a}=l;const t=e.tag??"td";return i(t,{class:["v-data-table__td",{"v-data-table-column--fixed":e.fixed,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap},`v-data-table-column--align-${e.align}`],style:{height:L(e.height),width:L(e.width),maxWidth:L(e.maxWidth),left:L(e.fixedOffset||null)}},{default:()=>{var n;return[(n=a.default)==null?void 0:n.call(a)]}})}),za=B({headers:Array},"DataTable-header"),gt=Symbol.for("vuetify:data-table-headers"),ht={title:"",sortable:!1},Ha={...ht,width:48};function qa(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let n=!1;for(let r=0;r<l.length;r++)if(l[r].priority>t){l.splice(r,0,{element:a,priority:t}),n=!0;break}n||l.push({element:a,priority:t})},size:()=>l.length,count:()=>{let a=0;if(!l.length)return 0;const t=Math.floor(l[0].priority);for(let n=0;n<l.length;n++)Math.floor(l[n].priority)===t&&(a+=1);return a},dequeue:()=>l.shift()}}function Oe(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const a of e.children)Oe(a,l);return l}function bt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&l.add(a.key),a.children&&bt(a.children,l);return l}function Ua(e){if(e.key){if(e.key==="data-table-group")return ht;if(["data-table-expand","data-table-select"].includes(e.key))return Ha}}function je(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(a=>je(a,l+1))):l}function Ka(e){let l=!1;function a(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(r)if(o&&(r.fixed=!0),r.fixed)if(r.children)for(let s=r.children.length-1;s>=0;s--)a(r.children[s],!0);else l?isNaN(+r.width)&&da(`Multiple fixed columns should have a static width (key: ${r.key})`):r.lastFixed=!0,l=!0;else if(r.children)for(let s=r.children.length-1;s>=0;s--)a(r.children[s]);else l=!1}for(let r=e.length-1;r>=0;r--)a(e[r]);function t(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!r)return o;if(r.children){r.fixedOffset=o;for(const s of r.children)o=t(s,o)}else r.fixed&&(r.fixedOffset=o,o+=parseFloat(r.width||"0")||0);return o}let n=0;for(const r of e)n=t(r,n)}function Wa(e,l){const a=[];let t=0;const n=qa(e);for(;n.size()>0;){let o=n.count();const s=[];let u=1;for(;o>0;){const{element:c,priority:m}=n.dequeue(),y=l-t-je(c);if(s.push({...c,rowspan:y??1,colspan:c.children?Oe(c).length:1}),c.children)for(const v of c.children){const x=m%1+u/Math.pow(10,t+2);n.enqueue(v,t+y+x)}u+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>Oe(o)).flat(),headers:a}}function yt(e){const l=[];for(const a of e){const t={...Ua(a),...a},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?yt(t.children):void 0};l.push(o)}return l}function pt(e,l){const a=Q([]),t=Q([]),n=Q({}),r=Q({}),o=Q({});lt(()=>{var S,g,p;const c=(e.headers||Object.keys(e.items[0]??{}).map(f=>({key:f,title:ua(f)}))).slice(),m=bt(c);(S=l==null?void 0:l.groupBy)!=null&&S.value.length&&!m.has("data-table-group")&&c.unshift({key:"data-table-group",title:"Group"}),(g=l==null?void 0:l.showSelect)!=null&&g.value&&!m.has("data-table-select")&&c.unshift({key:"data-table-select"}),(p=l==null?void 0:l.showExpand)!=null&&p.value&&!m.has("data-table-expand")&&c.push({key:"data-table-expand"});const y=yt(c);Ka(y);const v=Math.max(...y.map(f=>je(f)))+1,x=Wa(y,v);a.value=x.headers,t.value=x.columns;const h=x.headers.flat(1);for(const f of h)f.key&&(f.sortable&&(f.sort&&(n.value[f.key]=f.sort),f.sortRaw&&(r.value[f.key]=f.sortRaw)),f.filter&&(o.value[f.key]=f.filter))});const s={headers:a,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return le(gt,s),s}function xe(){const e=ne(gt);if(!e)throw new Error("Missing headers!");return e}const Qa={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:l,value:a}=e;return new Set(a?[(t=l[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},xt={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,currentPage:a,selected:t}=e;return xt.select({items:a,value:l,selected:t})}},St={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,allItems:a,selected:t}=e;return St.select({items:a,value:l,selected:t})}},Xa=B({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:st}},"DataTable-select"),wt=Symbol.for("vuetify:data-table-selection");function Pt(e,l){let{allItems:a,currentPage:t}=l;const n=X(e,"modelValue",e.modelValue,p=>new Set(Fe(p).map(f=>{var V;return((V=a.value.find(R=>e.valueComparator(f,R.value)))==null?void 0:V.value)??f})),p=>[...p.values()]),r=k(()=>a.value.filter(p=>p.selectable)),o=k(()=>t.value.filter(p=>p.selectable)),s=k(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Qa;case"all":return St;case"page":default:return xt}});function u(p){return Fe(p).every(f=>n.value.has(f.value))}function c(p){return Fe(p).some(f=>n.value.has(f.value))}function m(p,f){const V=s.value.select({items:p,value:f,selected:new Set(n.value)});n.value=V}function y(p){m([p],!u([p]))}function v(p){const f=s.value.selectAll({value:p,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=f}const x=k(()=>n.value.size>0),h=k(()=>{const p=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!p.length&&u(p)}),S=k(()=>s.value.showSelectAll),g={toggleSelect:y,select:m,selectAll:v,isSelected:u,isSomeSelected:c,someSelected:x,allSelected:h,showSelectAll:S};return le(wt,g),g}function Se(){const e=ne(wt);if(!e)throw new Error("Missing selection!");return e}const Ya=B({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),kt=Symbol.for("vuetify:data-table-sort");function _t(e){const l=X(e,"sortBy"),a=T(e,"mustSort"),t=T(e,"multiSort");return{sortBy:l,mustSort:a,multiSort:t}}function Dt(e){const{sortBy:l,mustSort:a,multiSort:t,page:n}=e,r=u=>{if(u.key==null)return;let c=l.value.map(y=>({...y}))??[];const m=c.find(y=>y.key===u.key);m?m.order==="desc"?a.value?m.order="asc":c=c.filter(y=>y.key!==u.key):m.order="desc":t.value?c=[...c,{key:u.key,order:"asc"}]:c=[{key:u.key,order:"asc"}],l.value=c,n&&(n.value=1)};function o(u){return!!l.value.find(c=>c.key===u.key)}const s={sortBy:l,toggleSort:r,isSorted:o};return le(kt,s),s}function It(){const e=ne(kt);if(!e)throw new Error("Missing sort!");return e}function Tt(e,l,a,t){const n=ue();return{sortedItems:k(()=>{var o,s;return a.value.length?Ja(l.value,a.value,n.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):l.value})}}function Ja(e,l,a,t){const n=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var u,c;for(let m=0;m<l.length;m++){let y=!1;const v=l[m].key,x=l[m].order??"asc";if(x===!1)continue;let h=me(o[1],v),S=me(s[1],v),g=o[0].raw,p=s[0].raw;if(x==="desc"&&([h,S]=[S,h],[g,p]=[p,g]),(u=t==null?void 0:t.sortRawFunctions)!=null&&u[v]){const f=t.sortRawFunctions[v](g,p);if(f==null)continue;if(y=!0,f)return f}if((c=t==null?void 0:t.sortFunctions)!=null&&c[v]){const f=t.sortFunctions[v](h,S);if(f==null)continue;if(y=!0,f)return f}if(!y){if(h instanceof Date&&S instanceof Date)return h.getTime()-S.getTime();if([h,S]=[h,S].map(f=>f!=null?f.toString().toLocaleLowerCase():f),h!==S)return ce(h)&&ce(S)?0:ce(h)?-1:ce(S)?1:!isNaN(h)&&!isNaN(S)?Number(h)-Number(S):n.compare(h,S)}}return 0}).map(o=>{let[s]=o;return s})}const Vt=B({color:String,sticky:Boolean,disableSort:Boolean,multiSort:Boolean,sortAscIcon:{type:G,default:"$sortAsc"},sortDescIcon:{type:G,default:"$sortDesc"},headerProps:{type:Object},...Ee(),...ca()},"VDataTableHeaders"),be=K()({name:"VDataTableHeaders",props:Vt(),setup(e,l){let{slots:a}=l;const{t}=ue(),{toggleSort:n,sortBy:r,isSorted:o}=It(),{someSelected:s,allSelected:u,selectAll:c,showSelectAll:m}=Se(),{columns:y,headers:v}=xe(),{loaderClasses:x}=fa(e);function h(b,d){if(!(!e.sticky&&!b.fixed))return{position:"sticky",left:b.fixed?L(b.fixedOffset):void 0,top:e.sticky?`calc(var(--v-table-header-height) * ${d})`:void 0}}function S(b){const d=r.value.find(w=>w.key===b.key);return d?d.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:g,backgroundColorStyles:p}=va(e,"color"),{displayClasses:f,mobile:V}=pe(e),R=k(()=>({headers:v.value,columns:y.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:u.value,selectAll:c,getSortIcon:S})),_=k(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky},f.value,x.value]),N=b=>{let{column:d,x:w,y:P}=b;const I=d.key==="data-table-select"||d.key==="data-table-expand",C=D(e.headerProps??{},d.headerProps??{});return i(he,D({tag:"th",align:d.align,class:[{"v-data-table__th--sortable":d.sortable&&!e.disableSort,"v-data-table__th--sorted":o(d),"v-data-table__th--fixed":d.fixed},..._.value],style:{width:L(d.width),minWidth:L(d.minWidth),maxWidth:L(d.maxWidth),...h(d,P)},colspan:d.colspan,rowspan:d.rowspan,onClick:d.sortable?()=>n(d):void 0,fixed:d.fixed,nowrap:d.nowrap,lastFixed:d.lastFixed,noPadding:I},C),{default:()=>{var U;const M=`header.${d.key}`,ee={column:d,selectAll:c,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:s.value,allSelected:u.value,getSortIcon:S};return a[M]?a[M](ee):d.key==="data-table-select"?((U=a["header.data-table-select"])==null?void 0:U.call(a,ee))??(m.value&&i(Ge,{modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":c},null)):i("div",{class:"v-data-table-header__content"},[i("span",null,[d.title]),d.sortable&&!e.disableSort&&i(Ke,{key:"icon",class:"v-data-table-header__sort-icon",icon:S(d)},null),e.multiSort&&o(d)&&i("div",{key:"badge",class:["v-data-table-header__sort-badge",...g.value],style:p.value},[r.value.findIndex(W=>W.key===d.key)+1])])}})},j=()=>{const b=D(e.headerProps??{}??{}),d=k(()=>y.value.filter(P=>(P==null?void 0:P.sortable)&&!e.disableSort)),w=k(()=>{if(y.value.find(I=>I.key==="data-table-select")!=null)return u.value?"$checkboxOn":s.value?"$checkboxIndeterminate":"$checkboxOff"});return i(he,D({tag:"th",class:[..._.value],colspan:v.value.length+1},b),{default:()=>[i("div",{class:"v-data-table-header__content"},[i(Ne,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:d.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:w.value,"onClick:append":()=>c(!u.value)},{...a,chip:P=>{var I;return i(ut,{onClick:(I=P.item.raw)!=null&&I.sortable?()=>n(P.item.raw):void 0,onMousedown:C=>{C.preventDefault(),C.stopPropagation()}},{default:()=>[P.item.title,i(Ke,{class:["v-data-table__td-sort-icon",o(P.item.raw)&&"v-data-table__td-sort-icon-active"],icon:S(P.item.raw),size:"small"},null)]})}})])]})};Z(()=>V.value?i("tr",null,[i(j,null,null)]):i(Y,null,[a.headers?a.headers(R.value):v.value.map((b,d)=>i("tr",null,[b.map((w,P)=>i(N,{column:w,x:P,y:d},null))])),e.loading&&i("tr",{class:"v-data-table-progress"},[i("th",{colspan:y.value.length},[i(ma,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ct=B({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Bt=Symbol.for("vuetify:data-table-group");function Rt(e){return{groupBy:X(e,"groupBy")}}function Ft(e){const{disableSort:l,groupBy:a,sortBy:t}=e,n=Q(new Set),r=k(()=>a.value.map(m=>({...m,order:m.order??!1})).concat(l!=null&&l.value?[]:t.value));function o(m){return n.value.has(m.id)}function s(m){const y=new Set(n.value);o(m)?y.delete(m.id):y.add(m.id),n.value=y}function u(m){function y(v){const x=[];for(const h of v.items)"type"in h&&h.type==="group"?x.push(...y(h)):x.push(h);return x}return y({type:"group",items:m,id:"dummy",key:"dummy",value:"dummy",depth:0})}const c={sortByWithGroups:r,toggleGroup:s,opened:n,groupBy:a,extractRows:u,isGroupOpen:o};return le(Bt,c),c}function At(){const e=ne(Bt);if(!e)throw new Error("Missing group!");return e}function Za(e,l){if(!e.length)return[];const a=new Map;for(const t of e){const n=me(t.raw,l);a.has(n)||a.set(n,[]),a.get(n).push(t)}return a}function $t(e,l){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=Za(e,l[0]),r=[],o=l.slice(1);return n.forEach((s,u)=>{const c=l[0],m=`${t}_${c}_${u}`;r.push({depth:a,id:m,key:c,value:u,items:o.length?$t(s,o,a+1,m):s,type:"group"})}),r}function Ot(e,l){const a=[];for(const t of e)"type"in t&&t.type==="group"?(t.value!=null&&a.push(t),(l.has(t.id)||t.value==null)&&a.push(...Ot(t.items,l))):a.push(t);return a}function Lt(e,l,a){return{flatItems:k(()=>{if(!l.value.length)return e.value;const n=$t(e.value,l.value.map(r=>r.key));return Ot(n,a.value)})}}const el=B({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),tl=K()({name:"VDataTableGroupHeaderRow",props:el(),setup(e,l){let{slots:a}=l;const{isGroupOpen:t,toggleGroup:n,extractRows:r}=At(),{isSelected:o,isSomeSelected:s,select:u}=Se(),{columns:c}=xe(),m=k(()=>r([e.item]));return()=>i("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[c.value.map(y=>{var v,x;if(y.key==="data-table-group"){const h=t(e.item)?"$expand":"$next",S=()=>n(e.item);return((v=a["data-table-group"])==null?void 0:v.call(a,{item:e.item,count:m.value.length,props:{icon:h,onClick:S}}))??i(he,{class:"v-data-table-group-header-row__column"},{default:()=>[i(H,{size:"small",variant:"text",icon:h,onClick:S},null),i("span",null,[e.item.value]),i("span",null,[We("("),m.value.length,We(")")])]})}if(y.key==="data-table-select"){const h=o(m.value),S=s(m.value)&&!h,g=p=>u(m.value,p);return((x=a["data-table-select"])==null?void 0:x.call(a,{props:{modelValue:h,indeterminate:S,"onUpdate:modelValue":g}}))??i("td",null,[i(Ge,{modelValue:h,indeterminate:S,"onUpdate:modelValue":g},null)])}return i("td",null,null)})])}}),al=B({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),Et=Symbol.for("vuetify:datatable:expanded");function Nt(e){const l=T(e,"expandOnClick"),a=X(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,u){const c=new Set(a.value);u?c.add(s.value):c.delete(s.value),a.value=c}function n(s){return a.value.has(s.value)}function r(s){t(s,!n(s))}const o={expand:t,expanded:a,expandOnClick:l,isExpanded:n,toggleExpand:r};return le(Et,o),o}function Gt(){const e=ne(Et);if(!e)throw new Error("foo");return e}const ll=B({index:Number,item:Object,cellProps:[Object,Function],onClick:Ae(),onContextmenu:Ae(),onDblclick:Ae(),...Ee()},"VDataTableRow"),jt=K()({name:"VDataTableRow",props:ll(),setup(e,l){let{slots:a}=l;const{displayClasses:t,mobile:n}=pe(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:u,selectAll:c}=Se(),{isExpanded:m,toggleExpand:y}=Gt(),{toggleSort:v,sortBy:x,isSorted:h}=It(),{columns:S}=xe();Z(()=>i("tr",{class:["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value],onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&S.value.map((g,p)=>{const f=e.item,V=`item.${g.key}`,R=`header.${g.key}`,_={index:e.index,item:f.raw,internalItem:f,value:me(f.columns,g.key),column:g,isSelected:r,toggleSelect:o,isExpanded:m,toggleExpand:y},N={column:g,selectAll:c,isSorted:h,toggleSort:v,sortBy:x.value,someSelected:s.value,allSelected:u.value,getSortIcon:()=>""},j=typeof e.cellProps=="function"?e.cellProps({index:_.index,item:_.item,internalItem:_.internalItem,value:_.value,column:g}):e.cellProps,b=typeof g.cellProps=="function"?g.cellProps({index:_.index,item:_.item,internalItem:_.internalItem,value:_.value}):g.cellProps;return i(he,D({align:g.align,class:{"v-data-table__td--expanded-row":g.key==="data-table-expand","v-data-table__td--select-row":g.key==="data-table-select"},fixed:g.fixed,fixedOffset:g.fixedOffset,lastFixed:g.lastFixed,maxWidth:n.value?void 0:g.maxWidth,noPadding:g.key==="data-table-select"||g.key==="data-table-expand",nowrap:g.nowrap,width:n.value?void 0:g.width},j,b),{default:()=>{var w,P,I,C,M;if(a[V]&&!n.value)return(w=a[V])==null?void 0:w.call(a,_);if(g.key==="data-table-select")return((P=a["item.data-table-select"])==null?void 0:P.call(a,_))??i(Ge,{disabled:!f.selectable,modelValue:r([f]),onClick:Qe(()=>o(f),["stop"])},null);if(g.key==="data-table-expand")return((I=a["item.data-table-expand"])==null?void 0:I.call(a,_))??i(H,{icon:m(f)?"$collapse":"$expand",size:"small",variant:"text",onClick:Qe(()=>y(f),["stop"])},null);const d=Le(_.value);return n.value?i(Y,null,[i("div",{class:"v-data-table__td-title"},[((C=a[R])==null?void 0:C.call(a,N))??g.title]),i("div",{class:"v-data-table__td-value"},[((M=a[V])==null?void 0:M.call(a,_))??d])]):d}})})]))}}),Mt=B({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Ee()},"VDataTableRows"),ye=K()({name:"VDataTableRows",inheritAttrs:!1,props:Mt(),setup(e,l){let{attrs:a,slots:t}=l;const{columns:n}=xe(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=Gt(),{isSelected:u,toggleSelect:c}=Se(),{toggleGroup:m,isGroupOpen:y}=At(),{t:v}=ue(),{mobile:x}=pe(e);return Z(()=>{var h,S;return e.loading&&(!e.items.length||t.loading)?i("tr",{class:"v-data-table-rows-loading",key:"loading"},[i("td",{colspan:n.value.length},[((h=t.loading)==null?void 0:h.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?i("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[i("td",{colspan:n.value.length},[((S=t["no-data"])==null?void 0:S.call(t))??v(e.noDataText)])]):i(Y,null,[e.items.map((g,p)=>{var R;if(g.type==="group"){const _={index:p,item:g,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:c,toggleGroup:m,isGroupOpen:y};return t["group-header"]?t["group-header"](_):i(tl,D({key:`group-header_${g.id}`,item:g},Xe(a,":group-header",()=>_)),t)}const f={index:p,item:g.raw,internalItem:g,columns:n.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:c},V={...f,props:D({key:`item_${g.key??g.index}`,onClick:r.value?()=>{o(g)}:void 0,index:p,item:g,cellProps:e.cellProps,mobile:x.value},Xe(a,":row",()=>f),typeof e.rowProps=="function"?e.rowProps({item:f.item,index:f.index,internalItem:f.internalItem}):e.rowProps)};return i(Y,{key:V.props.key},[t.item?t.item(V):i(jt,V.props,t),s(g)&&((R=t["expanded-row"])==null?void 0:R.call(t,f))])})])}),{}}}),nl=B({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function rl(e,l,a,t){const n=e.returnObject?l:fe(l,e.itemValue),r=fe(l,e.itemSelectable,!0),o=t.reduce((s,u)=>(u.key!=null&&(s[u.key]=fe(l,u.value)),s),{});return{type:"item",key:e.returnObject?fe(l,e.itemValue):n,index:a,value:n,selectable:r,columns:o,raw:l}}function sl(e,l,a){return l.map((t,n)=>rl(e,t,n,a))}function zt(e,l){return{items:k(()=>sl(e,e.items,l.value))}}function Ht(e){let{page:l,itemsPerPage:a,sortBy:t,groupBy:n,search:r}=e;const o=nt("VDataTable"),s=k(()=>({page:l.value,itemsPerPage:a.value,sortBy:t.value,groupBy:n.value,search:r.value}));let u=null;rt(s,()=>{st(u,s.value)||(u&&u.search!==s.value.search&&(l.value=1),o.emit("update:options",s.value),u=s.value)},{deep:!0,immediate:!0})}const qt=B({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...al(),...Ct(),...za(),...nl(),...Xa(),...Ya(),...Vt(),..._a()},"DataTable"),ol=B({...Ea(),...qt(),...dt(),...mt()},"VDataTable");K()({name:"VDataTable",props:ol(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:a,slots:t}=l;const{groupBy:n}=Rt(e),{sortBy:r,multiSort:o,mustSort:s}=_t(e),{page:u,itemsPerPage:c}=Na(e),{disableSort:m}=ot(e),{columns:y,headers:v,sortFunctions:x,sortRawFunctions:h,filterFunctions:S}=pt(e,{groupBy:n,showSelect:T(e,"showSelect"),showExpand:T(e,"showExpand")}),{items:g}=zt(e,y),p=T(e,"search"),{filteredItems:f}=ct(e,g,p,{transform:F=>F.columns,customKeyFilter:S}),{toggleSort:V}=Dt({sortBy:r,multiSort:o,mustSort:s,page:u}),{sortByWithGroups:R,opened:_,extractRows:N,isGroupOpen:j,toggleGroup:b}=Ft({groupBy:n,sortBy:r,disableSort:m}),{sortedItems:d}=Tt(e,f,R,{transform:F=>({...F.raw,...F.columns}),sortFunctions:x,sortRawFunctions:h}),{flatItems:w}=Lt(d,n,_),P=k(()=>w.value.length),{startIndex:I,stopIndex:C,pageCount:M,setItemsPerPage:ee}=Ga({page:u,itemsPerPage:c,itemsLength:P}),{paginatedItems:U}=Ma({items:w,startIndex:I,stopIndex:C,itemsPerPage:c}),W=k(()=>N(U.value)),{isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,someSelected:De,allSelected:Ie}=Pt(e,{allItems:g,currentPage:W}),{isExpanded:Te,toggleExpand:Ve}=Nt(e);Ht({page:u,itemsPerPage:c,sortBy:r,groupBy:n,search:p}),ve({VDataTableRows:{hideNoData:T(e,"hideNoData"),noDataText:T(e,"noDataText"),loading:T(e,"loading"),loadingText:T(e,"loadingText")}});const $=k(()=>({page:u.value,itemsPerPage:c.value,sortBy:r.value,pageCount:M.value,toggleSort:V,setItemsPerPage:ee,someSelected:De.value,allSelected:Ie.value,isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,isExpanded:Te,toggleExpand:Ve,isGroupOpen:j,toggleGroup:b,items:W.value.map(F=>F.raw),internalItems:W.value,groupedItems:U.value,columns:y.value,headers:v.value}));return Z(()=>{const F=Ze.filterProps(e),O=be.filterProps(e),Ce=ye.filterProps(e),Be=ge.filterProps(e);return i(ge,D({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Be),{top:()=>{var A;return(A=t.top)==null?void 0:A.call(t,$.value)},default:()=>{var A,re,se,z,te,oe;return t.default?t.default($.value):i(Y,null,[(A=t.colgroup)==null?void 0:A.call(t,$.value),!e.hideDefaultHeader&&i("thead",{key:"thead"},[i(be,O,t)]),(re=t.thead)==null?void 0:re.call(t,$.value),!e.hideDefaultBody&&i("tbody",null,[(se=t["body.prepend"])==null?void 0:se.call(t,$.value),t.body?t.body($.value):i(ye,D(a,Ce,{items:U.value}),t),(z=t["body.append"])==null?void 0:z.call(t,$.value)]),(te=t.tbody)==null?void 0:te.call(t,$.value),(oe=t.tfoot)==null?void 0:oe.call(t,$.value)])},bottom:()=>t.bottom?t.bottom($.value):!e.hideDefaultFooter&&i(Y,null,[i(ga,null,null),i(Ze,F,{prepend:t["footer.prepend"]})])})}),{}}});const il=B({...qt(),...Ct(),...wa(),...dt()},"VDataTableVirtual"),ul=K()({name:"VDataTableVirtual",props:il(),emits:{"update:modelValue":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0},setup(e,l){let{attrs:a,slots:t}=l;const{groupBy:n}=Rt(e),{sortBy:r,multiSort:o,mustSort:s}=_t(e),{disableSort:u}=ot(e),{columns:c,headers:m,filterFunctions:y,sortFunctions:v,sortRawFunctions:x}=pt(e,{groupBy:n,showSelect:T(e,"showSelect"),showExpand:T(e,"showExpand")}),{items:h}=zt(e,c),S=T(e,"search"),{filteredItems:g}=ct(e,h,S,{transform:O=>O.columns,customKeyFilter:y}),{toggleSort:p}=Dt({sortBy:r,multiSort:o,mustSort:s}),{sortByWithGroups:f,opened:V,extractRows:R,isGroupOpen:_,toggleGroup:N}=Ft({groupBy:n,sortBy:r,disableSort:u}),{sortedItems:j}=Tt(e,g,f,{transform:O=>({...O.raw,...O.columns}),sortFunctions:v,sortRawFunctions:x}),{flatItems:b}=Lt(j,n,V),d=k(()=>R(b.value)),{isSelected:w,select:P,selectAll:I,toggleSelect:C,someSelected:M,allSelected:ee}=Pt(e,{allItems:d,currentPage:d}),{isExpanded:U,toggleExpand:W}=Nt(e),{containerRef:we,markerRef:Pe,paddingTop:ke,paddingBottom:_e,computedItems:De,handleItemResize:Ie,handleScroll:Te,handleScrollend:Ve}=Pa(e,b),$=k(()=>De.value.map(O=>O.raw));Ht({sortBy:r,page:$e(1),itemsPerPage:$e(-1),groupBy:n,search:S}),ve({VDataTableRows:{hideNoData:T(e,"hideNoData"),noDataText:T(e,"noDataText"),loading:T(e,"loading"),loadingText:T(e,"loadingText")}});const F=k(()=>({sortBy:r.value,toggleSort:p,someSelected:M.value,allSelected:ee.value,isSelected:w,select:P,selectAll:I,toggleSelect:C,isExpanded:U,toggleExpand:W,isGroupOpen:_,toggleGroup:N,items:d.value.map(O=>O.raw),internalItems:d.value,groupedItems:b.value,columns:c.value,headers:m.value}));Z(()=>{const O=be.filterProps(e),Ce=ye.filterProps(e),Be=ge.filterProps(e);return i(ge,D({class:["v-data-table",{"v-data-table--loading":e.loading},e.class],style:e.style},Be),{top:()=>{var A;return(A=t.top)==null?void 0:A.call(t,F.value)},wrapper:()=>{var A,re,se;return i("div",{ref:we,onScrollPassive:Te,onScrollend:Ve,class:"v-table__wrapper",style:{height:L(e.height)}},[i("table",null,[(A=t.colgroup)==null?void 0:A.call(t,F.value),!e.hideDefaultHeader&&i("thead",{key:"thead"},[i(be,D(O,{sticky:e.fixedHeader}),t)]),!e.hideDefaultBody&&i("tbody",null,[i("tr",{ref:Pe,style:{height:L(ke.value),border:0}},[i("td",{colspan:c.value.length,style:{height:0,border:0}},null)]),(re=t["body.prepend"])==null?void 0:re.call(t,F.value),i(ye,D(a,Ce,{items:$.value}),{...t,item:z=>i(ka,{key:z.internalItem.index,renderless:!0,"onUpdate:height":te=>Ie(z.internalItem.index,te)},{default:te=>{var Me;let{itemRef:oe}=te;return((Me=t.item)==null?void 0:Me.call(t,{...z,itemRef:oe}))??i(jt,D(z.props,{ref:oe,key:z.internalItem.index,index:z.internalItem.index}),t)}})}),(se=t["body.append"])==null?void 0:se.call(t,F.value),i("tr",{style:{height:L(_e.value),border:0}},[i("td",{colspan:c.value.length,style:{height:0,border:0}},null)])])])])},bottom:()=>{var A;return(A=t.bottom)==null?void 0:A.call(t,F.value)}})})}}),dl={name:"AdminTable"};function cl(e,l,a,t,n,r){return E(),q(ul,{"fixed-header":"","item-value":"pk",mobile:e.$vuetify.display.xs},ha({_:2},[it(e.$slots,(o,s)=>({name:s,fn:ae(u=>[ba(e.$slots,s,D({props:o},u),void 0,!0)])}))]),1032,["mobile"])}const Il=J(dl,[["render",cl],["__scopeId","data-v-8b5d9183"]]),fl={name:"AdminDeleteRowDialog",components:{ConfirmDialog:Da},props:{table:{type:String,required:!0},pk:{type:Number,required:!0},name:{type:String,required:!0}},data(){return{mdiTrashCan:ya}},computed:{titleText(){return`Delete ${this.table}`}},methods:{...tt(at,["deleteRow"]),confirm(){this.deleteRow(this.table,this.pk),this.showDialog=!1}}};function vl(e,l,a,t,n,r){const o=ie("ConfirmDialog");return E(),q(o,{icon:n.mdiTrashCan,"title-text":r.titleText,"object-name":a.name,"confirm-text":r.titleText,onConfirm:r.confirm},null,8,["icon","title-text","object-name","confirm-text","onConfirm"])}const Tl=J(fl,[["render",vl]]),ml={name:"RelationChips",components:{GroupChip:ft},props:{pks:{type:Array,required:!0},objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{map(){const e={};for(const l of this.objs)e[l.pk]=l;return e}}};function gl(e,l,a,t,n,r){const o=ie("GroupChip");return E(),Ye("span",null,[(E(!0),Ye(Y,null,it(a.pks,s=>(E(),q(o,{key:s,"title-key":a.titleKey,"group-type":a.groupType,item:r.map[s]},null,8,["title-key","group-type","item"]))),128))])}const Vl=J(ml,[["render",gl]]);export{Dl as A,ft as G,Vl as R,Il as a,Tl as b,_l as c};